(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-17
(45)【発行日】2023-01-25
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
G06F 16/903 20190101AFI20230118BHJP
【FI】
G06F16/903
(21)【出願番号】P 2020154993
(22)【出願日】2020-09-15
【審査請求日】2021-08-19
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鍜治 伸裕
(72)【発明者】
【氏名】坪内 孝太
(72)【発明者】
【氏名】田口 拓明
【審査官】早川 学
(56)【参考文献】
【文献】特開2013-109701(JP,A)
【文献】米国特許出願公開第2011/0208708(US,A1)
【文献】米国特許出願公開第2010/0228763(US,A1)
【文献】米国特許第09342600(US,B1)
【文献】米国特許出願公開第2009/0299964(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得部と、
前記取得部により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定部と、
を備え
、
前記推定部は、
前記経過時間の前記ばらつき度合いが閾値以上である場合、前記第1クエリと前記第2クエリとの関係性が低いと推定する
ことを特徴とする情報処理装置。
【請求項2】
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得部と、
前記取得部により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定部と、
を備え
、
前記推定部は、
前記経過時間の前記ばらつき度合い
が閾値以上である場合、前記第1クエリが前記第2クエリとは異なる意味を示す単語であると推定する
ことを特徴とす
る情報処理装置。
【請求項3】
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得部と、
前記取得部により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定部と、
を備え
、
前記推定部は、
前記経過時間の前記ばらつき度合い
が閾値未満である場合、前記第1クエリと前記第2クエリとの関係性が高いと推定する
ことを特徴とす
る情報処理装置。
【請求項4】
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得部と、
前記取得部により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定部と、
を備え
、
前記推定部は、
前記経過時間の前記ばらつき度合い
が閾値未満である場合、前記第1クエリが前記第2クエリの誤記であると推定する
ことを特徴とす
る情報処理装置。
【請求項5】
前記推定部は、
前記経過時間の標準偏差を、前記経過時間の前記ばらつき度合いとして用いて、前記第1クエリと前記第2クエリとの間の関係性を推定する
ことを特徴とする請求項1
~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記推定部は、
前記経過時間の中央値
が他の閾値以上の場合、前記第1クエリと前記第2クエリとの間の関係性
が低いと推定し、前記経過時間の中央値が前記他の閾値未満の場合、前記第1クエリと前記第2クエリとの間の関係性が高いと推定する
ことを特徴とする請求項1~
5のいずれか1項に記載の情報処理装置。
【請求項7】
前記推定部は、
前記経過時間の中央値の
増加率が所定の値以上である場合、前記第1クエリと前記第2クエリとの間の関係性
が低いと推定し、前記経過時間の中央値の増加率が前記所定の値以未満である場合、前記第1クエリと前記第2クエリとの間の関係性が高いと推定する
ことを特徴とする請求項
6に記載の情報処理装置。
【請求項8】
コンピュータが実行する情報処理方法であって、
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得工程と、
前記取得工程により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定工程と、
を含
み、
前記推定工程は、
前記経過時間の前記ばらつき度合いが閾値以上である場合、前記第1クエリと前記第2クエリとの関係性が低いと推定する
ことを特徴とする情報処理方法。
【請求項9】
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得手順と、
前記取得手順により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定手順と、
をコンピュータに実行させ
、
前記推定手順は、
前記経過時間の前記ばらつき度合いが閾値以上である場合、前記第1クエリと前記第2クエリとの関係性が低いと推定する
ことを特徴とする情報処理プログラム。
【請求項10】
コンピュータが実行する情報処理方法であって、
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得工程と、
前記取得工程により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定工程と、
を含み、
前記推定工程は、
前記経過時間の前記ばらつき度合いが閾値以上である場合、前記第1クエリが前記第2クエリとは異なる意味を示す単語であると推定する
ことを特徴とする情報処理方法。
【請求項11】
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得手順と、
前記取得手順により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定手順と、
をコンピュータに実行させ、
前記推定手順は、
前記経過時間の前記ばらつき度合いが閾値以上である場合、前記第1クエリが前記第2クエリとは異なる意味を示す単語であると推定する
ことを特徴とする情報処理プログラム。
【請求項12】
コンピュータが実行する情報処理方法であって、
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得工程と、
前記取得工程により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定工程と、
を含み、
前記推定工程は、
前記経過時間の前記ばらつき度合いが閾値未満である場合、前記第1クエリと前記第2クエリとの関係性が高いと推定する
ことを特徴とする情報処理方法。
【請求項13】
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得手順と、
前記取得手順により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定手順と、
をコンピュータに実行させ、
前記推定手順は、
前記経過時間の前記ばらつき度合いが閾値未満である場合、前記第1クエリと前記第2クエリとの関係性が高いと推定する
ことを特徴とする情報処理プログラム。
【請求項14】
コンピュータが実行する情報処理方法であって、
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得工程と、
前記取得工程により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定工程と、
を含み、
前記推定工程は、
前記経過時間の前記ばらつき度合いが閾値未満である場合、前記第1クエリが前記第2クエリの誤記であると推定する
ことを特徴とする情報処理方法。
【請求項15】
ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得手順と、
前記取得手順により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定手順と、
をコンピュータに実行させ、
前記推定手順は、
前記経過時間の前記ばらつき度合いが閾値未満である場合、前記第1クエリが前記第2クエリの誤記であると推定する
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
ユーザが入力した文字列であるクエリに対して様々の情報の検索サービスを行うための技術が提供されている。そのような検索サービスにおいては、ユーザが入力したクエリに誤記が含まれる場合等において、その誤記を変換した上で検索結果をユーザに提供する技術が提供されている(例えば特許文献1等)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、ユーザが望んだ検索となっていない場合がある。例えば、従来技術では第1文字列とその第1文字列の誤記として入力され得る第2文字列とを対応付けた辞書を用いて、文字列を変換しているに過ぎない。そのため、ユーザが変換前の第2文字列をクエリとして用いて検索を行うことを望んでいる場合には対応することが難しい。そのため、クエリ間の関係性を適切に推定することが望まれている。
【0005】
本願は、上記に鑑みてなされたものであって、クエリ間の関係性を適切に推定する情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、前記ユーザに前記第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、前記ユーザにより前記第2クエリの前記検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する取得部と、前記取得部により取得された前記履歴情報が示す前記経過時間のばらつき度合いに基づいて、前記第1クエリと前記第2クエリとの間の関係性を推定する推定部と、を備えたことを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、クエリ間の関係性を適切に推定することができるという効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理システムによる処理の一例を示す図である。
【
図2】
図2は、実施形態に係る情報処理装置の構成例を示す図である。
【
図3】
図3は、実施形態に係る履歴情報記憶部の一例を示す図である。
【
図4】
図4は、実施形態に係る推定情報記憶部の一例を示す図である。
【
図5】
図5は、実施形態に係る端末装置の構成例を示す図である。
【
図6】
図6は、実施形態に係る情報処理装置による処理の一例を示すフローチャートである。
【
図7】
図7は、実施形態に係る端末装置による処理の一例を示すフローチャートである。
【
図8】
図8は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1.情報処理〕
図1を用いて、実施形態に係る情報処理の一例について説明する。
図1は、実施形態に係る情報処理システムによる処理の一例を示す図である。
【0011】
まず、情報処理システム1の構成について説明する。
図1に示すように、情報処理システム1は、端末装置10と、情報処理装置100とが含まれる。端末装置10と、情報処理装置100とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。なお、
図1に示した情報処理システム1には、複数台の端末装置10や、複数台の情報処理装置100が含まれてもよい。
【0012】
情報処理装置100は、ユーザにより入力されたクエリによる検索の要求から、そのクエリとは異なるクエリの情報を提供して、ユーザがその情報を選択するまでの経過時間を示す履歴情報を用いて、経過時間のばらつき度合いに基づいて、クエリ間の関係性を推定する情報処理装置である。以下では、ユーザが入力したクエリを第1クエリと記載し、第1クエリと異なるクエリ(文字列)であり、ユーザに情報を提供するクエリを第2クエリと記載する場合がある。例えば、第2クエリは、良く知られている対象を示す文字列であり、第1クエリは、第2クエリの誤記である。第1クエリは、第2クエリと同じ読みであるが、漢字、仮名、カタカナの組合せが第2クエリと異なる文字列である。第1クエリは、第2クエリがもしかして検索の対象として表示されるクエリであってもよい。
【0013】
図1では、情報処理装置100は、クエリを入力したユーザが利用する端末装置10に、検索結果を提供する検索装置としても機能する。例えば、情報処理装置100は、ウェブページの対象として検索処理を実行する検索エンジンとしての機能を有する。なお、クエリを用いて検索を行う点は通常の検索エンジンと同様であるため、適宜詳細な説明を省略する。例えば、情報処理装置100は、クエリを用いた検索処理の対象となる対象情報群であるウェブページ群が、インデックスされて格納されたデータベースを有し、そのデータベースの情報を対象として検索処理を実行する。なお、検索される対象は、ウェブページに限らず、クエリを用いて検索可能であれば、どのような情報であってもよく、例えば電子商取引における商品等の取引対象等、様々な検索対象であってもよい。
【0014】
図1では情報処理装置100が検索装置としても機能する、すなわち情報処理装置100と検索装置とが一体である場合を説明するが、情報処理装置100と検索装置とは別体であってもよい。この場合、情報処理システム1には、クエリを対象とした検索処理を実行し、検索結果を提供する検索サービスを提供する検索装置が含まれる。例えば、情報処理装置100は、ユーザが入力したクエリ、または変更後のクエリを検索装置へ送信し、検索装置から検索結果を受信し、その検索結果をユーザが利用する端末装置10に送信する。なお、検索装置が直接ユーザが利用する端末装置10へ検索結果を送信してもよい。
【0015】
端末装置10は、ユーザによって利用されるデバイス(コンピュータ)である。端末装置10は、ユーザによる操作を受け付ける。端末装置10は、ユーザによるクエリの入力を受け付ける。端末装置10は、情報処理装置100から提供された検索結果を表示する。
【0016】
また、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。なお、端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。
図1の例では、端末装置10がタッチパネル機能を有するスマートフォンである場合を示す。
【0017】
以下、
図1を用いて、情報処理の一例を説明する。
図1では、ユーザがユーザID「U1」により識別されるユーザ(以下、「ユーザU1」とする場合がある)である場合を示す。また、
図1に示す例においては、端末装置10が情報処理装置100と通信するタイミングに応じて、端末装置10を端末装置10-1、10-2として説明する。例えば、端末装置10-1がある日時でユーザU1によるクエリに応じて情報処理装置100と通信する端末装置10を示し、端末装置10-2が端末装置10-1よりも後の日時でユーザU1によるクエリに応じて情報処理装置100と通信する端末装置10を示す。
図1に示す端末装置10-1および端末装置10-2は、ユーザU1により利用される同じ端末装置10である。以下では、端末装置10-1、10-2について、特に区別なく説明する場合には、端末装置10と記載する。
【0018】
まず、情報処理装置100は、ログデータ群LG1に含まれるユーザの検索行動に関する履歴情報を用いて、クエリ間の関係性の推定に用いる情報を生成する(ステップS11)。情報処理装置100は、ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、ユーザに第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、ユーザにより第2クエリの検索情報が選択された第2時点までの時間である経過時間(以下単に「経過時間」と記載する場合がある)を示す履歴情報を取得する。ここでいう第2クエリの検索情報とは、第2クエリによる検索結果であってもよいし、第2クエリによる検索を推奨する文字列、例えばもしかして検索等であってもよい。例えば、第2クエリの検索情報には対応するコンテンツ(のURL(Uniform Resource Locator)等)へのハイパーリンク(リンク)が張られている。
図1では、情報処理装置100は、第1クエリが文字列「XXXX」であり、第2クエリが文字列「YYYY」である場合の経過時間を示す履歴情報を取得する。例えば、情報処理装置100は、ユーザが第1クエリ「XXXX」を入力した第1時点から、ユーザに第2クエリ「YYYY」の検索結果を提供し、ユーザが第2クエリの検索結果を選択した第2時点までの時間(経過時間)を示す履歴情報を取得する。ここで、文字列「XXXX」と文字列「YYYY」とは、読みは同じであるが、漢字の表記が異なる文字列であってもよい。例えば、文字列「XXXX」は、ユーザによる入力ミスなどの誤記を変換する変換用リストに、文字列「YYYY」の誤記として登録されている文字列であってもよい。
【0019】
そして、情報処理装置100は、履歴情報を用いて、経過時間のばらつき度合いを示す情報を生成する。例えば、情報処理装置100は、文字列「XXXX」を対象とする履歴情報を用いて、経過時間の標準偏差を算出する。
図1では、情報処理装置100は、文字列「XXXX」を対象とする履歴情報を用いて、経過時間の標準偏差(推定用情報GR1中のσに対応)を示す推定用情報GR1を生成する。なお、
図1では説明のために推定用情報GR1、GR2に正規分布を示すが、分布は正規分布に限られず、実際の経過時間のばらつきに応じた様々な分布であってもよい。
図1では、情報処理装置100は、文字列「XXXX」がクエリとして入力され、文字列「YYYY」の検索に関する情報を提供された場合の経過時間の標準偏差を算出する。例えば、情報処理装置100は、経過時間の標準偏差を「VL1」と算出する。なお、「VL1」は具体的な値であるものとする。
【0020】
そして、情報処理装置100は、経過時間の標準偏差「VL1」と閾値との比較に基づいて、クエリ間の関係性を推定する(ステップS12)。以下、閾値が「TH1」であるものとして説明するが、「TH1」は具体的な値であるものとする。
図1では、情報処理装置100は、経過時間の標準偏差「VL1」と閾値「TH1」との比較に基づいて、文字列「XXXX」と文字列「YYYY」との関係性を推定する。情報処理装置100は、標準偏差「VL1」が閾値「TH1」未満である場合、文字列「XXXX」と文字列「YYYY」との関係性が高いと推定する。具体的には、情報処理装置100は、標準偏差「VL1」が閾値「TH1」未満である場合、文字列「XXXX」が文字列「YYYY」の誤記(入力ミス)であると推定する。
図1では、情報処理装置100は、標準偏差「VL1」が閾値「TH1」未満であるため、文字列「XXXX」が文字列「YYYY」の誤記(入力ミス)であると推定する。
【0021】
端末装置10-1は、ユーザU1による「XXXX」というクエリの入力を受け付ける(ステップS13)。
図1に示す例において、ユーザU1は、端末装置10-1の画面に表示された検索サイトのページ中の検索窓にクエリ「XXXX」を入力し、検索実行のボタンを押下する。そして、端末装置10-1は、クエリ「XXXX」を情報処理装置100へ送信する(ステップS14)。
【0022】
端末装置10-1からクエリ「XXXX」を受信した情報処理装置100は、推定結果を基に検索処理を実行する。情報処理装置100は、受信したクエリ「XXXX」が文字列「YYYY」の誤記であると推定したため、クエリ「XXXX」は変更が必要であると推定する。そのため、情報処理装置100は、クエリ「YYYY」を用いて、検索処理を実行する。
【0023】
そして、情報処理装置100は、クエリ「YYYY」の検索結果をユーザU1が利用する端末装置10-1へ提供する(ステップS18)。
図1の例では、情報処理装置100は、クエリ「XXXX」ではなくクエリ「YYYY」での検索結果であることを通知する情報と共に、「YYYY」の検索結果を表示するコンテンツを端末装置10-1へ提供してもよい。なお、情報処理装置100が行う情報提供が上記限らず、様々な態様であってもよい。例えば、情報処理装置100は、検索結果を提供する前に、クエリ「XXXX」をクエリ「YYYY」に変更するか否かをユーザU1に確認する情報を提供してもよい。この場合、情報処理装置100は、ユーザU1が選択したクエリに対応する検索結果を端末装置10-1へ提供してもよい。また、情報処理装置100は、クエリ「YYYY」の検索結果とともに、クエリ「XXXX」の検索結果を提供してもよい。
【0024】
また、情報処理装置100は、端末装置10-1から提供した情報へのユーザU1による操作等の情報を履歴情報として収集する。例えば、情報処理装置100は、ユーザU1が利用する端末装置10から第1クエリ「XXXX」による検索の要求を受け付けた第1時点から、ユーザU1が第2クエリ「YYYY」の検索結果を選択したことを示す情報を受信した第2時点までの経過時間を履歴情報として収集する。同様に、情報処理装置100は、他のユーザが利用する端末装置10を対象として、第1クエリ「XXXX」による検索の要求を受け付けた第1時点から、ユーザU1が第2クエリ「YYYY」の検索結果を選択したことを示す情報を受信した第2時点までの経過時間を履歴情報として収集する。なお、情報処理装置100は、履歴情報を収集する外部装置から追加する履歴情報を取得してもよい。
【0025】
そして、情報処理装置100は、収集した履歴情報をログデータ群LG1に追加して、ログデータ群LG2に更新する(ステップS16)。ここで、ステップS15の段階までは、文字列「XXXX」は、特定の対象(意味)に対応しておらず、表記が文字列「YYYY」に近いため、文字列「YYYY」の誤記として扱われていたが、ステップS15の時点では、文字列「XXXX」が特定の対象(意味)を指すものとして使われ始めているものとする。
【0026】
情報処理装置100は、ログデータ群LG2に含まれるユーザの検索行動に関する履歴情報を用いて、クエリ間の関係性の推定に用いる情報を生成する(ステップS17)。情報処理装置100は、ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、ユーザに第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、ユーザにより第2クエリの検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する。
図1では、情報処理装置100は、第1クエリが文字列「XXXX」であり、第2クエリが文字列「YYYY」である場合の経過時間を示す履歴情報を取得する。そして、情報処理装置100は、履歴情報を用いて、経過時間のばらつき度合いを示す情報を生成する。例えば、情報処理装置100は、文字列「XXXX」を対象とする履歴情報を用いて、経過時間の標準偏差を算出する。
図1では、情報処理装置100は、文字列「XXXX」を対象とする履歴情報を用いて、経過時間の標準偏差(推定用情報GR2中のσに対応)を示す推定用情報GR2を生成する。
図1では、情報処理装置100は、文字列「XXXX」がクエリとして入力され、文字列「YYYY」の検索に関する情報を提供された場合の経過時間の標準偏差を算出する。例えば、情報処理装置100は、経過時間の標準偏差を「VL2」と算出する。なお、「VL2」は具体的な値であり、「VL1」よりも大きい値であるものとする。
【0027】
そして、情報処理装置100は、経過時間の標準偏差「VL2」と閾値との比較に基づいて、クエリ間の関係性を推定する(ステップS18)。
図1では、情報処理装置100は、経過時間の標準偏差「VL2」と閾値「TH1」との比較に基づいて、文字列「XXXX」と文字列「YYYY」との関係性を推定する。情報処理装置100は、標準偏差「VL2」が閾値「TH1」以上である場合、文字列「XXXX」と文字列「YYYY」との関係性が低いと推定する。具体的には、情報処理装置100は、標準偏差「VL2」が閾値「TH1」以上である場合、文字列「XXXX」が文字列「YYYY」とは異なる意味を示す単語であると推定する。
図1では、情報処理装置100は、標準偏差「VL2」が閾値「TH1」以上であるため、文字列「XXXX」が新しく意味を持つ単語(新単語)であると推定する。この場合、情報処理装置100は、文字列「XXXX」を、他の文字列の誤記(表記ミス)として取り扱う対象から除外する。具体的には、情報処理装置100は、変換用リストのうち、他の文字列の誤記として登録されている文字列「XXXX」を除く。
【0028】
端末装置10-2は、ユーザU1による「XXXX」というクエリの入力を受け付ける(ステップS19)。そして、端末装置10-2は、クエリ「XXXX」を情報処理装置100へ送信する(ステップS20)。
【0029】
端末装置10-2からクエリ「XXXX」を受信した情報処理装置100は、推定結果を基に検索処理を実行する。情報処理装置100は、受信したクエリ「XXXX」が特定の意味に対応する文字列(単語)であると推定したため、クエリ「XXXX」は変更が不要であると推定する。情報処理装置100は、クエリ「XXXX」を用いて、検索処理を実行する。そして、情報処理装置100は、変換後クエリ「XXXX」の検索結果をユーザU1が利用する端末装置10-2へ提供する(ステップS21)。
【0030】
ここで、第1クエリが特に意味を持たず単なる第2クエリの表記ミスの場合、各ユーザが第1クエリを入力した際に、各ユーザが同程度の認知時間が経過した後に、自身の入力ミスを認識し第2クエリの検索情報を選択することとなる。
【0031】
そのため、第2クエリの表記ミスである第1クエリを入力した各ユーザについて、大体同程度の経過時間となる。したがって、第1クエリが第2クエリの表記ミスの場合、ユーザが入力した第1クエリによる検索が要求された第1時点から、ユーザに第2クエリに関する検索情報を提供し、ユーザにより第2クエリの検索情報が選択された第2時点までの経過時間のばらつき度合いは小さくなる。
【0032】
一方、第1クエリを入力したユーザには、第1クエリが第2クエリとは異なる意味を有し始めた場合、第1クエリでの検索を目的として第1クエリを入力したユーザ、第2クエリでの検索を目的として第1クエリを入力したユーザ等、異なる目的で第1クエリを入力したユーザが混在することとなる。また、第1クエリが第2クエリとは異なる意味を有する場合、第1クエリを入力した各ユーザが実際に第1クエリと第2クエリとのいずれでの検索を目的として入力したのかを認識するための時間を要したり、各ユーザの第1クエリに対する認識の程度に応じて経過時間が変動したりすることとなる。
【0033】
そのため、意味を有する第1クエリを入力した各ユーザについて、経過時間にばらつきが生じることとなる。したがって、第1クエリが意味を有する場合、ユーザが入力した第1クエリによる検索が要求された第1時点から、ユーザに第2クエリに関する検索情報を提供し、ユーザにより第2クエリの検索情報が選択された第2時点までの経過時間のばらつき度合いは大きくなる。
【0034】
そのため、上述したように情報処理装置100は、経過時間のばらつき度合いに基づいて判定することにより、クエリ間の関係性を適切に推定することができる。例えば、情報処理装置100は、日本語のように、同じ読みであるが、漢字、仮名、カタカナの組合せによって、異なる意味に対応する文字列があるような言語において、クエリ間の関係性を適切に推定することができる。
図1では、情報処理装置100は、2つのクエリの関係性が低くなる程、その2つのクエリが違う意味(概念)を示す単語、すなわち双方が他方の表記ミスではなく、独自の意味(概念)に対応する文字列であると推定することができる。
【0035】
〔1-1.ばらつき度合い〕
なお、上記の例では、クエリ間の関係性の推定に経過時間の標準偏差を用いる場合を一例として示したが、情報処理装置100は、標準偏差に限らず、様々な情報(値)を用いて、クエリ間の関係性を推定してもよい。例えば、情報処理装置100は、経過時間のばらつき度合いを示す指標として、経過時間の分散を用いて、クエリ間の関係性を推定してもよい。この場合も上述した標準偏差の場合と同様に、情報処理装置100は、経過時間の分散と閾値(分散用の閾値)との比較により、クエリ間の関係性を推定してもよい。
【0036】
〔1-2.中央値〕
また、情報処理装置100は、経過時間の中央値(推定用情報GR1、GR2中のμに対応)を用いて、クエリ間の関係性を推定してもよい。例えば、情報処理装置100は、経過時間の中央値と他の閾値との比較を基に、クエリ間の関係性を推定してもよい。
【0037】
情報処理装置100は、経過時間の中央値が他の閾値以上である場合、第1クエリと第2クエリとの関係性が低いと推定してもよい。例えば、情報処理装置100は、経過時間の中央値が他の閾値以上である場合、第1クエリが第2クエリとは異なる意味を示す単語であると推定する。
【0038】
また、情報処理装置100は、経過時間の中央値が他の閾値未満である場合、第1クエリと第2クエリとの関係性が高いと推定してもよい。例えば、情報処理装置100は、経過時間の中央値が他の閾値未満である場合、第1クエリが第2クエリの誤記であると推定する。
【0039】
また、情報処理装置100は、経過時間の中央値の変化に基づいて、クエリ間の関係性を推定してもよい。情報処理装置100は、経過時間の中央値が増加する加速度に基づいて、クエリ間の関係性を推定してもよい。情報処理装置100は、経過時間の中央値が増加傾向にある場合、第1クエリと第2クエリとの関係性が低いと推定してもよい。
【0040】
情報処理装置100は、経過時間の中央値の増加率が所定の値以上である場合、第1クエリと第2クエリとの関係性が低いと推定してもよい。例えば、情報処理装置100は、経過時間の中央値が所定の値以上である場合、第1クエリが第2クエリとは異なる意味を示す単語であると推定する。
【0041】
情報処理装置100は、経過時間の中央値の増加率が所定の値未満である場合、第1クエリと第2クエリとの関係性が高いと推定してもよい。例えば、情報処理装置100は、経過時間の中央値が所定の値未満である場合、第1クエリが第2クエリの誤記であると推定する。
【0042】
なお、情報処理装置100は、中央値に限らず、様々な代表値を用いてもよい。例えば、情報処理装置100は、経過時間の平均値や最頻値を用いて、クエリ間の関係性を推定してもよい。中央値以外の他の代表値を用いる場合も同様の処理により、情報処理装置100は、クエリ間の関係性を推定してもよく、中央値の場合と同様の処理のため詳細な記載は省略する。
【0043】
〔1-3.その他の推定方法〕
また、情報処理装置100は、経過時間のばらつき度合いを用いた推定結果と、経過時間の代表値を用いた推定結果との両方を用いて、クエリ間の関係性を推定してもよい。
【0044】
例えば、情報処理装置100は、経過時間のばらつき度合いを用いた推定結果と、経過時間の代表値を用いた推定結果との両方が一致する場合、その推定結果を基にクエリ間の関係性を推定してもよい。
【0045】
例えば、情報処理装置100は、経過時間のばらつき度合いによる推定結果が第1クエリと第2クエリとの関係性が低いとの推定結果であり、経過時間の中央値による推定結果が第1クエリと第2クエリとの関係性が低いとの推定結果である場合、第1クエリと第2クエリとの関係性が低いと推定してもよい。この場合、情報処理装置100は、第1クエリが第2クエリとは異なる意味を示す単語であると推定してもよい。
【0046】
例えば、情報処理装置100は、経過時間のばらつき度合いによる推定結果が第1クエリと第2クエリとの関係性が高いとの推定結果であり、経過時間の中央値による推定結果が第1クエリと第2クエリとの関係性が高いとの推定結果である場合、第1クエリと第2クエリとの関係性が高いと推定してもよい。この場合、情報処理装置100は、第1クエリが第2クエリの誤記であると推定してもよい。
【0047】
例えば、情報処理装置100は、経過時間のばらつき度合いによる推定結果が第1クエリと第2クエリとの関係性が高いとの推定結果であり、経過時間の中央値による推定結果が第1クエリと第2クエリとの関係性が低いとの推定結果である場合、第1クエリと第2クエリとの関係性が不定である推定してもよい。また、情報処理装置100は、経過時間のばらつき度合いによる推定結果が第1クエリと第2クエリとの関係性が低いとの推定結果であり、経過時間の中央値による推定結果が第1クエリと第2クエリとの関係性が高いとの推定結果である場合、第1クエリと第2クエリとの関係性が不定である推定してもよい。
【0048】
これにより、情報処理装置100は、クエリ間の関係性の推定精度を向上させることができる。なお、上記は一例に過ぎず、情報処理装置100は、経過時間のばらつき度合いの推定結果と、経過時間の代表値の推定結果とを用いた様々な方法により、クエリ間の関係性を推定してもよい。
【0049】
また、情報処理装置100は、第1クエリ及び第2クエリと異なる第3クエリの情報を用いて、クエリ間の関係性を推定してもよい。例えば、情報処理装置100は、第1クエリについて、第2クエリ及び第3クエリの各々との関係性を基に、クエリ間の関係性を推定してもよい。
【0050】
例えば、情報処理装置100は、第1クエリと第2クエリとの関係性が低いとの推定結果であり、第1クエリと第3クエリとの関係性が低いとの推定結果である場合、第1クエリが第2クエリ及び第3クエリとの関係性が低いと推定してもよい。この場合、情報処理装置100は、第1クエリが第2クエリ及び第3クエリとは異なる意味を示す単語であると推定してもよい。
【0051】
例えば、情報処理装置100は、第1クエリと第2クエリとの関係性が高いとの推定結果であり、第1クエリと第3クエリとの関係性が高いとの推定結果である場合、第1クエリと他のクエリとの関係性が不定であると推定してもよい。また、情報処理装置100は、第1クエリと第2クエリとの関係性が高いとの推定結果であり、第1クエリと第3クエリとの関係性が低いとの推定結果である場合、第1クエリと他のクエリとの関係性が不定であると推定してもよい。情報処理装置100は、第1クエリと第2クエリとの関係性が低いとの推定結果であり、第1クエリと第3クエリとの関係性が高いとの推定結果である場合、第1クエリと他のクエリとの関係性が不定であると推定してもよい。
【0052】
これにより、情報処理装置100は、クエリ間の関係性の推定精度を向上させることができる。なお、上記は一例に過ぎず、情報処理装置100は、第3クエリに関する様々な情報を用いた方法により、クエリ間の関係性を推定してもよい。
【0053】
〔1-4.履歴情報の収集〕
なお、履歴情報は、上記に限らず、種々の態様により収集されてもよい。例えば、各端末装置10が経過時間を計測し、計測した経過時間を情報処理装置100へ送信してもよい。そして、情報処理装置100は、各端末装置10から取得した履歴情報を履歴情報記憶部121に追加することにより、履歴情報を収集してもよい。例えば、各端末装置10は、第1クエリを情報処理装置100へ送信した日時(第1時点)と、情報処理装置100から受信した第2クエリの検索情報をユーザが選択した日時(第2時点)とを記憶し、それらを関連付けて、情報処理装置100へ送信してもよい。この場合、情報処理装置100は、各端末装置10から取得した第1時点及び第2時点から経過時間を算出し、算出した経過時間を含む履歴情報を履歴情報記憶部121に追加することにより、履歴情報を収集してもよい。
【0054】
〔2.情報処理装置の構成〕
次に、
図2を用いて、実施形態に係る情報処理装置100の構成について説明する。
図2は、実施形態に係る情報処理装置100の構成例を示す図である。
図2に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0055】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、所定の通信網(ネットワーク)と有線または無線で接続され、端末装置10との間で情報の送受信を行う。
【0056】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、
図2に示すように、履歴情報記憶部121と、推定情報記憶部122とを有する。
【0057】
なお、記憶部120は、経過時間のばらつき度合いとの比較に用いる閾値の情報やクエリの表記に変更が必要と判定した場合に、クエリの表記の変換に用いる一覧表である変換用リストを記憶する。例えば、記憶部120は、経過時間の標準偏差との比較に用いる閾値を記憶する。例えば、変換用リストは、第1文字列と、その第1文字列の誤記として入力され得る第2文字列とを対応付けた一覧表である。
図1の例では、変換用リストは、第1文字列「YYYY」に、その誤記として入力され得る第2文字列「XXXX」、「ZZZZ」等が対応付けられた一覧表である。なお、変換用リストは、情報処理装置100が生成してもよいし、変換用リストを生成する外部装置から情報処理装置100が取得してもよい。
【0058】
(履歴情報記憶部121)
実施形態に係る履歴情報記憶部121は、ユーザの検索に関する行動履歴に関する各種情報を記憶する。履歴情報記憶部121は、ユーザが入力したクエリと、そのクエリと異なる2クエリの検索結果を提供し、ユーザが検索結果を選択するまでの経過時間を記憶する。
図3は、本開示の実施形態に係る履歴情報記憶部の一例を示す図である。
図3の例では、履歴情報記憶部121は、「対象文字列」、「履歴ID」、「経過時間」といった項目が含まれる。
【0059】
「対象文字列」は、履歴の収集対象となる文字列(第1クエリ)を示す。「履歴ID」は、対象文字列を用いた各検索の履歴を識別するための識別情報を示す。
図3の例では、「対象文字列」に「XXXX」といった抽象的な符号を図示するが、実際には、具体的な文字列が記憶される。
【0060】
「経過時間」は、対応する検索における経過時間を示す。
図3の例では、「経過時間」に「TM1」といった抽象的な符号を図示するが、実際には、「0.5秒」、「1秒」、「7秒」等の具体的な時間を示す情報が記憶される。
【0061】
図3の例では、対象文字列「XXXX」については、履歴ID「DID1」、「DID2」、「DID3」等により識別される複数の検索の履歴が収集されていることを示す。履歴ID「DID1」により識別される検索における経過時間は、「TM1」であることを示す。
【0062】
なお、履歴情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、履歴情報記憶部121は、各履歴の第1時点及び第2時点を示す情報を記憶してもよい。例えば、履歴情報記憶部121は、各履歴において対象文字列(第1クエリ)に代えて検索結果を提供したクエリ(第2クエリ)を示す情報を履歴IDに対応付けて記憶してもよい。
【0063】
(推定情報記憶部122)
実施形態に係る推定情報記憶部122は、推定結果に関する情報を記憶する。例えば、推定情報記憶部122は、新たな単語として推定した単語(新単語)を記憶する。
図4は、本開示の第1の実施形態に係る推定情報記憶部の一例を示す図である。
図4に、第1の実施形態に係る推定情報記憶部122の一例を示す。
図4に示した例では、推定情報記憶部122は、「新単語ID」、「文字列」といった項目が含まれる。
【0064】
「新単語ID」は、新たに単語として推定された文字列を識別するための識別情報を示す。「文字列」は、新単語として推定された文字列を示す。
図3の例では、「文字列」に「XXXX」といった抽象的な符号を図示するが、実際には、具体的な文字列が記憶される。
【0065】
図4に示す例では、新単語ID「WD1」により識別される文字列(新単語)は、「XXXX」であることを示す。
【0066】
なお、推定情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【0067】
(制御部130)
図2の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0068】
図2に示すように、制御部130は、取得部131と、生成部132と、推定部133と、処理部134と、提供部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図2に示した接続関係に限られず、他の接続関係であってもよい。
【0069】
(取得部131)
取得部131は、記憶部120から各種の情報を取得する。取得部131は、履歴情報記憶部121から履歴情報を取得する。取得部131は、履歴情報記憶部121から経過時間のばらつき度合いの算出に用いるデータを取得する。
【0070】
取得部131は、ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、ユーザに第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、ユーザにより第2クエリの検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する。
【0071】
取得部131は、通信部110を介して、端末装置10から情報を受信する。取得部131は、ユーザが入力したクエリを端末装置10から受信する。
【0072】
取得部131は、端末装置10から履歴情報を取得してもよい。取得部131は、第1クエリが入力された端末装置10に提供された第2クエリに関する情報が選択されるまでの経過時間を端末装置10から取得する。取得部131は、第1クエリとともに経過時間を端末装置10から収集する。
【0073】
(生成部132)
生成部132は、取得部131により取得された情報を用いて様々な情報を生成する。生成部132は、外部の情報処理装置からの情報や記憶部120に記憶された情報に基づいて、各種情報を生成する。生成部132は、各種情報から各種の値を算出する。
【0074】
生成部132は、履歴情報記憶部121に記憶された情報に基づいて、各種情報を生成する。生成部132は、標準偏差等を示す推定用情報GR1や推定用情報GR2を生成する。生成部132は、推定用情報GR1や推定用情報GR2に示す各種の値を算出する。生成部132は、履歴情報記憶部121に記憶された経過時間を用いて、経過時間のばらつき度合いを算出する。生成部132は、履歴情報記憶部121に記憶された経過時間を用いて、標準偏差を算出する。生成部132は、履歴情報記憶部121に記憶された経過時間を用いて、中央値を算出する。生成部132は、履歴情報記憶部121に記憶された経過時間を用いて、分散や平均値等を算出してもよい。
【0075】
(推定部133)
推定部133は、種々の情報を推定する。推定部133は、取得部131により取得された履歴情報が示す経過時間のばらつき度合いに基づいて、第1クエリと第2クエリとの間の関係性を推定する。推定部133は、経過時間の標準偏差を、経過時間のばらつき度合いとして用いて、第1クエリと第2クエリとの間の関係性を推定する。
【0076】
推定部133は、経過時間のばらつき度合いと閾値との比較に基づいて、第1クエリと第2クエリとの間の関係性を推定する。推定部133は、経過時間のばらつき度合いが閾値以上である場合、第1クエリと第2クエリとの関係性が低いと推定する。推定部133は、経過時間のばらつき度合いが閾値以上である場合、第1クエリが第2クエリとは異なる意味を示す単語であると推定する。推定部133は、経過時間のばらつき度合いが閾値未満である場合、第1クエリと第2クエリとの関係性が高いと推定する。推定部133は、経過時間のばらつき度合いが閾値未満である場合、第1クエリが第2クエリの誤記であると推定する。
【0077】
推定部133は、経過時間の中央値に基づいて、第1クエリと第2クエリとの間の関係性を推定する。推定部133は、経過時間の中央値の変化に基づいて、第1クエリと第2クエリとの間の関係性を推定する。
【0078】
(処理部134)
処理部134は、各種の処理を実行する。処理部134は、ユーザが入力したクエリに基づく検索処理を実行する。処理部134は、ユーザが入力したクエリを用いて検索処理を実行する。処理部134は、ユーザに提供する情報を生成する。処理部134は、ユーザに提供するコンテンツを生成する。
【0079】
処理部134は、ユーザが入力した第1クエリと異なる第2クエリを用いた検索処理を実行する。処理部134は、ユーザが入力したクエリが変換用リストの変換元クエリに含まれる場合、ユーザが入力したクエリを、そのクエリに対応付けられた変換先クエリに変更する。処理部134は、ユーザが入力したクエリと、記憶部120に記憶された変換用リスト中の変換元クエリとを比較し、ユーザが入力したクエリに一致した変換元クエリに対応する変換先クエリにクエリの表記を変換する。そして、処理部134は、変換した変換後のクエリを用いて検索処理を実行する。
【0080】
(提供部135)
提供部135は、通信部110を介して、端末装置10へ情報を送信する。提供部135は、ユーザが利用する端末装置10へ検索サービスを提供する。例えば、提供部135は、処理部134による検索処理の結果である検索結果を端末装置10へ送信する。提供部135は、処理部134により生成された情報を端末装置10へ送信する。
【0081】
提供部135は、ユーザが入力したクエリである第1クエリと異なるクエリである第2クエリに関する検索情報をユーザの端末装置10に送信する。提供部135は、ユーザが入力した第1クエリと異なる第2クエリに関する検索情報を送信する。提供部135は、ユーザが入力した第1クエリと異なる第2クエリを提案する検索情報を送信する。提供部135は、第2クエリを用いて検索を行う事を推奨する検索情報を送信する。提供部135は、ユーザが入力した第1クエリが変換用リストの変換元クエリに含まれる場合、第1クエリに一致した変換元クエリに対応する変換先クエリ(第2クエリ)の検索情報を送信する。
【0082】
〔3.端末装置の構成〕
次に、
図5を用いて、実施形態に係る端末装置10の構成について説明する。
図5は、実施形態に係る端末装置10の構成例を示す図である。
図5に示すように、端末装置10は、通信部11と、記憶部12と、入力部13と、表示部14と、制御部15とを有する。なお、端末装置10は、各種情報を音声出力するための音声出力部(例えばスピーカ等)を有してもよい。
【0083】
(通信部11)
通信部11は、例えば、通信回路等によって実現される。そして、通信部11は、図示しない所定の通信網と有線または無線で接続され、情報処理装置100との間で情報の送受信を行う。
【0084】
(記憶部12)
記憶部12は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部12は、例えば、端末装置10にインストールされているアプリケーション(例えば情報表示アプリ等)に関する情報、例えばプログラム等を記憶する。
【0085】
(入力部13)
入力部13は、ユーザからの各種操作を受け付ける。入力部13は、音声を検知する機能を有し、ユーザの発話による音声入力を受け付ける。入力部13は、音声を検知するマイクにより検知されたユーザによる発話を入力として受け付ける。
【0086】
また、入力部13は、タッチパネル機能により表示面を介してユーザからの各種操作を受け付けてもよい。また、入力部13は、端末装置10に設けられたボタンや、端末装置10に接続されたキーボードやマウスからの各種操作を受け付けてもよい。
【0087】
例えば、入力部13は、端末装置10の表示部14を介してユーザの指定操作等の操作を受け付ける。例えば、入力部13は、タッチパネルの機能によりユーザの操作を受け付ける受付部として機能する。この場合、入力部13と受付部151とは一体であってもよい。なお、入力部13によるユーザの操作の検知方式には、タブレット端末では主に静電容量方式が採用されるが、他の検知方式である抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式など、ユーザの操作を検知できタッチパネルの機能が実現できればどのような方式を採用してもよい。
【0088】
(表示部14)
表示部14は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現されるタブレット端末等の表示画面であり、各種情報を表示するための表示装置である。
【0089】
(制御部15)
制御部15は、コントローラであり、例えば、CPUやMPU等によって、端末装置10内部の記憶部12などの記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。例えば、この各種プログラムは、インストールされているアプリケーション(例えばメッセージアプリ等)のプログラムが含まれる。また、制御部15は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
【0090】
図5に示すように、制御部15は、受付部151と、送信部152と、受信部153と、処理部154とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部15の内部構成は、
図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0091】
(受付部151)
受付部151は、各種情報を受け付ける。例えば、受付部151は、入力部13を介してユーザによる入力を受け付ける。受付部151は、ユーザによる操作を受け付ける。受付部151は、表示部14により表示された情報に対するユーザの操作を受け付ける。受付部151は、ユーザによるクエリの入力を受け付ける。例えば、受付部151は、ユーザU1による文字列「XXXX」というクエリの入力を受け付ける。
【0092】
受付部151は、表示部14に表示された情報に対するユーザの操作を受け付ける。受付部151は、表示部14に表示された検索結果に関する情報に対するユーザの操作を受け付ける。
【0093】
(送信部152)
送信部152は、通信部11を介して、情報処理装置100へ情報を送信する。送信部152は、ユーザが入力したクエリを情報処理装置100へ送信する。送信部152は、受付部151によるユーザの操作の受け付けに応じて、ユーザの操作を示す情報を情報処理装置100へ送信する。送信部152は、情報処理装置100から提供された情報に対する、ユーザによる選択を示す情報を情報処理装置100へ送信する。
【0094】
(受信部153)
受信部153は、通信部11を介して、情報処理装置100から情報を受信する。受信部153は、ユーザが入力したクエリに対応する検索結果を情報処理装置100から受信する。受信部153は、ユーザが入力した第1クエリと異なる第2クエリに関する検索情報を受信する。受信部153は、ユーザが入力した第1クエリと異なる第2クエリの検索結果を受信する。受信部153は、ユーザが入力した第1クエリと異なる第2クエリを提案する検索情報を受信する。受信部153は、第2クエリを用いて検索を行う事を推奨する検索情報を受信する。
【0095】
受信部153は、ユーザが入力したクエリが変更されていない場合、ユーザが入力したクエリを用いた検索結果を情報処理装置100から受信する。受信部153は、ユーザが入力したクエリが変更された場合、変更後のクエリに対応する検索結果を含む情報を情報処理装置100から受信する。
【0096】
(処理部154)
処理部154は、各種の処理を実行する。処理部154は、受信部153が受信した情報を表示部14に表示する。処理部154は、ユーザが入力したクエリに対応する検索結果を表示部14に表示する。
【0097】
処理部154は、ユーザが入力した第1クエリと異なる第2クエリに関する検索情報を表示部14に表示する。処理部154は、ユーザが入力した第1クエリと異なる第2クエリの検索結果を表示部14に表示する。処理部154は、ユーザが入力した第1クエリと異なる第2クエリを提案する検索情報を表示部14に表示する。処理部154は、第2クエリを用いて検索を行う事を推奨する検索情報を表示部14に表示する。
【0098】
なお、上述した制御部15による各処理は、例えば、JavaScript(登録商標)などにより実現されてもよい。また、上述した表示処理が所定のアプリケーション(例えば情報表示アプリ等)により行われる場合や推論処理等の処理が専用アプリにより行われる場合、制御部15は、例えば、所定のアプリや専用アプリを制御するアプリ制御部を有してもよい。
【0099】
〔4.処理フロー〕
次に、
図6を用いて、実施形態に係る情報処理システム1による情報処理の手順について説明する。
図6は、実施形態に係る情報処理装置による処理の一例を示すフローチャートである。
【0100】
図6に示すように、情報処理装置100は、第1クエリによる検索が要求された第1時点から、ユーザにより第2クエリの検索情報が選択された第2時点までの経過時間を示す履歴情報を取得する(ステップS101)。
【0101】
情報処理装置100は、履歴情報が示す経過時間のばらつき度合いに基づいて、第1クエリと第2クエリとの間の関係性を推定する(ステップS102)。例えば、情報処理装置100は、経過時間の標準偏差が閾値以上である場合、第1クエリが第2クエリとは異なる意味を示す単語であると推定する。また、情報処理装置100は、推定結果に応じたクエリに基づく検索処理を行い、その検索結果をユーザが利用する端末装置10へ提供する。
【0102】
次に、
図7を用いて端末装置10におけるモデルを用いた推論等の処理の流れを示す。
図7は、実施形態に係る端末装置による処理の一例を示すフローチャートである。
【0103】
図7に示すように、端末装置10は、クエリの入力を受け付けていない場合(ステップS201:No)、クエリが入力されるまで待機する。端末装置10は、クエリの入力を受け付けた後(ステップS201:Yes)、クエリを送信する(ステップS202)。例えば、端末装置10は、クエリを情報処理装置100へ送信する。
【0104】
端末装置10は、検索結果を受信する(ステップS203)。例えば、端末装置10は、クエリの送信先である情報処理装置100から、検索結果を受信する。そして、端末装置10は、検索結果を表示する(ステップS204)。
【0105】
〔5.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、推定部133とを有する。取得部131は、ユーザが入力したクエリである第1クエリによる検索が要求された第1時点から、ユーザに第1クエリと異なるクエリである第2クエリに関する検索情報を提供し、ユーザにより第2クエリの検索情報が選択された第2時点までの時間である経過時間を示す履歴情報を取得する。推定部133は、取得部131により取得された履歴情報が示す経過時間のばらつき度合いに基づいて、第1クエリと第2クエリとの間の関係性を推定する。
【0106】
これにより、実施形態に係る情報処理装置100は、第1クエリを入力したユーザに対して、第2クエリの情報を提供し、その情報を選択するまでの経過時間を収集して、その経過時間を基に第1クエリと第2クエリとの関係性を推定することにより、クエリ間の関係性を適切に推定することができる。
【0107】
また、実施形態に係る情報処理装置100において、推定部133は、経過時間の標準偏差を、経過時間のばらつき度合いとして用いて、第1クエリと第2クエリとの間の関係性を推定する。
【0108】
これにより、実施形態に係る情報処理装置100は、経過時間の標準偏差を用いることにより、クエリ間の関係性を適切に推定することができる。
【0109】
また、実施形態に係る情報処理装置100において、推定部133は、経過時間のばらつき度合いと閾値との比較に基づいて、第1クエリと第2クエリとの間の関係性を推定する。
【0110】
これにより、実施形態に係る情報処理装置100は、経過時間のばらつき度合いと閾値との比較により、クエリ間の関係性を適切に推定することができる。
【0111】
また、実施形態に係る情報処理装置100において、推定部133は、経過時間のばらつき度合いが閾値以上である場合、第1クエリと第2クエリとの関係性が低いと推定する。
【0112】
これにより、実施形態に係る情報処理装置100は、経過時間のばらつき度合いが閾値以上である場合、第1クエリと第2クエリとの関係性が低いと推定することにより、クエリ間の関係性を適切に推定することができる。
【0113】
また、実施形態に係る情報処理装置100において、推定部133は、経過時間のばらつき度合いが閾値以上である場合、第1クエリが第2クエリとは異なる意味を示す単語であると推定する。
【0114】
これにより、実施形態に係る情報処理装置100は、経過時間のばらつき度合いが閾値以上である場合、第1クエリが第2クエリとは異なる意味を示す単語であると推定することにより、クエリ間の関係性を適切に推定することができる。
【0115】
また、実施形態に係る情報処理装置100において、推定部133は、経過時間のばらつき度合いが閾値未満である場合、第1クエリと第2クエリとの関係性が高いと推定する。
【0116】
これにより、実施形態に係る情報処理装置100は、経過時間のばらつき度合いが閾値未満である場合、第1クエリと第2クエリとの関係性が高いと推定することにより、クエリ間の関係性を適切に推定することができる。
【0117】
また、実施形態に係る情報処理装置100において、推定部133は、経過時間のばらつき度合いが閾値未満である場合、第1クエリが第2クエリの誤記であると推定する。
【0118】
これにより、実施形態に係る情報処理装置100は、経過時間のばらつき度合いが閾値未満である場合、第1クエリが第2クエリの誤記であると推定することにより、クエリ間の関係性を適切に推定することができる。
【0119】
また、実施形態に係る情報処理装置100において、推定部133は、経過時間の中央値に基づいて、第1クエリと第2クエリとの間の関係性を推定する。
【0120】
これにより、実施形態に係る情報処理装置100は、経過時間のばらつき度合いに加えて、経過時間の中央値を用いることにより、より精度よくクエリ間の関係性を適切に推定することができる。
【0121】
また、実施形態に係る情報処理装置100において、推定部133は、経過時間の中央値の変化に基づいて、第1クエリと第2クエリとの間の関係性を推定する。
【0122】
これにより、実施形態に係る情報処理装置100は、経過時間のばらつき度合いに加えて、経過時間の中央値の変化を用いることにより、より精度よくクエリ間の関係性を適切に推定することができる。
【0123】
〔6.ハードウェア構成〕
また、上述した実施形態に係る端末装置10や情報処理装置100は、例えば
図8に示すような構成のコンピュータ1000によって実現される。以下、情報処理装置100を例に挙げて説明する。
図8は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0124】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0125】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USBメモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0126】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェイスであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェイスであり、例えば、USB等により実現される。
【0127】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0128】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0129】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0130】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0131】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0132】
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0133】
〔7.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【0134】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0135】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0136】
例えば、上述した情報処理装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットホーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
【0137】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0138】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0139】
1 情報処理システム
100 情報処理装置
120 記憶部
121 履歴情報記憶部
122 推定情報記憶部
130 制御部
131 取得部
132 生成部
133 推定部
134 処理部
135 提供部
10 端末装置
11 通信部
12 記憶部
13 入力部
14 表示部
15 制御部
151 受付部
152 送信部
153 受信部
154 処理部