LoginSignup
3
2

More than 5 years have passed since last update.

MEMO of Dialog System Using Real-Time Crowdsourcing and Twitter Large-Scale Corpus

Last updated at Posted at 2014-06-04

Background

  • SIGDIAL 2012
  • 対話への知識を深めようと。
  • わりと軽めで分かりやすい。
  • 最近IIRで出てきた知識。

Abstract

  • Twitterから抽出した対話コーパスとリアルタイムクラウドソーシングを用いてDialog Systemを作った。
  • 複雑な会話システム(dialog management?)を人手で作るよりも、この研究で使うデータは(実際の会話から取ってきているので)より本当のものに近いと思われる。

Introduction

  • ネット上には莫大なデータが存在し、Twitterにもデータを抽出や検索するためのAPIが多く存在している。
  • これらは高い頻度で研究に用いられ、例として以下のようなものがあげられる。
    • 株式市場予測
    • ソーシャルメディアを通しての情報拡散
    • 文章の表現
  • というのも、サイズが膨大で、会話的な性質が含まれているからである。

使われるデータ

ENG JPN
Conversational 37% 37.5%
AND Two-Length 69% 58.3%

ENG: Kelly(2009)
JPN: 2.5 million

Chat Bots

  • 多くのはルールベース
    • 人手で頑張ってどんどんルールを追加している。
      • A.L.I.C.E <- AIMLというマークアップ言語で書かれた対話戦略?データベース
      • Jabberwacky <- Large-Scale Dialog Corpus
      • Cleverbot <- 同上

In This Paper

  • リアルタイムクラウドソーシングとTwitterの大規模コーパスを用いたChat Bot
  • ポジネガの例に基づいた反応の選択で評価し、会話同士の類似度が有効かどうかを判断する?
    • (詳しいことは後述するが)ある発話への反応をシステムに選択させ、それを評価する。

evaluate response selection methods based on positive/negative example to judge if each feature could be exploited to judge similarity between uterrances.

Method

Overview

  • 図1にあるような 会話対(Utterance Pair) のデータベースを作った。
  • すべての会話対は 発話(A)それに対する返事(B) で構成されている。
  • 反応の生成は図2を参照。INPUTに最も似ている発話をデータベースから検索しそれに当たる返事を返す。
  • なかった場合は、他のユーザに外注する?(<- Real-Time Crowdsourcing?)
  • 120万ほどの会話対を、ブログやTwitterなどで集めた。
    • 収集方法としてはStreaming APIやREST APIを用いた。
    • 正規表現でTwitter特有の表現(メンション、引用、ハッシュタグ)を除いた。

似た会話対の検索方法

  1. Twitter特有の表現(前述)を除いて形態素解析。
  2. POSタグ付与。
  3. 名詞、動詞、感嘆詞を抽出。
    • 日本語では感情表現を完全に抜き出すことが難しかった。
  4. 文章ベクトルに変換。(IIR Chapter.6参照)
  5. 2つの文章のcos類似度。(式1,2参照)
    • 文章d(i)
    • 単語w(j)
    • tf(i,j): d(i)の中でのw(j)の出現頻度
    • n(j): d(i)の長さ
    • x(i,j) = tf(i,j) / n(j)
    • sim(d(a),d(b)) = x(a) ・ x(b)

Real-Time Crowdsourcing

システムが適切な会話対を見つけられなかった場合(=類似度が基準に満たさなかった場合)、 システムは入力を他のユーザに譲渡する

*See the Figure

Evaluation

  • 90 user input examples
  • 20 utterance-pairs / user
  • 1800 tripples
  • 30 subjects
  • versatile answers are difficult to evaluate

Evaluating Score

  • Use P/N learning data
  • tripletを学習データで評価(基準を満たせばP、そうでなければN)
  • ROC曲線
  • 比較手法
    • A or A+B(in figure 1)
    • Use tf or NOT
    • Use idf or NOT
    • Eliminate Twitter-Specific Representations not NOT
    • Normalize by Character or NOT
    • Filter POS or NOT

Result

  • Twitter特有の表現をフィルタリングした時に限りランダム分類(?)に近いパフォーマンスを見せた
  • Word Count正規化やPOSフィルタリングは分類パフォーマンスをあげている
  • 副詞や接辞は会話においてはあまり効果が無いため、POSフィルタリングがノイズ除去の役割を果たしている。
  • tfは効果をもたらしたが、idfは分類を妨げていた

Future Work

  • Two-Length以上のものを扱う
  • より大きなデータベースを利用する
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2