多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR...

21
1 多言語テキスト統計分析ツール MTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文 章・書)である。たとえば、図書館の膨大な書物、新聞、IT の普及に伴い日常生活で頻繁に使えることになった インターネット、電子メールなどなど。 コンピュータは、主に数値計算のため発明されたが、自然言語を理解するコンピュータを目指し、言語の計算 に関する研究が始まった。十分とは言えないが、条件付きの自然言語を理解するロボットや翻訳機が多く開発さ れている。このような、自然言語処理やその理論を研究する分野を計算言語学(ComputationalLinguistics)とよぶ。 20 世紀 70 年代から計算言語学の専門学会が設立され、論文誌が発行されている。 しかし、言語を計算する研究はコンピュータが発明される以前から始まっている。1987 年、アメリカの物理学 者メンデンホール(ThomasCorwinMendenhall , 1841–1924)は、アウグス・ト・モルガンのアイディアに促され、単語 のスペクトル(単語の長さの分布)が書き手によって異なるという論文を『サイエンス』誌に発表した。このよう にテキストを計量的に研究するアイディアは、すでに 150 年以上の歴史を持っている。 近年、テキストを計量的に分析する分野をテキストマイニング(textmining)やコーパスマイニング(corpusmining) とよんでいる。テキストマイニングの用語は 20 世紀 90 年代半ばから使用するようになっている。 2.MTMineR について 2.1 作成の経緯 テキストを計量的に分析するためには、まずテキストを構成する要素について何らかの方法で数えることが必 要である。少量のテキストであれば、目視により数えることも可能であるが、大量になるとその労力の膨大さで 実現するのが困難である。カウントのような単純作業はコンピュータに向いている。コンピュータでテキストを 構成する要素を数えるためには、何らかのプログラミング言語でプログラムを作ることが必要である。しかし、 テキストを構成するさまざまの要素の特徴や現れる頻度を数えるプログラムを作成することは、だれでも簡単に できるものではない。プログラミングに熟練している方にとっては簡単なことであるが、一般の人文社会系の学 生や研究者にとってはハードルが高い。テキストマイニングに関する市販ソフトはあるが高価であり、ボーケッ トマネで購入しがたい。また、市販されているソフトの多くは企業を対象としているため教育や研究には使いや すいとは言いがたい。そこで、今までの個人研究のために作成したプログラムを整理し、コーパスやテキストマ イニングの教育を視野に入れ、汎用ツールとして拡張した MTMineR(MultilingualTextMiner)を公開する。 2.2 テキストの計量モデル テキストを計量的に扱う際に、もっとも基本的な方法はテキストを構成する要素の頻度を集計する。テキスト の計量分析は大きく分けて表記文字を対象にするアプローチと音声学のアプローチに分けることができる。本稿 では特別な説明がない限り、表記文字列を対象とする。テキストの計量は文字、単語、単語の品詞、複数単語の 組、文節、文節の組み合わせ、文のような単位で行うことが考えられる。 単語、文、段落に関してはその長さを計量する方法が古くから用いられている。単語の長さは、文字あるいは 音素を単位とし、文に関しては文字、単語、文節などを単位とし、段落に関しては文字、単語、文節、文を単位 として長さを計量することができる。 出現頻度の計量法としては、大きく n-gram と共起に分けられる。n-gram は、隣接する n 個を文頭から文末 まで 1 単位シフトしながらパターンを集計する。共起は、一定区間に n 個の単位が共に出現する頻度を集計する。 特に 2 つの単語が同時に用いられているケースを対象にする場合が多い。

Transcript of 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR...

Page 1: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

1

多言語テキスト統計分析ツール MTMineR 金明哲

1.はじめに

時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

章・書)である。たとえば、図書館の膨大な書物、新聞、IT の普及に伴い日常生活で頻繁に使えることになった

インターネット、電子メールなどなど。

コンピュータは、主に数値計算のため発明されたが、自然言語を理解するコンピュータを目指し、言語の計算

に関する研究が始まった。十分とは言えないが、条件付きの自然言語を理解するロボットや翻訳機が多く開発さ

れている。このような、自然言語処理やその理論を研究する分野を計算言語学(ComputationalLinguistics)とよぶ。

20世紀 70年代から計算言語学の専門学会が設立され、論文誌が発行されている。

しかし、言語を計算する研究はコンピュータが発明される以前から始まっている。1987年、アメリカの物理学

者メンデンホール(ThomasCorwinMendenhall , 1841–1924)は、アウグス・ト・モルガンのアイディアに促され、単語

のスペクトル(単語の長さの分布)が書き手によって異なるという論文を『サイエンス』誌に発表した。このよう

にテキストを計量的に研究するアイディアは、すでに150年以上の歴史を持っている。

近年、テキストを計量的に分析する分野をテキストマイニング(textmining)やコーパスマイニング(corpusmining)とよんでいる。テキストマイニングの用語は20世紀 90年代半ばから使用するようになっている。

2.MTMineR について

2.1 作成の経緯

テキストを計量的に分析するためには、まずテキストを構成する要素について何らかの方法で数えることが必

要である。少量のテキストであれば、目視により数えることも可能であるが、大量になるとその労力の膨大さで

実現するのが困難である。カウントのような単純作業はコンピュータに向いている。コンピュータでテキストを

構成する要素を数えるためには、何らかのプログラミング言語でプログラムを作ることが必要である。しかし、

テキストを構成するさまざまの要素の特徴や現れる頻度を数えるプログラムを作成することは、だれでも簡単に

できるものではない。プログラミングに熟練している方にとっては簡単なことであるが、一般の人文社会系の学

