説明

検索装置、検索方法、検索プログラム及び検索システム

【課題】高精度に検索文字列の展開を行い、的確な文書の検索を可能とすることを目的としている。
【解決手段】検索文字列を解析して形態素に分割する解析手段と、解析結果に基づき検索文字列を展開して展開文字列群を取得する文字列展開処理手段と、展開文字列群により検索対象のデータベースを検索する検索手段と、検索手段による検索結果を表示させる結果表示手段と、を有し、文字列展開処理手段は、一以上の形態素を含む形態素列を生成する形態素列生成手段と、形態素と展開文字列群とが対応付けられた辞書データベースを形態素列で検索する辞書検索手段と、生成された形態素列のうち最も長い形態素列で辞書データベースを検索した結果の展開文字列群を出力する結果出力手段と、を有し、検索手段は、結果出力手段により出力された展開文字列群によりデータベースを検索する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字列が格納されたデータベースを有し、入力された検索文字列で前記データベースの検索を行う検索装置、検索方法、検索プログラム及び検索システムに関する。
【背景技術】
【0002】
従来から、入力された文書やキーワードから検索文字列を設定し、その検索文字列を含む文書を検索する検索方法がある。
【0003】
例えば特許文献1には、シソーラス辞書と共起データベースとを用いて、入力キーワードに対する関連語(同義語、類義語、共起語)を展開し、これらを検索語として検索する文書検索方法及び装置が開示されている。
【0004】
また特許文献2には、検索漏れを減少し且つ検索精度を高め、しかも操作性を向上させることを可能にした情報検索方法及び情報検索装置及び情報検索装置の制御プログラムが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら特許文献1記載の発明では、抽出される検索語が多くなり、本来の検索意図より広範な文書が検索され、検索結果の絞込みが困難である。
【0006】
これに対し特許文献2記載の発明は、入力キーワード(形態素もしくは形態素列)とこれに完全一致した同義語辞書中の同義語・類義語を検索に使用される。しかしながら特許文献2記載の発明では、キーワードに対する同義語・類義語の選定精度が低く、適切な文書を検索することが困難である。
【0007】
以下に、入力キーワードが「携帯電話」として同義語辞書として検索を行った場合について説明する。まず、入力キーワード「携帯電話」は形態素解析される。このとき、もし形態素解析辞書に「携帯電話」が登録されておらず、「携帯」と「電話」が登録されていた場合、形態素解析辞書の同義語辞書の文字列「携帯」に対応する文字列と、「電話」に対応する文字列とが同義語として抽出される。よって本来の「携帯電話」の同義語である文字列は抽出されない。
【0008】
このように、従来のシソーラスを用いる検索手法は、いずれも、適切なキーワードを用いて所望の文書を的確に抽出するのが困難であるという問題があった。
【0009】
本発明は、上記事情を鑑みてこれを解決すべくなされたものであり、高精度に検索文字列の展開を行い、的確な文書の検索を可能とする検索装置、検索方法、検索プログラム及び検索システムを提供することを目的としている。
【課題を解決するための手段】
【0010】
本発明は、上記目的を達成するために、以下の如き構成を採用した。
【0011】
本発明は、入力された検索文字列を展開して得られる展開文字列群により検索を行う検索装置であって、前記検索文字列を解析して形態素に分割する解析手段と、解析結果に基づき前記検索文字列を展開して展開文字列群を取得する文字列展開処理手段と、前記展開文字列群により検索対象のデータベースを検索する検索手段と、前記検索手段による検索結果を表示させる結果表示手段と、を有し、前記文字列展開処理手段は、一以上の前記形態素を含む形態素列を生成する形態素列生成手段と、形態素と展開文字列群とが対応付けられた辞書データベースを前記形態素列で検索する辞書検索手段と、生成された前記形態素列のうち最も長い形態素列で前記辞書データベースを検索した結果の展開文字列群を出力する結果出力手段と、を有し、前記検索手段は、前記結果出力手段により出力された展開文字列群により前記データベースを検索する。
【0012】
また本発明の検索装置において、前記形態素列生成手段は、前記検索文字列において、前記形態素列に含まれる形態素のうち最後の形態素の次に位置する形態素を前記形態素列に追加して新たな形態素列を生成する。
【0013】
また本発明の検索装置において、前記形態素列生成手段は、前記検索文字列に含まれる全ての前記形態素を先頭とする形態素列を生成する。
【0014】
また本発明の検索装置は、前記辞書検索手段による検索結果の展開文字列群を記憶手段に記憶させる記憶制御手段を有し、前記結果出力手段は、前記記憶手段に記憶された前記展開文字列群のうち、前記最も長い形態素列以外の形態素列による検索結果の展開文字列群を出力する。
【0015】
また本発明の検索装置は、複数の前記辞書データベースを有し、前記辞書検索手段は、前記複数の前記辞書データベースの全てを前記形態素列で検索する。
【0016】
また本発明の検索装置は、複数の前記辞書データベースを有し、前記辞書検索手段は、一の前記辞書データベースに前記形態素列と対応する展開文字列群が存在しない場合に、他の前記辞書データベースを前記形態素列で検索する。
【0017】
本発明は、入力された検索文字列を展開して得られる展開文字列群により検索を行う検索装置による検索方法であって、前記検索文字列を解析して形態素に分割する解析手順と、解析結果に基づき前記検索文字列を展開して展開文字列群を取得する文字列展開処理手順と、前記展開文字列群により検索対象のデータベースを検索する検索手順と、前記検索手段による検索結果を表示させる結果表示手順と、を有し、前記文字列展開処理手順は、一以上の前記形態素を含む形態素列を生成する形態素列生成手順と、形態素と展開文字列群とが対応付けられた辞書データベースを前記形態素列で検索する辞書検索手順と、生成された前記形態素列のうち最も長い形態素列で前記辞書データベースを検索した結果の展開文字列群を出力する結果出力手順と、を有し、前記検索手順は、前記結果出力手順において出力された展開文字列群により前記データベースを検索する。
【0018】
本発明は、入力された検索文字列を展開して得られる展開文字列群により検索を行う検索装置において実行される検索プログラムであって、前記検索装置に、前記検索文字列を解析して形態素に分割する解析ステップと、解析結果に基づき前記検索文字列を展開して展開文字列群を取得する文字列展開処理ステップと、前記展開文字列群により検索対象のデータベースを検索する検索ステップと、前記検索手段による検索結果を表示させる結果表示ステップと、を実行させ、前記文字列展開処理ステップは、一以上の前記形態素を含む形態素列を生成する形態素列生成ステップと、形態素と展開文字列群とが対応付けられた辞書データベースを前記形態素列で検索する辞書検索ステップと、生成された前記形態素列のうち最も長い形態素列で前記辞書データベースを検索した結果の展開文字列群を出力する結果出力ステップと、を有し、前記検索ステップは、前記結果出力ステップにおいて出力された展開文字列群により前記データベースを検索する。
【0019】
本発明は、形態素と展開文字列群とが対応付けられた辞書データベースと、入力された検索文字列を展開して得られる展開文字列群により検索を行う検索装置と、を含む検索システムであって、前記検索装置は、前記検索文字列を解析して形態素に分割する解析手段と、解析結果に基づき前記検索文字列を展開して展開文字列群を取得する文字列展開処理手段と、前記展開文字列群により検索対象のデータベースを検索する検索手段と、前記検索手段による検索結果を表示させる結果表示手段と、を有し、前記文字列展開処理手段は、一以上の前記形態素を含む形態素列を生成する形態素列生成手段と、前記辞書データベースを前記形態素列で検索する辞書検索手段と、生成された前記形態素列のうち最も長い形態素列で前記辞書データベースを検索した結果の展開文字列群を出力する結果出力手段と、を有し、前記検索手段は、前記結果出力手段により出力された展開文字列群により前記データベースを検索する。
【発明の効果】
【0020】
本発明によれば、高精度に検索文字列の展開を行い、的確な文書の検索を行うことができる。
【図面の簡単な説明】
【0021】
【図1】第一の実施形態の検索装置のハードウェア構成の一例を示す図である。
【図2】第一の実施形態の検索装置の機能構成を説明する図である。
【図3】検索文字列の入力画面の一例を示す図である。
【図4】文字列解析部による記憶された解析結果の一例を示す図である。
【図5】辞書データベースの例を示す図である。
【図6】第一の実施形態の検索装置の動作を説明するフローチャートである。
【図7】第一の実施形態の検索装置による図6のステップS63において展開文字列を得る処理の詳細を説明するフローチャートである。
【図8】第一の実施形態の検索装置による図6のステップS63において展開文字列群を出力する処理の詳細を説明するフローチャートである。
【図9】展開文字列群の出力結果の表示画面の一例を示す図である
【図10】第二の実施形態の検索装置の記憶装置に格納された辞書データベースの一例を示す図である。
【図11】第二の実施形態の検索装置による図6のステップS63における文字列展開処理の詳細を説明する第一のフローチャートである。
【図12】第二の実施形態の検索装置による図6のステップS63における文字列展開処理の詳細を説明する第二のフローチャートである。
【図13】第三の実施形態の検索システムを説明する図である。
【発明を実施するための形態】
【0022】
本発明では、入力された検索文字列を解析して形態素や音素等の語に分割し、最初の語から順に語をつなげた文字列により検索を行い、最長の文字列の表記に対応する展開文字列群を検索結果として出力する。
(第一の実施形態)
以下に図面を参照して本発明の第一の実施形態の検索装置について説明する。図1は、第一の実施形態の検索装置のハードウェア構成の一例を示す図である。
【0023】
図1において、検索装置100は、コンピュータ装置であって、CPU(Central Processing Unit)11と、メモリユニット12と、表示ユニット13と、入力ユニット14と、通信ユニット15と、記憶装置16と、ドライブ装置17とで構成され、システムバスBに接続される。
【0024】
CPU11は、メモリユニット12に格納されたプログラムに従って検索装置100を制御する。メモリユニット12は、RAM(Random Access Memory)及びROM(Read-Only Memory)等にて構成され、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、メモリユニット12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。
【0025】
出力ユニット13は、利用者からの指示に応じて各種情報を出力するために用いられる。出力ユニット13は、例えばCPU11の制御のもとに必要な出力された各種情報を表示しても良い。入力ユニット14は、マウス、キーボード等を有し、検索装置100が処理を行なうための必要な各種情報を利用者が入力するために用いられる。
【0026】
通信ユニット15は、検索装置100が例えばインターネット、LAN(Local Area Network)等のネットワークを介する通信の制御をするための装置である。
【0027】
記憶装置16は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム等のデータを格納する。
【0028】
検索装置100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disk Read-Only Memory)等の記憶媒体18によって検索装置100に提供される。即ち、プログラムが保存された記憶媒体18がドライブ装置17にセットされると、ドライブ装置17が記憶媒体18からプログラムを読み出し、その読み出されたプログラムがシステムバスBを介して記憶装置16にインストールされる。そして、プログラムが起動されると、記憶装置16にインストールされたプログラムに従ってCPU11がその処理を開始する。
【0029】
尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本発明に係る処理を実現するプログラムは、通信ユニット15によってネットワークを介してダウンロードし、記憶装置16にインストールするようにしても良い。また、検索装置100が外部との接続を行うUSB(Universal Serial Bus)等のインタフェースを有する場合には、USB接続によって外部記憶媒体からプログラムを読み込んでもよい。
【0030】
図2は、第一の実施形態の検索装置の機能構成を説明する図である。本実施形態の検索装置100は、CPU11がプログラムを実行することで以下の各部の機能を実現する。
【0031】
本実施形態の検索装置100は、検索文字列入力部105、検索文字列解析部110、文字列展開処理部120、検索処理部130、結果表示部140を有する。
【0032】
本実施形態の検索装置100は、検索文字列入力部105により入力された検索文字列を検索文字列解析部110により解析し、解析結果に基づき文字列展開処理部120により展開文字列群を生成する。検索処理部130は、生成された展開文字列群を検索キーとしてデータベースを検索し、結果表示部140は検索結果を表示する。
【0033】
尚検索処理部130による検索対象となるデータベースは、例えば検索装置100と文書等が格納された一般的にデータベースであっても良い。このデータベースは、例えばネットワーク等を介して検索装置100と接続されていても良い。またこのデータベースは、例えば検索装置100の有する記憶装置16に格納されていても良い。
【0034】
本実施形態の検索文字列入力部105は、入力された検索文字列を受け付ける。本実施形態の検索文字列解析部110は、入力された検索文字列を解析し、解析結果を記憶装置16へ記憶させる。以下に図3、図4を参照して検索文字列解析部110の処理について説明する。
【0035】
図3は、検索文字列の入力画面の一例を示す図である。本実施形態の検索装置100では、検索指示がなされると、検索文字列入力部105は、出力ユニット13に検索文字列の入力欄31を有する入力画面30を表示させる。入力欄31に検索文字列32が入力されて、検索ボタン33が選択されると、検索文字列解析部110は、入力された検索文字列を形態素や音素等を含む語に分割する。尚以下の本実施形態の説明では、検索文字列32の例を「携帯電話の機種」として説明する。
【0036】
本実施形態における語とは、一つの意味のまとまりをなし、文法上一つの機能をもつ最小の言語単位であり、一つ以上の形態素からなる。本実施形態における形態素とは、意味を持つ言葉の最小の単位であり、一つ以上の音素からなる。本実施形態における音素とは、人間の意味(意志)伝達において音声をどのように使っているかを元に考えた音の単位である。
【0037】
本実施形態の検索文字列解析部110は、検索文字列を「語」、「形態素」、「音素」のうち任意の単位に分割することができる。以下の本実施形態の説明では、検索文字列を「形態素」と「音素」とに分割するものとして説明するが、例えば検索文字列を形態素に分割し、複数の形態素を含む語に切り出すこともできる。
【0038】
例えば検索文字列解析部110が検索文字列32の「携帯電話の機種」を分割した場合、検索文字列32は、「携帯」、「電話」、「機種」という3つの形態素と「の」という音素とに分割される。
【0039】
図4は、文字列解析部により記憶された解析結果の一例を示す図である。本実施形態では、検索文字列解析部110により解析された結果は、解析結果40として記憶装置16等に記憶される。解析結果40では、分割された形態素や音素等が、検索文字列32に登場する順番と対応付けられて記憶されている。
【0040】
図4の解析結果40には、検索文字列32において一番目を示す値と「携帯」という形態素、検索文字列32において二番目を示す値と「電話」という形態素、検索文字列32において三番目を示す値と「の」という音素、検索文字列32において四番目を示す値と「機種」という形態素、がそれぞれ対応付けられて記憶されている。
【0041】
図2に戻って、次に本実施形態の文字列展開処理部120について説明する。本実施形態の文字列展開処理部120は、形態素列生成部121、辞書検索部122、記憶制御部123、結果出力部124を有し、検索文字列解析部110による解析結果に基づき検索文字列を展開し、展開文字列群を生成して出力する。
【0042】
本実施形態の形態素列生成部121は、形態素を組み合わせて形態素列を生成する。具体的には形態素列生成部121は、形態素同士をつなげて形態素列を生成する。尚本実施形態では、形態素と音素をつなげた文字列も形態素列に含むものとした。
【0043】
辞書検索部122は、形態素列生成部121により生成された形態素列を検索キーとして、後述する辞書データベースを検索し、形態素列に対応する展開文字列群を得る。記憶制御部123は、辞書検索部122により得た展開文字列群をメモリユニット12等に記憶させる。結果出力部124は、メモリユニット12等に記憶された展開文字列群を出力する。
【0044】
以下に図5を参照して本実施形態の辞書データベースについて説明する。
【0045】
図5は、辞書データベースの例を示す図である。本実施形態の辞書データベース50は、展開文字列を得るためのものであり、例えば予め記憶装置16に格納されている。辞書データベース50では、検索キーとなる形態素列を示す「表記」と、「表記」に対応する文字列である「展開文字列」とが格納されている。本実施形態では、例えば辞書検索部122により「携帯」という形態素列を検索キーとして辞書データベース50を検索した場合、検索結果として「携行、所持、保持、持参」という展開文字列群が得られる。
【0046】
図2に戻って、検索部130と結果表示部140について説明する。本実施形態の検索部130は、文字列展開処理部120により得られた展開文字列群により、検索対象であるデータベースの検索を行う。結果表示部140は、検索部130による検索結果等を表示する。尚本実施形態の結果表示部140は、検索結果以外にも、例えば検索キーとなった展開文字列群を表示しても良い。
【0047】
以下に図6を参照して本実施形態の動作を説明する。図6は、第一の実施形態の検索装置の動作を説明するフローチャートである。
【0048】
本実施形態の検索装置100において、入力ユニット14により検索文字列32が入力されて検索の実行指示がなされると(ステップS61)、検索文字列解析部110は、検索文字列32を解析し、解析結果を記憶装置16に記憶させる(ステップS62)。続いて文字列展開処理部120は、形態素列生成部121により形態素列を生成して辞書検索部122により形態素列で辞書データベース50内を検索し、展開文字列群を得て結果出力部124により展開文字列を出力する(ステップS63)。ステップS63の処理の詳細は後述する。
【0049】
続いて検索部130は、ステップS63で得られた展開文字列群及び入力された検索文字列により、検索対象のデータベースの検索を行う(ステップS64)。検索部130による検索が終わると、結果表示部140は、検索結果を表示する(ステップS65)。
【0050】
以下に図7を参照して図6のステップS63における展開文字列を得る処理の詳細を説明する。図7は、第一の実施形態の検索装置による図6のステップS63において展開文字列を得る処理の詳細を説明するフローチャートである。
【0051】
本実施形態の文字列展開処理部120において、検索文字列解析部110により検索文字列32が形態素と音素に分割されて記憶装置16に解析結果40として記憶されると、形態素列生成部121は検索文字列32の先頭の形態素を検索キーとしてセットする(ステップS701)。次に辞書検索部122は、辞書データベース50内にセットされた形態素と対応する表記が存在するか否かを判断する(ステップS702)。
【0052】
ステップS702において、セットされた形態素に対応する表記が存在しない場合、形態素列生成部121は、セットされている形態素が検索文字列における最後の形態素か否かを判断する(ステップS703)。ステップS703において最後の形態素であった場合、後述するステップS707へ進む。
【0053】
ステップS703において最後の形態素でない場合、形態素列生成部121は、形態素を追加して形態素列を生成し(ステップS704)、ステップS702へ戻る。具体的には形態素列生成部121は、解析結果40を参照し、二番目の形態素を一番目の形態素の後につなげて形態素列を生成する。
【0054】
ステップS702において、セットされた形態素と対応する表記が辞書データベース50に存在する場合、辞書検索部122は辞書データベース50から表記に対応する展開文字列群を抽出し、記憶制御部123は抽出された展開文字列群をメモリユニット12等に格納する(ステップS705)。
【0055】
次に形態素列生成部121は、検索キーとなった形態素列に検索文字列における最後の形態素が含まれるか否かを判断する(ステップS706)。ステップS706において、最後の形態素が含まれると判断された場合、文字列展開処理部120は、ステップS705で抽出された展開文字列を検索文字列に対応した展開文字列群と確定する(ステップS707)。このとき記憶制御部123は、メモリユニット12に格納された展開文字列群のうち、確定された展開文字列群以外の展開文字列群を削除しても良い。
【0056】
次に辞書検索部122は、最後の形態素を先頭として検索を実行したか否かを判断する(ステップS708)。ステップS708において、最後の形態素を先頭として検索を実行した場合、文字列展開処理部120は文字列展開処理を終了し、結果出力部124が処理の結果である確定された展開文字列群を出力する。
【0057】
ステップS708において、最後の形態素を先頭として検索を実行していない場合、形態素列生成部121は現在の形態素列における二番目の形態素を次の形態素をセットし(ステップS709)、ステップS702へ戻る。
【0058】
以下に、検索文字列32を「携帯電話の機種」として図7の処理について説明する。
【0059】
文字列展開処理部120において、形態素列生成部121は、「携帯」を先頭の形態素としてセットする。続いて辞書検索部122は、ステップS702で、辞書データベース50内に「携帯」という表記が存在するか否かを判断する。ステップS702において、辞書データベース50内に対応する表記が存在するので、辞書検索部122は、ステップS705へ進み、形態素「携帯」に対応する表記「携帯」の展開文字列「携行、所持、保持、持参」を抽出してメモリユニット12等に格納する。
【0060】
続いて辞書検索部122は、ステップS707において形態素「携帯」が検索文字列32において最後の形態素か否かを判断する。「携帯」は最後の形態素ではないので、ステップS704へ進み、形態素列生成部121は、解析結果40を参照して次の形態素を先頭の形態素へ追加する。解析結果40では、「電話」が二番目の形態素である。よって形態素列生成部121は、「携帯」の後に「電話」をつなげた形態素列「携帯」「電話」を生成し、ステップS702へ戻る。
【0061】
辞書検索部122は、「携帯電話」を検索キーとしてステップS702以降の処理を行う。その結果ステップS705で展開文字列「移動電話、移動通信、モバイル機器」が抽出される。そして形態素列生成部121は、次の検索キーとして「携帯電話の機種」をセットする。
【0062】
尚本実施形態では、形態素と形態素との間に、意味をなさない助詞等の音が存在する場合、この音を含むように前の形態素に後ろの形態素とをつなげる。例えば形態素「電話」と形態素「機種」の間には助詞の「の」が存在する。よって本実施形態では、形態素「電話」と形態素「機種」とをつなげる際は、「電話の機種」となる。
【0063】
すなわち本実施形態の形態素列生成部121は、形態素列を生成する際に、検索文字列32において、辞書データベース50を検索する検索キーに含まれる形態素のうち、最後の形態素の次に位置する形態素を検索キーに追加した文字列を記形態素列とする。具体的には、例えば辞書検索部122が「携帯電話」を辞書データベース50の検索キーとした後には、形態素列生成部121は、検索文字列32において「携帯電話」の最後の形態素である「電話」の次に位置する形態素又は音素を「携帯電話」に追加する。
【0064】
図7において形態素「携帯電話の機種」がセットされた場合、ステップS702で辞書データベース50内に対応する表記が存在しない。よって形態素列生成部121は、ステップS703へ進み、「携帯電話の機種」に最後の形態素が含まれるか否かを判断する。
【0065】
ステップS703では、最後の形態素「機種」が含まれるため、形態素列生成部121はステップS707へ進み、展開文字列「移動電話、移動通信、モバイル機器」を形態素「携帯電話」の展開文字列として確定させる。記憶制御部123は、この展開文字列をメモリユニット12に記憶させる。
【0066】
次に形態素列生成部121は、ステップS708で最後の形態素が先頭となる形態素列まで検索を実行したか否かを判断する。すなわち形態素列生成部121は、形態素「機種」を先頭として検索を行ったか否かを判断する。ここではまだ検索を行っていないため、ステップS709進む。形態素列生成部121は、ステップS709で、現在の形態素列である「携帯電話」における二番目の形態素「電話」を次の形態素をセットし、ステップS702以降の処理を繰り返す。
【0067】
二番目の形態素「電話」を先頭として検索を行った場合、形態素「電話」に対応する展開文字列「電話機、TEL、テレホン」がメモリユニット12に記憶される。
【0068】
次に最後の形態素「機種」が次の形態素にセットされ、形態素「機種」に対応する展開文字列「型、モデル」がメモリユニット12に記憶される。
【0069】
次に、図8を参照して図6のステップS63で確定された展開文字列群の出力の詳細を説明する。図8は、図6のステップS63において展開文字列群を出力する処理を説明するフローチャートである。
【0070】
本実施形態の結果出力部124は、メモリユニット12に記憶された展開文字列群に基づき結果を出力する。本実施形態では、メモリユニット12に記憶された展開文字列群を組み合わせて結果として出力する文字列を作成しても良い。
【0071】
メモリユニット12に展開文字列群が記憶されると、結果出力部124は、記憶された展開文字列群から最も長い形態素列(以下、最長形態素列)に対応した展開文字列群を抽出する(ステップS81)。続いて結果出力部124は、モリユニット12に記憶された展開文字列群から、最長形態素列に含まれない形態素に対応した展開文字列を抽出する(ステップS82)。
【0072】
次に結果出力部124は、ステップS81とステップS82で抽出した展開文字列同士を、形態素の順に沿って組み合わせ(ステップS83)、出力する(ステップS84)。
【0073】
例えば検索文字列が「携帯電話の機種」である場合、最長形態素列は「携帯電話」である。よって結果出力部124は、ステップS81において、メモリユニット12から形態素列「携帯電話」に対応する展開文字列「移動電話、移動通信、モバイル機器」を抽出する。
【0074】
次に結果出力部124は、ステップS82において、最長形態素列「携帯電話」に含まれない形態素である「機種」に対応する展開文字列群「型、モデル」を抽出する。
【0075】
そして結果出力部124は、ステップS83において、形態素の順に沿って展開文字列群を組み合わせる。例えば形態素「機種」は四番目の形態素であり、形態素「携帯電話」よりも後ろにある形態素である。したがって結果出力部124は、形態素「携帯電話」に対応する展開文字列群の後ろに、形態素「機種」に対応する展開文字列群をつなげても良い。
【0076】
よってこの場合、検索結果となる展開文字列は、「移動電話の型、移動通信の型、モバイル機器の型、移動電話のモデル、移動通信のモデル、モバイル機器のモデル」となる。
【0077】
本実施形態の出力の方法としては、例えば出力ユニット13により展開文字列群を表示させても良い。また本実施形態では、展開文字列群だけではなく、展開文字列群に対応する形態素や形態素列を展開文字列群と対応付けて表示させても良い。
【0078】
図9は、展開文字列群の出力結果の表示画面の一例を示す図である。図9に示す画面90では、入力ユニット14から入力された検索文字列と、各形態素列から得られて展開文字列群とが表示されている。画面90によれば、どのような形態素列が生成されたかを表示させることができる。
【0079】
尚本実施形態では、結果出力部124が、メモリユニット12に記憶された展開文字列群を組み合わせて出力する結果を生成するものとしたが、これに限定されない。本実施形態の結果出力部124は、メモリユニット12に記憶された全ての展開文字列群を結果として出力しても良い。すなわち本実施形態では、最長形態素列に対応する展開文字列群以外の展開文字列群も出力しても良い。
【0080】
また本実施形態では、出力される展開文字列群の数に上限を設設けても良い。また本実施形態では、メモリユニット12に記憶される展開文字列の数に上限を設けても良い。
【0081】
本実施形態では、以上に説明した手法により検索文字列から展開文字列群を取得し、展開文字列を検索キーとして検索対象のデータベースを検索する。したがって本実施形態では、高精度に検索文字列の展開を行い、的確な文書の検索を行うことができる。
【0082】
(第二の実施形態)
以下に図面を参照して本発明の第二の実施形態について説明する。本発明の第二の実施形態は、辞書データベースが複数存在する点のみ第一の実施形態と相違する。よって以下の第二の実施形態では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【0083】
図10は、第二の実施形態の検索装置の記憶装置に格納された辞書データベースの一例を示す図である。
【0084】
本実施形態の辞書データベース50A、50Bは、検索装置100の記憶装置16等に格納されていても良いし、ネットワークを介して検索装置100と接続された外部のデータベースに格納されていても良い。また辞書データベース50Aと辞書データベース50Bとは、それぞれが異なる記憶装置に格納されていても良い。
【0085】
以下に本実施形態の検索装置100の動作について説明する。本実施形態では、第一の実施形態の図6のステップS63における文字列展開処理のみ第一の実施形態と相違する。よって以下に図11を参照して本実施形態におけるステップS63における文字列展開処理について説明する。
【0086】
図11は、第二の実施形態の検索装置による図6のステップS63における文字列展開処理の詳細を説明する第一のフローチャートである。
【0087】
図11の例では、辞書データベースが複数存在する場合に、全ての辞書データベースに対して検索を行う例である。
【0088】
ステップS1101からステップS1105までの処理は、図7のステップS701からステップS705までの処理と同様であるから説明を省略する。
【0089】
ステップS1105に続いて辞書検索部122は、記憶装置16に格納された全ての辞書データベースについて検索したか否かを判断する(ステップS1106)。
【0090】
ステップS1106で全ての辞書データベースについて検索を行っていない場合、ステップS1102へ戻る。ステップS1106で全ての辞書データベースについて検索を行った場合、ステップS1107へ進む。
【0091】
ステップS1107からステップS1110までの処理は、図7のステップS706からステップS709までの処理と同様であるから説明を省略する。
【0092】
例えば記憶装置16に格納された辞書データベースが、辞書データベース50A、50Bの場合、本実施形態の辞書検索部122は、最初に辞書データベース50A内を検索した後に辞書データベース50B内を検索する。
【0093】
次に、データベースが複数存在する場合の処理の別の例について説明する。図12は、第二の実施形態の検索装置による図6のステップS63における文字列展開処理の詳細を説明する第二のフローチャートである。
【0094】
図12の例では、辞書データベースが複数存在するとき、最初に検索した辞書データベースに該当する表記が存在しない場合にのみ、他の辞書データベースを検索する。
【0095】
図12のステップS1201、S1202は、図7のステップS701、S702と同様であるから説明を省略する。辞書検索部122は、ステップS1202で検索した辞書データベースに対応する表記がない場合、記憶装置16に格納された他の辞書データベースに対応する表記が存在するか否かを判断する(ステップS1203)。
【0096】
ステップS1204からステップS1210までの処理は、図7のステップS703からステップS709までの処理と同様であるため説明を省略する。
【0097】
図12の例では、例えば記憶装置16に格納された辞書データベースが、辞書データベース50A、50Bの場合、辞書検索部122は、辞書データベース50A内を検索して対応する表記が存在しない場合にのみ辞書データベース50B内を検索する。
【0098】
以上のように、本実施形態では、複数の辞書データベースを有する場合でも第一の実施形態と同様の効果を得ることができる。
【0099】
(第三の実施形態)
以下に図面を参照して本発明の第三の実施形態について説明する。本発明の第三の実施形態は、検索装置100を有する検索システムである。
【0100】
図13は、第三の実施形態の検索システムを説明する図である。本実施形態の検索システム200は、検索装置100、辞書データベース50C、50Dがネットワークを介して接続されて構成されている。
【0101】
本実施形態の検索装置100は、入力ユニット14から検索文字列が入力されて検索文字列解析部110により形態素に分割されると、検索キーとなる形態素や形態素列生成部121により生成された形態素列が辞書データベース50C、50Dへ送信される。辞書データベース50C、50Dは、検索キーとなる形態素や形態素列で検索を行い、検索結果を検索装置100へ送信する。
【0102】
よって本実施形態では、第一及び第二の実施形態と同様の効果を得ることができる。尚本実施形態の検索システム200では、辞書データベースを2つ有する構成としたが、これに限定されない。本実施形態の検索システム200は、辞書データベースが1つであっても良いし3つ以上であっても良い。
【0103】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0104】
100 検索装置
110 文字列解析部
120 文字列展開処理部
121 形態素列生成部
122 辞書検索部
123 記憶制御部
124 結果出力部
200 検索システム
【先行技術文献】
【特許文献】
【0105】
【特許文献1】特許第2850952号公報
【特許文献2】特開2003−228578号公報

