自然言語処理って?
人間が書いたり、話したりする言語を「自然言語」といいます。その自然言語をコンピュータで扱うための技術を「自然言語処理」といいます。
今回は、処理の精度という観点ではなく、処理工程を理解する足掛かりとして、サンプルプログラムを作成しながら、勉強した履歴を残そうと思います。
自然言語の処理フェーズ
自然言語を処理するにあたって、2つのフェーズに分けて処理を行う事で自然言語処理について理解していこうと思います。
テキストデータの解析
今回、対象とするデータをデータ管理や検索できるように加工し文法構造を解析したりしながらデータベースに登録するところまでを解析として処理します。
解析処理では、「データベースに格納する」、「構文解析」、「アノテーションを付ける」、「テキストマイニング」までを分割してプログラミングをしていこうと思っています。
※アノテーション (annotation) とは、「注釈」や「注解」という意味を示す英単語です。ITの分野では、テキストや音声、画像、動画などあらゆる形態のデータの1つ1つに、タグやメタデータと呼ばれる情報を付けていく工程のことをアノテーションと呼んでいます。例えば、「自然言語処理」という言葉に、”技術用語”という注釈をつけることで、「自然言語処理」という単語に対して、意味を明確にしていきます。
※テキストマイニングとは、膨大なテキストデータを分析し、有益な情報を抽出することです。
テキストデータの活用
データベースに蓄積したデータを実際のアプリケーションで、どう利用していくのかWebアプリケーションからの利用について処理します。