生や研究者にとってはハードルが高い。テキストマイニングに関する市販ソフトはあるが高価であり、ボーケッ

トマネで購入しがたい。また、市販されているソフトの多くは企業を対象としているため教育や研究には使いや

すいとは言いがたい。そこで、今までの個人研究のために作成したプログラムを整理し、コーパスやテキストマ

イニングの教育を視野に入れ、汎用ツールとして拡張した MTMineR(MultilingualTextMiner)を公開する。 2.2 テキストの計量モデル

テキストを計量的に扱う際に、もっとも基本的な方法はテキストを構成する要素の頻度を集計する。テキスト

の計量分析は大きく分けて表記文字を対象にするアプローチと音声学のアプローチに分けることができる。本稿

では特別な説明がない限り、表記文字列を対象とする。テキストの計量は文字、単語、単語の品詞、複数単語の

組、文節、文節の組み合わせ、文のような単位で行うことが考えられる。 単語、文、段落に関してはその長さを計量する方法が古くから用いられている。単語の長さは、文字あるいは

音素を単位とし、文に関しては文字、単語、文節などを単位とし、段落に関しては文字、単語、文節、文を単位

として長さを計量することができる。 出現頻度の計量法としては、大きく n-gram と共起に分けられる。n-gram は、隣接する n 個を文頭から文末

まで 1単位シフトしながらパターンを集計する。共起は、一定区間にn個の単位が共に出現する頻度を集計する。

特に 2 つの単語が同時に用いられているケースを対象にする場合が多い。

Page 2: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

2

2.3 ツールの構成

MTMineR は主に日本語、中国語、韓国語、英語のテキスト解析のために作成した。テキストやコーパスを処

理するイメージを図 1 に示す。本システムでは、日本語の形態素解析は JUMAN, ChaSen, MeCab、構文解析は

CaboCha を借用する。データの構造化では平テキストやタグ付きのテキストから頻度を集計し表形式(行列形式)のデータを出力する。データ統計分析は、集計結果を一旦保存し、各自が使い慣れている統計ツールを用いて分

析することもできる。また、データ解析のフリーソフトRをインストールし、若干の設定を行うと直接 MTMineRからメニュー操作で用意されているデータ解析の方法を用いることができる。

図 1 MTMineR の構成イメージ

テキストを構成する要素の特徴と頻度を数えるときにはタグを付けていない平テキスト(PlainText)とタグ付

きのテキスト(TaggedText)に分けられる。 平テキストは、我々が書いた一般の文章形式を指す。この場合、日本語における計量単位は文字である。もし、

文字を音声表記に置き換えることができれば、音声学に基づいた単位で計量することも可能である。 タグ付きは、平テキストを自由に切り分け、その部分の性質について自由にラベルを付けたテキストを指す。

日本語については、次のように全角のカギ括弧中にラベルを記述する。 吾輩<名詞>は<係助詞>猫<名詞>で<助動詞>ある<助動詞>。<句点>名前<名詞>は<係助詞>まだ<

副詞>無い<形容詞>。<句点>どこ<名詞>で<格助詞>生れ<動詞>た<助動詞>か<副/並/終助詞>頓

<名詞>と<格助詞>見当<名詞>が<格助詞>つか<動詞>ぬ<助動詞>。<句点> 形態素解析ソフト JUMAN、ChaSen、Mecab をインストールし、パスを通しておけば、読み込んだ平テキス

トについて形態素解析を行い、上記のデータに変換し、データを集計することができる。

3.データの検索と構造化データの作成

テキストデータは構造化されていない。ここでいう構造化とは、Excel のセルごとにデータを入力した表形式

のデータ構造を指す。テキストを計量的に分析するためには、構造化されていないテキストデータを目的に応じ

て構造化することが必要である。MTMineR の主な機能はテキストデータを読み込み構造化する。 MTMineR は Java 言語で開発し、jar 形式で公開している。したがって、各自のマシンには Java 言語の実行

環境が必要である。Java 言語はネット経由で自由にダウンロードして用いることができる。本章では Windows環境を前提として説明する。

MTMineR をダウンロードし、圧縮を解凍したフォルダを開いた画面コピーを図 2 に示す。フォルダの中の

MTMineR.jar をクリックすると MTMineR が起動される。その画面コピーを図 3 に示す。テキスト数が若干多

く、256 メガバイト以上のメモリを使用する際には、各自のマシンに適した MTMineR_**bit.bat ファイルをク

リックし、起動した方がよい。

Page 3: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

3

図 2 MTMineR のフォルダの画面 図 3MTMineR の起動画面

MTMineR のメニューは英語で記述されている。これは、中国語や韓国語の OS で起動しても文字化けの現象

を防ぐためである。デフォルトは、日本語(Japanese)の平テキスト(PlainText)になっている。 言語の種類の変更はメニューの[Language]で指定する。テキストの種類は、メニューの[DataFormat]から指

定する。DataFormat には平テキスト(PlainText)、タグ付きテキスト(TaggedText)、構文解析(Paser)三種類が

リストアップされている。 メニュー[Setting]の中の CharsetofDictionary では、形態素解析や構文解析のツールに用いる辞書の文字コー

ドの指定である。文字コードは各自が用いるテキストの文字コードに一致させればよい。デフォルトでは、シフ

トジス(ShiftJIS)コードになっている。また、データを集計する際、取り除きたい項目があれば、メニュー

[Setting]の中の StopWords を起動し、その項目を行単位で登録する。 メニュー[R]は、メニュー操作でデータ解析を行うために用意している。MTMineR で集計したものをメニュ

