自然言語(人間が日常でやり取りする日本語や英語などの、いわゆる言葉のこと)をコンピュータに処理させる一連の技術。
人工知能と言語学の一分野。
自然言語の解析には、大量の自然言語データを学習する必要がある。
大量の自然言語データから特徴を抽出し、その概念を獲得することで言語を理解できるようになる。
自然言語処理の一般的なフローは、以下のとおり。
①形態素解析
文章を、意味を持つ最小単位(形態素)に分割し、品詞を推定する。
②構文解析
形態素間の関係性を解析する。
主語、述語、目的語などの係り受け構造を推定する。
日本語の構文的依存関係を解析するモデルとしてCabochaやKNPが有名。
③意味解析
同じ文の中の意味構造を見出す。
文法的な要素や文中にある単語が別の単語と関連性が高いかを判断する。
「断食と水を飲むことが重要」という文において、「飲む」は「水」と関係性が高く、断食とは関係性が低い。
④文脈解析
複数の文の意味や関係性を解析し、文章全体の意味を把握する。
それ、これなど代名詞などの照応表現がさしている箇所を推定する照応解析、文と文の背景を解明する談話構造解析がある。
<自然言語処理の活用事例>
機械翻訳
Google翻訳など。ここ数年で急速に精度が上昇中。
機械翻訳+合成音声の組み合わせサービスも多数ある。
音声の文字起こし
コールセンターでの対応を録音し、自然言語処理によって自動でテキスト化する。
対話システム
スマートスピーカーやSiriなど。
音声や文字で入力した文章を、コンピューターが理解して応答するシステム。