Windows用テキストマイニングツール
"termmi" の解説


はじめに

 "termmi"はWindows上のテキストファイルの専門用語を複数ファイル間で比較するシステムです。Windows専門用語抽出システム"termex"を用いても複数ファイル間の比較は行えますが、重要度の比較が行いにくいなどの問題がありました。テキストマイニング専用に作成した"termmi"を使うことにより複数ファイル間の重要度の数値比較を有意に行えるだけではなく、各文献の共通部分などさまざ まな比較結果を求めることができます。

機能と使い方

1.複数のテキストファイル(Shift-JIS)を入れたフォルダを、termmiのアイコンにドラッグ&ドロップします。
(和文の場合は「専門用語分析(和布舞)」アイコン、
英文の場合は「専門用語分析(英文)」アイコンになります)

2.termmiの各サブフォルダに処理結果が保存されます。内訳は次のとおりです。
(1)outputフォルダ
   処理対象ファイルと同名のファイルに専門用語が記録されます
(2)summaryフォルダ
   total.txt は全ドキュメントの処理結果。common.txt は各ドキュメントの共通部分です。
(3)uniqueフォルダ
    処理対象ファイルと同名のファイルに各ファイルに固有の専門用語が記録されます。

最初の1回は、「Windows によって PC が保護されました」とのメッセージがでて中断します。「不明な発行元」であることが原因です。「詳細情報」から「実行」をクリックすることで継続できます。

インストール

Perlのインストール

 お使いのパソコンにPerl(バージョン5以上)がインストールされていない場合は、次のページからPerlを入手、インストールします。
Strawberry Perl

形態素解析ソフトのインストール

 形態素解析ソフトとして「和布蕪」をインストールします。ソフトの入手先は次のとおりです。

TermExtractのインストール

 次からTermExtractをダウンロードします。ファイルを解凍後、解凍したフォルダ中にある"win_install.pl"アイコンをダブルクリックするとインストールが行われます。
 "TermExtract"最新版(ZIP形式)
 
  もし、上記の方法でうまく動作しない場合は、Windowsのコマンドプロンプトから"win_install.pl"を実行します。cd コマンドで、win_install.plのあるディレクトリ(フォルダ)まで移動し、perl win_install.plとコマンド入力して下さい。

"Win32::Shortcut"モジュールのインストール

 termexのインストール前にCPANからの"Win32::Shortcut"モジュールのインストールが必要になります。これはコマンドプロンプトから、次の操作にてインストールが可能です。
 cpan install Win32::Shortcut

termmiのインストール

 次のファイルをダウンロードし、適当なフォルダに解凍してください。
 "termmi"最新版(ZIP形式)

 環境設定用のプログラムを起動します。"Configure.pl" アイコンをダブルクリックすると自動的に「茶筅」や「和布蕪」のインストール場所を調査します。もし、見つからない場合は、インストールしたディレクトリを問い合わせてきますので、それにお答えください。
 もし、上記の方法で動作しない場合は、コマンドプロンプト(MS-DOSプロンプト)から次のとおりコマンドを投入します。
  perl termexディレクトリのパス\Configure.pl

 形態素解析に「和布蕪」を使うなら"専門用語分析(和布蕪)"アイコンをデスクトップ等の使いやすいところにおきます。これが専門用語分析用のアイコンになります。

File::MMagicモジュールのインストール

 Strawberry Perlの場合、コマンドプロンプトから、次の操作にてインストールが可能です。
 cpan install File::MMagic

高度な設定

 専門用語分析用のプログラムを修正することで、さらに高度な設定ができます。


1.学習機能の有無

 デフォルトは、学習機能がONになっています。これは処理対象の全文献を1度解析し、全体についての連接語の統計データをとってから、個々の文献の解析をすることにより、重要度計算の精度を高めるものです。文献集合によって重要度計算値は異なります。この機能をOFFにするには、プログラムの1行を書き換えます。ver 0.30 から学習用データベースは毎回クリアされるようになりました。
 修正前 ---- my $mode = 1;
 修正後 ---- my $mode = 0;