ー操作でデータ解析行うためには、メニュー[R]の中の[ProcessOutputsInThisTab]を選択する。保存しておい

たデータファイルを読み込み、データ解析を行いたいときには[ProcessExternalFile]を選択する。 ツールの終了はメニューの[File]の[Exit]をクリックするか、右上の×印をクリックする。

3.1 平テキスト

平テキストの画面には、メニューの下に 8 つのタブが用意されている(Filelist, Summary, n-gram, Length, Mark, KWIC, WordList, Tools)。タブを押すとそのタブがアクティブされる。本節では、左のタブから順を追っ

て簡潔に説明する。 3.1.1 データの読み込み

タブ Filelist は、テキストデータを読み取る環境である。図 3 に示す通りタブ Filelist の右側にボタン

[OpenThisFileList], [AddNewFiles], [Conform], [ClearAll], [Save], [NormalizeFileList]を設けている。 一般的には、ボタン[AddNewFiles]を用いてファイルの読み込みを行う。ボタン[AddNewFiles]を押すとファ

イルが置かれている場所を指定する画面が開かれる。図 4 のようにドライブ、フォルダ、サブフォルダ順に選択

し続け、読み取りたいテキストを選択し、画面上の[開く]ボタンを押すと選択されたテキストが MTMineR のタ

ブ FileList の左の窓にリストアップされる(図 5)。

Page 4: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

4

図 4 ファイルの読み込みを指定する画面

図 5 ファイルがリストアップされている画面

他のフォルダの中のファイルを追加したいときには、上記の操作を繰り返す。リストアップしたファイルを後

日にも用いたいときには、リストアップしたリストを保存しておくと再びリストアップする時間を節約する。リ

ストアップしたファイルの保存は[Save]ボタンを用いるが、保存する前にまず保存場所を[Save]ボタン上の窓に

指定する。デフォルトは C:¥temp になっている。ボタン操作で指定することもできる。保存したファイルリスト

を読み込んで用いる際には、ボタン[OpenThisFileList]を用いて保存しておいたファイルリストを指定する。 リストアップしたファイルについて処理を行う前に必ず確認ボタン[Conform]を押してください。確認ボタン

を押さないとリストアップされても処理されない。ファイルリスト画面のクリアはボタン[ClearAll]を用いる。 ボタン[NormalizeFileList]は、ファイルを同じの長さに前から切り取るためのボタンである。このボタンで処

理するためには、リストアップしたファイルをファイルとして保存したファイルリストを読み込み処理する。た

とえば、図 5 の画面上で保存[Save]ボタンを押すとファイルリストが C:¥temp¥filelist.txt に保存される。その

後、保存したファイル C:¥temp¥filelist.txt をボタン[OpenThisFileList]で読み込み、ボタン[NormalizeFileList]を押すとファイルの長さを指定する画面が開かれる。デフォルトではファイルの長さが 200(全角文字数)になっ

ている。出力場所とテキストの長さを指定し、画面上の[OK]ボタンを押すと同じ長さに切り取ったテキストが保

存され、当時にそのファイルが MTMineRR にリストアップされる。 3.1.2 データの要約

タブ Summary は、読み込んだテキストについてバイト数 (FileLengthByByte)、文字・記号数

(FileLengthByChar)、文の数(SentencesNum)、文字の数(CharNum)、漢字の数(KanjiNum)、平仮名の数

(HiraganaNum)、片仮名の数(KatakanaNum)、ローマ字の数(RomajiNum)、数字の数(NumberNum)、全角記

号の数(ZenkakuKigoNum)、半角記号の数(HankakuKigoNum)を集計する。 データ形式を指定し、ボタン[Summarizing]を押すと集計結果が左側の窓に返される。その画面コピーを図 6

Page 5: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

5

に示す。データの形式は画面の右側のラジオボタンで指定できる。その例を図 6 に示す。図 6(a)はデータをタブ

で区切り、行をテキストとしたデータであり、図 6(b)はデータをコンマで区切り、列をテキストとしたデータで

ある。集計したデータは保存することができる。保存の場所とファイル名前を指定し、ボタン[Save]を押すと保

存される。

(a) Tab&inrow 形式 (b)CSV&incolum 形式 図 6 データ形式の指定とデータの集計の画面

3.1.3 n-gram

タブ n-gram では、文字単位の n-gram のデータを集計する。n-gram の集計には、まず n を指定することが必

要である。n は画面の右側の NgramType 下の窓の右側の▼を押し、リスト Unibram(n=1), Bigram(n=2), Trigram(n=3), Fourgram(n=4), Fivegram(n=5), Sixgram(n=6)から選択する。 集計結果のデータサイズは Cutoff 値(閾値)を用いてコントロールできる。Cutoff 値は、すべてテキストの中で

ある項目の総頻度である。たとえば、図 7 のように Cutoff を 10 にすると 5 つのテキストの中で合計の頻度が 10未満の項目はすべて、1 つの項目”OTHERS”にまとめる。MTMineRR ではこのような方法で出力するデータサ

イズをコントロールする。値が小さいほどデータのサイズが大きくなる。データサイズは、データを返す窓の上

に赤字で示される。Cutoff 値をいくらにすればよいかに関しては、用いるテキストの数などに依存するので決め

られた方法がなく、経験に頼るしかない。集計したデータは総度数が大きいものから降順にソートされている。

図7 n-gram と Cutoff 値の指定の出力画面

Page 6: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

6

3.1.4 長さの分布

タブLengthでは、文の長さ(SentenceLength)と段落の長さ(PrahraphLength)、リズムの長さ(RhythmLength)を集計する。文については句点、感嘆符、疑問符を文の終わりと判断する。これらの記号を用いず、改行を文の

