Translate

ラベル .TTM の投稿を表示しています。 すべての投稿を表示
ラベル .TTM の投稿を表示しています。 すべての投稿を表示
Post Date:2011年11月18日 

Tiny TextMinerでテキストマイニング(その2)

随分と前にTTM: TinyTextMiner でテキストマイニングで、無料のテキストマイニングツールについて紹介をしましたが、最近になってまた使ってみています。TTMは、辞書機能を備えているので、形態素解析器の辞書にない語彙をキーワードとして登録したり、同義語の定義をしたり、不要な語を削除することが容易にできます。テキストマイニングで一番大切な作業はこの辞書の整備だったりもします。

Tiny Text Miner については、以前下記のように紹介しています。
Tiny TextMinerとは、大阪大学大学院経済学研究科 松村研究所の松村真宏氏が公開しているフリーのテキストマイニングツールです。形態素解析にMeCabを利用して、単語の出現頻度と出現件数(単語を含むサンプル件数)を出力します。また係り受け解析のCaboChaと連携して係り受けによる、出現頻度と出現件数を出力することもできます。
現時点での最新版は、バージョン 0.75 (for Win)です。

Tiny Text Minerのインストール

TTMのインストール先は任意です。TTMは、形態素解析器としてMeCabを利用していますので、日本語のテキストマイニングをするのであればMeCabのインストールは必須です。また係受け分析も行うのであれば、CaboChaのインストールが必要になります。

ソフト名ダウンロード先補足
Tiny TextMinerttm.exeTiny TextMiner本体
MeCabmecab-0.98形態素解析器
文字コードは「Shift-JIS」を選択
CaboChacabocha-0.53.exe係り受け解析器

データクレンジング

本家のサイトでもFAQとして記載されているものもありますが、Tiny Text Minerを使う上で、事前にテキストマイニング対象のテキストをクレンジングする必要があります。
  1. 空白行の削除
  2. Excelセル内の改行の削除
  3. 半角文字を全角に小文字を大文字に変換
  4. 機種依存文字の削除
a. 空白行の削除

TTMでは空白行があると処理できませんので、対象テキストで空白のものがあれば削除します。

b. Excelセル内の改行の削除

Excelセル内で改行されている(Alt+Enterでセル内で改行)場合も正しく処理できません。TTMのFAQでは、Excelの=CLEAN()関数を利用して改行を削除とありますが、多くの場合、改行の位置は文字区切りの位置でもあります。置換で改行をスペースに変換した方が、語の区切り目を正しく認識してくれます。またスペースは全角でなければ語の区切り文字として認識してくれません。Windowsでは改行がCTL+Jで入力できるので置換と検索で改行を全角文字に置換します。


改行の入力
検索する文字列(N)のリストボックスにカーソルがある状態でCtrlキーとJを同時に押します。見た目上は何も変わらないので複数回入力してしまうと変換できなくなってしまうので、正しく変換されないと思ったら検索する文字列で違う文字を入力するか、Excelを再起動してやり直してください。

全角スペースの入力
置換語の文字列(E)のリストボックスにカーソルがある状態で、全角スペースを入力します。

テキストが入力されている列を選択して検索と置換で「すべて置換」とすると改行が全角スペースに変換されます。


半角と全角スペースで置換した場合と、=CLEAN()関数でスペースがなしと場合で、Tiny TextMinerでどのように形態素解析されるかを試してみます。

zou.csv(入力データ)
1アフリカゾウ インドゾウ← アフリカゾウとインドゾウの間は半角スペース
1アフリカゾウ インドゾウ← アフリカゾウとインドゾウの間は全角スペース
1アフリカゾウインドゾウ← アフリカゾウとインドゾウの間にスペースなし

zou_ttm1.csv(出現頻度)
タグ品詞品詞細分類出現頻度
1インド|ゾウ複合名詞複合名詞1
1アフリカ|ゾウ|インド|ゾウ複合名詞複合名詞1
1アフリカ|ゾウ複合名詞複合名詞1

半角スペースの行が正しく処理されなかったため、インド|ゾウ、アフリカ|ゾウの出現頻度は1となっています。また入力3行目がアフリカゾウとインドゾウの間の改行を=CLEAN()関数でスペースを削除した結果だとすると、アフリカ|ゾウ|インド|ゾウという1語になってしまっていることがわかります。

c. 半角文字を全角に小文字を大文字に変換

英数数字、記号を日本語として扱うために全角変換をします。勿論、上記の半角スペースも全角スペースに変換されます。変換は、Excelの関数で簡単にできます。

=JIS()  半角文字を全角に変換する
=UPPER()  大文字に変換する

上記を組み合わせて=UPEER(JIS(A2))のようにすれば全角大文字変換ができます。


c. 機種依存文字を削除する

Tiny Text Minerでは、機種依存文字があると正しく処理されないために機種依存文字を除く必要があります。代表的な機種依存文字は下記に示しますが、丸数字やローマ数字は、一般的によく利用されているので気を付ける必要があります。

