Data cleansing:データクレンジング
データクレンジングとは、欠落値、無効な値(データが範囲外)、不正確な値、間違ったフォーマットや測定単位を使用したことによる不均一な値などを削除しデータの一貫性、信頼性、価値を向上させること。
Data wrangling:データラングリング
モデルで使用するための複雑なデータセットを変換・整理して統合する前処理のこと。
データセットの外れ値は、統計的手法によって特定され、アルゴリズムによって決定された値に置き換えられます。外れ値を除去する1つのアプローチはtrimmingといい、オブザベーションの最高と最低x%を除外します。winsorizationでは、外れ値をその変数に許容される最大値・最小値で置き換えるものです。テキストラングリングでは、トークンは単語のことであり、トークン化とは文をトークンに分割することです。
Extraction:抽出。
Aggregation:集計:適切な重みを用いて、関連する 2 つの変数を 1 つに統合する。
Filtration:無関係なオブザベーションを除去する。
Selection選択:処理に不要な特徴(データ列)の除去を含む。
Conversion:多様なタイプのデータの変換(例:名義、序数)。
normalization and standardization
normalized Xi=(Xi−Xmin)/(Xmax−Xmin)
standardized Xi=(Xi−μ)/σ
Text Preparation or Cleansingの手順
テキストクレンジングは以下の手順で行います。
- HTMLタグを削除する。
ウェブページから収集したテキストには、HTMLタグが埋め込まれているため、処理前に削除する必要がある場合があります。 - 句読点を削除する
テキスト解析では通常、句読点を必要としないので、これらも削除する必要があります。一部の句読点(%、$、?)は解析に必要な場合があり、その場合はモデル学習用のアノテーション(テキスト表現)に置き換えられます。 - 数字を削除する
数字が解析に重要でない場合、プログラムに知らせるために、数字を削除したり、アノテーションに置き換えたりします。もし数値が解析に重要であれば、まずテキストアプリケーションでその値を抽出します。 - 空白を取り除く
余計な空白文字(タブ、インデントなど)は、テキスト処理には使わないものは削除します。 - 名寄せする
重複するデータを探し出し、それらを統合します。
Text Wrangling (Preprocessing)の手順
テキストクレンジングされたテキストは以下の手順で正規化されます。
- Lowercasing
文字を小文字に統一します。単語を大文字・小文字などの区別なく同一の単語として扱えるようにします。 - ストップワードの除去
「of、the、by、is」などのストップワードは学習データのトークン数を減らすために削除します。 - ステミング(原型化)Stemming
ある単語の動詞など複数の言い回しを共通の値に変換します。ステミングは、人間の処理ではテキストを混乱させますが、機械には理想的な方法です。 - レムマター化(Lemmatization)
これは、単語の言い回しをそのレンマ (文脈を考慮し、単語を意味のある基本形に変換すること) に変換することです。レンマタイゼーションはステミングと似ていますが、より高度な計算が必要で、リソースを消費します。
BOW(Bag-of-Words)
文書中に出現する単語を数え、その数をもとに分類・評価を行うモデルです。文書における出現順序は考慮しません。単語(words)を袋(bag)に詰め込んでモデル化するイメージからこの名前がついているそうです。
N-gram
テキストの並びが重要な場合は、N-gram を用いて単語の並びを表現することができます。
2単語の並びはbigram、3単語の並びはtrigramとなります。