36
Wikipedia Entity Vector WordNet とととととととと Chainer とととと Attention ととととととととととととととととと Bot ととと

Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Embed Size (px)

Citation preview

Page 1: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Wikipedia Entity Vector と WordNet で対話内容を選定しChainer を用いた Attention モデルで発話内の重要な単語に着目する Bot の作成

Page 2: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

自己紹介大串 正矢 @SnowGushiGit

ポート株式会社   Web 開発事業部 研究チーム Tech-Circle  運営スタッフ 機械学習/自然言語処理 インフラ自動構築 /並列分散処理 Python

Page 3: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Agenda• Theme of LT

• Conversation Pattern • Use Case 1• Use Case 2

• System Architecture

• Choose TOPIC using by Wikipedia Entity Vector and Word Net

• Focus Speech of contents using by Attention Model

Page 4: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Theme of LT

Page 5: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Theme of LT

Choice and Focus

Page 6: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Conversation Pattern

Page 7: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Conversation Pattern 彼氏

パパ

Page 8: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Conversation Pattern

私 と仕事のどっちが 大事 ?

その 服 可愛いどこ で買ったの?

パパ 小遣い 頂戴

彼氏

パパ

Page 9: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Theme of LTユーザーそれぞれの対話履歴が必要しかし最初はない・・・最初から内容を絞りたい

Page 10: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

System Architecture

Page 11: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

System Architecture

SQLite

対話破綻コーパス

ファインチューニング用学習データ

プレトレイン WikiPedia タイトルデータ学習

  データ取得  データ出力

チューニング

  ボット応答

  ユーザーアクション

Word NetWikipedia

Entity Vector

Word NetWikipedia

Entity Vector

Page 12: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by

Wikipedia Entity Vector and Word Net

Page 13: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net

彼氏

パパ

Page 14: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net• Word Net は何??

– 単語に概念を付与してグループ化してくれているデータセット

スコティッシュホールド クロネコ オレンジネコ

ネコ

Page 15: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word

Net

しかし概念数が多い:その数 57,238 概念概念数が多いとデータを用意しづらい

Page 16: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word

Net

同じような概念があるはず:それをまとめたい

Page 17: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net• Wikipedia Entity Vector は何??

– 単語、および Wikipedia で記事となっているエンティティの分散表現ベクトル

Page 18: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word

Net

概念にベクトルが付与できる:つまり計算が可能に(注意:今回は計算量とメモリの関係で 20万単語のみ使用)

Page 19: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net

Word NetとWikipedia Entity Vectorを組み合わせることで概念クラスを分散ベクトル化

Page 20: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net• Word Net と Wikipedia Entity Vector を組み合わせ

1: Word Net の概念クラスを Wikipedia Entity Vector を用いて  サマライズ2: Word Net の未知語を Wikipedia Entity Vector で付与3:概念クラスの平均ベクトルを Wikipedia Entity Vector で  導出4:概念クラスをサマライズ5:概念クラス内の単語の頻度が 1000 以上だけ残す

Page 21: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net

1 : Word Net の概念クラスを Wikipedia Entity Vector を用いてサマライズ ネコ :[0.2, 0.3, 0.4…]

犬 :[0.3, 0.4, 0.5…]Wikipedia

Entity Vector

うさぎ :[0.2, 0.5, 0.4…]

コサイン類似度計算

Page 22: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net

2: Word Net の未知語を Wikipedia Entity Vector で付与

クロネコ白猫:三毛猫:

ネコWikipedia Entity Vector

コサイン類似度近い

未知語なら追加

Page 23: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word

Net

各概念に属する単語数が増えある程度まとまったが:まだ多い

Page 24: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net

3: 概念クラスの平均ベクトルを Wikipedia Entity Vector で導出

クロネコ :[0.2, 0.3, 0.4…]白猫 :[0.1, 0.3, 0.…]:

ネコ

柴犬 :[0.1, 0.3, 0.4…]土佐犬 :[0.1, 0.2, 0.…]:

平均ベクトル

平均ベクトル

Page 25: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net

4: 概念クラスをサマライズ

クロネコ :[0.2, 0.3, 0.4…]白猫 :[0.1, 0.3, 0.…]:

ネコ

柴犬 :[0.1, 0.3, 0.4…]土佐犬 :[0.1, 0.2, 0.…]:

平均ベクトル

平均ベクトルコサイン類似度計算

Page 26: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word

Net

各概念に属する単語数が増えある程度まとまったが:まだ多い( 20000程度)

Page 27: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net

5: 概念クラス内の単語の頻度が 1000 以上だけ残す

クロネコ白猫:

ネコ

柴犬土佐犬:

白鳥アヒル:

トリ

コアラコアラ

Page 28: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word

Net

これで 76概念まで減少:他は概念を与えないことに全てのベクトル使えばもっと良くなるはず・・

Page 29: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Choose TOPIC using by Wikipedia Entity Vector and Word Net

その 服 可愛いどこ で買ったの?

彼氏イケメンかっこいい:

妹可愛い服:パパお金小遣い:

単語の平均一致率計算

Page 30: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Focus Speech of contents using by Attention Model

Page 31: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Focus Speech of contents using by Attention Model

私 と仕事のどっちが 大事 ?

その 服 可愛いどこ で買ったの?

パパ 小遣い 頂戴

彼氏

パパ

Page 32: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Focus Speech of contents using by Attention Model

• Attention Model とは

• 詳しくは下記のスライドでhttp://www.slideshare.net/yutakikuchi927/deep-learning-nlp-attention

Page 33: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Conclusion

Page 34: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Conclusion• 概念クラスをまとめて、分散表現

– 概念クラスの辞書を入れ替えれば、特定の目的にそった分散表現が可能!!– バージョンアップ予定:– https://github.com/SnowMasaya/Chainer-Slack-Twitter-Dialogue

• Wikipedia Entity Vector 全てのデータを使用できるようにする。• Docker コンテナで動作可能• 固有表現の拡充• Chainer の最新バージョン対応( 1.5.1 で動作確認)• コサイン類似度で発言を分類(今は単純な単語一致率)

– 出来たら良いかな• キャラクター性の付与• 感情を考慮した対話

• Github に Star をくれるとやる気が加速します!!– github を“ Chainer Slack Twitter” で検索

Page 35: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Reference

Page 36: Wikipedia Entity VectorとWordNetで対話内容を選定し Chainer を用いたAttentionモデルで 発話内の重要な単語に着目するBotの作成

Reference• Chainer で学習した対話用のボットを Slack で使用 +Twitter から学習データを取得してファインチューニング

– http://qiita.com/GushiSnow/items/79ca7deeb976f50126d7• WordNet

– http://nlpwww.nict.go.jp/wn-ja/• 日本語 Wikipedia エンティティベクトル

– http://www.cl.ecei.tohoku.ac.jp/~m-suzuki/jawiki_vector/• PAKUTASO

– https://www.pakutaso.com/• A Neural Attention Model for Sentence Summarization

– http://www.aclweb.org/anthology/D15-1044• A Neural Attention Model for Sentence Summarization [Rush+2015]

(Slide Share)– http://www.slideshare.net/yutakikuchi927/a-neural-attention-model-for-sentence-

summarization