SlideShare une entreprise Scribd logo
1  sur  20
©2014 NTT Resonant Inc. All Rights Reserved 1
エヌ・ティ・ティ レゾナント株式会社 藤村 武史
Jubatusで始める機械学習
(カスタマサポートへの適用検討と導入障壁)
©2014 NTT Resonant Inc. All Rights Reserved 2
はじめに
■アジェンダ
- 適用分野の紹介 (コンタクトセンターへの適用案)
- 試行錯誤の紹介 (検討段階まで)
■自己紹介
業務内容:
NTTレゾナントの法人営業部門
Windows向けツールの開発に携わっていました。
機械学習関係(jubatus)は、昨年末頃から携わっています。
利用頻度の比較的高い言語:
Java,C/C++
本件では社内の有識者の助力を得て取り組んでいました。
©2014 NTT Resonant Inc. All Rights Reserved
3
適用分野
■カスタマサポート(コンタクトセンター)への適用
問合せ
回答
データの蓄積 データの分析
運用業務 分析業務
コンタクトセンタ業務
・日々の問合せ受付けオペレーションを行う運用業務
・「寄せられた声」を分析し、改善に繋げる分析業務
3
©2014 NTT Resonant Inc. All Rights Reserved 4
適用分野
コンタクトセンター
要望
Jubatusによ
るソリューシ
ョン
内容
対応が不要な問合せ
(スパム、売込等)
は、事前に選別
分類器
スパム等を特徴づけるベクトルを設計する事で、該当する問合せを
回答する対象から除外する。
怒っている問合せ内
容を事前に分別
分類器
「怒り」を特徴づけるベクトルを設計する事で、問合せの内容から
申告者の「怒り」を判定し、「怒り」の問合せとそれ以外を分類す
る。
速やかな対応が必要
な問合せを事前に分
別
分類器
速やかな対応が必要な問合せを特徴づけるベクトル(緊急ベクトル
)を設計する事で、問合せの内容から緊急性を判定し、緊急な対応
が必要な問合せとそれ以外を分類する。
自動的に問合せ内容
を解釈し、適切なF
AQを返す
近傍探索
問合せ内容とFAQの内容を共通の特徴ベクトルで解析し、関連付け
る。
新たな手法による分
析の実施
クラスタリン
グ
Jubatusを利用する事で、従来の手法では得る事が難しい「気づき
」を得る。
・ Jubatus の適用案
©2014 NTT Resonant Inc. All Rights Reserved 5
適用分野
問い合わせ分類による効率化
ユーザ
コンタクトセンター
システム スーパーバイザー オペレーター
メール分類システム
メールの仕分けを目検にて実施
主にスパムの除去を行うメールフォームにて問合せ
問合せに対して回答を行う
メールにて回答
解決しない場合は、メールのやり取りが繰り返される
・現状
©2014 NTT Resonant Inc. All Rights Reserved 6
ユーザ
コンタクトセンターー
システム スーパーバイザー オペレーター
分類
近傍探索
メールフォームにて問合せ
適切なオペレータが
問合せに対して回答を行う
メールにて回答
解決しない場合は、メールのやり取りが繰り返される
近傍探索
システムで受付けた際に適切なレコメンドがされる
ことで、後工程に廻す件数を減らす事が可能となる
分類器の検証
正しく自動分類されることで、オペレータのス
キルに応じた対応が可能となり、人員配置の最適
化が可能となる
問い合わせ分類による効率化
適用分野
・Jubatusの適用案
Jubatus
対象外 怒り 緊急 その他
©2014 NTT Resonant Inc. All Rights Reserved 7
内容 概要 数量
gooへの問合せ
ポータルサイトgooに寄せられた利用者からの問合せ
https://goo.e-srvc.com/app/ask_select
315
ビジネスgooへの問合せ
法人向け有料サービスであるビジネスgooに寄せられた利用者
からの問合せ
https://business.goo.ne.jp/open_page/open_page/inquiry/
80
スパム
NTTレゾナントが導入しているスパムフィルタ「Barracuda Spam
& Virus Firewall Plus」がスパム判定をしたメール
http://www.barracuda.co.jp
150
gooが用意しているFAQ
ポータルサイトgooが用意している「よくある質問/お問い合わせ」
と、それに対する回答
https://goo.e-srvc.com/app/answers/list/
508
適用分野
・検証用データ
分析結果の予想が立てやすい「試験用データ」を用いるのではなく、
NTTレゾナントがWebサービスを提供する過程で得た「問合せデータ」を使用する
⇒ 人手で個人情報の削除をする必要があり、データ件数は数百単位程。
©2014 NTT Resonant Inc. All Rights Reserved 8
試行錯誤
・形態素を特徴ベクトルとした場合
項番 判定項目 基準
試験結果
(件)
1 問合せ対象外データを対象外と判定(真陽性) ○ 18
2 問合せ対象外データを対象と判定(偽陰性) △ 57
3 問合せ対象データを対象外と判定(偽陽性) × 2
4 問合せ対象データを対象と判定(真陰性) ○ 138
回答対象外(スパム)の分類器
⇒ 感度(再現率) 24%
特異度(適合率)99%
©2014 NTT Resonant Inc. All Rights Reserved 9
項番 判定項目 基準
試験結果
(件)
1 「怒り」のデータを「怒り」と判定(真陽性) ○ 1
2 「怒り」のデータを「その他」と判定(偽陰性) × 21
3 「その他」のデータを「怒り」と判定(偽陽性) △ 6
4 「その他」のデータを「その他」と判定(真陰性) ○ 256
怒り(クレーム)の分類器
試行錯誤
・形態素を特徴ベクトルとした場合
⇒ 感度(再現率) 5%
特異度(適合率)98%
©2014 NTT Resonant Inc. All Rights Reserved 10
試行錯誤
・機械学習に対するイメージとのキャップ
©2014 NTT Resonant Inc. All Rights Reserved 11
試行錯誤(特徴ベクトルの再設計)
No 特徴ベクトル構成要素(回答対象外(スパム)の分類器)
1 本文がURLで、構成されている
2 本文中に大量の画像が存在する
3 「メルマガ」に関しての固有表現がある
4 「儲け話」に関しての固有表現がある
5 「出会い系」サイトへ誘導する固有表現がある
6 「勧誘」をする際の固有表現がある
7 上記3~6に属さない回答を要しない問合せの固有表現がある
8 記号を乱用している
・次元数の低い特徴ベクトルに変更
各文書(スパム、クレーム)中の特徴的なワードの抽出。
・問題点(有識者からの指摘)
学習データ数(数十~百数十)に対して、特徴ベクトルの次元が大きすぎる
■ 回答対象外(スパム)の分類器
©2014 NTT Resonant Inc. All Rights Reserved 12
試行錯誤(特徴ベクトルの再設計)
No 特徴ベクトル構成要素(怒りの分類器)
1 記号を乱用している
2 「無能」に類似する語彙がある
3 「改悪」に類似する語彙がある
4 「卑怯」に類似する語彙がある
5 「貪欲」に類似する語彙がある
6 「憤り」に類似する語彙がある
7 「強要」に類似する語彙がある
8 「反対」に類似する語彙がある
9 「迷惑」に類似する語彙がある
10 「クレーム」に類似する語彙がある
11 「苛立たしさ」に類似する語彙がある
No 特徴ベクトル構成要素(怒りの分類器)
12 「魯鈍」に類似する語彙がある
13 「不当」に類似する語彙がある
14 「憤り」に類似する語彙がある
15 「行き過ぎ」に類似する語彙がある
16 「罵倒」をする際の固有表現がある
17 「ポジティブ」な表現がある ※
18 「ネガティブ」な表現がある ※
・次元数の低い特徴ベクトルに変更
■ 怒り(クレーム)の分類器
※「17」「18」の取得には
リッチインデクサを利用
©2014 NTT Resonant Inc. All Rights Reserved 13
【参考】躓き
Jubatusの分類器では分離超平面が原点を通るので、
定数項を追加する等の工夫が必要。
#特徴の次元が低い場合は影響が大きい?
©2014 NTT Resonant Inc. All Rights Reserved 14
・特徴的なワードを特徴ベクトルとした場合
回答対象外(スパム)の分類器
⇒ 感度(再現率) 24% → 51%
特異度(適合率)99% → 100%
⇒ 結果の改善
項番 判定項目 基準
試験結果(件)
初回 2回目
1 問合せ対象外データを対象外と判定(真陽性) ○ 18 38
2 問合せ対象外データを対象と判定(偽陰性) △ 57 37
3 問合せ対象データを対象外と判定(偽陽性) × 2 0
4 問合せ対象データを対象と判定(真陰性) ○ 138 140
試行錯誤(特徴ベクトルの再設計)
©2014 NTT Resonant Inc. All Rights Reserved 15
怒り(クレーム)の分類器
・特徴的なワードを特徴ベクトルとした場合
⇒ 感度(再現率) 5% → 18%
特異度(適合率)98% → 95%
項番 判定項目 基準
試験結果(件)
初回 2回目
1 「怒り」のデータを「怒り」と判定(真陽性) ○ 1 4
2 「怒り」のデータを「その他」と判定(偽陰性) × 21 18
3 「その他」のデータを「怒り」と判定(偽陽性) △ 6 12
4 「その他」のデータを「その他」と判定(真陰性) ○ 256 250
⇒ やや改善傾向
試行錯誤(特徴ベクトルの再設計)
©2014 NTT Resonant Inc. All Rights Reserved 16
試行錯誤(jubadump)
・Jubadumpによる特徴ベクトルの検証
Jubadump とは
学習モデル(係数)を表示することが出来るツール
以下から導入することが出来ます
https://github.com/jubatus/jubadump
"storage": {
"weight": {
"06_u52E7u8A98@num": {
"1": {
"v2": 0,
"v1": -0.436069326475,
"v3": 0
},
"0": {
"v2": 0,
"v1": 0.62849682197,
"v3": 0
}
},
"04_u5132u3051u8A71@num": {
・・・・
← このような出力が得られます。
©2014 NTT Resonant Inc. All Rights Reserved 17
※:小数点第3位を四捨五入
No 特徴ベクトル構成要素
係数(※)
回答を
要しない
回答を
要する
1 本文がURLで、構成されている 0.87 ー0.46
2 本文中に大量の画像が存在する ー0.20 0.20
3 「メルマガ」に関しての固有表現がある ー0.79 0.79
4 「儲け話」に関しての固有表現がある 1.54 ー1.50
5 「出会い系」サイトへ誘導する固有表現がある 0.22 ー0.13
6 「勧誘」をする際の固有表現がある ー0.44 0.63
7
上記3~6に属さない回答を要しない問合せの
固有表現がある
ー1.01 1.05
8 記号を乱用している 0.25 ー0.14
試行錯誤(jubadump)
Jubadumpで確認した係数(赤枠■は、本来正とすべき要素を負へ誘導する想定外の係数値)
・回答対象外(スパム)の分類器
©2014 NTT Resonant Inc. All Rights Reserved 18
試行錯誤(jubadump)
No 特徴ベクトル構成要素
係数(※)
怒り 怒りでない
1 記号を乱用している 351 135
2 「無能」に類似する語彙がある ー551 541
3 「改悪」に類似する語彙がある ー551 541
4 「卑怯」に類似する語彙がある ー551 541
5 「貪欲」に類似する語彙がある ー551 542
6 「憤り」に類似する語彙がある ー551 542
7 「強要」に類似する語彙がある ー551 542
8 「反対」に類似する語彙がある ー551 541
9 「迷惑」に類似する語彙がある ー551 541
10 「クレーム」に類似する語彙がある 465 440
11 「苛立たしさ」に類似する語彙がある ー551 542
Jubadumpで確認した係数(赤枠■は、本来正とすべき要素を負へ誘導する想定外の係数値)
・怒り(クレーム)の分類器
©2014 NTT Resonant Inc. All Rights Reserved 19
No 特徴ベクトル構成要素
係数(※)
怒り 怒りでない
12 「魯鈍」に類似する語彙がある ー551 542
13 「不当」に類似する語彙がある ー551 542
14 「憤り」に類似する語彙がある ー551 541
15 「行き過ぎ」に類似する語彙がある ー551 541
16 「罵倒」をする際の固有表現がある ー551 541
17 「ポジティブ」な表現がある ー551 541
18 「ネガティブ」な表現がある ー197 683
⇒ 過半数の特徴量が想定通りに機能していない
⇒ 根本的な特徴ベクトルの再設計が必要
どうしたら良いかご存知の方は、お声かけ下さい。
試行錯誤
©2014 NTT Resonant Inc. All Rights Reserved 20
導入障壁(ご相談)
・素人には敷居が高い
・データ数が少ない場合は…
データの種類によっては、十分なデータ数を確保できない。
- 教師データを人手で作成している場合
- データ利用にあたって個人情報の削除が必要な場合
動かしてみるまでの障壁は少ないが、
精度向上には、特徴ベクトル設計の職人技が必要?

Contenu connexe

En vedette

第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 JubatusハンズオンJubatusOfficial
 
標的型メール対策製品でのJubatus活用事例
標的型メール対策製品でのJubatus活用事例標的型メール対策製品でのJubatus活用事例
標的型メール対策製品でのJubatus活用事例JubatusOfficial
 
Jubatus Casual Talks #2: 大量映像・画像のための異常値検知とクラス分類
Jubatus Casual Talks #2: 大量映像・画像のための異常値検知とクラス分類Jubatus Casual Talks #2: 大量映像・画像のための異常値検知とクラス分類
Jubatus Casual Talks #2: 大量映像・画像のための異常値検知とクラス分類Hirotaka Ogawa
 
Jubatus Casual Talks #2 Jubatus開発者入門
Jubatus Casual Talks #2 Jubatus開発者入門Jubatus Casual Talks #2 Jubatus開発者入門
Jubatus Casual Talks #2 Jubatus開発者入門Shuzo Kashihara
 
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介瑛 村下
 
前回のCasual Talkでいただいたご要望に対する進捗状況
前回のCasual Talkでいただいたご要望に対する進捗状況前回のCasual Talkでいただいたご要望に対する進捗状況
前回のCasual Talkでいただいたご要望に対する進捗状況JubatusOfficial
 
Jubatus分類器の活用テクニック
Jubatus分類器の活用テクニックJubatus分類器の活用テクニック
Jubatus分類器の活用テクニックJubatusOfficial
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Shohei Hido
 
発言小町からのプロファイリング
発言小町からのプロファイリング発言小町からのプロファイリング
発言小町からのプロファイリングJubatusOfficial
 
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAIJubatusOfficial
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual TalksYuya Unno
 
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノ
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノAndroidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノ
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノKohei Mochida
 
Demystifying Systems for Interactive and Real-time Analytics
Demystifying Systems for Interactive and Real-time AnalyticsDemystifying Systems for Interactive and Real-time Analytics
Demystifying Systems for Interactive and Real-time AnalyticsDataWorks Summit
 
Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013Preferred Networks
 
Hadoop Turns a Corner and Sees the Future
Hadoop Turns a Corner and Sees the FutureHadoop Turns a Corner and Sees the Future
Hadoop Turns a Corner and Sees the FutureDataWorks Summit
 
世界征服を目指すJubatusだからこそ期待する5つのポイント
世界征服を目指すJubatusだからこそ期待する5つのポイント世界征服を目指すJubatusだからこそ期待する5つのポイント
世界征服を目指すJubatusだからこそ期待する5つのポイントNTT DATA OSS Professional Services
 
Jubatusハンズオン分散編
Jubatusハンズオン分散編Jubatusハンズオン分散編
Jubatusハンズオン分散編odasatoshi
 

En vedette (20)

第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
 
標的型メール対策製品でのJubatus活用事例
標的型メール対策製品でのJubatus活用事例標的型メール対策製品でのJubatus活用事例
標的型メール対策製品でのJubatus活用事例
 
Jubatus Casual Talks #2: 大量映像・画像のための異常値検知とクラス分類
Jubatus Casual Talks #2: 大量映像・画像のための異常値検知とクラス分類Jubatus Casual Talks #2: 大量映像・画像のための異常値検知とクラス分類
Jubatus Casual Talks #2: 大量映像・画像のための異常値検知とクラス分類
 
Jubatus Casual Talks #2 Jubatus開発者入門
Jubatus Casual Talks #2 Jubatus開発者入門Jubatus Casual Talks #2 Jubatus開発者入門
Jubatus Casual Talks #2 Jubatus開発者入門
 
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
 
前回のCasual Talkでいただいたご要望に対する進捗状況
前回のCasual Talkでいただいたご要望に対する進捗状況前回のCasual Talkでいただいたご要望に対する進捗状況
前回のCasual Talkでいただいたご要望に対する進捗状況
 
Jubatus分類器の活用テクニック
Jubatus分類器の活用テクニックJubatus分類器の活用テクニック
Jubatus分類器の活用テクニック
 
Jubatus casulatalks2
Jubatus casulatalks2Jubatus casulatalks2
Jubatus casulatalks2
 
A use case of online machine learning using Jubatus
A use case of online machine learning using JubatusA use case of online machine learning using Jubatus
A use case of online machine learning using Jubatus
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
 
発言小町からのプロファイリング
発言小町からのプロファイリング発言小町からのプロファイリング
発言小町からのプロファイリング
 
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
 
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノ
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノAndroidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノ
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノ
 
Demystifying Systems for Interactive and Real-time Analytics
Demystifying Systems for Interactive and Real-time AnalyticsDemystifying Systems for Interactive and Real-time Analytics
Demystifying Systems for Interactive and Real-time Analytics
 
Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013
 
Hadoop Turns a Corner and Sees the Future
Hadoop Turns a Corner and Sees the FutureHadoop Turns a Corner and Sees the Future
Hadoop Turns a Corner and Sees the Future
 
世界征服を目指すJubatusだからこそ期待する5つのポイント
世界征服を目指すJubatusだからこそ期待する5つのポイント世界征服を目指すJubatusだからこそ期待する5つのポイント
世界征服を目指すJubatusだからこそ期待する5つのポイント
 
Jubatusハンズオン分散編
Jubatusハンズオン分散編Jubatusハンズオン分散編
Jubatusハンズオン分散編
 
Video Analysis in Hadoop
Video Analysis in HadoopVideo Analysis in Hadoop
Video Analysis in Hadoop
 

Plus de JubatusOfficial

Python 特徴抽出プラグイン
Python 特徴抽出プラグインPython 特徴抽出プラグイン
Python 特徴抽出プラグインJubatusOfficial
 
Jubatus解説本の紹介
Jubatus解説本の紹介Jubatus解説本の紹介
Jubatus解説本の紹介JubatusOfficial
 
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)JubatusOfficial
 
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみたJubatusOfficial
 
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する新聞から今年の漢字を予測する
新聞から今年の漢字を予測するJubatusOfficial
 
かまってちゃん小町
かまってちゃん小町かまってちゃん小町
かまってちゃん小町JubatusOfficial
 
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用JubatusOfficial
 
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化JubatusOfficial
 
jubarecommenderの紹介
jubarecommenderの紹介jubarecommenderの紹介
jubarecommenderの紹介JubatusOfficial
 
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定JubatusOfficial
 
Jubatus 新機能ハイライト
Jubatus 新機能ハイライトJubatus 新機能ハイライト
Jubatus 新機能ハイライトJubatusOfficial
 

Plus de JubatusOfficial (20)

新機能紹介 1.0.6
新機能紹介 1.0.6新機能紹介 1.0.6
新機能紹介 1.0.6
 
Python 特徴抽出プラグイン
Python 特徴抽出プラグインPython 特徴抽出プラグイン
Python 特徴抽出プラグイン
 
Jubakitの解説
Jubakitの解説Jubakitの解説
Jubakitの解説
 
Jubatus解説本の紹介
Jubatus解説本の紹介Jubatus解説本の紹介
Jubatus解説本の紹介
 
JUBARHYME
JUBARHYMEJUBARHYME
JUBARHYME
 
小町の溜息
小町の溜息小町の溜息
小町の溜息
 
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
 
銀座のママ
銀座のママ銀座のママ
銀座のママ
 
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
 
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
 
かまってちゃん小町
かまってちゃん小町かまってちゃん小町
かまってちゃん小町
 
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
 
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
 
jubarecommenderの紹介
jubarecommenderの紹介jubarecommenderの紹介
jubarecommenderの紹介
 
JubaQLご紹介
JubaQLご紹介JubaQLご紹介
JubaQLご紹介
 
Jubaanomalyについて
JubaanomalyについてJubaanomalyについて
Jubaanomalyについて
 
jubabanditの紹介
jubabanditの紹介jubabanditの紹介
jubabanditの紹介
 
Jubakitの紹介
Jubakitの紹介Jubakitの紹介
Jubakitの紹介
 
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
 
Jubatus 新機能ハイライト
Jubatus 新機能ハイライトJubatus 新機能ハイライト
Jubatus 新機能ハイライト
 

Jubatusで始める機械学習

  • 1. ©2014 NTT Resonant Inc. All Rights Reserved 1 エヌ・ティ・ティ レゾナント株式会社 藤村 武史 Jubatusで始める機械学習 (カスタマサポートへの適用検討と導入障壁)
  • 2. ©2014 NTT Resonant Inc. All Rights Reserved 2 はじめに ■アジェンダ - 適用分野の紹介 (コンタクトセンターへの適用案) - 試行錯誤の紹介 (検討段階まで) ■自己紹介 業務内容: NTTレゾナントの法人営業部門 Windows向けツールの開発に携わっていました。 機械学習関係(jubatus)は、昨年末頃から携わっています。 利用頻度の比較的高い言語: Java,C/C++ 本件では社内の有識者の助力を得て取り組んでいました。
  • 3. ©2014 NTT Resonant Inc. All Rights Reserved 3 適用分野 ■カスタマサポート(コンタクトセンター)への適用 問合せ 回答 データの蓄積 データの分析 運用業務 分析業務 コンタクトセンタ業務 ・日々の問合せ受付けオペレーションを行う運用業務 ・「寄せられた声」を分析し、改善に繋げる分析業務 3
  • 4. ©2014 NTT Resonant Inc. All Rights Reserved 4 適用分野 コンタクトセンター 要望 Jubatusによ るソリューシ ョン 内容 対応が不要な問合せ (スパム、売込等) は、事前に選別 分類器 スパム等を特徴づけるベクトルを設計する事で、該当する問合せを 回答する対象から除外する。 怒っている問合せ内 容を事前に分別 分類器 「怒り」を特徴づけるベクトルを設計する事で、問合せの内容から 申告者の「怒り」を判定し、「怒り」の問合せとそれ以外を分類す る。 速やかな対応が必要 な問合せを事前に分 別 分類器 速やかな対応が必要な問合せを特徴づけるベクトル(緊急ベクトル )を設計する事で、問合せの内容から緊急性を判定し、緊急な対応 が必要な問合せとそれ以外を分類する。 自動的に問合せ内容 を解釈し、適切なF AQを返す 近傍探索 問合せ内容とFAQの内容を共通の特徴ベクトルで解析し、関連付け る。 新たな手法による分 析の実施 クラスタリン グ Jubatusを利用する事で、従来の手法では得る事が難しい「気づき 」を得る。 ・ Jubatus の適用案
  • 5. ©2014 NTT Resonant Inc. All Rights Reserved 5 適用分野 問い合わせ分類による効率化 ユーザ コンタクトセンター システム スーパーバイザー オペレーター メール分類システム メールの仕分けを目検にて実施 主にスパムの除去を行うメールフォームにて問合せ 問合せに対して回答を行う メールにて回答 解決しない場合は、メールのやり取りが繰り返される ・現状
  • 6. ©2014 NTT Resonant Inc. All Rights Reserved 6 ユーザ コンタクトセンターー システム スーパーバイザー オペレーター 分類 近傍探索 メールフォームにて問合せ 適切なオペレータが 問合せに対して回答を行う メールにて回答 解決しない場合は、メールのやり取りが繰り返される 近傍探索 システムで受付けた際に適切なレコメンドがされる ことで、後工程に廻す件数を減らす事が可能となる 分類器の検証 正しく自動分類されることで、オペレータのス キルに応じた対応が可能となり、人員配置の最適 化が可能となる 問い合わせ分類による効率化 適用分野 ・Jubatusの適用案 Jubatus 対象外 怒り 緊急 その他
  • 7. ©2014 NTT Resonant Inc. All Rights Reserved 7 内容 概要 数量 gooへの問合せ ポータルサイトgooに寄せられた利用者からの問合せ https://goo.e-srvc.com/app/ask_select 315 ビジネスgooへの問合せ 法人向け有料サービスであるビジネスgooに寄せられた利用者 からの問合せ https://business.goo.ne.jp/open_page/open_page/inquiry/ 80 スパム NTTレゾナントが導入しているスパムフィルタ「Barracuda Spam & Virus Firewall Plus」がスパム判定をしたメール http://www.barracuda.co.jp 150 gooが用意しているFAQ ポータルサイトgooが用意している「よくある質問/お問い合わせ」 と、それに対する回答 https://goo.e-srvc.com/app/answers/list/ 508 適用分野 ・検証用データ 分析結果の予想が立てやすい「試験用データ」を用いるのではなく、 NTTレゾナントがWebサービスを提供する過程で得た「問合せデータ」を使用する ⇒ 人手で個人情報の削除をする必要があり、データ件数は数百単位程。
  • 8. ©2014 NTT Resonant Inc. All Rights Reserved 8 試行錯誤 ・形態素を特徴ベクトルとした場合 項番 判定項目 基準 試験結果 (件) 1 問合せ対象外データを対象外と判定(真陽性) ○ 18 2 問合せ対象外データを対象と判定(偽陰性) △ 57 3 問合せ対象データを対象外と判定(偽陽性) × 2 4 問合せ対象データを対象と判定(真陰性) ○ 138 回答対象外(スパム)の分類器 ⇒ 感度(再現率) 24% 特異度(適合率)99%
  • 9. ©2014 NTT Resonant Inc. All Rights Reserved 9 項番 判定項目 基準 試験結果 (件) 1 「怒り」のデータを「怒り」と判定(真陽性) ○ 1 2 「怒り」のデータを「その他」と判定(偽陰性) × 21 3 「その他」のデータを「怒り」と判定(偽陽性) △ 6 4 「その他」のデータを「その他」と判定(真陰性) ○ 256 怒り(クレーム)の分類器 試行錯誤 ・形態素を特徴ベクトルとした場合 ⇒ 感度(再現率) 5% 特異度(適合率)98%
  • 10. ©2014 NTT Resonant Inc. All Rights Reserved 10 試行錯誤 ・機械学習に対するイメージとのキャップ
  • 11. ©2014 NTT Resonant Inc. All Rights Reserved 11 試行錯誤(特徴ベクトルの再設計) No 特徴ベクトル構成要素(回答対象外(スパム)の分類器) 1 本文がURLで、構成されている 2 本文中に大量の画像が存在する 3 「メルマガ」に関しての固有表現がある 4 「儲け話」に関しての固有表現がある 5 「出会い系」サイトへ誘導する固有表現がある 6 「勧誘」をする際の固有表現がある 7 上記3~6に属さない回答を要しない問合せの固有表現がある 8 記号を乱用している ・次元数の低い特徴ベクトルに変更 各文書(スパム、クレーム)中の特徴的なワードの抽出。 ・問題点(有識者からの指摘) 学習データ数(数十~百数十)に対して、特徴ベクトルの次元が大きすぎる ■ 回答対象外(スパム)の分類器
  • 12. ©2014 NTT Resonant Inc. All Rights Reserved 12 試行錯誤(特徴ベクトルの再設計) No 特徴ベクトル構成要素(怒りの分類器) 1 記号を乱用している 2 「無能」に類似する語彙がある 3 「改悪」に類似する語彙がある 4 「卑怯」に類似する語彙がある 5 「貪欲」に類似する語彙がある 6 「憤り」に類似する語彙がある 7 「強要」に類似する語彙がある 8 「反対」に類似する語彙がある 9 「迷惑」に類似する語彙がある 10 「クレーム」に類似する語彙がある 11 「苛立たしさ」に類似する語彙がある No 特徴ベクトル構成要素(怒りの分類器) 12 「魯鈍」に類似する語彙がある 13 「不当」に類似する語彙がある 14 「憤り」に類似する語彙がある 15 「行き過ぎ」に類似する語彙がある 16 「罵倒」をする際の固有表現がある 17 「ポジティブ」な表現がある ※ 18 「ネガティブ」な表現がある ※ ・次元数の低い特徴ベクトルに変更 ■ 怒り(クレーム)の分類器 ※「17」「18」の取得には リッチインデクサを利用
  • 13. ©2014 NTT Resonant Inc. All Rights Reserved 13 【参考】躓き Jubatusの分類器では分離超平面が原点を通るので、 定数項を追加する等の工夫が必要。 #特徴の次元が低い場合は影響が大きい?
  • 14. ©2014 NTT Resonant Inc. All Rights Reserved 14 ・特徴的なワードを特徴ベクトルとした場合 回答対象外(スパム)の分類器 ⇒ 感度(再現率) 24% → 51% 特異度(適合率)99% → 100% ⇒ 結果の改善 項番 判定項目 基準 試験結果(件) 初回 2回目 1 問合せ対象外データを対象外と判定(真陽性) ○ 18 38 2 問合せ対象外データを対象と判定(偽陰性) △ 57 37 3 問合せ対象データを対象外と判定(偽陽性) × 2 0 4 問合せ対象データを対象と判定(真陰性) ○ 138 140 試行錯誤(特徴ベクトルの再設計)
  • 15. ©2014 NTT Resonant Inc. All Rights Reserved 15 怒り(クレーム)の分類器 ・特徴的なワードを特徴ベクトルとした場合 ⇒ 感度(再現率) 5% → 18% 特異度(適合率)98% → 95% 項番 判定項目 基準 試験結果(件) 初回 2回目 1 「怒り」のデータを「怒り」と判定(真陽性) ○ 1 4 2 「怒り」のデータを「その他」と判定(偽陰性) × 21 18 3 「その他」のデータを「怒り」と判定(偽陽性) △ 6 12 4 「その他」のデータを「その他」と判定(真陰性) ○ 256 250 ⇒ やや改善傾向 試行錯誤(特徴ベクトルの再設計)
  • 16. ©2014 NTT Resonant Inc. All Rights Reserved 16 試行錯誤(jubadump) ・Jubadumpによる特徴ベクトルの検証 Jubadump とは 学習モデル(係数)を表示することが出来るツール 以下から導入することが出来ます https://github.com/jubatus/jubadump "storage": { "weight": { "06_u52E7u8A98@num": { "1": { "v2": 0, "v1": -0.436069326475, "v3": 0 }, "0": { "v2": 0, "v1": 0.62849682197, "v3": 0 } }, "04_u5132u3051u8A71@num": { ・・・・ ← このような出力が得られます。
  • 17. ©2014 NTT Resonant Inc. All Rights Reserved 17 ※:小数点第3位を四捨五入 No 特徴ベクトル構成要素 係数(※) 回答を 要しない 回答を 要する 1 本文がURLで、構成されている 0.87 ー0.46 2 本文中に大量の画像が存在する ー0.20 0.20 3 「メルマガ」に関しての固有表現がある ー0.79 0.79 4 「儲け話」に関しての固有表現がある 1.54 ー1.50 5 「出会い系」サイトへ誘導する固有表現がある 0.22 ー0.13 6 「勧誘」をする際の固有表現がある ー0.44 0.63 7 上記3~6に属さない回答を要しない問合せの 固有表現がある ー1.01 1.05 8 記号を乱用している 0.25 ー0.14 試行錯誤(jubadump) Jubadumpで確認した係数(赤枠■は、本来正とすべき要素を負へ誘導する想定外の係数値) ・回答対象外(スパム)の分類器
  • 18. ©2014 NTT Resonant Inc. All Rights Reserved 18 試行錯誤(jubadump) No 特徴ベクトル構成要素 係数(※) 怒り 怒りでない 1 記号を乱用している 351 135 2 「無能」に類似する語彙がある ー551 541 3 「改悪」に類似する語彙がある ー551 541 4 「卑怯」に類似する語彙がある ー551 541 5 「貪欲」に類似する語彙がある ー551 542 6 「憤り」に類似する語彙がある ー551 542 7 「強要」に類似する語彙がある ー551 542 8 「反対」に類似する語彙がある ー551 541 9 「迷惑」に類似する語彙がある ー551 541 10 「クレーム」に類似する語彙がある 465 440 11 「苛立たしさ」に類似する語彙がある ー551 542 Jubadumpで確認した係数(赤枠■は、本来正とすべき要素を負へ誘導する想定外の係数値) ・怒り(クレーム)の分類器
  • 19. ©2014 NTT Resonant Inc. All Rights Reserved 19 No 特徴ベクトル構成要素 係数(※) 怒り 怒りでない 12 「魯鈍」に類似する語彙がある ー551 542 13 「不当」に類似する語彙がある ー551 542 14 「憤り」に類似する語彙がある ー551 541 15 「行き過ぎ」に類似する語彙がある ー551 541 16 「罵倒」をする際の固有表現がある ー551 541 17 「ポジティブ」な表現がある ー551 541 18 「ネガティブ」な表現がある ー197 683 ⇒ 過半数の特徴量が想定通りに機能していない ⇒ 根本的な特徴ベクトルの再設計が必要 どうしたら良いかご存知の方は、お声かけ下さい。 試行錯誤
  • 20. ©2014 NTT Resonant Inc. All Rights Reserved 20 導入障壁(ご相談) ・素人には敷居が高い ・データ数が少ない場合は… データの種類によっては、十分なデータ数を確保できない。 - 教師データを人手で作成している場合 - データ利用にあたって個人情報の削除が必要な場合 動かしてみるまでの障壁は少ないが、 精度向上には、特徴ベクトル設計の職人技が必要?