2011-06-26 14 views
8

私は現在、この形式の文章を理解しようとしています:「有用な」情報を文から抽出するか?

The problem was more with the set-top box than the television. Restarting the set-top box solved the problem.

私は自然言語処理に全く新しいですし、私の手が汚れて取得するには、PythonのNLTKパッケージを使用して開始しました。しかし、誰かが私にこれを達成するための高水準のステップの概要を教えてくれるかどうかは疑問です。

は、私は何をしようとしていることは問題が、この場合、set-top boxでそうだったものと、この場合には、yesためには、問題を修正し、再起動して撮影されたアクションが問題を解決するかどうかを識別することです。すべての文章は、このフォームであったのであれば、私の人生をより簡単だっただろうが、それは自然言語であるので、文章はまた、次のような形式のものであってもよい:

I took a look at the car and found nothing wrong with it. However, I suspect there is something wrong with the engine

したがって、この場合には、問題がでしたcarで実行されたアクションは、単語suspectの存在のために問題を解決しませんでした。潜在的な問題はengineである可能性があります。

これは非常に複雑だと思われるため、私は絶対的な答えを探していません。私が探しているのは、私が正しい方向に向くように、より高度な概要です。これを行うためのより簡単な代替方法があれば、それも歓迎です。

+7

NLP/NLTKの経験があるので、この問題は "矢のような飛行時間、果実のバナナのような飛行時間"の意味分析ラットホールにしっかりとあると思います。この小さな錯乱は私が知っている一般的な解決策をまだ持っていません。 – msw

+0

@msw:ああ... :)いいよ!私は一般的な解決策を設計するつもりはない。非常にドメイン固有のソリューションになります。私が理解しようとしていることは、そのような問題にどのようにアプローチするかということです。どの分野の知識が必要なのか、どのデータベースをコンパイルする必要があるのか​​、どのような分類器を訓練するべきなのかなど) – Legend

+0

サンプルフレーズは古いNLPの栗であり、ゴールに近づくことの無駄を実証しています。あなたの例に従えば、 "エンジン"を "ステレオ"に置き換えて、あなたの個人的なNLPスキルを使ってあなたのサンプル(悪いこと)と私の修正(Do not Care Thing)をどのように曖昧にするかを教えてください。 – msw

答えて

3

おそらく、文章がうまく形成されている場合、私はdependency parsingを試します(http://nltk.googlecode.com/svn/trunk/doc/api/nltk.parse.malt.MaltParser-class.html# raw_parse)。それはあなたに文の構成要素のグラフを与え、あなたは語彙項目間の関係を知ることができます。後で、依存パーサー(http://nltk.googlecode.com/svn/trunk/doc/book/ch08.html#code-cfg2)の出力からフレーズを抽出することができます。文中の動詞句、

文からフレーズまたは「チャンク」を取得したい場合は、チャンクパーサー(http://nltk.googlecode.com/svn/trunk/doc/api/nltk.chunk-module.html)を試してみてください。 )。名前付きエンティティ認識を実行することもできます(http://streamhacker.com/2009/02/23/chunk-extraction-with-nltk/)。これは通常、場所、組織、人名のインスタンスを抽出するために使用されますが、あなたのケースでもうまくいく可能性があります。

名詞/動詞のフレーズを文から抽出するという問題を解決すると仮定すると、ドメインエキスパートの仕事を簡単にするためにフィルタリングする必要があります(あまりにも多くのフレーズが裁判官を圧倒する可能性があります)。フレーズの頻度分析を実行したり、問題のドメインに関連していない頻度の高い単語を削除したり、ホワイトリストを作成したり、あらかじめ定義された単語を含むフレーズを保存したりすることができます。

4

本当にあなたが望むことができる最高のものは、十分に大きい(おそらくあなたが持っている以上の)訓練があり、公正な偽りの判定を許容することを喜んで受け入れることです。

NLPの聖杯を求めていくと、いくらか満足していないままになります。

+0

「Naive Bayesian Classifier」と同じ文章で「あなたが望む最高のもの」は-1になります。情報抽出のための** ** ** ** ** **多くの強力な機械学習モデルがあります。私は、この複雑な問題に対処するためにNaive Bayesのような弱い学習アルゴリズムを手に入れようとするよりも、一連の正規表現を書くほうが簡単だろうと思う。 –

関連する問題