(57)【要約】【課題】ユーザから受け付けた文字列に含まれる修正文字列に対し、適切に修正して、文書データを検索することを目的とする。【解決手段】本発明は、複数の文書データから適切な文書データを、ユーザから受け付けた文字列をもとに検索することのできる情報処理サーバであって、複数の前記文書データを記憶し、文書データを検索するための複数の文字列であって、修正対象の修正文字列を少なくとも含む文字列を受け付け、受け付けた文字列を用いて、記憶される複数の文書データを検索し、検索された文書データに含まれる文字列に基づいて、修正文字列を修正する。そして、修正された修正文字列を含む文字列を用いて、記憶される複数の文書データを検索する。【選択図】図３
2018190030.tif 000002
【特許請求の範囲】
【請求項１】
複数の文書データから適切な文書データを、ユーザから受け付けた文字列をもとに検索することのできる情報処理サーバであって、
複数の前記文書データを記憶する記憶手段と、
前記文書データを検索するための複数の文字列であって、修正対象の修正文字列を少なくとも含む文字列を受け付ける受付手段と、
前記受付手段で受け付けた前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索する検索手段と、
前記検索手段で検索された前記文書データに含まれる文字列に基づいて、前記修正文字列を修正する修正手段と
を備え、
前記検索手段は、前記修正手段で修正された前記修正文字列を含む前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索すること
を特徴とする情報処理サーバ。
【請求項２】
前記修正文字列を修正するための修正データを管理する管理手段をさらに備え、
前記修正手段は、前記修正文字列を前記修正データに基づいて修正すること
を特徴とする請求項１に記載の情報処理サーバ。
【請求項３】
前記検索手段で検索された前記文書データに含まれる文字列から、前記修正文字列の修正候補を特定する特定手段と、
前記修正手段は、前記特定手段で特定された前記修正候補のいずれかで前記修正文字列を修正すること
を特徴とする請求項１または２に記載の情報処理サーバ。
【請求項４】
前記特定手段で特定された前記修正候補について、前記修正文字列と前記文書データで共起する回数を示す共起度を求める算出手段を更に備え、
前記修正手段は、前記算出手段で算出された前記共起度に基づいて決まる前記修正候補により、前記修正文字列を修正すること
を特徴とする請求項３に記載の情報処理サーバ。
【請求項５】
複数の文書データを記憶する記憶手段を備える情報処理サーバであり、複数の文書データから適切な文書データを、ユーザから受け付けた文字列をもとに検索することのできる情報処理サーバの制御方法であって、
前記文書データを検索するための複数の文字列であって、修正対象の修正文字列を少なくとも含む文字列を受け付ける受付ステップと、
前記受付ステップで受け付けた前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索する検索ステップと、
前記検索ステップで検索された前記文書データに含まれる文字列に基づいて、前記修正文字列を修正する修正ステップと
を含み、
前記検索ステップは、前記修正ステップで修正された前記修正文字列を含む前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索すること
を特徴とする情報処理サーバの制御方法。
【請求項６】
複数の文書データを記憶する記憶手段を備える情報処理サーバであり、複数の文書データから適切な文書データを、ユーザから受け付けた文字列をもとに検索することのできる情報処理サーバで実行可能なプログラムであって、
情報処理サーバを、
前記文書データを検索するための複数の文字列であって、修正対象の修正文字列を少なくとも含む文字列を受け付ける受付手段と、
前記受付手段で受け付けた前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索する検索手段と、
前記検索手段で検索された前記文書データに含まれる文字列に基づいて、前記修正文字列を修正する修正手段
として機能させ、
前記検索手段を、前記修正手段で修正された前記修正文字列を含む前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索するよう機能させること
を特徴とするプログラム。
【請求項７】
複数の文書データから適切な文書データを、ユーザから受け付けた文字列をもとに検索することのできる情報処理サーバを含む情報処理システムであって、
複数の前記文書データを記憶する記憶手段と、
前記文書データを検索するための複数の文字列であって、修正対象の修正文字列を少なくとも含む文字列を受け付ける受付手段と、
前記受付手段で受け付けた前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索する検索手段と、
前記検索手段で検索された前記文書データに含まれる文字列に基づいて、前記修正文字列を修正する修正手段と
を備え、
前記検索手段は、前記修正手段で修正された前記修正文字列を含む前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索すること
を特徴とする情報処理システム。
【請求項８】
複数の文書データを記憶する記憶手段を備える情報処理システムであり、複数の文書データから適切な文書データを、ユーザから受け付けた文字列をもとに検索することのできる情報処理サーバを含む情報処理システムの制御方法であって、
前記文書データを検索するための複数の文字列であって、修正対象の修正文字列を少なくとも含む文字列を受け付ける受付ステップと、
前記受付ステップで受け付けた前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索する検索ステップと、
前記検索ステップで検索された前記文書データに含まれる文字列に基づいて、前記修正文字列を修正する修正ステップと
を含み、
前記検索ステップは、前記修正ステップで修正された前記修正文字列を含む前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索すること
を特徴とする情報処理システムの制御方法。
【請求項９】
複数の文書データを記憶する記憶手段を備える情報処理システムであり、複数の文書データから適切な文書データを、ユーザから受け付けた文字列をもとに検索することのできる情報処理サーバを含む情報処理システムで実行可能なプログラムであって、
情報処理システムを、
前記文書データを検索するための複数の文字列であって、修正対象の修正文字列を少なくとも含む文字列を受け付ける受付手段と、
前記受付手段で受け付けた前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索する検索手段と、
前記検索手段で検索された前記文書データに含まれる文字列に基づいて、前記修正文字列を修正する修正手段
として機能させ、
前記検索手段を、前記修正手段で修正された前記修正文字列を含む前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索させること
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザから受け付けた文字列に含まれる修正文字列に対し、適切に修正して、文書データを検索することのできる情報処理サーバ、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム技術に関する。
【背景技術】
【０００２】
近年、企業においても家庭においても、パーソナルコンピュータが普及し、またインターネットが身近なものになったこともあって、キーボードから文字列を入力する機会が多くなっている。
【０００３】
しかしながら、キーボードを使いこなすにはかなりの熟練が必要であり、また熟練した人であっても誤った入力（スペリングミス）をすることは多い。
【０００４】
また、近年は音声認識により、キーボードを使わず人の声をコンピュータのソフトウェアが文字列に変換する技術も広く使われるようになってきた。しかしながら、音声認識に関しても精度は１００％ではないため、スペリングミスが発生する。そして、スペリングミスに効率的に対処するため、様々な技術が開発されている。
特許文献１においては、あらかじめ電子的に記憶された辞書を用意し、音声認識で受け付けた文字列のうち、誤認識されている部分を特定し、さらに辞書の中から誤認識した文字列に対して、訂正候補の文字列および誤認識した文字列と訂正候補の文字列の類似度を計算する技術が記載されている。
【０００５】
また、特許文献２においては、検索システムにおいて、過去にユーザが入力したクエリ（文字列）をログとして格納し、新たにユーザが入力をした際に、前記クエリログに基づいて、スペリングチェックを行う技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−０６３５４５号公報
【特許文献２】特開２００５−２６７６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１においてはあらかじめ辞書を用意する必要がある。この辞書に含まれている単語は、汎用的でありどの分野にも適用可能に作らねばならない。その場合、辞書をあらかじめ用意する工数、また新しい単語を追加するなど辞書を更新する保守の工数が必要である。またユーザが新たに入力する文字列が特定の分野であったとしても、汎用的に用意された辞書から訂正候補の文字列を探すため、訂正候補が大量に存在し、文字列間の類似度の計算が高い精度で算出されたとしても、無関係な候補を高い優先順位でユーザに提示することになるという問題がある。
【０００８】
また、特許文献２においては、特定のユーザのクエリログを記憶してスペリングチェックに使用しているものの、ユーザが特定のクエリだけを頻繁に使用する場合であればともかく、汎用的に使用している場合には、それだけ多くのスペリングチェック用のログを収集するには長期間を要し、またその汎用性があるため、特許文献１と同様に無関係な候補を高い優先順位でユーザに提示することになるという問題がある。
【０００９】
本発明の目的は、ユーザから受け付けた文字列に含まれる修正文字列に対し、適切に修正して、文書データを検索することが可能な技術を提供することである。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明は、複数の文書データから適切な文書データを、ユーザから受け付けた文字列をもとに検索することのできる情報処理サーバであって、複数の前記文書データを記憶する記憶手段と、前記文書データを検索するための複数の文字列であって、修正対象の修正文字列を少なくとも含む文字列を受け付ける受付手段と、前記受付手段で受け付けた前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索する検索手段と、前記検索手段で検索された前記文書データに含まれる文字列に基づいて、前記修正文字列を修正する修正手段とを備え、前記検索手段は、前記修正手段で修正された前記修正文字列を含む前記文字列を用いて、前記記憶手段で記憶される複数の前記文書データを検索することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザから受け付けた文字列に含まれる修正文字列に対し、適切に修正して、文書データを検索することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る機能構成の一例を示す図である。
【図２】本発明の実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施形態に係る検索処理のフローチャートの一例を示す図である。
【図４】本発明の実施形態に係るスペリングチェックの処理のフローチャートの一例を示す図である。
【図５】本発明の実施形態に係る検索対象となる文書の一例を示す図である。
【図６】本発明の実施形態に係る抽出語記憶部と、検索条件に含まれる語と抽出語の共起関係の情報に関する記憶部の一例を説明するための図である。
【図７】本発明の実施形態に係る単語辞書記憶部のうち、スペリングミスに関連する候補単語リストの一例を示すための図である。
【図８】本発明の実施形態に係る修正候補記憶部の一例を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００１４】
図１は、本発明の実施形態に係る機能構成の一例を示す図である。
【００１５】
入力文字列受付部１０１は、テキスト文書（文書データに相当する）を検索するための検索条件となる入力文字列を受け付ける。本実施形態では、文書データの例をテキスト文書としているが、文書が含まれていればテキスト文書に限定されず、ＰＤＦファイルなどの文書データでもよい。当該入力文字列は、本発明における情報処理装置がクライアント装置として機能するコンピュータである場合には、当該コンピュータを使用するユーザから直接入力を受け付ける機能部であってもよい。また、当該コンピュータで動作する他のアプリケーションプログラムなどから受け付ける機能部であってもよい。また、本実施形態における情報処理装置がネットワーク上におけるサーバである場合には、他の情報処理装置から当該ネットワークを介して通信情報を受け付ける機能部であってもよい。
文書検索部１０２は、前述の手順で取得された入力文字列に基づき、文書記憶部１２１に格納されたテキスト文書を検索する。検索は、テキスト文書自体ではなく、テキスト文書から予め生成された索引に対して実行するものであってもよい。テキスト文書の検索および索引を生成することに関する技術は、周知の技術であるため詳細は割愛する。
【００１６】
単語抽出部１０３は、文書検索部１０２で検索した結果であるテキスト文書から、当該テキスト文書に含まれる文字列を解析し、単語を抽出する。
【００１７】
辞書検索部１０４は、あらかじめ用意された単語の情報（修正データに相当する）を記憶して管理する単語辞書記憶部１２２（管理手段に相当する）から、入力文字列受付部１０１で受け付けた入力文字列の一部（部分文字列）、すなわち入力文字列を解析して単語（スペリングミスを含んでいてもよい）に基づき、単語を検索する。ただし、検索する単語の文字列が正しいか正しくないかがあらかじめ分かっていないため、文字列として完全に一致する単語のみを検索するものではなく、スペリングミスがあることも考慮した上で、類似であると判定される文字列を検索するものである。スペルチェックのための辞書検索については周知の技術であるため詳細は割愛する。
【００１８】
類似度判定部１０５は、単語抽出部１０３で抽出された単語、あるいは辞書検索部１０４で検索された単語が、入力文字列の部分文字列で、単語（スペリングミスを含んでいる可能性がある文字列）とどの程度類似しているか判定する。結果は数値として算出される。
【００１９】
修正候補格納部１０６は、前述において入力文字列の部分文字列である単語に類似していると思われる単語を、その類似度とともに一時的に記憶部に記憶させる。当該修正候補を、修正候補提示部１０７により、ユーザあるいは本発明のシステムを利用するアプリケーションに提示し、ユーザまたはアプリケーションの選択結果を、修正結果受付部１０８が受け付けて、入力文字列から得られた単語を修正する。修正された結果が改めて検索条件となり、文書検索部１０２で文書記憶部１２１を再検索する。
【００２０】
図２は、本発明の情報処理システムに含まれる情報処理装置（情報処理サーバに相当する）のハードウェア構成の一例を示すブロック図である。
【００２１】
図２に示すように、情報処理装置１００、アプリケーションサーバ１４０は、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、通信Ｉ／Ｆコントローラ２０８等が接続された構成を採る。  ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２２】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、各サーバあるいは各ＰＣが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
【００２３】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００２４】
また、入力コントローラ２０５は、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【００２５】
ビデオコントローラ２０６は、ディスプレイ２１０等の表示器への表示を制御する。尚、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
【００２６】
メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、あるいは、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）カードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１（記憶手段に相当する）へのアクセスを制御する。
【００２７】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いた通信等が可能である。
【００２８】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上に表示することが可能である。また、ＣＰＵ２０１は、ディスプレイ２１０上のマウスカーソル（図示しない）等によるユーザ指示を可能とする。
【００２９】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
図３は、本発明の実施形態に係る検索処理のフローチャートの一例を示す図である。図３のフローチャートの各ステップは、情報処理装置１００上のＣＰＵ２０１で実行される。
【００３０】
ステップＳ３０１においては、入力文字列受付部１０１が、文書検索部１０２でテキスト文書を検索するための条件として、入力文字列を受け付ける（受付手段に相当する）。本発明の説明のための例として、“人工知能、機械学習、ビッグデー？”という文字列が受け付けられたとする。最後の“？”は、“ビッグデータ”という単語の入力においてスペリングミスをしたもの（修正文字列に相当する）で有り、修正対象である。例えば一文字分不足した“ビッグデー”であったり、誤った文字が入力され“ビッグデーラ”であったりするものとする。
【００３１】
ステップＳ３０２においては、文書検索部１０２が、前述の入力文字列を検索条件として、文書記憶部１２１から条件に合致するテキスト文書の一覧を取得（検索）する（検索手段に相当する）。文書記憶部１２１の例を、図５を用いて説明する。
【００３２】
図５において、５０１が１つの検索対象となるテキスト文書である。図５の例では、テキスト文書は５０１ａ〜５０１ｎまである。これらのテキスト文書５０１のうち、前述の検索条件“人工知能”、“機械学習”を含む文書が検索結果となるが、図５の例では、５０１ａ〜５０１ｄの４つである。検索条件と一致した単語にアンダーラインを引いている。例えば、テキスト文書５０１ａでは、“人工知能”と“機械学習”の２つが一致している。
【００３３】
“ビッグデータ”という単語も含まれているが、検索条件が“ビッグデー？”とスペリングミスしたものであるため一致したとは見なされない。
【００３４】
ステップＳ３０３においては、単語抽出部１０３が、検索結果である前述のテキスト文書を解析し、当該テキスト文書のいずれかに含まれる単語を抽出する。
【００３５】
抽出された単語は、例えば図６の抽出単語記憶部３１１（“ビッグデータ”から“デジタル”までの縦の列）のように一覧として表される。ここで図６を説明する。
【００３６】
図６は、前述の通り抽出単語記憶部３１１のリストと、文書毎に検索条件の単語を並べた部分（横の列の６０１）の２次元の表である。抽出単語記憶部３１１と各文書６０１が交差する重み付け欄６０２には、重み付けが記載されている。
【００３７】
例えば最も左上の欄では、テキスト文書５０１には“ビッグデータ”という単語が含まれているため、ビッグデータという抽出単語の一つ右の欄に“２”と記載されている。これは、検索条件の中の“人工知能”、“機械学習”の２つの単語が、テキスト文書に出現している、すなわち“ビッグデータ”は、検索条件に含まれる単語のうち２つの単語と共起している、ということを表している。
【００３８】
この重み付けはあくまで例である。例えば、検索システムにおいては、テキスト文書に現れる各単語に、通常“重み”を付与している。１つのテキスト文書に何度も現れる単語ほど重みが高い、一方、異なるテキスト文書に何度も現れる単語ほど重みが低い、などである。これらの重みを考慮して、図６の重み付け欄６０２の値を算出してもよい。
【００３９】
また、図６では各テキスト文書に出現する検索条件の単語は２つだけであるが、もっと多い場合、例えば単語Ａ１，Ａ２，Ｂ１，Ｂ２の４つがある場合、単語Ａ１，Ａ２は共起頻度が高いため、単語Ａ１，Ａ２と共起する抽出単語の重みも高くする、一方、単語Ｂ１，Ｂ２の共起頻度は低いため、単語Ｂ１，Ｂ２と共起する抽出単語の重みは低くする、などとしてもよい。従って重み付け欄６０２の値の算出方法は、任意であり設計事項である。本発明においては、任意の算出方法を含むものとする。
【００４０】
また、抽出単語記憶部３１１に“人工知能”、“機械学習”の２単語が含まれていないが、これは、後述の説明でスペリングミスがなかったものとして扱うためで有り、ステップ３０３の段階でその判定ができていない場合には、暫定的に抽出単語記憶部３１１に含んでいてもよい。
【００４１】
同様に、図６の抽出単語記憶部３１１には、“人工知能”、“機械学習”をのぞき、各テキスト文書に出現する全ての単語を記載しているが、本例での“ビッグデー？”のスペリングチェックのための候補にさえならない、という判定があらかじめできる文字列であれば、抽出単語記憶部３１１に必ずしも含まなくてもよい。
【００４２】
フローチャートの説明に戻る。ステップＳ３０４においては、検索条件となる入力文字列に含まれる単語に対して、スペリングチェックを行う。スペリングチェックについては周知の技術である。ただし、本願発明の特徴に関わる部分を図４のフローチャートを用いて詳細に説明する。
【００４３】
ステップＳ４０１からステップＳ４０６は、検索条件の入力文字列から抽出された単語（スペリングミスがあるものも含む）の１つずつに着目しながら、繰り返し行われる処理である。
【００４４】
ステップＳ４０２においては、着目中の単語と同じものが抽出単語記憶部３１１にあるか否かを判定する。例えば“ビッグデー？”があるか否かを判定する。文字列として一致するものがある場合（ＹＥＳ）には、ステップＳ４０６に進み、次の着目を次の単語に移行する。一致するものがない場合（ＮＯ）の場合には、ステップＳ４０３に進む。
【００４５】
ステップＳ４０３においては、類似度判定部１０５が、抽出単語記憶部３１１に記憶された検索結果のテキスト文書に含まれる単語と、単語辞書記憶部１２２に含まれる単語の中から、着目中の単語と類似のものを選択し、類似度を算出する。類似度は、例えば２つの単語の文字列としての一致度に基づいて算出される。スペリングチェックおよび類似度算出の処理については、周知の技術であり詳細は割愛する。単語辞書記憶部の例として、図７を説明する。
【００４６】
図７においては、“ビッグデー？”と類似する見出しをもつ単語のみを表示しているが、実際には他の単語も登録されている。着目中の単語７０１に対して、類似する見出し（７０２）を持つ単語をリストアップした状態である。
【００４７】
また前述で、特許文献１のように辞書を用いることの問題点を記載したが、これは汎用的な辞書を用意する場合であり、例えば企業が特定の製品についての質問応答システムを開発するような場合に、その製品に関連する特有の技術用語のみを登録するのであれば、着目中の単語に誤って類似する単語も少なく、また保守の工数も少なく効果があるため、使用しても同様の問題を生じないようにすることが可能である。
【００４８】
さらに、類似していると判定された単語一覧の例を図８で説明する。図８は、修正候補記憶部３１２を説明したものである。ステップＳ４０３の結果は、修正候補記憶部３１２に格納しておく。
【００４９】
修正候補記憶部３１２には、スペリングミス候補８０１に対して、類似していると判定された単語の表記８０２と、その類似度８０３を格納する。さらに、単語辞書記憶部１２２から取得した修正候補は使用しない、ということをユーザやアプリケーションが判断できるように、出典８０４を格納してもよい。検索システムがデフォルトで判断せず、ユーザやアプリケーションに提示する際に、判断する根拠として、修正候補とともに出典８０４の情報を提示してもよい。
【００５０】
ステップＳ４０４においては、抽出単語記憶部３１１および（必要なら）単語辞書記憶部１２２から、着目中の単語と類似の文字列を見つけることができたか否かを判定する。具体的には、類似度の閾値を設定しプログラムコードや設定ファイルなどの記憶部に記憶しておく。例えば、閾値として“０．５”を設定し、類似度がその値よりも低いものは、スペリングミスの修正候補ではないと判定してもよい。
【００５１】
着目中の単語に類似するものがあると判定された場合（ＹＥＳ）には、ステップＳ４０５に進む。類似するものがないと判定された場合（ＮＯ）には、ステップＳ４０６に進み、次の着目を次の単語に移行する。
【００５２】
ステップＳ４０５においては、着目中の単語と類似しているとされた単語に対して、類似度を変更する。
【００５３】
例をあげて説明する。既に、図６において、抽出単語と検索条件に含まれる単語の共起度（言語が同一の発話・文・文脈などの言語的環境において生起する回数を指す）算出すること（算出手段に相当する）により、重み付けをする表を説明した。例えば、類似度が０．８の“ビッグデータ”は、図６のテーブルから、３つのテキスト文書で合計４つの検索条件と共起しているから、類似度を４倍の“３．２”に修正、類似度が０．６の“ビットデータ”は、１つしか共起していないので、変わらず“０．６”などとしてもよい。この共起度の算出方法はあくまで例であり、任意の算出方法でよい。本発明では、それら任意の算出方法をも含むものとする。
【００５４】
以上で、図４のフローチャートの説明を完了し、図３のフローチャートの説明に戻る。
【００５５】
ステップＳ３０５においては、修正候補提示部１０７が、スペリングミスがあると判定された検索条件内の単語に対して、修正候補を提示する。例えば、図８の表記８０２のうち、出典８０４に“抽出”と記されているもののみ提示する、あるいは、類似度８０３が“０．７以上”のもののみを提示する、などの処理を行う。
【００５６】
提示された修正候補から、ユーザあるいは検索システムを呼び出したアプリケーションが、適切なものを１つ選択することで修正候補を特定する（特定手段に相当する）。例えば、“ビッグデータ”が選択されたとする。
【００５７】
ステップＳ３０６においては、修正結果受付部１０８が、ユーザあるいはアプリケーションの選択結果を受け付け、入力文字列の中でスペリングミスがあった単語を選択された結果に置き換えて修正する（修正手段に相当する）。具体的には、“ビッグデー？”を“ビッグデータ”に置き換えて修正する。
【００５８】
ステップＳ３０７においては、文書検索部１０２が、置き換えられた検索条件で、再度、文書記憶部１２１を検索する（検索手段に相当する）。具体的には、“人工知能”、“機械学習”、“ビッグデータ”の３条件で再度検索する。この結果、テキスト文書５０１ｂは順位が下がり、５０１ｃ、５０１ｄの結果の順位が上がる。
【００５９】
また、不図示ではあるが、３条件のうち“ビッグデータ”のみを含んでいるテキスト文書５０１は、ステップＳ３０２の検索ではヒットしないが、ステップＳ３０７の再検索ではヒットすることになる。
【００６０】
ステップＳ３０８においては、順位が入れ替わった、あるいは１回目でヒットしなかったテキスト文書５０１の一覧が、ステップＳ３０６にて修正された検索条件に基づいて再検索されたステップＳ３０７の結果として、提示される。
【００６１】
以上、ステップＳ３０５とステップＳ３０６で、スペリングミスのある単語に対する修正候補の中から、ユーザやアプリケーションにより正しいスペリングの単語が選択されるとの説明をした。ただし、これはあくまで例である。本発明の検索システムにおいて、最も類似度が高いものをデフォルトで選択しても構わない。
【００６２】
例えば、ユーザに対して１回目の検索結果もスペリングチェックの結果も提示せずに再検索を実施し、ステップＳ３０８まで再検索の結果を提示すれば、ユーザからは、入力文字列の中にスペリングミスをした単語があるにもかかわらず、正しいスペリングで検索したように見せることが可能となる。以上で、図３のフローチャートの説明を完了する。
【００６３】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００６４】
本発明によれば、ユーザから受け付けた文字列に含まれる修正文字列に対し、適切に修正して、文書データを検索することが可能となる。
【００６５】
以上、いくつかの実施形態について示したが、本発明は、例えば、システム、装置、方法、コンピュータプログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００６６】
また、本発明におけるコンピュータプログラムは、図３〜図４に示すフローチャートの処理方法をコンピュータが実行可能なコンピュータプログラムであり、本発明の記憶媒体は図３〜図４の処理方法をコンピュータが実行可能なコンピュータプログラムが記憶されている。なお、本発明におけるコンピュータプログラムは図３〜図４の各装置の処理方法ごとのコンピュータプログラムであってもよい。
【００６７】
以上のように、前述した実施形態の機能を実現するコンピュータプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたコンピュータプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００６８】
この場合、記録媒体から読み出されたコンピュータプログラム自体が本発明の新規な機能を実現することになり、そのコンピュータプログラムを記憶した記録媒体は本発明を構成することになる。
【００６９】
コンピュータプログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【００７０】
また、コンピュータが読み出したコンピュータプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのコンピュータプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７１】
さらに、記録媒体から読み出されたコンピュータプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのコンピュータプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７２】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にコンピュータプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのコンピュータプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００７３】
さらに、本発明を達成するためのコンピュータプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００７４】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００７５】
１００  情報処理装置
１０１  入力文字列受付部
１０２  文書検索部
１０３  単語抽出部
１０４  辞書検索部
１０５  類似度判定部
１０６  修正候補格納部
１０７  修正候補提示部
１０８  修正結果受付部
１２１  文書記憶部
１２２  単語辞書記憶部
３１１  抽出単語記憶部
３１２  修正候補記憶部
６００  共起情報記憶部
【図１】
2018190030.tif 000003
【図２】
2018190030.tif 000004
【図３】
2018190030.tif 000005
【図４】
2018190030.tif 000006
【図５】
2018190030.tif 000007
【図６】
2018190030.tif 000008
【図７】
2018190030.tif 000009
【図８】
2018190030.tif 000010