テキストの文字列を分析し、それがどの時制で書かれているかを調べる方法を探しています。たとえば、「店に行く」==現在、「車を買った」==過去などです。 .
これを行う方法に関するヒントはありますか?
テキストの文字列を分析し、それがどの時制で書かれているかを調べる方法を探しています。たとえば、「店に行く」==現在、「車を買った」==過去などです。 .
これを行う方法に関するヒントはありますか?
はい、これは非常に困難になるでしょう...これに気付くまで、週末の簡単なプロジェクトに似たようなことを始めていました.
Wordnet 3.0 のソース コードは、英単語のデータベースがある Princeton からダウンロードします。ファイル /dict/index.verb は、あまり問題なく CSV としてデータベースにインポートできる現在時制の英語動詞のリストです。そこからは、あなたは独力で、英語という奇妙さをどのように扱うかを理解する必要があります.
これはかなり面倒なプロセスになる可能性があります。どれくらい詳しく知りたいですか?過去、現在、未来だけを考えたいですか?それとも、単純現在、現在進行形、単純過去などを検討しますか?
いずれにせよ、肯定形、否定形、疑問形も評価する必要があります。役立つオンラインの優れたチャートは、http://www.ego4u.com/en/cram-up/grammar/tensesにあります。
ルールと注意喚起語に注意してください。
トークン化 / db/file からアクション ワードを検索 (または、少なくとも推測 - *th=past など) / 時制ヒットをカウントしますか?
そのようなタスクには、正規表現では不十分だと思います。かなり難しいタスクです...
正規表現からまったく何も得られないか、あなたでさえ理解して維持することができないある種のスーパーモンスター正規表現で終わるでしょう...
これにはおそらく正規表現以上のものが必要です...ある種の「言語エンジン」のようなものだと思います...
実際にそれが必要で、ただ遊んでいるだけではない場合は、nltkを見てください。構文解析は複雑な問題です。自然言語の解析はさらに複雑です。また、英語などの非常に不規則な言語の構文解析はさらに悪化します。問題の範囲を絞り込むことができれば、解決策を見つける可能性が高くなります。
何のために必要ですか?
PHP 用の基本的な Brill パーサーの実装は、Ian Barber のPHP/irサイトにあります。アルゴリズムはあなたの言葉にタグを付けます。
「I think」という単語を入力すると、結果は次のようになります。
I/NN think/VBP
NN=名詞、VBP=動詞存在