代表的な機種依存文字
機種依存文字を削除するにはExcelの=SUBSTITUTE()を使って削除することもできますが、かなりネストが深い構造になります。

①~⑳までを削除する
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B2,"①",""),"②",""),"③",""),"④",""),"⑤",""),"⑥",""),"⑦",""),"⑧",""),"⑨",""),"⑩",""),"⑪",""),"⑫",""),"⑬",""),"⑭",""),"⑮",""),"⑯",""),"⑰",""),"⑱",""),"⑲",""),"⑳","")

Ⅰ~Ⅹまでを削除する
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3,"Ⅰ",""),"Ⅱ",""),"Ⅲ",""),"Ⅳ",""),"Ⅴ",""),"Ⅵ",""),"Ⅶ",""),"Ⅷ",""),"Ⅸ",""),"Ⅹ","")


※簡単にできる方法があれば教えてください。

実行上の注意点

入力データのクレンジングが終わり、これでやっとTiny Text Minerを実行できるようになりますが、使用上の注意事項が幾つかあります。

出力フォルダ
Windows7環境だと出力フォルダに指定するフォルダ名が日本語パスがあると指定できません。入力ファイルや辞書ファイルのパスでは問題ありません。


抽出される語は1,000件まで
TTMのクロス集計表(ttm3~ttm6)で抽出される語は1,000語までです。出力結果が1,000語を超える場合には、語の出現頻度/出現件数の最小値を2件以上にして調整しなければ解析対象に全語が含まれなくなります。

不要語に指定するのは原型
不要語を削除する場合には、TTMで形態素解析された結果の語(原型)を指定しなければなりません。下記の場合、「行った」を不要語とした場合は、原型の「行く」を指定しないと削除できません。

zou.csv(入力データ)
1象を見に動物園に行った
1動物園にキリンを見に行った

zou_ttm1.csv(出現頻度)
タグ品詞品詞細分類出現頻度
1動物|園複合名詞複合名詞2
1見る動詞自立1
1行く動詞自立2
1キリン名詞一般1
1名詞一般1

Let's Try Tiny TextMiner

Post Date:2009年4月19日 

TTM: TinyTextMiner でテキストマイニング

Tiny TextMinerとは、大阪大学大学院経済学研究科 松村研究所の松村真宏氏が公開しているフリーのテキストマイニングツールです。形態素解析にMeCabを利用して、単語の出現頻度と出現件数(単語を含むサンプル件数)を出力します。また係り受け解析のCaboChaと連携して係り受けによる、出現頻度と出現件数を出力することもできます。

Tiny TextMinerでテキストマイニング(その2)もご覧ください

csv形式のタグ付きテキストデータを読み込んで下記の6種類の出力結果が得られます。

  1. 語のタグ別出現度数(出現頻度)
  2. 語のタグ別出現度数(出現件数)
  3. 語×タグのクロス集計(出現頻度)
  4. 語×タグのクロス集計(出現件数)
  5. 語×語のクロス集計(出現件数)
  6. テキスト×語のクロス集計(出現頻度)

Tiny TextMinerのインストール

Tiny TextMinerのインストールを参照して下さい。ttm.exe(Tiny TextMiner本体)以外にMeCabとCaboChaをインストールします。CaboChaを利用するためには、Chasen(茶筌)のインストールも必要です。

*ダウンロード先のURL(バージョン)を更新(2020.5.25)

ソフト ダウンロード先 補足
 Tiny TextMiner   https://mtmr.jp/ttm/  Tiny TextMiner本体
 Mecab  https://taku910.github.io/mecab/  形態素解析
 文字コードは「Shift-JIS」を選択 
 CaboCha  https://taku910.github.io/cabocha/  係り受け解析
 Chasen  https://chasen-legacy.osdn.jp/  CaboChaで利用

Tiny TextMinerを使ってみよう

解析をする入力ファイルファイルは、下記の項目をCSV形式(カンマ区切り)で作成します。

1列目 タグ, 2列目 本文

1行目は、指定した項目毎にカウントするために必要な項目ですが、必須項目です。「茶筌でテキストマイニング(実践編) 」の例としてあげたメルマガ単位の集計をするような場合であれば、タグに曜日や月などを指定すると曜日毎の出現頻度などを計測することができます。

利用するサンプルは、上記の「茶筌でテキストマイニング(実践編) 」で利用した日経ビジネスオンラインのメルマガタイトルを利用します。(今回は件数が少ないのでタグは必要ありませんが、必須項目なので"1"を指定します。)

入力ファイルの例; 日経ビジネスオンライン.csv

1,米国で成功しなかったビジネスモデルに挑戦
1,企業トップの読者が選んだ、リーマンショック後の10大ニュース
1,やっぱりおかしいビッグスリー救済
1,新コラム、衆院選「候補者A」かく闘わんとす
1,カルロス・ゴーンがGMを救う

キーワードファイル、同義語ファイル、不要語ファイルは、指定しない。


