文中の単語を処理して意味を形成できる簡単なコードを書こうとしています。私は長い間、優れたアルゴリズムを開発しようとしてきましたが、それを実行しようとすると、アルゴリズムが複雑すぎて長くなる傾向があります。何か提案がありましたら、よろしくお願いします。ありがとう
2 に答える
あなたは自然言語処理(NLP)の分野について話し合っています。これは非常に複雑な問題であり、活発な研究が行われている分野です。
意味を確立することは言うまでもなく、一般的な英語の文を解析する簡単な方法は決してないだろうと言っても過言ではありません。
サセックス大学の情報学部では、これを非常に難しい問題にしているいくつかの問題を理解するのに役立つ可能性のある一連のNLP講義をオンラインで提供しています。
脳は実際には複雑で深いので、アルゴリズムは複雑で長くなければならないことがわかりました。私は自分のコードを進歩させましたが、それは簡単なことではありません。私のアプローチは、各文のすべての単語とその意味と関連性を調べて分析する情報データベースを使用することでしたが、どんなに頑張っても理解はシミュレートすることしかできないことがわかりました。例えば:
私のポケットは虫だらけです。
次のように理解されます:
動物の虫はあなたのポケットの中にあります。
意味:
- あなたは困っています
- あなたはバグコレクターです
- 何かにバグを使いたい
電子バグはあなたのポケットの中にあります
含意
- ポケットに虫が植えられている
- あなたはいくつかの電子バグを持っています
バグ(名詞)の単語データベースは次のとおりです。
バグ(動物)
- 定義:昆虫。
- プロパティ:幅:15mm; 高さ:25mm; 色:黒、赤、オレンジ; 重要性:相対的-生物学; 危険:2; 望ましさ:0;
- 機能:ベース
バグ(デバイス)
- 定義:電子機器。
- プロパティ:幅:45mm; 高さ:45mm; 色:任意; 重要性:相対的-セキュリティ; 危険:2; 望ましさ:1
- 機能:録音
少なくとも2つのシミュレートされた意味は、上記から推測できます。アルゴリズムは、意味を正確に把握するために、一連の質問を開始するためのインテリジェントな推測を行います。