オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【自然言語処理】前処理 #まとめ編

Index

前処理



前処理は、5 つの処理に分けることができる.

  1. クリーニング処理
  2. 単語分割
  3. 正規化
  4. ストップワード除去
  5. ベクトル表現

クリーニング処理

テキスト内に含まれるノイズを除去する.

  • github.com
    • 日本語のテキストクリーニング

単語分割

日本語のように単語の区切りが明らかでない言語に対して、行われるのが単語の分割処理.

自然言語処理では、単語レベルでデータ扱うことが多いため、単語ごとに分解する.

分割では、主に形態素解析を用いて行う.

形態素解析

トークン化

トークン化 とは、文を適当な単位に分割すること.

これを実現するツールをトークナイザ (tokenizer)と呼ぶ.

分割によって得られた文の構成要素を トークン (token)と呼ぶ.

単語の正規化

「単語の文字種の統一」、「つづりや表記揺れの吸収」等の単語を置き換える処理を行う.

ストップワードの除去

ストップワードというのは、自然言語処理を行う際に、一般的で役に立たない等の理由で、 解析の対象外とする単語のこと.

ベクトル表現

文字列である単語をベクトルに変換する処理.

one-hot 表現

ある要素のみが 1 で、その他の要素が 0 であるような表現.

分散表現

自然言語処理の問題を解くニューラルネットワークのモデル(ニューラル言語モデル)を利用して、 文章から直接、特徴量を自動的に行えるようにする.

ニューラル言語モデルの特徴の一つは、文章や単語を「密なベクトル」に変換できるということ.

文章や単語を密なベクトルとして表現したもの 分散表現と呼ぶ.

ライブラリ・API

参考