4

私はこの質問についてウェブ上で何度も読みました:

ページの意味をどのように抽出しますか。

そして、私は解決策を提案しようとするほどの経験がないことを知っています. 私にとって、これは Web プログラミングの聖杯、あるいはコンピューター技術全体の聖杯です。

しかし、想像力を働かせて、まさにそれを行う究極のスクリプトを作成したと仮定しましょう。たとえば、次のテキストを入力します。

想像力は人類を暗黒時代から現在の文明状態へと導きました。想像力がコロンブスをアメリカ大陸発見へと導きました。想像力がフランクリンを電気の発見へと導きました。

私の強力なスクリプトは意味を抽出し、次のように言います。

人間の思考能力は、新しいものの発見につながります。

この例では、テキストの意味を説明するために「文字列」を使用しました。しかし、これをデータベース、配列、またはその他の種類のストレージに格納する必要がある場合、使用するデータ型は何になるでしょうか?

別のアナロジーを使用しているが、同じ意味を別の言葉で表現した別のテキストを使用できることに注意してください。たとえば、次のようになります。

想像力は人類の進歩を助けます。

ここで、想像力の重要性に関する検索クエリを入力すると、次の 2 つの結果が表示されます。しかし、それらはどのように一致するのでしょうか? 文字列比較になりますか?いくつかの整数、浮動小数点?たぶんバイナリ?

意味は何の下に保存されますか?ご連絡をお待ちしております。

更新:質問を簡単に言い直しましょう。

データの意味をどのように表現しますか?

4

7 に答える 7

6

私たちの脳が形而上学的なクラウドサーバーにアクセスできないと仮定すると、意味は、ニュ​​ーロンの接続、ホルモンレベル、電気的活動(おそらく量子ゆらぎ)の構成、およびこれらすべてと外界および他の脳との間の相互作用として表されます。ですから、これは朗報です。少なくとも、あなたの質問に対する答えが1つあることはわかっています(意味はどこかに表されています)。悪いニュースは、私たちのほとんどがこれがどのように機能するのか見当がつかず、理解していると思う人が他の人やお互いを納得させることができなかったことです。無知な人の一人である私はあなたの質問に答えることはできませんが、壮大な問題のより小さく退化したバージョンに出くわした答えのリストを提供します。

語彙エンティティ(概念、アクションなど)の意味を表現したい場合は、ベクトル空間モデルなどの分散モデルを使用できます。。これらのモデルでは、通常、意味には幾何学的要素があります。各概念はベクトルとして表され、類似した概念が互いに近づくように概念をスペースに配置します。このような空間を構築する非常に一般的な方法は、一般的に使用される単語(基本単語)のセットを空間の次元として選択し、ターゲット概念がこれらの基本単語と一緒にスピーチ/テキストで観察される回数を単純に数えることです。同様の概念が同様のコンテキストで使用されます。したがって、それらのベクトルは同様の方向を指します。その上、一連の重み付け、正規化、次元削減、および再結合の手法を実行できます(例:tf -idf、 http ://en.wikipedia.org/wiki/Pointwise_mutual_information、SVD)。わずかに関連しているが、幾何学的ではなく確率的なアプローチは、潜在的ディリクレ割り当てと、別の回答ですでに言及されている他の生成/ベイズモデルです。

ベクトル空間モデルのアプローチは、識別目的に適しています。与えられた2つのフレーズが意味的に関連しているかどうかを判断できます(たとえば、クエリをドキュメントに一致させる、またはユーザーがクエリを拡張するのに役立つ類似の検索クエリペアを見つける)。しかし、これらのモデルに構文を組み込むことはそれほど簡単ではありません。文の意味をベクトルで表現する方法がよくわかりません。

文法形式は、構文を組み込み、構造を意味と概念間の関係にもたらすのに役立つ可能性があります(たとえば、主辞駆動句構造文法)。語彙と文法を共有する2つのエージェントを作成し、これらのメカニズムを介してそれらを通信させる(つまり、一方から他方に情報を転送する)場合、それらは意味を表していると言えます。ロボットが別の人に組み込みまたは出現した文法と語彙を介して「ブラックボックスの上の赤い円」を選択するように指示し、他の人が目的のオブジェクトを正常に選択するときに、意味がどこでどのように表されるかは、むしろ哲学的な質問です(を参照)語彙の接地に関するこの非常に興味深い実験:トーキングヘッズ)。

