3章テキストの表現

言語処理では、テキストデータからベクトル x を導出する。

テキストのさまざまな言語的特性を反映させるために。

—— Yoav Goldberg

特徴抽出は、あらゆる機械学習の問題において重要なステップです。どんなに優れたモデリングアルゴリズムを使っても、貧弱な特徴を投入したら、良い結果は得られません。コンピュータサイエンスでは、これを「ゴミを入れればゴミが出てくる(garbage in, garbage out)」と呼ぶことがあります。これまでの章では、NLPの概要、さまざまなタスクとその課題、そして典型的なNLPパイプラインを紹介してきました。本章では、「テキストデータの特徴エンジニアリングを行うにはどうすればよいか」という問題を取り上げます。つまり、与えられたテキストをどのように数値化して、NLPや機械学習のアルゴリズムに投入するかということです。NLPの用語では、生のテキストを適切な数値形式に変換することをテキスト表現(text representation)と呼びます。本章では、テキスト表現、つまりテキストを数値ベクトルで表現するためのさまざまな手法を紹介します。本章で扱うNLPパイプラインの範囲は、図3-1の点線枠で示されています。

本章で扱うNLPパイプラインの範囲

図3-1 本章で扱うNLPパイプラインの範囲

特徴の表現は、あらゆる機械学習プロジェクトにおいて共通のステップで、データがテキスト、画像、動画、音声のいずれであっても必要です。しかし、テキストの特徴表現は、他の形式のデータと比較して、はるかに複雑であることが多いのです。このことを理解するために、他のデータ形式がどのように数値で表現されるのか、いくつかの例を見てみましょう。まず、画像の場合を考えてみましょう。たとえば、猫の画像と犬の画像を区別できる分類器を作りたいとします。さて、この課題を達成する機械学習モデルを学習させるためには、ラベル付きの画像を与える必要があります。では、どのようにして画像を機械学習モデルに与えればいいでしょうか。画像をコンピュータに保存する場合、ピクセルの行列形式で保存します。ここで、行列の各要素[i,j]が画像のピクセルi,jを表します。 ...

Get 実践 自然言語処理 ―実世界NLPアプリケーション開発のベストプラクティス now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.