(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024154899
(43)【公開日】2024-10-31
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06F 16/33 20190101AFI20241024BHJP
G06F 16/90 20190101ALI20241024BHJP
G06F 16/35 20190101ALI20241024BHJP
【FI】
G06F16/33
G06F16/90 100
G06F16/35
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023069112
(22)【出願日】2023-04-20
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 公開日 2023年3月6日 投稿情報:言語処理学会第29回年次大会発表論文集 https://www.anlp.jp/proceedings/annual_meeting/2023/pdf_dir/Q12-10.pdf 公開日 2023年3月13日~17日 登壇情報:言語処理学会第29回年次大会(NLP2023) https://www.anlp.jp/nlp2023/
(71)【出願人】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】赤崎 智
(72)【発明者】
【氏名】颯々野 学
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175DA05
5B175EA01
5B175GA04
5B175HB03
(57)【要約】
【課題】意図が曖昧なユーザ発話に対しても適切に応答する。
【解決手段】本願に係る情報処理装置は、分類対象となる情報に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する学習部と、ユーザから取得した情報をモデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な情報を検出する検出部と、を備えることを特徴とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
分類対象となる情報に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する学習部と、
ユーザから取得した情報を前記モデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な情報を検出する検出部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記学習部は、複数のユーザ発話の各々に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築し、
前記検出部は、ユーザから取得した発話を前記モデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な発話を検出する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記学習部は、複数のユーザ発話の各々に、ユーザ発話がタスク指向型の意図である場合にはタスクのラベル、非タスク指向型の意図である場合には雑談のラベル、意図が曖昧でタスク指向型及び非タスク指向型のいずれにも該当しない場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築し、
前記検出部は、ユーザから取得した発話を前記モデルに入力して、タスクを指示する音声であるか、雑談の音声であるか、あるいは意図が曖昧な音声であるかを判定する三値分類を行うことで、意図が曖昧な発話を検出する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記学習部は、複数のユーザ発話の各々の音声から抽出した文字列に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築し、
前記検出部は、ユーザから取得した発話の音声から抽出した文字列を前記モデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な発話を検出する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記学習部は、複数のユーザ発話の各々に、前記曖昧のラベルを付ける場合、さらに音声認識誤り、名詞、質問、自己開示、要望・命令、指摘、その他のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築し、
前記検出部は、ユーザから取得した発話を前記モデルに入力して、さらに音声認識誤り、名詞、質問、自己開示、要望・命令、指摘、その他のいずれかに分類する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
意図が曖昧な情報を検出した場合には、前記情報に応じた聞き返し又は意図の詳細化を行う応答部
をさらに備えることを特徴とする請求項1に記載の情報処理装置。
【請求項7】
意図が曖昧な情報を検出した場合には、意図が曖昧な情報に対する応答内容を選定する選定部と、
選定された応答内容で前記ユーザに応答する応答部と、
をさらに備えることを特徴とする請求項1に記載の情報処理装置。
【請求項8】
ユーザの発話に対してタスク、雑談、曖昧のいずれかのラベルを付けたデータセットを構築する生成部と、
前記データセットを用いて教師あり学習によりユーザの発話をタスク、雑談、曖昧のいずれかに分類する三値分類を行う分類器を構築する学習部と、
ユーザの発話を前記分類器に入力して、意図が曖昧な発話を検出する検出部と、
を備えることを特徴とする情報処理装置。
【請求項9】
情報処理装置が実行する情報処理方法であって、
分類対象となる情報に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する学習工程と、
ユーザから取得した情報を前記モデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な情報を検出する検出工程と、
を含むことを特徴とする情報処理方法。
【請求項10】
分類対象となる情報に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する学習手順と、
ユーザから取得した情報を前記モデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な情報を検出する検出手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、エージェントと対話するとき、対話の破綻を可及的回避することができる対話システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術は、2体のエージェントがスクリプト(ダイアログデータ)に従って人と対話するものである。対話システムでは、意図が曖昧なユーザ発話も存在する。意図が曖昧なユーザ発話に対してそのまま応答すると、ユーザの意図にそぐわない応答をする恐れがある。そのため、対話システムにおいて、意図が曖昧なユーザ発話に対しても適切に応答する手段が求められている。
【0005】
本願は、上記に鑑みてなされたものであって、意図が曖昧なユーザ発話に対しても適切に応答することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、分類対象となる情報に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する学習部と、ユーザから取得した情報を前記モデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な情報を検出する検出部と、を備えることを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、意図が曖昧なユーザ発話に対しても適切に応答することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理方法の概要を示す説明図である。
【
図2】
図2は、意図が曖昧なユーザ発話に対する応答の概要を示す説明図である。
【
図3】
図3は、実施形態に係る情報処理システムの構成例を示す図である。
【
図4】
図4は、実施形態に係る端末装置の構成例を示す図である。
【
図5】
図5は、実施形態に係るサーバ装置の構成例を示す図である。
【
図6】
図6は、利用者情報データベースの一例を示す図である。
【
図7】
図7は、履歴情報データベースの一例を示す図である。
【
図8】
図8は、発話情報データベースの一例を示す図である。
【
図9】
図9は、実施形態に係る処理手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
〔1.情報処理方法の概要〕
まず、
図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。
図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、
図1では、意図が曖昧なユーザ発話に対しても適切に応答する場合を例に挙げて説明する。
【0011】
図1に示すように、情報処理システム1は、端末装置10とサーバ装置100とを含む。端末装置10とサーバ装置100とは、ネットワークN(
図3参照)を介して有線又は無線で互いに通信可能に接続される。本実施形態では、端末装置10は、サーバ装置100と連携する。
【0012】
端末装置10は、利用者U(ユーザ)により使用されるスマートフォンやタブレット端末等のスマートデバイスであり、5G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者Uから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
【0013】
サーバ装置100は、各利用者Uの端末装置10と連携し、各利用者Uの端末装置10に対して、各種アプリケーション(以下、アプリ)等に対するAPI(Application Programming Interface)サービス等と、各種データを提供する情報処理装置であり、コンピュータやクラウドシステム等により実現される。
【0014】
また、サーバ装置100は、各利用者Uの端末装置10に対して、オンラインで何らかのWebサービスを提供する情報処理装置であってもよい。例えば、サーバ装置100は、Webサービスとして、インターネット接続、検索サービス、SNS(Social Networking Service)、電子商取引(EC:Electronic Commerce)、電子決済、オンラインゲーム、オンラインバンキング、オンライントレーディング、宿泊・チケット予約、動画・音楽配信、ニュース、地図、ルート検索、経路案内、路線情報、運行情報、天気予報等のサービスを提供してもよい。実際には、サーバ装置100は、上記のようなWebサービスを提供する各種サーバと連携し、Webサービスを仲介してもよいし、Webサービスの処理を担当してもよい。
【0015】
なお、サーバ装置100は、利用者Uに関する利用者情報を取得可能である。例えば、サーバ装置100は、利用者Uの性別、年代、居住地域といった利用者Uの属性に関する情報を取得する。そして、サーバ装置100は、利用者Uを示す識別情報(利用者ID等)とともに利用者Uの属性に関する情報を記憶して管理する。
【0016】
また、サーバ装置100は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、サーバ装置100は、利用者Uの位置や日時の履歴である位置履歴を端末装置10から取得する。また、サーバ装置100は、利用者Uが入力した検索クエリの履歴である検索履歴を検索サーバ(検索エンジン)から取得する。また、サーバ装置100は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴をコンテンツサーバから取得する。また、サーバ装置100は、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)を電子商取引サーバや決済処理サーバから取得する。また、サーバ装置100は、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴を電子商取引サーバや決済処理サーバから取得してもよい。また、サーバ装置100は、利用者Uの投稿の履歴である投稿履歴を口コミの投稿サービスを提供する投稿サーバやSNSサーバから取得する。なお、上記の各種サーバ等は、サーバ装置100自体であってもよい。すなわち、サーバ装置100が上記の各種サーバ等として機能してもよい。
【0017】
〔1-1.曖昧ラベルの設定〕
対話によってユーザとの雑談とタスクの両方をこなす知的対話アシスタント(会話エージェント)においては、「お腹が空いた」、「腰痛がひどい」のような雑談ともタスクとも取れる意図が曖昧なユーザ発話が存在する。そのような発話の意図を決定的に推定すると、結果として要求に沿わない応答をすることがありユーザ体験が損なわれてしまう。
【0018】
例えば、「東京駅の場所教えて」のような、意図が明白な(曖昧ではない)ユーザ発話であれば、「東京駅の場所をアプリで表示します」のようなユーザの意図に沿った応答をすることができる。しかし、単に「東京駅」とだけ発話した場合のような曖昧なユーザ発話に対しては、「東京駅の場所」を尋ねているのか、東京駅までの「路線検索」を求めているのか、意図を図りかねる場合がある。このような曖昧なユーザ発話に対してそのまま応答すると、ユーザの意図にそぐわない応答をする恐れがある。そのため、予めユーザの発話の曖昧性を判定し、必要であれば後の応答で対応することが望ましい。
【0019】
本実施形態では、
図1の(a)に示すように、対話システムにおいて、ユーザ発話に「タスク」、「雑談」、「曖昧」のラベル付けを行い、構築したデータセットで学習した発話意図分類器を適用することで、
図2に示すように、意図が曖昧なユーザ発話を検出し、曖昧な意図に応じて、聞き返しをしたり、複数の意図の応答をしたりすることを可能にする。
図2は、意図が曖昧なユーザ発話に対する応答の概要を示す説明図である。
【0020】
また、発展形として、
図1の(b)に示すように、さらにユーザ発話についての対話システムの解析結果を、発話意図分類器に入力して学習してもよい。例えば、対話システムの解析結果として、ユーザが「東京駅」とだけ発話した場合に、ユーザが「東京駅の場所」を尋ねており、地図に関する応答を求めていると判定する場合のソフトマックス関数(Softmax function)のスコアが0.6である場合、応答「地図」、確信度「0.6」、場所「東京」として発話意図分類器に入力して学習してもよい。
【0021】
例えば、
図1に示すように、サーバ装置100は、ネットワークN(
図3参照)を介して複数のユーザ発話を収集する(ステップS1)。本実施形態では、サーバ装置100は、知的対話アシスタントの対話ログからユーザ発話とシステム応答からなるペアを収集する。
【0022】
続いて、サーバ装置100は、ユーザ発話にラベルを付与して学習用のデータセットを構築する(ステップS2)。本実施形態では、サーバ装置100は、知的対話アシスタントのログデータにクラウドソーシングによるラベル付けを行う。
【0023】
具体的には、サーバ装置100は、得られた会話をクラウドソーシングのワーカに提示し、会話の発話に対しその意図を、ユーザ発話がタスク指向型の意図である「タスク」のラベルと、非タスク指向型の意図である「雑談」のラベルと、発話の意図が曖昧という「曖昧」のラベルとの3つのラベルから選択するというタスクを依頼することで、ラベル付けを行う。
【0024】
続いて、サーバ装置100は、学習用のデータセットを用いて機械学習によりモデルを構築する(ステップS3)。なお、モデルの構築には、モデルの更新を含む。本実施形態では、サーバ装置100は、得られたラベル付きデータから、どのような発話が曖昧な意図になるのか傾向を確認した後、BERT(Bidirectional Encoder Representations from Transformers)による教師あり学習モデル(発話意図分類器)を構築する。すなわち、サーバ装置100は、構築したデータセットを用いて教師あり分類器を構築する。
【0025】
続いて、サーバ装置100は、ネットワークN(
図3参照)を介して、利用者Uの端末装置10から、ユーザ発話を受け付ける(ステップS4)。
【0026】
続いて、サーバ装置100は、構築されたモデルを用いてユーザ発話を分類する(ステップS5)。本実施形態では、サーバ装置100は、ユーザ発話をモデル(発話意図分類器)に入力し、「タスク」、「雑談」、「曖昧」のいずれであるかを判定する三値分類を行う。これにより、サーバ装置100は、意図が曖昧な発話を検出する。
【0027】
続いて、サーバ装置100は、ユーザ発話の分類に応じて応答内容を選定する(ステップS6)。本実施形態では、サーバ装置100は、ユーザの発話が「曖昧」だと検出したとき、それに応じた聞き返しや意図の詳細化を行う応答を選定する。
【0028】
続いて、サーバ装置100は、ネットワークN(
図3参照)を介して、利用者Uの端末装置10に対して、選定された応答内容で応答する(ステップS7)。本実施形態では、サーバ装置100は、ユーザの発話が「曖昧」だと検出したとき、それに応じた聞き返しや意図の詳細化を行う。
【0029】
このように、本実施形態に係るサーバ装置100は、分類対象となる情報(ユーザ発話)が第1分類対象(タスク)、第2分類対象(雑談)、曖昧分類対象(曖昧)のいずれであるかを学習したモデルを構築する。そして、サーバ装置100は、ユーザから情報を取得すると、取得された情報を、構築されたモデルに入力して第1分類対象、第2分類対象あるいは曖昧分類対象のいずれかに分類し、分類に応じた応答を返す。
【0030】
なお、分類対象となる情報及びユーザから取得した情報は、音声から抽出した文字列であってもよい。当該文字列により、タスクを指示する音声であるか、雑談の音声であるか、あるいは意図が曖昧な音声であるかを判定してもよい。
【0031】
また、サーバ装置100は、第1分類対象であるか、第2分類対象であるか、曖昧分類対象であるかのラベルが付与された学習情報が有する特徴を学習した教師あり発話意図分類器を構築する。
【0032】
このとき、サーバ装置100は、学習情報をクラウドソージングで生成する。音声から作成された文字列(発話文字列)を人に見せて、タスクであるか、雑談であるか、タスク又は雑談のいずれに属するか不明で意図が曖昧であるかの3ラベルのいずれかを付与してもらう。そして、サーバ装置100は、発話文字列を入力した際に、付与されたラベルを出力するようにモデルを学習する。
【0033】
また、サーバ装置100は、分類対象となる発言を取得する。利用者が発言すると、音声認識技術で発話文字列に変換してモデルに入力し、モデルの分類結果に基づいて、発話文字列に対する応答を生成し、利用者に提供する。
【0034】
「曖昧」のラベルが付与された情報をランダムに抽出して分析した結果、大きく「音声認識誤り」、「名詞」、「質問」、「自己開示」、「要望・命令」、「指摘」、「その他」に分類することができ、特に音声認識誤りと名詞の割合が高いことがわかった。音声認識誤りについては、仮名漢字変換の誤りや語の脱落などが含まれており、結果的に意図が取れず曖昧となっている例が多い。名詞や要望・命令、質問は多くは一般的には情報検索や端末操作の意図で用いられるが、必ずしもそれらの意図と取れないものがある。情報開示は、雑談の文脈でよく使われるが、暗黙的にタスクの要求をしているとも取れるものがある。
【0035】
なお、サーバ装置100は、「曖昧」とされた発話を、さらにその種別ごとにラベル付けして学習して、回答に利用してもよい。発話の意図として「曖昧」があるものがある。これを適切に「分類対象」として設定することで正確性が高くなる。
【0036】
例えば、サーバ装置100は、複数のユーザ発話の各々に、曖昧のラベルを付ける場合、さらに音声認識誤り、名詞、質問、自己開示、要望・命令、指摘、その他のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築してもよい。そして、サーバ装置100は、ユーザ発話をモデルに入力して、さらに音声認識誤り、名詞、質問、自己開示、要望・命令、指摘、その他のいずれかに分類してもよい。
【0037】
また、サーバ装置100は、「曖昧」のラベルに加えて、さらに「意味不明」のラベルを増やしてもよい。
【0038】
また、サーバ装置100は、ニュースを分類するときに、「否定的」、「肯定的」、「曖昧」のラベルを付与して学習用のデータセットを構築し、BERTによる教師あり学習モデルを構築してもよい。また、学習モデルは、評判分析、SNS等を「肯定的」、「否定的」、「曖昧」に三値分類するモデルであってもよい。
【0039】
また、サーバ装置100は、知的対話アシスタント(会話エージェント)の機能として、「雑談」機能と、「タスク」機能とに加えて「曖昧」機能を追加してもよい。例えば、サーバ装置100は、学習モデル(分類器)を用いて「タスク」、「雑談」、「曖昧」のいずれであるかを判定する三値分類により、ユーザ発話に対してどの機能で応答するかを判定してもよい。
【0040】
さらに、サーバ装置100は、知的対話アシスタントに追加機能を加えた場合、学習モデル(分類器)を用いて「タスク」、「雑談」、「曖昧」、「追加機能」のいずれであるかを判定する四値分類により、「タスク」機能、「雑談」機能、「曖昧」機能、「追加機能」のいずれの機能で応答するかを判定してもよい。
【0041】
例えば、学習モデル(分類器)は、何らかの複数機能のサービスがあってその機能に加えて、どの機能か分類が曖昧なものを学習する。
【0042】
〔2.情報処理システムの構成例〕
次に、
図3を用いて、実施形態に係るサーバ装置100が含まれる情報処理システム1の構成について説明する。
図3は、実施形態に係る情報処理システム1の構成例を示す図である。
図3に示すように、実施形態に係る情報処理システム1は、端末装置10とサーバ装置100とを含む。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
【0043】
また、
図3に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、
図3では、図示の簡略化のため、端末装置10を1台のみ示したが、これはあくまでも例示であって限定されるものではなく、2台以上であってもよい。
【0044】
端末装置10は、利用者Uによって使用される情報処理装置である。例えば、端末装置10は、スマートフォン(スマホ)やタブレット端末等のスマートデバイス、フィーチャーフォン(ガラケー・ガラホ)等の携帯電話、PC(Personal Computer)、PDA(Personal Digital Assistant)、通信機能を備えたゲーム機やAV機器、情報家電・デジタル家電、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートスピーカ、スマートグラス等である。また、端末装置10は、IOT(Internet of Things)に対応した住宅・建物、車、家電製品、電子機器等であってもよい。
【0045】
また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、サーバ装置100と通信することができる。
【0046】
サーバ装置100は、例えばPCやブレードサーバ(blade server)等のコンピュータ、あるいはメインフレーム又はワークステーション等である。なお、サーバ装置100は、クラウドコンピューティングにより実現されてもよい。
【0047】
〔3.端末装置の構成例〕
次に、
図4を用いて、端末装置10の構成について説明する。
図4は、端末装置10の構成例を示す図である。
図4に示すように、端末装置10は、通信部11と、表示部12と、入力部13と、測位部14と、センサ部20と、制御部30(コントローラ)と、記憶部40とを備える。
【0048】
(通信部11)
通信部11は、ネットワークN(
図3参照)と有線又は無線で接続され、ネットワークNを介して、サーバ装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
【0049】
(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
【0050】
(入力部13)
入力部13は、利用者Uから各種操作を受け付ける入力デバイスである。例えば、入力部13は、文字や数字等を入力するためのボタン等を有する。なお、入力部13は、入出力ポート(I/O port)やUSB(Universal Serial Bus)ポート等であってもよい。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。また、入力部13は、利用者Uから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
【0051】
(測位部14)
測位部14は、GPS(Global Positioning System)の衛星から送出される信号(電波)を受信し、受信した信号に基づいて、自装置である端末装置10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。すなわち、測位部14は、端末装置10の位置を測位する。なお、GPSは、GNSS(Global Navigation Satellite System)の一例に過ぎない。
【0052】
また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。
【0053】
(Wi-Fi測位)
例えば、測位部14は、端末装置10のWi-Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、端末装置10の位置を測位する。具体的には、測位部14は、Wi-Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、端末装置10の位置を測位する。
【0054】
(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
【0055】
(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
【0056】
(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
【0057】
測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。
【0058】
(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ類は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。
図4に示す例では、センサ部20は、加速度センサ21と、ジャイロセンサ22と、気圧センサ23と、気温センサ24と、音センサ25と、光センサ26と、磁気センサ27と、画像センサ(カメラ)28とを備える。
【0059】
なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。
【0060】
加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。
【0061】
端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。
【0062】
例えば、加速度センサ21を利用した歩数計により、歩数や歩くスピード、歩いた距離を算出することができる。また、ジャイロセンサ22を利用して、利用者Uの進行方向や視線の方向、体の傾きを知ることができる。また、気圧センサ23で検知した気圧から、利用者Uの端末装置10が存在する高度やフロアの階数を知ることもできる。
【0063】
気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。
【0064】
上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。
【0065】
(制御部30)
制御部30は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM、入出力ポート等を有するマイクロコンピュータや各種の回路を含む。また、制御部30は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路等のハードウェアで構成されてもよい。制御部30は、送信部31と、受信部32と、処理部33とを有する。
【0066】
(送信部31)
送信部31は、例えば入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知された各種情報、測位部14によって測位された端末装置10の位置情報等を、通信部11を介してサーバ装置100へ送信することができる。
【0067】
(受信部32)
受信部32は、通信部11を介して、サーバ装置100から提供される各種情報や、サーバ装置100からの各種情報の要求を受信することができる。
【0068】
(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信されたサーバ装置100からの各種情報を表示部12へ出力して表示させることができる。
【0069】
(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。
【0070】
〔4.サーバ装置の構成例〕
次に、
図5を用いて、実施形態に係るサーバ装置100の構成について説明する。
図5は、実施形態に係るサーバ装置100の構成例を示す図である。
図5に示すように、サーバ装置100は、通信部110と、記憶部120と、制御部130とを備える。
【0071】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。また、通信部110は、ネットワークN(
図3参照)と有線又は無線で接続される。
【0072】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD、SSD、光ディスク等の記憶装置によって実現される。
図5に示すように、記憶部120は、利用者情報データベース121と、履歴情報データベース122と、発話情報データベース123とを有する。
【0073】
(利用者情報データベース121)
利用者情報データベース121は、利用者Uに関する利用者情報を記憶する。例えば、利用者情報データベース121は、利用者Uの属性等の種々の情報を記憶する。
図6は、利用者情報データベース121の一例を示す図である。
図6に示した例では、利用者情報データベース121は、「利用者ID(Identifier)」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目を有する。
【0074】
「利用者ID」は、利用者Uを識別するための識別情報を示す。なお、「利用者ID」は、利用者Uの連絡先(電話番号、メールアドレス等)であってもよいし、利用者Uの端末装置10を識別するための識別情報であってもよい。
【0075】
また、「年齢」は、利用者IDにより識別される利用者Uの年齢を示す。なお、「年齢」は、利用者Uの具体的な年齢(例えば35歳など)を示す情報であってもよいし、利用者Uの年代(例えば30代など)を示す情報であってもよい。あるいは、「年齢」は、利用者Uの生年月日を示す情報であってもよいし、利用者Uの世代(例えば80年代生まれなど)を示す情報であってもよい。また、「性別」は、利用者IDにより識別される利用者Uの性別を示す。
【0076】
また、「自宅」は、利用者IDにより識別される利用者Uの自宅の位置情報を示す。なお、
図6に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
【0077】
また、「勤務地」は、利用者IDにより識別される利用者Uの勤務地(学生の場合は学校)の位置情報を示す。なお、
図6に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
【0078】
また、「興味」は、利用者IDにより識別される利用者Uの興味を示す。すなわち、「興味」は、利用者IDにより識別される利用者Uが関心の高い対象を示す。例えば、「興味」は、利用者Uが検索エンジンに入力して検索した検索クエリ(キーワード)等であってもよい。なお、
図6に示す例では、「興味」は、各利用者Uに1つずつ図示するが、複数であってもよい。
【0079】
例えば、
図6に示す例において、利用者ID「U1」により識別される利用者Uの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、自宅が「LC11」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、勤務地が「LC12」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、「スポーツ」に興味があることを示す。
【0080】
ここで、
図6に示す例では、「U1」、「LC11」及び「LC12」といった抽象的な値を用いて図示するが、「U1」、「LC11」及び「LC12」には、具体的な文字列や数値等の情報が記憶されるものとする。以下、他の情報に関する図においても、抽象的な値を図示する場合がある。
【0081】
なお、利用者情報データベース121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、利用者情報データベース121は、利用者Uの端末装置10に関する各種情報を記憶してもよい。また、利用者情報データベース121は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、利用者情報データベース121は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。
【0082】
(履歴情報データベース122)
履歴情報データベース122は、利用者Uの行動を示す履歴情報(ログデータ)に関する各種情報を記憶する。
図7は、履歴情報データベース122の一例を示す図である。
図7に示した例では、履歴情報データベース122は、「利用者ID」、「位置履歴」、「検索履歴」、「閲覧履歴」、「購入履歴」、「投稿履歴」といった項目を有する。
【0083】
「利用者ID」は、利用者Uを識別するための識別情報を示す。また、「位置履歴」は、利用者Uの位置や移動の履歴である位置履歴を示す。また、「検索履歴」は、利用者Uが入力した検索クエリの履歴である検索履歴を示す。また、「閲覧履歴」は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴を示す。また、「購入履歴」は、利用者Uによる購入の履歴である購入履歴を示す。また、「投稿履歴」は、利用者Uによる投稿の履歴である投稿履歴を示す。なお、「投稿履歴」は、利用者Uの所有物に関する質問を含んでいてもよい。
【0084】
例えば、
図7に示す例において、利用者ID「U1」により識別される利用者Uは、「位置履歴#1」の通りに移動し、「検索履歴#1」の通りに検索し、「閲覧履歴#1」の通りにコンテンツを閲覧し、「購入履歴#1」の通りに所定の店舗等で所定の商品等を購入し、「投稿履歴#1」の通りに投稿したことを示す。
【0085】
ここで、
図7に示す例では、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購入履歴#1」及び「投稿履歴#1」といった抽象的な値を用いて図示するが、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購入履歴#1」及び「投稿履歴#1」には、具体的な文字列や数値等の情報が記憶されるものとする。
【0086】
なお、履歴情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、履歴情報データベース122は、利用者Uの所定のサービスの利用履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの実店舗の来店履歴又は施設の訪問履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。
【0087】
(発話情報データベース123)
発話情報データベース123は、知的対話アシスタントの対話ログから得られたユーザ発話と応答に関する各種情報を記憶する。
図8は、発話情報データベース123の一例を示す図である。
図8に示した例では、発話情報データベース123は、「発話」、「応答」、「ラベル」、「スコア」といった項目を有する。
【0088】
「発話」は、知的対話アシスタントの対話ログから得られたユーザ発話を示す。なお、発話の内容は、音声から抽出した文字列であってもよい。また、「応答」は、ユーザ発話に対する応答を示す。なお、応答は、発話の内容に対応する処理であってもよい。また、「ラベル」は、ユーザ発話に対して付けられたラベルを示す。例えば、「タスク」、「雑談」、「曖昧」のいずれかのラベルを示す。また、「スコア」は、ラベルのスコアを示す。例えば、スコアは、確信度であってもよいし、ソフトマックス関数のスコアであってもよい。
【0089】
例えば、
図8に示す例において、発話「東京駅」に対して応答「地図」を返すデータについては、ラベル「曖昧」を付与し、ラベルのスコア「0.6」であることを示す。
【0090】
実際には、1つの発話を入力すると、「タスク」、「雑談」、「曖昧」のそれぞれのラベルのソフトマックス関数のスコアを出力する分類器を用いて、最もスコアの高いラベルに対応する発話であると判定するようにしてもよい。
【0091】
なお、発話情報データベース123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、発話情報データベース123は、発話を行った利用者Uを識別するための識別情報を記憶してもよい。また、発話情報データベース123は、発話を行った際の利用者Uのコンテキスト(context)を発話に紐づけて記憶してもよい。
【0092】
(制御部130)
図5に戻り、説明を続ける。制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、サーバ装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。
図5に示す例では、制御部130は、取得部131と、生成部132と、学習部133と、検出部134と、選定部135と、応答部136とを有する。
【0093】
(取得部131)
取得部131は、利用者U(ユーザ)により入力された検索クエリを取得する。例えば、取得部131は、利用者Uが検索エンジン等に検索クエリを入力してキーワード検索を行った際に、通信部110を介して、当該検索クエリを取得する。すなわち、取得部131は、通信部110を介して、利用者Uにより検索エンジンやサイト又はアプリの検索窓に入力されたキーワードを取得する。
【0094】
また、取得部131は、通信部110を介して、利用者Uに関する利用者情報を取得する。例えば、取得部131は、利用者Uの端末装置10から、利用者Uを示す識別情報(利用者ID等)や、利用者Uの位置情報、利用者Uの属性情報等を取得する。また、取得部131は、利用者Uのユーザ登録時に、利用者Uを示す識別情報や、利用者Uの属性情報等を取得してもよい。そして、取得部131は、利用者情報を、記憶部120の利用者情報データベース121に登録する。
【0095】
また、取得部131は、通信部110を介して、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、取得部131は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報を取得する。そして、取得部131は、各種の履歴情報を、記憶部120の履歴情報データベース122に登録する。
【0096】
また、取得部131は、通信部110を介して、利用者U(ユーザ)が入力した情報を受け付けて取得する。例えば、取得部131は、通信部110を介して、ユーザの発話を受け付けて取得する。また、取得部131は、知的対話アシスタントの対話ログからユーザ発話とシステム応答からなるペアを収集する。
(生成部132)
生成部132は、ユーザが入力した情報に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けたデータセットを構築する。例えば、生成部132は、ユーザの発話に対してタスク、雑談、曖昧のいずれかのラベルを付けたデータセットを構築する。
【0097】
(学習部133)
学習部133は、分類対象となる情報に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する。
【0098】
例えば、学習部133は、複数のユーザ発話の各々に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する。
【0099】
このとき、学習部133は、複数のユーザ発話の各々に、ユーザ発話がタスク指向型の意図である場合にはタスクのラベル、非タスク指向型の意図である場合には雑談のラベル、意図が曖昧でタスク指向型及び非タスク指向型のいずれにも該当しない場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する。
【0100】
例えば、学習部133は、複数のユーザ発話の各々の音声から抽出した文字列に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する。
【0101】
また、学習部133は、複数のユーザ発話の各々に、曖昧のラベルを付ける場合、さらに音声認識誤り、名詞、質問、自己開示、要望・命令、指摘、その他のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する。
【0102】
別の観点では、学習部133は、生成部132により構築されたデータセットを用いて教師あり学習によりユーザの発話をタスク、雑談、曖昧のいずれかに分類する三値分類を行う分類器を構築する。
【0103】
(検出部134)
検出部134は、ユーザから取得した情報をモデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な情報を検出する。
【0104】
例えば、検出部134は、ユーザから取得した発話をモデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な発話を検出する。
【0105】
このとき、検出部134は、ユーザから取得した発話をモデルに入力して、タスクを指示する音声であるか、雑談の音声であるか、あるいは意図が曖昧な音声であるかを判定する三値分類を行うことで、意図が曖昧な発話を検出する。
【0106】
例えば、検出部134は、ユーザから取得した発話の音声から抽出した文字列をモデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な発話を検出する。
【0107】
また、検出部134は、ユーザから取得した発話をモデルに入力して、さらに音声認識誤り、名詞、質問、自己開示、要望・命令、指摘、その他のいずれかに分類する。
【0108】
別の観点では、検出部134は、ユーザの発話を分類器に入力して、意図が曖昧な発話を検出する。
【0109】
(選定部135)
選定部135は、意図が曖昧な情報を検出した場合には、意図が曖昧な情報に対する応答内容を選定する。また、応答部136は、ユーザが入力した情報に応じた処理内容を選定してもよい。例えば、応答部136は、ユーザの発話の内容に応じて、起動すべきアプリを選定してもよい。また、選定部135は、意図が曖昧な情報を検出した場合には、意図が曖昧な情報に対する処理内容を選定してもよい。
【0110】
(応答部136)
応答部136は、通信部110を介して、情報を入力したユーザに応答する。例えば、応答部136は、通信部110を介して、ユーザの発話に対して応答する。このとき、応答部136は、意図が曖昧な情報を検出した場合には、情報に応じた聞き返し又は意図の詳細化を行う。あるいは、応答部136は、選定部135により選定された応答内容でユーザに応答する。
【0111】
また、応答部136は、ユーザが入力した情報に応じた処理を行ってもよい。例えば、応答部136は、ユーザの発話の内容に応じたアプリを起動してもよい。このとき、応答部136は、意図が曖昧な情報を検出した場合には、情報に応じた聞き返し又は意図の詳細化を行った上で、ユーザが入力した情報に応じた処理を行う。あるいは、応答部136は、選定部135により選定された処理内容に応じた処理を行う。
【0112】
〔5.処理手順〕
次に、
図9を用いて実施形態に係るサーバ装置100による処理手順について説明する。
図9は、実施形態に係る処理手順を示すフローチャートである。なお、以下に示す処理手順は、サーバ装置100の制御部130によって繰り返し実行される。
【0113】
例えば、
図9に示すように、サーバ装置100の取得部131は、通信部110を介して、知的対話アシスタントの対話ログからユーザ発話を取得する(ステップS101)。
【0114】
続いて、サーバ装置100の生成部132は、対話ログに含まれるユーザ発話の各々に、タスク指向型の意図である「タスク」のラベルと、非タスク指向型の意図である「雑談」のラベルと、発話の意図が曖昧という「曖昧」のラベルのいずれかを付けたデータセットを構築する(ステップS102)。
【0115】
続いて、サーバ装置100の学習部133は、生成部132により構築されたデータセットを用いて教師あり学習によりユーザ発話をタスク、雑談、曖昧のいずれかに分類する三値分類を行う分類器を構築する(ステップS103)。
【0116】
続いて、サーバ装置100の検出部134は、ユーザの発話を分類器に入力して、ユーザ発話をタスク、雑談、曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な発話を検出する(ステップS104)。
【0117】
続いて、サーバ装置100の選定部135は、意図が曖昧な発話を検出した場合には、意図が曖昧な発話に対する応答内容を選定する(ステップS105)。
【0118】
続いて、サーバ装置100の応答部136は、選定部135により選定された応答内容でユーザに応答することで、ユーザの発話に対する聞き返し又は意図の詳細化を行う(ステップS106)。
【0119】
〔6.変形例〕
上述した端末装置10及びサーバ装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
【0120】
上記の実施形態において、サーバ装置100が実行している処理の一部又は全部は、実際には、端末装置10が実行してもよい。例えば、スタンドアローン(Stand-alone)で(端末装置10単体で)処理が完結してもよい。この場合、端末装置10に、上記の実施形態におけるサーバ装置100の機能が備わっているものとする。また、上記の実施形態では、端末装置10はサーバ装置100と連携しているため、利用者Uから見れば、サーバ装置100の処理も端末装置10が実行しているように見える。すなわち、他の観点では、端末装置10は、サーバ装置100を備えているともいえる。
【0121】
また、上記の実施形態において、サーバ装置100は、意図が曖昧なユーザ発話を検出した場合、モデルを用いて意図が曖昧なユーザ発話に対して適切な応答を推定するようにしてもよい。例えば、サーバ装置100は、意図が曖昧なユーザ発話と応答とのペアに確信度や尤度又はスコアを紐づけして学習用のデータセットを構築し、構築されたデータセットを用いて機械学習によりモデルを構築する。そして、サーバ装置100は、意図が曖昧なユーザ発話をモデルに入力し、モデルの出力として得られた応答と確信度や尤度又はスコアに応じて意図が曖昧なユーザ発話に対する応答を行う。
【0122】
〔7.効果〕
上述してきたように、本願に係る情報処理装置(端末装置10及びサーバ装置100)は、分類対象となる情報に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する学習部133と、利用者U(ユーザ)から取得した情報をモデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な情報を検出する検出部134と、を備える。
【0123】
例えば、学習部133は、複数のユーザ発話の各々に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する。検出部134は、ユーザから取得した発話をモデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な発話を検出する。
【0124】
また、学習部133は、複数のユーザ発話の各々に、ユーザ発話がタスク指向型の意図である場合にはタスクのラベル、非タスク指向型の意図である場合には雑談のラベル、意図が曖昧でタスク指向型及び非タスク指向型のいずれにも該当しない場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する。検出部134は、ユーザから取得した発話をモデルに入力して、タスクを指示する音声であるか、雑談の音声であるか、あるいは意図が曖昧な音声であるかを判定する三値分類を行うことで、意図が曖昧な発話を検出する。
【0125】
また、学習部133は、複数のユーザ発話の各々の音声から抽出した文字列に、第1の意図の場合には第1分類のラベル、第2の意図の場合には第2分類のラベル、意図が曖昧な場合には曖昧のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する。検出部134は、ユーザから取得した発話の音声から抽出した文字列をモデルに入力して、第1分類、第2分類、又は曖昧のいずれかに分類する三値分類を行うことで、意図が曖昧な発話を検出する。
【0126】
また、学習部133は、複数のユーザ発話の各々に、曖昧のラベルを付ける場合、さらに音声認識誤り、名詞、質問、自己開示、要望・命令、指摘、その他のラベルを付けて得られたラベル付きデータを用いて機械学習によりモデルを構築する。検出部134は、ユーザから取得した発話をモデルに入力して、さらに音声認識誤り、名詞、質問、自己開示、要望・命令、指摘、その他のいずれかに分類する。
【0127】
また、本願に係る情報処理装置は、意図が曖昧な情報を検出した場合には、情報に応じた聞き返し又は意図の詳細化を行う応答部136をさらに備える。
【0128】
あるいは、本願に係る情報処理装置は、意図が曖昧な情報を検出した場合には、意図が曖昧な情報に対する応答内容を選定する選定部135と、選定された応答内容でユーザに応答する応答部136と、をさらに備える。
【0129】
別の観点では、本願に係る情報処理装置は、ユーザの発話に対してタスク、雑談、曖昧のいずれかのラベルを付けたデータセットを構築する生成部132と、データセットを用いて教師あり学習によりユーザの発話をタスク、雑談、曖昧のいずれかに分類する三値分類を行う分類器を構築する学習部133と、ユーザの発話を分類器に入力して、意図が曖昧な発話を検出する検出部134と、を備える。
【0130】
上述した各処理のいずれかもしくは組合せにより、本願に係る情報処理装置は、意図が曖昧なユーザ発話に対しても適切に応答することができる。
【0131】
〔8.ハードウェア構成〕
また、上述した実施形態に係る端末装置10やサーバ装置100は、例えば
図10に示すような構成のコンピュータ1000によって実現される。以下、サーバ装置100を例に挙げて説明する。
図10は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0132】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0133】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USB(Universal Serial Bus)メモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0134】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェースであり、例えば、USB等により実現される。
【0135】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0136】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0137】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0138】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0139】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0140】
例えば、コンピュータ1000がサーバ装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0141】
〔9.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【0142】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0143】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0144】
例えば、上述したサーバ装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
【0145】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0146】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0147】
1 情報処理システム
10 端末装置
100 サーバ装置
110 通信部
120 記憶部
121 利用者情報データベース
122 履歴情報データベース
123 発話情報データベース
130 制御部
131 取得部
132 生成部
133 学習部
134 検出部
135 選定部
136 応答部