図面 (/)

技術 文書検索装置、方法及びプログラム

出願人 株式会社東芝
発明者 小林優佳坪田友美
出願日 2015年3月20日 (4年5ヶ月経過) 出願番号 2017-507156
公開日 2017年5月25日 (2年3ヶ月経過) 公開番号 WO2016-151690
状態 特許登録済
技術分野 検索装置
主要キーワード 機械学習モデル ウインナー オムレツ キーフレーズ 卵アレルギー 前回入力 組み込みシステム データベース管理ソフト
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年5月25日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題・解決手段

一実施形態に係る文書検索装置は、取得部、形態素解析部、クエリー語抽出部、意図推定部、検索式リスト、追加クエリー語リストクエリー生成部、及び検索部を備える。取得部は、ユーザから入力文を取得する。形態素解析部は、入力文に対して形態素解析を行うことにより単語を抽出する。クエリー語抽出部は、単語の中から、検索に使用する単語をクエリー語として抽出する。意図推定部は、入力文に基づいてユーザの検索意図を推定する。クエリー生成部は、複数の検索式登録された検索式リストから、検索意図に対応する検索式を取得し、複数の追加クエリー語が登録された追加クエリー語リストから、検索式とクエリー語との組に対応する追加クエリー語を取得し、検索式にクエリー語及び追加クエリー語を適用することによりクエリーを生成する。検索部は、クエリーに適合する文書を検索する。

概要

背景

自然言語文を入力して行う文書検索では、入力文中の単語をクエリー語として取得し、そのクエリー語を含む文書を出力する手法が用いられている。しかしながら、この手法では、クエリー語で文書全体検索するので、クエリー語に対応する単語がユーザの意図と異なる用い方で使用されている文書などの意図しない文書が検索結果に含まれることがある。文書検索技術においては、ユーザの意図に合った文書を検索できることが求められている。

概要

一実施形態に係る文書検索装置は、取得部、形態素解析部、クエリー語抽出部、意推定部、検索式リスト、追加クエリー語リストクエリー生成部、及び検索部を備える。取得部は、ユーザから入力文を取得する。形態素解析部は、入力文に対して形態素解析を行うことにより単語を抽出する。クエリー語抽出部は、単語の中から、検索に使用する単語をクエリー語として抽出する。意推定部は、入力文に基づいてユーザの検索意を推定する。クエリー生成部は、複数の検索式登録された検索式リストから、検索意に対応する検索式を取得し、複数の追加クエリー語が登録された追加クエリー語リストから、検索式とクエリー語との組に対応する追加クエリー語を取得し、検索式にクエリー語及び追加クエリー語を適用することによりクエリーを生成する。検索部は、クエリーに適合する文書を検索する。

目的

本発明が解決しようとする課題は、ユーザの意図に合った文書を検索することができる文書検索装置、方法及びプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

ユーザから入力文を取得する取得部と、前記入力文に対して形態素解析を行うことにより単語を抽出する形態素解析部と、前記抽出された単語の中から、検索に使用する単語をクエリー語として抽出するクエリー語抽出部と、前記入力文に基づいて前記ユーザの検索意図推定する意図推定部と、複数の検索式登録された検索式リストと、複数の追加クエリー語が登録された追加クエリー語リストと、前記検索式リストから、前記推定された検索意図に対応する検索式を取得し、前記追加クエリー語リストから、前記取得された検索式と前記抽出されたクエリー語との組に対応する追加クエリー語を取得し、前記取得された検索式に前記抽出されたクエリー語及び前記取得された追加クエリー語を適用することによりクエリーを生成するクエリー生成部と、前記クエリーに適合する文書を検索する検索部と、を具備する文書検索装置

請求項2

前記クエリー生成部は、前記取得された検索式が、追加クエリー語を取得するためのファンクションを含む場合、前記追加クエリー語リストから、前記ファンクションと前記抽出されたクエリー語との組に対応する追加クエリー語を取得し、前記取得された検索式において前記ファンクションを前記取得された追加クエリー語で置き換える、請求項1に記載の文書検索装置。

請求項3

前記推定された検索意図に対応する検索式の候補が複数ある場合に、当該候補を絞り込むために前記ユーザに出力する応答文を生成する応答文生成部をさらに具備する、請求項1に記載の文書検索装置。

請求項4

前記取得部は、前記応答文を受けて前記ユーザが入力した他の入力文を取得し、前記クエリー語抽出部は、前記他の入力文に基づく他のクエリー語を抽出し、前記クエリー生成部は、前記抽出されたクエリー語及び前記抽出された他のクエリー語を用いてクエリーを生成する、請求項3に記載の文書検索装置。

請求項5

前記ユーザが他の入力文を入力した場合、前記クエリー生成部は、前記他の入力文に基づく他のクエリーを生成し、前記クエリーと前記他のクエリーとをつなげたクエリーを生成する、請求項1に記載の文書検索装置。

