(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-16
(45)【発行日】2025-06-24
(54)【発明の名称】コミュニケーション予測装置およびコミュニケーション予測方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20250617BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2022068321
(22)【出願日】2022-04-18
【審査請求日】2024-06-12
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100109047
【氏名又は名称】村田 雄祐
(74)【代理人】
【識別番号】100109081
【氏名又は名称】三木 友由
(72)【発明者】
【氏名】中西 亮輔
(72)【発明者】
【氏名】勝原 康雄
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2021-45568(JP,A)
【文献】特開2020-35467(JP,A)
【文献】特開2018-146844(JP,A)
【文献】国際公開第2019/093392(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報を取得する取得部と、
取得された情報に基づいて、複数の会話参加者の中から次の発話者を予測するためのモデルを機械学習する学習部と、
取得された情報に含まれる複数のユーザが入力した投稿文をもとに複数のユーザの言語的特徴量を導出し、取得された情報に含まれる対象ユーザが入力した他のユーザの投稿文に対する反応に関する情報をもとに、対象ユーザと他のユーザとの間の関係性を表す関係性特徴量、および、対象ユーザから他のユーザへの話者交替回数を表す情報を導出する導出部と、
を備え
、
前記学習部は、対象ユーザの言語的特徴量と、他のユーザの言語的特徴量と、対象ユーザと他のユーザとの間の関係性特徴量とを入力とし、対象ユーザから他のユーザへの話者交替回数を表す情報を正解ラベルとしてモデルを学習する、
ことを特徴とするコミュニケーション予測装置。
【請求項2】
前記導出部は、取得された情報に含まれる対象ユーザを識別するための画像と、他のユーザを識別するための画像とをもとに、対象ユーザと他のユーザのそれぞれの画像特徴量を導出し、
前記学習部は、対象ユーザと他のユーザのそれぞれの画像特徴量も入力とし、モデルを学習する、
ことを特徴とする請求項
1に記載のコミュニケーション予測装置。
【請求項3】
前記導出部は、
複数のユーザの言語的特徴量をクラスタに分類し、
各クラスタを代表する仮想的な代表ユーザの言語的特徴量を導出し、
ソーシャルネットワーキングサービスに入力した情報が存在しないユーザも学習の対象とする場合、当該ユーザの言語的特徴量として、いずれかのクラスタの代表ユーザの言語的特徴量を設定する、
ことを特徴とする請求項
1に記載のコミュニケーション予測装置。
【請求項4】
複数の会話参加者による会話中に、それぞれの会話参加者と他の会話参加者とのコミュニケーションに関する情報を取得する取得部と、
ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報に基づいて機械学習された学習済みモデルを用いて、取得されたコミュニケーションに関する情報に基づいて前記複数の会話参加者の中から次の発話者を予測する予測部と、
取得されたコミュニケーションに関する情報をもとに、前記複数の会話参加者のそれぞれの第2特徴量ベクトルを導出する導出部と、
を備え
、
前記予測部は、
ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報から導出された各ユーザの第1特徴量ベクトルを記憶している記憶部から、前記複数の会話参加者のそれぞれの第1特徴量ベクトルを取得し、
前記学習済みモデルを用いて、取得した複数の第1特徴量ベクトルと、導出された複数の第2特徴量ベクトルとに基づいて次の発話者を予測する、
ことを特徴とするコミュニケーション予測装置。
【請求項5】
前記予測部は、
会話参加者ごとに、取得された第1特徴量ベクトルと、導出された第2特徴量ベクトルとにおける対応する特徴量同士を重み付け加算して第3特徴量ベクトルを導出し、
導出された第3特徴量ベクトルを前記学習済みモデルに入力し、次の発話者を予測する、
ことを特徴とする請求項
4に記載のコミュニケーション予測装置。
【請求項6】
前記予測部は、
会話参加者ごとに、取得された第1特徴量ベクトルと、導出された第2特徴量ベクトルとを連結して第3特徴量ベクトルを導出し、
導出された第3特徴量ベクトルを前記学習済みモデルに入力し、次の発話者を予測する、
ことを特徴とする請求項
4に記載のコミュニケーション予測装置。
【請求項7】
コンピュータが実行するコミュニケーション予測方法であって、
ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報を取得するステップと、
取得された情報に基づいて、複数の会話参加者の中から次の発話者を予測するためのモデルを機械学習するステップと、
取得された情報に含まれる複数のユーザが入力した投稿文をもとに複数のユーザの言語的特徴量を導出し、取得された情報に含まれる対象ユーザが入力した他のユーザの投稿文に対する反応に関する情報をもとに、対象ユーザと他のユーザとの間の関係性を表す関係性特徴量、および、対象ユーザから他のユーザへの話者交替回数を表す情報を導出するステップと、
を備え
、
前記機械学習するステップにおいて、対象ユーザの言語的特徴量と、他のユーザの言語的特徴量と、対象ユーザと他のユーザとの間の関係性特徴量とを入力とし、対象ユーザから他のユーザへの話者交替回数を表す情報を正解ラベルとしてモデルを学習する、
ことを特徴とするコミュニケーション予測方法。
【請求項8】
コンピュータが実行するコミュニケーション予測方法であって、
複数の会話参加者による会話中に、それぞれの会話参加者と他の会話参加者とのコミュニケーションに関する情報を取得するステップと、
ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報に基づいて機械学習された学習済みモデルを用いて、取得されたコミュニケーションに関する情報に基づいて前記複数の会話参加者の中から次の発話者を予測するステップと、
取得されたコミュニケーションに関する情報をもとに、前記複数の会話参加者のそれぞれの第2特徴量ベクトルを導出するステップと、
を備え
、
前記予測するステップにおいて、
ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報から導出された各ユーザの第1特徴量ベクトルを記憶している記憶部から、前記複数の会話参加者のそれぞれの第1特徴量ベクトルを取得し、
前記学習済みモデルを用いて、取得した複数の第1特徴量ベクトルと、導出された複数の第2特徴量ベクトルとに基づいて次の発話者を予測する、
ことを特徴とするコミュニケーション予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コミュニケーション予測装置およびコミュニケーション予測方法に関する。
【背景技術】
【0002】
特許文献1は、会話中に適切な発話のタイミングを逸してしまった会話の参加者に、発話を促す会話支援システムを開示する。このシステムでは、会話中の各参加者の非言語行動の計測結果に基づいて、各参加者が任意の時刻に次発話となる確率である次話者確率を推定し、各参加者の次話者確率に基づいて次に発話を行うべき参加者である予測次話者を推定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の技術では、過去の会話で取得したデータを学習データとして用い、次話者確率を推定するためのモデルを学習するため、データ収集に多大な労力を要する。
【0005】
本発明の目的は、学習用データの収集の労力を低減しつつ、次の発話者を精度良く予測できる技術を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様のコミュニケーション予測装置は、ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報を取得する取得部と、取得された情報に基づいて、複数の会話参加者の中から次の発話者を予測するためのモデルを機械学習する学習部と、取得された情報に含まれる複数のユーザが入力した投稿文をもとに複数のユーザの言語的特徴量を導出し、取得された情報に含まれる対象ユーザが入力した他のユーザの投稿文に対する反応に関する情報をもとに、対象ユーザと他のユーザとの間の関係性を表す関係性特徴量、および、対象ユーザから他のユーザへの話者交替回数を表す情報を導出する導出部と、を備える。前記学習部は、対象ユーザの言語的特徴量と、他のユーザの言語的特徴量と、対象ユーザと他のユーザとの間の関係性特徴量とを入力とし、対象ユーザから他のユーザへの話者交替回数を表す情報を正解ラベルとしてモデルを学習する。
【0007】
本発明の別の態様もまた、コミュニケーション予測装置である。この装置は、複数の会話参加者による会話中に、それぞれの会話参加者と他の会話参加者とのコミュニケーションに関する情報を取得する取得部と、ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報に基づいて機械学習された学習済みモデルを用いて、取得されたコミュニケーションに関する情報に基づいて前記複数の会話参加者の中から次の発話者を予測する予測部と、取得されたコミュニケーションに関する情報をもとに、前記複数の会話参加者のそれぞれの第2特徴量ベクトルを導出する導出部と、を備える。前記予測部は、ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報から導出された各ユーザの第1特徴量ベクトルを記憶している記憶部から、前記複数の会話参加者のそれぞれの第1特徴量ベクトルを取得し、前記学習済みモデルを用いて、取得した複数の第1特徴量ベクトルと、導出された複数の第2特徴量ベクトルとに基づいて次の発話者を予測する。
【0008】
本発明のさらに別の態様は、コミュニケーション予測方法である。この方法は、コンピュータが実行するコミュニケーション予測方法であって、ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報を取得するステップと、取得された情報に基づいて、複数の会話参加者の中から次の発話者を予測するためのモデルを機械学習するステップと、取得された情報に含まれる複数のユーザが入力した投稿文をもとに複数のユーザの言語的特徴量を導出し、取得された情報に含まれる対象ユーザが入力した他のユーザの投稿文に対する反応に関する情報をもとに、対象ユーザと他のユーザとの間の関係性を表す関係性特徴量、および、対象ユーザから他のユーザへの話者交替回数を表す情報を導出するステップと、を備える。前記機械学習するステップにおいて、対象ユーザの言語的特徴量と、他のユーザの言語的特徴量と、対象ユーザと他のユーザとの間の関係性特徴量とを入力とし、対象ユーザから他のユーザへの話者交替回数を表す情報を正解ラベルとしてモデルを学習する。
【0009】
本発明のさらに別の態様もまた、コミュニケーション予測方法である。この方法は、コンピュータが実行するコミュニケーション予測方法であって、複数の会話参加者による会話中に、それぞれの会話参加者と他の会話参加者とのコミュニケーションに関する情報を取得するステップと、ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報に基づいて機械学習された学習済みモデルを用いて、取得されたコミュニケーションに関する情報に基づいて前記複数の会話参加者の中から次の発話者を予測するステップと、取得されたコミュニケーションに関する情報をもとに、前記複数の会話参加者のそれぞれの第2特徴量ベクトルを導出するステップと、を備える。前記予測するステップにおいて、ソーシャルネットワーキングサービスにおいて複数のユーザが入力した情報から導出された各ユーザの第1特徴量ベクトルを記憶している記憶部から、前記複数の会話参加者のそれぞれの第1特徴量ベクトルを取得し、前記学習済みモデルを用いて、取得した複数の第1特徴量ベクトルと、導出された複数の第2特徴量ベクトルとに基づいて次の発話者を予測する。
【発明の効果】
【0010】
本発明によれば、学習用データの収集の労力を低減しつつ、次の発話者を精度良く予測できる技術を提供できる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施の形態のコミュニケーション予測システムの処理の概要を説明するための図である。
【
図2】第1の実施の形態のコミュニケーション予測システムの構成を示す図である。
【
図4】複数のユーザの言語的特徴量の一例を示す図である。
【
図5】話者交替回数と頻度の関係の一例を示す図である。
【
図6】複数のユーザの固有の特徴量ベクトルの分布を概略的に示す図である。
【
図7】
図2のコミュニケーション予測システムの学習処理を示すフローチャートである。
【
図8】
図2のコミュニケーション予測システムの予測処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
(第1の実施の形態)
図1は、第1の実施の形態のコミュニケーション予測システムの処理の概要を説明するための図である。コミュニケーション予測システムは、サイバー空間におけるコミュニケーション情報を用いて、フィジカル空間における複数の会話参加者の会話に関する情報を予測する。以下、3人の会話参加者u1,u2,u3の一例を説明するが、人数は特に限定されない。
【0013】
コミュニケーション予測システムは、複数の会話参加者u1,u2,u3による会話中に、会話参加者の音声データと映像データなどを取得し、取得したデータをもとに、それぞれの会話参加者と他の会話参加者とのコミュニケーションに関する情報を定期的に取得する。コミュニケーションに関する情報は、会話内容、視線、頷きなどに関する情報を含む。
【0014】
学習済みモデル50は、複数の会話参加者の中から次の発話者を予測するためのモデルであり、ソーシャルネットワーキングサービス(以下、SNSとも呼ぶ)において複数のユーザが入力した投稿文とリアクションなどの情報に基づいて予め機械学習されている。それぞれの会話参加者u1,u2,u3はSNSを利用しており、学習対象の複数のユーザは会話参加者u1,u2,u3を含むことを想定するが、後述のように会話参加者はSNSを利用していなくてもよい。
【0015】
コミュニケーション予測システムは、学習済みモデル50を用いて、会話参加者u1,u2,u3のコミュニケーションに関する情報と、会話参加者u1,u2,u3がSNSに入力した情報とに基づいて、それぞれの会話参加者に関して、当該会話参加者からそれぞれの他の会話参加者への単位時間あたりの話者交替回数を定期的に予測する。予測結果は、図示する行列表現が可能である。単位時間と予測頻度は、実験やシミュレーションにより適宜定めることができ、例えば、単位時間は1分であってよく、予測頻度は1分に1回であってよい。
【0016】
図示する例では、発話者である会話参加者u1から、次の発話者である会話参加者u2への単位時間あたりの話者交替回数は「2」であり、会話参加者u3への単位時間あたりの話者交替回数は「20」であると予測されている。
【0017】
発話者である会話参加者u2から、次の発話者である会話参加者u1への単位時間あたりの話者交替回数は「5」であり、会話参加者u3への単位時間あたりの話者交替回数は「10」であると予測されている。
【0018】
発話者である会話参加者u3から、次の発話者である会話参加者u1への単位時間あたりの話者交替回数は「10」であり、会話参加者u2への単位時間あたりの話者交替回数は「3」であると予測されている。
【0019】
なお、この例では、発話者と次の発話者が同一である遷移を除外し、その話者交替回数を「0」に固定しているが、用途に応じて、発話者と次の発話者が同一である遷移も話者交替であると定義し、その話者交替回数も予測してもよい。
【0020】
単位時間あたりの話者交替回数は、話者が交替する頻度を表し、話者の遷移確率も表している。例えば、発話者が会話参加者u1である場合、次の発話者が会話参加者u2である確率は、100×2/(2+20)[%]であり、次の発話者が会話参加者u3である確率は、100×20/(2+20)[%]であり、次の発話者は会話参加者u3であることが予測できる。つまり、コミュニケーション予測システムは、複数の会話参加者の中から次の発話者を予測する。
【0021】
実際に行われた会話のデータを学習用データとして収集する場合と比較し、SNSデータの収集は労力が低く、より多くのユーザに関するより多くのデータをより短時間で収集できる。そのような大量の学習用データを用いて学習した予測モデルを利用することで、次の発話者を精度良く予測できる。
【0022】
次の発話者を予測することで、例えば、予測された次の発話者を複数の会話参加者に知らせることができる。予測された次の発話者と実際の次の発話者が一致しているか否かに応じて、発話が適切なタイミングで行われたか確認することもできる。
【0023】
また、単位時間あたりの話者交替回数は、単位時間あたりの会話量を表しているとも言える。
図1の例では、会話参加者u1の発話に続く会話参加者u2の会話量は「2」であり、会話参加者u1の発話に続く会話参加者u3の会話量は「20」であるとも表現できる。つまり、コミュニケーション予測システムは、それぞれの会話参加者に関して、当該会話参加者の発話に続く他の会話参加者のそれぞれの単位時間あたりの会話量も予測する。また、例えば、会話参加者u1の発話に続く会話参加者u2の会話量と、会話参加者u2の発話に続く会話参加者u1の会話量のそれぞれを、会話参加者u1と会話参加者u2との間の会話量とみなす。そのため、会話参加者u1と会話参加者u2との間の会話量は、「2」+「5」=「7」であると予測される。つまり、コミュニケーション予測システムは、複数の会話参加者における2人の会話参加者の組み合わせのそれぞれにおける単位時間あたりの会話量を予測するとも言える。このように、事前に会話量を予測できる。すなわち、事前に誰がどれだけ話をしそうかを予測できる。
【0024】
予測した会話量は、例えば、本出願人が先に出願した特願2021-163089に記載のコミュニケーション支援システムにおいて2人のメンバー間の単位時間当たりの会話量として利用できる。例えば、会話参加者u1,u2,u3のそれぞれの現在のストレス状態値、会話参加者u1と会話参加者u2の間の予測した会話量、会話参加者u1と会話参加者u3の間の予測した会話量から、会話参加者u1の未来のストレス状態値を予測できる。つまり、他者との会話による影響を考慮した個人の未来のストレス状態値を予測できる。
【0025】
図2は、第1の実施の形態のコミュニケーション予測システム1の構成を示す。コミュニケーション予測システム1は、マイク2、カメラ4、センサ6、およびコミュニケーション予測装置10を備える。図示しないが、コミュニケーション予測システム1は、複数のマイク2、複数のカメラ4、および複数のセンサ6を有する。
【0026】
マイク2は、複数の会話参加者の音声を取得し、取得した音声のデータをコミュニケーション予測装置10に供給する。カメラ4は、複数の会話参加者を撮影し、撮影した画像のデータをコミュニケーション予測装置10に供給する。センサ6は、各会話参加者の身体に取り付けられ、各会話参加者の姿勢を検出し、検出したセンサデータをコミュニケーション予測装置10に供給する。センサ6は、各会話参加者の心拍数などを検出してもよい。
【0027】
コミュニケーション予測装置10は、処理部12、SNSデータ記憶部14、特徴量辞書記憶部16、および学習済みモデル記憶部18を備える。処理部12は、第1取得部20、第1導出部22、学習部24、第2取得部26、音声認識部28、第2導出部30、予測部32、および出力部34を備える。
【0028】
処理部12の構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0029】
まず、学習に関する処理について説明する。第1取得部20は、SNSにおいて複数のユーザが入力した情報(以下、SNSデータとも呼ぶ)を取得し、取得したSNSデータをSNSデータ記憶部14に記憶させる。SNSデータは、投稿文の内容、投稿文に対する絵文字などによるリアクション、投稿文に対するリプライ、ユーザのアカウントの画像またはプロフィール画像などの情報を含む。
【0030】
第1取得部20は、取得したSNSデータに必要に応じて前処理を行い、SNSデータから学習用データを作成し、学習用データを第1導出部22に供給する。前処理は、例えば、投稿文のテキストの整形処理であり、アルファベットやカタカナなどの全角の文字を半角に統一し、顔文字等を削除し、単語分割を実行する処理を含む。
【0031】
第1導出部22は、学習用データから各ユーザの第1特徴量ベクトルを導出する。第1特徴量ベクトルは、言語的特徴量、画像特徴量、関係性特徴量を含む。
【0032】
第1導出部22は、第1取得部20で取得された情報に含まれる複数のユーザが入力した投稿文、投稿文に対するリアクション、投稿文に対するリプライをもとに複数のユーザの言語的特徴量を導出する。言語的特徴量は、ユーザが得意とする話題、ユーザが興味を持っている話題、ユーザの専門性などを表現する。
【0033】
第1導出部22は、対象ユーザが入力した投稿文における各単語の出現頻度と、対象ユーザが入力したリアクションまたはリプライの対象となった他のユーザの投稿文における各単語の出現頻度とをもとに、対象ユーザの言語的特徴量を導出する。対象ユーザが入力したリプライにおける各単語の出現頻度を用いてもよい。つまり、第1導出部22は、対象ユーザが入力した投稿文と、対象ユーザが入力した、他のユーザの投稿文に対する反応に関する情報であるリアクションとリプライをもとに、対象ユーザの言語的特徴量を導出する。
【0034】
図3は、SNSの情報の一例を示す。
図3は、ユーザAが投稿した投稿文60、ユーザBによる投稿文60に対するリプライ62、複数のユーザによるユーザAの投稿に対するリアクション64が表示された画面の例を示す。ユーザAのアカウント画像66、ユーザBのアカウント画像68も表示されている。
【0035】
図4は、複数のユーザu1~um(mは2以上の整数)の言語的特徴量の一例を示す。w1~wn(nは2以上の整数)は、単語を表す。行列の各要素は、投稿文における単語の出現頻度を表す。1行が、あるユーザの言語的特徴量を表現するベクトルである。図示する例では、ユーザu1の言語的特徴量のベクトルにおいて、単語w1の出現頻度は「0」、単語w2の出現頻度は「10」である。単語の語彙は非常に多いことから、言語的特徴量は例えば数万次元になり得、行列もスパースになるため、低ランク近似手法(NMF)等を用いて次元削減してよい。次元削減された各ユーザの言語的特徴量は、例えば、200次元であってよい。
【0036】
第1導出部22は、SNSにおける各ユーザを識別するための画像をもとに各ユーザの画像特徴量も導出する。ユーザを識別するための画像は、ユーザのアカウントの画像またはプロフィール画像である。第1導出部22は、アカウント画像などの複数の画素のRGB値をもとに画像特徴量を導出する。第1導出部22は、アカウント画像などを入力として性格を推定するモデルが存在する場合、そのモデルの出力値を画像特徴量としてもよい。画像特徴量は、例えば1次元であり、各ユーザの性格などの個人特性、内的性質を表現する。例えば、画像特徴量の数値が大きいほど外向的な性格を表してもよい。画像特徴量を用いることで、ユーザの性格もモデルに反映させることができ、予測精度を高めることができる。
【0037】
第1導出部22は、取得された情報に含まれる対象ユーザが入力した他のユーザの投稿文に対するリアクションとリプライの情報をもとに、対象ユーザと他のユーザとの間の関係性を表す関係性特徴量、および、対象ユーザから他のユーザへの話者交替回数を表す情報を導出する。
【0038】
関係性特徴量は、ネットワーク特徴量とも呼ぶことができ、ユーザ間の関係性を表現する。各ユーザをノードとして、リアクションまたはリプライがあったとき、元の投稿者と、リアクションまたはリプライをしたユーザの間とにエッジを張る。何回もリアクション等があれば、エッジの重みは加算される。
【0039】
関係性特徴量の値は、最短経路長、同類選択性、次数などのネットワーク全体の平均と、ある特定の人物間の各値との差であってよい。関係性特徴量は、例えば、最短経路長に基づく値、同類選択性に基づく値、次数に基づく値を含み、3次元である。
【0040】
対象ユーザから他のユーザへの話者交替回数は、所定の関係式に基づいて、対象ユーザが入力した他のユーザの投稿文に対するリアクション等の数が多いほど、大きく導出される。所定の関係式は、例えば、対象ユーザが入力した他のユーザの投稿文に対するリアクション等の数と、実際の会話における対象ユーザから他のユーザへの話者交替回数との関係を近似するように、実験により適宜定めることができる。対象ユーザAから他のユーザBへの話者交替回数と、他のユーザBから対象ユーザAへの話者交替回数とは、区別される。
【0041】
第1導出部22は、ユーザごとに言語的特徴量と画像特徴量を連結(concatenate)してユーザに固有の特徴量ベクトルを作成し、この特徴量ベクトルを含む特徴量辞書を作成し、作成した辞書を特徴量辞書記憶部16に記憶させる。1人のユーザの固有の特徴量ベクトルは、例えば、200+1=201次元である。
【0042】
第1導出部22は、複数のユーザにおける2人のユーザの組み合わせのそれぞれの関係性特徴量、および、話者交替回数を表す情報も特徴量辞書記憶部16に記憶させる。つまり、特徴量辞書記憶部16は、各ユーザの第1特徴量ベクトルを記憶しているとも言える。
【0043】
学習部24は、第1取得部20で取得された情報に基づいて、複数の会話参加者の中から次の発話者を予測するためのモデルを機械学習し、学習済みモデルを学習済みモデル記憶部18に記憶させる。具体的には、学習部24は、対象ユーザの第1特徴量ベクトルと、他のユーザの第1特徴量ベクトルと、対象ユーザから他のユーザへの話者交替回数を表す情報を特徴量辞書記憶部16から取得し、これらをもとにモデルを学習する。対象ユーザの第1特徴量ベクトルは、対象ユーザの言語的特徴量および画像特徴量と、対象ユーザと他のユーザとの間の関係性特徴量とを含み、例えば、204次元である。他のユーザの第1特徴量ベクトルは、他のユーザの言語的特徴量および画像特徴量と、他のユーザと対象ユーザとの間の関係性特徴量とを含み、例えば、204次元である。対象ユーザと他のユーザとの間の関係性特徴量は、他のユーザと対象ユーザとの間の関係性特徴量と同一であってよい。
【0044】
より詳細には、学習部24は、対象ユーザの言語的特徴量および画像特徴量と、対象ユーザと他のユーザとの間の関係性特徴量と、他のユーザの言語的特徴量および画像特徴量と、他のユーザと対象ユーザとの間の関係性特徴量とを入力とし、対象ユーザから他のユーザへの話者交替回数を表す情報を正解ラベルとしてモデルを学習する。学習部24は、複数のユーザのうち2人のユーザごとにモデルを学習することを繰り返す。2人のユーザに関して、対象ユーザから他のユーザへの話者交替回数を表す情報を正解ラベルとした場合と、他のユーザから対象ユーザへの話者交替回数を表す情報を正解ラベルとした場合とで、2回学習できる。2人のユーザごとに学習することで、学習サンプル数を水増しでき、会話参加者数に頑健なモデルができる。例えば、100人のユーザの場合、100×100-100=9900個のサンプル数を確保できる。
【0045】
モデルは、例えば、多層ニューラルネットワークモデルである。モデルは、回帰モデルでもよいし、分類モデルでもよい。回帰モデルの場合、学習部24は、話者交替回数の数値を正解ラベルとして学習する。例えば、ユーザAからユーザBへの会話を対象とする場合、ユーザAの204次元の特徴量と、ユーザBの204次元の特徴量が入力となり、SNSデータから導出されたユーザAからユーザBへの話者交替回数である「54」が正解ラベルとなる。
【0046】
一方、例えば、ユーザBからユーザAへの会話を対象とする場合、ユーザAの204次元の特徴量と、ユーザBの204次元の特徴量が入力となり、SNSデータから導出されたユーザBからユーザAへの話者交替回数である「30」が正解ラベルとなる。
【0047】
ユーザAからユーザBへの話者交替回数と、ユーザBからユーザAへの話者交替回数とを区別して学習するために、2人のユーザの第1特徴量ベクトルの順番を特定するためのベクトルも学習部24に供給されてよい。
【0048】
分類モデルの場合、学習部24は、話者交替回数を量子化した値を正解ラベルとして学習する。話者交替回数を量子化した値は、話者交替回数を表す情報である。
【0049】
図5は、話者交替回数と頻度の関係の一例を示す。話者交替回数がしきい値th1より小さい場合、話者交替回数を「小」と定義する。話者交替回数がしきい値th1以上、しきい値th2未満である場合、話者交替回数を「中」と定義する。話者交替回数がしきい値th2以上の場合、話者交替回数を「大」と定義する。しきい値th1,th2は、予め人が設定する。
【0050】
例えば、ユーザAからユーザBへの会話を対象とする場合、ユーザAの204次元の特徴量と、ユーザBの204次元の特徴量が入力となり、SNSデータから導出されたユーザAからユーザBへの話者交替回数である「大」が正解ラベルとなる。
【0051】
ユーザBからユーザAへの会話を対象とする場合、ユーザAの204次元の特徴量と、ユーザBの204次元の特徴量が入力となり、SNSデータから導出されたユーザBからユーザAへの話者交替回数である「中」が正解ラベルとなる。
【0052】
ところで、実際の会話参加者がSNSを利用しておらず、その会話参加者のデータがSNSデータに含まれていない可能性がある。この場合、以下の処理を実行する。
【0053】
図6は、複数のユーザの固有の特徴量ベクトルの分布を概略的に示す。固有の特徴量ベクトルの次元は、既述のように例えば201次元であるが、
図6では2次元に簡略化している。
【0054】
第1導出部22は、k-means等を用いた教師なし学習によって複数のユーザの固有の特徴量ベクトルを複数のクラスタに分類し、各クラスタを代表する仮想的な代表ユーザの固有の特徴量ベクトルを導出する。第1導出部22は、クラスタごとに、当該クラスタの複数の特徴量ベクトルの重心を表す代表ユーザの固有の特徴量ベクトルを導出する。
図6の例では、5つのクラスタC1~C5に分類され、架空の5人の代表ユーザの5つの固有の特徴量ベクトルV1~V5が導出されている。つまり、100人のユーザが存在する場合、105人分の特徴量が作成される。
【0055】
第1導出部22は、SNSに入力した情報が存在しないユーザも学習の対象とする場合、当該ユーザの固有の特徴量ベクトルに、いずれかのクラスタの代表ユーザの固有の特徴量ベクトルを設定し、特徴量辞書記憶部16に保存する。例えば、システムの管理者等が、SNSデータが存在しないユーザに対して性格が外向的であるか内向的であるかなどを確認し、そのユーザの性格に比較的近いユーザの属するクラスタの代表ユーザの固有の特徴量ベクトルを選択してよい。
【0056】
第1導出部22は、SNSに入力した情報が存在しないユーザの関係性特徴量と正解ラベルを各クラスタに分類されたユーザに基づいて導出し、特徴量辞書記憶部16に保存する。
【0057】
例えば、ユーザAからユーザBへの話者交替回数が「54」であることが分かっている場合、ユーザAが分類されたクラスタC1からユーザBが分類されたクラスタC3への話者交替回数が「54」であるとみなす。また、ユーザAが分類されたクラスタC1とユーザBが分類されたクラスタC3との間の関係性特徴量は、ユーザAとユーザBとの間の関係性特徴量であるとみなす。
【0058】
つまり、SNSに入力した情報が存在しないユーザ(ユーザXとする)をクラスタC1に分類し、ユーザXからユーザBへの会話を対象とする場合、ユーザXの固有の特徴量ベクトルV1およびユーザAとユーザBとの間の関係性特徴量と、ユーザBの固有の特徴量ベクトル70およびユーザBとユーザAとの間の関係性特徴量とが入力となり、ユーザAからユーザBへの話者交替回数である「54」が正解ラベルとなる。
【0059】
このように、実際の会話参加者がSNSを利用していない場合であっても、その会話参加者の特徴を表している可能性のある特徴量ベクトルを用いて学習できる。
【0060】
また、何らかの理由でSNSデータに欠損値がある場合、第1導出部22は、学習済みの欠損値推定モデルを用いて欠損値を補完し、欠損値の補完が完了したSNSデータをもとに各ユーザの特徴量ベクトルを導出してもよい。欠損値の補完には、例えば、本出願人が先に出願した特願2021-165372に記載の技術を利用できる。
【0061】
次に、学習後、会話参加者による会話中に実行される予測に関する処理について説明する。
【0062】
第2取得部26は、複数の会話参加者による会話中に、マイク2から供給される音声データ、カメラ4から供給される画像データ、センサ6から供給されるセンサデータを取得し、音声データを音声認識部28に供給し、画像データとセンサデータを第2導出部30に供給する。この処理は、第2取得部26が、それぞれの会話参加者と他の会話参加者とのコミュニケーションに関する情報を取得することに相当する。
【0063】
音声認識部28は、第2取得部26で取得された音声データを音声認識し、音声認識結果に対して必要に応じて前処理を実行し、テキストデータを作成し、テキストデータを第2導出部30に供給する。前処理は、例えば、全角の文字を半角に統一し、人物の固有名詞を匿名化し、単語分割を実行する処理を含む。
【0064】
第2導出部30は、テキストデータに基づいて会話参加者ごとに言語的特徴量を導出する。第2導出部30は、対象の会話参加者の会話内容を表すテキストデータにおける各単語の出現頻度から、当該対象の会話参加者の言語的特徴量を導出する。この言語的特徴量も、
図4に示した第1導出部22により導出される言語的特徴量と同じ構造のベクトルであり、次元も同一である。
【0065】
第2導出部30は、センサデータに基づいて会話参加者ごとに画像特徴量を導出する。センサデータにより特定される会話中の会話参加者の姿勢は、会話参加者の性格を表すと考えられる。そこで、第2導出部30は、対象の会話参加者のセンサデータから導出される姿勢から、当該対象の会話参加者の画像特徴量を導出する。この画像特徴量も、第1導出部22により導出される画像特徴量と同じ1次元のベクトルである。
【0066】
第2導出部30は、画像データに基づいて2人の会話参加者の組ごとに関係性特徴量を導出する。第2導出部30は、各会話参加者をノードとして、画像データにより2人の会話参加者の間で視線を向けることまたは頷きがあったことが特定された場合、この2人の会話参加者の間のエッジの重みを増加させる。第2導出部30は、第1導出部22による処理と同様に、複数の会話参加者のノードとエッジをもとに、3次元の関係性特徴量を導出する。つまり、第2導出部30は、対象の会話参加者が他の会話参加者に対して取る行動に関する情報をもとに、対象の会話参加者と他の会話参加者との間の関係性特徴量を導出する。
【0067】
これらの処理は、第2導出部30が、取得されたコミュニケーションに関する情報をもとに、複数の会話参加者のそれぞれの第2特徴量ベクトルを導出することに相当する。第2特徴量ベクトルは、言語的特徴量、画像特徴量、関係性特徴量を含む。第2特徴量ベクトルの次元数は、第1特徴量ベクトルの次元数と同一である。
【0068】
予測部32は、SNSにおいて複数のユーザが入力した情報に基づいて機械学習されて学習済みモデル記憶部18に記憶されている学習済みモデルを用いて、取得されたコミュニケーションに関する情報に基づいて複数の会話参加者の中から次の発話者を予測する。予測部32は、それぞれの会話参加者に関して、当該会話参加者の発話に続く他の会話参加者のそれぞれの単位時間あたりの会話量を予測する。
【0069】
予測部32は、SNSにおいて複数のユーザが入力した情報から導出された各ユーザの第1特徴量ベクトルを記憶している特徴量辞書記憶部16から、複数の会話参加者のそれぞれの第1特徴量ベクトルを取得する。SNSを利用していない会話参加者が含まれる場合にも、既述のように、その会話参加者の第1特徴量ベクトルも特徴量辞書記憶部16に記憶されている。
【0070】
予測部32は、学習済みモデルを用いて、取得した複数の第1特徴量ベクトルと、導出された複数の第2特徴量ベクトルとに基づいて次の発話者を予測する。予測部32は、会話参加者ごとに、取得された第1特徴量ベクトルと、導出された第2特徴量ベクトルとを混合する。具体的には、予測部32は、会話参加者ごとに、取得された第1特徴量ベクトルと、導出された第2特徴量ベクトルとにおける対応する特徴量同士を重み付け加算して第3特徴量ベクトルを導出し、導出された第3特徴量ベクトルを学習済みモデルに入力し、次の発話者を予測する。
【0071】
重みは、言語的特徴量、画像特徴量、関係性特徴量のそれぞれで異なってよい。第1特徴量ベクトルの特定の特徴量に対する重みはゼロであってもよく、その場合、第1特徴量ベクトルの特定の特徴量を第2特徴量ベクトルの特徴量に置換する。重みは、別途、機械学習により求めてもよい。
【0072】
より詳細には、予測部32は、対象の会話参加者の第3特徴量ベクトルと、他の会話参加者の第3特徴量ベクトルとを学習済みモデルに入力し、対象の会話参加者から他の会話参加者への単位時間あたりの話者交替回数を出力する。対象の会話参加者の第3特徴量ベクトルは、対象の会話参加者の言語的特徴量および画像特徴量と、対象の会話参加者と他の会話参加者との間の関係性特徴量とを含む。他の会話参加者の第3特徴量ベクトルは、他の会話参加者の言語的特徴量および画像特徴量と、他の会話参加者と対象の会話参加者との間の関係性特徴量とを含む。予測部32は、複数の会話参加者のうち2人の会話参加者ごとに上記の予測処理を繰り返す。2人の会話参加者に関して、2回予測できる。2人の会話参加者の第3特徴量ベクトルの順番を特定するためのベクトルも予測部32に供給されてよい。
【0073】
出力部34は、予測部32で予測された結果を出力する。出力部34は、予測部32で学習済みのモデルから出力される
図1の行列を出力してもよい。
【0074】
SNSに入力された情報と、会話中に取得される情報の両方を学習済みモデルに入力することで、会話中のフィジカル空間の情報も反映させて、より精度よく予測できる。
【0075】
図7は、
図2のコミュニケーション予測システム1の学習処理を示すフローチャートである。第1取得部20は、複数のユーザのSNSデータを取得し(S10)、SNSデータから学習用データを作成する(S12)。第1導出部22は、学習用データから特徴量辞書を作成し、特徴量辞書記憶部16に保存する(S14)。学習部24は、予測モデルを機械学習し(S16)、学習済みモデルを保存し(S18)、処理を終了する。
【0076】
図8は、
図2のコミュニケーション予測システム1の予測処理を示すフローチャートである。この処理は、学習が完了した後に実行される。会話が開始されているか判定し(S30)、開始されていなければ(S30のN)、S30に戻る。
【0077】
会話が開始されていれば(S30のY)、第2取得部26は、マイク2、カメラ4、センサ6からデータを取得し(S32)、音声認識部28は、音声データを音声認識し、テキストデータを作成する(S34)。
【0078】
第2導出部30は、テキストデータ、画像データ、センサデータに基づいて、会話参加者ごとに特徴量を導出する(S36)。第2導出部30は、会話参加者ごとに、特徴量辞書から取得した特徴量と、導出された特徴量とを混合し、特徴量ベクトルを作成する(S38)。予測部32は、作成された特徴量ベクトルを学習済みモデルに入力し、予測する(S40)。会話中であれば(S42のY)、S32に戻る。会話中でなければ(S42のN)、処理を終了する。
【0079】
次に、コミュニケーション予測システム1による処理の具体例を説明する。
[学習]
ユーザAのSNSの投稿文で単語「キャンプ」の出現頻度=100、「釣り」と「政治」の出現頻度=0と想定する。
【0080】
ユーザBのSNSの投稿文で「釣り」の出現頻度=200、「キャンプ」と「政治」の出現頻度=0と想定する。
【0081】
ユーザCのSNSの投稿文で「キャンプ」と「釣り」の出現頻度=0、「政治」の出現頻度=50と想定する。以下、ユーザA、ユーザB、ユーザCを単にA,B,Cとも表す。
【0082】
AとBの間の関係性を示す関係性特徴量=10、AとCの間、BとCの間の関係性を示す関係性特徴量=0と想定する。
【0083】
AからBへの話者交替回数=50、BからAへの話者交替回数=40、AからC、CからA、BからC、CからBへの話者交替回数=0と想定する。
【0084】
A,B,Cを含む100人のユーザのSNSデータを用いてモデルを学習する。
【0085】
[予測]
3人のユーザA,B,Cで会話中、現在の時刻t1にて学習済みモデルから行列が出力される。
【0086】
時刻t1までに、Aの発話内容で「キャンプ」の出現頻度=10、「釣り」と「政治」の出現頻度=1と想定する。
【0087】
Bの発話内容で「キャンプ」の出現頻度=4、「釣り」と「政治」の出現頻度=1と想定する。
【0088】
Cの発話内容で「キャンプ」の出現頻度=1、「釣り」と「政治」の出現頻度=0と想定する。
【0089】
カメラ4で取得したAとBの間の関係性特徴量(例えば視線交換頻度であり、以下同様)=8、AとCの間の関係性特徴量=1、BとCの間の関係性特徴量=0と想定する。
【0090】
出力された行列において、現在の発話者がAの場合、次の発話者であるBへの話者交替回数=40、次の発話者であるCへの話者交替回数=1と想定する。
【0091】
現在の発話者がBの場合、次の発話者であるAへの話者交替回数=30、次の発話者であるCへの話者交替回数=0と想定する。
【0092】
現在の発話者がCの場合、次の発話者であるAへの話者交替回数=30、次の発話者であるBへの話者交替回数=20と想定する。
【0093】
実際には時刻t1で発話者がAであった場合、次の発話者はBであり、Aの次にBが発話する会話量は「40」と予測される。
【0094】
次に、時刻t1の後、時刻t2で行列が出力され、時刻t3で行列が出力される。時刻t2での処理は記載を省略する。
【0095】
時刻t2からt3までに、Aの発話内容で「キャンプ」、「釣り」、「政治」の出現頻度=0と想定する。
【0096】
Bの発話内容で「キャンプ」、「釣り」、「政治」の出現頻度=0、Cの発話内容で「キャンプ」、「釣り」の出現頻度=0、「政治」の出現頻度=10と想定する。
【0097】
センサで取得したAとBの間の関係性特徴量=0、AとCの間の関係性特徴量=0、BとCの間の関係性特徴量=5と想定する。
【0098】
出力された行列において、現在の発話者がAの場合、次の発話者であるBへの話者交替回数=10、次の発話者であるCへの話者交替回数=20と想定する。
【0099】
現在の発話者がBの場合、次の発話者であるAへの話者交替回数=10、次の発話者であるCへの話者交替回数=20と想定する。
【0100】
現在の発話者がCの場合、次の発話者であるAへの話者交替回数=0、次の発話者であるBへの話者交替回数=20と想定する。
【0101】
実際には時刻t3で発話者がCであった場合、次の発話者はBであり、Cの次にBが発話する会話量は「20」と予測される。
【0102】
(第2の実施の形態)
第2の実施の形態では、各ユーザに関してSNSから得られる特徴量と会話中に得られる特徴量とを別々の特徴量として並列に扱うことが、第1の実施の形態と異なる。以下、第1の実施の形態との相違点を中心に説明する。
【0103】
本実施の形態では、第1の実施の形態の処理に従いSNSデータから学習された学習済みのモデルに対して、追加で学習する。予測対象となる複数の会話参加者により事前に会話実験を行い、会話実験で取得されたデータも用いてモデルを追加で学習する。
【0104】
まず、学習について説明する。第2導出部30は、会話実験で取得されたコミュニケーションに関する情報をもとに、複数の会話参加者のそれぞれの第2特徴量ベクトルを導出する。第2特徴量ベクトルは、第1特徴量ベクトルとは異なる特徴量を含むことができ、第1特徴量ベクトルとは異なる次元数であってもよい。そのため、特徴量の設計の自由度を向上できる。
【0105】
例えば、第2特徴量ベクトルは、言語的特徴量、韻律的特徴量、画像データとセンサデータから取得される特徴量を含んでよい。言語的特徴量は、第1の実施の形態と同じ構造であってよく、例えば、200次元である。
【0106】
第2導出部30は、音声データに基づいて会話参加者ごとに韻律的特徴量を導出する。韻律的特徴量は、例えば、2次元であり、音声のピッチに関する特徴量と、音声のパワーに関する特徴量を含んでよい。
【0107】
画像データとセンサデータから取得される特徴量は、例えば、2次元であり、視線に関する特徴量と、姿勢に関する特徴量を含んでよい。
【0108】
第2導出部30は、画像データに基づいて2人の会話参加者の組ごとに視線に関する特徴量を導出する。第2導出部30は、例えば、画像データにより特定される2人の会話参加者の間で視線を向ける頻度が高いほど、この2人の会話参加者の間の視線に関する特徴量を大きく導出してよい。
【0109】
第2導出部30は、センサデータに基づいて、会話参加者ごとに姿勢に関する特徴量を導出する。
【0110】
学習部24は、特徴量辞書記憶部16から複数の会話参加者のそれぞれの第1特徴量ベクトルを取得し、会話参加者ごとに、取得された第1特徴量ベクトルと、導出された第2特徴量ベクトルとを連結して第3特徴量ベクトルを導出する。第3特徴量ベクトルは、例えば、204+204=408次元である。
【0111】
学習部24は、対象の会話参加者の第3特徴量ベクトルと、他の会話参加者の第3特徴量ベクトルとを入力とし、対象の会話参加者から他の会話参加者への話者交替回数を表す情報を正解ラベルとしてモデルを学習する。話者交替回数を表す情報は、第1の実施の形態と同じでもよいし、会話実験の結果から導出されてもよい。
【0112】
次に、予測について説明する。学習後に実施される複数の会話参加者による会話中、第2導出部30は、取得されたコミュニケーションに関する情報をもとに、複数の会話参加者のそれぞれの第2特徴量ベクトルを導出する。
【0113】
予測部32は、特徴量辞書記憶部16から、複数の会話参加者のそれぞれの第1特徴量ベクトルを取得し、会話参加者ごとに、取得された第1特徴量ベクトルと、導出された第2特徴量ベクトルとを連結して第3特徴量ベクトルを導出する。予測部32は、導出された第3特徴量ベクトルを学習済みモデルに入力し、次の発話者を予測する。具体的には、予測部32は、対象の会話参加者の第3特徴量ベクトルと、他の会話参加者の第3特徴量ベクトルとを学習済みモデルに入力し、対象の会話参加者から他の会話参加者への単位時間あたりの話者交替回数を出力する。
【0114】
本実施の形態においても、第1の実施の形態の効果を得ることができる。
【0115】
なお、実際の適用シーンにおいて確保できるデータが限定的な場合があるため、以下のように入力特徴量を作成してよい。
【0116】
例えば、SNSデータは取得できるが、会話実験のデータが取得できないユーザが存在する場合、そのユーザの第2特徴量ベクトルについて、一様分布等からサンプリングし、架空のデータを作成してよい。あるいは、SNSデータの特徴量に基づいて、会話データが存在する類似ユーザを抽出し、類似ユーザの特徴量を代入してもよい。類似ユーザは、SNSデータによる第1特徴量ベクトルを用いてユーザ間の内積を計算することで抽出できる。
【0117】
また、SNSデータは取得できず、会話実験のデータは取得できるユーザが存在する場合、第1の実施の形態におけるクラスタの代表ユーザの特徴量ベクトルを取得する処理を適用できる。SNSデータも会話実験のデータも取得できないユーザが存在する場合、上記2つの処理を併用できる。
【0118】
以上、実施の形態をもとに本発明を説明した。実施の形態はあくまでも例示であり、各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0119】
たとえば、コミュニケーション予測装置10は、学習を実行しないように構成されてもよい。この場合、コミュニケーション予測装置10は、第1取得部20、第1導出部22、学習部24、SNSデータ記憶部14を備えなくてよい。特徴量辞書と学習済みモデルは、外部から取得する。この場合、機械学習のみを実行する機械学習装置が、コミュニケーション予測装置10とは別の装置として構成されてよい。第1の実施の形態の学習を実行する機械学習装置は、第1取得部20、第1導出部22、学習部24、SNSデータ記憶部14、特徴量辞書記憶部16、および学習済みモデル記憶部18を備える。第2の実施の形態の学習を実行する機械学習装置は、第1取得部20、第1導出部22、学習部24、第2取得部26、音声認識部28、第2導出部30、SNSデータ記憶部14、特徴量辞書記憶部16、および学習済みモデル記憶部18を備える。
【符号の説明】
【0120】
1…コミュニケーション予測システム、10…コミュニケーション予測装置、12…処理部、14…SNSデータ記憶部、16…特徴量辞書記憶部、18…学習済みモデル記憶部、20…第1取得部、22…第1導出部、24…学習部、26…第2取得部、28…音声認識部、30…第2導出部、32…予測部、34…出力部。