jubatus 新機能ハイライト
TRANSCRIPT
新機能ハイライト 0.8.0 => 0.9.1
IMAMASU Ryohei
Jubatus Casual Talks #4
2016-06-18
1. サポートOSの拡大
2
•0.8.0 から RHEL 7
•0.9.0 から Ubuntu 14.04 LTS
最新版の公式サポートOSは
• RHEL 6, 7
• Ubuntu 12.04 LTS, 14.04 LTS
2. NearestNeighbor 性能改善
3
• 内部処理を見直すことにより、大幅な性能改善を実施 • 内部処理の並列化、乱数生成器の変更、乱数値のキャッシュ など
• 詳しくはブログで • http://blog.jubat.us/2016/05/nearest-neighbor.html
効果が大きいケースでは10倍以上
3. Mecabプラグインへの機能追加
4
•3つの機能追加を実施 •テキストデータを扱う際の前処理の手間を削減 •これまでのMecabプラグインを使うよりも精度の向上が期待できる(?)
3.1 原型変換
5
•0.8.8 から サポート
本日は天気が良かった
本日
0.8.0までの特徴量抽出
「良かっ」を原型である「良い」に変換
は 天気
が 良かっ た
本日
原型変換
は 天気
が 良い た
3.2 品詞フィルタ
6
•0.8.9 から サポート
本日は天気が良かった
本日
0.8.0までの特徴量抽出
名詞以外は特徴量として利用しない
は 天気
が 良かっ た
本日
名詞だけ抽出
は 天気
が 良い た
3.3 形態素 N-gram
7
•0.8.6 から サポート
本日は天気が良かった
本日
0.8.0までの特徴量抽出
形態素解析の結果に 2-gram を適用したものを特徴量に利用 原型変換、品詞フィルタの後に適用される
は 天気
が 良かっ た
本日,は
原型変換 + 2-gram
は,天気 天気,が
が,良い 良い,た
4. 特徴量変換デバグ用エンジンの追加
8
•0.9.1 から jubaweight を追加
•特徴量変換設定(fv_converter)のデバグが容易
ビールが好きだが、焼酎も好き
特徴 特徴量
text$ビール@mecab#tf/bin 1.0
text$焼酎@mecab#tf/bin 1.0
text$好き@mecab#tf/bin 2.0
原型変換 + 名詞だけ抽出
5. Recommender::inverted_index_euclid
9
•0.8.7 から 追加
•「inverted_index」の類似性指標はコサイン類似度
•「inverted_index_euclid」はユークリッド距離
近似計算有無
近似計算あり 近似計算なし
類似度指標
コサイン類似度 lsh inverted_index
ユークリッド距離 euclid_lsh Inverted_index_euclid
Jaccard係数 minhash なし
6. Classifier::cosine, euclidian
10
•0.9.0 から 追加
•近似計算を行わない非線形分類アルゴリズム
近似計算有無
近似計算あり 近似計算なし
類似度指標
コサイン類似度 NN::lsh cosine
ユークリッド距離 NN::euclid_lsh euclidian
Jaccard係数 NN::minhash なし
7.1 忘却サポートの拡大(Recommender)
11
•0.9.0 から Recommender の ほぼ全アルゴリズムをサポート
アルゴリズム 忘却サポート開始バージョン
inverted_index 0.8.1
inverted_index_euclid 0.8.8
minhash 0.8.7
lsh 0.8.5
euclid_lsh 0.9.0
nearest_neighbor_recommender もう少し待ってね
7.2 忘却サポートの拡大(Anomaly)
12
•0.9.1 から Anomaly の 全アルゴリズムをサポート
アルゴリズム 忘却サポート開始バージョン
lof 0.6.0
light_lof 0.9.1
おまたせ!
8. classifier::get_labels の仕様変更
13
•0.9.0 から ラベルごとの学習件数を返却
•ラベルごとの学習データ数を揃えるのが容易に
[ “ビール”, “焼酎”, “日本酒” ]
{ “ビール”: 210, “焼酎” : 32, “日本酒” : 5 ]
9. デフォルト設定ファイル
14
•0.9.1から各エンジンの「デフォルト設定ファイル」を用意 •サンプル設定ファイルの「default.json」 •「ちょっと試してみよう」という方にオススメの設定 •精度が出ない場合は、これをベースに jubakit などを使って、チューニング & 評価
おわりに
15
•0.8.0(2015年6月)から 0.9.1(2016年5月)までの大きな機能追加・改善を紹介
•これ以外にも細かなバグフィクスや機能改善も実施
•みなさまからのコントリビュートお待ちしてます