(57)【特許請求の範囲】
【請求項１】
入力された文字列に基づいて、検索対象とする複数個の文書から所望の文書を検索する検索装置であって、
前記文字列を入力として、前記文字列と検索対象とする複数個の文書を照合し、前記文字列と部分一致または完全一致する複数個の文書と、前記文字列が複数個の文書中に出現する回数に応じた検索スコアとを検索結果として出力する検索手段と、
前記検索対象とする複数個の文書のそれぞれに対する形態素と、検索時に使用される重要度に応じて形態素毎に付与したペナルティ値とを保持する形態素辞書と、
前記文字列と前記検索手段の検索結果を入力とし、前記検索結果のそれぞれの文書に対し、前記形態素辞書を参照して前記文字列から形態素を抽出し、前記文書中には存在するが、前記文字列中からは抽出されなかった形態素に対し、前記ペナルティ値に基づいて前記検索スコアが低くなるように当該検索スコアを修正し、修正した検索スコアに基づいて検索結果の出力順位を再構成して出力する検索順位修正手段と、
を備えたことを特徴とする検索装置。
【請求項２】
入力された文字列は、入力音声を音声認識手段により音声認識し、その認識結果が文字列として出力されたものであることを特徴とする請求項１記載の検索装置。
【請求項３】
前記形態素に付与するペナルティ値は、当該文書を検索するときに入力文字列中から省略される可能性が小さい形態素ほど大きなペナルティ値を付与しておくことを特徴とする、請求項１または２記載の検索装置。
【請求項４】
前記検索順位修正手段は、前記形態素辞書を参照して前記文字列から形態素を抽出する方法として、文字列上のDPマッチングを用い、前記文字列と前記形態素辞書中の形態素が完全一致しない場合でも前記文字列中から形態素を抽出することを特徴とする請求項１または２記載の検索装置。
【請求項５】
前記検索対象とする文書は複数個の施設名称であって、施設名称を構成する最後尾の形態素が「店」である施設名称の先頭の形態素に対し、他の形態素よりも大きなペナルティ値を付与することを特徴とする請求項１または２記載の検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、大量の文書や施設名中から、所望の文書や施設名の検索を効率よく行う大規模な検索装置に関するものである。
【背景技術】
【０００２】
さまざまな施設名を検索対象とする検索システムを構築する場合、利用者は施設の正式名称を知らない場合があるので、施設名を形態素や音節に分解して、形態素や音節のユニグラムやバイグラムを照合単位として検索を行う技術が従来よりあり、このような技術として下記特許文献１に開示されたものがある。
【０００３】
特許文献１では、単語や音節等を単位として、入力文字列と検索対象施設名を比較照合し、マッチした単語や音節のユニグラムやバイグラム数に基づいて検索スコアを算出し、スコアの高い順に候補を提示する技術が開示されている。
しかし特許文献１の技術では、例えば大船にある「ウミベ」という百貨店の正式名称が「ウミベ大船」である場合、「おーふなうみべ（大船ウミベ）」という入力文字列で音節バイグラム数に基づいて検索すると、正解の「うみべおーふな（ウミベ大船）」よりも、「えーしょぼーおーふなうみべてん（A書房大船ウミベ店）」という不自然な検索結果が検索結果の上位に出力されるという課題があった。これは前記入力文字列中の音節バイグラム「なう」が前者の「うみべおーふな」ではマッチしないのに対し、後者の「えーしょぼーおーふなうみべてん」ではマッチし、検索スコアが後者のほうが高くなるためである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2008-262279号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上記課題を解決するためになされたもので、前記のような不自然な検索結果を抑制し検索精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る検索装置は、
入力された文字列に基づいて、検索対象とする複数個の文書から所望の文書を検索する検索装置であって、
前記文字列を入力として、前記文字列と検索対象とする複数個の文書を照合し、前記文字列と部分一致または完全一致する複数個の文書と、前記文字列が複数個の文書中に出現する回数に応じた検索スコアとを検索結果として出力する検索手段と、
前記検索対象とする複数個の文書のそれぞれに対する形態素と、検索時に使用される重要度に応じて形態素毎に付与したペナルティ値とを保持する形態素辞書と、
前記文字列と前記検索手段の検索結果を入力とし、前記検索結果のそれぞれの文書に対し、前記形態素辞書を参照して前記文字列から形態素を抽出し、前記文書中には存在するが、前記文字列中からは抽出されなかった形態素に対し、前記ペナルティ値に基づいて前記検索スコアが低くなるように当該検索スコアを修正し、修正した検索スコアに基づいて検索結果の出力順位を再構成して出力する検索順位修正手段とを備える。
【発明の効果】
【０００７】
この発明による検索装置によれば、入力された文字列に基づいて検索手段で検索された検索対象の複数個の文書と、前記文字列が複数個の文書中に出現する回数に応じた検索スコアとの検索結果を、検索対象とする複数個の文書のそれぞれに対する形態素と、検索時に使用される重要度に応じて形態素毎に付与したペナルティ値とを保持する形態素辞書を参照し、前記検索対象文書中には存在するが、前記入力文字列中からは抽出されなかった形態素に対し、前記ペナルティ値を差し引いて前記検索スコアを修正し、修正した検索スコアに基づいて検索結果の出力順位を再構成して出力する検索順位修正手段により不自然な検索結果を抑制する効果がある。
【図面の簡単な説明】
【０００８】
【図１】この発明による検索装置の実施の形態１の構成を示すブロック図である。
【図２】テキスト検索辞書作成用の検索対象施設名の説明図である。
【図３】検索対象施設名から作成したテキスト検索辞書の説明図である。
【図４】ペナルティ値が設定された形態素辞書例を示す説明図である。
【図５】検索手段の検索結果である施設名のID番号と検索スコアの対の中間検索結果の出力例を示す説明図である。
【図６】検索順位修正手段による処理手順のフロー図である。
【図７】検索順位修正手段による修正検索スコアの大きさ順並べ換え結果を示す説明図である。
【図８】この発明による検索装置の実施の形態２の構成を示すブロック図である。
【図９】実施の形態２の検索順位修正手段による修正検索スコアの大きさ順並べ換え結果を示す説明図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
本実施の形態では施設や観光スポットの名称（以後は簡単のため施設と観光スポットを総称して施設という）を検索する場合を例にとり説明する。
図１はこの発明による検索装置の実施の形態１の構成を示すブロック図である。
同図において、１は文字列の入力端、２は文字列、３は検索手段、４は検索辞書メモリ、
５は中間検索結果、６は検索順位修正手段、７は形態素辞書メモリ、８は検索結果である。
【００１０】
検索辞書メモリ４にはテキスト検索辞書を事前に作成して格納しておく。テキスト検索辞書の作成方法を説明する。例えば図２に示すとおり、検索対象施設名が「A書房大船ウミべ店（えーしょぼーおーふなうみべてん）」、「ウミベ大船（うみベおーふな）」等として説明する。（）内は施設名の読みを示している。ここで「ウミベ」は施設の固有名詞であり、本例では百貨店名とする。
【００１１】
前記テキスト検索辞書は施設名を構成する言語単位を索引語として転置インデックスとして構成する。本例では索引語として施設名の読みの音節の２連鎖（音節バイグラム）を用いる。「A書房大船ウミベ店（えーしょぼーおーふなうみベてん）」に含まれる音節バイグラムは、「えーしょ」、「しょぼー」、「ぼーおー」、「おーふ」「ふな」「なう」「うみ」「みベ」、「べて」「てん」の10種類である。また「ウミベ大船（うみベおーふな）」に含まれる音節バイグラムは「うみ」「みべ」「ベおー」「おーふ」「ふな」の５種類である。検索辞書メモリ４は、これらの音節バイグラムを索引語として、索引語と施設名のID番号をテキスト検索辞書として保持する。前記の施設名から作成したテキスト検索辞書を図３に示す。
【００１２】
形態素辞書メモリ７には形態素辞書を事前に作成して格納しておく。形態素辞書の作成方法を説明する。まず検索対象とする施設名を形態素解析器等を使用して形態素に分割する。必要に応じて形態素への分割結果を人手で修正してもよい。また英語等のように元々単語に分割されている言語では分割処理は不要であり、この場合には単語を形態素とみなす。次に各形態素毎に検索時に使用される重要度に応じて所定のペナルティ値を付与し、形態素とともに形態素辞書として保持する。なお本実施の形態では前記ペナルティ値は当該施設を検索するときに省略される可能性の低い形態素ほど大きなペナルティ値を設定しておく。前記「A書房大船ウミベ店」、および「ウミベ大船」に対する形態素辞書の例を図４に示す。「A書房大船ウミベ店」の形態素辞書は、「えーしょぼー(3)」、「おーふな(1)」、「うみべ(1)」である。（）内の値はペナルティ値である。「A書房大船ウミベ店」を検索する場合の文字列２としては、「えーしょぼー」という形態素を省略する可能性は低いと考えられるので、他の形態素よりも大きなペナルティ値を付与している。一方「ウミベ大船」に対する形態素辞書は、当該施設を検索する場合の発話としては、「うみべ」という形態素を省略する可能性は低いと考えられるので、他の形態素よりも大きなペナルティ値を付与している。
【００１３】
次に検索の動作について説明する。
文字列の入力端１から文字列２を入力すると、検索手段３はまず文字列２を構成する音節バイグラムを全て抽出する。例えば入力文字列２を「おーふなうみべ」とすると、音節バイグラムとして、「おーふ」「ふな」「なう」「うみ」「みべ」という５個の音節バイグラムを抽出する。
【００１４】
次に検索手段３は、検索辞書メモリ４に格納しているテキスト検索辞書を参照し、抽出した音節バイグラム毎に当該音節バイグラムを含む施設の検索スコアに１を加算する。抽出した全音節バイグラムに対しこのスコア加算処理を行う。本例では、施設ID=1の「A書房大船ウミベ店（えーしょぼーおーふなうみベてん）」は、「おーふ」「ふな」「なう」「うみ」「みべ」の５個の音節バイグラムが文字列２の音節バイグラムとマッチするので、検索スコアは５となる。一方施設ID=2の「ウミベ大船（うみベおーふな）」は「おーふ」「ふな」「うみ」「みべ」の４個の音節バイグラムが文字列２の音節バイグラムとマッチするので、検索スコアは４となる。上記加算処理終了後、検索手段３は中間検索結果５として、検索スコアが１以上のN個の施設名のID番号と検索スコアの対を出力する。ここでNは1以上の整数である。中間検索結果５の出力例を図５に示す。
【００１５】
次に検索順位修正手段６は、文字列の入力端１からの文字列２と検索手段３からの中間検索結果５を入力とし、中間検索結果５のN個の施設名それぞれに対し形態素辞書メモリ７に格納されている当該施設名の形態素辞書を用いて、文字列２と照合することにより文字列２に含まれる形態素を抽出する。抽出した形態素と、形態素辞書メモリ７に格納されている当該施設の形態素辞書を比較し、形態素辞書中には存在するが、認識結果の音素列からは抽出されなかった形態素に対し、図４に示す形態素辞書に予め設定されたペナルティ値を付与して検索スコアをリスコアリングする。
【００１６】
以下に図６を参照し、検索順位修正手段６の具体的な処理手順を述べる。
手順１）k=1とおく（図６のst101）
手順２）形態素辞書メモリ７に保持している形態素辞書を参照し、図５に示す検索手段３の中間検索結果５の第k位（この場合はk=1であるから1位）の施設名の形態素と文字列２の照合処理を行い、文字列２に含まれる形態素を抽出する（図６のst102）。ここで前記照合処理とは、形態素辞書中の１個以上の形態素の組み合わせが文字列２と一致するか否かを調べることであり、一致する場合は前記１個以上の形態素が文字列２に含まれると判定し、前記１個以上の形態素を抽出する。
例えばk=1の場合は、前述のように１位の検索結果は施設ID＝１の施設名であり、図４に示すとおり形態素辞書中の形態素は、「えーしょぼー」、「おーふな」、「うみべ」、「てん」となる。これらの形態素と文字列２である「おーふなうみべ」との間で照合を行うと、「おーふな」と「うみべ」の２個の形態素が抽出される。
【００１７】
手順３）手順２で抽出した文字列２に含まれる形態素と、k位の検索結果の形態素辞書中の形態素を比較し、前記形態素辞書中には存在するが文字列２中には存在しない形態素に対し、形態素辞書中のペナルティ値を累積したペナルティ累積値P(k)を算出する（図６のst103）。
例えばk=1の場合は、上述のとおり文字列２に含まれる形態素は「おーふな」と「うみべ」の２個、形態素辞書中の形態素は、「えーしょぼー」、「おーふな」、「うみべ」、「てん」なので、形態素辞書中には存在するが文字列２中には存在しない形態素は「えーしょぼー」と「てん」の２個である。これらの形態素に対するペナルティ値は図４に示すとおり、それぞれ3と0なので、前記ペナルティ累積値P(k)の値は、P(k) = 3+0 = 3となる。
【００１８】
手順４）手順３で算出したペナルティ累積値P(k)と、検索スコアS(k)から下記の(1)式によって修正検索スコアS’(k)を算出する（図６のst104）。(1)式中でαは実験的に予め決めた定数であり、本実施の形態例ではα=0.5とする。
【００１９】
S’(k) = S(k) - αP(k)      ・・・  (1)
この結果、上述のk=1の例では、S’(1) = 5 - 0.5*3 = 3.5となる。
【００２０】
手順５）k =Nなら、手順６へ進む。k <Nなら、k=k+1とし、手順２に戻る。（図６のst105,st106）。
手順６）手順4で修正した修正スコアS’(k) (k=1〜N)を用い、修正スコアS’(k)の大きい順に検索結果を並べ換え、検索結果８として出力する。（図５のst107）
【００２１】
処理手順は以上である。上記処理の結果、検索手段の出力結果で第２位の施設ID=2では、図4に示すとおり形態素辞書中の形態素は「うみべ」、「おーふな」なので、これらの形態素と文字列２である「おーふなうみべ」との間で照合を行うと「おーふな」と「うみべ」の２個の形態素が抽出される。この結果、形態素辞書中の形態素が認識結果中に全て存在するので、ペナルティ累積値P(k)の値は0となり、（１）式で計算される修正後の検索スコアS’(2) = S(2) = 4となる。
修正後の検索スコアの大きい順に検索順位を並べ換えた結果を図７に示す。「ウミベ大船」が検索順位の第１位になっていることがわかる。
【００２２】
このように本実施の形態によれば、各施設名毎に形態素辞書を備え、各形態素には当該形態素が文字列２に含まれなかった場合に付与するペナルティ値を設定する。このペナルティ値として当該施設を検索するときに省略される可能性の低い形態素ほど大きなペナルティ値を設定しておき、上述したとおりペナルティ累積値P(k)を差し引いた修正スコアS’(k)の大きい順に検索結果を出力するように構成したので、「大船ウミベ」という発話に対し、「ウミベ大船」よりも「A書房大船ウミベ店」が上位に検索されるという不自然な結果を抑制する効果がある。
【００２３】
なお、本例では検索手段３では、音節バイグラムを転置インデックスの索引語としたが、索引語は任意の単位でよい。例えば単語のバイグラムや、単語または音節のユニグラムでもよい。また本例では検索手段３における検索方式として転置インデックスを用いる方式を説明したが、文字列２と検索対象との部分マッチングを許す任意の検索方式を用いてもよい。
【００２４】
また、形態素辞書の各形態素に付与するペナルティ値としては、施設名を構成する最後尾の形態素が「店」である施設名の先頭の形態素に対し、他の形態素よりも大きなペナルティ値を付与してもよい。これは一般に、公園や百貨店内にある施設名は「施設のブランド名等の固有名詞＋（公園名または百貨店名）＋店」というパターンが多く、最後尾の形態素が「店」である施設名の先頭の形態素は、当該施設を検索する場合に省略することがほぼ無いと考えられるからである。このようにペナルティ値を付与することによりペナルティ付与作業の効率化を図る効果が得られる。
【００２５】
実施の形態２．
本実施の形態では、実施の形態１と同様に施設名を検索する場合を例にとり説明する。
図８はこの発明による検索装置の実施の形態２の構成を示すブロック図である。
同図において、実施の形態１と同等部分には同一番号を付し、説明を省略する。９は音声の入力端、10は入力音声、11は音声認識手段、12は言語モデルメモリ、13は音響モデルメモリである。
【００２６】
言語モデルメモリ12には統計言語モデルを事前に作成して格納しておく。本例では検索対象とする全施設名の表記の音節列を学習データとして、音節を単位としたトライグラムを学習して格納しておく。なお音節を単位とすることの利点は、学習データとする施設数に関わらず、音節の種類数は数百個以下におさまるので、認識時の演算量増加を抑えた言語モデルを作成できることである。
音響モデルメモリ13には音声の特徴をモデル化した音響モデルを格納している。本実施の形態では音響モデルは例えばHMM(Hidden Markov Model)とする。
【００２７】
次に音声認識と検索の動作について説明する。
音声の入力端９から音声10を入力すると音声認識手段11は言語モデルメモリ12に保存されている言語モデルと音響モデルメモリ13に保存されている音響モデルを用いて、例えばビタビアルゴリズムによって音声認識を行い音声認識結果として、文字列２を出力する。文字列２は本例ではひらがな表記とする。
例えば音声10の発話内容が「大船ウミベ」である音声認識手段11の出力は、例えば「おーふなうみで」となる。本例では、「うみべ」の最後の１音節を「で」に誤認識したものとする。
【００２８】
次に検索手段３は文字列２である「おーふなうみで」を入力として以下のように検索処理を行う。まず文字列２である「おーふなうみで」を構成する音節バイグラムを全て抽出する。本例では「おーふ」「ふな」「なう」「うみ」「みで」という５個の音節バイグラムを抽出する。次に検索辞書メモリ４に格納しているテキスト検索辞書を参照し、抽出した音節バイグラム毎に当該音節バイグラムを含む施設の検索スコアに１を加算する。抽出した全音節バイグラムに対しこの検索スコア加算処理を行う。本例では、施設ID=1の「A書房大船ウミベ店（えーしょぼーおーふなうみベてん）」は、「おーふ」「ふな」「なう」「うみ」の4個の音節バイグラムが文字列２の音節バイグラムとマッチするので、検索スコアは4となる。一方施設ID=2の「ウミベ大船（うみベおーふな）」は「おーふ」「ふな」「うみ」の３個の音節バイグラムが文字列２の音節バイグラムとマッチするので、検索スコアは３となる。上記加算処理終了後、検索手段３は中間検索結果５として、検索スコアが１以上のN個の施設名のID番号と検索スコアの対を出力する。ここでNは1以上の整数である。
【００２９】
次に検索順位修正手段６は、文字列２と中間検索結果５を入力とし、中間検索結果５のN個の施設名それぞれに対し当該施設名の形態素辞書を用いて、文字列２と照合することにより文字列２に含まれる形態素を抽出する。抽出した形態素と、当該施設の形態素辞書を比較し、形態素辞書中には存在するが、認識結果の音素列からは抽出されなかった形態素に対し、予め設定したペナルティ値を付与して検索スコアをリスコアリングする。
【００３０】
検索順位修正手段６の具体的な処理手順は実施の形態１とほぼ同等である。違いは実施の形態１で述べた検索順位修正手段６の処理手順２における検索結果の施設名の形態素と文字列２との照合処理の方法である。実施の形態１では、形態素辞書中の１個以上の形態素の組み合わせが文字列２と一致するか否かを調べることによって照合処理を行ったが、本実施例では、形態素辞書中の１個以上の形態素の組み合わせと、文字列２との間で音節あるいは音素の置換または脱落または挿入を許したDP(Dynamic Programming)マッチングによる照合処理を行う。そして置換または脱落または挿入の個数が予め定めた所定の個数c以下なら、前記１個以上の形態素が文字列２に含まれると判定し、前記１個以上の形態素を抽出する。本実施の形態では前記所定の個数c=1とする。DPマッチングを用いる理由は、文字列２に音声認識誤りがあり、形態素辞書中の形態素と音節または音素が完全一致しない場合でも、形態素を抽出できるようにするためである。
【００３１】
例えばk=1の場合は、k(=1)位の検索結果は施設ID＝１の施設名であり、図４に示すとおり形態素辞書中の形態素は、「えーしょぼー」、「おーふな」、「うみべ」、「てん」となる。これらの形態素と音声認識結果である「おーふなうみで」との間でDPマッチングを用いた照合処理を行う。これによって文字列２である「おーふなうみで」から、「おーふな」と「うみべ」の２個の形態素が抽出される。このうち「うみべ」は音声認識結果の文字列２である「おーふなうみで」中には完全一致する音節列が存在しないが、音節「べ」と「で」の置換が１個なので、DPマッチングを行うことによって抽出が可能になる。
【００３２】
またk=2の場合は、k(=2)位の検索結果は施設ID＝2では、図４に示すとおり形態素辞書中の形態素は「うみべ」、「おーふな」なので、これらの形態素と音声認識結果の文字列２である「おーふなうみで」との間でDPマッチングを行うと「おーふな」と「うみべ」の２個の形態素が抽出される。
手順３以降の処理は実施の形態１と同一なので説明を省略する。
【００３３】
以上の処理によって修正検索スコアの大きい順に検索順位を並べ換えた結果を図９に示す。図９によれば「ウミベ大船」が検索順位の第１位になっていることがわかる。なお図７に示した実施の形態１における検索スコアおよび修正検索スコアと比較して、本実施例の検索スコアおよび修正検索スコアの値がそれぞれ１小さいが、これは上述したとおり音声認識結果である文字列２の「おーふなうみで」の最後の１音節「で」は「べ」を誤認識したものであり、その結果検索手段３における検索スコア算出時にマッチする音節バイグラム数が１個少なくなったためである。
【００３４】
なお、形態素辞書メモリ７に保持している形態素辞書の各形態素に付与するペナルティ値としては、施設名を構成する最後尾の形態素が「店」である施設名の先頭の形態素に対し、他の形態素よりも大きなペナルティ値を付与してもよい。これは一般に、公園や百貨店内にある施設名は「施設のブランド名等の固有名詞＋（公園名または百貨店名）＋店」というパターンが多く、最後尾の形態素が「店」である施設名の先頭の形態素は、当該施設を検索する場合に省略することがほぼ無いと考えられるからである。このようにペナルティ値を付与することによりペナルティ付与作業の効率化を図る効果が得られる。
【産業上の利用可能性】
【００３５】
この発明は文字列により大量の文書や施設名中から、所望の文書や施設名の大規模な検索を効率よく行う検索装置に関し、携帯端末やカーナビゲーションシステム等各種のナビゲーションシステムに適用が可能である。
【符号の説明】
【００３６】
１、９；文字列の入力端、２；文字列、３；検索手段、４；検索辞書メモリ、５；中間検索結果、６；検索順位修正手段、７；形態素辞書メモリ、８；検索結果、10；入力音声、11；音声認識手段、12；言語モデルメモリ、13；音響モデルメモリ。
【図１】
0005404563.tif 000002
【図２】
0005404563.tif 000003
【図３】
0005404563.tif 000004
【図４】
0005404563.tif 000005
【図５】
0005404563.tif 000006
【図６】
0005404563.tif 000007
【図７】
0005404563.tif 000008
【図８】
0005404563.tif 000009
【図９】
0005404563.tif 000010