TinySegmenterはJavaScriptで作られた分かち書きライブラリです。

日本語から情報を得る際に使われる技術が分かち書きです。そんな分かち書きでは辞書を使って解析を行うのが一般的ですが、JavaScriptのような言語では大量の辞書を扱うのには不向きです。そこで自動的に判定するTinySegmenterを使ってみましょう。


分かち書きのサンプルです。機械的分類ですが、精度は高いように見えます。


2と5、9と5などの連続する数値が分かれてしまっているのが無念。しかし凄いです。

TinySegmenterでは解析は全てクライアントサイドで行われます。ライブラリは僅か25KBです。機械学習型であり、n-gramや文字種を組み合わせつつ分類を行っています。そのため新聞のような文字種が様々に組み合わさったある程度の長さを持った文章に対して強い反面、チャットや短いメッセージ、平仮名のみといった文章では弱い傾向があるそうです。なお、品詞の分類は行いません。

TinySegmenterはJavaScript製、New BSD Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

コンピュータがそれほど高性能でなかった時代においては人が情報を予め分類した上で入力を行っていました。しかし最近では情報の区別をせず放り込んでしまい、後でコンピュータに分析をさせる方が効率的なケースも増えています。下手に人に分類させると偏りや気分によって結果が異なりますが、これまでのデータベースを元にコンピュータが分類する方が正確ではないでしょうか。

TinySegmenterについては入力されたテキストから一定のしきい値やリストをもってフィルタリングし、残った文字の出現回数に応じて特徴語として抽出するといった使い方が考えられます。タグの自動補完にも使えそうです。サーバサイドで解析を行わない分、高速に情報を分類できるようになるでしょう。

TinySegmenter: Javascriptだけで実装されたコンパクトな分かち書きソフトウェア