請求項6

前記意図推定部は、複数の検索意図がキーワード又はキーフレーズ対応付けて登録された検索意図リストを保持し、当該検索意図リストから、入力文に対応する検索意図を取得する、請求項1に記載の文書検索装置。

請求項7

前記クエリー生成部は、前記取得された検索式が、追加クエリー語を取得するためのファンクションを含む場合、前記追加クエリー語リストから、前記ファンクションと前記抽出されたクエリー語との組に対応する追加クエリー語を取得し、前記取得された検索式に前記抽出されたクエリー語及び前記取得された追加クエリー語を適用することにより前記クエリーを生成し、前記取得された検索式が前記ファンクションを含まない場合、前記取得された検索式に前記抽出されたクエリー語を適用することにより前記クエリーを生成する、請求項1に記載の文書検索装置。

請求項8

ユーザから入力文を取得し、前記入力文に対して形態素解析を行うことにより単語を抽出し、前記抽出された単語の中から、検索に使用する単語をクエリー語として抽出し、前記入力文に基づいて前記ユーザの検索意図を推定し、複数の検索式が登録された検索式リストから、前記推定された検索意図に対応する検索式を取得し、複数の追加クエリー語が登録された追加クエリー語リストから、前記取得された検索式と前記抽出されたクエリー語との組に対応する追加クエリー語を取得し、前記取得された検索式に前記抽出されたクエリー語及び前記取得された追加クエリー語を適用することによりクエリーを生成し、前記クエリーに適合する文書を検索する、文書検索方法

請求項9

コンピュータを、ユーザから入力文を取得する手段と、前記入力文に対して形態素解析を行うことにより単語を抽出する手段と、前記抽出された単語の中から、検索に使用する単語をクエリー語として抽出する手段と、前記入力文に基づいて前記ユーザの検索意図を推定する手段と、複数の検索式が登録された検索式リストから、前記推定された検索意図に対応する検索式を取得し、複数の追加クエリー語が登録された追加クエリー語リストから、前記取得された検索式と前記抽出されたクエリー語との組に対応する追加クエリー語を取得し、前記取得された検索式に前記抽出されたクエリー語及び前記取得された追加クエリー語を適用することによりクエリーを生成する手段と、前記クエリーに適合する文書を検索する手段として機能させるための文書検索プログラム

技術分野

0001

本発明の実施形態は、文書検索装置、方法及びプログラムに関する。

背景技術

0002

自然言語文を入力して行う文書検索では、入力文中の単語をクエリー語として取得し、そのクエリー語を含む文書を出力する手法が用いられている。しかしながら、この手法では、クエリー語で文書全体検索するので、クエリー語に対応する単語がユーザの意図と異なる用い方で使用されている文書などの意図しない文書が検索結果に含まれることがある。文書検索技術においては、ユーザの意図に合った文書を検索できることが求められている。

先行技術

0003

特開2002−342361号公報
特開2014−132464号公報

発明が解決しようとする課題

0004

本発明が解決しようとする課題は、ユーザの意図に合った文書を検索することができる文書検索装置、方法及びプログラムを提供することである。

課題を解決するための手段

0005

一実施形態に係る文書検索装置は、取得部、形態素解析部、クエリー語抽出部、意図推定部、検索式リスト、追加クエリー語リストクエリー生成部、及び検索部を備える。取得部は、ユーザから入力文を取得する。形態素解析部は、前記入力文に対して形態素解析を行うことにより単語を抽出する。クエリー語抽出部は、前記抽出された単語の中から、検索に使用する単語をクエリー語として抽出する。意図推定部は、前記入力文に基づいて前記ユーザの検索意図を推定する。検索式リストには、複数の検索式登録されている。追加クエリー語リストには、複数の追加クエリー語が登録されている。クエリー生成部は、前記検索式リストから、前記推定された検索意図に対応する検索式を取得し、前記追加クエリー語リストから、前記取得された検索式と前記抽出されたクエリー語との組に対応する追加クエリー語を取得し、前記取得された検索式に前記抽出されたクエリー語及び前記取得された追加クエリー語を適用することによりクエリーを生成する。検索部は、前記クエリーに適合する文書を検索する。

図面の簡単な説明

0006

第1の実施形態に係る文書検索装置を示すブロック図。
図1に示した意図推定部が保持する検索意図リストの例を示す図。
図1に示した文書DBの例を示す図。
図1に示した検索式リストの例を示す図。
図1に示した追加クエリー語リストの例を示す図。
第1の実施形態に係る文書検索処理の手順例を示す図。
第2の実施形態に係る文書検索装置を示すブロック図。
図7に示した検索式リストの例を示す図。
第2の実施形態に係る文書検索処理の手順例を示す図。
第3の実施形態に係る文書検索処理の手順例を示す図。

実施例

0007

