6章テキストの取り扱い
レシピ6.0 はじめに
本やツイートのような、構造化されていないテキストデータは、最も興味深い特徴量を抽出できるデータなのだが、同時に最も取り扱いが難しいデータでもある。本章では、テキストを情報量に富んだ特徴量に変換する戦略を説明するとともに、自然言語処理(NLP:natural language processing)などのタスクで広く使われつつある、エンベディング(埋め込み:embeddings)と呼ばれる、そのまま利用できる特徴量についても紹介する。
ここで紹介するレシピは、網羅的ではない。テキストや類似したデータの処理については、学問の分野が1つできているほどだ。本章では、一般的に使われる技術とその背後にある知識を紹介して、我々の前処理の道具箱に有用な道具を追加する。さまざまな一般的なテキスト処理レシピに加えて、事前訓練済みの機械学習モデルをロードして活用することでより豊かなテキスト特徴を生成する方法を示す。
レシピ6.1 テキストのクリーニング
問題
何らかの非構造化テキストデータに対して、基本的なクリーニングを行いたい。
解決策
以下の例では、3つの書籍に関するテキストをPythonの文字列操作を用いてクリーニングしている。strip
、replace
、split
メソッドを用いている。
# テキストを生成 text_data = [" Interrobang. By Aishwarya Henriette ", "Parking And Going. By Karl Gautier", " Today Is The night. By Jarek Prakash "] # ホワイトスペースを削除 strip_whitespace = ...
Get Python機械学習クックブック 第2版 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.