2.TF*IDFモード

 重要度の計算をオーソドックスなTF*IDF法で行うことができます。この機能をONにするには、プログラムの1行を書き換えます。ver 0.35以前のTF*IDFの計算値に不具合があります。0.37以上をお使いください
 修正前 ---- my $mode=1;
 修正後 ---- my $mode = 2;

3.その他の重要度計算のオプション

 プログラム中のコメント行を解除することにより設定ができます。オプションの意味については"TermExtract"の解説をご覧ください。

4.連接情報

 学習機能を使用している場合のみ、付属の get_stat.pl により処理文献の連接語の統計データを得ることができます。ver 0.30 から直前の処理の統計しかとれなくなりましたので、ご注意ください

5.ベクトル空間法による文献の類似度計算

 付属のvector_space.pl によりベクトル空間法による文献の類似度を計算することができます。これは、正確には次の関係を示すものです。
 文献群全体(summaryフォルダ中の"total.txt") <=> 各文献(outputフォルダ中の各ファイル
 summaryフォルダ中の"total.txt"をoutputフォルダ中の任意のファイルに置き換えることで、特定の文献に対しての類似度を調べることもできます(ver 3.1以上)

 通常であれば、類似度の計算は各語についてのTF*IDF法による重みか、頻度を用いるところです。"termmi"では、隣接情報に基づいた独自の重要度を出しますので、その値を用いています。プログラムの実行は"termmi"のフォルダ中にある、"vector_space.pl"をダブルクリックすることで行います。もし、プログラムが起動しなかった場合は次の操作を行ってください。

  「コマンドプロンプト」(MS-DOSプロンプト)を起動
        ↓
  cd "termmi"のあるディレクトリ
         ↓
  perl vector_space.pl
        ↓
  exit

 結果は"summary"フォルダの中の"sim_v.txt"にタブ区切りのテキストファイルの形で保存されます。「メモ帳」などで開いてご覧ください。類似度の高いファイル順に並べてあります。結果の見方は次のとおりです。

 類似度が高いファイル ---- 文献群中では一般的なトピックスを扱っています。
 類似度が低いファイル ---- 文献群中ではユニークなトピックスを扱っています。

また、類似度が高いファイル同士は互いに似通ったトピックスを扱っていると推測されます。

6.用語・文書行列の出力

 付属の"termdocument.pl"により、termmiの処理結果をもとにした「用語・文書行列」を出力することができます。プログラムの実行は"termmi"のフォルダ中にある、"termdocument.pl"をダブルクリックすることで行います。もし、プログラムが起動しなかった場合は次の操作を行ってください。

 「コマンドプロンプト」(MS-DOSプロンプト)を起動
        ↓
  cd "termmi"のあるディレクトリ
        ↓
  perl termdocument.pl
        ↓
  exit

  結果は"summary"フォルダの中の"termdocument.txt"にタブ区切りのテキストファイルの形で保存されます。統計ソフトなどへの受け渡しにご活用ください。また、タグ区切りだけではなく、CSV形式での出力も可能です。"termdocument.pl"をテキストエディタで開いて、 $mode=1;と設定してださい。結果は"summary"フォルダの中の"termdocument.csv"として出力されます。もし、用語数を限定したいときは、2つのオプションを利用可能です。まず、"termdocument.pl"をテキストエディタで開いてください。
(1)用語を重要度の高い語から指定した件数までに限定
#$terms_limit = 100; の行頭のコメント指定(#)を外します。
コメントを外した状態では、上位100件になっていますが、数値をご希望の値に書き換えてお使いください。
(2)用語を重要度の値をもとに限定
#$score_limit = 2; の行頭のコメント指定(#)を外します。
変数$score_limitの数値が1に近いほど、上位の語に限定できます。数値をご希望の値に書き換えてお使いください。

 ver 0.32 より、デフォルトの学習機能DBをバークレーDBから、SDBMに変更しました
 これはActive Perl 5.8 用のバークレーDBの日本語対応に一部問題が見つかったことによるものです。
 get_stat.pl の統計機能が一部削除されましたが、ご了解ください。