以下、図面を参照しながら実施形態を説明する。実施形態は、レシピに関する文書を検索する文書検索装置に関する。検索対象は、レシピに関する文書に限定されない。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。

0008

(第1の実施形態)
図1は、第1の実施形態に係る文書検索装置100を概略的に示している。文書検索装置100は、図1に示されるように、取得部101、形態素解析部102、クエリー語抽出部103、意図推定部104、クエリー生成部105、検索部106、形態素解析辞書107、検索式リスト108、追加クエリー語リスト109、及び文書データベース(DB)110を備える。

0009

取得部101は、ユーザから入力文を取得する。入力文を取得する方法としては、例えば、音声認識手書き文字認識キーボード入力などを利用することができる。例えば、音声認識を用いる場合、取得部101は、ユーザが発した音声に対して音声認識を行うことにより文字列(テキスト)を生成し、この文字列を入力文とする。取得部101は、マイクロホンタッチパネルキーボードなどの入力装置を備えてもよく、外部装置から入力文を受け取ってもよい。

0010

形態素解析部102は、形態素解析辞書107を使用して入力文に対して形態素解析を行うことにより、1又は複数の単語を抽出する。各単語には、品詞基本形、読みなどの情報が付与されてもよい。

0011

クエリー語抽出部103は、形態素解析部102により抽出された単語の中から、検索に使用する単語をクエリー語として抽出する。クエリー語を抽出する方法は、例えば、品詞が名詞である単語をクエリー語として抽出するなどのルールによる判断であり得る。検索に使用するのに不適切な単語を人手ストップワードリストにリストアップしておき、ストップワードリストに入っている単語を抽出しないようにしてもよい。例えば文書検索装置100をレシピ検索に適用する場合、ストップワードは、「料理」、「レシピ」、「味」などのレシピを特定するのに役立たない単語である。

0012

意図推定部104は、入力文に基づいてユーザの検索意図を推定(理解)する。ユーザの検索意図とは、入力文によってユーザがどのような検索をしたいかを表すタグである。意図を推定する方法はいくつか考えられる。

0013

一例では、意図推定部104は、複数の検索意図が登録されている検索意図リストを保持し、検索意図リストから、入力文に対応する検索意図を取得する。図2は、検索意図リストの一例を示す。図2に示される検索意図リストでは、検索意図はキーワード又はキーフレーズ対応付けて登録されている。「卵アレルギーなんだよね」という入力文に対して検索意図を推定するために、キーワード「アレルギー」が検索意図「allergy-with」に対応付けられている。意図推定部104は、入力文が「アレルギー」という単語を含む場合に、検索意図「allergy-with」を出力する。さらに、「は入れないで」という入力文に対して検索意図を推定するために、「○○は入れない」というフレーズが検索意図「without-ingredient」に対応付けられている。意図推定部104は、入力文が「○○は入れない」というフレーズを含む場合に、検索意図「without-ingredient」を出力する。

0014

他の例では、検索意図それぞれに対応する入力文を大量に集めておき、形態素解析結果などを使用して機械学習モデル構築してモデルによって推定を行う方法が用いられる。意図推定方法は、これらの例に限らず、いかなる方法であってもよい。

0015

クエリー生成部105は、検索条件を示す複数の検索式が登録された検索式リスト108と検索に追加的に使用する複数の追加クエリー語が登録された追加クエリー語リスト109とを使用して、意図推定部104により推定された検索意図に基づいてクエリーを生成する。クエリーを生成する方法については後述する。

0016

検索部106は、文書DB110から、クエリー生成部105により生成されたクエリーに適合する文書を検索する。文書DB110は、検索対象の文書を格納している。文書は、複数の属性に対応付けられている。図3は、レシピに関する文書を格納する文書DB110の一例を示す。文書DB110では、文書は、title(料理名)、ingredient(材料)、genre(ジャンル)、comment(コメント)、favor(○○が好きな人向け)、notfavor(○○が嫌いな人向け)などの属性に対応付けられている。属性の値は、文書作成時作成者手動で設定する。例えば、「ピラフ」は野菜みじん切りにするためピーマンが嫌いな人でも食べられると考えられるので、属性「notfavor」にピーマンが格納される。属性「notfavor」は、特定の食材が嫌いな人向けの料理という属性であるが、属性「notfavor」の値は、対象の食材が入っていない料理だけに付与されるわけではなく、対象の食材が入っているが食べやすく工夫されている料理にも付与される。

0017

クエリー生成方法について詳細に説明する。
図3は、検索式リスト108の一例を示している。図3に示される検索式リスト108では、検索式が検索意図に対応付けられている。検索式は、検索対象の属性と属性に対する検索方法のセットで記述されている。検索式は、1つのセットで記述される場合もあれば、AND又はORでつながった複数のセットで記述される場合もある。

0018

