既存のソリューション
ですから、「大統領のデンマーク訪問は、両国間の対話に新たな息吹を吹き込むでしょう」という提案をさせてください。 この提案から事実を分離するには、次の手順を実行する必要があります。
I.トークン化
この段階では、文を別々の単語に分割する必要があります。 ここで問題が発生することはありません。
II。 形態素解析
分割後、各単語について、それに関する形態学的情報(品詞、性別、ケース、番号など)およびすべての種類の属性(たとえば、単語が名前であるか地理的な場所であるか)を取得する必要があります。 このタスクには、特別な辞書が必要です。ロシア語の登録簿として、 Zaliznyakまたはその独自の派生 語の辞書を使用できます。 既製のソリューションとして、YandexのMystemユーティリティを検討できます。
Mystemユーティリティを使用する場合、最初の文は次のように解析されます。
krestyaninov @ localhost#echo「大統領のデンマーク訪問は、両国間の対話に新たな息吹を吹き込むでしょう」| ./mystem -niwg 訪問{visit = S、夫、neod =(それら、単位|ワイン、単位)} 大統領{大統領= S、夫、od =(性別、単位|ワイン、単位)} in {b = PR = | b = S、abbr =(im、un | im、複数| un、un |属、複数|日付、ed |日付、複数|ワイン、ed |ワイン、プロット|創造性、pl | pr、ed | pr、pl)} デンマーク{デンマーク= S、地理、女性、ネオ=ワイン、ユニット} {give = V = Nepros、units、withdrawn、3-l、ow}を与える new {new = S、medium、neody =(それら、u |ワイン、ユニット)| new = A =(それら、u、フル、ミディアム|ワイン、ユニット、フル、環境)} 呼吸{呼吸= S、メディア、ネオディ=(im、単位|ワイン、単位)} 対話{dialogue = S、夫、neod =日付、単位} two {two = NUM =(属|ワイン、妻、od |ワイン、夫、od | pr)} 国{国= S、女性、neod =性別、複数形}
III。 解析
この段階で、文内の単語の関連サブグループが決定されます。 たとえば、NON-VERB:“ visit-betray”。 これらの関係を確立することで、形態素解析のあいまいさを判断できます。 したがって、たとえば、「新しい呼吸」というフレーズから、「新しい」は形容詞であり、名詞ではないことがわかります(形態素解析後は不確かでした)。
IV。 セマンティック分析
セマンティック分析のタスクは、文中の単語関係の本格的なツリーを構築することです。 このプロセスには多くのニュアンスがあり、この記事で説明するためには一般的に非常に複雑です。 セマンティック分析の詳細については、 こちらをご覧ください 。
V.事実を抽出する
文中の単語のつながりのツリーを形成したら、事実の抽出に直接進むことができます。 これを行うには、次のツールを使用できます。
- サポート要素の検索 :テキストが単語(たとえば、「社長」)を検索し、それに基づいて、事実が接続ツリーに基づいて構築されます。
- パターンで検索:正規表現(たとえば、日付の分離)でデータを検索します。
- オントロジーによる検索 : 特別な言語で記述された述語規則に基づくデータ検索。 例 。
ファクトの抽出の詳細については、以下にリストされているアドレスを参照してください。
-Yandex.Press Portraitsのプレゼンテーション 。
- プレゼンテーション:「テキストからの事実の自動抽出」 ;
既存のソリューション
自由に分散している事実上存在するように見える既存のシステムの中から、私はGATEというシステムを見つけることができました。 このシステムは非常に興味深く、有望ですが、残念ながらロシア語をネイティブでサポートしていません。 このマニュアルの助けを借りて、実際に試してみることができます 。
有料システムのうち、 RCOの国内開発に注目できます( rg_softwareに感謝)。
関連リンク
- ウィキペディアを使用してキーワードを抽出します。
- テキストマイニングシステムの概要 ;
- 言語システム「Semantix」の概要 。
PS
前述のように、この記事は、情報抽出のトピックに関するデータをまとめたもので、私が見つけて理解したものです。 トピックに関する情報/アイデア/開発をお持ちの場合は、コメントでご覧ください。