HTML::ColorKeywords採用&MeCab頻度解析再考

 今までハイライトに用いていたHTML::Highlightは、一度ハイライト用のタグを導入した単語に対しても、新たにハイライトタグを導入してしまうという問題を抱えている為に、正しく検索文字列がハイライトされなかったり、実行時間がかなりかかるという現象がありました。
 今回、検索結果キーワードをハイライトするPerlモジュールで公開されていた、HTML::ColorKeywordsをインストールして使用してみたところ、上記の問題が解決されており、実行時間も2秒程度になってかなり高速化しました。素晴らしいColorKeywords。ちゃんと一度ハイライトタグを入れた部分を無視しているようです。

$hl = HTML::ColorKeywords->new(colors => ['orange']);
%hl->do(keys => \@word_list, string => \$document);
print $document;

で一瞬でタグが導入されます。

 それから、ハイライトされたページと頻度ファイルを見比べながら、現在の頻度解析の問題点を考えました。生物論文内でよく使われる「形成」、「解析」、「結合」、「構造」といった単語がヒットしてしまったり、論文内であまり触れられていない生物用語が落ちてしまったりすることが未だ多くあります。まず、どこからが一般語でどこからが生物用語なのかを判断しなければならず、それによりアルゴリズムを組み直さなければならないですね。論文一般で使われる生物用語を探し出して、新たに辞書に追加していくようにしていこうと思っています。