ノート/マイニング
訪問者数 10892 最終更新 2010-05-28 (金) 12:13:24
まとめページ
ノート/テキストマイニング/英文の文法によるテキストマイニングの精度向上
ノート/テキストマイニング/和文のテキストマイニングの応用
> ノート/テキストマイニング/テキストマイニングとシソーラス
> ノート/テキストマイニング/PubMed解析
> ノート/テキストマイニング/MeSH
> ノート/テキストマイニング/NLTK
> ノート/テキストマイニング/tagger
> ノート/テキストマイニング/論文の処理1
> ノート/テキストマイニング/Stanfordパーザー
> ノート/テキストマイニング/Stanfordパーザーを使ってみる1
> ノート/テキストマイニング/Stanfordパーザーを使ってみる2
> ノート/テキストマイニング/Stanfordパーザーの細かい点
> ノート/テキストマイニング/剽窃1 (2010/02/04)
> ノート/テキストマイニング/剽窃2 (2010/05/28)
> ノート/テキストマイニング/Bing検索 (2010/05/09)
テキストマイニング(TM)とは †
参考資料
- 「茶筌とMUSASHIで純和風テキストマイニング」
例題は、「テキストの中に表れる名詞だけを抽出してその出現回数を数える」
KH Coderとコーディング・ルール」
KH Coderは茶筌を使って文を形態素解析しMySQLに格納すると同時に統計が取れるらしい。
ここでやろうとしているのは、(以下引用)
しかし、これだけの材料でそう決めつけるのはちょっと早計すぎる気もする。なぜなら、実際の「言葉」では、ホテルに関する問い合わせだからといって、ホテルという単語を使用するとは限らないからだ。問い合わせの文章が自由形式である以上、ホテルを「宿」と書く人もいるだろうし、「部屋」「ルーム」といった言葉も使われるだろう。一方で「航空券」の予約に関する問い合わせには「チケット」や「空港」「フライト」などの言葉が使われるはずだ。顧客のニーズが「ホテル」にあるのか、「航空券」にあるのかを知りたければ、単語そのものの出現頻度を数えるだけでは不十分で、それぞれの「概念」的な集合を考慮して集計を行う必要がある。
KH Coderには、こういった概念的、カテゴリ的な集計を行うための「コーディング・ルール」と呼ばれるルールを作成する機能が用意されている。コーディング・ルールは、テキストファイルに以下のような簡単な形式で記述するだけで作成できる。(引用終り)
- (フリーソフト)TTM: TinyTextMining
TTMはテキストマイニングの前処理のためのソフトウェアです.TTMの出力ファイルを加工して,自分独自の分析に役立ててください.「タグ付きテキスト」は様々な角度からの分析を可能にします.表計算ソフトの置換,削除,集計,グラフなどの機能を使うだけでもいろんなことができますし,多変量解析や機械学習への応用も難しくありません.
形態素解析にMeCabを使っている。
- 技術資料 単語意味属性を使用したベクトル空間法
http://unicorn.ike.tottori-u.ac.jp/murakami/paper/JOURNAL/NLP_2003_04/main/
従来,ベクトル空間法において,ベクトルの基底数を削減するため,ベクトルの基軸を変換する方法が提案されている.この方法の問題点として,計算量が多く,大規模なデータベースへの適用が困難であることが挙げられる.
これに対して,本論文では,特性ベクトルの基底として,単語の代わりに単語の意味属性(「日本語語彙大系」で規定された約2,710種類)を使用する方法を提案する.この方法は,意味属性間の包含関係に基づいた汎化が可能で計算コストもきわめて少なく,容易にベクトルの次元数を圧縮できることが期待される.また,単語の表記上の揺らぎに影響されず,同義語,類義語も考慮されるため,従来の単語を基底とする文書ベクトル空間法に比べて,検索漏れを減少させることが期待される.
BMIR-J2の新聞記事検索(文書数約5,000件)に適用した実験結果によれば,提案した方法は,次元数の削減に強い方法であり,検索精度をあまり落とすことなく,文書ベクトルの基底数を300〜600程度まで削減できることが分かった.また,単語を基底とした文書ベクトルの方法と比べて高い再現率が得られることから,キーワード検索におけるKW拡張と同等の効果のあることが分かった.
目的
具体的な応用
技術
言選Webの技術 †
http://gensen.dl.itc.u-tokyo.ac.jp/paper/kanjibunken-gensen.pdfより
- 形態素解析は名詞句をキーワードより細かく分割しすぎる。たとえば
漢字文献情報処理研究 ⇒
漢字(名詞,一般)、文献(名詞,一般)、情報処理(名詞,一般)、研究(名詞,サ変接続)
これは困るので、まとめる必要がある。
その基本ルールは、名詞の形態素(単名詞)が連続した場合に、それをまとめて
複合名詞とみなすこと
- 英文の場合は、
単語が区切られているので、品詞のタグ付けのみ必要(Brill's Tagger
というPOS Tagger をフリーで入手できる。)
「まとめるルールは日本語と比べて複雑になるが、基本的な考えは同じである。」
- キーワード以外の語の除去
一般語をストップワードとして登録しておき、除去する。登録は人手?
- 重要度のランク付け 〜 よく使われるのはTF-IDF法
TF = Term Frequency, IDF = Inverted Document Frequency。
多く出てくる語は重要だが、一般的な語は除外する、という考え方。
多く出てくる語 ⇒ 文献中での出現回数をカウント
一般的な語 ⇒ 複数の文献を対象にし、その語が出てくる文献数が多いと「一般的」
具体的には、(その語を含む文献数)/(総文献数)が大きいほど一般的
重要度としては、その逆数を取る。逆数が大きいほど特殊つまり重要度が高い。
但し扱いが悪いので、対数を取る(10000/1と10000/2のどちらも特殊だが値が2倍も違う)
更に対数だと、全ての文献に含まれるときlog(1/1)=0で具合が悪いので、1を加える。
つまり、TF-IDF = (出現頻度) * ( log( (総文献数)/(その語を含む文献数) ) + 1 )
- 重要度のランク付け・言選Web 〜 FLR法
Frequency-Left-Right法。出現頻度に左と右の語の連接情報を組み合わせる。
基本的に、重要語(用語)は単名詞そのものか複数の単名詞を組み合わせた複合語である。
他の単名詞と連結して複合語をなすことが多い単名詞ほど、文書中で重要な概念を示すと考える。(これがこの方法の前提の仮説)
具体的な数値としては、たとえば漢字・文献・情報・処理・研究という複合語に対して、
それぞれの単名詞が前の語に連接する頻度回数スコア、後の語に連接する頻度回数スコア(計10個の数字)
の(相乗)平均を用いている。相乗平均がよいらしい。
- 名詞間の連接の回数のスコア 〜 パープレキシティ(=中川先生オリジナル)
直感的な方法としては、連接の出現回数、連接の種類数(異なり語数)だが...
パープレキシティは、エントロピーを2のべき乗した数値。多様性を表す。
例A 漢字・文献(1/2)、漢字・情報(1/4)、漢字・研究(1/4)の出現頻度
例B 漢字・文献(1/3)、漢字・情報(1/3)、漢字・研究(1/3)の出現頻度
とすると、Bの方が多様性が大きい。
Perplexity = 2^(H(p)) = 2^(-Σp(x)logp(x)) 但しΣはxについての総和
http://en.wikipedia.org/wiki/Perplexity
- 重要度の学習について
単名詞の連接関係の情報を学習することが出来る。TermExtractでは学習機能をOnできる。
但し、分野混在の文集を学習させると、一般的な用語の重要度が高くなる。特定分野での学習に限るべきである。