(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-05
(45)【発行日】2022-12-13
(54)【発明の名称】提供装置、提供方法及び提供プログラム
(51)【国際特許分類】
G06F 16/9038 20190101AFI20221206BHJP
G06F 16/908 20190101ALI20221206BHJP
【FI】
G06F16/9038
G06F16/908
(21)【出願番号】P 2017226143
(22)【出願日】2017-11-24
【審査請求日】2020-03-09
【審判番号】
【審判請求日】2022-03-07
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】増山 毅司
(72)【発明者】
【氏名】小林 隼人
【合議体】
【審判長】須田 勝巳
【審判官】山澤 宏
【審判官】篠原 功一
(56)【参考文献】
【文献】特開2010-225077(JP,A)
【文献】特開2012-216239(JP,A)
【文献】特開2013-214294(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F16/00-16/958
(57)【特許請求の範囲】
【請求項1】
ユーザの入力に基づく検索クエリを用いて、
質問文書を記憶する記憶部を検索して得られた
質問文書のうち、前記ユーザが選択した
質問文書から所定の条件を満たす文を抽出する抽出部と、
前記ユーザの入力に基づく検索クエリと前記抽出部によって抽出された文とから生成された検索クエリを用いて、前記記憶部を検索して得られた
質問文書である関連質問文書を、
閲覧数、又は前記関連質問文書に対応付けられた回答文書の数に基づいてソートして、前記ユーザが選択した
質問文書とともに提供する提供部と、
を備えることを特徴とする提供装置。
【請求項2】
前記抽出部は、前記ユーザが選択した
質問文書から、前記ユーザの入力に基づく検索クエリに含まれるキーワードと合致する語を含んだ文を抽出することを特徴とする請求項1に記載の提供装置。
【請求項3】
前記抽出部は、前記ユーザが選択した
質問文書から、含まれる語の出現頻度に基づいて文を抽出することを特徴とする請求項1又は2に記載の提供装置。
【請求項4】
前記抽出部は、前記所定の条件を満たさない文の特徴を学習したモデルを用いて、前記ユーザが選択した
質問文書から、前記モデルが学習した特徴と類似する特徴の文を除外することを特徴とする請求項1から3のいずれか1項に記載の提供装置。
【請求項5】
前記提供部は、前記抽出部によって抽出された文に対して形態素解析を行うことで得られた内容語から生成された検索クエリを用いて検索された
質問文書を提供することを特徴とする請求項1から4のいずれか1項に記載の提供装置。
【請求項6】
前記提供部は、前記抽出部によって抽出された文に含まれる語のうち、出現頻度に基づいて選択された所定の語から生成された検索クエリを用いて検索された
質問文書を提供することを特徴とする請求項1から5のいずれか1項に記載の提供装置。
【請求項7】
前記抽出部は、前記ユーザが選択した質問文書の先頭の文を抽出することを特徴とする請求項
1に記載の提供装置。
【請求項8】
コンピュータが実行する提供方法であって、
ユーザの入力に基づく検索クエリを用いて、
質問文書を記憶する記憶部を検索して得られた
質問文書のうち、前記ユーザが選択した
質問文書から所定の条件を満たす文を抽出する抽出工程と、
前記ユーザの入力に基づく検索クエリと前記抽出工程によって抽出された文とから生成された検索クエリを用いて、前記記憶部を検索して得られた
質問文書である関連質問文書を、
閲覧数、又は前記関連質問文書に対応付けられた回答文書の数に基づいてソートして、前記ユーザが選択した
質問文書とともに提供する提供工程と、
を含むことを特徴とする提供方法。
【請求項9】
ユーザの入力に基づく検索クエリを用いて、
質問文書を記憶する記憶部を検索して得られた
質問文書のうち、前記ユーザが選択した
質問文書から所定の条件を満たす文を抽出する抽出手順と、
前記ユーザの入力に基づく検索クエリと前記抽出手順によって抽出された文とから生成された検索クエリを用いて、前記記憶部を検索して得られた
質問文書である関連質問文書を、
閲覧数、又は前記関連質問文書に対応付けられた回答文書の数に基づいてソートして、前記ユーザが選択した
質問文書とともに提供する提供手順と、
をコンピュータに実行させることを特徴とする提供プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、提供装置、提供方法及び提供プログラムに関する。
【背景技術】
【0002】
従来、ユーザによって入力されたキーワードに基づいてデータベースからコンテンツ及び当該コンテンツの関連コンテンツを検索し、検索結果を提供する技術が知られている。特に、ユーザによる質問及び回答の投稿が行われるQ&Aサイトにおいて、キーワードに基づいて検索された質問及び回答とともに、関連質問を提供する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、ユーザの意図に合った適切な関連コンテンツを提供することが困難な場合がある。例えば、Q&Aサイトにおいて提供される関連質問は、検索された質問に基づくキーワードを用いて検索される場合がある。このような場合、関連質問は、検索された質問と類似した質問に過ぎない。このため、ユーザの意図に合った適切な関連コンテンツを提供することは困難である。
【0005】
本願は、上記に鑑みてなされたものであって、ユーザの意図に合った適切な関連コンテンツを提供する提供装置、提供方法及び提供プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る提供装置は、ユーザの入力に基づく検索クエリを用いて検索されたコンテンツのうち、前記ユーザが選択したコンテンツから所定の条件を満たす文を抽出する抽出部と、前記ユーザの入力に基づく検索クエリと前記抽出部によって抽出された文とから生成された検索クエリを用いて検索されたコンテンツを、前記ユーザが選択したコンテンツとともに提供する提供部と、を備えることを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、ユーザの意図に合った適切な関連コンテンツを提供することができるという効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る提供処理の一例を示す図である。
【
図2】
図2は、実施形態に係る提供システムの構成例を示す図である。
【
図3】
図3は、実施形態に係る提供装置の構成例を示す図である。
【
図4】
図4は、実施形態に係る質問情報記憶部の一例を示す図である。
【
図5】
図5は、実施形態に係る回答情報記憶部の一例を示す図である。
【
図6】
図6は、実施形態に係る検索情報記憶部の一例を示す図である。
【
図7】
図7は、実施形態に係る関連質問検索情報記憶部の一例を示す図である。
【
図8】
図8は、実施形態に係る質問文書一覧画面の一例を示す図である。
【
図9】
図9は、実施形態に係る形態素解析の一例を示す図である。
【
図10】
図10は、実施形態に係る質問文書提供画面の一例を示す図である。
【
図11】
図11は、実施形態に係る提供処理の一例を示すフローチャートである。
【
図12】
図12は、提供装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る提供装置、提供方法及び提供プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る提供装置、提供方法及び提供プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1.提供処理〕
まず、
図1を用いて、実施形態に係る提供処理の一例について説明する。
図1は、実施形態に係る提供処理の一例を示す図である。提供装置100は、例えばQ&Aサイトに関するサービスを提供する。また、ユーザU1、U2及びU3は、Q&Aサイトを利用するユーザである。
【0011】
各ユーザは、端末装置200を介して、Q&Aサイトへの質問文書及び回答文書の投稿を行うことができる。また、各ユーザは、端末装置200を介して、Q&Aサイトに投稿された質問文書を検索し、閲覧することができる。
【0012】
また、
図1に示す例においては、端末装置200を利用するユーザに応じて、端末装置200を端末装置200-1~200-3として説明する。例えば、端末装置200-1は、ユーザU1により使用される端末装置200である。また、例えば、端末装置200-2は、ユーザU2により使用される端末装置200である。また、以下では、端末装置200-1~200-3について、特に区別なく説明する場合には、端末装置200と記載する。
【0013】
なお、上記のように、「ユーザU*(*は任意の数値)」と記載した場合、そのユーザはユーザID「U*」により識別されるユーザであることを示す。例えば、「ユーザU1」と記載した場合、そのユーザはユーザID「U1」により識別されるユーザである。
【0014】
また、本稿における文章及び文書は、1つ以上の文(センテンス)を含んだテキストデータであるものとする。また、文は、句点、感嘆符、疑問符、空白等で区切られたテキストデータの範囲であるものとする。また、質問文書は、提供装置100において、質問することを意図して作成されたものとして処理される文書である。また、回答文書は、提供装置100において、質問に対して回答することを意図して作成されたものとして処理される文書である。また、1つの質問文書に複数の回答文書が対応していてもよい。
【0015】
Q&Aサイトにおいて、ユーザは、文章を入力することによって質問文書及び回答文書の投稿を行うことができる。ユーザによって入力された文章は、入力したユーザを識別するためのID等とともに、質問文書又は回答文書として提供装置100に記憶される。
【0016】
また、ユーザは、検索用のキーワードを入力することで、提供装置100に記憶されている質問文書の検索を行うことができる。このとき、提供装置100は、検索結果の質問文書及び質問文書に対応付けられた回答文書とともに、関連する質問文書をユーザに提供する。
【0017】
〔2.提供システムの構成〕
まず、
図1の説明に先立って、
図2に示す提供システム1について説明する。
図2に示すように、提供システム1は、提供装置100及び端末装置200を有する。提供装置100と端末装置200とは所定のネットワークNを介して、有線又は無線により通信可能に接続される。
図2は、実施形態に係る提供システムの構成例を示す図である。なお、
図2に示した提供システム1には、複数台の提供装置100や、複数台の端末装置200が含まれていてもよい。
【0018】
提供装置100は、ユーザにコンテンツを提供するための情報処理装置である。提供装置100は、例えば、Webサーバ、データベースサーバ等により実現される。本実施形態では、提供装置100は、Q&Aサイトに投稿された質問文書及び回答文書をコンテンツとして記憶し、また、記憶したコンテンツを提供するものとする。なお、提供装置100が提供するコンテンツは、質問文書及び回答文書に限られず、SNS(Social Networking Service)に投稿された文章、ニュースやブログの記事等であってもよい。
【0019】
端末装置200は、ユーザによって利用される情報処理装置である。端末装置200は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。
図1に示す例においては、端末装置200がユーザの利用するノート型PCである場合を示す。なお、以下では、端末装置200をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置200と読み替えることもできる。
【0020】
端末装置200は、ユーザによる操作を受け付ける。また、端末装置200は、ユーザの操作に応じて、提供装置100に種々の情報を送信する。例えば、端末装置200は、提供装置100に、ユーザによって入力された質問文書及び回答文書を送信する。
【0021】
また、端末装置200は、提供装置100から種々の情報を受信する。例えば、端末装置200は、提供装置100から質問文書及び回答文書を受信する。また、例えば、端末装置200は、提供装置100から受信した質問文書の一覧を表示する。
【0022】
ユーザ及び提供装置100によって行われる処理について説明する。まず、
図1に示すように、ユーザU1は、端末装置200-1を介して質問文書を投稿する(ステップS11)。例えば、ユーザU1は、端末装置200-1のWebブラウザに表示されているQ&Aサイトに、あらかじめ設定したIDを使ってログインし、所定の入力欄に質問文書を入力し、送信操作を行うことで質問文書の投稿を行うことができる。このとき、端末装置200-1は、ユーザU1のID及び質問文書を提供装置100に送信する。また、提供装置100は、質問文書とユーザのIDとを対応付けて記憶部120に格納する。
【0023】
例えば、提供装置100は、ユーザU1によって投稿された「製品Xと製品Yだとどちらを買うのが良いでしょうか?・・・」という質問文書をユーザのIDと対応付けて記憶部120に格納する。
【0024】
ユーザU2は、提供された質問文書に対する回答文書を投稿する(ステップS12)。例えば、まず、ユーザU2は、端末装置200-2のWebブラウザに表示されているQ&Aサイトに、あらかじめ設定したIDを使ってログインし、回答の対象の質問文書を端末装置200-2のWebブラウザに表示させる。
【0025】
そして、ユーザU2は、所定の入力欄に回答文書を入力し、送信操作を行うことで回答文書の投稿を行うことができる。このとき、端末装置200-2は、ユーザU2のID及び回答文書を提供装置100に送信する。また、提供装置100は、質問文書と回答文書とユーザのIDと、を対応付けて記憶部120に格納する。
【0026】
例えば、提供装置100は、「製品Xと製品Yだとどちらを買うのが良いでしょうか?」という質問文書に対する回答文書であって、ユーザU2によって投稿された「製品Xと製品Yとでは、耐久性に違いがあります。・・・」という回答文書をユーザのIDと対応付けて記憶部120に格納する。
【0027】
ユーザU3は、端末装置200-3を介して提供装置100に質問文書を検索するためのキーワードを入力する(ステップS13)。例えば、ユーザU3は、端末装置200-3のWebブラウザに表示されているQ&Aサイトの検索欄に1つ以上のキーワードを入力し、送信操作を行う。例えば、ユーザU3は、「製品X 製品Y 違い」というキーワードを入力する。
【0028】
そして、提供装置100は、キーワードの入力を受け付けると、キーワードから生成された検索クエリを用いて質問文書の検索を行う(ステップS14)。そして、提供装置100は、検索結果の質問文書の一覧を提供する(ステップS15)。例えば、提供装置100は、ユーザU3によって検索した質問文書を端末装置200-3のWebブラウザに一覧表示させることで質問文書の一覧を提供することができる。また、このとき、提供装置100は、検索に用いられた検索クエリを後述する
図3の検索情報記憶部123に格納する。検索クエリは、入力されたキーワードそのものであってもよいし、入力されたキーワードが所定の方法で変換されたものであってもよい。
【0029】
ここで、ユーザU3は、提供された質問文書の一覧の中から質問文書を選択する(ステップS16)。例えば、端末装置200-3に表示されている質問文書の一覧のうちのいずれかにカーソルを当て、クリックすることで質問文書を選択することができる。このとき、端末装置200-3は、ユーザU3によって選択された質問文書を特定するための情報を提供装置100に送信する。
【0030】
そして、提供装置100は、選択された質問文書に対応する回答文書を取得する(ステップS17)。例えば、ユーザU3によって「製品Xと製品Yだとどちらを買うのが良いでしょうか?・・・」という質問文書が選択された場合、提供装置100は、選択された質問文書に対応付けられた「製品Xと製品Yとでは、耐久性に違いがあります。・・・」という回答文書を取得する。
【0031】
また、提供装置100は、キーワードから生成された検索クエリ及びユーザが選択した質問文書から抽出したキーセンテンスを用いて関連質問文書を検索する(ステップS18)。キーセンテンスは、質問文書に含まれる文のうち、重要と考えられる文である。キーセンテンスは、質問文書の先頭の文であってもよいし、IDF(Inverse Document Frequency)等の指標に基づいて抽出された文であってもよい。
【0032】
例えば、提供装置100は、検索クエリ「“製品X”+“製品Y”+“違い”」及びキーセンテンス「製品Xと製品Yだとどちらを買うのが良いでしょうか?」から、「“製品X”+“製品Y”+(“違い” or “どちら” or “買う” or “良い”)」という検索クエリを生成し、関連質問文書を検索する。
【0033】
例えば、提供装置100は、関連質問文書として、「製品X及び製品Yのそれぞれについて、良い点と悪い点を教えてください。」及び「皆さんは製品Xと製品Yのどちらを買いましたか?」という質問文書を関連質問文書の検索結果として取得する。
【0034】
そして、提供装置100は、選択された質問文書とともに、回答文書と関連質問文書を、端末装置200-3を介してユーザU3に提供する(ステップS19)。このとき、提供装置100は、端末装置200-3の質問文書提供画面220に各質問文書を表示させる。
【0035】
例えば、質問文書提供画面220には、選択された質問文書「製品Xと製品Yだとどちらを買うのが良いでしょうか?・・・」が表示される。また、例えば、質問文書提供画面220には、回答文書「製品Xと製品Yとでは、耐久性に違いがあります。・・・」が表示される。また、例えば、質問文書提供画面220には、関連質問文書「製品X及び製品Yのそれぞれについて、良い点と悪い点を教えてください。」及び「皆さんは製品Xと製品Yのどちらを買いましたか?」が表示される。また、例えば、質問文書提供画面220には、ユーザが入力したキーワード「製品X 製品Y 違い」が表示される。
【0036】
〔3.提供装置の構成〕
次に、
図3を用いて、実施形態に係る提供装置100の構成について説明する。
図3は、実施形態に係る提供装置100の構成例を示す図である。
図3に示すように、提供装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、提供装置100は、提供装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0037】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線又は無線で接続され、端末装置200との間で情報の送受信を行う。
【0038】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、
図3に示すように、質問情報記憶部121と、回答情報記憶部122と、検索情報記憶部123と、関連質問検索情報記憶部124とを有する。
【0039】
(質問情報記憶部121)
質問情報記憶部121は、質問文書に関する情報を記憶する。
図4は、実施形態に係る質問情報記憶部の一例を示す図である。
図4に示すように、質問情報記憶部121には、「質問ID」、「ユーザID」及び「質問文書」といった項目が含まれる。
【0040】
質問情報記憶部121の「質問ID」は、質問文書を識別するための情報である。また、質問情報記憶部121の「ユーザID」は、質問文書を投稿したユーザを識別するための情報である。また、質問情報記憶部121の「質問文書」は、投稿された質問文書のテキストデータである。
【0041】
例えば、質問情報記憶部121の質問IDが「Q1」である質問文書は、ユーザIDが「U1」であるユーザによって投稿された、「製品Xと製品Yだとどちらを買うのが良いでしょうか?どのような違いがあるのでしょうか。どちらを買うとしても予算は足りています。いずれもW社から発売されていて外見も類似しています。」という質問文書である。
【0042】
(回答情報記憶部122)
回答情報記憶部122は、回答文書に関する情報を記憶する。
図5は、実施形態に係る回答情報記憶部の一例を示す図である。
図5に示すように、回答情報記憶部122には、「回答ID」、「質問ID」、「ユーザID」及び「回答文書」といった項目が含まれる。
【0043】
回答情報記憶部122の「回答ID」は、回答文書を識別するための情報である。また、回答情報記憶部122の「質問ID」は、回答文書がどの質問文書に対して投稿されたものであるかを識別するための情報である。また、回答情報記憶部122の「ユーザID」は、回答文書を投稿したユーザを識別するための情報である。また、回答情報記憶部122の「回答文書」は、投稿された回答文書のテキストデータである。
【0044】
例えば、回答情報記憶部122の回答IDが「A1」である回答文書は、ユーザIDが「U2」であるユーザによって、質問IDが「Q1」である質問文書に対して投稿された、「製品Xと製品Yとでは、耐久性に違いがあります。製品Xの方が耐久性が高くおすすめです。」という回答文書である。
【0045】
(検索情報記憶部123)
検索情報記憶部123は、質問文書の検索に関する情報を記憶する。
図6は、実施形態に係る検索情報記憶部の一例を示す図である。
図6に示すように、検索情報記憶部123には、「検索ID」、「ユーザID」、「検索クエリ」及び「質問ID」といった項目が含まれる。
【0046】
検索情報記憶部123の「検索ID」は、検索を識別するための情報である。また、検索情報記憶部123の「ユーザID」は、検索を要求したユーザを識別するための情報である。また、検索情報記憶部123の「検索クエリ」は、質問文書の検索に用いられた検索クエリである。また、検索情報記憶部123の「質問ID」は、検索された質問を識別するための情報である。
【0047】
例えば、検索情報記憶部123の検索IDが「S1」である検索は、ユーザIDが「U3」であるユーザによって要求されたものであり、検索クエリは「“製品X”+”製品Y”+”違い”」である。また、検索IDが「S1」である検索によって、質問IDが「Q1」、「Q2」及び「Q3」の3つの質問文書が検索された。
【0048】
ここで、検索クエリ「“製品X”+“製品Y”+“違い”」は、「“製品X”、“製品Y”、“違い”の3つを全て含む文書」という条件を示している。また、検索クエリは、ユーザによって入力されたものであってもよいし、ユーザによって入力された1つ以上のキーワードを含んだテキストが変換されたものであってもよい。例えば、検索クエリ「“製品X”+“製品Y”+“違い”」は、「製品X 製品Y 違い」というテキストが変換されたものであってもよい。
【0049】
(関連質問検索情報記憶部124)
関連質問検索情報記憶部124は、関連質問文書の検索に関する情報を記憶する。
図7は、実施形態に係る関連質問検索情報記憶部の一例を示す図である。
図7に示すように、関連質問検索情報記憶部124には、「検索ID」、「質問ID」、「キーセンテンス」及び「検索クエリ」といった項目が含まれる。
【0050】
関連質問検索情報記憶部124の「検索ID」は、検索元質問文書が検索された検索を識別するための情報である。また、関連質問検索情報記憶部124の「質問ID」は、関連質問文書の検索に用いられる検索元質問文書を識別するための情報である。また、関連質問検索情報記憶部124の「キーセンテンス」は、検索クエリの生成に用いられる文である。また、関連質問検索情報記憶部124の「検索クエリ」は、関連質問文書の検索に用いられる検索クエリである。
【0051】
例えば、関連質問検索情報記憶部124は、検索IDが「S1」である検索元質問文書の検索結果から、質問IDが「Q1」である質問文書が選択された場合のキーセンテンスが「製品Xと製品Yだとどちらを買うのが良いでしょうか?」であり、関連質問文書の検索のために生成された検索クエリが「“製品X”+“製品Y”+(“違い” or “どちら” or “買う” or “良い”)」であったことを示している。
【0052】
質問情報記憶部121、回答情報記憶部122、検索情報記憶部123及び関連質問検索情報記憶部124が記憶する情報は、これまで説明したものに限られない。例えば、各記憶部は、各情報が格納された日時を記憶してもよい。
【0053】
(制御部130)
図3の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、提供装置100内部の記憶装置に記憶されている各種プログラム(提供プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0054】
図3に示すように、制御部130は、取得部131と、検索部132と、抽出部133と、生成部134と、提供部135とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。なお、制御部130の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0055】
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、質問情報記憶部121、回答情報記憶部122、検索情報記憶部123及び関連質問検索情報記憶部124等から各種情報を取得する。また、取得部131は、各種情報を外部の情報処理装置から取得してもよい。また、取得部131は、各種情報を端末装置200から取得してもよい。また、取得部131は、記憶部120に記憶された情報を必要に応じて取得し、各処理部に受け渡すことができる。
【0056】
取得部131は、ユーザによって投稿された質問文書を取得し、質問情報記憶部121に格納する。例えば、取得部131は、ユーザIDが「U1」であるユーザによって投稿された「製品Xと製品Yだとどちらを買うのが良いでしょうか?どのような違いがあるのでしょうか。どちらを買うとしても予算は足りています。いずれもW社から発売されていて外見も類似しています。」という質問文書を取得し、取得した質問文書に質質問ID「Q1」を付与して質問情報記憶部121に格納する。
【0057】
また、取得部131は、ユーザによって投稿された回答文書を取得し、回答情報記憶部122に格納する。例えば、取得部131は、ユーザIDが「U2」であるユーザによって、質問IDが「Q1」である質問文書に対して投稿された「製品Xと製品Yとでは、耐久性に違いがあります。製品Xの方が耐久性が高くおすすめです。」という回答文書を取得し、取得した回答文書に回答ID「A1」を付与して回答情報記憶部122に格納する。
【0058】
また、取得部131は、ユーザによって行われた検索に関する情報を検索情報記憶部123に格納する。例えば、取得部131は、ユーザIDが「U3」であるユーザによって、「“製品X”+“製品Y”+“違い”」という検索クエリを用いた質問文書の検索が行われた場合、当該検索クエリに検索ID「S1」を付与して検索情報記憶部123に格納する。
【0059】
(検索部132)
検索部132は、質問文書を検索する。検索部132は、検索クエリを用いて質問情報記憶部121を検索する。また、検索部132は、検索の結果得られた質問文書の質問IDを、検索情報記憶部123に格納する。
【0060】
例えば、検索クエリが「“製品X”+“製品Y”+“違い”」である場合、検索部132は、「製品X」、「製品Y」及び「違い」という語が含まれる質問文書を検索する。例えば、
図4及び
図5に示すように、質問IDが「Q1」である質問文書には、「製品X」、「製品Y」及び「違い」という語が含まれているため、検索部132は、質問ID「Q1」を検索結果として検索情報記憶部123に格納する。同様に、検索部132は、質問ID「Q2」及び「Q3」を検索情報記憶部123に格納する。
【0061】
また、例えば、検索クエリが「“製品X”+“製品Y”+(“違い” or “どちら” or “買う” or “良い”)」である場合、検索部132は、質問文書の中に、「製品X」、「製品Y」という語が含まれ、さらに、「違い」、「どちら」、「買う」及び「良い」という語の少なくともいずれか含まれる質問文書を検索する。この場合、検索部132は、質問IDが「Q4」及び「Q5」である質問文書を検索する。
【0062】
(抽出部133)
抽出部133は、ユーザの入力に基づく検索クエリを用いて検索された質問文書のうち、ユーザが選択した質問文書から所定の条件を満たす文を抽出する。なお、質問文書及び回答文書は、コンテンツの一例である。質問文書及び回答文書は、コンテンツと読み替えることができる。また、以降の説明で、抽出部133によって抽出された文をキーセンテンスと呼ぶ場合がある。また、抽出部133は、抽出したキーセンテンスを関連質問検索情報記憶部124に格納する。
【0063】
ここで、ユーザによる質問文書の選択について
図8を用いて説明する。
図8は、実施形態に係る質問文書一覧画面の一例を示す図である。質問文書一覧画面210は、端末装置200の表示部に表示される画面である。
【0064】
図8に示すように、ユーザは、検索窓211に「製品X 製品Y 違い」を入力した後、検索ボタン212をクリックする。そして、検索部132は、ユーザによって入力された「製品X 製品Y 違い」に基づく検索クエリ「“製品X”+“製品Y”+“違い”」を用いて質問文書を検索する。
【0065】
そして、質問文書一覧画面210には、検索部132の検索の結果得られた質問文書が一覧表示される。
図8の質問文書一覧画面210には、質問IDが「Q1」、「Q2」及び「Q3」である質問文書が上から順に表示されている。ここで、ユーザは、領域213にカーソルを当てクリックすることで質問IDが「Q1」である質問を選択する。
【0066】
このとき、まず、ユーザは、「製品X」、「製品Y」及び「違い」というキーワードで検索を行うことにより、所望する情報が得られると考えたと推定される。さらに、複数の質問文書の中から質問IDが「Q1」である質問を選択したことから、質問IDが「Q1」である質問文書が、ユーザの所望する情報に近いと考えたことが推定される。
【0067】
これより、ユーザが入力したキーワード及び選択した質問文書の2つの情報は、ユーザの意図を反映したものであると考えられる。このため、本実施形態では、ユーザが入力したキーワード及び選択した質問文書の2つの情報を基に関連質問文書を検索し提供する。
【0068】
ここで、
図8の例を用いて、抽出部133によるキーセンテンスの抽出方法の具体例を説明する。抽出部133は、例えば、ユーザが選択した質問文書から、ユーザの入力に基づく検索クエリに含まれるキーワードと合致する語を含んだ文をキーセンテンスとして抽出することができる。
【0069】
ここで、
図8でユーザによって選択された質問文書には、「製品Xと製品Yだとどちらを買うのが良いでしょうか?」、「どのような違いがあるのでしょうか。」、「どちらを買うとしても予算は足りています。」及び「いずれもW社から発売されていて外見も類似しています。」の4つの文が含まれている。
【0070】
4つの文のうち、検索クエリに含まれるキーワード「製品X」、「製品Y」及び「違い」の少なくともいずれかと合致する語が含まれている文は、「製品Xと製品Yだとどちらを買うのが良いでしょうか?」及び「どのような違いがあるのでしょうか。」である。このため、抽出部133は、「製品Xと製品Yだとどちらを買うのが良いでしょうか?」及び「どのような違いがあるのでしょうか。」をキーセンテンスとして抽出することができる。
【0071】
また、抽出部133は、ユーザが選択した質問文書から、含まれる語の出現頻度に基づいて文を抽出することができる。抽出部133は、出現頻度としてIDFを用いることができる。抽出部133は、以下の式(1)によりIDFを計算することができる。
IDF=log(|D|/|{d:d∋t}|) ・・・ (1)
ただし、tは、計算対象の語である。また、|D|は質問情報記憶部121に含まれる質問文書数である。また、|{d:d∋t}|は、語tを含む文書数である。
【0072】
例えば、抽出部133は、文に含まれる語ごとのIDFを計算し、IDFの平均値が最も大きい文を抽出することができる。また、抽出部133は、各文の語のうちIDFが閾値以上である語の割合が最も大きい文をキーセンテンスとして抽出することができる。
【0073】
また、抽出部133は、所定の条件を満たさない文の特徴を学習したモデルを用いて、ユーザが選択した質問文書から、モデルが学習した特徴と類似する特徴の文を除外する。例えば、この方法は、あらかじめ重要度が低いと考えられる文を人手によってラベリングしたものを教師データとし、当該教師データの特徴をモデルに学習させることで実現できる。
【0074】
また、抽出部133は、ユーザが選択した質問文書の先頭の文をキーセンテンスとして抽出することができる。これは、特に質問することを意図して作成された文章においては、重要な文が文頭に配置されることが多いためである。例えば、「製品Xと製品Yだとどちらを買うのが良いでしょうか?どのような違いがあるのでしょうか。どちらを買うとしても予算は足りています。いずれもW社から発売されていて外見も類似しています。」という質問文書の文のうち、「製品Xと製品Yだとどちらを買うのが良いでしょうか?」が最も質問の意図を反映しており、その後に続く3文はいずれも補足説明のための文であるといえる。
【0075】
(生成部134)
生成部134は、ユーザの入力に基づく検索クエリと抽出部133によって抽出された文とから、関連質問文書を検索するための検索クエリを生成する。生成部134は、生成した検索クエリを、関連質問検索情報記憶部124に格納する。ここでは、ユーザの入力に基づく検索クエリは「“製品X”+“製品Y”+“違い”」であるものとする。また、抽出部133によって抽出されたキーセンテンスは、「製品Xと製品Yだとどちらを買うのが良いでしょうか?」であるものとする。
【0076】
生成部134は、ユーザの入力に基づく検索クエリ及び抽出部133によって抽出されたキーセンテンスに対して形態素解析を行うことで得られた内容語から関連質問文書を検索するための検索クエリを生成することができる。
【0077】
ここで、
図9を用いて、生成部134が形態素解析を行うことが内容語を得る方法について説明する。
図9は、実施形態に係る形態素解析の一例を示す図である。
図9に示すように、「製品Xと製品Yだとどちらを買うのが良いでしょうか?」に対して形態素解析を行うと、例えば、内容語として名詞「製品X」、名詞「製品Y」、名詞「どちら」、動詞「買う」、形容詞「良い」が抽出される。
【0078】
このとき、生成部134は、検索クエリに含まれるキーワード「製品X」、「製品Y」及び「違い」に、形態素解析によって抽出された内容語「どちら」、「買う」及び「良い」を加え、「“製品X”+“製品Y”+“違い”+“どちら”+“買う”+“良い”」という検索クエリを生成することができる。また、生成部134は、動詞「買う」と活用形が異なる「買わ」や「買い」等を用いて検索クエリを生成してもよい。
【0079】
また、生成部134は、ユーザの入力に基づく検索クエリと形態素解析で得られた内容語の両方に含まれる語を特に重要な語とみなし、「“製品X”+“製品Y”+(“違い” or “どちら” or “買う” or “良い”)」という検索クエリを生成してもよい。検索クエリ「“製品X”+“製品Y”+(“違い” or “どちら” or “買う” or “良い”)」は、「“製品X”及び”製品Y”の両方を含み、かつ、“違い”、“どちら”、“買う”及び“良い”の4つのうち少なくとも1つを含む文書」という条件を示している。
【0080】
また、生成部134は、ユーザの入力に基づく検索クエリ及び抽出部133によって抽出されたキーセンテンスに含まれる語のうち、出現頻度に基づいて選択された所定の語から関連質問文書を検索するための検索クエリを生成することができる。生成部134は、出現頻度としてIDFを用いることができる。
【0081】
例えば、生成部134は、IDFが大きい順に語をソートし、上位の所定数の語から検索クエリを生成することができる。また、IDFの大きさが上位の所定数の語のうち、IDFが閾値以上の語をAND条件にとし、他の語をOR条件とすることができる。つまり、生成部134は、「“製品X”+“製品Y”+(“違い” or “どちら” or “買う” or “良い”)」という検索クエリを生成することができる。これは、「製品X」及び「製品Y」のような固有名詞は、IDFが大きくなることが考えられ、また、ユーザの意図を強く反映していることが考えられるためである。
【0082】
(提供部135)
提供部135は、ユーザの入力に基づく検索クエリと抽出部133によって抽出されたキーセンテンスとから生成された検索クエリを用いて検索された関連質問文書を、ユーザが選択した質問文書とともに提供する。
【0083】
検索部132は、生成部134によって生成された関連質問文書を検索するための検索クエリを用いて、質問情報記憶部121を検索する。提供部135は、検索部132によって検索された関連質問文書を、質問文書提供画面220を介して提供する。
【0084】
ここで、関連質問文書の提供について
図10を用いて説明する。
図10は、実施形態に係る質問文書提供画面の一例を示す図である。質問文書提供画面220は、端末装置200の表示部に表示される画面である。
【0085】
図10に示すように、質問文書提供画面220には、検索窓221及び検索ボタン222が表示される。検索窓221及び検索ボタン222の機能は、質問文書一覧画面210の検索窓211及び検索ボタン212と同様である。
【0086】
質問文書表示領域223には、ユーザが選択した質問文書が表示される。また、回答文書表示領域224には、ユーザが選択した質問文書に対応する回答文書が表示される。また、関連質問文書表示領域225には、検索部132によって検索された関連質問文書の一覧が表示される。
【0087】
また、提供部135は、関連質問文書を、閲覧数、対応する回答文書の数、及びユーザが選択した質問文書との類似度のうち少なくともいずれかに基づいてソートして提供する。例えば、提供部135は、関連質問文書表示領域225において、閲覧数の多いものほど上側になるように関連質問文書を配置する。
【0088】
また、関連質問文書表示領域225に表示されている関連質問文書のいずれかがクリックされると、提供部135は、質問文書提供画面220を介して、クリックされた関連質問文書及び当該関連質問文書に対応する回答質問文書を提供する。
【0089】
また、提供部135が提供する質問文書は、生成部134による検索クエリの生成方法に応じて決定される。つまり、提供部135は、抽出部133によって抽出されたキーセンテンスに対して形態素解析を行うことで得られた内容語から生成された検索クエリを用いて検索された質問文書を提供することができる。また、提供部135は、抽出部133によって抽出されたキーセンテンスに含まれる語のうち、出現頻度に基づいて選択された所定の語から生成された検索クエリを用いて検索された質問文書を提供することができる。
【0090】
〔4.提供処理のフロー〕
次に、
図11を用いて、実施形態に係る提供システム1による提供処理の手順について説明する。
図11は、実施形態に係る提供処理の一例を示すフローチャートである。
【0091】
図11に示すように、まず、提供装置100は、ユーザの入力に基づく検索クエリを用いて質問文書を検索する(ステップS101)。次に、端末装置200は、検索された質問文書の一覧を表示する(ステップS102)。提供装置100は、ユーザによって質問文書が選択されるまで待機する(ステップS103、No)。
【0092】
そして、ユーザによって質問文書が選択されると(ステップS103、Yes)、提供装置100は、選択された質問文書に対応する回答文書を取得する(ステップS104)。このとき、提供装置100は、選択された質問文書からキーセンテンスを抽出する(ステップS105)。さらに、提供装置100は、ユーザの入力に基づく検索クエリ及びキーセンテンスから、関連質問文書を検索するための検索クエリを生成する(ステップS106)。
【0093】
次に、提供装置100は、生成された検索クエリを用いて関連質問文書を検索する(ステップS107)。そして、提供装置100は、選択された質問文書、選択された質問文書の回答文書、及び関連質問文書の一覧を提供する(ステップS108)。このとき、端末装置200は、提供装置100によって提供される情報を表示する。
【0094】
〔5.効果〕
上述してきたように、実施形態に係る提供装置100は、抽出部133及び提供部135を有する。抽出部133は、ユーザの入力に基づく検索クエリを用いて検索されたコンテンツのうち、ユーザが選択したコンテンツから所定の条件を満たす文を抽出する。また、提供部135は、ユーザの入力に基づく検索クエリと抽出部133によって抽出された文とから生成された検索クエリを用いて検索されたコンテンツを、ユーザが選択したコンテンツとともに提供する。
【0095】
このように、実施形態に係る提供装置100は、ユーザの入力に基づく検索クエリ及びユーザによって選択されたコンテンツとの両方を考慮した関連コンテンツの検索を行うことにより、ユーザの意図に合った適切な関連コンテンツを提供することができる。
【0096】
また、実施形態に係る提供装置100において、抽出部133は、ユーザが選択したコンテンツから、ユーザの入力に基づく検索クエリに含まれるキーワードと合致する語を含んだ文を抽出する。
【0097】
このように、実施形態に係る提供装置100は、ユーザの入力したキーワードを含んだ文をキーセンテンスとして抽出することにより、関連コンテンツの検索結果にユーザの意図をより強く反映させることができる。
【0098】
また、実施形態に係る提供装置100において、抽出部133は、ユーザが選択したコンテンツから、含まれる語の出現頻度に基づいて文を抽出する。
【0099】
このように、実施形態に係る提供装置100は、語の出現頻度を考慮してキーセンテンスを抽出することにより、よりよりユーザの意図に合った関連コンテンツを検索することができる。
【0100】
また、実施形態に係る提供装置100において、抽出部133は、所定の条件を満たさない文の特徴を学習したモデルを用いて、ユーザが選択したコンテンツから、モデルが学習した特徴と類似する特徴の文を除外する。
【0101】
このように、実施形態に係る提供装置100は、モデルに特徴を学習させることにより、キーセンテンスの抽出を効率化し、また、精度を向上させることができる。
【0102】
また、実施形態に係る提供装置100において、提供部135は、抽出部133によって抽出された文に対して形態素解析を行うことで得られた内容語から生成された検索クエリを用いて検索されたコンテンツを提供する。
【0103】
このように、実施形態に係る提供装置100は、形態素解析を行うことにより、よりユーザの意図に合った関連コンテンツを検索することができる。
【0104】
また、実施形態に係る提供装置100において、提供部135は、抽出部133によって抽出された文に含まれる語のうち、出現頻度に基づいて選択された所定の語から生成された検索クエリを用いて検索されたコンテンツを提供する。
【0105】
このように、実施形態に係る提供装置100は、語の出現頻度を考慮して検索クエリを生成することにより、よりよりユーザの意図に合った関連コンテンツを検索することができる。
【0106】
また、実施形態に係る提供装置100において、抽出部133は、ユーザの入力に基づく検索クエリを用いて検索された質問文書のうち、ユーザが選択した質問文書から所定の条件を満たす文を抽出する。また、提供部135は、ユーザの入力に基づく検索クエリと抽出部133によって抽出された文とから生成された検索クエリを用いて検索された質問文書である関連質問文書を、ユーザが選択した質問文書とともに提供する。
【0107】
このように、実施形態に係る提供装置100は、関連質問文書を提供することにより、ユーザが知りたいと考えている情報をより的確に提供することができる。
【0108】
また、実施形態に係る提供装置100において、抽出部133は、ユーザが選択した質問文書の先頭の文を抽出する。
【0109】
このように、実施形態に係る提供装置100は、質問文書の先頭の文をキーセンテンスとして抽出することにより、効率良くキーセンテンスを抽出することができる。
【0110】
また、実施形態に係る提供装置100において、提供部135は、関連質問文書を、閲覧数、対応する回答文書の数、及びユーザが選択した質問文書との類似度のうち少なくともいずれかに基づいてソートして提供する。
【0111】
このように、実施形態に係る提供装置100は、所定の情報に基づいてソートすることにより、ユーザの情報へのアクセスを効率化することができる。
【0112】
〔6.ハードウェア構成〕
上述してきた実施形態に係る提供装置100は、例えば
図12に示すような構成のコンピュータ1000によって実現される。
図12は、提供装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0113】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0114】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
【0115】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0116】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等である。
【0117】
例えば、コンピュータ1000が実施形態に係る提供装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラム又はデータ(例えば、モデルM1(各モデルデータMDT11~MDT13等))を実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラム又はデータ(例えば、モデルM1(各モデルデータMDT11~MDT13等))を記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0118】
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0119】
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0120】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0121】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0122】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0123】
1 提供システム
100 提供装置
110 通信部
120 記憶部
121 質問情報記憶部
122 回答情報記憶部
123 検索情報記憶部
124 関連質問検索情報記憶部
130 制御部
131 取得部
132 検索部
133 抽出部
134 生成部
135 提供部
200 端末装置
N ネットワーク