4

非構造化テキストから (SUBJECT,OBJECT,ACTION) 関係の形式で関係を抽出したいのですが、

例えば、

「少年はテーブルに座ってチキンを食べている」

(男の子

、チキン、食べる)
(男の子、テーブル、場所)

等..

Python プログラム + NLTK は、上記のような単純な文を処理できますが。

ツールやライブラリ、できればオープンソースを使用して、大量のテキスト ドキュメントや Web などのより広いドメインから関係を抽出したことがあるかどうかを知りたいです。

4

1 に答える 1

6

あなたの文があなたが示した例よりもはるかに複雑にならない場合 (たとえば、アナフォラに関して)、スタンフォード パーサーは、確率論的文脈自由文法に基づいて、簡単に変換できる良い結果を返します。必要な形式に。オンラインで利用できるデモがあります。あなたの例では、次のようなものが得られます

nsubj(座っている男の子)

prep_on(座る、テーブル)

文章がさらに複雑になる場合は、確率論的組み合わせカテゴリ文法に基づいて、C&C 解析から談話表現構造を構築するBoxerを試すことに興味があるかもしれません。これらの構造は、必要な形式に適応するのがより困難であることが判明する場合がありますが、柔軟性が大幅に向上します。繰り返しますが、オンラインで利用可能なデモがあります。あなたの例では、次のようになります

座る(x)

男の子(y)

テーブル(z)

エージェント(x,y)

on(x,z)

スタンフォード パーサーは Java で書かれており、GPL の下で利用できます。C&C は C++ で記述され、Boxer は SWI Prolog で記述されています。これら 2 つは完全に無料のライセンスでリリースされているわけではありませんが、ソース コードを入手して変更し、非商用プロジェクトで使用することができます。

どちらも、あなたの例の「男の子」と「テーブル」の関係を特徴付けるものではありません。これには、より強力な意味論的推論ツールが必要であり、このようなものが存在するかどうかはわかりません.

編集

C&C と Boxer のソース コードと、モデルのコレクションを入手できるようになりました。

于 2013-10-27T10:42:01.363 に答える