終わりとしている場合は画面上の[Uselinebreaktosplitsentens]にチックを入れればよい。リズムはコロン、セミ

コロン、読点、句点、感嘆符疑問符をリズムの区切りとする。 長さを数える際、一般的には文字による長さ(LengthinChaeracters)を数える。Mecab がインストールされて

いる環境では、漢字を読み方に置き換え、読み方による長さ(LengthinReadings)を集計することも可能である。

長さの分布のデータを集計する際、1 文字ごとに一つの変数(項目)にするとデータのサイズ大きくなるので、いく

つの文字を一つの項目にまとめて集計すると便利である。これらの操作は、画面上の[CategoryIndex]で自由に指

定する。デフォルトは 5 になっている。文字を単位とし、CategoryIndex が 5 であると 1 文字から 5 文字を 1 項

目、6 文字から 10 文字を 1 項目のように集計する。 また、まれに非常に長い文や段落ある。その場合には、上記のように集計するとゼロとなる項目が多くなる。

その際には、画面上の[Cutoff]を用いてコントロールすることができる。デフォルトは 100 になっている。Cutoff値が 100 の場合は、100 文字以上の文はすべて一つの項目にまとめて集計する。Cutoff 値は自由に指定できる。

3.1.5 指定文字・記号の前後

タブ Mark では、ある文字・記号の前後の文字を切り取ったデータを集計する。この機能は、読点をどの文字

の後(前)に付けているか、ある文字はどの文字の後(前)に使用されているかなどに関して分析をしたいときに用い

る。このタブで集計したデータは、文字単位の Bigram の一部分である。 3.1.6 クウィック検索

タブKWIC(クウィック、Keywordincontext)では、指定したキーワードについてすべてのテキストから、その前

後の文脈を一定の長さで切り取って返す。前後切り取る長さは自由に指定できる。デフォルトでは10文字に指定

されている。返された結果は自由にソートすることができる。切り取った部分の前後を基準としたソートは、画

面上の[Left]あるいは[Right]の部分をクリックすると降順、昇順に入れ替わる。

返された結果の一行をクリックするとそれが含まれているテキストが返される。また、キーワードは正規表現

(regularexpression)で指定することも可能である。MTMineR で考察が不便に感じる場合は、結果を保存し、Excel

などに読み込み考察することも可能である。

図8 KWICの画面

Page 7: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

7

3.1.7 ワードリストによる集計

タブ WordList では、各自が作成したワードリストに指定している語句をテキストごとに集計する。これは、

同じの意味を異なる表記で記録した語句などを集計するのが目的である。ワードリストは直接画面の左側の

[RuleList]の窓に直接記述してもよいし、文章エディターで作成したファイルを読み込み用いることもできる。 項目の記述は、1 行を一つの項目とする。また、記述には論理演算を用いることができる。かつ(and)演算は半

角の&、また(or)演算は半角の縦棒|を用いる。 3.1.8 テキストの整形のための小ツール

タブ Tools には、三つのサブタブがある。前の二つはテキストの整形や洗浄に必要な機能である。サブタブ

Replacement では、テキストの中の記号・文字列を置き換える。記述は 1 行を一項目にする。また、置き換え前

と置き換え後の文字列は半角の縦棒|で切り分ける。また、正規表現を用いて記述することもできる。 サブタブ ParenthesisNormalizer では、さまざまな括弧の中のものを削除する機能である。括弧「」の中の会

話文を削除したいときには、画面の左部分の「」をチェクし、その下の確認ボタン[Conform]押す。括弧「」の中

身だけ削除したいときには、出力場所を指定した上でボタン[Normalizing]を押す。括弧「」の記号も削除したい

ときには右側の「」の前にチェックを入れる。 サブタブ SentencesRandomizer ではテキストから、ランダムに文を取り出す。取り出す文の数は自由に指定

できる。 3.2 タグ付きテキスト

タグ付きのデータは大きく 3 種類:(1)自由に作成したタグ付きテキスト、(2)形態素解析器により形態素の属性

が付けられたテキスト、(3)CaboCha により文節に切り分けたテキストに分けられる。(1)(2)の処理は、メニュー

の[DataFormat]から TaggedText を選択する。その画面コピーを図 9 に示す。デフォルトには自由に作成したタ

グ付きテキストの処理環境である。すでに説明したとおり、自由にタグをつける際のタグは全角記号<>中に記

入する。 MeCab、ChaSen、JUMAN がインストールされ、パスが通されている環境では、平テキストを読み込み

MTMineR でメニュー操作により形態素解析を行い、タグを付け集計を行うことが可能である。 図 9 から分かるように、これらのタグ付きテキストについても 8 つのタブが用意されている。タブ FileList の

操作は平テキストの場合と同じである。

図 9 タグ付きテキスト

Page 8: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

8

3.2.1 形態素解析

MeCab、ChaSen、JUMAN によって形態素解析を行ったテキストを読み込み処理するときには、図 9 に示す

画面の上部の三種類の形態素解析器の名前にラジオボタンを押す。ただし、形態素解析結果のファイルを読み込

んで用いるときには、形態素解析結果の形式は表 1 に示す通りとする。表1から分かるように JUMAN の出力結

果の中の品詞は階層化されていないのでそのまま用いてもよいが、ChaSen と MeCab の品詞は階層化されてい

る。たとえば、助詞「の」の第 1 層は助詞で、第 2 層は連帯化助詞になっている。そのため、品詞タグをどのよ