【特許請求の範囲】
【請求項1】
入力された検索文字列を展開して得られる展開文字列群により検索を行う検索装置であって、
前記検索文字列を解析して形態素に分割する解析手段と、
解析結果に基づき前記検索文字列を展開して展開文字列群を取得する文字列展開処理手段と、
前記展開文字列群により検索対象のデータベースを検索する検索手段と、
前記検索手段による検索結果を表示させる結果表示手段と、を有し、
前記文字列展開処理手段は、
一以上の前記形態素を含む形態素列を生成する形態素列生成手段と、
形態素と展開文字列群とが対応付けられた辞書データベースを前記形態素列で検索する辞書検索手段と、
生成された前記形態素列のうち最も長い形態素列で前記辞書データベースを検索した結果の展開文字列群を出力する結果出力手段と、を有し、
前記検索手段は、
前記結果出力手段により出力された展開文字列群により前記データベースを検索する検索装置。
【請求項2】
前記形態素列生成手段は、
前記検索文字列において、前記形態素列に含まれる形態素のうち最後の形態素の次に位置する形態素を前記形態素列に追加して新たな形態素列を生成する請求項1記載の検索装置。
【請求項3】
前記形態素列生成手段は、
前記検索文字列に含まれる全ての前記形態素を先頭とする形態素列を生成する請求項2記載の検索装置。
【請求項4】
前記辞書検索手段による検索結果の展開文字列群を記憶手段に記憶させる記憶制御手段を有し、
前記結果出力手段は、
前記記憶手段に記憶された前記展開文字列群のうち、前記最も長い形態素列以外の形態素列による検索結果の展開文字列群を出力する請求項1ないし3の何れか一項に記載の検索装置。
【請求項5】
複数の前記辞書データベースを有し、
前記辞書検索手段は、
前記複数の前記辞書データベースの全てを前記形態素列で検索する請求項1ないし4の何れか一項に記載の検索装置。
【請求項6】
複数の前記辞書データベースを有し、
前記辞書検索手段は、
一の前記辞書データベースに前記形態素列と対応する展開文字列群が存在しない場合に、他の前記辞書データベースを前記形態素列で検索する請求項1ないし4の何れか一項に記載の検索装置。
【請求項7】
入力された検索文字列を展開して得られる展開文字列群により検索を行う検索装置による検索方法であって、
前記検索文字列を解析して形態素に分割する解析手順と、
解析結果に基づき前記検索文字列を展開して展開文字列群を取得する文字列展開処理手順と、
前記展開文字列群により検索対象のデータベースを検索する検索手順と、
前記検索手段による検索結果を表示させる結果表示手順と、を有し、
前記文字列展開処理手順は、
一以上の前記形態素を含む形態素列を生成する形態素列生成手順と、
形態素と展開文字列群とが対応付けられた辞書データベースを前記形態素列で検索する辞書検索手順と、
生成された前記形態素列のうち最も長い形態素列で前記辞書データベースを検索した結果の展開文字列群を出力する結果出力手順と、を有し、
前記検索手順は、
前記結果出力手順において出力された展開文字列群により前記データベースを検索する検索方法。
【請求項8】
入力された検索文字列を展開して得られる展開文字列群により検索を行う検索装置において実行される検索プログラムであって、
前記検索装置に、
前記検索文字列を解析して形態素に分割する解析ステップと、
解析結果に基づき前記検索文字列を展開して展開文字列群を取得する文字列展開処理ステップと、
前記展開文字列群により検索対象のデータベースを検索する検索ステップと、
前記検索手段による検索結果を表示させる結果表示ステップと、を実行させ、
前記文字列展開処理ステップは、
一以上の前記形態素を含む形態素列を生成する形態素列生成ステップと、
形態素と展開文字列群とが対応付けられた辞書データベースを前記形態素列で検索する辞書検索ステップと、
生成された前記形態素列のうち最も長い形態素列で前記辞書データベースを検索した結果の展開文字列群を出力する結果出力ステップと、を有し、
前記検索ステップは、
前記結果出力ステップにおいて出力された展開文字列群により前記データベースを検索する検索プログラム。
【請求項9】
形態素と展開文字列群とが対応付けられた辞書データベースと、入力された検索文字列を展開して得られる展開文字列群により検索を行う検索装置と、を含む検索システムであって、
前記検索装置は、
前記検索文字列を解析して形態素に分割する解析手段と、
解析結果に基づき前記検索文字列を展開して展開文字列群を取得する文字列展開処理手段と、
前記展開文字列群により検索対象のデータベースを検索する検索手段と、
前記検索手段による検索結果を表示させる結果表示手段と、を有し、
前記文字列展開処理手段は、
一以上の前記形態素を含む形態素列を生成する形態素列生成手段と、
前記辞書データベースを前記形態素列で検索する辞書検索手段と、
生成された前記形態素列のうち最も長い形態素列で前記辞書データベースを検索した結果の展開文字列群を出力する結果出力手段と、を有し、
前記検索手段は、
前記結果出力手段により出力された展開文字列群により前記データベースを検索する検索システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−59025(P2012−59025A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−201778(P2010−201778)
【出願日】平成22年9月9日(2010.9.9)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】