2011-01-08 13 views
3

私はNLP(自然言語処理)の新しい参加者です。私は、言い換えプロジェクトを開始するにあたり、2つの類似した文を認識できるシステムを開発しています。レキシカル、シンタックス、セマンティックの3つのレベルで様々な尺度を適用しようとしています。語彙レベルでは、コサイン類似度、マッチング係数、ジャカード係数...などの複数の類似度があります。シェフィールド大学によって開発されたsimMetricsパッケージは、さまざまな類似性測定のための素晴らしいパッケージです。これには多くの類似性測定値が含まれています。しかし、levenshtein距離とjaro-winkler距離測定の場合、コードはのみ* です。文章レベルでのコード化(つまり、単語を文字の代わりに単位として考える).Anまた、マンハッタン距離のコードはSimMetricsにはありません。私は、必要なコードを開発するための提案を専門家に要求します(または)上記の対策のために文章レベルでコードを提供します。文章レベルの類似性を使った言い換えの認識

あなたの時間と努力のおかげで、私を助けてくれてありがとう。

+0

これは小さな問題ではありません。この分野で多くの専門知識や先行技術を見つけることはできません。 – Cerin

+0

NLPを初めて知りましたなら、もっと小さく束縛されたプロジェクトを試してみてください。 –

+0

「JNLP」は「NLP」とは関係ありません。タグを削除します。 –

答えて

2

Chrisが示唆しているように、これは初心者のための重要ではないプロジェクトです。私はチャンクのような簡単なもの(比較的退屈なもの)を始めることをお勧めします。

Python NLTKライブラリのドキュメントと書籍をご覧ください。探しているものに近いサンプルがいくつかあります。例えば、封じ込め:1つのステートメントに別のステートメントが含まれていると考えられます。そこに「もっともらしい」ことに注意してください。現状の技術は、単純なはい/いいえ、あるいは確率でさえ十分ではありません。

3

私は数年前からNLPの分野で働いていましたが、回答/コメントを提供してくださった方々には完全に同意しています。これは本当にひどい裂け目です!しかし、私はまだいくつかのポインタを提供してみましょう:

(1)字句類似性:文章レベルまでJaro-Winkler距離を一般化しようとするのではなく、対数尤度を計算する。もう少し説明しましょう:コーパスに基づいて言語モデルをトレーニングしてください。次に、コーパス内の文と類似している/類似していないものとして注釈付けされた多数の候補文を取ります。これらのテスト文のそれぞれについて対数尤度を計算し、類似性を決定するためのカットオフ値を確立する。

(2)構文上の類似性:これまでのところ、スタイロメトリックの類似性だけがこれを取得することができます。このためには、PCFG解析木(またはTAG解析木、TAG =ツリー隣接文法、CFGの一般化)を使用する必要があります。

(3)意味の類似性:私の頭の上から離れて、Wordnetなどのリソースを使用し、synsetsの類似性を特定することしか考えられません。しかし、これは簡単ではありません。最初の問題は、セマンティクスの確認を続行する前に、2つ(またはそれ以上)の文からどの単語が「対応する単語」であるかを特定することです。

関連する問題