自動要約モジュール yoyaku =========== このプログラムはPythonから使う自動要約のためのモジュールです。 今の所、MMR(Maximal Marginal Relevancew)による単純な文の抜粋による自動要約を行います。 動作に必要なもの ============ Python 2.5 MySQL 4+ mysql-python MeCab mecab-python nltk インストール =========== 1) 任意の名前でmysqlデータベースを用意します。 2) gunzip -c data/tabledump.sql.gz | mysql yourdatabasename 3) sudo python setup.py install テスト実行 =========== いくつかのプログラムは、テスト的に実行するためのコマンドラインインターフェースを付けています。 1. 日本語の自動要約 ----------------- 日本語テキストの自動要約をテストできます。 ファイルsample.txtに要約したい日本語のテキストが入っているとします。 $ python yoyaku/engine/NormalJP.py < sample.txt と入力すると、要約を出力します。 このコマンドでは各種文字エンコーディングを指定するオプションがありますので、詳しくは--helpオプションでヘルプをご覧ください。 2. 英文の文分割 -------------- (注:この機能はまだ途中までしか実装が進んでいません。) 英文を文単位に区切って出力します。 英文は通常ピリオドで文末を表しますが、"Web2.0"とか"U.S."のように、文末以外でピリオドが使われる場合も多く、その判定は困難です。 このプログラムでは標準入力からの入力を、文単位に区切ります。 ファイルsample.txtに区切りたい英文が入っているとします。 データベースcivoryに、インストール時に用意した辞書データMySQLが用意されているとします。 $ python yoyaku/engine/SentenceBoundaryEN.py -dcivory sample.txt と入力すると、英文を文単位に分割して出力します。 3. 英文のトピック分割 ------------------- 英文(わりと長い文)の内容をトピックごとに分割して出力します。 入力は文単位に区切られている必要があります。 ファイルsample.txtに分割したい英文の長文が入っているとします。 $ python yoyaku/engine/TopicSegmentationEN.py < sample.txt と入力すると、英文をトピックごとに分割して出力します。 分割区切りには"-------------------------"が出力されます。