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

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

▶ 株式会社NTTドコモの特許一覧

<>
  • 特許-検索装置 図1
  • 特許-検索装置 図2
  • 特許-検索装置 図3
  • 特許-検索装置 図4
  • 特許-検索装置 図5
  • 特許-検索装置 図6
  • 特許-検索装置 図7
  • 特許-検索装置 図8
  • 特許-検索装置 図9
  • 特許-検索装置 図10
  • 特許-検索装置 図11
  • 特許-検索装置 図12
  • 特許-検索装置 図13
  • 特許-検索装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-17
(45)【発行日】2024-05-27
(54)【発明の名称】検索装置
(51)【国際特許分類】
   G06F 16/332 20190101AFI20240520BHJP
【FI】
G06F16/332
【請求項の数】 7
(21)【出願番号】P 2021562498
(86)(22)【出願日】2020-10-27
(86)【国際出願番号】 JP2020040298
(87)【国際公開番号】W WO2021111769
(87)【国際公開日】2021-06-10
【審査請求日】2023-08-28
(31)【優先権主張番号】P 2019218779
(32)【優先日】2019-12-03
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【弁理士】
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【弁理士】
【氏名又は名称】深石 賢治
(74)【代理人】
【識別番号】100183081
【弁理士】
【氏名又は名称】岡▲崎▼ 大志
(72)【発明者】
【氏名】倉沢 央
(72)【発明者】
【氏名】礒田 佳徳
(72)【発明者】
【氏名】柴田 樹
(72)【発明者】
【氏名】松尾 映里
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2007-219722(JP,A)
【文献】特開2000-231569(JP,A)
【文献】国際公開第2013/021696(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
ユーザから検索クエリを受け付ける入力部と、
前記検索クエリと予め用意された複数の検索対象データの各々との適合度を算出する検索部と、
前記検索クエリに関連する拡張クエリを前記検索クエリに追加することにより拡張検索クエリを生成するクエリ拡張部と、
前記適合度が上位の前記検索対象データを前記ユーザに提示する第1処理と、前記拡張検索クエリを新たな検索クエリとして前記検索対象データ毎の前記適合度を前記検索部に算出させることを前記ユーザに提案する第2処理と、のいずれの処理を実行するかを、前記検索部により算出された前記検索対象データ毎の前記適合度に基づいて決定する方策決定部と、
を備える検索装置。
【請求項2】
前記方策決定部は、前記適合度が上位の予め定められた数の前記検索対象データの前記適合度に基づいて、前記第1処理と前記第2処理とのいずれの処理を実行するかを決定する、請求項1に記載の検索装置。
【請求項3】
前記方策決定部は、前記検索対象データ毎の前記適合度を状態とし、前記第1処理及び前記第2処理を行動とし、前記ユーザの意図に合致するデータが得られることを報酬として強化学習を行うことにより生成された方策決定モデルであって、前記検索対象データ毎の前記適合度を入力して前記第1処理及び前記第2処理のいずれを実行すべきかを示す値を出力する前記方策決定モデルを用いることにより、前記第1処理と前記第2処理とのいずれの処理を実行するかを決定する、請求項1又は2に記載の検索装置。
【請求項4】
前記検索部は、互いに異なる複数の検索手法を実行可能に構成されており、
前記方策決定部は、前記第1処理を実行すると決定する場合には、前記複数の検索手法のうちのいずれの手法を実行するかを決定する、請求項1~3のいずれか一項に記載の検索装置。
【請求項5】
前記検索部は、前記複数の検索手法の各々について、前記検索対象データ毎の前記適合度を算出し、
前記方策決定部は、前記複数の検索手法の各々についての前記検索対象データ毎の前記適合度に基づいて、前記第1処理と前記第2処理とのいずれの処理を実行するかを決定する、請求項4に記載の検索装置。
【請求項6】
前記クエリ拡張部は、互いに異なる複数のクエリ拡張手法を実行可能に構成されており、
前記方策決定部は、前記第2処理を実行すると決定する場合には、前記複数のクエリ拡張手法のうちのいずれの手法を実行するかを決定する、請求項1~5のいずれか一項に記載の検索装置。
【請求項7】
前記方策決定部により前記第1処理を実行すると決定された場合に、前記適合度が上位の前記検索対象データを前記ユーザに提示する提示部と、
前記提示部により前記ユーザに提示された前記検索対象データを提示済みデータとして管理する管理部と、
前記提示済みデータが前記ユーザの意図に合致するデータであるか否かを示すフィードバック情報を前記ユーザから受け付ける受付部と、を更に備え、
前記検索部は、前記提示済みデータが前記ユーザの意図に合致するデータでないことを示す前記フィードバック情報を前記受付部が受け付けた場合に、前記複数の検索対象データから前記提示済みデータを除外して、前記検索対象データ毎の前記適合度を算出する、請求項1~6のいずれか一項に記載の検索装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一側面は、検索装置に関する。
【背景技術】
【0002】
従来、テキスト、画像、動画、グラフ等の膨大な検索対象データの中からユーザの意図に合致するデータ(すなわち、ユーザの所望するデータ)を検索する情報検索技術が知られている。情報検索では、ユーザが入力した検索クエリと各検索対象データとの適合度が計算される。そして、適合度の高いデータが検索結果として出力される(例えば、非特許文献1参照)。また、ユーザの意図に合致するデータをより正確に発見するための情報検索技術として、クエリ拡張(例えば、非特許文献2参照)が提案されている。例えば、クエリ拡張の一手法であるRelevance feedbackは、入力された検索クエリと適合度の高いデータをユーザに提示し、各データについて適合又は不適合のラベルをユーザに入力させる。そして、入力されたラベルに基づいて検索クエリを修正し、修正された検索クエリを用いて再度検索し、適合度の高いデータをユーザに提示する。クエリ拡張の他の手法として、検索クエリと共起する頻度が高い単語を検索ログ(過去の検索クエリ)から抽出し、抽出された単語に基づいて検索クエリの修正を提案する技術等が知られている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Robertson, S. E., Walker, S., Jones, S., Hancock-Beaulieu, M. & Gatford, M. (1994). Okapi at TREC-3.. In D. K. Harman (ed.),TREC (p./pp. 109-126), : National Institute of Standards and Technology (NIST).
【文献】Azad, H. K., & Deepak, A. (2019). Query expansion techniques for information retrieval: a survey. Information Processing & Management, 56(5), 1698-1735.
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したクエリ拡張によれば、ユーザにより入力された検索クエリを適切に補完し、ユーザの意図に合致するデータを正確に発見できる可能性がある。しかし、クエリ拡張を実行する場合、上述したような追加の処理及びユーザ操作等が必要となる。すなわち、クエリ拡張を行わない場合と比較して、余分なステップが発生する。このため、例えばユーザが入力した検索クエリのみを用いた検索によってユーザの意図に合致するデータを発見できるにも関わらずクエリ拡張を実行してしまうと、ユーザの意図に合致するデータが最終的に得られるまでの手間(時間、ステップ)が多くなり、検索効率が低下してしまう。一方で、クエリ拡張を行う前に常に検索結果(適合度が上位のデータ)をユーザに提示すると、検索結果にユーザの意図に合致するデータが含まれていない場合には、無駄なユーザの確認処理が発生してしまい、検索効率が低下してしまう。
【0005】
そこで、本発明の一側面は、検索効率を向上させることができる検索装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一側面に係る検索装置は、ユーザから検索クエリを受け付ける入力部と、検索クエリと予め用意された複数の検索対象データの各々との適合度を算出する検索部と、検索クエリに関連する拡張クエリを検索クエリに追加することにより拡張検索クエリを生成するクエリ拡張部と、適合度が上位の検索対象データをユーザに提示する第1処理と、拡張検索クエリを新たな検索クエリとして検索対象データ毎の適合度を検索部に算出させることをユーザに提案する第2処理と、のいずれの処理を実行するかを、検索部により算出された検索対象データ毎の適合度に基づいて決定する方策決定部と、を備える。
【0007】
本発明の一側面に係る検索装置では、検索クエリとの適合度が上位の検索対象データをユーザに提示する第1処理と、クエリ拡張部により生成される拡張検索クエリを用いた検索部による再検索をユーザに提案する第2処理と、のいずれの処理を実行するかが、現時点で得られている検索対象データ毎の適合度に基づいて決定される。従って、上記検索装置によれば、現時点の検索結果をユーザに提示するか、クエリ拡張を行って再検索を行うかを適切に切り換えることで、無駄な処理(例えば、ユーザの意図に合致しない検索結果の提示、不要なクエリ拡張の提案)を抑制し、検索効率を向上させることができる。
【発明の効果】
【0008】
本発明の一側面によれば、検索効率を向上させることができる検索装置を提供することができる。
【図面の簡単な説明】
【0009】
図1】実施形態に係る検索装置の機能構成を示す図である。
図2】検索装置の処理の概要を模式的に示す図である。
図3】ユーザと検索装置との対話の一例を示す図である。
図4】検索装置の動作の一例を示すフローチャートである。
図5】データ蓄積部に蓄積された検索対象データの一例を示す図である。
図6】第1の検索手法(検索A)によって得られるトークン及び転置インデックスの一例を示す図である。
図7】第2の検索手法(検索B)によって得られるトークン及び転置インデックスの一例を示す図である。
図8】検索クエリの一例を示す図である。
図9】検索対象データ毎の適合度の一例を示す図である。
図10】拡張検索クエリの一例を示す図である。
図11】方策決定モデルの一例を示す図である。
図12】第1のクエリ拡張手法(クエリ拡張C)の一例を示す図である。
図13】第2のクエリ拡張手法(クエリ拡張D)の一例を示す図である。
図14】検索装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。
【0011】
図1は、一実施形態に係る検索装置10の機能構成を示す図である。検索装置10は、ユーザからの検索要求を受けて、ユーザの意図に合致するデータを検索し、検索結果をユーザに提示する装置である。ユーザは、検索装置10に対して検索処理を要求する主体である。具体的には、検索装置10は、ユーザから検索クエリを受け付けた後、ユーザの意図に合致するデータが見つかるまで(或いは、ユーザが検索作業を中断するまで)、検索クエリに基づく検索結果をユーザに提示する処理(第1処理)と検索クエリを拡張して拡張後の検索クエリを用いて検索することをユーザに提案する処理(第2処理)とのいずれの処理を実行するかを適時選択して実行する処理を繰り返すように構成されている。
【0012】
検索装置10は、一以上のコンピュータ装置によって構成される。検索装置10の形態は特定の形態に限定されない。例えば、検索装置10は、ユーザが所持するスマートフォン、タブレット端末、パーソナルコンピュータ等の端末である。或いは、検索装置10は、上述したような端末(クライアント端末)と通信し、端末からの検索要求を処理するように構成されたサーバ装置であってもよい。
【0013】
図1に示されるように、検索装置10は、入力部11と、検索部12と、クエリ拡張部13と、方策決定部14と、提示部15(提示部、受付部)と、管理部16と、データ蓄積部10aと、を備えている。データ蓄積部10aには、複数の検索対象データが予め記憶されている。本実施形態では、検索対象データは、テキストデータである。
【0014】
入力部11は、ユーザから検索クエリを受け付ける。本実施形態では、検索クエリは、テキストデータである。ただし、検索クエリの入力形態は特定の形態に限定されない。例えば、検索クエリは、テキストデータの形式で入力されてもよいし、音声データの形式で入力されてもよい。例えば、検索クエリが音声データの形式で入力された場合には、入力部11は、検索クエリに対して公知の音声認識処理を実行することにより、検索クエリをテキストデータに変換すればよい。
【0015】
検索部12は、入力部11が受け付けた検索クエリと予め用意された複数の検索対象データ(すなわち、データ蓄積部10aに格納されたデータ)の各々との適合度を算出する。適合度は、例えば、検索クエリと検索対象データとの間の類似度を示す値である。適合度の具体例としては、tfidf(term frequency inverse document frequency)、BM25、コサイン類似度、ジャカード係数距離等が挙げられる。
【0016】
検索部12は、互いに異なる複数(本実施形態では一例として2つ)の検索手法を実行可能に構成されている。具体的には、検索部12は、第1の検索手法(以下「検索A」)を実行するためのプログラムと、第2の検索手法(以下「検索B」)を実行するためのプログラムと、を有している。これらの検索手法の詳細については後述する。
【0017】
クエリ拡張部13は、検索クエリに関連する拡張クエリを検索クエリに追加することにより拡張検索クエリを生成する。具体的には、クエリ拡張部13は、ユーザにより入力された検索クエリを補完するためのキーワード(拡張クエリ)を追加することにより、拡張後の検索クエリ(拡張検索クエリ)を生成する。例えば、クエリ拡張部13は、ユーザにより入力された検索クエリが「ロックの外し方」である場合に、当該検索クエリを補完するためのキーワード(拡張クエリ)である「SIMロック」を追加することにより、拡張検索クエリ「ロックの外し方 SIMロック」を生成する。
【0018】
クエリ拡張部13は、互いに異なる複数(本実施形態では一例として2つ)のクエリ拡張手法を実行可能に構成されている。具体的には、クエリ拡張部13は、第1のクエリ拡張手法(以下「クエリ拡張C」)を実行するためのプログラムと、第2のクエリ拡張手法(以下「クエリ拡張D」)を実行するためのプログラムと、を有している。これらのクエリ拡張手法の詳細については後述する。
【0019】
方策決定部14は、検索部12により算出された検索対象データ毎の適合度に基づいて、第1処理(検索A又は検索Bに基づく処理)と第2処理(クエリ拡張C又はクエリ拡張Dに基づく処理)とのいずれの処理を実行するかを決定する。
【0020】
第1処理は、適合度が上位の検索対象データ(以下「適合度上位データ」ともいう。)をユーザに提示する処理である。すなわち、第1処理は、検索クエリによる検索結果(すなわち、適合度上位データ)を出力する処理であり、通常の情報検索において一般的に行われる処理である。
【0021】
第2処理は、クエリ拡張部13により生成された拡張検索クエリを新たな検索クエリとして検索部12に検索対象データ毎の適合度を算出させることをユーザに提案する処理である。すなわち、第2処理は、検索クエリ(拡張前のクエリ)による検索結果をユーザに提示することなく、拡張検索クエリを用いた再検索をユーザに提案する処理である。本実施形態では、第2処理は、拡張検索クエリによって再検索を行う前に、ユーザに当該拡張検索クエリの採否を問い合わせる処理を含んでいる。
【0022】
方策決定部14は、第1処理を実行すると決定する場合には、複数(本実施形態では2つ)の検索手法(検索A、検索B)のうちのいずれの手法を実行するかを決定する。また、方策決定部14は、第2処理を実行すると決定する場合には、複数(本実施形態では2つ)のクエリ拡張手法(クエリ拡張C、クエリ拡張D)のうちのいずれの手法を実行するかを決定する。すなわち、本実施形態では、方策決定部14は、複数(本実施形態では4つ)の方策(検索A、検索B、クエリ拡張C、クエリ拡張D)のうちのいずれの方策を実行するかを決定する。本実施形態では、方策決定部14は、強化学習(機械学習)により生成された方策決定モデル(関数)を用いることにより、いずれの方策を実行するかを決定する。方策決定モデルの詳細については後述する。
【0023】
提示部15は、方策決定部14により第1処理を実行すると決定された場合に、適合度上位データをユーザに提示する。管理部16は、提示部15によりユーザに提示された検索対象データを提示済みデータとして管理する。例えば、管理部16は、データ蓄積部10aに格納された検索対象データに「提示済み」を示すフラグ等を付加することにより、各検索対象データが提示済みであるか否かを検索部12が把握できるようにする。
【0024】
本実施形態では、提示部15は、提示済みデータがユーザの意図に合致するデータであるか否かを示すフィードバック情報をユーザから受け付ける受付部としても機能する。提示済みデータがユーザの意図に合致するデータであることを示すフィードバック情報が得られた場合には、検索装置10による処理(入力部11が受け付けた検索クエリに対する処理)が完了する。一方、提示済みデータがユーザの意図に合致するデータでないことを示すフィードバック情報が得られた場合、データ蓄積部10aに格納された複数の検索対象データから当該提示済みデータを除外した上で、検索部12による検索処理(適合度算出)が再度実行される。そして、検索部12により再度算出された各検索対象データ(提示済みデータを除く検索対象データ)の適合度に基づいて、方策決定部14により方策が決定される。以上のように、検索装置10は、ユーザの意図に合致するデータがユーザに提示されるまで、適宜方針を決定しながら、上記各処理を繰り返す。
【0025】
図2及び図3を参照して、検索装置10の処理の概要について説明する。図2は、検索装置10の処理の概要を模式的に示す図である。図3は、ユーザと検索装置10との対話の一例を示す図である。
【0026】
まず、入力部11が検索クエリ(ここでは一例として「ロックを外したい」)を受け付ける(図2の「スタート」)。続いて、検索部12が当該検索クエリと各検索対象データとの適合度を算出する。そして、方策決定部14が、検索対象データ毎の適合度に基づいて、実行する方策(検索A、検索B、クエリ拡張C、クエリ拡張D)を決定する。ここでは一例として、1回目の方策として、クエリ拡張Dが選択される。その結果、クエリ拡張部13により生成された2種類の拡張検索クエリ(ここでは、2つの拡張検索クエリの各々に含まれる拡張クエリである「端末基本操作」及び「SIMロック」)がユーザに提示される。
【0027】
その後、ユーザが「SIMロック」を指定したことに応じて、検索部12が、拡張検索クエリ「ロックを外したい SIMロック」を用いて、検索対象データ毎の適合度を算出する。そして、方策決定部14が、検索対象データ毎の適合度に基づいて、方策を改めて決定する。ここでは一例として、2回目の方策として、クエリ拡張Cが選択される。その結果、クエリ拡張部13により生成された2種類の拡張検索クエリ(ここでは、2つの拡張検索クエリの各々に含まれる拡張クエリである「解除費用」及び「解除キー入手」)がユーザに提示される。
【0028】
その後、ユーザが「解除キー入手」を指定したことに応じて、検索部12が、拡張検索クエリ「ロックを外したい SIMロック 解除キー入手」を用いて、検索対象データ毎の適合度を算出する。そして、方策決定部14が、検索対象データ毎の適合度に基づいて、方策を改めて決定する。ここでは一例として、3回目の方策として、検索Aが選択される。その結果、提示部15により、上記拡張検索クエリを用いて算出された適合度が上位の検索対象データ「SIMロック解除キーを入手したい」がユーザに提示される。その後、提示部15が、提示済みデータ(すなわち、検索対象データ「SIMロック解除キーを入手したい」)がユーザの意図に合致するデータであることを示すフィードバック情報をユーザから受け付けることにより、検索装置10の処理が完了する。
【0029】
図2及び図3に示したように、検索装置10では、方策決定部14が、その時点での状態(検索対象データ毎の適合度)に応じて、検索結果をユーザに提示するか、或いはクエリ拡張を提案するかを制御する。このような制御が適切に実行されることにより、無駄な処理(例えば、無駄な検索結果の提示、又は不要なクエリ拡張の提案)の発生を抑制し、検索効率を向上させることができる。
【0030】
図4に示されるフローチャートを参照して、検索装置10の処理の一例についてより詳細に説明する。
【0031】
ステップS1において、検索処理の前準備として、データ蓄積部10aに、索引付けされた複数の検索対象データが蓄積される。本実施形態では一例として、各検索対象データは、質問文と回答文とがペアになった文書(テキスト)である。本実施形態では、検索対象データのうち質問文に該当するテキストが検索対象となる。従って、以下の説明においては、検索対象データの質問文に対応する部分を単に検索対象データという。
【0032】
データ蓄積部10aには、検索対象データを示すオリジナルのテキストデータと共に、転置インデックスが記憶される。転置インデックスは、文書をトークンと呼ばれる単位に分解し、各トークンに頻度を関連付けた索引構造である。本実施形態では、検索Aは、形態素解析で得られる品詞のうち名詞句の原形をトークンとして用いる。一方、検索Bは、n-gramで分割された文字列をトークンとして用いる。ただし、トークンの種類はこれらに限定されない。例えば、トークンは、Word2Vecにより生成される単語の分散表現等であってもよい。
【0033】
図5は、データ蓄積部10aに蓄積された検索対象データの一例を示す図である。この例では、「ID=1」の検索対象データは「メールを送信したい」という質問文であることを示している。
【0034】
図6は、図5に示される検索対象データについて、検索Aによって得られるトークン(形態素解析後の名詞句)及び転置インデックス(トークン(句)と頻度との対応表)の一例を示している。この例では、「ID=1」の検索対象データは、「メール」及び「送信」の2トークンに変換されている。
【0035】
図7は、検索Bによって得られるトークン(2-gram)及び転置インデックス(トークン(gram)と頻度との対応表)の一例を示している。この例では、「ID=1」の検索対象データは、「$メ」、「メー」、…、「い$」の複数のトークンに変換されている。
【0036】
データ蓄積部10aには、検索A用の転置インデックス(図6参照)と検索B用の転置インデックス(図7参照)の両方が記憶される。なお、ステップS1の処理は、初回準備時にのみ実行されればよく、データ蓄積部10aに上述した検索対象データ及び転置インデックスが既に格納されている場合には、省略され得る。
【0037】
ステップS2において、入力部11が、ユーザからの検索クエリを受け付ける。入力部11が受け付けた検索クエリは、後述するステップS3において、検索部12によって、ステップS1における処理(検索対象データをトークンに分解する処理)と同様にトークンに分解される。
【0038】
図8は、検索クエリの一例を示す図である。この例では、検索クエリである「ロックの外し方」が、検索Aに対応するトークン(形態素解析後の名詞句)と検索Bに対応するトークン(2-gram)とに分解されている。
【0039】
ステップS3において、検索部12が、検索クエリとデータ蓄積部10aに蓄積された各検索対象データとの適合度を算出する。一例として、検索A及び検索Bは、適合度の尺度としてtfidfを用いる。本実施形態では、検索Aで分解されたいずれのトークン(「ロック」、「外し方」)も、データ蓄積部10aに記憶された検索A用の転置インデックス(図6参照)に登録されていない。このため、図9に示されるように、検索Aにより算出される全ての検索対象データの適合度は0となる。一方、検索Bで分解されたトークンのうち、「ロッ」及び「ック」の2つのトークンが「ID=2」及び「ID=3」の検索対象データに含まれている。このため、図9に示されるように、検索Bにより算出される「ID=2」及び「ID=3」の検索対象データの適合度は0.796となり、他の検索対象データ(「ID=1,4,5」の検索対象データ)の適合度は0となる。なお、後述するステップS6において管理部16によって提示済みデータとして管理された検索対象データは、ステップS3の処理(適合度算出)の対象から除外される。例えば、検索部12は、提示済みデータに関する適合度を0とみなしてもよい。
【0040】
ステップS4において、方策決定部14が、ステップS3において算出された各検索対象データの適合度に基づいて、検索A、検索B、クエリ拡張C、及びクエリ拡張Dのいずれの方策を実行するかを決定する。本実施形態では一例として、方策決定部14は、検索A及び検索Bの各々において適合度が上位の検索対象データ(各上位4件の検索対象データ)の適合度を特徴量(8次元ベクトル)とし、当該特徴量を方策決定モデル(詳しくは後述)に入力する。そして、方策決定部14は、方策決定モデルの出力結果(本実施形態では、検索A、検索B、クエリ拡張C,及びクエリ拡張Dのそれぞれの望ましさを示す数値からなる4次元ベクトル)に基づいて、採用する方策を決定する。方策として第1処理(検索A又は検索Bに基づく処理)が決定された場合には、ステップS5が実行される。方策として第2処理(クエリ拡張C又はクエリ拡張Dに基づく処理)が決定された場合には、ステップS9が実行される。
【0041】
(第1処理が実行される場合)
ステップS5において、提示部15が、ステップS4において決定された検索手法(本実施形態では検索A又は検索B)における適合度上位データをユーザに提示する。提示される適合度上位データの数は、1つでもよいし複数でもよい。
【0042】
ステップS6において、管理部16が、提示部15によりユーザに提示された検索対象データを提示済みデータとして管理する。例えば、管理部16は、データ蓄積部10aに格納された検索対象データに「提示済み」を示すフラグ等を付加する。
【0043】
ステップS7において、提示部15が、提示済みデータがユーザの意図に合致するデータであるか否かを示すフィードバック情報をユーザから受け付ける。提示済みデータがユーザの意図に合致するデータであることを示すフィードバック情報が得られた場合(ステップS8:YES)、検索装置10は、ステップS2においてユーザから受け付けた検索クエリに基づく一連の検索処理を終了する。一方、提示済みデータがユーザの意図に合致するデータでないことを示すフィードバック情報が得られた場合(ステップS8:NO)、ステップS3を再度実行する。すなわち、提示済みデータ(ユーザの所望するデータでないことが判明したデータ)を検索対象データから除外した上で、ステップS3の処理が実行される。
【0044】
(第2処理が実行される場合)
ステップS9において、クエリ拡張部13が、ステップS4において決定されたクエリ拡張手法(本実施形態ではクエリ拡張C又はクエリ拡張D)により、拡張検索クエリを生成する。図10は、クエリ拡張C及びクエリ拡張Dのそれぞれによって生成された拡張検索クエリの一例を示している。この例では、クエリ拡張Cが実行された場合には、拡張クエリ「SIMロック」が元の検索クエリ「ロックの外し方」に追加されることにより、拡張検索クエリ「ロックの外し方 SIMロック」が生成される。また、クエリ拡張Dが実行された場合には、拡張クエリ「画面」が元の検索クエリ「ロックの外し方」に追加されることにより、拡張検索クエリ「ロックの外し方 画面」が生成される。
【0045】
ステップS10において、クエリ拡張部13が、ステップS9において生成された拡張検索クエリ(或いは、図3に示される例のように、追加候補のクエリ(拡張クエリ)のみでもよい)をユーザに提示する。すなわち、クエリ拡張部13は、拡張検索クエリを用いた再検索をユーザに提案する。
【0046】
ステップS11において、クエリ拡張部13が、ステップS10においてユーザに提示された拡張検索クエリに対する採否を示す採否情報をユーザから受け付ける。拡張検索クエリを採用する旨を示す採否情報が得られた場合(ステップS12:YES)、ステップS3を再度実行する。すなわち、拡張検索クエリを新たな検索クエリとして、ステップS3の処理が実行される。一方、拡張検索クエリを採用する旨を示す採否情報が得られなかった場合(すなわち、ステップS10においてユーザに提示された拡張検索クエリを用いて検索することを拒否した場合)(ステップS12:NO)、一例として、再度ステップS4が実行される。すなわち、方策決定部14が、他の方策を決定する。
【0047】
次に、図11を参照して、方策決定部14が方策を決定するために利用する方策決定モデル(関数)の一例について説明する。方策決定モデルは、深層強化学習により生成されるモデルである。強化学習においては、状態(現在の状態)、行動、及び報酬が定義される。本実施形態では一例として、方策決定モデルは、検索対象データ毎の適合度を状態とし、各方策(すなわち、第1処理(検索A又は検索Bの適合度上位データの提示)及び第2処理(クエリ拡張C又はクエリ拡張Dにより生成された拡張検索クエリの提示))を行動とし、ユーザの意図に合致するデータ(第1処理の場合には適合度上位データ、第2処理の場合には拡張検索クエリ)が得られることを報酬として強化学習を行うことにより生成されるモデルである。
【0048】
図11に示されるように、本実施形態では、「状態」は、検索Aにより得られた適合度上位データ(一例として上位4件のデータ)の適合度と検索Bにより得られた適合度上位データ(一例として上位4件のデータ)の各々の適合度を予め定められた順序で結合した8次元のベクトルである。状態は、方策決定モデルに入力される特徴量に相当する。
【0049】
「行動」は、(1)検索Aの適合度上位データをユーザに提示、(2)検索Bの適合度上位データをユーザに提示、(3)クエリ拡張Cにより生成された拡張検索クエリをユーザに提示、及び(4)クエリ拡張Dにより生成された拡張検索クエリをユーザに提示の4つである。
【0050】
「報酬」は、上記の「行動」の結果、適切なデータがユーザに提示された場合に「1」をとり、それ以外の場合に「0」をとる値である。上記(1)及び(2)の行動については、ユーザに提示された適合度上位データがユーザの意図に合致するデータであった場合に、報酬「1」が与えられ、それ以外の場合に、報酬「0」が与えられる。上記(3)及び(4)の行動については、ユーザに提示された拡張検索クエリがユーザに採用された場合(すなわち、拡張検索クエリの内容がユーザの意図に合致していた場合)に、報酬「1」が与えられ、それ以外の場合に、報酬「0」が与えられる。
【0051】
図11に示されるように、方策決定モデルは、入力層、中間層、及び出力層からなる多層ニューラルネットワークを有している。入力層は、特徴量(状態)が入力される部分である。図9の例では、検索Aの上位4件の適合度は「0、0、0、0」であり、検索Bの上位4件の適合度は「0.796、0.796、0、0」である。従って、この例では、これらの2つの結果を連結した8次元ベクトル「0、0、0、0、0.796、0.796、0、0」が入力層に入力される。従って、入力層は、8ユニットによって構成される。
【0052】
中間層の層数及びユニット数は特に限定されないが、図11に示されるように、中間層は、例えば2層(各層128ユニット)によって構成され得る。
【0053】
出力層は、方策決定モデルの出力結果を出力する部分である。本実施形態では、出力結果は、4次元ベクトルにより表される。従って、出力層は、4ユニットによって構成される。4次元ベクトルの各値は、上記(1)~(4)の各行動の望ましさの度合いを表す数値である。図11に示されるように、例えば出力結果が「1.3、4、2、3.4」である場合、「検索B>クエリ拡張D>クエリ拡張C>検索A」の順に、方策として望ましいことを表している。換言すれば、上記の順に、ユーザの意図に合致するデータが得られる期待値が高いことを表している。
【0054】
方策決定モデルの学習を行うための具体的な手法としては、例えばA3C等の公知のアルゴリズムを用いることができる。例えば、図2に示されるステップS3~S12の処理をユーザの意図に合致する検索対象データが最終的にユーザに提示されるまで繰り返し実行しながら、ユーザからのフィードバック情報(ステップS7)及び採否情報(ステップS11)に基づいて各行動の報酬を設定し、A3C等のアルゴリズムを用いて強化学習を行うことにより、方策決定モデル(関数)の内部のパラメータが修正される。このような強化学習を繰り返して当該パラメータを収束させることにより、学習済みモデルとしての方策決定モデルが得られる。
【0055】
ただし、方策決定モデルは、必ずしも強化学習によって生成されなくてもよい。すなわち、方策決定モデルは、必ずしも多層ニューラルネットワークを有さなくてもよく、何らかの入力Xに対して、いずれの方策を実行すべきかを示す出力Yを射影する関数であればよい。例えば、方策決定モデルは、ルールベースで作成された関数であってもよい。例えば、方策決定モデルは、以下に示される<ルール>に基づいて方策を決定してもよい。
<ルール>
(A)検索Aにおける最大の適合度を有する検索対象データの適合度aが第1閾値(例えば0.5)以上の場合、検索Aを採用する。
(B)上記(A)を満たさず、検索Bにおける最大の適合度を有する検索対象データの適合度bが第2閾値(例えば0.5)以上の場合、検索Bを採用する。
(C)上記(A)及び(B)を満たさず、「適合度a>適合度b」の場合、クエリ拡張Cを採用する。
(D)上記(A)~(C)のいずれも満たさない場合、クエリ拡張Dを採用する。
【0056】
図9の例では、検索Aにおける最大の適合度が0(第1閾値未満)であり、検索Bにおける最大の適合度が0.796(第2閾値以上)であるため、上記ルールに基づく方策決定モデルを用いる場合には、検索Bが採用される。
【0057】
次に、図12及び図13を参照して、クエリ拡張C及びクエリ拡張Dの一例について説明する。図12は、クエリ拡張Cの一例を示す図であり、図13は、クエリ拡張Dの一例を示す図である。
【0058】
図12に示されるように、クエリ拡張Cは、検索A及び検索Bの適合度の和の上位N個(ここでは一例としてNは3)のデータから、IDF(Inverse Document Frequency)のスコアが最も大きい名詞句の原形を抽出する手法である。図12に示されるように、図9の例では、「ID=1」から「ID=5」までの各検索対象データの適合度の和は、それぞれ、0、0.796、0.796、0、0となる。すなわち、「ID=2,3」の検索対象データが同率で1位であり、「ID=1,4,5」の検索対象データが同率で3位である。これら上位3個の検索対象データに含まれ、IDFのスコアが最も大きい名詞句(頻度が小さい名詞句)は、「頻度=1」である「SIMロック」、「画面ロック」、及び「LINE」である。クエリ拡張Cでは、例えば、これらの名詞句からランダムに1つ選択される。その結果、「SIMロック」が拡張クエリとして選択された場合には、図10に示したように、拡張検索クエリ「ロックの外し方 SIMロック」が生成される。
【0059】
図13に示されるように、クエリ拡張Dは、クエリと共起する頻度が高い単語を過去の検索クエリから抽出し、クエリの修正を提案する手法である。過去の検索クエリは、例えば、検索ログとして、検索装置10が備えるログデータベース(不図示)に記憶される。この場合、クエリ拡張部13は、ログデータベースを参照することにより、クエリ拡張Dによるクエリ拡張を実行することができる。クエリ拡張Dは、過去の検索クエリを参照し、現時点の検索クエリと共起する頻度が高い単語を1つ選択し、現時点の検索クエリに追加する。図13の例では、過去の検索クエリで「ロックの外し方」を含む「画面 ロックの外し方」の頻度が最大である。このため、図10に示したように、「画面」が拡張クエリとして追加されることにより、拡張検索クエリ「ロックの外し方 画面」が生成される。
【0060】
以上説明した検索装置10では、検索クエリとの適合度が上位の検索対象データをユーザに提示する第1処理と、クエリ拡張部13により生成される拡張検索クエリを用いた検索部12による再検索をユーザに提案する第2処理と、のいずれの処理を実行するかが、現時点で得られている検索対象データ毎の適合度に基づいて決定される。本実施形態では一例として、方策決定部14は、検索A及び検索Bのそれぞれにおける適合度が上位所定数(本実施形態では4つ)の各検索対象データの適合度に基づいて、方策を決定する。従って、検索装置10によれば、現時点の検索結果をユーザに提示するか、クエリ拡張を行って再検索を行うかを適切に切り換えることで、無駄な処理(例えば、ユーザの意図に合致しない検索結果の提示、不要なクエリ拡張の提案)を抑制し、検索効率を向上させることができる。その結果、ユーザの所望する検索対象データをユーザに提示するまでに必要となるステップ(検索結果の提示又はクエリ拡張)数の期待値をなるべく小さくすることができる。例えば、図2の例では、3回のステップにより、ユーザの所望する検索対象データをユーザに提示することができる。
【0061】
また、上述したように、方策決定部14は、適合度が上位の予め定められた数の検索対象データの適合度に基づいて、第1処理と第2処理とのいずれの処理を実行するかを決定する。本実施形態では一例として、方策決定部14は、検索Aにおける上位4つの検索対象データの適合度及び検索Bにおける上位4つの検索対象データの適合度に基づいて、第1処理と第2処理とのいずれの処理を実行するかを決定する(図11参照)。このように、適合度が上位の検索対象データの適合度に着目することにより、第1処理によって検索結果をユーザに提示すべきか、或いは第2処理によって拡張検索クエリによる再検索(すなわち、クエリ拡張によって精度を高めた検索を行うこと)を提案すべきかを、より精度良く決定することができる。例えば、適合度が上位の検索対象データの適合度が全体的に低い場合には、当該検索対象データはユーザの所望するデータでない可能性が高いと判断し、第2処理を選択することが可能となる。また、適合度が上位の検索対象データの適合度が全体的に高い場合にも、現時点では、ユーザの所望するデータを絞り切れていない可能性が高いと判断し、第2処理を選択することが可能となる。また、特定の検索対象データの適合度が他の検索対象データよりも高い場合には、当該特定の検索対象データがユーザの所望するデータである可能性が高いと判断し、第1処理を実行すると選択することができる。なお、本実施形態のように強化学習モデルである方策決定モデルを用いる場合は、上記の判断処理を行う部分は、モデル内部のパラメータとしてブラックボックス化されるが、適合度が上位の検索対象データの適合度に着目することにより、上記の判断処理に相当する計算を実行可能なように、パラメータを学習させることが可能になると考えられる。また、強化学習モデルの代わりに上述したようなルールベースで作成された関数を用いる場合、適合度が上位の検索対象データの適合度に着目することにより、上記の判断処理に相当するルールを構築することが可能となる。
【0062】
また、方策決定部14は、上述した方策決定モデルを用いることにより、第1処理と第2処理とのいずれの処理を実行するかを決定する。ここで、方策決定モデルは、検索対象データ毎の適合度を状態とし、第1処理(検索A又は検索Bにおける適合度上位データの提示)及び第2処理(クエリ拡張C又はクエリ拡張Dにより生成された拡張検索クエリの提示)を行動とし、ユーザの意図に合致するデータが得られることを報酬として強化学習を行うことにより生成されたモデルである。また、方策決定モデルは、検索対象データ毎の適合度を入力して第1処理及び第2処理のいずれを実行すべきかを示す値を出力する。上記のような強化学習モデルとしての方策決定モデルを用いることにより、検索装置10の検索処理を繰り返し実行することで、方策決定の精度を向上させることができる。なお、上述したように、方策決定モデルとして、このような強化学習モデルでなく、ルールベースで作成された関数を用いることもできる。しかし、例えば、第1処理において利用可能な検索手法の数、及び第2処理において利用可能なクエリ拡張手法の数が多くなるにつれて、ルールが複雑化するため、ルールベースで適切な関数を作成することが困難となる。一方、上記のような強化学習モデルを用いた場合には、このようなルールに該当する部分をブラックボックス化できるため、上記の問題を回避することができる。
【0063】
また、検索部12は、互いに異なる複数の検索手法(本実施形態では一例として、検索A及び検索B)を実行可能に構成されている。そして、方策決定部14は、第1処理を実行すると決定する場合には、複数の検索手法のうちのいずれの手法を実行するかを決定する。上記構成によれば、第1処理を実行する場合において、複数の検索手法の検索結果のうち、ユーザの意図に合致する可能性が高い検索結果をユーザに提示することが可能となる。
【0064】
また、検索部12は、複数の検索手法の各々について、検索対象データ毎の適合度を算出する。本実施形態では、検索部12は、検索A及び検索Bの各々について、検索対象データ毎の適合度を算出する(図9参照)。そして、方策決定部14は、複数の検索手法の各々についての検索対象データ毎の適合度に基づいて、第1処理と第2処理とのいずれの処理を実行するかを決定する。上記構成によれば、検索部12が複数の検索手法を実行可能な場合において、単一の検索手法の適合度のみを考慮する場合と比較して、より適切な方策を決定することが可能となり、検索効率を効果的に向上させることが期待できる。
【0065】
また、クエリ拡張部13は、互いに異なる複数のクエリ拡張手法(本実施形態では一例として、クエリ拡張C及びクエリ拡張D)を実行可能に構成されている。そして、方策決定部14は、第2処理を実行すると決定する場合には、複数のクエリ拡張手法のうちのいずれの手法を実行するかを決定する。上記構成によれば、第2処理を実行する場合において、複数のクエリ拡張手法により生成される拡張検索クエリのうち、ユーザの意図に合致する可能性が高い拡張検索クエリをユーザに提案することが可能となる。
【0066】
また、方策決定部14により第1処理を実行すると決定された場合に、提示部15は、適合度上位データをユーザに提示する。また、管理部16は、提示部15によりユーザに提示された検索対象データ(適合度上位データ)を提示済みデータとして管理する。また、提示部15は、提示済みデータがユーザの意図に合致するデータであるか否かを示すフィードバック情報をユーザから受け付ける。そして、検索部12は、提示済みデータがユーザの意図に合致するデータでないことを示すフィードバック情報を提示部15が受け付けた場合に、複数の検索対象データから提示済みデータを除外して、検索対象データ毎の適合度を算出する。上記構成によれば、ユーザからのフィードバック情報に応じて、ユーザの所望する検索対象データが得られるまで、検索処理(主に、検索部12、クエリ拡張部13、及び方策決定部14による処理)を繰り返し実行することができる。
【0067】
なお、上記実施形態では、検索部12は、2つの検索手法(検索A、検索B)を実行可能に構成されていたが、検索部12は、1つの検索手法のみを実行可能に構成されてもよいし、3つ以上の検索手法を実行可能に構成されてもよい。また、クエリ拡張部13は、2つのクエリ拡張手法(クエリ拡張C、クエリ拡張D)を実行可能に構成されていたが、クエリ拡張部13は、1つのクエリ拡張手法のみを実行可能に構成されてもよいし、3つ以上のクエリ拡張手法を実行可能に構成されてもよい。
【0068】
また、第2処理(拡張検索クエリの提案)においては、クエリ拡張部13は、図3で例示したように、複数の拡張検索クエリ(或いは拡張クエリ)のうちから使用する拡張検索クエリをユーザに選択させてもよいし、図10に例示したように、1つの拡張検索クエリ(或いは拡張クエリ)のみをユーザに提示し、当該拡張検索クエリを採用するか否かをユーザに回答させてもよい。
【0069】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0070】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。
【0071】
例えば、本開示の一実施の形態における検索装置10は、本開示の処理を行うコンピュータとして機能してもよい。図14は、本開示の一実施の形態に係る検索装置10のハードウェア構成の一例を示す図である。上述の検索装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
【0072】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。検索装置10のハードウェア構成は、図1に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【0073】
検索装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
【0074】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。
【0075】
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、方策決定部14は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【0076】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る通信制御方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0077】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
【0078】
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【0079】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0080】
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
【0081】
また、検索装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
【0082】
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
【0083】
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0084】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0085】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0086】
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0087】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0088】
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0089】
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0090】
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【0091】
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々な情報要素は、あらゆる好適な名称によって識別できるので、これらの様々な情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。
【0092】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0093】
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0094】
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0095】
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0096】
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
【符号の説明】
【0097】
10…検索装置、10a…データ蓄積部、11…入力部、12…検索部、13…クエリ拡張部、14…方策決定部、15…提示部(受付部)、16…管理部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14