自然言語処理の前処理でよく使う技術

自然言語処理の前処理では、よく以下のことを行う。

  • クリーニング
  • 正規化
  • 単語分割
  • 基本形への変換
  • ストップワード除去
  • 単語の数値化(または、ベクトル化)

中身の説明は、自然言語処理における前処理の種類とその威力 external_link に詳しく書かれている。

あとは、サブワード分割がよく使われる。 低頻度語をぶっ壊すHow to subword-nmt external_link がわかりやすい。

自然言語をニューラルネットで処理する場合、単語に分割して、単語ベクトル化する必要がある。
そのため、未知の単語(学習に使用したコーパス文章に存在しない単語)がでてきた場合に、対処しようがない。
その場合に単語をさらに分割して何とかしようとする。
例えば、「機械翻訳」という単語があり、コーパスに「機械翻訳」がない場合は、「機械」と「翻訳」に分割して処理する。
もし、「翻訳」がない場合は、さらに「翻」と「訳」に分けて扱う。