検索意図「title」は、料理名で検索するための意図である。検索意図「title」に対応する検索式は、「title LIKE%QUERY-WORD%」であり、属性「title」にクエリー語(クエリー語抽出部103により抽出されたクエリー語)が含まれる文書を検索する。検索意図「with-ingredient」は、材料を指定して検索するための意図である。検索意図「with-ingredient」に対応する検索式は、「ingredient LIKE %QUERY-WORD%」であり、属性「ingredient」にクエリー語が含まれる文書を検索する。検索意図「without-ingredient」は、嫌いな食材を含まない料理を検索するための意図である。検索意図「without-ingredient」に対応する検索式は、「ingredient NOT LIKE %QUERY-WORD%」であり、属性「ingredient」にクエリー語が含まれない文書を検索する。

0019

検索意図「allergy-with」は、食物アレルギー対応の料理を検索するための意図である。検索意図「allergy-with」に対応する検索式は、「ingredient NOT LIKE%QUERY-WORD% AND ingredient NOT LIKE %product(QUERY-WORD, AND)%」であり、属性「ingredient」にクエリー語とproduct(QUERY-WORD, AND)が含まれない文書を検索する。product(QUERY-WORD, AND)は、追加クエリー語リスト109から追加クエリー語を取得するためのファンクションである。ファンクションの書式は、例えば、FUNCTION(arg, symbol)である。FUNCTIONにはファンクション名が入り、argには引数が入る。クエリー生成部105は、FUNCTIONとargの組で追加クエリー語リスト109に問い合わせを行う。symbolは、追加クエリー語リスト109が複数の追加クエリー語を返した場合に、それらの追加クエリー語をつなぐ演算子を指定する。クエリー生成部105は、ファンクション名とクエリー語の組で追加クエリー語リスト109に問い合わせを行って追加クエリー語を取得し、取得した追加クエリー語でproduct(QUERY-WORD, AND)を書き換える。アレルギーを持つ人は、一般に、アレルギー食材そのものが材料に含まれている料理だけでなく、アレルギー食材の加工品が含まれている料理も食べることができない。そこで、検索意図が「allergy-with」と推定された場合、属性「ingredient」にクエリー語とクエリー語の加工品が含まれない文書が検索される。

0020

検索意図が「without-ingredient」である場合、属性「ingredient」に対象の食材が含まれない文書が検索され、検索意図が「allergy-with」である場合、属性「ingredient」に対象の食材そのものとその加工品が含まれない文書が検索される。特定の食材が嫌いな人でも、その加工品は嫌いではない場合がある。例えば、トマトが嫌いな人でもケチャップトマトソースは食べられる場合があり、検索意図が「without-ingredient」と推定された場合、加工品まで除外する必要はないと考えられる。それに対してアレルギーの場合は対象の食材を原材料に含んだものはすべて食べられない場合が多いので、加工品も合わせて除外すべきである。

0021

検索意図「try」は、嫌いな食材を食べるために工夫された料理を検索するための意図である。検索意図「try」に対応する検索式は、「ingredient LIKE%QUERY-WORD% AND notfavor LIKE %QUERY-WORD%」であり、属性「ingredient」にクエリー語が含まれ、かつ、属性「notfavor」にクエリー語が含まれる文書を検索する。検索意図「genre」は、洋食、和食などの料理のジャンルで検索するための意図である。検索意図「genre」に対応する検索式は、「genre=%QUERY-WORD%」であり、属性「genre」の値がクエリー語と等しい文書を検索する。

0022

図5は、追加クエリー語リスト109の一例を示している。図5に示される追加クエリー語リスト109では、追加クエリー語がファンクション及びクエリー語に対応付けられている。上述したように、検索意図「allergy-with」に対応する検索式は、product(QUERY-WORD, AND)というファンクションを含む。ファンクション「product」は、QUERY-WORDの加工品を指定するファンクションである。例えば、抽出されたクエリー語が「卵」である場合、ファンクション「product」は、「マヨネーズ」、「ベーコン」、「ウインナー」、「はんぺん」を返す。ファンクション「similar」は、食感や味が似ている食べ物を指定するファンクションである。例えば、抽出されたクエリー語が「ブロッコリー」である場合、ファンクション「similar」は、見た目や食感が似ている「アスパラガス」を返す。

0023

クエリー生成は、例えば、次のように行われる。まず、クエリー生成部105は、検索式リスト108から、推定された検索意図に対応する検索式を取得する。続いて、クエリー生成部105は、検索式がファンクションを含むか否かを判断する。検索式がファンクションを含まない場合、クエリー生成部105は、検索式にクエリー語を適用してクエリーを生成する。検索式がファンクションを含む場合、クエリー生成部105は、追加クエリー語リストから、ファンクションとクエリー語の組に対応する追加クエリー語を取得する。そして、クエリー生成部105は、検索式にクエリー語と追加クエリー語の組を適用してクエリーを生成する。

