概要
- 専門用語は複数名詞の復合であることが多く,形態素解析後に処理が必要
- TermExtractはそのためのツールのひとつ
- OSX や CentOS にインストールする場合注意点がある
- nkf とかで ソースコードを utfにする
本文
背景
NLPではその手始めに形態素解析を実施することが一般的で,これに関してはMeCabなど便利なツールも沢山あります.
ところで,多くの専門用語は複数の名詞の複合であることが多く,形態素に分けてしまうと問題があることもあります.
例:
原文「手書き文書解析システム Hoge Piyo の開発」
分かち書き「手書き|文書|解析|システム|Hoge|Piyo|の|開発」
ほしい結果 「手書き文書解析システム|Hoge Piyo|の|開発」
単純に名詞が連続している場合にはくっつける…というのも手なのですが,もう少し賢く専門用語を抽出する手法もあるようです.
とりあえず,日本語でわかりやすい論文があり,Perlベースの実装も提供されているツールに「TermExtract」があるようです.
http://gensen.dl.itc.u-tokyo.ac.jp/
と,言うわけで手元のOSXやCentOSにインストールした見たモノの動かなかったので,メモ.
問題
インストールは全く複雑でなく,マニュアルにある手順にしたがって行くと問題なく完了します.
サンプルもつけてあって,よさげですが,なぜか動作しません(ファイルの読み込みなどはできているのに,結果を返してくれません).
原因
文字コードの問題です.
対策
% nkf -Lu -w --overwrite Makefile.PL
% cd TermExtract
% nkf -Lu -w --overwrite *.pm
などとして,ソースコードをUTF8に変換する必要があります.
おしまい.
おまけ
自分が適用した例については,もともとの文章量が多くもない(1000件に満たない)ので,名詞が連続してたらつなぐ…というので十分でした…;