うに付けて集計するかが一つの問題である。MTMineR では、各自が自由にタグを命名するステップを置いてい

る。 形態素解析済みのテキストを読み込み、形態素解析器の名前のラジオボタンを選択すると図 10 の(a)に示すメ

ッセージボックスが開かれる。これは処理したテキストを MTMineR の中の tmp というフォルダに保存するこ

とを知らす。保存場所は画面上の TaggedFilesOutputPath で自由に指定できる。 ChaSen と MeCab の結果の場合は、さらに[POSRenaming]ボタンを押し、品詞の命名を行う。ボタン

[POSRenaming]を押すと図 10(b)のような品詞を命名する窓が開かれる。黒字は形態素解析器の結果であり、

青色縦棒の右の赤文字は自由に書き換えられる形態素の属性である。属性の命名が終わったら確認ボタン

[Conform]を押す。 平テキストを読み込み、MTMineR 上で形態素解析処理を行うためには、画面右上の CallPOSTagger の前に

チッェクを入れることが必要である。その他の操作は上記の操作と同じである。かかる時間はテキストの量に依

存する。

表 1 MTMineR に用いる形態素解析結果のフォーマット JUMAN の出力形式 ああああああ ChaSen と MeCab の形式

形態素 読み 原型 形態素の属性 形態素 形態素の属性 鳥羽 (とば) 鳥羽 人名 鳥羽 名詞-固有名詞-地域-一般

伏見 (ふしみ) 伏見 地名 伏見 名詞-固有名詞-地域-一般

の (の) の 接続助詞 の 助詞-連体化 戦 (いくさ) 戦 普通名詞 戦 名詞-一般 で (で) で 格助詞 で 助動詞 、 (、) 、 読点 、 記号-読点

(a) (b)

図 10 形態素タグ命名の画面

Page 9: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

9

3.2.2 データの要約

タブ Summary では、半角と全角によるテキストのサイズ(FileLengthByByte, FileLengthByChar)、述べ語数

(TokenNum)、異なり語数 (TokenTypeNum)、片仮名語の数 (KatakanaTokenNum)、ローマ字語の数

(RomajiTokenNum)、数値の数(NumberTokenNum)を集計する。

3.3.3 n-gram

タブ n-gram ではタグ(Tag)、形態素(Word)、タグが付いた形態素(WordTag)の n-gram を集計する。また、す

べての属性と指定した属性のみを分けて集計することもできる。まず、処理の種類(ProcessingType)を一つ指定

し、次に NgramType、Cutoff 値やデータ形式を指定し、ボタン[AllTagProcessing]を押すと図 11 のような結果

を返す。図 11(a)はタグを集計した画面であり、図 11(b)はタグ付きの形態素を集計した画面である。処理の種類

(ProcessingType)を Word に指定すると、項目数は図 11(b)と同じであるがタグがついていない結果を返す。

(a) (b) 図 11 タグ付きデータの n-gram 集計画面

タグの種類を指定し、集計を行うためにはタグを指定するボタン[SelectingTag]を押し、タグを指定することが

必要である。図 12(a)にボタン[SelectingTag]で開いたタグ選択画面である。 タグの前にチェックを入れ、確認ボタン[Conform]を押し、画面上の[PointedTagProcessing]を押すと図 12(b)のように指定したタグに基づいた n-gram が集計される。

(a) (b)

図 12 属性の指定とその集計の結果画面

Page 10: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

10

3.2.4 共起の集計

タブ Co-occurrence では、形態素の共起データを集計する。集計するのはタグに基づいた形態素の共起であ

る。n-gram の場合と同じく、すべての形態素の共起と指定したタグのみの形態素の共起を集計することができ

る。 3.2.5 その他の機能

タブ Length では文の長さ、文字単位で形態素の長さを集計することができる。タブ Mark では、ある形態素

の前後のデータを集計する。たとえば、助詞「の」の前のデータを集計する際には、キーワードを記述する

PleaseinputKeyword の窓に「の<助詞>」のカギ括弧の中のものを入力する。 タブ KWIC では、タグ付きのテキストから指定したキーワードの前後を切り取り返す。タグがついているの

で、文法的考察には便利であろう。 タブ Tools では、置き換え処理や JUMAN、ChaSen、MeCab で形態素解析を行った結果をカギ括弧<>で

タグを付けるなどの処理を行うことができる。 3.2.6 文節単位の計量

テキストについて、文節単位で分析を行う場合は、まず言語を指定し、メニューの DataFormat で Parser を

選択する。文節単位で計量するときは、CaboCha により処理済みの結果を用いる方法と平テキストを読み込み

MTMineR 上で構文解析行う方法を用いることが可能である。もちろん、MTMineR 上で構文解析行う場合には、

そのマシンに CaboCha がインストールされ、かつパスが通されていることが必要である。Parser のデフォルト

には、構文解析済みのデータ(ParsedText)を用いるようになっている。 読み込んだテキストが平テキストであれば、メニューの下の方の左側の PlainText を指定してください。構文

解析結果を用いる場合でも形態素解析結果の場合と同じくタグの名前を付ける作業が必要である。その手順は形

態素解析の場合と同じである(3.3.3 を参照)。文節単位のテキスト計量に関しては、5 つの処理タブが用意されて

いる。 タブ Length では、文節と文の長さを文字、形態素、述べ語数、異なり語数単位でデータを集計する。

タブ n-gram では、文節単位の属性の n-gram や属性付きの文節の n-gram、指定した属性のみを含んだ文節の n-gram を集計する。基本的な考えはタグ付きの n-gram と同じであるが、文節を対象としている。 タブ Cond-n-gram では、条件付きの文節の n-gram データを集計する。つまり属性を指定した n-gram の中か