0024

次に、文書検索装置100の動作について説明する。
図6は、文書検索装置100の検索処理の手順例を示している。ここでは、「卵アレルギーなんだよね」という文が入力された場合を例に挙げて説明する。検索意図リスト、文書DB110、検索式リスト108、追加クエリー語リスト109はそれぞれ、図2、3、4、5に示されるものを用いるとする。

0025

テップS601では、取得部101は、ユーザが検索のために入力した入力文を取得する。例えば、ユーザがキーボードを用いてテキスト「卵アレルギーなんだよね」を入力する。ステップS602では、形態素解析部102は入力文に対して形態素解析を行う。入力文は単語(形態素)に分割され、単語それぞれに品詞情報などが付与される。入力文「卵アレルギーなんだよね」は、「卵」、「アレルギー」、「なんだ」、「よ」、「ね」に分割される。

0026

ステップS603では、クエリー語抽出部103は、ステップS601で得られた単語の中から、検索に使用する単語をクエリー語として抽出する。例えば、名詞を抽出するというルールに従って抽出が行われ、「卵」がクエリー語として抽出される。単語「アレルギー」も名詞であるが、単語「アレルギー」はストップワードであるので抽出されない。ステップS604では、意図推定部104は、入力文に基づいてユーザの検索意図を推定する。入力文「卵アレルギーなんだよね」には「アレルギー」という単語が含まれているので、検索意図「allergy-with」が出力される。ステップS604の処理は、ステップS603の処理と並列に実行されてもよく、ステップS603の処理の前に又は後に実行されてもよい。

0027

ステップS605では、クエリー生成部105は、ステップS604で推定された検索意図で検索式リスト108を参照し、検索式を取得する。検索意図「allergy-with」で検索式リスト108を参照すると、次の検索式が得られる。
ingredient NOT LIKE%QUERY-WORD%
AND
ingredient NOT LIKE %product(QUERY-WORD, AND)%

0028

ステップS606では、上記検索式中のQUERY-WORDがステップS603で抽出されたクエリー語で置換される。ステップS603では、クエリー語として「卵」が抽出されており、検索式は下記になる。
ingredient NOT LIKE%卵%
AND
ingredient NOT LIKE %product(卵, AND)%

0029

ステップS607では、検索式にファンクションが含まれるか否かが判断される。検索式にファンクションが含まれる場合、ステップS608に進み、そうでなければ、ステップS609に進む。

0030

ステップS608では、クエリー生成部105は、ファンクションとクエリー語の組で追加クエリー語リスト109を参照し、追加クエリー語を取得する。本例の検索式はファンクション「product」を含む。ファンクション「product」とクエリー語「卵」の組で追加クエリー語リスト109を参照すると、「マヨネーズ」、「ベーコン」、「ウインナー」、「はんぺん」が追加クエリー語として取得される。検索式のファンクション部分は、取得された追加クエリー語で書き換えられる。検索式は下記になる。
ingredient NOT LIKE%卵%
AND
ingredient NOT LIKE %マヨネーズ,ベーコン,ウインナー,はんぺん%

0031

この検索式をSQL構文として正しく書き換えると下記になる。
ingredient NOT LIKE%卵%
AND
ingredient NOT LIKE %マヨネーズ%
AND
ingredient NOT LIKE %ベーコン%
AND
ingredient NOT LIKE %ウインナー%
AND
ingredient NOT LIKE %はんぺん%
複数の追加クエリー語が取得された場合は上記のように式が展開される。式同士を結合する演算子は、ファンクション内で指定されていた「AND」を使用する。上記の検索式がクエリーとして検索部106に与えられる。

0032

ステップS609では、検索部106は、文書DB110からクエリーに適合する文書を検索する。本例では、検索部106は、「低アレルゲンコロッケ」、「しょうが焼き」を含む検索結果を取得する。属性「ingredient」に「卵」が含まれる「オムレツ」及び「コロッケ」、属性「ingredient」に「ベーコン」が含まれる「ピラフ」、属性「ingredient」に「はんぺん」が含まれる「おでん」は、検索結果から除外される。ステップS610では、検索結果が画面表示や読み上げなどでユーザに提示される。

0033

次に、「卵嫌いだから入れないで」という文が入力される場合について説明する。まず、ユーザが入力した文「卵嫌いだから入れないで」が取得部101によって取得される。次に、入力文「卵嫌いだから入れないで」が形態素解析部102によって単語(形態素)に分割され、単語それぞれに品詞情報などが付与される。次に、クエリー語抽出部103によってクエリー語が抽出される。ルールベースで抽出が行われ、「卵」がクエリー語として抽出される。次に、検索意図が意図推定部104によって入力文に基づいて推定される。この例では、検索意図「without-ingredient」が出力される。クエリー生成部105は、検索意図「without-ingredient」で検索式リスト108を参照し、次の検索式を取得する。
ingredient NOT LIKE%QUERY-WORD%
QUERY-WORDは取得したクエリー語で置換され、検索式は下記になる。
ingredient NOT LIKE %卵%

