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

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

▶ ヤフー株式会社の特許一覧

特許7410066情報提供装置、情報提供方法および情報提供プログラム
<>
  • 特許-情報提供装置、情報提供方法および情報提供プログラム 図1
  • 特許-情報提供装置、情報提供方法および情報提供プログラム 図2
  • 特許-情報提供装置、情報提供方法および情報提供プログラム 図3
  • 特許-情報提供装置、情報提供方法および情報提供プログラム 図4
  • 特許-情報提供装置、情報提供方法および情報提供プログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-25
(45)【発行日】2024-01-09
(54)【発明の名称】情報提供装置、情報提供方法および情報提供プログラム
(51)【国際特許分類】
   G06F 16/90 20190101AFI20231226BHJP
   G06F 16/906 20190101ALI20231226BHJP
【FI】
G06F16/90 100
G06F16/906
【請求項の数】 6
(21)【出願番号】P 2021024492
(22)【出願日】2021-02-18
(65)【公開番号】P2022126428
(43)【公開日】2022-08-30
【審査請求日】2021-12-17
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】小林 隼人
(72)【発明者】
【氏名】清水 徹
(72)【発明者】
【氏名】日暮 立
(72)【発明者】
【氏名】増山 毅司
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2011-123565(JP,A)
【文献】特開2006-031460(JP,A)
【文献】特開2019-139783(JP,A)
【文献】特開2017-102921(JP,A)
【文献】特開2020-166426(JP,A)
【文献】国際公開第2020/174826(WO,A1)
【文献】特開2020-109689(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
蓄積された複数の質問回答文書について、利用者が指定した所定のカテゴリに関する意味空間にマッピングされた質問回答のベクトルデータの相対的距離を調整する距離学習を行う学習処理部と、
学習された質問回答文書をクラスタリングするクラスタリング処理部と、
クラスタリングされた質問回答文書を含む各クラスタの中心点からの距離が最も近い質問回答を用いて、質問回答集を作成するFAQ作成部と、
を備えることを特徴とする情報提供装置。
【請求項2】
前記学習処理部は、前記ベクトルデータについて、類似データの組と非類似データの組を用いた所定の学習がされた共分散行列を用いて、ベクトル化された前記質問回答文書を演算することにより、前記意味空間の内で前記質問回答のベクトルデータの相対的距離を調整することを特徴とする請求項1に記載の情報提供装置。
【請求項3】
前記クラスタリング処理部は、ベクトル化された複数の前記質問回答文書の間の距離を考慮して、この距離の近いベクトルデータに対応する質問回答群によりクラスタを形成すること特徴とする請求項1または2に記載の情報提供装置。
【請求項4】
前記FAQ作成部は、各クラスタに含まれる質問回答文書に見出しをつけることを特徴とする請求項1~3のいずれか一項に記載の情報提供装置。
【請求項5】
コンピュータが実行する情報提供方法であって、
蓄積された複数の質問回答文書について、利用者が指定した所定のカテゴリに関する意味空間にマッピングされた質問回答のベクトルデータの相対的距離を調整する距離学習を行う学習処理工程と、
学習された質問回答文書をクラスタリングするクラスタリング処理工程と、
クラスタリングされた質問回答文書を含む各クラスタの中心点からの距離が最も近い質問回答を用いて、質問回答集を作成するFAQ作成工程と、
を含むことを特徴とする情報提供方法。
【請求項6】
蓄積された複数の質問回答文書について、利用者が指定した所定のカテゴリに関する意味空間にマッピングされた質問回答のベクトルデータの相対的距離を調整する距離学習を行う学習処理手順と、
学習された質問回答文書をクラスタリングするクラスタリング処理手順と、
クラスタリングされた質問回答文書を含む各クラスタの中心点からの距離が最も近い質問回答を用いて、質問回答集を作成するFAQ作成手順と、
をコンピュータに実行させることを特徴とする情報提供プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報提供装置、情報提供方法および情報提供プログラムに関する。
【背景技術】
【0002】
近年、インターネットを使って、ユーザ(質問者)が投稿した質問文に対して他のユーザ(回答者)が回答文を投稿することで、ユーザ間で知識や知恵の共有を行う、所謂Q&A(Question Answering)サイトが知られている。この種のQ&Aサイトには、多数の質問文および回答文(以下質問回答という)が蓄積されているため、これらの質問回答を利用して様々なカテゴリにおける質問回答集であるFAQ(Frequently Asked Questions:よくある質問)を作成するサービスが望まれている。従来、複数の質問回答のクラスタリング結果からFAQを作成する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-166426号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来技術では、利用者の意図に合ったFAQ(質問回答集)が提供されているとは言えない場合がある。
【0005】
例えば、各カテゴリにおける質問回答の粒度や軸(方向性)にばらつきがある場合には、これら質問回答のクラスタリング結果からFAQを作成してもばらつきが残り、利用者の意図に沿ったFAQが提供されないおそれがある。
【0006】
本願は、上記に鑑みてなされたものであって、利用者の意図に合った質問回答集を提供することを目的とする。
【課題を解決するための手段】
【0007】
本願に係る情報提供装置は、所定の意味空間にマッピングされた複数の質問回答に対して、利用者の指示に基づく距離学習を行う学習処理部と、距離学習された質問回答をクラスタリングするクラスタリング処理部と、クラスタリングされた質問回答を含む各クラスタを要約して質問回答集を作成するFAQ作成部と、を備える。
【発明の効果】
【0008】
実施形態の一態様によれば、利用者の意図に合った質問回答集を作成することができる。
【図面の簡単な説明】
【0009】
図1図1は、本実施形態に係る情報提供装置の一例を示す図である。
図2図2は、本実施形態に係る情報提供装置の構成例を示す図である。
図3図3は、本実施形態に係る質問回答記憶部に記憶された情報の一例を示す図である。
図4図4は、本実施形態に係る処理の流れの一例を示すフローチャートである。
図5図5は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る情報提供装置、情報提供方法および情報提供プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報提供装置、情報提供方法および情報提供プログラムが限定されるものではない。
【0011】
[実施形態]
〔1.情報提供装置の概要について〕
まず、図1を用いて、本実施形態に係る情報提供装置10の一例について説明する。なお、以下の説明では、情報提供装置10が実行する処理の一例として、所謂Q&Aサイトに蓄積された質問回答情報を利用して、利用者が指定した所定のカテゴリに関するFAQ(質問回答集)を自動作成する処理を説明する。この種のQ&Aサイトは、インターネットを使って、ユーザ(質問者)が投稿した質問文に対して他のユーザ(回答者)が回答文を投稿することで、ユーザ間で知識や知恵の共有を行うものである。
【0012】
また、本実施形態における質問文および回答文は、1つ以上の文(センテンス)を含んだテキストデータであるものとする。また、文は、句点、感嘆符、疑問符、空白等で区切られたテキストデータの範囲であるものとする。また、質問文は、質問することを意図して作成されたものとして処理される文書であり、回答文は、質問文に対して回答することを意図して作成されたものとして処理される文書である。また、以下の説明では、情報提供装置10によってFAQの作成を指示するユーザを利用者と記載する。また、質問文とこれに対応する回答文等、各ユーザから受付けた情報を質問回答情報または質問回答と総称する場合がある。
【0013】
図1は、本実施形態に係る情報提供装置の一例を示す図である。図1に示す情報提供装置10は、質問回答集であるFAQの作成処理を行う情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、情報提供装置10は、4G(Generation)、5G、LTE(Long Term Evolution)、Wifi(登録商標)若しくは無線LAN(Local Area Network)等といった各種の無線通信網若しくは各種の有線通信網といったネットワークN(例えば、図2参照)を介して、利用者が使用する端末装置100およびQ&Aサイトを管理するウェブサーバ200との間で通信を行う。
【0014】
端末装置100は、PC(Personal Computer)、サーバ装置、スマートテレビジョン、スマートフォン若しくはタブレット等といったスマートデバイス等により実現され、ネットワークNを介して、情報提供装置10との間で通信を行うことができる携帯端末装置である。また、端末装置100は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者から指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、情報提供装置10から配信されるコンテンツに対する各種の操作を受付け可能な機能を有していてもよい。
【0015】
なお、図1に示す例では、端末装置100は、利用者Uにより利用される端末装置である。また、図1に示す例では、1人の利用者Uを記載したが、これに限定されるものではない。情報提供装置10には、任意の数の利用者がそれぞれ端末装置を介して接続することができるため、各利用者が意図するFAQを作成することができる。
【0016】
ウェブサーバ200は、Q&Aサイトの管理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。ウェブサーバ200は、ユーザが投稿した質問文や回答文を受けつけ、質問文に対応する回答文と紐づけて記憶する。また、ウェブサーバ200は、Q&Aサイト上で検索された質問回答をユーザに提供する。本実施形態では、ウェブサーバ200を情報提供装置10と別体として説明したが、これらを一体に構成しても構わない。
【0017】
〔2.処理の一例について〕
ウェブサーバ200が管理するQ&Aサイトには、多数の質問回答が蓄積されているため、これらの質問回答を利用して様々なカテゴリにおけるFAQを作成して提供するサービスが望まれている。この場合、様々なカテゴリのFAQを作成するには膨大な人手コストがかかるため、該FAQを自動的に作成することが好ましい。一方、様々なカテゴリに対応するFAQを自動的に作成しようとする場合、質問回答(見出し)の粒度や軸(方向性)が揃わないため、利用者の意図に沿ったFAQを提供できない問題が生じるおそれがある。例えば、クレジットカード関連のFAQを作成したい場合には、各カード会社に関する質問回答が混在すると、質問回答の粒度がばらつく。このため、カード会社ごとに質問回答を分けたいという利用者の意図を反映させることが好ましい。また、決済方法(スマホ決済やEコマース)に関する質問回答と決済代行会社に関する質問回答とは、質問回答の軸が異なる。このため、質問回答を決済方法ごとに分けたい場合と決済代行会社ごとに分けたい場合とが混在して欲しくないという利用者の意図を反映させることが好ましい。
【0018】
本実施形態では、情報提供装置10は、例えば、予めベクトル化された質問回答に対して、距離学習させた後にクラスタリング処理を行うことで、質問回答の粒度や軸のばらつきを抑えて、利用者の意図に合致したFAQを提供するものである。以下、情報提供装置10が実行する各処理の一例について説明する。
【0019】
〔2-1.ベクトルへ変換する前処理の一例について〕
図1に示すように、情報提供装置10は、ウェブサーバ200から質問回答を受け取る(ステップS1)。この質問回答は、情報提供装置10の指示に応じてウェブサーバ200が送信しても良いし、定期的にウェブサーバ200が送信しても良い。また、ウェブサーバ200は、毎回すべての質問回答を送信しても良いし、前回との差分情報を送信しても良い。
【0020】
情報提供装置10は質問回答を受け取ると、この質問回答をベクトルデータへ変換する前処理を行う(ステップS2)。本実施形態では、情報提供装置10は、例えば、質問回答のテキスト情報の特徴量を抽出する学習モデル(オートエンコーダ;自己符号化器)を用いて各テキスト情報からN次元ベクトルを生成する。
【0021】
学習モデルは、例えば、入力層と中間層と出力層とを含んで構成される。入力層は、情報が入力される層であり、出力層は、入力層への入力に応じて、入力された情報と同様の情報が出力される層である。この構成では、入力層から中間層までの間は、入力された情報を圧縮する処理(エンコード処理)を行う部分に対応し、中間層から出力層までの間は、圧縮された情報を復元する処理(デコード処理)を行う部分に対応する。また、中間層は、入力層から中間層までの間で圧縮された情報の特徴を表現する層である。
【0022】
例えば、情報提供装置10は、所定の学習モデルMの入力層に質問回答のテキスト情報を入力することにより、学習モデルMの各要素(ニューロン)の値を演算し、入力したテキスト情報と同様の情報を出力層から出力する。この場合、情報提供装置10は、例えば中間層の各要素(ニューロン)の値を特徴量として抽出し、質問回答に対応するN次元のベクトルデータを生成する。このベクトルデータは、例えば、N次元の実数列として表現される。
【0023】
このような学習モデルMは、例えば、DNN(Deep Neural Network)といった各種の分類器によって実現可能である。なお、DNNは、例えば、RNN(Recurrent Neural Network)、CNN(Convolution Neural Network)、LSTM(Long short-term memory)等といった任意の構成を有するニューラルネットワークが採用可能である。
【0024】
続いて、利用者Uが端末装置100を通じて、カテゴリ(例えばクレジットカード)を指定すると(ステップS3)、情報提供装置10は、クレジットカードの分野に関連する質問回答に対応するベクトルデータを抽出する(ステップS4)。情報提供装置10は、例えば、カード会社名、入会、退会、請求、明細などの語彙を含む質問回答に対応するベクトルデータを抽出することができる。これにより、情報提供装置10は、抽出されたベクトルデータにより、所定のカテゴリに関する意味空間にマッピングされた状態の質問回答を構成することができる。なお、本実施形態では、蓄積されたすべての質問回答を学習モデルMによってベクトル化した後、指定されたカテゴリに関するベクトルデータを抽出した構成としたが、これに限るものではない。例えば、蓄積されたすべての質問回答から指定されたカテゴリに関する質問回答を抽出し、この抽出した質問回答を学習モデルMによってベクトル化してもよい。
【0025】
〔2-2.距離学習処理の一例について〕
【0026】
続いて、利用者Uは、端末装置100を通じて、所定のカテゴリに関する意味空間にマッピングされた複数の質問回答に対して、該利用者Uの意図を含んだ指示を送信する(ステップS5)。この指示が受け取ると、情報提供装置10は、所定のカテゴリに関する意味空間にマッピングされた複数の質問回答を、この指示に基づいて距離学習させる(ステップS6)。この指示は、例えば、複数の質問回答の粒度や軸のばらつきを抑えるための少量の例である。
【0027】
FAQを作成する場合、例えば、金融関係に関連するFAQでは、クレジットカードの各カード会社に関する質問回答が混在しても問題はないが、例えば、クレジットカードに関連のFAQでは、各カード会社に関する質問回答が混在すると質問回答の粒度がばらつく。また、決済方法(スマホ決済やEコマース)に関する質問回答と決済代行会社に関する質問回答とは質問回答の軸が異なる。このため、ユーザが利用しやすいFAQを提供するためには、質問回答の粒度および軸のばらつきを抑えることが有効となる。このため、情報提供装置10は、質問回答の粒度および軸のばらつきを抑えるために距離学習を実行して、意味空間における質問回答のベクトルデータの距離(例えば、意味空間における相対的な距離)を調整している。
【0028】
この距離学習では、似ているデータは意味空間において相対的に近く、似ていないデータは意味空間において相対的に遠くなるように学習させている。情報提供装置10は、例えば、マハラノビス距離学習を実行することができる。このマハラノビス距離学習を実行する際に、利用者の指示の一例(教師データ)として、A社に関するクレジットカード関連のデータ(類似データ)の組と、A社以外のカード会社(B社、C社・・・)に関するクレジットカード関連のデータ(非類似データ)の組とを用意する。情報提供装置10は、これらの類似データの組と非類似データの組を用いて所定の共分散行列を学習する。そして、情報提供装置10は、学習済の共分散行列により質問回答のベクトルデータを演算することで、A社に関するクレジットカード関連のデータは相対的により近く、A社以外のカード会社に関するクレジットカード関連のデータは相対的に遠くなる。このため、A社のクレジットカード関連の質問回答とA社以外のクレジットカード関連の質問回答との距離を離すことができる。本実施形態では、距離学習の一例について説明したがこれに限るものではない。
【0029】
〔2-3.クラスタリング処理の一例について〕
続いて、情報提供装置10は、距離学習されたベクトルデータに基づいてクラスタリング処理を行う(ステップS7)。このクラスタリング処理は、ベクトルデータ間の距離(例えばコサイン距離)を考慮して、この距離の近いベクトルデータに対応する質問回答群により階層的なクラスタ形成する。本実施形態では、クラスタリング処理の前に、距離学習により質問回答のベクトルデータの距離が調整されているため、該質問回答の粒度や軸のばらつきを抑えた状態でクラスタリングがなされる。続いて、情報提供装置10は、形成された各クラスタについて、該クラスタに含まれる質問回答の見出しを形成してFAQを作成する(ステップS8)。情報提供装置10は、クラスタに含まれる質問回答の単語を分析して、特徴がある単語を用いて見出し(例えば、[A社入退会]、[A社明細]、[A社ポイント]など)をつける。なお、見出しの代わりに各クラスタの中心質問回答を選択してもよい。最後に情報提供装置10は、作成されたFAQ情報を端末装置100に送信することにより、利用者にFAQ(質問回答集)を提供する(ステップS9)。この構成では、所定のカテゴリに関する意味空間にマッピングされた複数の質問回答を、利用者の指示に基づいて距離学習させるため、質問回答の粒度や軸のばらつきを抑えることができ、利用者の意図に沿ったFAQを作成して提供することができる。
【0030】
〔3.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。なお、以下の説明では、Q&Aサイトに蓄積された質問回答情報を利用して、利用者が所望するカテゴリに関する質問回答集を作成して提供する情報提供装置10が有する機能構成の一例を示す。図2は、本実施形態に係る情報提供装置の構成例を示す図である。図2に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
【0031】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100およびウェブサーバ200との間で情報の送受信を行う。
【0032】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、質問回答記憶部31と、学習モデル記憶部32とを有する。
【0033】
図3は、本実施形態に係る質問回答記憶部に記憶された情報の一例を示す図である。質問回答記憶部31は、質問回答に関する各種情報を記憶する。例えば、質問回答記憶部31は、質問回答IDやベクトルデータを記憶する。図3の例では、質問回答記憶部31には、「質問回答ID」、「質問回答」、「質問回答情報」、「ベクトル情報」といった項目の情報が含まれる。
【0034】
「質問回答ID」は、質問回答を識別するための識別情報を示す。この質問回答は、質問文書と対応する回答文書とからなる。また、「質問回答」は、質問回答IDにより識別される質問回答の具体的な名称や内容等を示す。なお、図3の例では、「質問回答」を「A社カード入会」等のように、内容を特定するための文字情報で示している。
【0035】
「質問回答情報」は、質問回答IDにより識別される質問回答に関する情報を示す。なお、図3の例では、質問回答情報を「A社カードの申し込み時に必要な書類はあるか」という質問文と、「お申し込みの際には原則必要ありません。ただし、A社カードをお受け取りの際には本人確認資料等が必要な場合があります。」という回答文とからなる文字情報で示している。「ベクトル情報」とは、質問回答IDにより識別される質問回答情報に対応するベクトル情報を示す。図3の例では、質問回答IDに対応する質問回答情報を多次元(N次元)のベクトル情報(ベクトルデータ)「10,24,54,2,・・・」で示している。
【0036】
学習モデル記憶部32は、質問回答のテキスト情報をベクトルデータに変換(ベクトル化)する学習モデルMを記憶する。この種の学習モデルMは、例えば、DNN(Deep Neural Network)といった各種の分類器によって実現可能である。なお、DNNは、例えば、RNN(Recurrent Neural Network)、CNN(Convolution Neural Network)、LSTM(Long short-term memory)等といった任意の構成を有するニューラルネットワークが採用可能である。
【0037】
図2に戻って説明を続ける。制御部40は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部40は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0038】
図2に示すように、制御部40は、前処理部41、抽出部42、距離学習部43、クラスタリング処理部44、およびFAQ作成部45を有する。前処理部41は、学習モデル記憶部32に記憶された学習モデルMを用いて、質問回答のテキスト情報からN次元のベクトルデータを生成する。
【0039】
前処理部41は、例えば、学習モデルMの入力層に質問回答のテキスト情報を入力することにより、学習モデルMの各要素(ニューロン)の値を演算し、入力したテキスト情報と同様の情報を出力層から出力する。この場合、情報提供装置10は、例えば中間層の各要素(ニューロン)の値を特徴量として抽出し、質問回答に対応するN次元のベクトルデータを生成する。このベクトルデータは、例えば、N次元の実数列として表現され、上記した質問回答記憶部31に、質問回答IDに対応する「ベクトル情報」として記憶される。
【0040】
抽出部42は、利用者の指示に応じて該当するベクトルデータを抽出する。例えば、抽出部42は、カテゴリとしてクレジットカードを指定すると、このクレジットカードの分野に関連する質問回答に対応するベクトルデータを抽出する。この場合、抽出部42は、クレジットカードの分野に関連する情報として、例えば、カード会社名、入会、退会、請求、明細などの語彙を含む質問回答に対応するベクトルデータを抽出することができる。これにより、情報提供装置10は、抽出されたベクトルデータを用いて、所定のカテゴリ(クレジットカード)に関する意味空間にマッピングされた質問回答を構成することができる。
【0041】
距離学習部43は、利用者の指示に応じて、所定のカテゴリに関する意味空間にマッピングされた質問回答のベクトルデータの距離を調整する距離学習を実行する。利用者の指示とは、例えば、質問回答の粒度および軸のばらつきを抑えるための例(教師データ)である。FAQを作成する場合、例えば、金融関係に関連するFAQでは、クレジットカードの各カード会社に関する質問回答が混在しても問題はないが、例えば、クレジットカードに関連のFAQでは、各カード会社に関する質問回答が混在すると質問回答の粒度がばらつく。また、決済方法(スマホ決済やEコマース)に関する質問回答と決済代行会社に関する質問回答とは質問回答の軸が異なる。このため、ユーザが利用しやすいFAQを提供するためには、質問回答の粒度および軸のばらつきを抑えることが有効となる。このため、距離学習部43は、意味空間にマッピングされた質問回答に距離学習を実行して、これら質問回答のベクトルデータの距離(例えば意味空間における相対的な距離)を調整することで、質問回答の粒度および軸のばらつきを抑えている。
【0042】
この距離学習では、似ているデータは意味空間において相対的に近く、似ていないデータは意味空間において相対的に遠くなるように学習させている。情報提供装置10は、例えば、マハラノビス距離学習を実行することができる。このマハラノビス距離学習を実行する際に、利用者の指示(教師データ)の一例として、A社に関するクレジットカード関連のデータ(類似データ)の組と、A社以外のカード会社(B社、C社・・・)に関するクレジットカード関連のデータ(非類似データ)の組とを用意する。距離学習部43は、これらの類似データの組と非類似データの組を用いて所定の共分散行列を学習する。そして、距離学習部43は、学習済の共分散行列により質問回答のベクトルデータを演算することで、A社に関するクレジットカード関連のデータは相対的に近く、A社以外のカード会社に関するクレジットカード関連のデータは相対的に遠くなる。このため、A社のクレジットカード関連の質問回答とA社以外のクレジットカード関連の質問回答との距離を離すことができる。
【0043】
クラスタリング処理部44は、距離学習されたベクトルデータに基づいてクラスタリング処理を実行する。クラスタリング処理部44は、ベクトルデータ間の距離(例えばコサイン距離)を考慮して、この距離の近いベクトルデータに対応する質問回答群により階層的なクラスタ形成する。クラスタリング処理の手法は、例えば、階層構造が必要であればward法や群平均法を用いることができる。また、非階層構造が必要であれば、k―means法を用いることができる。また、クラスタリング処理をする際の距離は、コサイン距離に限るものではなく、例えば、ユークリッド距離などの既存の距離を用いても良い。
【0044】
本実施形態では、クラスタリング処理部44がクラスタリング処理を実行する前に、距離学習部43が距離学習を行うことで質問回答のベクトルデータの距離が調整されているため、該質問回答の粒度や軸のばらつきを抑えた状態でクラスタリング処理をすることができる。
【0045】
FAQ作成部45は、クラスタリング処理によって形成された各クラスタについて、該クラスタに含まれる質問回答の見出しを形成してFAQを作成する。FAQ作成部45は、クラスタに含まれる質問回答の単語を分析して、特徴がある単語を用いて見出し(例えば、[A社入退会]、[A社明細]、[A社ポイント]など)をつける。この場合、FAQ作成部45は、クラスタの質問回答のテキスト情報に含まれる単語(名詞や名詞接尾辞)を抽出し、これら単語(名詞や名詞接尾辞)の頻度に基づいて特徴を抽出する。なお、FAQ作成部45は、見出しの代わりに各クラスタの中心質問回答を選択してもよい。この場合、FAQ作成部45は、各クラスタの中心点からの距離が最も近い(類似度が最も高い)質問回答を中心質問回答に選択する。
【0046】
FAQ作成部45は、作成したFAQに関する情報を、通信部20を介して、端末装置100に送信することにより、利用者にFAQ(質問回答集)を提供する。FAQの提供については、FAQ作成部45でない部分が実行してもよく、例えば、提供部を別途設けて提供部が実行する構成としてもよい。本実施形態では、所定のカテゴリに関する意味空間にマッピングされた複数の質問回答を、利用者の指示に基づいて距離学習部43が距離学習するため、質問回答の粒度や軸のばらつきを抑えることができ、FAQ作成部45は利用者の意図に沿ったFAQを作成して提供することができる。
【0047】
〔4.処理手順〕
次に、図4を用いて、本実施形態に係る情報提供装置10が実行する処理の流れの一例を説明する。図4は、本実施形態に係る処理の流れの一例を示すフローチャートである。図4に示すように、情報提供装置10は、ウェブサーバ200から受け取った質問回答をベクトルデータへ変換する前処理を行う(ステップS101)。続いて、情報提供装置10は、利用者の指示に基づくカテゴリに関連する質問回答に対応するベクトルデータを抽出する(ステップS102)。続いて、情報提供装置10は、利用者の指示に基づいて、所定のカテゴリに関する意味空間にマッピングされた複数の質問回答の距離学習を実行させる(ステップS103)。続いて、情報提供装置10は、距離学習されたベクトルデータに基づいてクラスタリングする(ステップS104)。続いて、情報提供装置10は、クラスタリングにより形成された各クラスタについて、該クラスタに含まれる質問回答の見出しを形成してFAQを作成して(ステップS105)、このFAQを利用者に提供して処理を終了する。なお、情報提供装置10は、ステップS101とステップS102とを実行する順序を入れ替えてもよい。また、ステップS101とステップS102とステップS103とを同時に実行してもよい。
【0048】
〔5.変形例〕
上述した情報提供装置10は、上記実施形態以外にも種々の異なる形態にて実施されてもよい。そこで、以下では、情報提供装置10の他の実施形態について説明する。
【0049】
〔5-1.前処理と距離学習処理との同時処理について〕
上記した実施形態では、情報提供装置10は、所定のカテゴリに関する意味空間に複数の質問回答をマッピングする前処理の後に、これら質問回答の距離学習を行う距離学習処理を行っていたが、これら前処理と距離学習処理とをほぼ同時に処理して一気に学習させることもできる。
【0050】
例えば、情報提供装置10は、端末装置100から利用者が指定するカテゴリ(検索クエリや既存の質問集合)と、利用者が指定する分け方の具体例(検索結果に基づき利用者がラベルを付ける)を取得する。情報提供装置10は、指定されたカテゴリに関する複数の質問回答を、一方の学習モデル(オートエンコーダ)を用いて、各質問回答のテキスト情報からN次元ベクトルを生成する。また、情報提供装置10は、例えば、トリプレットロスといった類似性を学習する方法により生成された他の学習モデルを用いて、ベクトル化された質問回答の距離を調整することができる。この場合、同じクラスタにしたい例は近く、別のクラスタにしたい例は遠くなるようなトリプレットロスを追加することができる。また、同じカテゴリの質問は近く、それ以外は遠くなるようなトリプレットロスを追加することもできる。
【0051】
〔5-2.その他〕
また、クラスタリング処理として、取得した質問回答のベクトルデータを、例えば、ε近傍法、k近傍法、全結合法などの手法を用いてグラフに変換した後、このグラフの連結性に注目してクラスタリングを行うスペクトラルクラスタリングを採用することもできる。このクラスタリングの際に、一度クラスタ化しやすい低次元表現に落としてからクラスタリングするため、利用者が指定する教師データにフィットするように、質問回答の軸の重みを調整することができる。
【0052】
また、上記した実施形態では、テキスト間の距離(例えばコサイン距離)に基づいて、テキストの類似度を測っているが、例えば、WordNetのような概念グラフを用いて、テキストの類似度を測ってもよい。WordNetは、所謂概念辞書であり、単語IDと概念IDとが紐づけられているため、単語は非類似でも概念が類似する上位・下位概念の単語の類似度を測ることができる。情報提供装置10は、例えば、ポワンカレ空間上で階層構造を保存するベクトルを学習する学習モデルを用いることで、テキストの類似度を測ることができる。
【0053】
〔6.効果〕
上述してきたように、情報提供装置10は、蓄積された複数の質問回答文書に対して、利用者の指示に基づく距離学習を行う距離学習部43と、距離学習された質問回答文書をクラスタリングするクラスタリング処理部44と、クラスタリングされた質問回答文書を含む各クラスタを要約してFAQを作成するFAQ作成部45と、を備えるため、質問回答の粒度や軸のばらつきを抑えることができ、利用者の意図に沿ったFAQを作成することができる。
【0054】
また、距離学習を行う前に、複数の質問回答文書をベクトル化して所定の意味空間にマッピングする前処理を実行する前処理部41を備えるため、意味空間にマッピングされた質問回答文書に対して、利用者の指示に基づく距離学習を容易に行うことができる。
【0055】
また、距離学習部43は、利用者の指示に基づいて学習された共分散行列を用いて、ベクトル化された質問回答文書を演算することにより、意味空間内で質問回答文書を移動させるため、質問回答の粒度や軸のばらつきを容易に抑えることができる。
【0056】
また、クラスタリング処理部44は、ベクトル化された複数の質問回答文書間の距離を考慮して、この距離の近いベクトルに対応する質問回答群によりクラスタを形成するため、質問回答の粒度や軸のばらつきを抑えたクラスタリングをすることができる。
【0057】
また、FAQ作成部45は、各クラスタに含まれる質問回答文書に見出しをつけるため、FAQを容易に作成することができる。
【0058】
また、前処理部41と距離学習部43は、それぞれ前処理および距離学習を同時に実行するため、利用者の指示に基づく距離学習を迅速に処理できる。
【0059】
〔7.ハードウェア構成〕
また、上述してきた実施形態に係る情報提供装置10は、例えば図5に示すような構成のコンピュータ1000によって実現される。図5は、実施形態に係る情報提供装置10の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0060】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0061】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワーク(通信ネットワーク)Nを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
【0062】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0063】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0064】
例えば、コンピュータ1000が実施形態に係る情報提供装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部40の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0065】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0066】
〔8.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0067】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、前処理部41、抽出部42、距離学習部43、クラスタリング処理部44、またはFAQ作成部45を情報提供装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、前処理部41、抽出部42、距離学習部43、クラスタリング処理部44、またはFAQ作成部45を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の情報提供装置10の機能を実現するようにしてもよい。すなわち、情報提供装置10は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【0068】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0069】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、前処理部41は、前処理手段や前処理回路に読み替えることができる。
【符号の説明】
【0070】
10 情報提供装置
20 通信部
30 記憶部
31 質問回答記憶部
32 学習モデル記憶部
40 制御部
41 前処理部
42 抽出部
43 距離学習部(学習処理部)
44 クラスタリング処理部
45 FAQ作成部
100 端末装置
図1
図2
図3
図4
図5