意味を捉えるもう1つの方法は、ネットワークを使用することです。たとえば、各概念をグラフ内のノードとして表現し、概念間の関係をノード間のエッジとして表現することで、意味の実用的な表現を思いつくことができます。Concept Netは常識を表現することを目的としたプロジェクトであり、常識的な概念のセマンティックネットワークと見なすことができます。ある意味で、特定の概念の意味は、ネットワーク内の他の概念との相対的な位置によって表されます。

常識と言えば、Cycは常識的な知識を獲得しようとするプロジェクトのもう1つの野心的な例ですが、ConceptNetとはまったく異なる方法でそれを行います。Cycは、明確に定義されたシンボリック言語を使用して、オブジェクトの属性とオブジェクト間の関係を明確な方法で表現します。非常に多くのルールと概念、および推論エンジンを採用することで、世界についての推論を考え出し、「馬は病気になる可能性がありますか?」、「悲しい人の写真を持ってきてください」などの質問に答えることができます。

于 2011-09-14T18:14:25.850 に答える
1

私は前の会社でこれを試みたシステムに取り組みました。「この非構造化文書に最も類似している非構造化文書はどれか」ということに重点を置きましたが、関連する部分は文書の「意味」をどのように判断したかということでした。

PLSA (Probabilistic Latent Semantic Analysis) と PSVM (Probabilistic Support Vector Machines) という 2 つの異なるアルゴリズムを使用しました。両方とも、コレクション内の他のドキュメントよりも、分析対象のドキュメントでより頻繁に使用されるトピックを抽出します。

トピック自体には数値 ID があり、ドキュメントからトピックへの外部参照テーブルがありました。2 つのドキュメントがどの程度近いかを判断するには、ドキュメントに共通するトピックの割合を調べます。

スーパースクリプトが入力されたクエリからトピックを生成できると仮定すると、同様の構造を使用できます。整数のみを含む外部参照テーブルという追加の利点があるため、文字列操作ではなく整数のみを見ています。

于 2011-09-15T16:08:19.330 に答える
0

セマンティクスは広く深い分野であり、多くのモデルがあり、それらはすべてAI実装の観点から利点と問題があります。このように背景が不足しているため、「文学を研究し、直感に共鳴する理論を選択する以外に、推奨することはほとんどできません(そして、これに成功した場合は、それを自分のより良い理論に置き換えてください。とアカデミックポイントを獲得)」。そうは言っても、ぼんやりと思い出せる新入生の教材は、「フレーム」と呼ばれる再帰的な構造についていいことを言っていましたが、これは15年前のことでしょう。

于 2011-09-03T08:47:23.980 に答える
0

意味は一般に、選択されたアルゴリズムに依存する内部ブラック ボックス データ構造である抽象的な概念です。しかし、これは興味深い部分ではありません。意味分析を行う場合、一般的な問題は意味の違いに関するものです。たとえば、2 つのドキュメントが同じトピックについて話しているか、いくつかのドキュメントがどのように異なっているか、または同様の意味を持つドキュメントをグループ化するかなどです。

ベクトル空間モデルを使用すると、特定のトピックを表すベクトルのコレクションによって意味/セマンティクスを表すことができます。このようなパターンを抽出する 1 つの方法は、 http://en.wikipedia.org/wiki/Latent_semantic_analysis またはhttp://en.wikipedia.org/wiki/Nonnegative_matrix_factorizationです。しかし、特定の確率分布のパラメーターによってセマンティクスを表す、より精巧な統計モデルがあります。最近の方法はhttp://en.wikipedia.org/wiki/Latent_Dirichlet_allocationです。

于 2011-09-08T07:40:05.637 に答える
0

Semantic Webについてお話しします。これは、このテーマに関する最も高度な研究と言語実装が提供されていると思うからです。

リソース記述フレームワークは、情報を記述するために使用できるセマンティック Web に固有の多くのデータ モデルの 1 つです。