0034

次に、検索式がファンクションを含むか否かが判断される。この例では、ファンクションが含まれていないので、この検索式がクエリーとして検索部106に与えられる。

0035

検索部106は、上記の検索式を使用して文書DB110に問い合わせる。属性「ingredient」に「卵」が含まれる「オムレツ」及び「コロッケ」は除外され、「低アレルゲンコロッケ」、「豚のしょうが焼き」、「おでん」、「ピラフ」が検索結果として出力される。

0036

このようにして、同じ単語「卵」を使用している「卵アレルギーなんだよね」と「卵嫌いだから入れないで」という2つの文に対し、ユーザの意図に合った検索結果を提示することができる。

0037

ユーザは、1回目の検索で得られた結果に多数の文書が含まれる場合、結果を絞り込むためにもう一度入力することがある。文が入力され検索が実施された後で、もう一度文が入力された場合、文書検索装置100は2回目の入力文は1回目の検索結果に対する絞り込み検索みなすことができる。この場合、クエリー生成部105は、1回目の入力文に基づく検索式と2回目の入力文に基づく検索式をつなげたクエリーを生成する。

0038

以上のように、第1の実施形態に係る文書検索装置は、入力文に基づいてユーザの検索意図を推定し、その検索意図に応じたクエリーを作成し、そのクエリーに適合する文書を検索する。それにより、ユーザに意図に合った文書を検索することができる。

0039

(第2の実施形態)
図7は、第2の実施形態に係る文書検索装置700を概略的に示している。文書検索装置700は、図7に示されるように、取得部101、形態素解析部102、クエリー語抽出部103、意図推定部104、クエリー生成部105、検索部106、形態素解析辞書107、検索式リスト708、追加クエリー語リスト109、文書DB110、及び応答文生成部701を備える。第2の実施形態では、第1の実施形態と同じ部分、動作についての説明を適宜省略する。

0040

検索式リスト708では、検索条件を示す複数の検索式が登録されている。図8は、検索式リスト708の一例を示す。図8に示される検索式リスト708は、図4に示される検索式リスト108の項目に加えて、検索意図候補及び応答文データという項目を含む。検索意図候補は、入力文から推定される検索意図から推定され得る検索意図の候補である。本実施形態では、検索式が一意に決定される検索意図と、検索式が複数考えられる検索意図がある。

0041

検索式が複数考えられる検索意図については、検索式それぞれに対応する検索意図が検索意図候補として登録される。例えば、入力文「じゃがいもを使った料理」に基づく検索意図は「with-ingredient」であり、「ingredient LIKE%じゃがいも%」という検索式が一意に決定される。これに対し、入力文「卵を使っていない料理」に基づく検索意図は「without-ingredient」であるが、この入力文からは、「卵嫌いだから入れないで」という入力文のように、「卵そのものだけを含まない料理」を検索したいのか、「卵アレルギーなんだよね」という入力文のように、「卵と卵加工品を含まない料理」を検索したいのかを判断することができない。すなわち、検索意図が「without-ingredient」と推定された場合、2つの検索式が考えられる。検索意図「without-ingredient」には、これら2つの検索式だけでなく、2つの検索式に一意に対応する検索意図「dont-eat」と「allergy-with」が対応付けられる。同様に、入力文「ピーマンが嫌い」に基づく検索意図「dont-like」には、検索意図「dont-eat」と「try」が対応付けられる。「応答文データ」の項目は応答文を生成する際に使用するデータを格納する。検索意図候補に値が設定されている検索意図に対しては応答文データを記述する必要はない。応答文データの中の「QUERY-WORD」という部分は、入力文から取得した実際のクエリー語に置き換えて使用される。

0042

応答文生成部701は、意図推定部104により推定された検索意図に対応する検索式の候補が複数ある場合に、候補を絞り込むためにユーザに出力する応答文を生成する。応答文生成部701は、検索式リスト108とクエリー語抽出部103により抽出されたクエリー語とを使用して、ユーザに問い返す応答文を生成する。応答文は、音声合成を使用して音声で案内してもよいし、画面に表示してもよい。

0043

図9は、文書検索装置700の検索処理の手順例を示している。ここでは、ユーザが「卵を使っていない料理」という文を入力した場合を例に挙げて説明する。検索意図リスト、文書DB110、検索式リスト108、追加クエリー語リスト109はそれぞれ、図2、3、8、5に示されるものを用いるとする。

0044

図9のステップS901〜S903の処理は、図6のステップS601〜603の処理と同じであるので、説明を省略する。入力文「卵を使っていない料理」は、単語「卵」、「を」、「使っ」、「て」、「い」、「ない」、「料理」に分割される。これらの単語の中から単語「卵」がクエリー語として抽出される。「料理」はストップワードリストに登録されているので選択されない。

