Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
chasen.org つまり、
TinySegmenter も
mecabの作者、工藤さんの作品ですね。
すごい。
科学の力ではどうしようもできない、魑魅魍魎などの奇怪な輩に立ち向かう胡散臭い男。
ところでどうやって
実装されているんだろうか。
なんぞこれ!
神は言っている。
ここで諦めるべきではないと。
~途中中略~
TinySegmenterは機械学習のみを使って分かち書きを行います。
TinySegmenterは入力文すべての文字について、 文字の前が単語境界かどうかを、文字、文字N-gram、ひらがな・カタカナといった文字種情報とその組み合わせを特徴量として使いながら、 学習・分類しています。
学習データにRWCPコーパスを使っているので、新聞記事には強いですが チャットやブログといったくだけた文、ひらがなだけの文の解析精度は高くありません。
~途中中略~
TinySegmenterは、実装も容易でモデルの圧縮率もいいBoostingを使っています。
そもそも、
boosting って何?
詳しい人がいたら
教えてください。
実装は COM の話
になってしまうので
省略します。
IWordBreaker の
Interface が公開されていない。
→ indexsrv.h を include すると OK
CLSID がOSによって違う
→ NLG.Japanese Wordbreaker
文字列指定 で OK
呼び出し方法は?
→ IWordBreaker の他に
TEXT_SOURCEとIWordSink が必要。
IWordSinkでコールバックさせる。
まとめ
mecab以外の
わかち書きエンジンを
見てきました。
ここまで見てきて、
思ったと思います。
mecabでいいぢゃんw
自己紹介
mecab / 以外 / の
/ わかち書き
名前: rti
特徴: 数式嫌いなのに
データマイニング好き
肩書き: シーランド公国伯爵
@super_rti
http://rtilabs.net/
by rti
プレゼンとか
数式を一切使わないSVMの話(データマイニング)
新潟アクセス修飾子 (php)
SEXYHOOK (C++)
萌え萌えCSS (javascript)
わかち書き
mecab
日本語データでなんかしたい時にお世話になる、わかち書き。
超有名。
いつもお世話になってます。
そんな装備で大丈夫か?
↓
そんな / 装備 / で / 大丈夫 / か / ?
TinySegmenterの移植
利点
Mecab
性能比較
javascript(オリジナル)
mecab以外のわかち書き
TinySegmenter
TinySegmenter
IWordBreaker
科学 | の | 力 | で | は | どう | しよう | も | でき | ない | 、 | 魑魅魍魎 | など | の | 奇怪 | な | 輩 | に | 立ち向う | 胡散臭い | 男 | 。
http://chasen.org/~taku/software/TinySegmenter/
perl
http://search.cpan.org/dist/Text-TinySegmenter/
原文
TinySegmenter
javascript だけで実装された
わかち書き。25kバイト
mecab以外に、
日本語文章をわかち書きする
フリーのソフトはないの?
php
ちみもうりょう
http://www.programming-magic.com/20080816010106/
辞書レスでのわかち書きが可能。
サイズが超絶小さい 25kバイト。
辞書レスなので未知語にも強い。
各言語にポートティングされている。
python
科学 | の | 力 | で | は | どう | しよ | う | も | でき | ない | 、 | 魑魅 | 魍魎 | など | の | 奇怪 | な | 輩 | に | 立ち向かう | 胡散 | 臭い | 男 | 。
http://chasen.org/~taku/software/TinySegmenter/
http://www.programming-magic.com/20080726203844/
VBA
http://pub.ne.jp/arihagne/?entry_id=2768818
Objective-C
http://blog.bornneet.com/Entry/276/
java
http://code.google.com/p/cmecab-java/source/browse/trunk/src/net/moraleboost/tinysegmenter/TinySegmenter.java
rtiバージョン制約
... etc ...
C++
http://code.google.com/p/tinysegmenter-cpp/
非正規表現で動作
↑ C++ に移植してみた。
Windows SJIS に最適化
注意:
UTF-8の場合、
文字の区切りを教える必要あり。
Mecab
性能比較
科学 | の | 力 | で | は | どう | しよう | も | でき | ない | 、 | 魑魅魍魎 | など | の | 奇怪 | な | 輩 | に | 立ち向う | 胡散臭い | 男 | 。
特徴
IWordBreaker
COMなので
いろんな言語から呼べます。
IWordBreaker
原文
科学の | 力では | どう | しようもできない | 、 | 魑魅 | 魍魎などの | 奇怪な | 輩に | 立ち向かう | 胡散臭い | 男 | 。
windows標準搭載のわかち書き
科学の力ではどうしようもできない、魑魅魍魎などの奇怪な輩に立ち向かう胡散臭い男。
windows のテキストサーチ(index service / windows search)とかに使われている?わかち書きエンジン。
windows 2000以上から標準で搭載。
COMで呼び出すことが可能。
COMはすごい共有ライブラリ
みたいな感じです
呼び出し方法
結構、大まかな分け方をしてくれる。
vb
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
C#
理屈上
COMをサポートしている
すべての言語からは呼べるはず?
C++で実装してみた。
http://d.hatena.ne.jp/rti7743/20100314
AdaBoost
はまりどころ。
http://ja.wikipedia.org/wiki/AdaBoost
作者のページの技術的な話 より
windows標準搭載なので、
環境縛りや、
オープンソース禁止縛り、
などの縛りプレイを
している人には便利かも。。。
http://chasen.org/~taku/software/TinySegmenter/
ごめん無理
Mecab
科学 | の | 力 | で | は | どう | しよう | も | でき | ない | 、 | 魑魅魍魎 | など | の | 奇怪 | な | 輩 | に | 立ち向う | 胡散臭い | 男 | 。
よくわからないと
いうことが
わかった。
TinySegmenter
科学 | の | 力 | で | は | どう | しよ | う | も | でき | ない | 、 | 魑魅 | 魍魎 | など | の | 奇怪 | な | 輩 | に | 立ち向かう | 胡散 | 臭い | 男 | 。
弱い奴らでも、
結束して、束になってかかったら、
強い奴にも勝てるかもしれない。
orz
弱
強
弱
>_< ギャー
弱
勝てない...
(#゚Д゚)
返り討ちに
してくれる。
弱
IWordBreaker
ブースティング(英: Boosting)とは、教師あり学習を実行するための機械学習メタアルゴリズムの一種。
ブースティングは、Kearns の提示した「一連の弱い学習機をまとめることで強い学習機を生成できるか?」という疑問に基づいている[1]。
弱い学習機は、真の分類と若干の相関のある分類器と定義される。対照的に、強い学習機とは真の分類とよく相関する分類器である。
科学の | 力では | どう | しようもできない | 、 | 魑魅 | 魍魎などの | 奇怪な | 輩に | 立ち向かう | 胡散臭い | 男 | 。
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
mecabでいいぢゃんw
ですよねー
ありがとうございました。