ベクトル化について


ベクトル化とは:

  • ベクトル化とは、コンピュータのプログラムにおいて、繰り返し処理で配列(ベクトル)の要素をひとつひとつ計算しているような部分を、ベクトル計算機で高速に演算できるよう変形すること。
  • ここではbag of wordsという手法で、文字列から数字に変換している。

TF-IDFによる重み付け:

  • ベクトル化の手法として、tf-idf化の方法を用います。

1. 必要なモジュール、ライブラリのインポート:

import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer

2. 実際に使えるように関数化:

# 形態素解析した文字列をベクトル化する
def vectorization(messages_list):
    docs = np.array(messages_list)
    count = CountVectorizer()
    bags = count.fit_transform(docs)
    features = count.get_feature_names()
    tfidf = TfidfTransformer(use_idf=True, norm='l2', smooth_idf=True)
    np.set_printoptions(precision=2)
    tf_idf = tfidf.fit_transform(bags)
    data = tf_idf.toarray() 
    return data

参考記事: