15
新機能ハイライト 0.8.0 => 0.9.1 IMAMASU Ryohei Jubatus Casual Talks #4 2016-06-18

Jubatus 新機能ハイライト

Embed Size (px)

Citation preview

Page 1: Jubatus 新機能ハイライト

新機能ハイライト 0.8.0 => 0.9.1

IMAMASU Ryohei

Jubatus Casual Talks #4

2016-06-18

Page 2: Jubatus 新機能ハイライト

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

Page 3: Jubatus 新機能ハイライト

2. NearestNeighbor 性能改善

3

• 内部処理を見直すことにより、大幅な性能改善を実施 • 内部処理の並列化、乱数生成器の変更、乱数値のキャッシュ など

• 詳しくはブログで • http://blog.jubat.us/2016/05/nearest-neighbor.html

効果が大きいケースでは10倍以上

Page 4: Jubatus 新機能ハイライト

3. Mecabプラグインへの機能追加

4

•3つの機能追加を実施 •テキストデータを扱う際の前処理の手間を削減 •これまでのMecabプラグインを使うよりも精度の向上が期待できる(?)

Page 5: Jubatus 新機能ハイライト

3.1 原型変換

5

•0.8.8 から サポート

本日は天気が良かった

本日

0.8.0までの特徴量抽出

「良かっ」を原型である「良い」に変換

は 天気

が 良かっ た

本日

原型変換

は 天気

が 良い た

Page 6: Jubatus 新機能ハイライト

3.2 品詞フィルタ

6

•0.8.9 から サポート

本日は天気が良かった

本日

0.8.0までの特徴量抽出

名詞以外は特徴量として利用しない

は 天気

が 良かっ た

本日

名詞だけ抽出

は 天気

が 良い た

Page 7: Jubatus 新機能ハイライト

3.3 形態素 N-gram

7

•0.8.6 から サポート

本日は天気が良かった

本日

0.8.0までの特徴量抽出

形態素解析の結果に 2-gram を適用したものを特徴量に利用 原型変換、品詞フィルタの後に適用される

は 天気

が 良かっ た

本日,は

原型変換 + 2-gram

は,天気 天気,が

が,良い 良い,た

Page 8: Jubatus 新機能ハイライト

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

原型変換 + 名詞だけ抽出

Page 9: Jubatus 新機能ハイライト

5. Recommender::inverted_index_euclid

9

•0.8.7 から 追加

•「inverted_index」の類似性指標はコサイン類似度

•「inverted_index_euclid」はユークリッド距離

近似計算有無

近似計算あり 近似計算なし

類似度指標

コサイン類似度 lsh inverted_index

ユークリッド距離 euclid_lsh Inverted_index_euclid

Jaccard係数 minhash なし

Page 10: Jubatus 新機能ハイライト

6. Classifier::cosine, euclidian

10

•0.9.0 から 追加

•近似計算を行わない非線形分類アルゴリズム

近似計算有無

近似計算あり 近似計算なし

類似度指標

コサイン類似度 NN::lsh cosine

ユークリッド距離 NN::euclid_lsh euclidian

Jaccard係数 NN::minhash なし

Page 11: Jubatus 新機能ハイライト

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 もう少し待ってね

Page 12: Jubatus 新機能ハイライト

7.2 忘却サポートの拡大(Anomaly)

12

•0.9.1 から Anomaly の 全アルゴリズムをサポート

アルゴリズム 忘却サポート開始バージョン

lof 0.6.0

light_lof 0.9.1

おまたせ!

Page 13: Jubatus 新機能ハイライト

8. classifier::get_labels の仕様変更

13

•0.9.0 から ラベルごとの学習件数を返却

•ラベルごとの学習データ数を揃えるのが容易に

[ “ビール”, “焼酎”, “日本酒” ]

{ “ビール”: 210, “焼酎” : 32, “日本酒” : 5 ]

Page 14: Jubatus 新機能ハイライト

9. デフォルト設定ファイル

14

•0.9.1から各エンジンの「デフォルト設定ファイル」を用意 •サンプル設定ファイルの「default.json」 •「ちょっと試してみよう」という方にオススメの設定 •精度が出ない場合は、これをベースに jubakit などを使って、チューニング & 評価

Page 15: Jubatus 新機能ハイライト

おわりに

15

•0.8.0(2015年6月)から 0.9.1(2016年5月)までの大きな機能追加・改善を紹介

•これ以外にも細かなバグフィクスや機能改善も実施

•みなさまからのコントリビュートお待ちしてます