RDF は複数のシリアライゼーション形式 (つまり、ファイル形式) を持つ抽象モデルであるため、リソースまたはトリプルをエンコードする特定の方法は形式ごとに異なります。

ただし、実際には、RDF データは、多くの場合、RDF トリプルごとにコンテキスト (名前付きグラフ) も永続化される場合は、リレーショナル データベースまたはトリプルストアまたはクワッド ストアとも呼ばれるネイティブ表現に永続化されます。

RDF コンテンツは、 RDF クエリを使用して取得できます。


トピックナレッジ データの格納と表現の別のモデルをマップします。

トピック マップは、情報の見つけやすさに重点を置いた、知識の表現と交換のための標準です。

2000 年に、トピック マップは XML 構文 XTM で定義されました。これは現在「XTM 1.0」として一般的に知られており、今でもかなり一般的に使用されています。

公式のトピック マップ データ モデルから:

ISO/IEC13250 のこの部分 (4.3) で定義されているアトミック基本型は、文字列と null のみです。データ型の概念により、このモデルではあらゆる型のデータを表すことができます。使用されるすべてのデータ型には、値空間の文字列表現があり、この文字列表現がトピック マップに格納されます。値が属するデータ型に関する情報は、データ型を識別するロケータの形式で個別に格納されます。

他にも多くのフォーマットが提案されています。詳細については、この記事を参照してください。

また、同様のトピックについて書いた最近の回答と、多くの役立つリンクをリンクしたいと思います。


さまざまな記事を読んだ後、すべての方法が取っている共通の方向性は、データをテキスト形式で保存することだと思います。相対情報は、テキストとしてデータベースに直接保存できます。

データをわかりやすいテキスト形式にすることには、いくつかの利点があり、おそらく欠点以上のものがあります。

Notation 3 (N3)や Turtle Syntaxなどの他のセマンティック メソッドは、わずかに異なる形式を使用しますが、プレーン テキストのままです。

N3 の例

@prefix dc: <http://purl.org/dc/elements/1.1/>.

<http://en.wikipedia.org/wiki/Tony_Benn>
  dc:title "Tony Benn";
  dc:publisher "Wikipedia".

最後に、読んでおくべき有用な記事をリンクしたいと思います: Standardization of Unstructured Textual Data into Semantic Web Format

于 2011-09-14T10:44:01.703 に答える
0

テキストの意味を提供できる究極のアルゴリズムを見つけたとしましょう。特に、文字列表現を選択しましたが、アルゴリズムが意味を正しく見つけたことを考慮すると、アルゴリズムによって一意に識別できます。右?

したがって、簡単にするために、その特定のテキストには 1 つの意味しかないと仮定しましょう。この場合、アルゴリズムがそれを説明するフレーズを出力する前に、一意に識別されます。

したがって、基本的に、意味を保存するには、最初に一意の識別子が必要です。

意味は、対象との関係においてのみ存在することができます。それは主語の意味です。その主題が意味を持つためには、それについて何かを知らなければなりません。サブジェクトが一意の意味を持つためには、オブザーバーに対して明確に表現されなければなりません (つまり、アルゴリズム)。たとえば、「2 = 3」というステートメントは、数学記号の標準化のために偽の意味を持つことになります。しかし、外国語で書かれたテキストは、私たちにとって何の意味もありません。私たちが理解できないものでもありません。例えば「人生とは何か?」

結論として、ランダムなテキストから絶対的な意味を抽出できるアルゴリズムを構築するには、まず人間として、あらゆるものの絶対的な意味を知る必要があります。:)

実際には、既知の言語で既知の形式で書かれた既知のテキストの意味を抽出することしかできません。そのために、ニューラル ネットワークや自然言語処理などの分野のツールや研究があります...

于 2011-09-15T15:14:07.867 に答える
-2

データベースに簡単に保存でき、長さ50(10ワード)または75(15ワード)の使いやすいchar *(文字列cスタイル)にしてみてください。

編集:両方を同じ単語(想像力)に置き、類似したインデックスをチェックして、同じ単語に割り当てます

使用する

SELECT * FROM Dictionary WHERE Index = "Imagination"

申し訳ありませんが、SQLの経験があまりありません

于 2011-09-03T08:28:18.863 に答える