タグ付けされた質問 「natural-language-processing」

5
興味深いアナグラムを見つける
言うと同じ長さの2つの文字列です。anagramming二つの文字列の全単射写像であるようそれぞれについて、。a1a2…ana1a2…ana_1a_2\ldots a_nb1b2…bnb1b2…bnb_1b_2\ldots b_np:[1…n]→[1…n]p:[1…n]→[1…n]p:[1\ldots n]\to[1\ldots n]ai=bp(i)ai=bp(i)a_i = b_{p(i)}iii 同じ文字列のペアに対して複数のアナグラムが存在する場合があります。例えば、場合 `abcab`と私たちが持っているとなど。a=a=a=b=b=b=cababp1[1,2,3,4,5]→[4,5,1,2,3]p1[1,2,3,4,5]→[4,5,1,2,3]p_1[1,2,3,4,5]\to[4,5,1,2,3]p2[1,2,3,4,5]→[2,5,1,4,3]p2[1,2,3,4,5]→[2,5,1,4,3]p_2[1,2,3,4,5] \to [2,5,1,4,3] アナグラムのの重み は、2番目の文字列を取得するために再配置できるチャンクを取得するために最初の文字列で行う必要のあるカットの数であると言います。正式には、この値の数れる。すなわち、その時点の数であり、はないない、正確1.For例によって増加及び、なぜならカットチャンクに、一度と、及び切り込み4回、5つのチャンクに。w(p)w(p)w(p)pppi∈[1…n−1]i∈[1…n−1]i\in[1\ldots n-1]p(i)+1≠p(i+1)p(i)+1≠p(i+1)p(i)+1\ne p(i+1)pppw(p1)=1w(p1)=1w(p_1) = 1w(p2)=4w(p2)=4w(p_2) = 4p1p1p_11234512345p2p2p_212345 2つの文字列とアナグラムが存在するとします。次に、少なくとも1つのアナグラムの重みを最小にする必要があります。これが一番軽いとしましょう。(最も軽いアナグラムが複数ある場合があります。重みだけに興味があるので気にしません。)aaabbb 質問 アナグラムが存在する2つの文字列が与えられたときに、2つの文字列の最も軽いアナグラムの正確な重みを効率的に生成するアルゴリズムが必要です。アルゴリズムが最も軽いアナグラムを生成する場合でも問題ありませんが、そうする必要はありません。 すべてのアナグラムを生成して重量を量るのは非常に簡単なことですが、多くのアナグラムが存在する可能性があるため、軽いアナグラムを直接検出する方法をお勧めします。 動機 この問題が興味深い理由は次のとおりです。コンピュータに辞書を検索させ、アナグラム、まったく同じ文字を含む単語のペアを見つけるのは非常に簡単です。しかし、作成されるアナグラムの多くは面白くありません。たとえば、Websterの第2国際辞書にある最長の例は次のとおりです。 胆嚢 十二指腸s造設 問題が明らかである:彼らは非常に軽いanagrammingを認めるため、これらの結果がおもしろくであることを単に交換cholecysto、duedenoおよびstomyセクション、一方2.の重量のために、このはるかに短い例では、はるかに意外で面白いです: 海岸線 断面 ここで、最も軽いアナグラムの重みは8です。 この方法を使用して、興味深いアナグラム、つまりすべてのアナグラムの重みが高いアナグラムを見つけるプログラムがあります。しかし、これは、可能なすべてのアナグラムを生成して重み付けすることでこれを行いますが、これは遅いです。

2
Cのvoid型がempty / bottom型と類似していないのはなぜですか?
ウィキペディアと私が見つけた他のソースはvoid、空のタイプではなくユニットタイプとしてリストCのタイプを見つけました。void空の/下の型の定義によりよく適合するように思えるので、この混乱を見つけます。 void私が知る限り、値は存在しません。 戻り値の型がvoidの関数は、関数が何も返さないため、何らかの副作用しか実行できないことを指定します。 タイプのポインターvoid*は、他のすべてのポインタータイプのサブタイプです。また、void*C との間の変換は暗黙的です。 最後の点voidに、空の型であることの引数としてのメリットがあるかどうかはわかりvoid*ませんvoid。 一方、voidそれ自体は他のすべてのタイプのサブタイプではありません。これは、タイプがボトムタイプであるための要件であると言えます。
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