ら、一部の属性データを除外したデータ集計する。たとえば、名詞を含んだ文節の中から助詞や記号を取り除く

と図 3(c)で示すような名詞あるいは複合名詞になる。その手順は、まずボタン[SelectingPOS]押し、開かれた図

13(a)のリストから名詞を選択し、確認ボタン[Conform]を押す。次に、ボタン[RemovePOS]を押し、開かれた図

13(b)のリストから記号と助詞を指定し、確認ボタン[Conform]を押す。続いてボタン[PointedPOSProcessing]を押すと図 13(c)のような結果が集計される。このように「大震災後」「安全保障環境」のような複合語を集計する

ことが可能である。

Page 11: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

11

(a) (b) (c)

図 13 条件付きの文節集計の例

タブ Pattern では、文節を形態素の属性や形態素を用いてモデリングしてデータを集計する。文節の構造の研

究や文体分析に用いることを前提としている。 タブ Co-occurrence では、文節単位の共起データを集計する。基本的な操作の方法は、Cond-n-gram と同じで

ある。

4.分析機能

集計したデータは保存することができるので、各自が使い慣れたデータ解析ソフトを用いることができる。R

をインストールし、いくつかの設定を行うと用意されたメニューでデータ解析を行うことができる。設定に関し

ては、MTMineR 中の Doc フォルダの中の「R の設定」ファイルに説明されている。 例を用いて説明するため、野田内閣総理大臣所信表明演説文を読み込み、MeCab で形態素解析を行い、記号を

除いた単語のみを集計した結果を図 14 に示す。 R を起動して分析するため、図 15(a)のようにメニューのRの中の[ProcessingOutputsInthisTab]をクリックす

ると図 15(b)のようなデータファイルの名前を付けるボックスが開かれる。名前は自由に付けることができる。

名前を付けないと temp という名前が自動的に付けられる。OK ボタンを押すと図 16 のような三つの画面が開か

れる。

Page 12: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

12

(a) (b) 図 15 データの集計とRを起動する画面

図 16 MTMineR 上でRを起動した画面

左上の画面はコマンドでRを操作する RConsole であり、左下はメニューによる操作結果を出力する

OUTPUT 画面である。右の画面は、メニュー操作でデータ解析を行う RunR 画面である。データ処理タブは 5つ(Transform, Indexes, Supervised, unsupervised, Plots)用意されている。

4.1 データの変換

タブ Transform では、行の総和を基準とした相対頻度、列の総和を基準とした相対頻度、列を基準とした標

準化の変換を行う。変換する項目は、画面の下部の Command の右にリストアップされている。下向きの▼を

押して選択する。図 16 に集計したデータは 1 列であるので、相対頻度は列の総和を基準とする ProportioninEachCoulum を選択する。ボタン[Processing]を押すと変換されたデータの名前を知らすメッセ

Page 13: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

13

ージボックスが開かれる。メッセージボックス上の[了解]を押すとメッセージボックスが消される。 変換されたデータの名前は、元のデータの名前に.tra が付けられる。変換されたデータを用いて分析を行うた

めには RunR 上の Selectdata から変換したデータを読み込むことが必要である。 4.2 グラフ

タブ Plots には、3 種類のグラフ作成機能を実装している。サブタブ MatPlot では多群の折れ線グラフ、サブ

タブ Zipf ’slowandPlot では Zipf 法則のグラフと対数回帰モデルの当てはめ、サブタブ GrapfPlot では語や文節

のネットワークグラフを作成する。 例として、野田総理の所信表明演説文における単語の頻度とランクの関係に関するグラフを作成する。図 16

の頻度データについて、ProportioninEachCoulum による相対頻度を求め、さらに SelectData から変換された

temp.tra を選択する。タブ Plots の中のサブタブ Zip’slowandPlot をクリックし、図 17 のように指定し、画面

上の[OK]ボタンを押すだけで処理結果が返される。 サブタブ Zip’slowandPlot をクリックしたときには変数、テキストの名前は画面の左に読み込まれている。

MTMineR では、右側の窓に読み込まれている変数とテキストについて処理する。分析したい変数を選択し右に

向いている三角をクリックすると右側に移動される。右側のものを取り除きたいときには、それを選択し左向き

の三角をクリックすると左側に移動される。 図 17 のように、分析したい変数やテキストを右側のそれぞれの窓に読み込み、分析したい項目をチェック

し、画面上の[OK]ボタンを押すと、処理結果が返される。詳細の結果は、OUTPUT 画面に返される。作成され

たグラフはコピーあるいは保存して使用することができる。グラフ画面上にマウスポインターを合わせ、右ボタ

ンを押すとコピーおよび画像の保存形式(JPEG, BMP, PNG, EPS)のリストが表示される。Rconsole 上で R コ

マンドラインを作成し、[Enter]キーを押すとコマンドラインが実行される。Rconsole は簡易のR言語の操作環

境である。

図 17 Zipf グラフと対数線形回帰グラフ

単語あるいは文節の Bigram や共起データを集計するとネットワークグラフを作成することができる。データ

の集計形式は図 18 のように 2 列の単語・文節と 1 列の度数データ、合計 3 列のデータである。図 18 は名詞の

Bigram である。MTMineR のメニューR から ProcessOutputsinthisTab をクリックすると図 19 の右のような

画面が開かれる。ただし、データは左側に置かれている。

Page 14: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

14

図 18 ネットワーク作成のために集計したデータの形式