Tiny TextMinerの実行画面

入力ファイルに「日経ビジネスオンライン.csv」を指定

キーワードファイル、同義語ファイル、不要語ファイルは、指定しない。


Tiny TextMinerの実行結果

下図は、出現頻度の集計結果(日経ビジネスオンライン_ttm1.csv)を加工したものです。辞書ファイルを何も適用していないのでので、「茶筌でテキストマイニング(実践編) 」の結果と異なっています。

大きな違いは、未知語が集計されていないので、「オバマ」という単語が欠落しているのと、米国の記載方法が、アメリカ、米、米国に分散されていることです。

未知語については、集計結果からは、探しだすことはできませんので、入力ファイルをみて辞書登録をする必要があります。


Tiny TextMinerで辞書の設定

MeCabに辞書登録をしても構いませんが、chasen(茶筌)と同様に毎回コンパイルが必要となります。Tiny TextMinerでは、キーワードの登録、同義語の登録、不要語の登録ができますので、こちらを活用します。


キーワードの登録

人名をキーワードファイルに登録します。1行毎に記載するだけです。

キーワード.txt

オバマ
ゴーン
三木谷
楽天

同義語の登録

米国、米、アメリカをすべて米国とします。先頭に集約する単語、半角スペースで区切って集約される単語を記載します。

同義語.txt

米国 アメリカ 米

不要語の登録

解析に不要な単語を1行に1単語指定します。

不要語.txt

人
何
力
場
ない

以上で、辞書ファイルの設定は終了です。Tiny TextMinerの実行画面で上記で作成したファイルを指定します。

実行結果(日経ビジネスオンライン_ttm1.csvを加工)

同義語で指定した「米国」が9回でトップ、キーワードで指定した「オバマ」が7回で次点にあがってきます。


Tiny TextMinerで係り受け分析

日本語における係り受け分析の難しさを理解した上で、係り受け分析を利用する必要があると思います。またTiny TextMinerでは、キーワードファイルに指定した単語は係り受け分析の対象にはなりません。

係り受け解析の実行は、「詳細設定」「その他」にある「係り受け解析を行う」をチェックするだけです。

下記は、係り受け解析の結果から「米国」を含むものだけを抽出した結果になります。

タグ 係り受け 品詞 品詞細分類 出現頻度
 1  大統領+米国  名刺+同義語   一般+同義語  1
 1  米国+成功  同義語+名詞  同義語+サ変接続  1
 1  緊急特集+米国自動車発経済危機章   名詞+同義語  形容動詞語幹+同義語   1
 1  米国主導時代+幕開け  同義語+名詞  同義語+一般  1
 1  米国+利下げ  同義語+名詞  同義語+サ変接続  1
 1  更新+米国自動車発経済危機章  名詞+同義語  サ変接続+同義語  1

「オバマ」については、キーワードに指定しているため係り受け分析ができないので、語×語のクロス集計(出現件数)から下記を作成しました。

同時出現単語 出現件数
 オバマ 7
 米国 2 
 記事 1
 サブ|プライム 1
 コラム 1
 特集 1
 ネット|市民 1
 中国|網|民 1
 ハト|派 1
 スタント|先生|直伝  1
 国民 1
 貧民|街 1
 大統領 1
 現象 1
 シカゴ 1

語×語のクロス表が作成できるので、統計解析ツールなどで深掘りすることも可能ですね。

Tiny TextMinerについては、4月24日に誠信書房から発売される「人文・社会科学のためのテキストマイニング」に使い方の詳細が掲載されるようです。

第1章 序
1.1 テキストマイニングがもたらすブレイクスルー
1.2 タダで本格的なテキストマイニング
1.3 本書の構成

第2章 TTMと関連ソフトウェアのインストール
2.1 テキストマイニングの準備
2.2 TTMのダウンロードとインストール
2.3 TTM関連のツールの準備
2.4 分析用各種ソフトウェアのインストール

第3章 TTMによるテキストデータの分析
3.1 TTMの基本的な使い方
3.2 テキストマイニングで知る経済情勢の時系列変化
3.3 質問紙調査の自由記述回答文の分析

第4章 Rを併用したテキストデータの統計解析
4.1 Rの使い方
4.2 Rによるテキストデータの解析
4.3 補遺・Rに関する参考書

第5章 Wekaを併用したテキストデータのデータマイニング
5.1 属性と事例
5.2 データマイニングのプロセス
5.3 入力ファイルの作成
5.4 入力ファイルの読み込み
5.5 決定木
5.6 ナイーブベイズ分類器
5.7 クラスタリング
5.8 まとめ

第6章 テキストマイニングの応用事例
6.1 質問紙調査の自由記述回答文
6.2 電子掲示板
6.3 ブログ
6.4 メーリングリストと議事録

第7章 テキストマイニングの基盤技術
7.1 自然言語処理
7.2 統計解析
7.3 データマイニング

関連するブログ(茶筌でテキストマイニング);

象と散歩:人気の投稿(過去7日間)