IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許7486263マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法
<>
  • 特許-マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法 図1
  • 特許-マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法 図2
  • 特許-マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法 図3
  • 特許-マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法 図4
  • 特許-マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法 図5
  • 特許-マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法 図6
  • 特許-マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法 図7
  • 特許-マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-09
(45)【発行日】2024-05-17
(54)【発明の名称】マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法
(51)【国際特許分類】
   G06F 40/56 20200101AFI20240510BHJP
   G06F 40/44 20200101ALI20240510BHJP
   G06F 16/90 20190101ALI20240510BHJP
   G10L 15/22 20060101ALI20240510BHJP
   G10L 13/00 20060101ALI20240510BHJP
【FI】
G06F40/56
G06F40/44
G06F16/90 100
G10L15/22 300Z
G10L13/00 100M
【請求項の数】 9
(21)【出願番号】P 2021035724
(22)【出願日】2021-03-05
(65)【公開番号】P2022135734
(43)【公開日】2022-09-15
【審査請求日】2023-02-10
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】楊 博
(72)【発明者】
【氏名】呉 剣明
(72)【発明者】
【氏名】服部 元
【審査官】長 由紀子
(56)【参考文献】
【文献】特表2017-534956(JP,A)
【文献】米国特許出願公開第2017/0076222(US,A1)
【文献】米国特許出願公開第2019/0251169(US,A1)
【文献】特表2019-530920(JP,A)
【文献】特開2021-082308(JP,A)
【文献】Yanlin Feng、外5名,”Scalable Multi-Hop Relational Reasoning for Knowledge-Aware Question Answering”,arXiv [online],Cornell University,2020年09月18日,pp.1-14,[検索日 2024.01.22] インターネット:https://arxiv.org/abs/2005.00646
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
G06F 16/00-958
G10L 15/22
G10L 13/00
(57)【特許請求の範囲】
【請求項1】
ユーザと対話するようにコンピュータを機能させるプログラムにおいて、
教師データとして、
発話文と、応答文及び応答対象画像との組を複数含む対話履歴と、
実体対象画像が対応付けられた実体語同士の間を、関係語によってリンクしたマルチモーダルな知識グラフと
を用いて、
訓練時に、
教師データの発話文から発話特徴ベクトルを生成する発話特徴ベクトル生成手段と、
教師データの発話文に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語を検索する知識グラフ検索手段と、
実体語、実体対象画像及び関係語から、知識特徴ベクトルを生成する知識特徴ベクトル生成手段と、
発話特徴ベクトルと知識特徴ベクトルとを結合して、結合発話特徴ベクトルを生成する結合層と、
教師データの発話文に対応する教師データの応答文及び応答対象画像から、応答特徴ベクトルを生成する応答特徴ベクトル生成手段と、
結合発話特徴ベクトルを入力し、応答特徴ベクトルを出力するように訓練するエンコーダデコーダと
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
知識グラフ蓄積手段は、知識グラフの実体語及び関係語をキーとして、検索サイトによって画像を検索し、検索された画像を当該実体語に対応付けたものである
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項3】
対話時
対象データとなる発話文を入力し、
発話特徴ベクトル生成手段は、対象データの発話文から発話特徴ベクトルを生成し、
知識グラフ検索手段は、対象データの発話文に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語及び実体対象画像を検索し、
知識特徴ベクトル生成手段は、知識グラフ検索手段によって検索された実体語、実体対象画像及び関係語から、知識特徴ベクトルを生成し、
結合層は、発話特徴ベクトルと知識特徴ベクトルとを結合して、結合発話特徴ベクトルを生成し、
エンコーダデコーダは、結合発話特徴ベクトルを入力し、応答特徴ベクトルを出力し、
応答特徴ベクトル生成手段は、応答特徴ベクトルを入力し、応答文及び応答対象画像を出力する
ようにコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
発話文に、発話対象画像が対応付けられており、
対話履歴は、発話文及び発話対象画像と、応答文及び応答対象画像との組を複数含んでおり、
発話特徴ベクトル生成手段は、教師データの発話文及び発話対象画像から発話特徴ベクトルを生成し、
知識グラフ検索手段は、教師データの発話文及び発話対象画像に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語を検索し、
応答特徴ベクトル生成手段は、教師データの発話文及び発話対象画像に対応する教師データの応答文及び応答対象画像から、応答特徴ベクトルを生成する
ようにコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
【請求項5】
知識グラフ検索手段は、知識グラフを用いて、当該発話実体語から1つ以上の所定ホップ数で関係語によってリンクする実体語及び実体対象画像を検索する
ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
【請求項6】
エンコーダデコーダは、当該エンコーダデコーダから出力された応答特徴ベクトルと、応答文特徴ベクトル生成手段から生成された応答特徴ベクトルとの間の損失が最小となるように訓練する
ようにコンピュータを機能させることを特徴とする請求項1から5のいずれか1項に記載のプログラム。
【請求項7】
知識特徴ベクトル生成手段は、GNN(Graph Neural Network)である
ようにコンピュータを機能させることを特徴とする請求項1から6のいずれか1項に記載のプログラム。
【請求項8】
ユーザと対話する対話装置において、
教師データとして、
発話文と、応答文及び応答対象画像との組を複数含む対話履歴と、
実体対象画像が対応付けられた実体語同士の間を、関係語によってリンクしたマルチモーダルな知識グラフと
を用いて、
訓練時に、
教師データの発話文から発話特徴ベクトルを生成する発話特徴ベクトル生成手段と、
教師データの発話文に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語を検索する知識グラフ検索手段と、
実体語、実体対象画像及び関係語から、知識特徴ベクトルを生成する知識特徴ベクトル生成手段と、
発話特徴ベクトルと知識特徴ベクトルとを結合して、結合発話特徴ベクトルを生成する結合層と、
教師データの発話文に対応する教師データの応答文及び応答対象画像から、応答特徴ベクトルを生成する応答特徴ベクトル生成手段と、
結合発話特徴ベクトルを入力し、応答特徴ベクトルを出力するように訓練するエンコーダデコーダと
を有することを特徴とする対話装置。
【請求項9】
ユーザと対話する装置に搭載されたエンコーダデコーダを訓練する方法において、
教師データとして、
発話文と、応答文及び応答対象画像との組を複数含む対話履歴と、
実体対象画像が対応付けられた実体語同士の間を、関係語によってリンクしたマルチモーダルな知識グラフと
を用いて、
装置は、訓練時に、
教師データの発話文から発話特徴ベクトルを生成する第1のステップと、
教師データの発話文に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語を検索する第2のステップと、
実体語、実体対象画像及び関係語から、知識特徴ベクトルを生成する第3のステップと、
発話特徴ベクトルと知識特徴ベクトルとを結合して、結合発話特徴ベクトルを生成する第4のステップと、
教師データの発話文に対応する教師データの応答文及び応答対象画像から、応答特徴ベクトルを生成する第5のステップと、
エンコーダデコーダを結合発話特徴ベクトル入力されると、応答特徴ベクトルを出力するように訓練する第6のステップと
を実行することを特徴とする訓練方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザと自然な対話を実現する対話エージェントの技術に関する。
【背景技術】
【0002】
ユーザとの対話システムとしては、テキストベースが一般的である。端末は、ユーザインタフェースとして機能し、ユーザの発話音声を対話システムへ送信する。対話システムは、その発話文に対して自然な対話となる応答文を生成し、その応答文を端末へ返信する。そして、端末は、その応答文を音声又はテキストによって、ユーザへ返答する。このような対話システムとしては、例えば「Siri(登録商標)」や「しゃべってコンシェル(登録商標)」がある。
【0003】
これに対し、マルチモーダルな対話システムが期待されている。この対話システムは、ユーザとの間で、テキスト、音声及び画像など複数のコミュニケーションモードで、対話をやりとりすることができる。特に、AI(Artificial Intelligence)を用いた雑談対話システムによれば、マルチモーダル情報に応じて自然な応答文を返答することができ、ユーザの対話意欲を高めることが期待される。
【0004】
また、豊富な知識を含む対話のやりとり実現するために、知識グラフを活用した対話システムの技術もある。「知識グラフ」とは、実体同士の間の関係を記述して作成したグラフである。即ち、実体語を「ノード」として、実体語間の関係語を「リンク」とすることによって作成される。
【0005】
従来、知識グラフの概念遷移を考慮して、テキストベースの対話における応答文を自動的に生成する技術がある(例えば非特許文献1参照)。
また、マルチドメインのトピック(映画、音楽、旅行)によって知識グラフを構築する技術もある(例えば非特許文献2参照)。この技術によれば、雑談対話コーパスKdConvを用いて、知識を融合した応答文を生成する。
更に、特定のタスク向けの知識グラフを用いて、対話の応答文を生成する技術もある(例えば非特許文献3参照)。この技術によれば、オンラインモールのサービスセンタが、対話文と商品写真とからなる商品知識グラフを用いて、ユーザとセールスオペレータとの間で、マルチモーダルな対話の応答文を生成する。
更に、ユーザの発話文から主要概念を生成し、タスク知識ベースと一般知識ベースの両方を参照して、応答文を生成する技術もある(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2017-224204号公報
【非特許文献】
【0007】
【文献】Houyu Zhang, Zhenghao Liu, Chenyan Xiong, Zhiyuan Liu, “Grounded conversation Generation as Guided Traverses in Commonsense Knowledge Graphs”(2020)、[online]、[令和3年2月21日検索]、インターネット<URL: https://arxiv.org/pdf/1911.02707.pdf>
【文献】Hao Zhou, Chujie Zheng, Kaili Huang, Minlie Huang, Xiaoyan Zhu, “KdConv: A Chinese Multi-domain Dialogue Dataset Towards Multi-turn Knowledge-driven Conversation”(2020)、[online]、[令和3年2月21日検索]、インターネット<URL:https://www.aclweb.org/anthology/2020.acl-main.635.pdf>
【文献】Lizi Liao, Yunshan Ma, Xiangnan He, Richang Hong, Tat-Seng Chua, “Knowledge-aware Multimodal Dialogue Systems”(2020)、[online]、[令和3年2月21日検索]、インターネット<URL:https://nextcenter.org/wp-content/uploads/2020/04/Knowledge-Aware.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0008】
非特許文献1に記載の技術によれば、知識グラフの概念遷移としてbook, bag, hope, based, futureなどの限定された語彙同士と結んだものである。そのために、知識としての関連トピック(関連説明文)は記述されおらず、このような知識グラフを適用しても、知識を含む雑談的に対話をすることはできない。
非特許文献2に記載の技術によれば、知識グラフがテキストべースに限定されているために、画像を含むマルチモーダルな雑談対話をすることはできない。
非特許文献3に記載の技術によれば、商品サービス販売のような所定のタスク向けの知識グラフを適用したものであって、豊富な知識に基づくマルチモーダルな雑談対話をすることはできない。
特許文献1に記載の技術によれば、ルールベースの応答生成方式であって、大量の教師データから自動的に応答文を生成するものではない。また、タスク知識ベースと一般知識ベース両方とも、soda, code, tea, hot, soupなどの単語で構成されているに過ぎず、関連トピックまでも記述されていない。
【0009】
これに対し、本願の発明者らは、関連トピックや関連画像を含む知識グラフを構築することによって、画像を含むマルチモーダルな雑談対話をすることはできないか、と考えた。
【0010】
そこで、本発明は、マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明によれば、ユーザと対話するようにコンピュータを機能させるプログラムにおいて、
教師データとして、
発話文と、応答文及び応答対象画像との組を複数含む対話履歴と、
実体対象画像が対応付けられた実体語同士の間を、関係語によってリンクしたマルチモーダルな知識グラフと
を用いて、
訓練時に、
教師データの発話文から発話特徴ベクトルを生成する発話特徴ベクトル生成手段と、
教師データの発話文に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語を検索する知識グラフ検索手段と、
実体語、実体対象画像及び関係語から、知識特徴ベクトルを生成する知識特徴ベクトル生成手段と、
発話特徴ベクトルと知識特徴ベクトルとを結合して、結合発話特徴ベクトルを生成する結合層と、
教師データの発話文に対応する教師データの応答文及び応答対象画像から、応答特徴ベクトルを生成する応答特徴ベクトル生成手段と、
結合発話特徴ベクトルを入力し、応答特徴ベクトルを出力するように訓練するエンコーダデコーダと
してコンピュータを機能させることを特徴とする。
【0012】
本発明のプログラムにおける他の実施形態によれば、
知識グラフ蓄積手段は、知識グラフの実体語及び関係語をキーとして、検索サイトによって画像を検索し、検索された画像を当該実体語に対応付けたものである
ようにコンピュータを機能させることも好ましい。
【0013】
本発明のプログラムにおける他の実施形態によれば、
対話時
対象データとなる発話文を入力し、
発話特徴ベクトル生成手段は、対象データの発話文から発話特徴ベクトルを生成し、
知識グラフ検索手段は、対象データの発話文に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語及び実体対象画像を検索し、
知識特徴ベクトル生成手段は、知識グラフ検索手段によって検索された実体語、実体対象画像及び関係語から、知識特徴ベクトルを生成し、
結合層は、発話特徴ベクトルと知識特徴ベクトルとを結合して、結合発話特徴ベクトルを生成し、
エンコーダデコーダは、結合発話特徴ベクトルを入力し、応答特徴ベクトルを出力し、
応答特徴ベクトル生成手段は、応答特徴ベクトルを入力し、応答文及び応答対象画像を出力する
ようにコンピュータを機能させることも好ましい。
【0014】
本発明のプログラムにおける他の実施形態によれば、
発話文に、発話対象画像が対応付けられており、
対話履歴は、発話文及び発話対象画像と、応答文及び応答対象画像との組を複数含んでおり、
発話特徴ベクトル生成手段は、教師データの発話文及び発話対象画像から発話特徴ベクトルを生成し、
知識グラフ検索手段は、教師データの発話文及び発話対象画像に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語を検索し、
応答特徴ベクトル生成手段は、教師データの発話文及び発話対象画像に対応する教師データの応答文及び応答対象画像から、応答特徴ベクトルを生成する
ようにコンピュータを機能させることも好ましい。
【0015】
本発明のプログラムにおける他の実施形態によれば、
知識グラフ検索手段は、知識グラフを用いて、当該発話実体語から1つ以上の所定ホップ数で関係語によってリンクする実体語及び実体対象画像を検索する
ようにコンピュータを機能させることも好ましい。
【0016】
本発明のプログラムにおける他の実施形態によれば、
エンコーダデコーダは、当該エンコーダデコーダから出力された応答特徴ベクトルと、応答文特徴ベクトル生成手段から生成された応答特徴ベクトルとの間の損失が最小となるように訓練する
ようにコンピュータを機能させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
知識特徴ベクトル生成手段は、GNN(Graph Neural Network)である
ようにコンピュータを機能させることも好ましい。
【0018】
本発明によれば、ユーザと対話する対話装置において、
教師データとして、
発話文と、応答文及び応答対象画像との組を複数含む対話履歴と、
実体対象画像が対応付けられた実体語同士の間を、関係語によってリンクしたマルチモーダルな知識グラフと
を用いて、
訓練時に、
教師データの発話文から発話特徴ベクトルを生成する発話特徴ベクトル生成手段と、
教師データの発話文に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語を検索する知識グラフ検索手段と、
実体語、実体対象画像及び関係語から、知識特徴ベクトルを生成する知識特徴ベクトル生成手段と、
発話特徴ベクトルと知識特徴ベクトルとを結合して、結合発話特徴ベクトルを生成する結合層と、
教師データの発話文に対応する教師データの応答文及び応答対象画像から、応答特徴ベクトルを生成する応答特徴ベクトル生成手段と、
結合発話特徴ベクトルを入力し、応答特徴ベクトルを出力するように訓練するエンコーダデコーダと
を有することを特徴とする。
【0019】
本発明によれば、ユーザと対話する装置に搭載されたエンコーダデコーダを訓練する方法において、
教師データとして、
発話文と、応答文及び応答対象画像との組を複数含む対話履歴と、
実体対象画像が対応付けられた実体語同士の間を、関係語によってリンクしたマルチモーダルな知識グラフと
を用いて、
装置は、訓練時に、
教師データの発話文から発話特徴ベクトルを生成する第1のステップと、
教師データの発話文に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語を検索する第2のステップと、
実体語、実体対象画像及び関係語から、知識特徴ベクトルを生成する第3のステップと、
発話特徴ベクトルと知識特徴ベクトルとを結合して、結合発話特徴ベクトルを生成する第4のステップと、
教師データの発話文に対応する教師データの応答文及び応答対象画像から、応答特徴ベクトルを生成する第5のステップと、
エンコーダデコーダを結合発話特徴ベクトル入力されると、応答特徴ベクトルを出力するように訓練する第6のステップと
を実行することを特徴とする。
【発明の効果】
【0020】
本発明のプログラム、装置及び方法によれば、マルチモーダルな知識グラフを用いて雑談的に対話することができる。
【図面の簡単な説明】
【0021】
図1】本発明の対話装置における訓練時の機能構成図である。
図2】訓練時の教師データとしての対話履歴を表す説明図である。
図3】訓練時の教師データとしての知識グラフを表す第1の説明図である。
図4】訓練時の教師データとしての知識グラフを表す第2の説明図である。
図5】本発明の対話装置における特徴ベクトルの訓練を表す説明図である。
図6】本発明の対話装置における対話時の機能構成図である。
図7】本発明における第1の対話例を表す説明図である。
図8】本発明における第2の対話例を表す説明図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0023】
図1は、本発明の対話装置における訓練時の機能構成図である。
【0024】
図1によれば、対話装置1は、マルチモーダルな知識グラフを用いて、ユーザとの間で雑談のような自然な対話を実現することができる。対話装置1は、複数の機械学習エンジンを搭載しており、<訓練時>及び<対話時>に分けられる。また、対話装置1は、機械学習エンジンの訓練時に、<教師データ>によって学習モデルを構築する。
【0025】
本発明の対話装置1は、深層学習モデルにおける分散表現生成部(embedder)及びエンコーダデコーダ(encoder-decoder)を用いて、テキストと画像との両方をクロスモーダル的に訓練することにある。これによって、発話文(及び発話対象画像)に対して、マルチモーダルな応答文及び応答対象画像を生成することができる。
【0026】
<教師データ>
図1によれば、対話装置1は、教師データとして、対話履歴蓄積部100と、知識グラフ蓄積部101とを有する。
【0027】
[対話履歴蓄積部100]
対話履歴蓄積部100は、教師データとして、少なくとも「発話文」と、「応答文」及び「応答対象画像」との組を複数含む「対話履歴」を蓄積する。ここで、発話文にも、「発話対象画像」が対応付けられていてもよい。即ち、対話履歴は、ユーザ同士で画像も交換されるマルチモーダル情報からなる。
対話履歴は、過去にユーザ同士の間で大量にやりとりされた一連の対話文である。本発明によれば、少なくとも応答文に「応答対象画像」が対応付けられており、発話文に「発話対象画像」が対応付けられていてもよい。
勿論、対話履歴蓄積部100は、対話装置1自らが記憶しておく必要はないが、訓練時に外部から入力する必要がある。
【0028】
図2は、訓練時の教師データとしての対話履歴を表す説明図である。
【0029】
図2によれば、ユーザA及びBが、画像を用いて対話文がやりとりされている。ここでの画像は、対話中に視聴されている映像から切り取られた画像であってもよいし、カメラによって撮影された画像や、インターネットによって検索された引用画像であってもよい。
図2によれば、以下のように対話している。
・・・・・・・・・・・・・・・・・・・・
ユーザB:どのようなテレビ番組が好きですか?
ユーザA:犬猫よりも野生動物が好きかな。
ユーザB:ライオンですか?(ライオン画像)
ユーザA:いや、象の親子のようなのがかわいいよね(象の親子の画像)
・・・・・・・・・・・・・・・・・・・・
本発明によれば、ユーザ同士の間で対話された、テキストのみならず、画像も含むマルチモーダル情報のやりとりとなる対話履歴を、教師データとして利用する。
【0030】
[知識グラフ蓄積部101]
知識グラフ蓄積部101は、実体対象画像が対応付けられた実体語同士の間を、関係語によってリンクしたマルチモーダルな「知識グラフ」を蓄積する。また、実体語には、関連トピックとしての文章が対応付けられたものであってもよい。
【0031】
一般的な知識グラフとして、非特許文献2に記載された「KdConv」という雑談対話コーパスがある。しかしながら、KdConvは、実体語に画像を対応付けたものではなく、マルチモーダル的なものではない。
これに対し、本発明の知識グラフは、実体語に画像を対応付け、マルチモーダル的なものとして構築したものである。
【0032】
知識グラフ蓄積部101は、知識グラフの実体語及び関係語をキーとして、検索サイトによって画像を検索し、検索された画像を当該実体語に対応付けたものであってもよい。例えばKdConvのような雑談対話コーパスに、実体語及び関係語をキーとして検索した画像を、その実体語に対応付けることもできる。
【0033】
他の実施形態における大規模な知識グラフとして、例えばWikipedia(登録商標)を用いることもできる。Wikipediaを検索して、取得された文章の一部又は要約を、ノードとしてリンクさせる。
【0034】
図3は、訓練時の教師データとしての知識グラフを表す第1の説明図である。
図3によれば、実体語「象」から見て、関係語によってリンクされた複数の実体語が表されている。「象」には、関係語「全長」「特徴」「由来」「創作物」「属性」によって、それぞれの先に実体語(関連トピックを含む)がリンクされている。
【0035】
図4は、訓練時の教師データとしての知識グラフを表す第2の説明図である。
図4によれば、実体語「天国に続く道」から見て、関係語によってリンクされた複数の実体語が表されている。「天国に続く道」には、関係語「全長」「特徴」「由来」「近くの観光スポット」「所在地」によって、それぞれの先に実体語(関連トピックを含む)がリンクされている。
【0036】
<訓練時>
図1によれば、対話装置1は、発話特徴ベクトル生成部11と、知識グラフ検索部12と、知識特徴ベクトル生成部13と、結合層14と、応答特徴ベクトル生成部15と、エンコーダデコーダ16とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、対話装置の訓練方法としても理解できる。
【0037】
図5は、本発明の対話装置における特徴ベクトルの訓練を表す説明図である。
【0038】
[発話特徴ベクトル生成部11]
発話特徴ベクトル生成部11は、教師データの発話文から発話特徴ベクトルを生成する。発話特徴ベクトル生成部11は、発話文と、それに加えた発話対象画像とを入力し、それぞれから発話特徴ベクトルを生成する。生成した発話特徴ベクトルは、結合層14へ入力される。
【0039】
発話文に対する発話特徴ベクトルは、具体的にはBERT(登録商標)やGPT-2(登録商標)のような分散表現生成アルゴリズム(embedding)を適用し、高次元ベクトルに置き換えたものである。また、発話対象画像に対する発話特徴ベクトルは、具体的にはVisualBERT(登録商標)を適用したものである。
【0040】
前述した図2の対話履歴によれば、発話特徴ベクトル生成部11は、対話履歴におけるユーザAの発話文「象の親子のようなのがかわいいよね」と、発話対象画像「象の親子」とを入力し、発話特徴ベクトルを生成する。
【0041】
[知識グラフ検索部12]
知識グラフ検索部12は、教師データの発話文に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語を検索する。検索された実体語、実体対象画像及び関係語は、知識特徴ベクトル生成部13へ出力される。
ここで、発話実体語から関係語の1ホップ(所定ホップ数)でリンクする実体語のみを、検索してもよい。1ホップ内の他の実体語は、当該発話実体語との関連性が極めて高い知識といえる。
【0042】
前述した図2によれば、知識グラフ検索部12は、対話履歴におけるユーザAの発話文「象の親子のようなのがかわいいよね」から、発話実体語「象」という単語を生成する。そして、知識グラフ検索部12は、知識グラフ蓄積部101を用いて、発話実体語「象」から関係語によってリンクする他の実体語を検索する。このとき、発話実体語から1ホップで関係語によってリンクする実体語のみが検索されている。
【0043】
[知識特徴ベクトル生成部13]
知識特徴ベクトル生成部13は、知識グラフ検索部12によって検索された実体語、実体対象画像及び関係語から、知識特徴ベクトルを生成する。知識特徴ベクトルは、結合層14へ入力される。
【0044】
知識特徴ベクトル生成部13は、GNN(Graph Neural Network)であってもよい。
CNN(Convolutional Neural Network)は、例えば画像の上下左右斜めの8方向からの情報を畳み込んでいくのに対して、GNNは、ノードと、そのノードにリンクする他のノードの情報を畳み込むものである。
【0045】
[結合層14]
結合層14は、発話特徴ベクトルと知識特徴ベクトルとを結合して、結合発話特徴ベクトルを生成する。生成された結合発話特徴ベクトルは、エンコーダデコーダ16のエンコーダ側へ入力される。
【0046】
[応答特徴ベクトル生成部15]
応答特徴ベクトル生成部15は、教師データの発話文に対応する教師データの応答文及び応答対象画像から、応答特徴ベクトルを生成する。
応答特徴ベクトル生成部15は、応答文及び応答話対象画像を入力し、それぞれから応答特徴ベクトルを生成する。生成した応答特徴ベクトルは、エンコーダデコーダ16のデコーダ側へ入力される。
応答文に対する応答特徴ベクトルと同様に、具体的にはBERT(登録商標)やGPT-2(登録商標)のような分散表現生成アルゴリズム(embedding)を適用し、高次元ベクトルに置き換えたものである。また、応答対象画像に対する応答特徴ベクトルは、具体的にはVisualBERT(登録商標)を適用したものである。
【0047】
BERT(Bidirectional Encoder Representations from Transformers)とは、Transformerアーキテクチャによる双方向学習のエンコード表現であり、Google(登録商標)の自然言語処理モデルである。画像についてはVisualBERTがある。BERTは、Seq2seqベースの事前学習モデルであり、ラベルが付与されていない特徴ベクトル(分散表現)をTransformerで処理して学習する。これは、連続する文章の中で、次に来る単語を単に予測するだけでなく、周りの文脈からからマスクされている単語を双方向で予測する。これによって、単語に対応する文脈情報を学習する。
また、GPT-2(Generative Pre-Training 2)は、Open AIに基づくものであり、自然言語に代えてピクセルで学習することによって、前半の画像(又は一部の画像)のシーケンスから、人間が感覚的に考えるように、後半の画像(又は画像全体)を予測することができる。
【0048】
ここで、結合発話特徴ベクトル(発話特徴ベクトル及び知識特徴ベクトル)並びに応答特徴ベクトルには、潜在的に「注意機構(Attention)」を含む。注意機構は、自然言語処理によって文として自然であることを過度に優先することのないようにしたものである。これによって、重要視すべき単語や語句が指定され、エンコーダデコーダ16における適切な自然言語処理が可能となる。
【0049】
[エンコーダデコーダ16]
エンコーダデコーダ16は、結合発話特徴ベクトルを入力し、応答特徴ベクトルを出力するように訓練する。
エンコーダデコーダ16について、エンコーダは、発話文(及び発話対象画像)並びに知識グラフに基づく結合発話特徴ベクトルを入力し、潜在ベクトルを出力する。一方で、デコーダは、エンコーダから出力された潜在ベクトルを入力し、応答特徴ベクトルを出力する。
このとき、エンコーダデコーダ16は、当該エンコーダデコーダ16から出力された応答特徴ベクトルと、応答文特徴ベクトル生成部15から生成された応答特徴ベクトルとの間の損失が最小となるように訓練する。
【0050】
エンコーダデコーダ16は、Transformerに基づくものであってもよい。前述したように、エンコーダデコーダ16は、ラベル付けされていない言語に基づく特徴ベクトルと画像に基づく特徴ベクトルとを、クロスモーダル的に訓練する。これは、発話文(及び発話対象画像)と、応答文及び応答対象画像と、知識グラフとを関連付けを訓練したこととなる。
【0051】
<対話時>
図6は、本発明の対話装置における対話時の機能構成図である。
図6によれば、対話装置1における対話時の機能構成は、図1で前述した訓練時の機能構成と同じである。
【0052】
対話装置1は、通信インタフェース102を更に有し、ユーザインタフェースとなる端末2から発話文(及び発話対象画像)を受信し、端末2へ応答文及び応答対象画像を送信する。
通信インタフェース102は、ユーザの発話音声の音声認識機能、及び、ユーザへの応答文の音声合成機能を有する。音声認識機能は、端末2のマイクによって取得されたユーザの発話音声を、テキストベースの発話文に変換する。音声合成機能は、生成された応答文を、音声信号に変換する。これら発話文及び応答文の組の履歴が、対話文履歴となる。
尚、音声認識機能及び音声合成機能は、端末2に搭載されるものであってもよい。その場合、端末2からテキストベースの「発話文」を受信すると共に、端末2へ「応答文」を送信する。
【0053】
前述した図1における訓練時では、教師データについて処理されるのに対し、図6における対話時では、通信インタフェース102によってリアルタイムに受信した対象データについて処理される。
【0054】
端末2は、ユーザからマルチモーダル情報を取得し、ユーザへマルチモーダル情報を表示可能なデバイスを搭載している。少なくとも、ユーザへ画像を表示するディスプレイと、ユーザからの発話音声を収音可能なマイクと、ユーザが視聴中の画像を撮影可能なカメラとを搭載する。このような端末2としては、例えば「SOTA(登録商標)」「ユニボー(登録商標)」のようなロボット(以下「端末」と称す)がある。また、ディスプレイ、マイク及びカメラを備えた「Google Home(登録商標)」や「Amazon Echo(登録商標)」のようなタブレットであってもよい。
【0055】
図6によれば、発話特徴ベクトル生成部11は、ユーザの発話文(及び発話対象画像)を入力し、発話特徴ベクトルをエンコーダデコーダ16へ出力する。
発話特徴ベクトル生成部11は、対象データの発話文から発話特徴ベクトルを生成し、その発話特徴ベクトルを、結合層14へ入力する。
知識グラフ検索部12は、対象データの発話文に含まれる1つ以上の発話実体語を検出し、知識グラフを用いて当該発話実体語から関係語によってリンクする実体語を検索する。
知識特徴ベクトル生成部13は、知識グラフ検索部12によって検索された実体語及び関係語から知識特徴ベクトルを生成し、その知識特徴ベクトルを、結合層14へ入力する。
結合層14は、発話特徴ベクトルと知識特徴ベクトルとを結合して、結合発話特徴ベクトルを生成し、当該結合発話特徴ベクトルをエンコーダデコーダ16のエンコーダ側へ出力する。
エンコーダデコーダ16は、結合発話特徴ベクトルを入力し、応答特徴ベクトルを応答特徴ベクトル生成部15へ出力する。
応答特徴ベクトル生成部15は、応答特徴ベクトルを入力し、応答文及び応答対象画像を生成し、それらを通信インタフェース102から端末2へ送信する。
【0056】
図7は、本発明における第1の対話例を表す説明図である。
【0057】
図7によれば、例えばユーザがテレビを見ながら、対話装置1と雑談対話をしているとする。このとき、ユーザが見ているテレビの映像を、対話装置1が認識していてもよい。
例えば、以下のように対話している。
・・・・・・・・・・・・・・・・・・・・
S: 今、野生動物の番組やってますよ。(野生動物の映像、例えばテレビ)
U: この象、かわいいね。
S: 親子ですね。
U: ところで、「象の由来」は?
S:「古代中国にも生息していたゾウの姿にかたどった象形文字である」とされています。(象形文字の画像)
U:ほう~
【0058】
図7によれば、対話装置1は、ユーザから発話文「象の由来」を受信する。そして、対話装置1は、その発話文から生成された発話特徴ベクトルと、「象」「由来」を含む知識グラフに対する知識特徴ベクトルとから、応答文「古代中国にも生息していたゾウの姿にかたどった象形文字である」と応答対象画像「象形文字」とを出力することができる。象形文字やその画像は、過去のユーザ同士の対話履歴から得られない知識である。このような知識についても、雑談対話をすることができる。
【0059】
図8は、本発明における第2の対話例を表す説明図である。
【0060】
図8によれば、例えばユーザが自動車を運転しながら、対話装置1と雑談対話をしているとする。このとき、ユーザの視線先が端末2のカメラによって撮影され、その画像が発話対象画像として、対話装置1へ送信されているとする。
例えば、以下のように対話している。
・・・・・・・・・・・・・・・・・・・・
U:この道は、なんで「天国に続く道」と呼ばれているの?(視線先の画像)
S:「地平線まで続くように見える」からです。(道の画像)
【0061】
図8によれば、対話装置1は、ユーザからの発話文「天国に続く道」と、発話対象画像と受信する。そして、対話装置1は、その発話文及び発話対象画像から生成した発話特徴ベクトルと、「天国に続く道」を含む知識グラフに対する知識特徴ベクトルとから、応答文「地平線まで続くように見える」と応答対象画像(天国に続く道)とを出力することができる。天国に続く道の由来や画像は、過去のユーザ同士の対話履歴から得られない知識である。このような知識についても、雑談対話をすることができる。
【0062】
以上、詳細に説明したように、本発明の対話プログラム、装置及び方法によれば、マルチモーダルな知識グラフを用いて雑談的に対話することができる。
【0063】
従来技術としての非特許文献1、2及び4によれば、「画像を含むマルチモーダル雑談対話を展開できない」という課題があった。これに対して、本発明によれば、画像を含む知識グラフを用いることによって、テキストのみならず、マルチモーダルな雑談対話を実現することができる。
また、従来技術としての非特許文献1及び3によれば、「タスク向け対話に限定される」という課題があった。これに対して、本発明によれば、深層学習モデルで応答文及び応答対象画像を生成するために、特定のタスク向けに限定されず、自然な雑談対話を実現することができる。
更に、従来技術としての非特許文献1及び4によれば、「概念知識グラフに限定される」という課題があった。これに対して、本発明によれば、話題・トピックに基づく知識グラフを構築し、話題・トピックに関連性が高いインフォメーションと画像を全部知識グラフに格納する。こうした知識グラフを用いて、話題にめぐってマルチモーダル雑談対話の応答生成が期待できる。これによって、豊富な知識を含む雑談対話を実現することができる。
【0064】
尚、これにより、例えば「マルチモーダルな知識グラフを用いて雑談的な対話によってユーザサポートやビジネスコンタクトをすることができる」ことから、国連が主導する持続可能な開発目標(SDGs)の目標8「すべての人々のための包摂的かつ持続可能な経済成長、雇用およびディーセント・ワークを推進する」に貢献することが可能となる。
【0065】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0066】
1 対話装置
100 対話履歴蓄積部
101 知識グラフ蓄積部
102 通信インタフェース
11 発話特徴ベクトル生成部
12 知識グラフ検索部
13 知識特徴ベクトル生成部
14 結合層
15 応答特徴ベクトル生成部
16 エンコーダデコーダ
2 端末
図1
図2
図3
図4
図5
図6
図7
図8