2012-01-13 10 views
3

私はgoogle calendar で起こるもののような単純なフレーズを認識しようとしていますが、カレンダーのエントリを解析するのではなく、財務、会計、およびリストに関する文を解析する必要があります。例えば、私は簡単なフレーズの認識

のような文章を解析する必要がありますので、私は、私は別のReason : 'food'Cost : 50と私の質問は何であるTime: <Yesterday's Date>

などの情報をマークする必要があり、昨日

食品に50ドルを費やしました私はこれらの質問で与えられた のような本格的な自然言語処理のために入ります。GATE

Machine Learning and Natural Language Processing

Natural Language Processing in Ruby

Ideas for Natural Language Processing project?

https://stackoverflow.com/a/3058063/492561

それとも、ANTLRのようなものを使用して簡単な文法を書き、それを認識しようとする方が良いです。

私は本当に低くして、単に構文を定義し、正規表現を使用してください。

時間は拘束ですが、私は約45〜50日です.GateのようなAntLRやNLPライブラリの使い方はわかりません。

優先言語:PythonやJavaの、ルビー(未特定の順序で)

PS:これは、そうなるように、それをタグ付けしないでください、家庭の仕事ではありません。

PPS:なぜ特定の方法を使用する方が良いのかについての事実を説明してください。 特定の方法が時間制約の範囲内に収まらない場合でも、他の人に恩恵を受ける可能性があるため、自由に共有してください。

+0

ここで自然言語処理文法を探しています... Javaなら、あなたはparboiledを検​​討することができます。しかし_grammar_を定義することは、あなたが使用するツールが何であれ、最も難しい部分です。がんばろう! – fge

+0

@fgeさん、ありがとうございました。可能であればリンクを詳しく教えてください。答えは – Gautam

+0

@fgeです.NLPについて言及した後、あなたは 'parboiled'について語りますが、このツールはPEG-パーサーではなく、 NLPツールOPがNLPツールを使用することを選択した場合、おそらく文法を変更する必要はありません。このようなツールには、すでにいくつかの言語(文法)が用意されています。 –

答えて

3

実際に名前付きエンティティの認識を見ることができます。あなたの質問から、あなたのドメインはかなり明確に定義されているので、あなたに関連するエンティティ(日付、通貨、金額、時間表現など)を特定できます。フレーズが非常にシンプルな場合は、ルールベースのアプローチをとることもできます。そうしないと、あまりにも複雑になりがちです。

ちょうどあなた自身を数秒で動かすために、http://timmcnamara.co.nz/post/2650550090/extracting-names-with-6-lines-of-python-codeはあなたができることの非常に良い例です。もちろん、私は、Pythonのわずか6行から高い精度を期待していないが、それはあなたにそれがどのように動作するかのアイデアを与える必要があります:それは分割ライン3上:

1>>> import nltk 
2>>> def extract_entities(text): 
3...  for sent in nltk.sent_tokenize(text): 
4...   for chunk in nltk.ne_chunk(nltk.pos_tag(nltk.word_tokenize(sent))): 
5...    if hasattr(chunk, 'node'): 
6...     print chunk.node, ' '.join(c[0] for c in chunk.leaves()) 

コアアイデアは、3行目と4であります文中のテキストを抽出して繰り返します。 4行目では、文をトークンに分割し、文で"part of speech" taggingを実行し、posタグ付き文を名前付きエンティティ認識アルゴリズムに送ります。これが非常に基本的なパイプラインです。

一般的に、nltkは非常に美しいソフトウェアであり、非常によく文書化されています。私はそれを見ていきます。その他の回答には非常に便利なリンクが含まれています

+0

NLTKは本当に素晴らしいです。 – Gautam

関連する問題