web-dev-qa-db-ja.com

文から単語を抽出して、それぞれの品詞を特定するにはどうすればよいですか?

文を取り、それが含む各単語を識別し、各単語の品詞を定義するものを書きたいと思います。

例えば

こんにちは世界、私は文です

これを返します

verb noun, pronoun verb adjective noun

理想的には、私は最終的にそれをさらに一歩進めて文章を取り、プログラムでそれが解釈しようとしていることを理解し、おそらくそれに対して何かをしたいと思います。

だから私の質問は、誰かがこのようなことを聞​​いたことがありますか?

19
Vinny

これは 自然言語処理 と呼ばれ、巨大で複雑なフィールドです。あなたが説明するようなものは記念碑的な業績であり、 Watson のような最高のソリューションでさえ完璧に近いものではありません。

このようなことはやりがいがあります: "Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo"

アメリカ英語の文法的に正しい文。同音異義語や同音異義語を使用して複雑な言語構成を作成する方法の例として使用されます。それは1972年以来文献で議論されてきました...スティーブンピンカーの1994年の本The Language Instinctでも取り上げられましたが、「一見無意味」であるが文法的な文の例として...

この文の意味は、ニュ​​ーヨーク州バッファロー市とやや珍しい動詞「to buffalo」(「いじめや脅迫」を意味する)を使用していることが理解され、句読点と文法が拡張されて文が「バッファローバッファローバッファローバッファローバッファロー、バッファローバッファローバッファロー」同義語を使用すると、意味がさらに明確になります。「バッファローバイソンは、他のバッファローバイソンがいじめ、バッファローバイソンをいじめる」。

19
Ryathal

最初の問題の解決とともに文を分割して文法の正確さを判断することは、2番目の問題よりも簡単ですが、動詞-名詞や水泳、プログラミングなどの動名詞などの多くの複雑さや、その他の複雑な問題は、依然として課題です-Moronsを参照してください回答。

しかし、あなたの2番目の問題-人々は完璧な解決策を見つけるために多大な努力を払っていますが、本当に完璧な「解釈」アルゴリズムは英語のような自然言語では実際には実現できません-のバリエーションがありますアルゴリズムを台無しにします。このフィールド-AI、コンピュータサイエンス、言語学のハイブリッドは [〜#〜] nlp [〜#〜] として知られています。次の点を考慮してください。文を「解釈」する場合、Google翻訳でさえ完璧ではありません。

しかし、それにもかかわらず、これは手を出すには非常に興味深い分野です。

6
yati sagade

私はあなたがこのウィキペディアの記事を読み始めるべきだと思います:

http://en.wikipedia.org/wiki/Part-of-speech_tagging

(これは研究分野です。簡単な解決策は期待しないでください。)

4
Doc Brown