コンテキスト ナレッジ ルックアップを提供するアプリケーションを開発しています。アプリケーションは設計段階にあります。
単純なグラフ構造とトラバーサル アルゴリズムで十分かどうか、またはニューラル ネットワークを使用する必要があるかどうかを知る必要があります。私は最も長期的な解決策を取りたいと思っています。
個々の概念を単純なノードで表現することを考えています。John の髪の色 (黒) を調べたいとします。John、hair、color、black の 4 つのコンセプト ノードが必要だと思います。ここに 2 つのアルゴリズムがあります。どちらが私のタスクに最も適していますか?
トラバーサル ルックアップ アルゴリズム
参照用にこの図を参照してください: http://chadjohnson.ath.cx:8080/static/concept_map.png
- 入力 (このようなもの)、順番に: 1. person 2. john 3. hair 4. color
- 「人」に対応するグラフ ノードを見つけます。
- 「person」ノードに隣接するすべてのノードを見て、「john」ノードを見つけます。
- 「john」ノードに隣接するすべてのノードを見て、「hair」ノードと「color」ノードの両方へのリンクを持つノードを見つけます。
もう 1 つのオプションは、「髪の色」を独自のコンセプト ノードとして表現し、「ブロンドの髪」が「髪の色」の概念になるようにすることです。次に、ステップ(4)は次のようになります
「john」ノードに隣接するすべてのノードを見て、「髪の色」の概念であるノードを見つけます。
ニューラル ネットワーク アルゴリズム
- 入力、順不同: 1. person 2. john 3. hair 4. color
- ネットワークをトレーニングして、これらの特定の入力を「金髪」という概念にマッピングします。
フィードバックをいただければ幸いです。ありがとう!
マイルストーンの目標は、「ジョンの髪の色は何色ですか?」という質問に答えられるようにすることです。
だから、「人」の概念、さまざまな人々の概念、髪の概念、色の概念、複数の異なる色の概念を保存できるようにしたいと考えています。そして、さまざまな人々をさまざまな髪の色に関連付けたいと考えています。
この知識とそれらの関連付けが整ったら、人への参照、髪の概念、および色の概念を (入力) 与えられて、特定の人の髪の色を検索できるようにしたいと考えています。
ここで、トラバーサルとニューラル ネットワークという私の疑問が出てきます。
回答方法が変わる場合、将来のマイルストーンは次のようになります。
- コンピューターが言語の文法をゼロから学習する
- 言語の文法に関する知識を使用して質問に答えるコンピュータ
- 文脈と既存の知識に基づいて、文章をある言語から別の言語に正確に翻訳するコンピューター。最も単純な形式では、概念を格納し、特定の言語の単語をその概念に関連付け、別の言語の別の単語を同じ概念に関連付けます。翻訳するには、コンセプトに関連付けられたターゲット言語の単語が検索され、返されます ( http://chadjohnson.ath.cx:8080/static/language_translation.pngを参照)。