5-2.自然言語処理(NLP)関連
・コーパス(corpus):大量の言語データであり構造化されたテキストデータ。
・TF-IDF(Term Frequency Inverse Document Frequency):文書中に含まれる単語の特徴の強さを表す数値
TF:文書中の単語出現頻度=単語個数÷単語総数
IDF:文書全体の単語出現頻度=単語のある文書数÷文書総数の逆数
・nグラム(N-grams):隣り合って出現したN単語
・文字nグラム:隣り合って出現したn文字
・bag-of-words:文章中の語順は無視し、単語の出現頻度だけで表す文書のベクトル表現。言語表現を数学の世界に持って行きベクトルで表すことで、コサイン類似度など数学的処理で測ることができる。
・bag-of-bigrams:これもベクトル表現だが, bag-of-wordsと違う点は n-gramによって語順の情報が多少残っていること。
・ストップワード(stop-words):話題と関連がない単語。例えば, “on”や”is”, “have”など、どんな話題でも出現する可能性が一定確率ある単語のこと。
・ステミング(stemming):英単語で派生語などを同一の素性とみなす前処理。例えば、語尾のedを除去するなど (walked → walk)
・見出し語化:ある英単語の変形は同一の素性であるとみなす前処理。例えば、run/runs/ranはrunの変形であり、似た話題を指しているので、単語を基本形に戻す。
・データスパースネス問題(Sparse Vector):辞書が大きいと文書のベクトル表現で 0ばかり出現する疎なベクトルとなり, 必要な統計量が求められなくなってしまう問題。例えば、収録単語数50,000語の辞書、対象記事の出現単語:100語だと、少なくとも49,900個の要素は0 (疎である)となる。
・固有表現抽出(Named Entity Recognition):解析対象となる文章から、固有名詞(人名、地名など)や日付、時間表現などを抽出する技術。新聞記事などのテキストには、大量の固有表現 (Named Entity) が含まれている。これらの固有表現が辞書に登録されていない場合、未知語として扱われ、解析の誤りを起こすために生まれた技術。
・類似度(similarity/degree of similarity):テキスト同士の近さ(類似)を数値化したもの。TF-IDFベクトルのコサイン距離を用いる。
・ハッシュ表(hash table):データ構造の一つで、標識(key)と対応する値(value)のペアを単位とするデータを格納し、キーを指定すると対応する値を高速に取得できる構造。ハッシュ表は、こうしたデータ型の実装方式としてよく利用される。辞書(dictionary)、ハッシュ(hash)、マップ(map)、連想配列(associative array)とも呼ばれる。
・特徴ハッシュ(Feature Hashing/Hashing Trick):各テキストの特徴 (単語や語句) を、特定のインデックスに関連付ける代わりに、ハッシュ関数を特徴に適用し、そのハッシュ値を直接インデックスとして使用する手法。高速で省メモリとなる。
・メカブ(MeCab):日本語の文章を形態素解析するOSS。日本語解析には欠かせない、最も利用されているツール。
・Word2Vec:最近発表されてその性能からブームとなっている、単語をベクトル化して表現する定量化の手法。例えば日常的に使う日本語の語彙数は数万から数十万といわれるが、これを各単語200次元くらいのベクトルとして表現する。このような手法は、ニューラルネットワーク分野で「分散表現(word embeddings)」と呼ばれている。
・one-hot表現(one-hot-vector):出現するすべての単語に1つのIDを割り当ててベクトル化する定量化の手法。100万語あったら100万次元のベクトルとして各単語に割り当てる。