(57)【要約】      （修正有）【課題】対話シナリオの発話テキストに属性情報を付与するアノテーションを効率化するアノテーション支援装置を提供する。【解決手段】アノテーション支援装置１において、アノテーション推定部１１は、シナリオＤＢ２に格納されている対話シナリオの発話テキストごとに、その特徴と予め機械学習したモデルとに基づいてアノテーション候補を推定する。タスク条件決定部１２は、クラウドワーカへアノテーションを依頼する際のタスク条件を決定する。アノテーションタスク生成部１３は、決定されたタスク条件に基づいてアノテーションタスクを生成し、これをクラウドワーカへ提示することでアノテーションタスクを依頼する。アノテーション更新部１４は、クラウドワーカが各発話テキストに対して行ったアノテーションの結果を取得して格納するとともに、必要に応じてアノテーション推定部１１で用いられる機械学習方式の再学習を行う。【選択図】図１
2020009264.tif 000002
【特許請求の範囲】
【請求項１】
対話シナリオへのアノテーションを支援するアノテーション支援装置において、
対話シナリオの発話テキストごとにその属性を推定する手段と、
推定された複数の属性から少なくとも一つの属性を選択させるアノテーションタスクのタスク条件を決定する手段と、
前記タスク条件に基づいて作成したアノテーションタスクを作業者へ提供する手段と、
前記アノテーションタスクを実行した各作業者からアノテーションの結果を集計する手段とを具備したことを特徴とするアノテーション支援装置。
【請求項２】
前記推定する手段は、
対話シナリオの発話テキストごとに特徴抽出を行う手段と、
前記抽出した特徴から属性を推定して推定尤度を出力する推定モデルとを含むことを特徴とする請求項１に記載のアノテーション支援装置。
【請求項３】
前記推定する手段は、
前記アノテーションの結果と前記抽出した特徴との関係を機械学習して前記推定モデルを更新する手段をさらに含むことを特徴とする請求項２に記載のアノテーション支援装置。
【請求項４】
前記推定モデルは、前記抽出した特徴から属性種別ごとに属性値候補を推定して推定尤度を出力することを特徴とする請求項２または３に記載のアノテーション支援装置。
【請求項５】
前記タスク条件を決定する手段は、アノテーションを依頼する発話テキストを他の発話テキストと共に時系列で表示する際の発話表示数Lを、当該アノテーションを依頼する発話テキストの属性値判断に影響を及ぼす直近の発話数に基づいて決定することを特徴とする請求項４に記載のアノテーション支援装置。
【請求項６】
前記タスク条件を決定する手段は、アノテーションを依頼する発話テキストおよびその直近の少なくとも一つの発話テキストの属性種別ごとの各属性値候補の推定尤度の相違に基づいて発話表示数Lを決定することを特徴とする請求項５に記載のアノテーション支援装置。
【請求項７】
前記タスク条件を決定する手段は、推定尤度の降順で表示する属性値候補の表示数Mを前記推定尤度に基づいて決定することを特徴とする請求項４または５に記載のアノテーション支援装置。
【請求項８】
前記タスク条件を決定する手段は、アノテーションを依頼する発話テキストごとに各属性種別の属性値候補の推定尤度を降順で順次に加算して求めた加算値に基づいて表示数Mとすることを特徴とする請求項７に記載のアノテーション支援装置。
【請求項９】
前記タスク条件を決定する手段は、発話テキストごとにアノテーションタスクを依頼する作業者数Nを前記推定尤度に基づいて決定することを特徴とする請求項４ないし６のいずれかに記載のアノテーション支援装置。
【請求項１０】
前記タスク条件を決定する手段は、発話テキストごとにそのアノテーションの結果に基づいて、アノテーションされた属性値とそのアノテーション回数との積を属性値ごとに求め、各積の差分に基づいて作業者数Nを決定することを特徴とする請求項９に記載のアノテーション支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データに意味付けを与えるアノテーションを効率化するアノテーション支援装置に係り、特に、対話シナリオの発話テキストに属性情報を付与するアノテーションを効率化するアノテーション支援装置に関する。
【背景技術】
【０００２】
対話エージェントシステムに高度な対話を実現させるためには、想定される対話のやり取り（対話シナリオ）を記述した大規模な文章データ（対話シナリオコーパス）が必要となる。システムがより正確な対話を行うためには、対話シナリオの対話行為（挨拶、質問、返答、など）やコンテキスト（時間、場所、周辺状況、など）、感性指標（喜怒哀楽、興味レベル、など）といった属性情報が必要となる。
【０００３】
特許文献１には、雑談を行う対話システムを対象に、ユーザ発話の属性（質問の種類や対話行為、話題カテゴリなど）を推定することで適切な応答選択を行う方法が開示されている。
【０００４】
特許文献２には、対話行為推定を高精度に行うために、時系列モデルを用いて発話パターンを学習し、対話行為を推定する方法が開示されている。
【０００５】
非特許文献１には、クラウドソーシングを利用して、２名の作業者によるチャット形式での対話入力によってシナリオ作成を行うシステムが提案されている。当該システムは、対話行為などのアノテーションをシナリオ作成と同時に実施可能な機能を提供する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2017-027234号公報
【特許文献２】特開2018-025747号公報
【非特許文献】
【０００７】
【非特許文献１】オープンプラットフォームとクラウドソーシングを活用した対話コーパス構築方法, 塚原裕史, 内海慶, 言語処理学会年次大会 (2015年3月)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１および特許文献２は、発話内容のテキスト情報を解析することで対話行為や質問種別などの属性情報を推定する手法を提案する。これにより、ユーザ発話の属性を推定し、対話シナリオ中から属性に応じた応答選択を行うことが可能となる。
【０００９】
ユーザ発話の推定に当たっては、属性情報が付与された発話テキストの特徴を機械学習により学習する方法などが用いられる。この方法を対話シナリオに適用することで、対話シナリオに自動的に属性情報を付与することが可能となる。
【００１０】
しかしながら、機械学習による推定精度は必ずしも高くないため、対話シナリオとユーザ発話の双方に推定手法を適用した場合、精度は二重に低下し、実用レベルでなくなるという課題がある。具体的には、推定精度が80%であるとすると、対話シナリオの属性情報80%×ユーザ発話の属性情報80%＝64%のように、応答精度を大幅に低下させてしまうことが課題となる。
【００１１】
上記の技術課題を回避するために、対話シナリオに属性情報をあらかじめ人手によってアノテーションすることで、高精度な応答を実現する方法がある。
【００１２】
非特許文献３は、クラウドソーシングを利用して多数の作業者にシナリオの作成とアノテーションを行わせるシステムが提案する。しかしながら、対話行為やコンテキスト、感情指標などの属性情報は数十以上のカテゴリ（属性値）から正解となる属性値を選択する必要がある場合もあり、多くの労力と比較的高い専門性が求められる。したがって、大量の対話シナリオにアノテーションを行うには、膨大なコストを要することが課題となる。
【００１３】
本発明の第１の目的は、上記の技術課題を解決し、機械学習を用いて対話シナリオの属性情報を推定し、属性値の候補を予め限定することにより、ワーカに多数の属性値を検討させる必要がなく、作業効率を向上させることが可能な対話シナリオのアノテーション支援装置を提供することにある。
【００１４】
本発明の第２の目的は、推定の信頼性や作業者のアノテーション結果に応じて、必要となる冗長性を制御することにより、ワーカの作業を必要最低限に軽減することを可能にする対話シナリオのアノテーション支援装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記の目的を達成するために、本発明は、対話シナリオへのアノテーションを支援するアノテーション支援装置において、以下の構成を具備した点に特徴がある。
【００１６】
(1)対話シナリオの発話テキストごとにその属性を推定する手段と、推定された複数の属性から少なくとも一つの属性を選択させるアノテーションタスクのタスク条件を決定する手段と、前記タスク条件に基づいて作成したアノテーションタスクを作業者へ提供する手段と、前記アノテーションタスクを実行した各作業者からアノテーションの結果を集計する手段とを具備した。
【００１７】
(2)前記推定する手段は、対話シナリオの発話テキストごとに特徴抽出を行う手段と、
前記抽出した特徴から属性を推定して推定尤度を出力する推定モデルとを含むことを特徴とする。
【００１８】
(3)前記推定する手段は、前記アノテーションの結果と前記抽出した特徴との関係を機械学習して前記推定モデルを更新する手段をさらに含むことを特徴とする。
【００１９】
(4)前記推定モデルは、前記抽出した特徴から属性種別ごとに属性値候補を推定して推定尤度を出力することを特徴とする。
【００２０】
(5)前記タスク条件を決定する手段は、アノテーションを依頼する発話テキストを他の発話テキストと共に時系列で表示する際の発話表示数Lを、当該アノテーションを依頼する発話テキストの属性値判断に影響を及ぼす直近の発話数に基づいて決定することを特徴とする。
【００２１】
(6)前記タスク条件を決定する手段は、推定尤度の降順で表示する属性値候補の表示数Mを前記推定尤度に基づいて決定することを特徴とする。
【００２２】
(7)前記タスク条件を決定する手段は、発話テキストごとにアノテーションタスクを依頼する作業者数Nを前記推定尤度に基づいて決定することを特徴とする。
【発明の効果】
【００２３】
本発明によれば、以下のような効果が達成される。
【００２４】
(1) 機械学習を用いて対話シナリオの属性情報を推定し、属性値の候補を予め限定することができるので、作業者は多数の属性値を検討する必要がなくなり、作業効率を向上させることが可能となる。
【００２５】
(2) 推定の信頼性や作業者のアノテーション結果に応じて、提示する属性値候補数、提示する発話数、依頼するワーカ数といった冗長性を制御するので、必要最小限の作業者が必要最小限の情報を確認するだけでアノテーションが可能となり、作業効率を向上させることが可能となる。
【００２６】
(3) アノテーションされた結果に基づいて機械学習モデルの再学習を行うので、アノテーション推定が高精度化され、さらにアノテーション対象となる属性値の数やワーカ数を限定することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態に係る対話シナリオのアノテーション支援システムの構成を示したブロック図である。
【図２】対話シナリオの例を示した図である。
【図３】属性情報を格納するためのフィールドの例を示した図である。
【図４】アノテーションタスク依頼画面の一例を示した図である。
【図５】図３に示した各発話テキストについて、属性種別「対話行為」の属性値候補をその推定尤度の降順で示した図である。
【図６】発話テキストごとに推定される属性値候補およびその推定尤度の例を示した図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図１は、本発明の一実施形態に係る対話シナリオを対象としたアノテーション支援システムの構成を示したブロック図である。
【００２９】
アノテーション支援システムは、クラウドソーシング等の手段によって収集された大量の対話シナリオを格納するシナリオDB２と、この対話シナリオに対して、クラウドワーカ（作業者）Wによる支援を受けてアノテーションを付与するアノテーション支援装置１とを主要な構成としている。
【００３０】
アノテーション支援装置１は、アノテーション推定部１１、タスク条件決定部１２、アノテーションタスク生成部１３およびアノテーション更新部１４を主要な構成としている。このようなアノテーション支援装置１は、汎用のコンピュータやサーバに各機能を実現するアプリケーション（プログラム）を実装することで構成できる。あるいはアプリケーションの一部がハードウェア化またはROM化された専用機や単能機としても構成できる。
【００３１】
対話シナリオは、図２に示したように、想定されるユーザ発話およびシステム応答の各テキスト情報（発話テキスト）ならびに次発話へのリンク情報を含み、分岐を含むように構造化されていてもよい。
【００３２】
前記シナリオDB２は更に、図３に示したように、前記発話テキストに加えて、「対話行為」、「話題カテゴリ」、「感性指標」、「コンテキスト」などの属性種別ごとに、その属性値が登録された属性情報を格納するためのフィールドを備える。
【００３３】
例えば、発話「サークルでテニスをやります。」には、属性種別「対話行為」の属性値として「応答、平叙」が、属性種別「話題カテゴリ」の属性値として「スポーツ／テニス」が、属性種別「感性指標」の属性値として「容認」が、それぞれ登録されている。
【００３４】
前記アノテーション支援装置１において、アノテーション推定部１１は、特徴抽出部１１１、特徴学習部１１２および推定尤度算出部１１３を含み、シナリオDB２に格納されている対話シナリオの発話テキストごとに、その特徴と予め機械学習した推定モデルとに基づいてアノテーション候補を推定する。本実施形態では、各発話テキストに関連した属性種別ごとに複数の属性値候補が推定される。
【００３５】
特徴抽出部１１１は、アノテーション推定に有効な特徴を対話シナリオから抽出する。具体的には、各発話テキストに対して形態素解析等を行い、単語を特徴として利用する方法などがある。その他に、単語の出現傾向に基づき、関連性の高い単語が近い数値となるよう数値変換された分散表現を特徴として利用する方法などもある。
【００３６】
特徴学習部１１２は、推定対象の属性値がアノテーションされたシナリオから、特徴の出現パターンを機械学習により学習する。機械学習には、単独の発話で学習を行う場合はSVM等を利用する。発話を時系列で学習させ、前後の発話文脈も含めて推定を行う場合はHMMやRNN等を利用する。機械学習への入力は、発話の特徴である単語の出現頻度または分散表現と、その発話の属性値とすることができる。
【００３７】
推定尤度算出部１１３は、特徴学習部１１２において学習した推定モデルを用いて、アノテーションが行われていない対話シナリオに対して各属性値候補の推定を行う。多くの機械学習ツールでは、内部で推定尤度を算出しており、属性値ごとの推定尤度を出力させることができる。
【００３８】
タスク条件決定部１２は、発話表示数決定部１２１、属性値候補数決定部１２２およびタスク依頼数決定部１２３を含み、ワーカWにアノテーションを依頼する際の条件（タスク条件）として、以下に詳述する発話表示数L、属性値候補数Mおよびタスク依頼数Nを決定する。
【００３９】
図４は、アノテーション支援装置１がワーカWにアノテーションタスクを依頼する際に各ワーカWへ提供されるアノテーションタスク依頼画面の一例を示した図であり、ここでは、システム応答の発話「お上手なんですね。」に対するアノテーションタスクの依頼例が示されている。
【００４０】
依頼画面には、アノテーション対象の発話「お上手なんですね。」を含む直近の過去L個（ここでは、５個）のユーザ発話およびシステム応答の各発話テキストが時系列関係を反映して交互に段差表示されている。
【００４１】
このとき、発話表示数Lが多ければ、精度の高いアノテーションが可能になるもののワーカWが発話内容を読むために要する時間が長くなる。これに対して、発話表示数Lが少なければ、時間短縮となるがアノテーションの精度は低下する傾向にある。
【００４２】
また、ワーカWのアノテーションタスクの負担を軽減するために、属性種別ごとにM個の属性値候補が一覧表示されている。ワーカWは、属性種別ごとにいずれかの属性値候補のラジオボタンをチェックすることでアノテーションを実施できる。
【００４３】
本実施形態では、属性種別「対話行為」については３つ（M=3）の属性値候補「伝達、非過去、創造」、「質問、Yes No」および「要求」が用意されている。属性種別「話題カテゴリ」については４つ（M=4）の属性値候補「教育／大学」、「スポーツ／テニス」、「芸術／絵画」および「芸術／音楽」が用意されている。ワーカWは、過去の発話履歴を参照し、アノテーション対象の発話テキスト「お上手なんですね」に対応する属性値をラジオボタンで選択する。
【００４４】
このとき、表示する属性値候補数Mが多ければ精度の高いアノテーションが期待できるもののワーカWの判断に要する時間が長くなる。これに対して、属性値候補数Mが少ないと、時間短縮となるがアノテーションの精度は低下する傾向にある。
【００４５】
さらに、アノテーションは、単独のワーカWに依頼したのでは必ずしも正しい属性値が選択されるとは限らないため、発話テキストごとにN人のワーカWに依頼し、多数決等の方法によってより正確に属性値を決定することが望ましい。
【００４６】
この際、発話テキストごとのアノテーション依頼数Nは、多ければ精度の高いアノテーションが可能になるもののコスト負担が増大する。これに対して、アノテーション依頼数Nを少なくすると、コスト負担は軽減できるがアノテーションの精度は低下する傾向にある。
【００４７】
本実施形態では、前記タスク条件決定部１２がこれらのトレードオフを考慮して発話表示数L、属性値候補数Mおよびタスク依頼数Nを最適値に決定する。
【００４８】
前記発話表示数決定部１２１は、アノテーションを依頼する発話テキストの属性値判断に、いくつ前までの発話が影響を及ぼしているかを分析することにより、発話表示数Lを決定する。
【００４９】
具体的には、HMM (Hidden Markov Model) やRNN (Recurrent Neural Network) といったアノテーション推定に用いる機械学習装置に対して、発話系列（長さL=LA）を入力することで、各属性値の推定尤度が算出される。ここで、入力する発話系列の長さLをL=LA-1，LA-2，LA-3…と徐々に短くした際の各属性値の推定尤度も同様に出力し、各属性値の推定尤度の差が閾値未満である最小のLを決定する。
【００５０】
図５は、図３に示した発話「お上手なんでしょうね。」およびその直前の４つの発話テキストに関して、属性種別「対話行為」の属性値候補をその推定尤度の降順で示した図である。
【００５１】
図示の例では、発話「お上手なんでしょうね。」については、属性値候補「伝達、非過去、創造」の推定尤度が0.35で最も高く、属性値候補「質問、Yes/No」の推定尤度が0.30で２番目に高くなっている。同様に、発話「大学からなので１０年近くです。」については、属性値候補「応答、平叙」の推定尤度が0.60で最も高く、属性値候補「伝達、非過去、創造」の推定尤度0.35が２番目に高くなっている。
【００５２】
ここで、発話「お上手なんでしょうね。」をアノテーション対象とし、複数の属性値候補の中からワーカWへ提示する属性値候補を選抜する場合を考える。
【００５３】
図５を参照すれば、L=5，4，3における推定尤度の差は十分に小さいため、直近の3つの発話L=1〜3のみを提示すれば、ワーカWは対話行為のアノテーションが可能となることが見込まれる。複数の属性について同時にアノテーションを依頼する場合、属性ごとに算出したLの最大値を適用する。
【００５４】
このように、本実施形態ではアノテーションを依頼する発話テキストを他の発話テキストと共に時系列で表示する際の発話表示数Lが、アノテーションを依頼する発話テキストおよびその直近の少なくとも一つの発話テキストの属性種別ごとの各属性値候補の推定尤度の相違に基づいて決定される。
【００５５】
属性値候補数決定部１２２は、上位M件の属性値候補の推定尤度の和が閾値θMを上回るように表示数Mを設定する。図６を参照し、ここでも各発話テキストに関して、属性値候補がその推定尤度の降順で登録されているものとする。
【００５６】
θM=0.9に設定する場合、発話「休日は何をしていますか？」の属性種別「対話行為」について、属性値候補「質問、what」の推定尤度0.90は、既に閾値θMに達している。したがって、当該属性値候補「質問、what」を正解と考えてアノテーションを行わないこととする。
【００５７】
発話「サークルでテニスをやります。」については、属性種別「対話行為」の属性値候補「応答、平叙」の推定尤度0.75と属性値候補「伝達、非過去、実在」の推定尤度0.15との和が0.90となって閾値θMに達するため、この上位２つの属性値候補をワーカWに提示してアノテーションさせる。
【００５８】
発話「大学からなので10年近くです。」については、推定尤度が上位２つの属性値候補の推定尤度の和が0.85となって閾値θMに満たないため、上位3つ以上の属性値候補をワーカに提示する。
【００５９】
前記閾値θMは低く設定するほど提示される候補の件数が減少するため、アノテーションに要する時間を短縮でき、コストを削減できるが、正解となる属性値が含まれない可能性が増加するため、アノテーション品質が低下する。求めるアノテーション品質に応じて閾値θMを決定する。
【００６０】
このように、本実施形態ではアノテーションを依頼する発話テキストごとに各属性種別の属性値候補の推定尤度を降順で順次に加算して求めた加算値に基づいて表示数Mが決定される。
【００６１】
タスク依頼数決定部１２３は、アノテーション対象の発話テキストごとに、その属性値の推定尤度や前記属性値候補数Mに基づいて、アノテーションを依頼するワーカ数Nを決定する。
【００６２】
例えば、最も推定尤度の高い属性値候補の推定尤度が閾値θNを上回る場合、アノテーションを行うことなく、当該属性のアノテーション結果は最も推定尤度の高い属性値に決定することができる（N=0）。
【００６３】
最も推定尤度の高い属性値候補の推定尤度が閾値θMを下回る場合、ワーカWに提示するM件の属性値のそれぞれについて、Piをi番目（i=1〜M）に推定尤度の高い属性値の推定尤度とし、i番目の属性値をワーカWが選択した回数をLiとしたとき、次式(1)に基づいて、更なる他のワーカへの依頼要否を判定する。
【００６４】
Pi＊Liの最大値−Pi＊Liの二番目に大きい値＜閾値θN  …(1)
【００６５】
本実施形態では、上式(1)が成立すれば、１名のワーカWに追加のアノテーションを依頼し、当該ワーカWのアノテーション結果に応じて、Liの値を更新する。上式(1)が成立しなければ、追加のアノテーションを依頼しない。
【００６６】
図６の例では、発話「何年くらい続けていますか？」にアノテーションを依頼する場合、属性値表示数M=2であり、P1=0.85＜θN(=0.90)，P2=0.10となる。Pi＊Liの最大値および二番目に大きい値は共に0である(L1=L2=0のため)ことから、１名のワーカWにアノテーションを依頼する。
【００６７】
ここで、ワーカＷがi=1の属性値（ここでは、推定尤度1）を選択した場合、その推定尤度は0.85なので前記「Pi＊Liの最大値」は0.85となる。また、前記「Pi＊Liの二番目に大きい値」は依然として0なので、その差は0.85で上式(1)を満足する。したがって、更に１名のワーカWを追加する。
【００６８】
さらに、次のワーカWもi=1の属性値を選択した場合、前記「Pi＊Liの最大値」は1.70、前記「Pi＊Liの二番目に大きい値」は依然として0なので、その差はその差は1.70で上式(1)を満足しない。したがって、発話「何年くらい続けていますか？」に関するアノテーションを終了する。
【００６９】
このように、本実施形態では発話ごとにそのアノテーションの結果に基づいて、アノテーションされた属性値とそのアノテーション回数との積を属性値ごとに求め、各積の差分に基づいて作業者数Nを決定する。
【００７０】
上記の方法でアノテーションを依頼することで、推定尤度が高い属性値は、少数のワーカが当該属性値にアノテーションを実施した段階で結果を確定でき効率化が図れる。また、推定尤度が低い属性値は多数のワーカのアノテーションを得て結果が確定するため、信頼性を確保できる。
【００７１】
なお、上記は実装方法の一例であり、閾値θNは求めるアノテーションの品質に応じて調整する。また、初期値Piは利用する機械学習装置によって特性が異なるため、調整するための関数を利用してもよい。
【００７２】
アノテーションタスク生成部１３は、前記各タスク条件L，Mの値に基づいて、前記図４を参照して説明したアノテーション用のタスクを生成し、前記タスク依頼要否判定に基づいて、必要なワーカ数分の依頼を行う。
【００７３】
アノテーション更新部１４は、ワーカWのアノテーション結果を受領し、Pi*Liを最大値とする属性値をアノテーション結果として前記シナリオDB２に登録する。また、一定量のアノテーション結果がシナリオDB２に追加された際に、アノテーション推定部１１の特徴学習部１１２で機械学習される推定モデルを更新する。
【符号の説明】
【００７４】
１…アノテーション支援装置，２…シナリオDB，１１…アノテーション推定部，１２…タスク条件決定部，１３…アノテーションタスク生成部，１４…アノテーション更新部，１１１…特徴抽出部，１１２…特徴学習部，１１３…推定尤度算出部，１２１…発話表示数決定部，１２２…属性値候補数決定部，１２３…タスク依頼数決定部
【図１】
2020009264.tif 000003
【図２】
2020009264.tif 000004
【図３】
2020009264.tif 000005
【図４】
2020009264.tif 000006
【図５】
2020009264.tif 000007
【図６】
2020009264.tif 000008