0045

ステップS904では、意図推定部104は、入力文に基づいてユーザの検索意図を推定する。本例では、検索意図「without-ingredient」が出力される。ステップS905では、検索式が1つに決まるか否かが判断される。意図推定部104により推定された検索意図に複数の検索意図候補が対応付けられている場合は、検索式が1つに決まらない。この場合、ステップS906に進む。検索式リスト108を参照すると、検索意図「without-ingredient」には検索意図候補「dont-eat」と「allergy-with」が対応付けられている。これは、検索式の候補が2つあることを示す。

0046

ステップS906では、応答文生成部701は、複数の検索意図候補それぞれに対応する応答文データを使用して応答文を生成する。本例では、応答文生成部701は、まず、下記に示す検索意図候補の応答文データを取得する。
[QUERY-WORDが嫌いだから使っていない料理を検索]
[QUERY-WORDのアレルゲンを使っていない料理を検索]

0047

次に、上記文中のQUERY-WORDをステップS903で取得されたクエリー語で置き換える。
[卵が嫌いだから使っていない料理を検索]
[卵のアレルゲンを使っていない料理を検索]
最後に、これらの文章をつなげて応答文を生成する。
「卵が嫌いだから使っていない料理を検索しますか。それとも、卵のアレルゲンを使っていない料理を検索しますか。」
この応答文は、音声又は画面表示でユーザに通知される。ユーザは、候補のどちらかを指す文を入力する。例えば、「卵が嫌いだから使っていないもの」又は「卵アレルギーだから」といった文が入力される。この入力文を同様にして解析することで、ユーザの検索意図が検索意図「dont-eat」と検索意図「allergy-with」のいずれかに決定することができる。このようにして、最初に入力された文があいまいである場合に、ユーザに明確な文を入力し直すように促すことで、検索式を一意に決定することができる。

0048

ユーザが応答文を受けて文「卵が嫌い」と入力した場合、検索意図が「dont-like」と推定され、検索意図候補「dont-eat」と「try」が出力され、再び検索式が1つに絞り込めなくなる。最初の入力文から出力された検索意図候補が「dont-eat」と「allergy-with」だったので、どちらにも含まれる検索意図に絞り込み、「dont-eat」が出力される。このように、あいまいな入力文の繰り返しでも検索式を一意に落とし込むことができる。

0049

ステップS905において検索式が決定されると、ステップS907に進む。ステップS907からS912の処理は、図6のステップS605からS610の処理と同じであるので、説明を省略する。

0050

次に、「ピーマン嫌いなんだよね」という文が入力された場合について説明する。この場合、ステップS904において検索意図「dont-like」が出力される。検索式リスト108を参照すると、検索意図「dont-like」は、検索意図候補「dont-eat」と「try」に対応付けられている。検索意図候補が複数あるので、応答文生成部701が応答文を生成する。応答文生成部701は、まず、検索意図候補の応答文データを取得する。
[QUERY-WORDが嫌いだから使っていない料理を検索]
[QUERY-WORDを食べやすくする料理を検索]

0051

次に、応答文生成部701は、上記文中のQUERY-WORDをステップS903で取得されたクエリー語で置き換える。
[ピーマンが嫌いだから使っていない料理を検索]
[ピーマンを食べやすくする料理を検索]

0052

最後に、応答文生成部701は、得られた文章をつなげて応答文を生成する。
「ピーマンが嫌いだから使っていない料理を検索しますか。それとも、ピーマンを食べやすくする料理を検索しますか。」
この応答文は、読み上げたり、画面に表示したりしてユーザに通知される。ユーザは、候補のどちらかを指す文を入力する。例えば、「ピーマンが嫌いだから使っていないもの」又は「ピーマンを食べやすくしたもの」といった文が入力される。文書検索装置700は、この入力文を同様にして解析することで、検索意図「dont-eat」と「try」のどちらなのかを決定することができる。このようにして、あいまいだった文章が明確な文章に入力しなおされるので、検索式に一意に落とし込むことができる。

0053

以上のように、第2の実施形態に係る文書検索装置は、ユーザの入力文から検索式が1つに決まらない場合に、検索式を絞り込むためにユーザに問い合わせを行う。これにより、検索式を1つに絞り込むことができるようになる。その結果、ユーザの意図に合った文書を検索することができる。

0054

(第3の実施形態)
第2の実施形態に係る文書検索装置700において、下記のようなやりとりが行われたとする。
ユーザ:「卵を使ってない料理」(クエリー語:卵)
ステム:「卵が嫌いだから使っていない料理を検索しますか。それとも、卵のアレルゲンを使っていない料理を検索しますか。」
ユーザ:「嫌いなんだ」

0055