図 19 右側のように指定し、画面上の[OK]ボタンを押すと図 19 の左側のネットワークグラフが作成される。こ

こでは、度数が 2 以上のものだけプロットしている。出力(Output)の中の KeynodsGraphs を指定し、

Pleaseenterkeynodesseparatedbycommas の下側の窓にキーワードをカンマで区切り入力すると、そのノードの

みに関わるネットワークを作成する。作成するネットワークの形式は LayoutMethods で指定する。

図 19 ネットワークグラフの作成 4.2 特徴語抽出とグラフ作成

例を用いて説明するため、近年の自民党と民主党の 6 人首相の所信表明演説文を用いる。6 人のテキストを

MTMineR に読み込み、CaboCha により構文解析を行い、名詞が含まれた文節の中の記号と助詞を取り除いて集

計したのが図 20 の(a)である。MTMineR のメニューR から[ProcessOutputsinthisTab]をクリックし、分析の準

備を行った画面を図 20(b)に示す。

Page 15: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

15

特徴語の抽出を行うためには、テキストをグルーピングすることが必要である。つまり、特徴語は比較対象の

間の相対的なものである。ここでは、自由党と民主党に分けてグルーピングするので、テキストの中の 1, 2, 6(安倍、福田、麻生 )が自由党 3, 4, 5(菅、野田、鳩山 )が民衆党である。グルーピングの指定は、

Pleaseentergroupsseparatingbycommas の下の窓に c(1, 2, 6), 3:5 のように記述する。連番の整数は 3:5 のよう

に、始まる整数と終わる整数を半角のコロン記号「:」でつなげる。連番ではない場合は、c()の中に番号をカンマ

で区切り記入する。テキストの番号を用いてグルーピングを指定したら、それに対応するグループの名前を記述

する。たとえば、ここでは自由党、民主党にする。 特徴語を抽出する方法は現段階ではカイ二乗検定統計量、尤度検定統計量、クラスカル・ウォリス検定統計量

などに基づいた特徴語計算が実装されている。それぞれの方法の詳細に関しては画面上の Help に説明されてい

る。 図 20(b)の状態で[OK]ボタンを押すとカイ二乗検定統計量を計算する。計算が終わると計算した結果を保存す

るファイルの名前を知らせると当時にグラフの作成に関するメッセージボックスが開かれる。グラフ作成を選択

すると図 21(a)のような画面が開かれる。図 21(a)のように、グラフのタイトル、色、グラフの周辺のマージン、

ラベルの文字列の方向を指定し[OK]ボタンを押すと図 21(b)のような棒グラフが作成される。グラフ作成画面の

Scatterplot を指定すると選択された変数の散布図、あるいは対散布図が作成される。

(a) 語の集計画面 (b)特徴語抽出の指定画面

図 20 特徴語の抽出

Page 16: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

16

(a) 棒グラフ作成にための準備画面 (b)作成した棒グラフ

図 21 特徴語の棒グラフと散布図

サブタブ Weightings では、エントロピー(entropy)や TF-IDF などの 10 種類の重みを計算する。 サブタブ VocabularyRichness では、1 つのテキストの語彙の豊富量を計算する。日本語においてはタグ記号

<>により区切られているテキストを用いる。1つのタグ付きテキストを読み込み、テキストを複数のチャンク

(chunks)に区切り、チャンクを累積しながら、述べ語数、異なり語数、トークン比(TTP)、Yule の K 特性値、

Sichel の S 値などの12種類の彙豊富量に関する値を計算する。 川端康成の「雪国」を JUMAN で形態素解析行ったファイルを読み込み、30 チャンクに区切った語彙豊富量

の指標の点ロットを図 22 に示す。語彙豊富量指標は多く提案されているがその多くはテキストの長さに依存す

る。図 22 をみると、テキストの長さの影響が少ないのは Yule の K 特性値とSichelの S値である。

図 22 累積チャンクと語彙豊富量指標

Page 17: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

17

4.3 教師なしの分析法

タブ Unsupervised に教師なしの方法として主成分分析 (PrincipalComponentsAnalysis)、対応分析

(CorrespondenceAnalysis)、階層的クラスタリング(HierarchicalClustering)、K-平均クラスタリング(K-means)、多 次 元 尺 度 法 (MultidimensionalScaling) 、 分 割 適 化 ク ラ ス タ リ ン グ の k-medoids 法

(PartitioningAroundMedoids)などを実装している。 川端康成と三島由紀夫のそれぞれ 10 編の作品を JUMAN で形態素解析を行い、各々の助詞の使用頻度を集計

し、階層的クラスタリングを行った画面コピーを図 23 に示す。距離の尺度には、コサイン類似度による距離や

カルバック・ライブラー・ダイバージェンス(Kullback–Leiblerdivergence)を拡張した KLD 距離も実装している。 Unsupervised の分析のためには、用いる変数とテキストの指定、用いる方法の引数の指定、出力結果の項目の

指定などの手続きが必要である。図 24 に主成分分析の画面を示す。主成分分析と対応分析では、結果の散布図

の軸は自由に指定することができる。デフォルトでは第1と第 2 になっている。用いた方法や引数などに関して

は help ボタンで確認できる。

(a)

(b)

図 23 クラスター分析の画面

Page 18: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

18

図 24 主成分分析の画面

4.4 教師ありの分析法

タブ Supervised には K-近隣法(K-NearestNeighbour)、決定木(RP-Tree, RecursivePartitioningTrees)、ラン

ダムフォレスト(RandomForest)、サポートベクターマシン(SVM, SupportVectorMachines)を実装している。こ

れらの方法を用いるためには、まず教師となる外的基準を指定しなければならない。外的基準の指定はタブ

