More Related Content
Similar to 形態素解析の実装言語Talk パネルディスカッション
Similar to 形態素解析の実装言語Talk パネルディスカッション (20)
More from JustSystems Corporation
More from JustSystems Corporation (20)
形態素解析の実装言語Talk パネルディスカッション
- 4. 自己紹介
2015 年 4 月 はてな入社
全文検索の精度改善など
!
興味
情報検索 / 自然言語処理 / 機械学習
!
JS で開発した OSS ライブラリ
Complete FST 文字列変換
Two-Layer Perceptron 機械学習
Double-Array 圧縮データ構造
kuromoji.js 形態素解析器
waifu2x.js 画像超解像 new!
- 6. Why JavaScript ?
そこにブラウザがあるからだ
プリインストールされた世界共通のプラットフォーム
PC / Mac / iOS / Android の壁を越える
"Write once, run anywhere"
!
Typed Arrays サポート Chrome 7.0- FF 4.0- IE 10- Safari 5.1-
いわゆるバイト配列(型付き)
高速 / 高効率なデータ構造を構築できる
kuromoji.js の生命線
!
Browserify の登場によりモジュール化が一気に加速
Node.js でもブラウザでもどちらでも動くライブラリが書ける
npm: Node.js のパッケージがブラウザでも使える
- 7. JavaScript のこれから
あらゆるものが Web につながる時代
スマートデバイス / IoT
!
クライアントサイドもどんどんリッチに
スマートフォンの高性能化
SPA (Single Page Application)
Atwood's Law
“JavaScript で書けるものは、いずれ JavaScript で書かれる”
- 11. いろいろありません
クラス,コンストラクタ ありません 型と構造体ががあります
例外,try-catch ありません 返値を複数返せます.error も一緒に返しましょう
while文,ありません for文あれば十分ですよね
継承,ありません
いちおう,埋め込みというのが出来ます.あんまり使わないけ
ど
public, private というキーワードはありません 頭が大文字なら public, 小文字なら private でいいよね
ポインタ演算,ありません 危険ですよね
Setter, Getter の文化はありません 構造体のメンバーを直接書き換えましょう
ジェネリクス,もちろんありません いろいろ議論はあるみたいですが・・・
- 16. janome
とは
• http://mocobeta.github.io/janome/
• “janome (蛇の目) は, Pure Python で書かれた, 辞書
内包の形態素解析器です.”
(venv) $ pip install janome!
(venv) $ python!
>>> from janome.tokenizer import Tokenizer!
>>> t = Tokenizer()!
>>> for token in t.tokenize('すもももももももものうち'):!
... print(token)!
...!
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ!
も 助詞,係助詞,*,*,*,*,も,モ,モ!
もも 名詞,一般,*,*,*,*,もも,モモ,モモ!
も 助詞,係助詞,*,*,*,*,も,モ,モ!
もも 名詞,一般,*,*,*,*,もも,モモ,モモ!
の 助詞,連体化,*,*,*,*,の,ノ,ノ!
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
- 20. Python
で作って大変だったこと
• 2 系のサポート
• Python 2系と3系の互換性がない / まだまだ 2 系が現役
• 最初は 3 系だけサポートのつもりだったけど、 2 系への対応要望は高かった
• パフォーマンス
• (Pure) Python でメモリ/CPU効率の良いコードを書くにはスキルと工夫が必要
• …と作ってみてから実感
• もうちょっと実装がんばります(まだ最適化の余地はあるはず)