最後の入力文には、最初の入力文に含まれていた単語「卵」が入っていない。この場合、文書検索装置は最後の入力文だけを処理しても正しい検索を行うことはできない。本実施形態では、クエリー語は検索式に使われるまではメモリーに格納し、検索式中の「QUERY-WORD」をクエリー語で置き換える際は、直前の入力文から抽出されたクエリー語だけでなく、メモリーに格納されているクエリー語も使用する。

0056

図9は、第3の実施形態に係る検索処理の手順例を示している。図10のステップS1001〜S1003、S1005〜S1011、S1013、S1014の処理はそれぞれ図9のステップS901〜S912の処理と同じであるので、これらの処理についての説明を適宜省略する。

0057

入力文が取得され(ステップS1001)、クエリー語が抽出されると(ステップS1003)、そのクエリー語がメモリーに格納される(ステップS1004)。上記の例では、1回目の入力文では検索は実行されず、検索意図候補を選択するための応答文がユーザに提示される(ステップS1007)。その後、ユーザが2回目の入力を行った際に検索意図が「dont-eat」と決定される(ステップS1005)。2回目の入力文からクエリー語が抽出された場合、このクエリー語もメモリーに格納される。その後、検索式に、メモリーに格納されているクエリー語を埋め込む(ステップS1009)。クエリーが生成されると、クエリー語がメモリーから全て削除される(ステップS1012)。このようにすることで同じクエリー語を何度も入力する必要がなくなる。

0058

以上のように、第3の実施形態によれば、クエリー語は検索式に使われるまではメモリーに格納される。これにより、ユーザが応答文に応答する際に前回入力した単語を省略したとしても、検索を適切に実行することができる。

0059

(第4の実施形態)
図7に示される応答文生成部701は、検索意図の候補を問い合わせるときだけでなく、システムがどんな検索を実施するのかをユーザに知らせることもできる。例えば、下記のようなやりとりが行われる。
ユーザ:「コロッケが食べたい」
システム:「コロッケという料理名の料理を検索します」
title LIKE%コロッケ% で検索
検索結果:低アレルゲンコロッケ、コロッケ

0060

ユーザは、1回目の検索で得られた結果に多数の文書が含まれる場合、結果を絞り込むためにもう一度入力することがある。文が入力され検索が実施された後で、もう一度文が入力された場合、文書検索装置700は2回目の入力文は1回目の検索結果に対する絞り込み検索とみなし、応答文生成部701は、1回目の入力文に基づく検索式と2回目の入力文に基づく検索式をつなげて検索を行うことをユーザに通知する。この場合、例えば、下記のようなやりとりが行われる。
ユーザ:「コロッケが食べたい」
システム:「コロッケという料理名の料理を検索します」
title LIKE%コロッケ% で検索
検索結果:低アレルゲンコロッケ、コロッケ
ユーザ:「卵アレルギーなんだよね」
システム:「検索結果の中から、卵のアレルゲンを使っていない料理を検索します。」
title LIKE %コロッケ% AND
(ingredient NOT LIKE %卵% AND ingredient NOT LIKE %マヨネーズ% AND ingredient NOT LIKE %ベーコン% AND ingredient NOT LIKE %ウインナー% AND ingredient NOT LIKE %はんぺん%) で検索
検索結果:低アレルゲンコロッケ
このような絞り込み検索を行うことで、図3に示される文書DB110によれば、「低アレルゲンコロッケ」が出力される。

0061

第4の実施形態によれば、どのような検索を実施するのかをユーザに知らせることができる。

0062

上述したいずれの実施形態においても、文書DBは文書検索装置内に備わっている。これに代えて、文書DBは、インターネットなどのネットワークを介して文書検索装置に接続される外部装置に設けられていてもよい。

0063

また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の文書検索装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスクフレキシブルディスクハードディスクなど)、光ディスクCD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータ又は組み込みシステム読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の文書検索装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。

0064

なお、本実施形態におけるコンピュータ又は組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコンマイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。

0065

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • オムロン株式会社の「 マッチング処理装置」が 公開されました。( 2019/08/08)

    【課題・解決手段】利活用対象のセンシングデータによる容易なセンサマッチングを行うマッチング処理部50が提供される。マッチング処理部50は、提供側端末11により入力された提供側センシングデータを取得する... 詳細

  • オムロン株式会社の「 検索用データ生成装置」が 公開されました。( 2019/08/08)

    【課題・解決手段】センサの検索精度を向上させることができる検索用データ生成装置が提供される。検索用データ生成装置50は、入力された、センシングデバイス20に関連する検索条件301から検索用データを取得... 詳細

  • 三菱電機株式会社の「 情報処理装置および情報処理方法」が 公開されました。( 2019/08/08)

    【課題・解決手段】情報処理装置(10)は、時系列データである入力データを取得するデータ取得部(101)と、時系列データである学習データから抽出した部分列である複数の学習部分列の中で類似する学習部分列を... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