Grouping で行う。外的基準を指定する画面コピーを図 25 に示す。

図 25 グルーピング画面

Page 19: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

19

データの列が変数の場合、まず Columisvalues にチッェクをいれる。次に Enterthegroups の Yes を指定し、

その下の窓にグルーピングするテキストの番号(行の番号)をカンマ区切りで入力する。図 25 のように連番の場合

は始まる数値と終わる数値を半角コロンでつなげる。グループの番号が連番ではない場合は c()の中に番号を入

れ、カンマで区切る。特徴語抽出際のグルーピングの場合と同じである。 後に、グループの名前を入力する。

画面上の[OK]ボタンを押すと外的基準が付与されたデータセットの名前を知らせるメッセージボックスが開か

れる。新たのデータセットの名前は、用いたデータセットの名前の右に.grouped が追加されている。メッセージ

ボックス上の[了解]ボタンを押すとメッセージボックスが消される。 RunR 上の SelectData でグルーピングされたデータを読み込んだタブ RP-Tree の画面を図 26(a)に示す。教

師ありの場合は、変数は 2 種類(目的変数、説明変数)、テキストも 2 種類(教師用、テスト用)読み込む窓が用意

されている。目的変数は従属変数(Dependentvariable)、説明変数は独立変数(Independentvariable)ともよぶ。

教師用データはトレニングデータ(Trainingdata)ともよぶ。用いた決定木の方法や引数に関しては、画面上の

Help をクリックし、参照することができる。

図 26 決定木(RP-Tree)画面

指定した条件のもとで結果を返した画面を図 27 に示す。変数の中の type はグルーピングする際に作成され

た外的基準となる変数である。これは従属変数であるので Dependentvariable に読み込む。その残りの変数は

Independentvariable に読み込む。すべてではなく、一部分でも結構である。図 27 では 16 編のテキストをト

レニング用、4 編をテスト用としている。もし、テストをしない場合は、テスト用データの窓には空である。そ

のときに Output の中の項目 Testing にはチェックを入れない。出力の結果は OUTPUT 画面に返される。

Page 20: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

20

図 27 決定木(RP-Tree)の分析画面

5.その他の言語

MTMineR は、日本語以外に中国語、韓国語、英語などのテキストを処理することができる。ただし、日本語

と異なり形態素解析器を接続していないので、それぞれの言語の形態素解析器で解析を行ったタグ付きテキスト

を用いる。日本語以外は構文解析の結果を計量する機能はバージョン 5 には実装されていない。 5.1 中国語

中国語の形態素解析に関しては、張華平博士が開発した ICTCLAS(InstituteofComputingTechnology,

ChineseLexicalAnalysisSystem)や NLPIRなどが無料公開されている。ICTCLASは、世界で精度が も高く、 も

多く使用されている形態素解析器と言われている。2012年3月の 新バージョンICTCLAS2012の処理速度は1MB/s、

精度は 98.45%である。

タグ付きテキストに関しては ICTCLAS の出力結果の形式を基本とする。ICTCLAS と NLPIR の出力結果のサンプ

ルを図 28に示す。図 28の上段は ICTCLAS、下段は NLPIRによる結果である。タグは半角の/の右に記述する。形

態素の間には 1つの半角スペースで区切られればよい。

図 28 中国語のタグ付きデータの形式

Page 21: 多言語テキスト統計分析ツールMTMineR1 多言語テキスト統計分析ツールMTMineR 金明哲 1.はじめに 時代を超えて情報や知識を伝達するために記録・保存されているメディアの中でもっとも多いのはテキスト(文

21

中国語の平テキスト、タグ付きテキストの集計処理の主な機能および使用法は日本語テキストの場合と同じで

ある。MTMineRは、中国語の文字コード ISO-2022-CN、BIG5、EUC-TW、GB18030、HZ-GB-23121、UTF-8、UTF-16BE/UTF-16LE、UTF-32BE/UTF-32LE/X-ISO-10646-UCS-4-34121/X-ISO-10646-UCS-4-21431 を自動的に識

別して処理する。

5.2 韓国語・朝鮮語

韓国語・朝鮮語(韓国語とよぶ)は日本語や中国語と異なり、語節によって分かち書きされている。語節は日本

語の文節に相当する。図 29に韓国語の平テキストと MTMineRで用いるタグ付きテキストの形式を示す。図 29の

下段のタグ付きテキストは形態素解析器 POSTAG_SEJONG/Kの出力結果である。タグは中国語の場合と同じく形態

素とタグを半角の/で区切っている。

韓国語の平テキストの n-gramと文の長さに関しては文字単位と語節単位で集計することができる。また、語

節単位の共起を集計することができる。その他は中国語、日本語と基本的には同じである。MTMineRは、韓国語

の文字コード ISO-2022-KR、EUC-KR、Johab、UTF-8、UTF-16BE/UTF-16LE、TF-32BE/UTF-32LE/X-ISO-10646-UCS -4-34121/X-ISO-10646-UCS-4-21431 を自動的に識別して処理する。

図 29韓国語の平テキストとタグ付きテキスト

5.3 英語

英語の平テキストは分かち書きされているので韓国語と同じく、n-gramと文の長さに関しては文字単位と単語

単位で集計することができる。また、語を単位とした共起を集計することができる。

タグ付きのテキストに関しては、英語の形態素解析器 BrillTagger+GoTagger による図 30 に示す形式を用い

る。タグ付きの形式は中国語および韓国語と同じである。集計機能に関しては韓国語と同じである。

図 30 英語のタグ付きテキスト