実践 自然言語処理 ―実世界NLPアプリケーション開発のベストプラクティス
by Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana, 中山 光樹
5章情報抽出
名前が何だというの? バラと呼んでいるけど、
ほかの名前で呼んでも、甘い香りに変わりはないわ。
—— ウィリアム・シェイクスピア『ロミオとジュリエット』
私たちは、電話でのショートメッセージやメール、趣味や仕事、時事問題を知るために読む長文など、毎日大量のテキストに触れています。このようなテキストには、価値のある情報がたくさん含まれています。ここでの「情報」という言葉の意味は、その文脈によって変わります。重要なイベント名や人名を指すこともあれば、人名や場所、組織などの間の関係を指すこともあります。情報抽出(Information Extraction:IE)とは、テキストから関連する情報を抽出するNLPのタスクです。情報抽出を実際のアプリケーションに応用した例としては、Googleで有名人の名前を検索したときに、右側に表示される短い説明文が挙げられます。
データベースや表のような構造化データや、Webページのようなマークアップされている半構造化データと比べると、テキストは非構造化データの一種です。たとえば、データベースでは、データがどこにあるかはスキーマに基づいて探せばわかります。しかし、テキストの場合、構成は自由で、スキーマが定められていないことがほとんどです。そのため、テキストからの情報抽出は難しいのです。テキストにはさまざまな情報が含まれています。定型的なパターンで表せる情報(住所、電話番号、日付など)は、正規表現などのパターンベースの技術を使って比較的簡単に抽出できます。それはたとえ、テキスト自体が非構造化データであってもです。ただ、それ以外の情報(人名、テキスト中の固有表現間の関係、カレンダーのイベントの詳細など)を抽出するには、より高度な言語処理が必要になります。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access