mecab以外のわかち書き

mecabでいいぢゃん »
rti 7743

mecab / 以外 / の
          / わかち書き
わかち書き
そんな / 装備 / で / 大丈夫 / か / ?
そんな装備で大丈夫か?
↓
日本語データでなんかしたい時にお世話になる、わかち書き。
mecab
超有名。
いつもお世話になってます。
mecab以外に、
日本語文章をわかち書きする
フリーのソフトはないの?
mecab以外のわかち書き
TinySegmenter
IWordBreaker
TinySegmenter
javascript だけで実装された
わかち書き。25kバイト
http://chasen.org/~taku/software/TinySegmenter/
chasen.org つまり、
TinySegmenter も
mecabの作者、工藤さんの作品ですね。
すごい。
利点
辞書レスでのわかち書きが可能。

サイズが超絶小さい 25kバイト。

辞書レスなので未知語にも強い。

各言語にポートティングされている。
性能比較
科学の力ではどうしようもできない、魑魅魍魎などの奇怪な輩に立ち向かう胡散臭い男。
原文
Mecab
科学 | の | 力 | で | は | どう | しよう | も | でき | ない | 、 | 魑魅魍魎 | など | の | 奇怪 | な | 輩 | に | 立ち向う | 胡散臭い | 男 | 。
科学 | の | 力 | で | は | どう | しよ | う | も | でき | ない | 、 | 魑魅 | 魍魎 | など | の | 奇怪 | な | 輩 | に | 立ち向かう | 胡散 | 臭い | 男 | 。
TinySegmenter
TinySegmenterの移植
javascript(オリジナル)
http://chasen.org/~taku/software/TinySegmenter/
http://search.cpan.org/dist/Text-TinySegmenter/
perl
php
http://www.programming-magic.com/20080816010106/
python
http://www.programming-magic.com/20080726203844/
VBA
http://pub.ne.jp/arihagne/?entry_id=2768818
Objective-C
http://blog.bornneet.com/Entry/276/
... etc ...
C++
http://code.google.com/p/tinysegmenter-cpp/
java
http://code.google.com/p/cmecab-java/source/browse/trunk/src/net/moraleboost/tinysegmenter/TinySegmenter.java
↑ C++ に移植してみた。
rtiバージョン制約
Windows SJIS に最適化
非正規表現で動作
注意:
UTF-8の場合、
文字の区切りを教える必要あり。
ところでどうやって
実装されているんだろうか。
なんぞこれ!
~途中中略~
TinySegmenterは機械学習のみを使って分かち書きを行います。

TinySegmenterは入力文すべての文字について、 文字の前が単語境界かどうかを、文字、文字N-gram、ひらがな・カタカナといった文字種情報とその組み合わせを特徴量として使いながら、 学習・分類しています。

学習データにRWCPコーパスを使っているので、新聞記事には強いですが チャットやブログといったくだけた文、ひらがなだけの文の解析精度は高くありません。

~途中中略~

TinySegmenterは、実装も容易でモデルの圧縮率もいいBoostingを使っています。
http://chasen.org/~taku/software/TinySegmenter/
作者のページの技術的な話 より
よくわからないと
いうことが
わかった。
神は言っている。
ここで諦めるべきではないと。
orz
http://ja.wikipedia.org/wiki/AdaBoost
AdaBoost
ごめん無理
そもそも、
boosting って何?
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%BC%E3%82%B9%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0
ブースティング(英: Boosting)とは、教師あり学習を実行するための機械学習メタアルゴリズムの一種。

ブースティングは、Kearns の提示した「一連の弱い学習機をまとめることで強い学習機を生成できるか?」という疑問に基づいている[1]。

弱い学習機は、真の分類と若干の相関のある分類器と定義される。対照的に、強い学習機とは真の分類とよく相関する分類器である。
弱い奴らでも、
結束して、束になってかかったら、
強い奴にも勝てるかもしれない。
詳しい人がいたら
教えてください。
IWordBreaker
windows標準搭載のわかち書き
特徴
windows のテキストサーチ(index service / windows search)とかに使われている?わかち書きエンジン。

windows 2000以上から標準で搭載。

COMで呼び出すことが可能。
科学の | 力では | どう | しようもできない | 、 | 魑魅 | 魍魎などの | 奇怪な | 輩に | 立ち向かう | 胡散臭い | 男 | 。
科学の力ではどうしようもできない、魑魅魍魎などの奇怪な輩に立ち向かう胡散臭い男。
原文
性能比較
IWordBreaker
科学 | の | 力 | で | は | どう | しよう | も | でき | ない | 、 | 魑魅魍魎 | など | の | 奇怪 | な | 輩 | に | 立ち向う | 胡散臭い | 男 | 。
Mecab
結構、大まかな分け方をしてくれる。
COMなので
いろんな言語から呼べます。
C++で実装してみた。
http://d.hatena.ne.jp/rti7743/20100314
実装は COM の話
になってしまうので
省略します。
windows標準搭載なので、
環境縛りや、
オープンソース禁止縛り、

などの縛りプレイを
している人には便利かも。。。
まとめ
TinySegmenter
IWordBreaker
科学 | の | 力 | で | は | どう | しよ | う | も | でき | ない | 、 | 魑魅 | 魍魎 | など | の | 奇怪 | な | 輩 | に | 立ち向かう | 胡散 | 臭い | 男 | 。
科学 | の | 力 | で | は | どう | しよう | も | でき | ない | 、 | 魑魅魍魎 | など | の | 奇怪 | な | 輩 | に | 立ち向う | 胡散臭い | 男 | 。
Mecab
科学の | 力では | どう | しようもできない | 、 | 魑魅 | 魍魎などの | 奇怪な | 輩に | 立ち向かう | 胡散臭い | 男 | 。
mecab以外の
わかち書きエンジンを
見てきました。
mecabでいいぢゃんw
@super_rti
http://rtilabs.net/
by rti
自己紹介
名前:     rti
特徴:     数式嫌いなのに
          データマイニング好き

肩書き:   シーランド公国伯爵
弱
強
弱
弱
弱
弱
弱
弱
弱
>_< ギャー 
弱
強
勝てない...
返り討ちに
してくれる。
(#゚Д゚)
ここまで見てきて、
思ったと思います。
ですよねー
数式を一切使わないSVMの話(データマイニング)
新潟アクセス修飾子 (php)
SEXYHOOK (C++)
萌え萌えCSS (javascript)
プレゼンとか
IWordBreaker の
Interface が公開されていない。
→ indexsrv.h を include すると OK


CLSID がOSによって違う
→ NLG.Japanese Wordbreaker
   文字列指定 で OK


呼び出し方法は?
→ IWordBreaker の他に
   TEXT_SOURCEとIWordSink が必要。
   IWordSinkでコールバックさせる。
はまりどころ。
ちみもうりょう
ありがとうございました。
vb
C#
理屈上
COMをサポートしている
すべての言語からは呼べるはず?
COMはすごい共有ライブラリ
みたいな感じです
呼び出し方法
http://wiki.dobon.net/index.php?.NET%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%A6%B5%E6%2F98
mecabでいいぢゃんw

Loading comments...

Please log in to add your comment.

Report abuse

More presentations by rti 7743

More prezis by author