9
プログラミング言語は自然言語に似てきていますか?
この質問は、Computer Science Stack Exchangeで回答できるため、Software Engineering Stack Exchangeから移行されました。 6年前に移行され ました。 言語学の文脈でプログラミング言語を勉強できますか?プログラミング言語は自然言語と同様の方法で自然に進化しますか? プログラミング言語には完全な合理性と数学的な一貫性が不可欠ですが、人間にとって読みやすく快適なものにする必要があります(特に現代の言語)。 プログラミング言語は進化し、より言語的になり、より自然になりましたか?たとえば、マシンコード、パンチカード、およびアセンブリ言語は、RubyやPythonなどのより読みやすい言語に取って代わりました。 コンピューター言語がより自然になっていると言うとき、「英語で持っている単語」がより多く含まれているわけではなく、文法の複雑さと意味を表現する能力の点で、自然言語のようになっているようです(たとえば、合理的かつ人間が理解できる方法でデータベースからのクエリを雄弁に説明できること)。 皆さんはどう思いますか?プログラミング言語は自然言語のようになり、言語学の法則に適用できるようになりましたか? あるいは、言語はスペクトル上に存在し、一方には極端に合理的な言語があり、他方には創造性があります。たぶん、プログラミング言語と自然言語は同一であり、両方ともこの言語の範囲内にあるだけです(その唯一の違いは、おそらく彼らが意味を与えようとしている「もの」であることです)。 人間の言語とコンピューター言語の分離(バベルタワー効果)の間に関係はありますか?同じ理由(すなわち、進化し続けるコンピューターシステム/文化システムなどのさまざまな問題を解決するため)で、それらはより多様になりますか?

1
ドメイン名の圧縮
この質問は、Computer Science Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 任意のIDNホスト名(RFC5890で定義)のドメインを非常にコンパクトに圧縮する方法について興味があり、これが興味深い課題になると思われます。Unicodeホストまたはドメイン名(Uラベル)はUnicode文字の文字列で構成され、通常、トップレベルドメイン(たとえば、ギリシャ文字)に応じて1つの言語に制限され、(対応するラベル)。.grxn-- 正式な要件だけでなく、 各非Unicodeラベルは文字列一致^[a-z\d]([a-z\d\-]{0,61}[a-z\d])?$です; 各Aラベルは、一致する文字列^xn--[a-z\d]([a-z\d\-]{0,57}[a-z\d])?$です。そして ドメイン全体の長さ(Aラベルと '。'区切り文字で連結された非IDNラベル)が255文字を超えない 次のようなさまざまなヒューリスティックからも: 下位Uラベルは、固有名詞や数字(ハイフンを除く句読点、空白が取り除かれ、Nameprepごとに折り畳まれている)を含む一部の自然言語で、字句的、構文的、意味的に有効なフレーズであることが多く、短いフレーズが優先されます。そして 高次ラベルはSLDおよびTLDの辞書から引き出され、低次ラベルで使用される自然言語を予測するためのコンテキストを提供します。 こうした短い文字列を適切に圧縮することは、データのこれらの特定の機能を考慮せずに困難になること、さらに、既存のライブラリがより一般的なユースケースに対応するために不要なオーバーヘッドを生成することを恐れます。 Matt MahoneyのオンラインブックData Compression Explainedを読むと、上記の(および/または他の)モデリングの前提を活用するために多くの既存の手法を使用して、特定のツールよりもはるかに優れた圧縮を実現できることが明らかです。 コンテキストとして、この質問はSOに関する以前の質問からの派生物です。 最初の考え この問題はオフライントレーニングの優れた候補であり、次の行に沿って圧縮データ形式を想定しています。 「パブリックサフィックス」のハフマンコーディング。ドメイン登録またはトラフィックボリュームの公開されたソースから抽出された確率。 残りのUラベルに使用される(自然言語)モデルのハフマンコーディング。ドメインサフィックスのコンテキストを指定して、ドメイン登録またはトラフィックボリュームの公開されたソースから抽出された確率。 指定された自然言語モデルからいくつかの辞書ベースの変換を適用します。そして Uラベル内の各文字の算術コーディングと、オフライントレーニングから派生した文脈適応型自然言語モデルから得られる確率

