| 1 | ******************************************************************************** |
|---|
| 2 | 本プログラムは、「Rinza公衆使用許諾契約書 第1.0版」に基づいて提供されています。 |
|---|
| 3 | 「Rinza公衆許諾契約書 第1.0版」は、パッケージ内の"LICENSE"ファイル、および次に |
|---|
| 4 | 示すURLにおいて参照することができます: |
|---|
| 5 | http://www.tyzoh.jp/rinza/licenses/LICENSE-1.0.txt |
|---|
| 6 | 本プログラムにおけるオリジナル・プログラムの初期開発者は、日本ユニシス株式会社で |
|---|
| 7 | あり、その著作権は日本ユニシス株式会社が所有しています(The Original Program is |
|---|
| 8 | copyrighted (C) 2005 by Nihon Unisys, Ltd. with all rights reserved.)。 |
|---|
| 9 | |
|---|
| 10 | 本プログラムは現状有姿にて提供されるものとし、明示・黙示を問わず、プログラムの |
|---|
| 11 | 瑕疵の不存在、商業的な使用可能性、使用目的に対する適合性を含め、いかなる保証も |
|---|
| 12 | なしに提供されるものです。 |
|---|
| 13 | また、日本ユニシス株式会社をはじめとするRinzaソフトウェアの開発に携わっている |
|---|
| 14 | 団体および個人は、本プログラムの使用によって発生するいかなる損害に対しても一切の |
|---|
| 15 | 責任を負わないものとします。 |
|---|
| 16 | |
|---|
| 17 | なお,上記の”本プログラム”および”オリジナル・プログラム”の定義については、 |
|---|
| 18 | 「Rinza公衆使用許諾契約書 第1.0版」を参照ください。 |
|---|
| 19 | ******************************************************************************** |
|---|
| 20 | |
|---|
| 21 | Rinza AutoKeyword |
|---|
| 22 | ============== |
|---|
| 23 | ■ AutoKeyword について |
|---|
| 24 | AutoKeyword は文書からのキーワード抽出を自動的に行うツールです。 |
|---|
| 25 | (全文検索には Namazu, 形態素解析には MeCab を用います) |
|---|
| 26 | |
|---|
| 27 | ■ 主な機能 |
|---|
| 28 | ・ 文書から重要キーワードを自動的に抽出 |
|---|
| 29 | TF-IDF による |
|---|
| 30 | 固有名詞、名詞を抽出 |
|---|
| 31 | 複数語からなる名詞を連結させて一つの名詞とします。 |
|---|
| 32 | |
|---|
| 33 | 次期バージョンでの開発アイテム |
|---|
| 34 | ・索引によるキーワード重み付け |
|---|
| 35 | |
|---|
| 36 | ■ リリース日時 |
|---|
| 37 | 2006年10月 |
|---|
| 38 | バージョン名 |
|---|
| 39 | 0.1.1 |
|---|
| 40 | |
|---|
| 41 | ■ 配布内容 |
|---|
| 42 | |
|---|
| 43 | Keyword-0.1.1.zip |
|---|
| 44 | |
|---|
| 45 | このファイルを任意のディレクトリで展開すると次のような構成となります。 |
|---|
| 46 | src |
|---|
| 47 | └─jp |
|---|
| 48 | └─tyzoh |
|---|
| 49 | └─rinza |
|---|
| 50 | └─folksonomy |
|---|
| 51 | ├─analyze |
|---|
| 52 | ├─common |
|---|
| 53 | ├─keyword |
|---|
| 54 | └─search |
|---|
| 55 | |
|---|
| 56 | ■ 動作環境 |
|---|
| 57 | OS(下記いずれか) |
|---|
| 58 | Windows 2000, XP |
|---|
| 59 | Linux(FedoraCore4 以降で動作確認済み) |
|---|
| 60 | |
|---|
| 61 | MW |
|---|
| 62 | namazu 2.0.14 |
|---|
| 63 | Mecab 0.93 |
|---|
| 64 | java 1.5.03(おそらく、これ以前のバージョンでもコンパイル/実行可能です) |
|---|
| 65 | Jakarta Logging Log4j 1.2.12+ [http://logging.apache.org/log4j/] |
|---|
| 66 | |
|---|
| 67 | ■ 環境設定 |
|---|
| 68 | 1.全文検索エンジンの設定 |
|---|
| 69 | 全文検索エンジンとして namazu に対応しています。 |
|---|
| 70 | 下記 URL から namazu をダウンロードし、導入してください |
|---|
| 71 | http://www.namazu.org/#download |
|---|
| 72 | 2.0.14 以降で動作確認をしております(セキュリティホール等の問題もありますし、最新の office ドキュメント等を検索対象にする場合はできるだけ最新版 2.0.16 をお使いください) |
|---|
| 73 | 全文検索対象ファイル数が多いほど TF-IDF が妥当な数値となります。 |
|---|
| 74 | |
|---|
| 75 | 2.形態素解析エンジンの設定 |
|---|
| 76 | 形態素解析エンジンとして MeCab に対応しています。 |
|---|
| 77 | http://mecab.sourceforge.jp/ |
|---|
| 78 | 0.93 で動作確認をしております。 |
|---|
| 79 | |
|---|
| 80 | ■ インストール方法 |
|---|
| 81 | makefile を適宜環境(javac のパスなど)に合わせて修正し実行するか、makefile をご覧頂き即した形で javac を実行してください。 |
|---|
| 82 | お使いの環境に応じて次のように autokeyword.properties を編集してください。 |
|---|
| 83 | |
|---|
| 84 | ----- autokeyword.properties 開始 ----- |
|---|
| 85 | #mecab のパス |
|---|
| 86 | analyzer.command = c:\\mecab\\bin\\mecab.exe |
|---|
| 87 | |
|---|
| 88 | #namazu のパス |
|---|
| 89 | command = c:\\namazu\\bin\\namazu.exe -l |
|---|
| 90 | #namazu の index パス |
|---|
| 91 | indexDirectory = c:\\\\tPodIndex |
|---|
| 92 | #namazu の index 作成ルーチンのパスとオプション(インデックス作成は呼ばれないので、この記述は無くても動作します) |
|---|
| 93 | index = c:\\namazu\\bin\\mknmz.bat "c:\\\\tPodIndex" -O |
|---|
| 94 | ----- autokeyword.properties 終了 ----- |
|---|
| 95 | |
|---|
| 96 | ■ 利用方法 |
|---|
| 97 | |
|---|
| 98 | ・動作確認 |
|---|
| 99 | コマンドラインから |
|---|
| 100 | java -cp src;. jp.tyzoh.rinza.folksonomy.keyword.Auto <対象ファイルパス> |
|---|
| 101 | として実行してください。 |
|---|
| 102 | 標準出力に結果が(TF-IDF の値が大きい順に)表示されます。 |
|---|
| 103 | |
|---|
| 104 | -------------------出力例 開始-------------------- |
|---|
| 105 | >java -cp src;. jp.tyzoh.rinza.folksonomy.keyword.Auto ..\tPod\README |
|---|
| 106 | N 3 |
|---|
| 107 | TFIDF 開始 |
|---|
| 108 | 23.0708580620303 21 tPod 名詞 固有名詞 |
|---|
| 109 | 15.380572041353535 14 Rinza 名詞 固有名詞 |
|---|
| 110 | 14.281959752685424 13 namazu 名詞 固有名詞 |
|---|
| 111 | 13.183347464017315 12 lib 名詞 固有名詞 |
|---|
| 112 | 9.887510598012986 9 http 名詞 固有名詞 |
|---|
| 113 | 9.887510598012986 9 jp 名詞 固有名詞 |
|---|
| 114 | 9.887510598012986 9 ディレクトリ 名詞 一般 |
|---|
| 115 | 8.788898309344876 8 sh 名詞 固有名詞 |
|---|
| 116 | 7.690286020676767 7 var 名詞 固有名詞 |
|---|
| 117 | 7.690286020676767 7 rinza 名詞 固有名詞 |
|---|
| 118 | ... |
|---|
| 119 | -------------------出力例 終了-------------------- |
|---|
| 120 | |
|---|
| 121 | ・ライブラリとして利用 |
|---|
| 122 | ライブラリとして使う場合は、 |
|---|
| 123 | boolean Engine.init(Properties properties) |
|---|
| 124 | を呼び出した後に、 |
|---|
| 125 | Collection Engine.getKeywrods(String filename) |
|---|
| 126 | を呼び出してください。 |
|---|
| 127 | このメソッドの戻り値は TF-IDF 順にソートされた Collection になります(要素は Result インスタンス)。 |
|---|
| 128 | |
|---|
| 129 | ■ TF-IDF |
|---|
| 130 | w = tf x log( N / df) として求めています。 |
|---|
| 131 | w : TF-IDF 値 |
|---|
| 132 | tf : 対象ファイル中のキーワード出現数 |
|---|
| 133 | N : 全文検索対象のファイル数 |
|---|
| 134 | df : キーワードが含まれる(全文検索対象中の)ファイル数 |
|---|
| 135 | |
|---|
| 136 | なお、形態素解析エンジン(MeCab)と、全文検索エンジン(Namazu)が利用する形態素解析(わかち書き)エンジンが異なる(デフォルトは Kakashi)ときや、当該ツールで「名詞を連結」するというアルゴリズムの関係から、全文検索の結果にヒットしないことがあります。この場合 df 値は 0 となりますが、0 除算を避ける都合と、本来対象文書として必ず1件はヒットするはずなので、便宜上 df 値を 1 として計算しています。 |
|---|
| 137 | |
|---|
| 138 | 以上 |
|---|
| 139 | |
|---|