(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-09
(45)【発行日】2022-11-17
(54)【発明の名称】推定装置、推定方法及び推定プログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20221110BHJP
【FI】
G06F16/90 100
(21)【出願番号】P 2018138017
(22)【出願日】2018-07-23
【審査請求日】2020-08-19
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鍜治 伸裕
【審査官】原 秀人
(56)【参考文献】
【文献】特開2015-060391(JP,A)
【文献】特開2011-002972(JP,A)
【文献】米国特許出願公開第2016/0247068(US,A1)
【文献】池田 智志 外,マルチドメインシステムにおけるトピック推定と対話履歴の統合によるドメイン選択の高精度化 ,情報処理学会研究報告,日本,社団法人情報処理学会,2007年12月20日,Vol.2007 No.129,pp. 277--282
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
ユーザの発話に由来する検索要求に含まれる第1のキーワードを取得す
る取得部と、
入力されたキーワードに対応し、かつ検索結果の種類に関する複数のドメインにそれぞれ対応する複数の確信度であって、それぞれの確信度が、対応するドメインが前記入力されたキーワードに対応するという確信の度合いを示す複数の確信度を出力する機械学習モデルに、前記第1のキーワードを入力し、前記第1のキーワードに対応する前記複数の確信度を出力する出力部と、
前記出力部によって出力された前記複数の確信度のうちの1つの確信度が閾値以上である場合に、前記1つの確信度に対応するドメインを、前記ユーザが意図する第1のドメインとして判定する推定部と、
前記出力部によって出力された前記複数の確信度のうちのいずれの確信度も前記閾値未満である場合に、前記ユーザが意図する第1のドメインを確認する確認部と、
前記ユーザの前記確認に対する応答に含まれる前記第1のドメインと、前記第1のキーワードとを含む訓練データを用いて、入力されたキーワードに対応する前記複数の確信度を出力する新たな機械学習モデルを生成する生成部と、
を備えることを特徴とする推定装置。
【請求項2】
前記検索要求が、検索結果の種類に関する第2のドメインを示す第2のキーワードを含まない場合に、前記検索要求に対応する当該第2のドメインが明確でないと判定する判定部をさらに備え、
前記推定部は、
前記判定部によって前記検索要求に対応する前記第2のドメインが明確でないと判定された場合に、前記ユーザが意図する前記第1のドメインを推定する
ことを特徴とする請求項
1に記載の推定装置。
【請求項3】
前記ユーザの前記確認に対する応答に含まれる前記第1のドメインと、前記第1のキーワードとに基づいて、前記検索要求に対応する検索結果を提供する提供部をさらに備える
ことを特徴とする請求項
1又は2に記載の推定装置。
【請求項4】
ユーザの発話に由来する検索要求に含まれる第1のキーワードを取得す
る取得工程と、
入力されたキーワードに対応し、かつ検索結果の種類に関する複数のドメインにそれぞれ対応する複数の確信度であって、それぞれの確信度が、対応するドメインが前記入力されたキーワードに対応するという確信の度合いを示す複数の確信度を出力する機械学習モデルに、前記第1のキーワードを入力し、前記第1のキーワードに対応する前記複数の確信度を出力する出力工程と、
前記出力工程によって出力された前記複数の確信度のうちの1つの確信度が閾値以上である場合に、前記1つの確信度に対応するドメインを、前記ユーザが意図する第1のドメインとして判定する推定工程と、
前記出力工程によって出力された前記複数の確信度のうちのいずれの確信度も前記閾値未満である場合に、前記ユーザが意図する第1のドメインを確認する確認工程と、
前記ユーザの前記確認に対する応答に含まれる前記第1のドメインと、前記第1のキーワードとを含む訓練データを用いて、入力されたキーワードに対応する前記複数の確信度を出力する新たな機械学習モデルを生成する生成工程と、
を含むことを特徴とする推定方法。
【請求項5】
ユーザの発話に由来する検索要求に含まれる第1のキーワードを取得す
る取得手順と、
入力されたキーワードに対応し、かつ検索結果の種類に関する複数のドメインにそれぞれ対応する複数の確信度であって、それぞれの確信度が、対応するドメインが前記入力されたキーワードに対応するという確信の度合いを示す複数の確信度を出力する機械学習モデルに、前記第1のキーワードを入力し、前記第1のキーワードに対応する前記複数の確信度を出力する出力手順と、
前記出力手順によって出力された前記複数の確信度のうちの1つの確信度が閾値以上である場合に、前記1つの確信度に対応するドメインを、前記ユーザが意図する第1のドメインとして判定する推定手順と、
前記出力手順によって出力された前記複数の確信度のうちのいずれの確信度も前記閾値未満である場合に、前記ユーザが意図する第1のドメインを確認する確認手順と、
前記ユーザの前記確認に対する応答に含まれる前記第1のドメインと、前記第1のキーワードとを含む訓練データを用いて、入力されたキーワードに対応する前記複数の確信度を出力する新たな機械学習モデルを生成する生成手順と、
をコンピュータに実行させることを特徴とする推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推定装置、推定方法及び推定プログラムに関する。
【背景技術】
【0002】
従来、ユーザの会話を分析し、分析結果に基づいてユーザに適した情報を提供する技術が提案されている。例えば、会話のデータから単語(例えば、「雨」)を抽出し、抽出された単語に関連付けられた話題(例えば、「天気」)に関連する情報を提供する技術が提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、ユーザにとって有益な情報を提供できるとは限らない。例えば、上記の従来技術では、抽出された単語に関連付けられた話題が、ユーザにとって関心のある話題であるとは限らない。
【0005】
本願は、上記に鑑みてなされたものであって、ユーザにとって有益な情報を提供できる推定装置、推定方法及び推定プログラムを提供することを目的とする。
【0006】
本願に係る推定装置は、ユーザの発話に由来する検索要求に含まれる第1のキーワードを取得する取得部と、前記取得部によって取得された第1のキーワードに基づいて、検索結果の種類に関する第1のドメインであって、前記ユーザが意図する第1のドメインを推定する推定部とを備えることを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、ユーザにとって有益な情報を提供できるという効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係るネットワークシステムの構成例を示す図である。
【
図2】
図2は、実施形態に係る推定処理の一例を示す図である。
【
図3】
図3は、実施形態に係る推定処理の一例を示す図である。
【
図4】
図4は、実施形態に係る推定装置の構成例を示す図である。
【
図5】
図5は、実施形態に係る検索履歴情報記憶部の一例を示す図である。
【
図6】
図6は、実施形態に係るキーワード情報記憶部の一例を示す図である。
【
図7】
図7は、実施形態に係る確認応答データ記憶部の一例を示す図である。
【
図8】
図8は、実施形態に係る訓練データ記憶部の一例を示す図である。
【
図9】
図9は、実施形態に係る確信度情報記憶部の一例を示す図である。
【
図10】
図10は、実施形態に係る推定装置による推定処理手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に、本願に係る推定装置、推定方法及び推定プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る推定装置、推定方法及び推定プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【0010】
〔1.ネットワークシステムの構成〕
まず、
図1を参照して、実施形態に係るネットワークシステム1の構成について説明する。
図1は、実施形態に係るネットワークシステム1の構成例を示す図である。
図1に示すように、実施形態に係るネットワークシステム1には、端末装置10
1~10
nと、推定装置100とが含まれる(nは任意の自然数)。本明細書では、端末装置10
1~10
nを区別する必要がない場合は、端末装置10
1~10
nを「端末装置10」と総称する。端末装置10および推定装置100は、それぞれネットワークNと有線又は無線により接続される。
図1中では図示していないが、ネットワークシステム1は、複数台の推定装置100を含んでもよい。
【0011】
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、スマートフォン、デスクトップ型PC(Personal Computer)、ノート型PC、タブレット型PC、PDA(Personal Digital Assistant)を含む、任意のタイプの情報処理装置であってもよい。
【0012】
推定装置100は、ユーザの検索意図を推定するサーバ装置である。推定装置100は、ネットワークNを介して、有線又は無線により端末装置10と通信を行う。
【0013】
〔2.推定処理〕
次に、
図2および
図3を参照して、実施形態に係る処理の一例について説明する。
図2および
図3は、実施形態に係る推定処理の一例を示す図である。
【0014】
図2および
図3の例では、端末装置10
1が、ユーザU1によって利用される。
図2および
図3の例において、端末装置10
1は、スマートフォンとして示されている。
【0015】
図2および
図3の例では、端末装置10
1は、音声アシスタントアプリケーションを介して、ユーザU1の発話に由来する検索要求を推定装置100に送信する。一例では、ユーザU1が検索要求を発話した場合に、ユーザU1の音声データを音声認識サーバ(図示せず)に送信する。ユーザU1の音声データの受信に応じて、音声認識サーバは、ユーザU1の音声データを音声認識し、ユーザU1の発話内容を示すテキストデータを生成する。その後、端末装置10
1は、生成されたテキストデータを音声認識サーバから受信し、受信されたテキストデータを、検索要求として推定装置100に送信する。
【0016】
図2および
図3の例では、推定装置100は、音声アシスタントアプリケーションを介して、音声検索サービスを端末装置10
1に提供する。例えば、ユーザU1が検索要求を発話した場合に、端末装置10
1にインストールされた音声アシスタントアプリケーションは、ユーザU1の発話に由来する検索要求を、推定装置100に送信する。そして、推定装置100は、音声アシスタントアプリケーションを介して、検索要求に対応する検索結果を端末装置10
1に送信する。
【0017】
図2および
図3の例では、推定装置100の記憶部120(図示せず)は、ドメインを識別するための機械学習モデルを記憶する。機械学習モデル(例えば、ニューラルネット)は、機械学習モデルにキーワードに対応するデータ(例えば、埋め込みベクトル)が入力された場合に、かかるキーワードが所定のドメインに対応するという確信の度合いを示す確信度を出力する。また、推定装置100の記憶部120は、上述の確信度に関する閾値「0.5」を記憶する。
【0018】
本明細書で使用される「ドメイン」という用語は、検索結果の種類、検索のタイプ、検索対象の種類等を表す。例えば、ドメインは、ウェブページ、ニュース、画像、地図、動画、ショッピング、本、ファイナンス、ウィキペディア(登録商標)等を含む。一例では、「ニュースドメイン」からの検索結果は、ニュース記事の検索結果である。別の例では、「画像ドメイン」からの検索結果は、画像検索の検索結果である。上述の確信度を出力する機械学習モデルについては、
図2および
図3に関連して後述される。
【0019】
図2および
図3の例では、推定装置100は、記憶部120に記憶された機械学習モデルに、キーワードに対応するデータを入力することによって、上述の確信度をドメインごとに出力する。例えば、推定装置100は、機械学習モデルに、キーワードに対応するデータを入力することによって、かかるキーワードがドメイン「ニュース」に対応するという確信の度合いを示す確信度と、かかるキーワードがドメイン「画像」に対応するという確信の度合いを示す確信度とを出力する。同様に、推定装置100は、ニュースおよび画像以外のドメイン(例えば、地図、動画等)に対応する確信度を出力する。
【0020】
図2および
図3の例では、推定装置100は、検索要求に含まれる検索クエリに対応するキーワードが所定のドメインに対応するという確信の度合いを示す確信値に基づいて、ユーザが意図するドメインを決定する。より具体的には、かかる確信値が上述の閾値「0.5」以上である場合に、推定装置100は、かかる所定のドメインを、ユーザが意図するドメインとして決定する。一方、かかる確信度が閾値「0.5」以上でない場合に、推定装置100は、かかる所定のドメインを、ユーザが意図するドメインとして決定しない。
【0021】
図2の例では、はじめに、推定装置100は、音声アシスタントアプリケーションを介して、検索要求「女優AM1を検索して」を端末装置10
1から受信する。
【0022】
次いで、推定装置100は、受信された検索要求「女優AM1を検索して」から検索クエリ「女優AM1」を抽出する。より具体的には、推定装置100は、正規表現を用いて、「女優AM1」という単語を検索クエリとして抽出する。
【0023】
次いで、推定装置100は、抽出された検索クエリ「女優AM1」を用いて、ユーザU1が意図するドメインを推定する。上述のように、検索クエリに対応するキーワードが所定のドメインに対応するという確信の度合いを示す確信度が閾値「0.5」以上である場合に、推定装置100は、ユーザU1が意図するドメインは、かかる所定のドメインであると判定する。一例として、推定装置100は、機械学習モデル(例えば、ニューラルネット)に、検索クエリ「女優AM1」に対応するデータ(例えば、「女優AM1」に対応する埋め込みベクトル)を入力することで、ドメイン「ニュース」に対応する確信度「0.7」を出力するともに、ニュース以外の複数のドメイン(例えば、画像、地図、動画等)にそれぞれ対応する複数の確信度「0.3」を出力する。この例では、ドメイン「ニュース」に対応する確信度が閾値「0.5」以上であるため、推定装置100は、ユーザU1が意図するドメインは「ニュース」であると判定する。すなわち、
図2の例では、推定されたドメインは、「ニュース」である。
【0024】
その後、推定装置100は、推定されたドメイン「ニュース」と、抽出された検索クエリ「女優AM1」とに基づいて、受信された検索要求「女優AM1を検索して」に対応する検索結果を端末装置10
1に送信する。
図2の例では、推定装置100は、ニュースコンテンツNC1を、ニュース検索の検索結果として送信する。
図2のニュースコンテンツNC1は、女優AM1についてのニュース記事を含む。
【0025】
一方、
図3の例では、はじめに、推定装置100は、音声アシスタントアプリケーションを介して、検索要求「カッパドキアを検索して」を端末装置10
1から受信する。
【0026】
次いで、推定装置100は、
図2の例と同様に、受信された検索要求「カッパドキアを検索して」から検索クエリ「カッパドキア」を抽出する。
【0027】
次いで、推定装置100は、抽出された検索クエリ「カッパドキア」に基づいて、ユーザU1が意図するドメインを推定する。
図2の例と同様に、検索クエリに対応するキーワードが所定のドメインに対応するという確信の度合いを示す確信度が閾値「0.5」以上である場合に、推定装置100は、ユーザU1が意図するドメインはかかる所定のドメインであると判定する。一例として、推定装置100は、機械学習モデルに、検索クエリ「カッパドキア」に対応するデータ(例えば、「カッパドキア」に対応する埋め込みベクトル)を入力することで、ドメイン「画像」に対応する確信度「0.4」を出力するともに、画像以外の複数のドメイン(例えば、ニュース、地図、動画等)にそれぞれ対応する複数の確信度「0.3」を出力する。この例では、複数のドメインにそれぞれ対応する複数の確信度のうちのいずれもが閾値「0.5」以上でないため、推定装置100は、複数のドメインからドメインを1つに決定しない。言い換えると、検索クエリ「カッパドキア」に対応する複数の確信度のうちのいずれもが閾値以上でない場合に、推定装置100は、検索クエリ「カッパドキア」に基づいて、ユーザU1が意図するドメイン候補を複数のドメインのいずれかに絞らない。
【0028】
複数のドメインにそれぞれ対応する複数の確信度のうちのいずれもが閾値以上でない場合に、推定装置100は、ユーザが意図するドメインを確認するための確認情報CI1を端末装置10
1に送信する。
図3の確認情報CI1は、「どれで検索しましょうか? 1.画像検索 2.地図検索」という質問を含む。言い換えると、推定装置100は、検索クエリに対応する複数の確信度のうちのいずれもが閾値以上でない場合には、検索クエリに基づいてドメイン候補を決定したり、ドメイン候補をランダムに決定したりせず、複数のドメインの中からユーザが意図するドメインを対話的に絞り込む。
【0029】
次いで、推定装置100は、音声アシスタントアプリケーションを介して、確認情報CI1に対する応答「画像検索」を端末装置101から受信する。
【0030】
その後、推定装置100は、受信された応答に含まれるドメイン「画像」と、抽出された検索クエリ「カッパドキア」とに基づいて、受信された検索要求「カッパドキアを検索して」に対応する検索結果を端末装置10
1に送信する。
図3の例では、推定装置100は、画像コンテンツIC1を、画像検索の検索結果として送信する。
図3の画像コンテンツIC1は、カッパドキアの画像を含む。
【0031】
ここで、上述の確信度の算出について説明する。上述のように、検索クエリに対応し、かつ閾値以上の確信度に対応付けられたキーワードが推定装置100の記憶部120の中に記憶されていない場合に、推定装置100は、ユーザが意図するドメインを確認する。推定装置100は、ユーザが意図するドメインを用いて、上述の確信度を算出することができる。
【0032】
例えば、推定装置100は、検索クエリおよび確認されたドメインに基づいて、ドメインを識別するための分類モデルを生成する。一例では、分類モデルは、順伝播型ニューラルネットである。この例では、推定装置100は、検索クエリに対応する埋め込みベクトル(例えば、検索クエリに対応する分散表現)を、訓練データの入力として用いる。また、推定装置100は、確認されたドメインの出現確率(例えば、確認されたドメインに対応するone hot表現)を、訓練データの出力として用いる。そして、推定装置100は、訓練データに対応する目的関数(例えば、負の対数尤度)が最小化されるようにニューラルネットを訓練することで、分類モデルを生成する。推定装置100は、生成された分類モデルを用いて、検索クエリに対応するキーワードが所定のドメインに属する事後確率を、上述の確信度として算出することができる。
【0033】
一般的には、ユーザがかかるユーザが意図するドメインを伝える前には、ユーザのみしか、ユーザが意図するドメインを知らない。ところで、一般的な機械学習技術では、例えば、アノテータがデータに正解ラベルを付ける。しかし、一般的には、アノテータは、ユーザが意図するドメイン(すなわち、ユーザの心の中に存在するユーザの意図)を知らない。したがって、一般的な機械学習技術では、検索クエリに対応するキーワードに、ユーザが意図するドメインを正解ラベルとして付与することが困難である。この点に関し、推定装置100は、ユーザが意図するドメインを対話的に確認することができる。このため、推定装置100は、確信度を学習するための訓練データを蓄積し、漸進的にドメインの推定処理を改善することができる。
【0034】
上述のように、実施形態に係る推定装置100は、ユーザの発話に由来する検索要求に含まれる検索クエリに基づいて、ユーザが意図するドメインを推定する。そして、検索クエリに対応し、かつ閾値以上の確信度に対応するキーワードが存在する場合に、推定装置100は、かかるキーワードに対応するドメインと、検索クエリとに基づいて、検索要求に対応する検索結果を端末装置101に送信する。一方、検索クエリに対応し、かつ閾値以上の確信度に対応するキーワードが存在しない場合に、推定装置100は、ユーザが意図するドメインを確認し、確認されたドメインと、検索クエリとに基づいて、検索要求に対応する検索結果を端末装置101に送信する。これにより、推定装置100は、ユーザの検索意図に応じた音声検索サービスを提供することができる。
【0035】
例えば、ドメインに関する確信度が所定の閾値以下である場合には、推定装置100は、ドメインをランダムに決定するのではなく、ユーザが意図するドメインを対話的に適宜確認する。また、ドメインに関する確信度が所定の閾値以上である場合には、推定装置100は、ユーザが意図するドメインを確認しない。このようにして、推定装置100は、ユーザが意図しないドメインから検索結果を提供することなく、また、検索要求の度にドメインを確認することなく、ユーザの検索意図に応じた検索結果を提供することができる。
【0036】
ところで、
図2および
図3の例では、推定装置100は、音声アシスタントアプリケーションを介して、音声検索サービスを、スマートフォンである端末装置10
1に提供した。一般的に、スマートフォンは、表示画面サイズに制約があるため、端末装置10
1は、複数のドメインの検索結果を提示することができない場合がある。例えば、端末装置10
1は、ウェブ検索の検索結果と画像検索の検索結果とを同時に適切なサイズで表示することができない場合がある。この点に関し、表示画面サイズに制約がある場合でも、推定装置100は、ユーザの検索意図に応じて、検索結果を絞り込むことができる。以下、このような推定処理を実現する推定装置100について詳細に説明する。
【0037】
〔3.推定装置の構成〕
次に、
図4を参照して、実施形態に係る推定装置100の構成例について説明する。
図4は、実施形態に係る推定装置100の構成例を示す図である。
図4に示すように、推定装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、推定装置100は、推定装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(液晶ディスプレイ等)を有してもよい。
【0038】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、ネットワーク網と有線又は無線により接続され、ネットワーク網を介して、端末装置10との間で情報の送受信を行う。
【0039】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
図4に示すように、記憶部120は、検索履歴情報記憶部121と、キーワード情報記憶部122と、確認応答データ記憶部123と、訓練データ記憶部124と、ドメイン推定モデル記憶部125と、確信度情報記憶部126とを有する。
【0040】
(検索履歴情報記憶部121)
図5は、実施形態に係る検索履歴情報記憶部121の一例を示す図である。検索履歴情報記憶部121は、ユーザの検索履歴情報を記憶する。例えば、検索履歴情報記憶部121は、受信部131によって受信されたユーザの検索履歴情報を記憶する。
図5の例では、検索履歴情報記憶部121には、「検索履歴情報」が「ユーザID」ごとに記憶される。例示として、「ユーザ情報」には、項目「検索要求」および「キーワード」が含まれる。
【0041】
「ユーザID」は、ユーザを識別するための識別子を示す。「検索要求」は、ユーザの発話に由来する検索要求を示す。例えば、検索要求は、音声アシスタントアプリケーションを介して受信された音声信号の音声認識結果である。「キーワード」は、ユーザの発話に由来する検索要求に含まれるキーワードを示す。例えば、キーワードは検索クエリである。一例では、検索クエリは、正規表現に基づいて、検索要求から抽出される。
【0042】
例えば、
図5は、ユーザID「U1」で識別されるユーザが、キーワード「女優AM1」を含む検索要求「女優AM1を検索して」を発話したことを示している。
【0043】
(キーワード情報記憶部122)
図6は、実施形態に係るキーワード情報記憶部122の一例を示す図である。キーワード情報記憶部122は、検索結果の種類に関するドメインを示すキーワードのキーワード情報を記憶する。例えば、キーワード情報記憶部122は、受信部131によって受信されたキーワード情報を記憶する。
図6の例では、キーワード情報記憶部122には、「キーワード情報」が「キーワードID」ごとに記憶される。例示として、「キーワード情報」には、項目「キーワード」および「ドメイン」が含まれる。
【0044】
「キーワードID」は、検索結果の種類に関するドメインを示すキーワードを識別するための識別子を示す。「キーワード」は、キーワードの文字列を示す。「ドメイン」は、検索結果の種類に関するドメインを示す。
【0045】
例えば、
図6は、キーワードID「DK1」で識別されるキーワードが、文字列「ニュース」であり、ドメイン「ニュース」を示すことを示している。また、例えば、
図6は、キーワードID「DK2」で識別されるキーワードが、文字列「結果」であり、ドメイン「ニュース」を示すことを示している。また、例えば、
図6は、キーワードID「DK3」で識別されるキーワードが、文字列「最新」であり、ドメイン「ニュース」を示すことを示している。言い換えると、
図6は、「ニュース」、「最新」および「結果」が、ニュースドメインを暗示する語句であることを示している。
【0046】
(確認応答データ記憶部123)
図7は、実施形態に係る確認応答データ記憶部123の一例を示す図である。確認応答データ記憶部123は、ユーザが意図するドメインの確認に応答する確認応答データを記憶する。例えば、確認応答データ記憶部123は、確認部136によって送信された確認情報を記憶する。また、例えば、確認応答データ記憶部123は、受信部131によって受信された応答を記憶する。
図7の例では、確認応答データ記憶部123には、「確認応答データ」が「ユーザID」ごとに記憶される。例示として、「確認応答データ」には、項目「検索要求」、「確認」および「応答」が含まれる。
【0047】
上述のように、「ユーザID」は、ユーザを識別するための識別子を示す。上述のように、「検索要求」は、ユーザの発話に由来する検索要求を示す。「確認」は、ユーザが意図するドメインを確認するための確認情報を示す。「応答」は、確認情報に対する応答を示す。
【0048】
例えば、
図7は、ユーザID「U1」で識別されるユーザの発話に由来する検索要求が、「カッパドキアを検索して」という要求であることを示している。また、例えば、
図7は、ユーザID「U1」で識別されるユーザが意図するドメインを確認するための確認情報が、「どれで検索しましょうか? 1.画像検索 2.地図検索」という情報であることを示している。また、例えば、
図7は、「どれで検索しましょうか? 1.画像検索 2.地図検索」という情報に対する応答が、「画像検索」という応答であることを示している。
【0049】
(訓練データ記憶部124)
図8は、実施形態に係る訓練データ記憶部124の一例を示す図である。訓練データ記憶部124は、ドメイン推定モデルを生成するための訓練データを記憶する。ドメイン推定モデルは、例えば、ユーザが意図するドメインを識別するための分類モデルである。訓練データ記憶部124は、例えば、受信部131によって受信された訓練データを記憶する。
図8の例では、訓練データ記憶部124には、「訓練データ」が「訓練データID」ごとに記憶される。例示として、「訓練データ」には、項目「検索クエリ情報」および「ドメイン情報」が含まれる。
【0050】
「訓練データID」は、訓練データを識別するための識別子を示す。「検索クエリ情報」は、検索要求に含まれるキーワードに関する情報を示す。例えば、検索クエリ情報は、検索要求に含まれるキーワードに対応する埋め込みベクトルを示す。キーワードに対応する埋め込みベクトルは、例えば、ニューラル言語モデル等によって生成された単語分散表現である。「ドメイン情報」は、ユーザが意図するドメインを確認するための確認情報に対する応答に含まれるドメインを示す。例えば、ドメイン情報は、応答に含まれるドメインの出現確率を示す。一例では、ドメインの出現確率は、応答に含まれるドメインに対応する成分のみが1で、他の成分が0のベクトルで表現される。
【0051】
例えば、
図8は、訓練データID「TD1」で識別される訓練データの検索クエリが「カッパドキア」であることを示している。この場合、訓練データの入力値は、例えば、「カッパドキア」の埋め込みベクトルである。また、例えば、
図8は、訓練データID「TD1」で識別される訓練データのドメインが「画像」であることを示している。この場合、訓練データの出力値は、例えば、ドメイン「画像」の出現確率をベクトル成分とするベクトルである。
【0052】
(ドメイン推定モデル記憶部125)
図4に戻ると、ドメイン推定モデル記憶部125は、ドメイン推定モデルを記憶する。ドメイン推定モデル記憶部125は、例えば、生成部138によって生成されたドメイン推定モデルを記憶する。
【0053】
(確信度情報記憶部126)
図9は、実施形態に係る確信度情報記憶部126の一例を示す図である。確信度情報記憶部126は、キーワードが所定のドメインに対応するという確信の度合いを示す確信度を記憶する。例えば、確信度情報記憶部126は、生成部138によって生成されたドメイン推定モデルの出力を、確信度として記憶する。ドメイン推定モデルの出力は、例えば、検索クエリに対応するキーワードが所定のドメインのクラス(例えば、画像)に属する確率である。
図9の例では、確信度情報記憶部126には、各ドメインに対応する確信度が、「キーワードID」ごとに記憶される。例示として、「確信度情報」には、項目「キーワード」、「ニュースドメイン」および「画像ドメイン」が含まれる。確信度情報記憶部126は、確信度に関する閾値を記憶してもよい。
【0054】
「キーワードID」は、キーワードを識別するための識別子を示す。かかるキーワードは、例えば、検索要求に含まれる検索クエリに対応する。「キーワード」は、キーワードの文字列を示す。「ニュースドメイン」は、キーワードがドメイン「ニュース」に対応するという確信の度合いを示す。「ニュースドメイン」は、例えば、キーワードがドメイン「ニュース」のクラスに属する確率を示す。「画像ドメイン」は、キーワードがドメイン「画像」に対応するという確信の度合いを示す。「画像ドメイン」は、例えば、キーワードがドメイン「画像」のクラスに属する確率を示す。
【0055】
例えば、
図9は、キーワードID「SK1」で識別されるキーワードが文字列「女優AM1」であることを示している。また、例えば、
図9は、キーワードID「SK1」で識別されるキーワードがドメイン「ニュース」に対応するという確信の度合いを示す確信度が「0.7」であることを示している。また、例えば、
図9は、キーワードID「SK1」で識別されるキーワードがドメイン「画像」に対応するという確信の度合いを示す確信度が「0.4」であることを示している。
【0056】
図9の例では、確信度情報記憶部126は、キーワード「女優AM1」を、ドメイン「ニュース」に対応する確信度「0.7」に対応付けて記憶する。かかる確信度「0.7」は、キーワード「女優AM1」がドメイン「ニュース」に対応するという確信の度合いを示す数値である。また、確信度情報記憶部126は、キーワード「カッパドキア」を、ドメイン「画像」に対応する確信度「0.4」に対応付けて記憶する。かかる確信度「0.4」は、キーワード「カッパドキア」がドメイン「画像」に対応するという確信の度合いを示す数値である。
【0057】
(制御部130)
制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、推定装置100内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0058】
制御部130は、
図4に示すように、受信部131と、第1取得部132と、第2取得部133と、判定部134と、推定部135と、確認部136と、提供部137と、生成部138と、出力部139とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。なお、制御部130の内部構成は、
図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0059】
(受信部131)
受信部131は、ユーザの発話に由来する検索要求を受信する。受信部131は、ユーザの発話に由来する検索要求に含まれるキーワードを受信してもよい。例えば、受信部131は、ユーザの発話に由来する検索要求に含まれる検索クエリを受信してもよい。一例では、受信部131は、音声アシスタントアプリケーションを介して、検索要求を端末装置10から受信する。受信部131は、受信された検索要求を、検索履歴情報記憶部121に格納してもよい。また、受信部131は、受信されたキーワードを、検索履歴情報記憶部121に格納してもよい。
【0060】
受信部131は、ユーザが意図するドメインの確認に対する応答を受信する。一例では、受信部131は、音声アシスタントアプリケーションを介して、ドメインの確認に対する応答を端末装置10から受信する。受信部131は、受信された応答を、確認応答データ記憶部123に格納してもよい。
【0061】
受信部131は、キーワードが検索結果の種類に関するドメインに対応するという確信の度合いを示す確信度を、所定のサーバから受信してもよい。受信部131は、受信された確信度を、確信度情報記憶部126に格納してもよい。また、受信部131は、検索結果の種類に関するドメインを示すキーワードを、所定のサーバから受信してもよい。受信部131は、受信されたキーワードを、キーワード情報記憶部122に格納してもよい。
【0062】
(第1取得部132)
第1取得部132は、検索要求に関連する情報を取得する。検索要求は、例えば、ユーザの発話に由来する検索要求である。
【0063】
第1取得部132は、ユーザの発話に由来する検索要求に含まれるキーワードを取得する。例えば、第1取得部132は、受信部131によって受信されたキーワードを取得する。第1取得部132は、受信部131によって受信された検索要求から、キーワードを抽出してもよい。例えば、第1取得部132は、正規表現を用いて、キーワードを検索クエリとして抽出してもよい。第1取得部132は、検索履歴情報記憶部121から、ユーザの発話に由来する検索要求に含まれるキーワードを取得してもよい。
【0064】
(第2取得部133)
第2取得部133は、ドメインに関連する情報を取得する。ドメインは、例えば、検索結果の種類、検索のタイプ、検索対象の種類等である。
【0065】
第2取得部133は、キーワードが検索結果の種類に関するドメインに対応するという確信の度合いを示す確信度を取得する。第2取得部133は、確信度を算出するためのデータを取得してもよい。例えば、第2取得部133は、キーワードと所定のドメインとの対応関係を示す訓練データを、所定のサーバから取得してもよい。
【0066】
第2取得部133は、生成部138によって生成されたドメイン推定モデルの出力(例えば、キーワードが所定のドメインのクラスに属する事後確率)を、確信度として取得する。第2取得部133は、受信部131によって受信された確信度を取得してもよい。第2取得部133は、確信度情報記憶部126から、確信度を取得してもよい。例えば、第2取得部133、推定部135によって推定されたドメインに対応する確信度を、確信度情報記憶部126から取得する。
【0067】
(判定部134)
判定部134は、検索要求に対応するドメインが明確であるか否かを判定する。検索要求が、検索結果の種類に関するドメインを示すキーワードを含まない場合に、判定部134は、かかる検索要求に対応するドメインが明確でないと判定する。一方、検索要求が、検索結果の種類に関するドメインを示すキーワードを含む場合に、判定部134は、かかる検索要求に対応するドメインが明確であると判定する。検索結果の種類に関するドメインを示すキーワードは、例えば、ドメインを暗示する検索クエリである。例えば、判定部134は、ユーザの発話に由来する検索要求が、検索結果の種類に関するドメインを示す検索クエリを含まない場合に、かかる検索要求に対応するドメインが明確でないと判定する。
【0068】
例えば、判定部134は、検索要求が、キーワード情報記憶部122に記憶されたキーワードに対応する検索クエリを含むか否かを判定する。一例では、判定部134は、検索要求が、検索結果の種類に関するドメインを示すキーワードを含むか否かを判定する。例えば、判定部134は、検索要求が、ニュース、結果、最新、画像、写真、風景等のキーワードを含むか否かを判定する。この例では、ニュース、結果、最新等のキーワード(すなわち、検索クエリ)は、ニュースドメインを暗示している。また、画像、写真、風景等のキーワードは、画像ドメインを暗示している。
【0069】
判定部134は、検索要求が、キーワード情報記憶部122に記憶されたキーワードに対応する検索クエリを含む場合に、かかる検索要求に対応するドメインが明確であると判定する。一例では、判定部134は、検索要求が、キーワード「結果」を含む場合に、かかる検索要求に対応するドメインが「ニュース」であると決定する。一方、判定部134は、検索要求が、キーワード情報記憶部122に記憶されたキーワードに対応する検索クエリを含まない場合に、かかる検索要求に対応するドメインが明確でないと判定する。
【0070】
(推定部135)
推定部135は、キーワードに基づいて、検索結果の種類に関するドメインであって、ユーザが意図するドメインを推定する。例えば、推定部135は、第1取得部132によって取得されたキーワードに基づいて、検索結果の種類に関するドメインであって、ユーザが意図するドメインを推定する。一例では、推定部135は、確信度情報記憶部126に記憶されたキーワードと第1取得部132によって取得されたキーワードのマッチングを行うことにより、ユーザが意図するドメインを推定する。例えば、推定部135は、確信度情報記憶部126に記憶されたキーワードから、第1取得部132によって取得されたキーワードに対応するキーワードを識別することで、ユーザが意図するドメインを推定する。
【0071】
判定部134によって検索要求に対応するドメインが明確でないと判定された場合に、推定部135は、ユーザが意図するドメインを推定する。例えば、判定部134によって、検索要求が、キーワード情報記憶部122に記憶されたキーワードに対応する検索クエリを含まないと判定された場合に、推定部135は、ユーザが意図するドメインを推定する。
【0072】
確信度情報記憶部126に記憶されたキーワードが、確信度に対応付けられておらず、所定のドメインに対応付けられて場合に、推定部135は、第1取得部132によって取得されたキーワードとマッチするかかるキーワードに基づいて、ユーザが意図するドメインを推定してもよい。
【0073】
より具体的には、推定部135は、確信度に対応付けられていないキーワードが第1取得部132によって取得されたキーワードにマッチするか否かを決定する。そして、確信度に対応付けられていないキーワードが第1取得部132によって取得されたキーワードにマッチするという決定に応じて、推定部135は、確信度に対応付けられていないキーワードに対応するドメインを、ユーザが意図するドメインとして決定する。このようにして、推定部135は、ユーザが意図するドメインを推定してもよい。すなわち、確信度情報記憶部126に記憶されたキーワードが、所定のドメインに対応付けられている場合に、推定部135は、第1取得部132によって取得されたキーワードにマッチするキーワードであって、確信度情報記憶部126に記憶されたキーワードに対応するドメインを、ユーザが意図するドメインとして決定してもよい。
【0074】
推定部135は、推定されたドメインに対応する確信度が所定の条件を満たすか否かを判定する。上述のように、確信度は、キーワードが検索結果の種類に関するドメインに対応するという確信の度合いを示す。例えば、推定部135は、第2取得部133によって取得された、推定されたドメインに対応する確信度が、閾値(すなわち、確信度に関する閾値)以上であるか否かを判定する。また、例えば、推定部135は、確信度情報記憶部126に記憶され、かつ推定されたドメインに対応する確信度が、閾値以上であるか否かを判定する。閾値は、例えば、確信度情報記憶部126に記憶された確信度に関する閾値である。
【0075】
推定されたドメインに対応する確信度が所定の条件を満たさない場合に(例えば、推定されたドメインに対応する確信度が、閾値以上である場合に)、推定部135は、ユーザが意図するドメインは、かかる確信度に対応するドメインであると判定する。言い換えると、推定されたドメインに対応する確信度が、閾値以上である場合に、推定部135は、推定されたドメインに対応する確信度が所定の条件を満たさないと判定する。一方、推定されたドメインに対応する確信度が所定の条件を満たす場合に(例えば、推定されたドメインに対応する確信度が、閾値以上でない場合に)、推定部135は、ユーザが意図するドメインは、かかる確信度に対応するドメインでないと判定する。言い換えると、推定されたドメインに対応する確信度が、閾値以上でない場合に、推定部135は、推定されたドメインに対応する確信度が所定の条件を満たすと判定する。
【0076】
一例では、推定部135は、検索要求に含まれる検索クエリに対応するキーワードが所定のドメインに対応するという確信の度合いを示す確信値に基づいて、ユーザが意図するドメインを決定する。より具体的には、かかる確信値が閾値以上である場合に、推定部135は、かかる所定のドメインを、ユーザが意図するドメインとして決定する。一方、かかる確信度が閾値以上でない場合に、推定部135は、かかる所定のドメインを、ユーザが意図するドメインとして決定しない。すなわち、検索クエリに対応するキーワードが所定のドメインに対応するという確信の度合いを示す確信度が閾値以上である場合に、推定部135は、ユーザが意図するドメインは、かかる所定のドメインであると判定する。また、検索クエリに対応する複数の確信度のうちのいずれもが閾値以上でない場合に、推定部135は、検索クエリに基づいて、ユーザが意図するドメイン候補を複数のドメインのいずれかに絞らない。
【0077】
一例では、推定部135は、検索クエリに対応するキーワードが閾値以上の確信度に対応付けられて確信度情報記憶部126に記憶されている場合に、推定部135は、ユーザが意図するドメインは、かかる確信度に対応するドメインであると判定する。この例では、推定部135は、検索クエリに対応するキーワードが閾値以上の確信度に対応付けられて確信度情報記憶部126に記憶されていない場合に、推定部135は、ユーザが意図するドメインは、かかる確信度に対応するドメインでないと判定する。
【0078】
推定部135は、第1の確信度および第2の確信度が閾値以上である場合に、第1の確信度および第2の確信度のうち最大の確信度である最大確信度を特定してもよい。そして、推定部135は、特定された最大確信度に対応するドメインが、ユーザが意図するドメインであると判定してもよい。
【0079】
(確認部136)
確認部136は、ユーザが意図するドメインを確認する。例えば、確認部136は、ユーザが意図するドメインを確認するための確認情報を端末装置10に送信する。確認情報は、例えば、ユーザが意図するドメインに関する質問を含む。
【0080】
確認部136は、判定部134によって検索要求に対応するドメインが明確でないと判定された場合に、ユーザが意図するドメインを確認する。例えば、検索要求に対応するドメインが明確でないという判定に応じて、確認部136は、ユーザが意図するドメインを確認するための確認情報を端末装置10に送信する。例えば、複数のドメインにそれぞれ対応する複数の確信度のうちのいずれもが閾値以上でない場合に、確認部136は、ユーザが意図するドメインを確認するための確認情報を端末装置10に送信する。
【0081】
確認部136は、キーワードが検索結果の種類に関するドメインに対応するという確信の度合いを示す確信度が所定の条件を満たす場合に、ユーザが意図するドメインを確認する。例えば、推定部135によって、推定されたドメインに対応する確信度が所定の条件を満たすと判定された場合に、確認部136は、ユーザが意図するドメインを確認する。より具体的には、推定部135によって、推定されたドメインに対応する確信度が閾値以上でないと判定された場合に、確認部136は、ユーザが意図するドメインを確認する。
【0082】
判定部134によって検索要求に対応するドメインが明確でないと判定された場合に、確認部136は、所定の確率で、ユーザが意図するドメインを確認してもよい。所定の確率は、例えば、ユーザが意図するドメインを確認する確率である質問率である。ユーザが意図するドメインの確認と、音声アシスタントアプリケーションのユーザビリティとはトレードオフの関係にあることが考えられる。したがって、質問率は、音声アシスタントアプリケーションのユーザビリティを考慮して決定される。
【0083】
(提供部137)
提供部137は、検索要求に対応する検索結果を提供する。例えば、ユーザの発話に由来する検索要求に対応する検索結果を、端末装置10に提供する。提供部137は、ユーザが意図するドメインの確認に対する応答に含まれるドメインと、第1取得部132によって取得されたキーワードとに基づいて、検索要求に対応する検索結果を提供する。例えば、ドメイン「画像」が、受信部131によって受信された応答に含まれる場合に、提供部137は、画像コンテンツを、画像検索の検索結果として端末装置10に送信する。
【0084】
判定部134によって検索要求に対応するドメインが明確であると判定された場合に、提供部137は、検索要求に対応するドメインと、第1取得部132によって取得されたキーワードとに基づいて、検索要求に対応する検索結果を提供する。より具体的には、検索要求が、検索結果の種類に関するドメインを示すキーワード(例えば、ドメインを暗示する検索クエリ)を含む場合に、提供部137は、かかるドメインと、第1取得部132によって取得されたキーワードとに基づいて、検索要求に対応する検索結果を提供する。一例では、検索要求「カッパドキアの画像を検索して」が受信部131によって受信された場合に、第1取得部132は、「カッパドキア」をキーワードとして取得する。また、判定部134は、検索要求「カッパドキアの画像を検索して」が、画像ドメインを示すキーワード「画像」を含むと判定する。この例では、提供部137は、カッパドキアの画像を画像検索の検索結果として提供する。
【0085】
推定部135によって、推定部135によって推定されたドメインに対応する確信度が所定の条件を満たさないと判定された場合に、提供部137は、推定部135によって推定されたドメインと、第1取得部132によって取得されたキーワードとに基づいて、検索要求に対応する検索結果を提供する。より具体的には、推定部135によって推定されたドメインに対応する確信度が、閾値以上である場合に、提供部137は、推定されたドメインと、取得されたキーワードとに基づいて、検索要求に対応する検索結果を提供する。
【0086】
推定部135によって、推定部135によって推定されたドメインに対応する確信度が所定の条件を満たすと判定された場合に、提供部137は、ドメイン「ウェブページ」と、第1取得部132によって取得されたキーワードとに基づいて、検索要求に対応する検索結果を提供してもよい。この場合、提供部137は、ウェブページを、ウェブ検索の検索結果として提供する。
【0087】
(生成部138)
生成部138は、ユーザの確認に対する応答に含まれるドメインと、第1取得部132によって取得されたキーワードとを含む訓練データを用いて、検索結果の種類に関するドメインであって、検索要求に含まれるキーワードに対応するドメインを推定するためのモデルを生成する。かかるモデルは、例えば、機械学習モデル(例えば、ニューラルネット)である。機械学習モデルは、機械学習モデルにキーワードに対応するデータ(例えば、埋め込みベクトル)が入力された場合に、かかるキーワードが所定のドメインに対応するという確信の度合いを示す確信度を出力する。ユーザの確認に対する応答は、例えば、受信部131によって受信された、ユーザが意図するドメインの確認に対する応答である。
【0088】
例えば、生成部138は、ユーザの確認に対する応答に含まれるドメインと、検索クエリとに基づいて、ドメインを識別するための分類モデルを生成する。一例では、分類モデルは、順伝播型ニューラルネットである。この例では、生成部138は、検索クエリに対応する埋め込みベクトルを、訓練データの入力として用いる。また、生成部138は、ユーザの確認に対する応答に含まれるドメインの出現確率を、訓練データの出力として用いる。そして、生成部138は、訓練データに対応する目的関数(例えば、負の対数尤度)が最小化されるようにニューラルネットを訓練することで、分類モデルを生成する。
【0089】
(出力部139)
出力部139は、生成部138によって生成されたドメインを推定するためのモデルに、キーワードを入力することによって、かかるキーワードが所定のドメインのクラスに属する事後確率を出力する。そして、出力部139は、モデルによって出力された、所定のドメインに対応する事後確率を、キーワードに対応付けて確信度情報記憶部126に格納する。
【0090】
出力部139は、最大事後確率を有するドメインを、キーワードに対応付けて確信度情報記憶部126に格納してもよい。この場合、キーワードは、最大事後確率に対応付けられて確信度情報記憶部126に記憶されなくてもよい。すなわち、キーワード(例えば、カッパドキア)が、最大事後確率を有するドメイン(例えば、画像)に対応付けて確信度情報記憶部126に記憶されてもよい。
【0091】
出力部139は、ドメイン推定モデル記憶部125に記憶されたモデル(例えば、機械学習モデル)に、キーワードに対応するデータを入力することによって、上述の確信度をドメインごとに出力してもよい。例えば、出力部139は、機械学習モデルに、キーワードに対応するデータを入力することによって、かかるキーワードがドメイン「ニュース」に対応するという確信の度合いを示す確信度と、かかるキーワードがドメイン「画像」に対応するという確信の度合いを示す確信度とを出力する。同様に、出力部139は、ニュースおよび画像以外のドメイン(例えば、地図、動画等)に対応する確信度を出力する。
【0092】
例えば、出力部139は、機械学習モデルに、検索クエリに対応するデータ(例えば、検索クエリに対応する埋め込みベクトル)を入力することで、所定のドメインに対応する確信度を出力するともに、かかる所定のドメイン以外の複数のドメインにそれぞれ対応する複数の確信度を出力する。
【0093】
〔4.推定処理のフロー〕
次に、実施形態に係る推定装置100による提供処理の手順について説明する。
図10は、実施形態に係る推定装置100による推定処理手順を示すフローチャートである。
【0094】
図10に示すように、はじめに、推定装置100は、ユーザの発話に由来する検索要求を受信する(ステップS101)。一例では、推定装置100は、音声アシスタントアプリケーションを介して、検索要求を端末装置10から受信する。
【0095】
次いで、推定装置100は、受信された検索要求に含まれるキーワードを取得する(ステップS102)。一例では、推定装置100は、正規表現を用いて、キーワードを検索クエリとして抽出する。
【0096】
次いで、推定装置100は、受信された検索要求に対応するドメインが明確であるか否かを判定する(ステップS103)。一例では、推定装置100は、検索要求が、検索結果の種類に関するドメインを示すキーワード(例えば、ニュース、結果、最新といった画像ドメインを暗示するキーワード)を含むか否かを判定する。
【0097】
次いで、受信された検索要求に対応するドメインが明確であると判定された場合に(ステップS104;Yes)、推定装置100は、検索要求に対応するドメインと、取得されたキーワードとに基づいて、検索要求に対応する検索結果を提供する(ステップS105)。一方、受信された検索要求に対応するドメインが明確でないと判定された場合に(ステップS104;No)、推定装置100は、取得されたキーワードに基づいて、検索結果の種類に関するドメインであって、ユーザが意図するドメインを推定する(ステップS107)。
【0098】
次いで、推定装置100は、キーワードが検索結果の種類に関するドメインに対応するという確信の度合いを示す確信度であって、推定されたドメインに対応する確信度が所定の条件を満たすか否かを判定する(ステップS107)。例えば、推定されたドメインに対応する確信度が閾値以上である場合に、推定装置100は、推定されたドメインに対応する確信度が所定の条件を満たさないと判定する。一方、推定されたドメインに対応する確信度が閾値以上でない場合に、推定装置100は、推定されたドメインに対応する確信度が所定の条件を満たすと判定する。
【0099】
次いで、確信度が所定の条件を満たさないと判定された場合に(ステップS108;No)、推定装置100は、推定されたドメインと、取得されたキーワードとに基づいて、検索要求に対応する検索結果を提供する(ステップS109)。一方、確信度が所定の条件を満たすと判定された場合に(ステップS108;Yes)、推定装置100は、ユーザが意図するドメインを確認する(ステップS110)。例えば、推定装置100は、ユーザが意図するドメインを確認するための確認情報を端末装置10に送信する。
【0100】
次いで、推定装置100は、ユーザが意図するドメインの確認に対する応答を受信する(ステップS111)。一例では、推定装置100は、音声アシスタントアプリケーションを介して、ドメインの確認に対する応答を端末装置10から受信する。
【0101】
次いで、推定装置100は、ユーザが意図するドメインの確認に対する応答に含まれるドメインと、取得されたキーワードとに基づいて、検索要求に対応する検索結果を提供する(ステップS112)。
【0102】
〔5.変形例〕
上述の実施形態に係る推定装置100は、上記の実施形態以外にも、種々の異なる形態で実施されてよい。そこで、以下では、上記の推定装置100の他の実施形態について説明する。
【0103】
〔5-1.ドメイン推定モデルの訓練データ〕
第2取得部133は、訓練データとして、検索要求に対応する検索結果を提供するサービスと異なるサービスにおけるデータであって、検索結果の種類に関するドメインと検索要求に含まれるキーワードとの関連性を示すデータを取得してもよい。
【0104】
例えば、第2取得部133は、訓練データとして、所定のサーバから、検索サービスにおけるデータを取得する。検索サービスにおけるデータは、例えば、検索クエリと、かかる検索クエリによって検索された検索結果のドメインとを含む。一例では、検索クエリは、検索サービスの検索ウィンドウに入力された検索クエリである。一例では、検索結果のドメインは、例えば、検索サービスの検索ウィンドウとともに表示される検索対象(例えば、ウェブページ、ニュース、画像、地図、動画等の項目)に対応する。
【0105】
〔5-2.ドメインのトレンド〕
提供部137は、ドメインのトレンドに関するトレンド情報に基づいて、検索要求に対応する検索結果を提供してもよい。
【0106】
例えば、第1取得部132は、検索要求に含まれるキーワード「ビットコイン」を取得する。さらに、第2取得部133は、所定のサーバから、トレンド情報を取得する。トレンド情報は、例えば、所定の期間における検索クエリの検索回数と、かかる検索クエリによって検索された検索結果のドメインとを含む。一例では、トレンド情報は、「2018年5月20日から2018年7月20日」までの期間に、検索クエリ「ビットコイン」がニュース検索された検索回数を含む。この例では、かかる期間および検索回数が、所定の条件を満たす場合に、提供部137は、ドメイン「ニュース」と、キーワード「ビットコイン」とに基づいて、検索要求に対応する検索結果を提供する。例えば、提供部137は、ビットコインのニュースコンテンツを、ニュース検索の検索結果として提供する。
【0107】
〔5-3.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0108】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0109】
例えば、
図4に示した記憶部120の一部又は全部は、推定装置100によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、推定装置100は、ストレージサーバにアクセスすることで、検索履歴情報やキーワード情報等の各種情報を取得する。
【0110】
〔5-4.ハードウェア構成〕
また、上述してきた実施形態に係る推定装置100は、例えば
図11に示すような構成のコンピュータ1000によって実現される。
図11は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0111】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一時的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。
【0112】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0113】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0114】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0115】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0116】
例えば、コンピュータ1000が推定装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。
【0117】
〔6.効果〕
上述してきたように、実施形態に係る推定装置100は、第1取得部132と、推定部135とを有する。第1取得部132は、ユーザの発話に由来する検索要求に含まれる第1のキーワードを取得する。推定部135は、第1取得部132によって取得された第1のキーワードに基づいて、検索結果の種類に関する第1のドメインであって、ユーザが意図する第1のドメインを推定する。
【0118】
また、実施形態に係る推定装置100は、検索要求が、検索結果の種類に関する第2のドメインを示す第2のキーワードを含まない場合に、検索要求に対応する第2のドメインが明確でないと判定する判定部を有する。また、実施形態に係る推定装置100において、推定部135は、判定部134によって検索要求に対応する第2のドメインが明確でないと判定された場合に、ユーザが意図する第1のドメインを推定する。
【0119】
また、実施形態に係る推定装置100は、判定部134によって検索要求に対応する第2のドメインが明確でないと判定された場合に、ユーザが意図する第1のドメインを確認する確認部136を有する。
【0120】
また、実施形態に係る推定装置100において、確認部136は、第1のキーワードが検索結果の種類に関する第3のドメインに対応するという確信の度合いを示す確信度が所定の条件を満たす場合に、ユーザが意図する第1のドメインを確認する。
【0121】
また、実施形態に係る推定装置100は、ユーザの確認に対する応答に含まれる第1のドメインと、第1取得部132によって取得された第1のキーワードとに基づいて、検索要求に対応する検索結果を提供する提供部137を有する。
【0122】
また、実施形態に係る推定装置100は、ユーザの確認に対する応答に含まれる第1のドメインと、第1のキーワードとを含む訓練データを用いて、検索結果の種類に関するドメインであって、検索要求に含まれるキーワードに対応するドメインを推定するためのモデルを生成する生成部138を有する。
【0123】
また、実施形態に係る推定装置100において、第1取得部132は、訓練データとして、ユーザの発話に由来する検索要求に対応する検索結果を提供するサービスと異なるサービスにおけるデータであって、検索結果の種類に関するドメインと検索要求に含まれるキーワードとの関連性を示すデータを取得する。
【0124】
上述した各処理により、推定装置100は、ユーザの検索意図に応じた音声検索サービスを提供することができる。
【0125】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0126】
また、上述した推定装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【0127】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、受信部は、受信手段や受信回路に読み替えることができる。
【符号の説明】
【0128】
1 ネットワークシステム
10 端末装置
100 推定装置
120 記憶部
121 検索履歴情報記憶部
122 キーワード情報記憶部
123 確認応答データ記憶部
124 訓練データ記憶部
125 ドメイン推定モデル記憶部
126 確信度情報記憶部
130 制御部
131 受信部
132 第1取得部
133 第2取得部
134 判定部
135 推定部
136 確認部
137 提供部
138 生成部
139 出力部