2
段落内の日付に関連するイベントの特定
段落で指定された日付が、段落内の特定のイベント(フレーズ)に関連していることを識別するアルゴリズム的アプローチはありますか? 例として、次の段落を検討してください。 1970年6月、偉大な指導者が誓いを立てました。しかし、彼が国の手綱を引き継いだのは、国務大臣の死後の1972年5月以降でした。1980年半ばまで人気の支持を得ていた彼は、その後影響力を失い始めました。 2タプル(日付、イベント)を生成できるアルゴリズム(決定論的または確率的)がありますか?日付で発生したイベントは段落によって暗示されますか?上記の場合: (1970年6月、偉大な指導者が誓いを立てた) (1972年5月、手綱を引き継いだ) またはそれ以上 (1972年5月、偉大な指導者が手綱を引き継ぎました) (1980年、影響力の低下) #後期追加

4
情報検索と情報抽出の関係と違いは?
ウィキペディアから 情報検索は、情報リソースのコレクションから情報ニーズに関連する情報リソースを取得するアクティビティです。検索は、メタデータまたはフルテキストインデックスに基づくことができます。 ウィキペディアから 情報抽出(IE)は、非構造化または半構造化された機械可読ドキュメントから構造化情報を自動的に抽出するタスクです。ほとんどの場合、このアクティビティは自然言語処理(NLP)による人間の言語のテキストの処理に関係しています。画像/音声/ビデオからの自動注釈やコンテンツ抽出などのマルチメディアドキュメント処理における最近の活動は、情報抽出と見なすことができます。 情報検索と情報抽出の関係と違いは何ですか? ありがとう!

1
ナイーブベイズの実装
私は、ラプラシアン平滑化によるテキスト分類のための単純ベイズアルゴリズムを実装しています。私が抱えている問題は、多くの小さな分数を乗算しているため、確率がゼロに近づくことです。したがって、確率は最終的にゼロになります。これは、ドキュメントとトレーニングセット内にいくつかの単語があるためです。 このため、テキストを分類することができません。この問題を回避する方法はありますか?私の実装で何か問題がありますか?

2
類似しているが順序が異なるコンテンツを持つ2つの大きなテキストコーパスの違いを見つけるための効率的な方法は何ですか?
英語のテキストの段落を含む2つの大きなファイルがあります。 最初のテキストは約200ページの長さで、ページあたり約10段落(各段落は5文長)です。 2番目のテキストには、最初のテキストとほぼ同じ段落とテキストが含まれています。また、ページ数は200ページで、1ページに10段落あります。ただし、最初のテキストと比較すると、段落はランダム化され、順序が異なります。また、大部分の段落では、類似の段落と比較して、表現にわずかな変更があります。たとえば、最初のテキストの段落には次のようなLike Jimmy, I wanted to go to the palace文があり、2番目のテキストの段落の対応する文にはがありますLike Jimmy, I really wanted to go to the castle。 私は、追加のような、ここで変更を取得できるようにしたいreallyとの削除palaceが置換されましたcastle。段落がおおまかに揃っている場合、テキストを比較する方法はたくさんあるので、これはかなり簡単です。ただし、段落が揃っていないため、そうではありません。 ファイルが小さい場合(数段落)、レーベンシュタイン距離はおそらくうまく機能しますが、ファイルが大きいため、テキスト1の各段落をテキスト2の各段落と比較して、一致する段落を見つけるのは非効率的です。 この問題を効率的に処理するには、他にどのようなアプローチがありますか?

3
自然言語処理の問題の複雑さ[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前休業。 NP-CompleteとNP-Hardのどちらが自然言語処理の問題ですか? 私は検索しました 自然言語処理 そして 複雑さ理論 タグ(および関連する複雑性タグ)が含まれていますが、結果は得られていません。 推奨されるNLPの質問はどれも役に立ちません。最も近いものは次のとおりです。 /cs/25925/why-is-natural-language-processing-such-a-difficult-problem /cs/9920/how-is-natural-language-processing-related-to-artificial-intelligence 言語学のどの側面が自然言語処理に必要または良いですか? NP完全問題のWikipediaのリストは、 NLPのための任意の複雑な結果が表示されません。 私が見つけた唯一のリードは、J。Morin(1995)による論文「自然言語処理における理論的かつ効果的な複雑さ」です。 ヘルプやポインタは大歓迎です!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.