0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pythonではじめる機械学習 レポート⑦

Last updated at Posted at 2020-05-31

#7章 テキストデータの処理
 テキストデータの長さはまちまちなので、今までの数値特徴量とは扱い方が違うため、
前処理の仕方も違ってくる。

##7.1 映画レビューの感情分析
 以下のようなデータセットがあるとする。

・映画のレビュー(テキスト形式)
・「肯定的」もしくは「否定的」(ラベル)

 レビューのテキストから、「肯定的」か「否定的」かを判別すると、
2クラス分類として処理できる。そうするために、
テキストデータを数値形式に変換する必要がある。

##7.2 BoW(Bag of Words)によるテキスト表現
 Bowは最もシンプルで効率が良く、広く使われているデータの表現方法である。
文章中にその単語が何回出てきたか、という点にのみ着目する。
以下の3ステップで処理する。

1.トークン分割(Tokenization)
文章を単語に分割する。

2.ボキャブラリ構築(Vocabulary building)
すべての文書に現れる、すべての単語に番号を付ける。

3.エンコード
それぞれの文書に対して、単語が出てくる数をカウントする。

##7.3 tf-idf(term frequency-inverse document frequency)を用いたスケール変換
 tf-idfとは、特徴量がどのくらい情報を持っているかに応じて、特徴量のスケールを変換する方法のうちの1つである。
特定の文書にのみ頻出し、ほかの文書にあまり現れない単語は、その文書の内容を示す
という考え方に基づいている。
 以下は、文書dにおける、単語wのtf-idfスコアである。
無題.png
N:訓練セット中の文書の数
Nw:訓練セット中の文書のうち、wがある文書の数
tf:文書d中にwが現れる回数

 上記の式を使うことによって、
文書の長さがベクトル表現に影響しなくなる。
(ベクトルの長さがすべて1になるようにスケール変換するため)

##7.4 1単語よりも大きい単位のBoW(n-グラム)
 BoWの問題は、単語の順番が完全に失われることである。
そこで、単語を1つ1つに区切るのではなく、
2つもしくは3つ連続するように区切る。
2つのトークンをバイグラム(bigram)、3つのトークンをトリグラム(trigram)
n個のトークンを**n-グラム(n-gram)という。
 ほとんどの場合は1つのトークンである
ユニグラム(unigram)**で十分である。
5-グラムぐらいまでは性能が向上する可能性があるものの、
特徴量の数が増え、ユニークな特徴量も増えるので過剰適合しやすくなる。

##7.5 トピックモデリング(topic modeling)と文書クラスタリング
 トピックモデリングは、テキストデータによく用いられる技術で、
それぞれの文書に対して1つ以上の**トピック(topic)**を割り当てる
教師なし学習である。
 割り当てるトピックが1つの場合、クラスタリングとなる。
トピックが2つ以上の場合、成分分析となる。
トピックモデリングはこの成分分析に属し、
**LDA(Latent Dirichlet Allocation)**という成分分析手法のことである。

###7.6.1 LDA
 機械学習での「トピック」とは、日常会話のトピックとは意味が違う。

・機械学習のトピック
→文章によく出る単語に過ぎず、意味があるかないかは不明

・会話のトピック
→政治、スポーツ、金融など

##7.7 まとめと展望
 SPAM検出、感情分析などのクラス分類では、BoWが有効である。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?