たった3分でわかる! コンピュータが言葉を理解するには??
みなさま、調子はどうですか?
今日も張り切っていきましょう。
今日は
自分たちが普段話すような言葉を(自然言語)をコンピュータはどのように解読しているのか?
についてOutPutしていきたいと思います。
コンピュータは原則として数値しか扱うことができません。
漢字やひらがな、さらにはアルファベットを文字を処理する場合には
一般的にUnicodeなどの数字のセットを一文字単位で割り当てています。
しかし、文章を構成する「単語」にその数字のセットを割り当ててしまうと・・
データの量が膨大に膨れ上がり処理しきれなくなってしまいます。
そこで・・・
文章の特徴量を数値として算出
することで文章同士の比較もできるし、データー量もかなり圧縮することが可能
になるというわけです。
考えた人マジですごいなと思いません?笑
では具体的に特徴量を算出する方法には大きく二種類あります。
基本的にはどちらの処理も「高頻度の単語が特徴量を計算する上で重要」
となってきます
[隣り合って出現した単語の出現頻度から・・N-gram処理]
N-gram処理は主に英語の処理などに一般的に使われる方法です。
こんな英文があるとしましょう。
there is a cat.
N-gram処理では文章の意味を無視してN単語で文章を分割してそこから統計処理を行い
特徴量を算出するのです。
上の英文を2-gramで処理する時、
There-is is-a a-cat となり、
(1,1,1)というように処理されるのです。
[文章中の単語の出現頻度から・・TF-IDF処理]
TF-IDF処理はTF・IDFの二つの値を算出してそのセットが文章の特徴となります。
〜TF処理〜
TF(Term-Frequency)処理は「文章中で多く出現する単語はより重要」という考えを元にしており文章の中でN回出現した単語は一回しか出現していない単語に比べ
log(N)+1 倍重要になります。
つまりある単語が二回出現した場合
重要度はlog2+1=log2+1=1.3
となり、より特徴的な文章となります。
〜IDF処理〜
IDF(Inverse Document Frequency)処理は「より出現回数が少ない単語に大きな重みを与える」というものです。
IDFの値は logN/df で求めることが可能になります
Nは文章の全体の数。dfは特定の単語が含まれる文章の数です。
このようにしてそれぞれの値を算出して特徴量を算出するのです!!!
今日も見ていただきありがとうございます!
次回は我々の母国語・・・日本語の自然言語処理
についてOutPutしていきます。
参考文献