(57)【要約】【課題】  文章を単語としてではなく文字単位として扱い、文字間の繋がりの連続性及び位置を演算することにより、文字間の関係性を迅速に表すことを可能とする。【解決手段】  判定に用いる２つの文字列の文字数をそれぞれ取得して、両文字列の文字数が異なる場合には、文字数が多い文字列を被検索文字列Ａとするとともに、文字数が少ない文字列を検索文字列Ｂとし、両文字列の文字数が同一である場合にはいずれか一方を被検索文字列Ａとするとともに、他方を検索文字列Ｂとする（検索文字列・被検索文字列決定手段）。検索文字列Ｂを構成する任意の文字と被検索文字列Ａを構成する任意の文字とを比較して、文字間の繋がりの連続性及び位置との関係に基づき、予め定めた基準に従い類似値を求め（類似値算出手段）、類似値が大きいほど検索文字列Ｂと被検索文字列Ａとの類似度が高いと判定（類似度判定手段）する。【選択図】図３
2017174245.tif 000002
【特許請求の範囲】
【請求項１】
被検索文字列と検索文字列との類似値を判定するための方法であって、
判定に用いる２つの文字列の文字数をそれぞれ取得して、両文字列の文字数が異なる場合には、文字数が多い文字列を被検索文字列とするとともに、文字数が少ない文字列を検索文字列とし、両文字列の文字数が同一である場合にはいずれか一方を被検索文字列とするとともに、他方を検索文字列とし、
前記検索文字列を構成する任意の文字と前記被検索文字列を構成する任意の文字とを比較して、文字間の繋がりの連続性及び位置との関係に基づき、予め定めた基準に従い類似値を求め、
前記類似値が大きいほど前記検索文字列と前記被検索文字列との類似度が高いと判定する、
ことを特徴とする文字列類似値の判定方法。
【請求項２】
前記検索文字列を構成する文字と、前記被検索文字列を構成する文字との比較において、
前記検索文字列の第１番目の文字と前記被検索文字列の第１番目の文字が同一の場合、前記検索文字列を構成する任意の文字と前記被検索文字列を構成する任意の文字とが異なる位置で同一の場合、前記検索文字列を構成する任意の文字と前記被検索文字列を構成する任意の文字とが同一の位置で同一の場合、前記検索文字列を構成する任意の文字と前記被検索文字列を構成する任意の文字とが連続して同一の場合に、それぞれ得点を付与する、
ことを特徴とする請求項１に記載の文字列類似値の判定方法。
【請求項３】
前記検索文字列を構成する任意の文字が前記被検索文字列を構成するいずれかの文字と同一である位置を取得して第１文字位置ｐとして記憶し、
前記検索文字列を構成する前記任意の文字の次の文字が前記被検索文字列を構成する他のいずれかの文字と同一である位置を取得して第２の文字位置ｑとして記憶し、
前記第２の文字位置ｑが前記第１の文字位置ｐの１つ前の文字位置である場合に、得点を減算する、
ことを特徴とする請求項２に記載の文字列類似値の判定方法。
【請求項４】
前記検索文字列を構成する任意の文字が前記被検索文字列を構成する文字のいずれかと同一である場合に、当該被検索文字列の中で前記同一の文字の位置を取得して第ｎ番目の文字位置として記憶し、
前記検索文字列を構成する他の任意の文字が前記被検索文字列を構成する他の任意の文字のいずれかと同一である場合に、当該被検索文字列の中で前記他の同一の文字の位置を取得して第ｍ番目の文字位置として記憶し、
前記第ｎ番目の文字位置が第ｍ−１番目の文字位置であり、かつ第ｎ番目の文字と第ｍ−１番目の文字が同一の場合に、前記検索文字列及び前記被検索文字列において、対応する同一文字が連続しているとして、得点を加算する、
ことを特徴とする請求項２または３に記載の文字列類似値の判定方法。
【請求項５】
前記加算した得点の合計値を前記検索文字列の文字数で除算して百分率で表した数値について、１００を上限として類似値とする、
ことを特徴とする請求項２〜４のいずれか１項に記載の文字列類似値の判定方法。
【請求項６】
被検索文字列と検索文字列との類似値を判定するための装置であって、
判定に用いる２つの文字列の文字数をそれぞれ取得して、両文字列の文字数が異なる場合には、文字数が多い文字列を被検索文字列とするとともに、文字数が少ない文字列を検索文字列とし、両文字列の文字数が同一である場合にはいずれか一方を被検索文字列とするとともに、他方を検索文字列とする検索文字列・被検索文字列決定手段と、
前記検索文字列を構成する任意の文字と前記被検索文字列を構成する任意の文字とを比較して、文字間の繋がりの連続性及び位置との関係に基づき、予め定めた基準に従い類似値を求める類似値算出手段と、
前記類似値が大きいほど前記検索文字列と前記被検索文字列との類似度が高いと判定する類似度判定手段と、
を備えたことを特徴とする文字列類似値の判定装置。
【請求項７】
前記類似値算出手段は、
前記検索文字列を構成する文字と、前記被検索文字列を構成する文字との比較において、
前記検索文字列の第１番目の文字と前記被検索文字列の第１番目の文字が同一の場合、前記検索文字列を構成する任意の文字と前記被検索文字列を構成する任意の文字とが異なる位置で同一の場合、前記検索文字列を構成する任意の文字と前記被検索文字列を構成する任意の文字とが同一の位置で同一の場合、前記検索文字列を構成する任意の文字と前記被検索文字列を構成する任意の文字とが連続して同一の場合に、それぞれ得点を付与する、
ことを特徴とする請求項６に記載の文字列類似値の判定装置。
【請求項８】
前記類似値算出手段は、
前記検索文字列を構成する任意の文字が前記被検索文字列を構成するいずれかの文字と同一である位置を取得して第１文字位置ｐとして記憶し、
前記検索文字列を構成する前記任意の文字の次の文字が前記被検索文字列を構成する他のいずれかの文字と同一である位置を取得して第２の文字位置ｑとして記憶し、
前記第２の文字位置ｑが前記第１の文字位置ｐの１つ前の文字位置である場合に、得点を減算する、
ことを特徴とする請求項７に記載の文字列類似値の判定装置。
【請求項９】
前記類似値算出手段は、
前記検索文字列を構成する任意の文字が前記被検索文字列を構成する文字のいずれかと同一である場合に、当該被検索文字列の中で前記同一の文字の位置を取得して第ｎ番目の文字位置として記憶し、
前記検索文字列を構成する他の任意の文字が前記被検索文字列を構成する他の任意の文字のいずれかと同一である場合に、当該被検索文字列の中で前記他の同一の文字の位置を取得して第ｍ番目の文字位置として記憶し、
前記第ｎ番目の文字位置が第ｍ−１番目の文字位置であり、かつ第ｎ番目の文字と第ｍ−１番目の文字が同一の場合に、前記検索文字列及び前記被検索文字列において、対応する同一文字が連続しているとして、得点を加算する、
ことを特徴とする請求項７または８に記載の文字列類似値の判定装置。
【請求項１０】
前記類似値算出手段は、
前記加算した得点の合計値を前記検索文字列の文字数で除算して百分率で表した数値について、１００を上限として類似値とする、
ことを特徴とする請求項７〜９のいずれか１項に記載の文字列類似値の判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列類似値の判定方法及び判定装置に関するものであり、詳しくは、文章を単語としてではなく文字単位として扱い、文字間の繋がりの連続性及び位置を演算することにより、文字間の関係性を表すようにした文字列類似値の判定方法及び判定装置に関するものである。
【背景技術】
【０００２】
文書がデジタルデータとして記憶可能となった現在において、様々な用途で検索対象となる文書から目的の文字列を検索することが可能となり、大量の文書の中から目的の文字列を迅速に検索するためのシステムが種々提案されている（例えば、特許文献１参照）。
【０００３】
特許文献１に記載された技術は、大量のテキスト文書を検索するテキスト文書検索システムにおいて、検索原文と一致しない検索文字列を入力した場合であっても、類似度を判別して目的の文書を検索可能としたものである。
【０００４】
この文書データ検索装置は、歌詞ファイル中から検索対象単語に類似する単語を抽出するための装置であり、検索される可能性がある単語（検索単語）を予測して登録し、歌詞ファイル中の検索対象単語との音響類似距離値を予め計算しておく。また、歌詞ファイル中で検索される可能性がある単語と音響的に類似するキーワード（検索文字列に含まれる可能性のある検索単語）、２つの単語間の音響類似距離値、検索対象単語の歌詞ファイル中の位置情報をパラメータとした重要度情報を算出したＩＮＤＥＸファイルを作成しておく。そして、入力された検索文字列から得られる検索単語に基づいて、ＩＮＤＥＸファイルを参照して、検索対象文書データの類似度を演算するようになっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１２３００５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、従来の一般的な文字列類似値の判定方法や文字列類似値の判定装置では、文章から形態素解析により単語を抽出するため、処理に長時間を要して実用的であるとは言い難い。このため、特許文献１に記載された技術のように、検索用のＩＮＤＥＸファイルを別途生成して対応しているが、このような方法はシーケンシャル的に文字列の比較を行うことには適していない。
【０００７】
また、単語を音素もしくは読み仮名変換して検索を行っているが、形態素解析に登録されていない単語では、変換を行うことができない場合がある。さらに、文章ではなく対象が一文字の場合には、候補が多くなる等、検索精度が著しく低下することが予想される。
【０００８】
本発明は、上述した事情に鑑み提案されたもので、文章を単語としてではなく文字単位として扱い、文字間の繋がりの連続性及び位置を演算することにより、文字間の関係性を迅速に表すことが可能な文字列類似値の判定方法及び判定装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る文字列類似値の判定方法及び判定装置は、上述した目的を達成するため、以下の特徴点を有している。すなわち、本発明に係る文字列類似値の判定方法は、判定に用いる２つの文字列の文字数をそれぞれ取得して、両文字列の文字数が異なる場合には、文字数が多い文字列を被検索文字列とするとともに、文字数が少ない文字列を検索文字列とし、両文字列の文字数が同一である場合にはいずれか一方を被検索文字列とするとともに、他方を検索文字列とする。
【００１０】
そして、検索文字列を構成する任意の文字と被検索文字列を構成する任意の文字とを比較して、文字間の繋がりの連続性及び位置との関係に基づき、予め定めた基準に従い類似値を求め、類似値が大きいほど検索文字列と被検索文字列との類似度が高いと判定することを特徴とするものである。
【００１１】
本発明に係る文字列類似値の判定装置は、上述した文字列類似値の判定方法を実現するための装置であって、検索文字列・被検索文字列決定手段と、類似値算出手段と、類似度判定手段とを備えたことを特徴とするものである。
【００１２】
検索文字列・被検索文字列決定手段は、判定に用いる２つの文字列の文字数をそれぞれ取得して、両文字列の文字数が異なる場合には、文字数が多い文字列を被検索文字列とするとともに、文字数が少ない文字列を検索文字列とし、両文字列の文字数が同一である場合にはいずれか一方を被検索文字列とするとともに、他方を検索文字列とするための手段である。類似値算出手段と、検索文字列を構成する任意の文字と被検索文字列を構成する任意の文字とを比較して、文字間の繋がりの連続性及び位置との関係に基づき、予め定めた基準に従い類似値を求めるための手段である。類似度判定手段は、類似値が大きいほど検索文字列と被検索文字列との類似度が高いと判定するための手段である。
【００１３】
また、検索文字列を構成する文字と、被検索文字列を構成する文字との比較において、検索文字列の第１番目の文字と被検索文字列の第１番目の文字が同一の場合、検索文字列を構成する任意の文字と被検索文字列を構成する任意の文字とが異なる位置で同一の場合、検索文字列を構成する任意の文字と被検索文字列を構成する任意の文字とが同一の位置で同一の場合、検索文字列を構成する任意の文字と被検索文字列を構成する任意の文字とが連続して同一の場合に、それぞれ得点を付与する。文字列類似値の判定装置において、当該機能は、類似値算出手段の機能として実現する。
【００１４】
また、検索文字列を構成する任意の文字が被検索文字列を構成するいずれかの文字と同一である位置を取得して第１文字位置ｐとして記憶し、検索文字列を構成する前記任意の文字の次の文字が被検索文字列を構成する他のいずれかの文字と同一である位置を取得して第２の文字位置ｑとして記憶し、第２の文字位置ｑが第１の文字位置ｐの１つ前の文字位置である場合に、得点を減算する。文字列類似値の判定装置において、当該機能は、類似値算出手段の機能として実現する。
【００１５】
また、検索文字列を構成する任意の文字が被検索文字列を構成する文字のいずれかと同一である場合に、当該被検索文字列の中で同一の文字の位置を取得して第ｎ番目の文字位置として記憶し、検索文字列を構成する他の任意の文字が被検索文字列を構成する他の任意の文字のいずれかと同一である場合に、当該被検索文字列の中で他の同一の文字の位置を取得して第ｍ番目の文字位置として記憶する。そして、第ｎ番目の文字位置が第ｍ−１番目の文字位置であり、かつ第ｎ番目の文字と第ｍ−１番目の文字が同一の場合に、検索文字列及び前記被検索文字列において、対応する同一文字が連続しているとして、得点を加算する。文字列類似値の判定装置において、当該機能は、類似値算出手段の機能として実現する。
【００１６】
また、加算した得点の合計値を検索文字列の文字数で除算して百分率で表した数値について、１００を上限として類似値とする。文字列類似値の判定装置において、当該機能は、類似値算出手段の機能として実現する。
【発明の効果】
【００１７】
本発明に係る文字列類似値の判定方法及び判定装置では、文章を単語ではなく文字単位として扱い、その文字間の繋がりの連続性および位置を演算することで、その文字間の関係性を表している。すなわち、検索文字列と被検索文字列との比較では、相互の文字間の関係性を比較することにより、精度の高い類似値を表すことが可能となる。
【００１８】
したがって、発明に係る文字列類似値の判定方法及び判定装置によれば、形態素解析を行うことなく、また、検索用ＩＮＤＥＸを作成する必要がなく、簡便なロジックでありながら、高速かつ高精度に文字列類似値を判定することができる。また、本発明に係る文字列類似値の判定方法及び判定装置によれば、シーケンシャル的に文字列を比較するのに適している。さらに、本発明に係る文字列類似値の判定方法及び判定装置によれば、検索対象となる文章を読み仮名や音素に変換する必要がないため、検索精度が落ちることがない。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る文字列類似値の判定方法及び判定装置に使用する文字列を示す説明図。
【図２】本発明の実施形態に係る文字列類似値の判定方法及び判定装置に使用する文字列を示す説明図。
【図３】本発明の実施形態に係る文字列類似値の判定方法のフローチャート。
【図４】本発明の実施形態に係る文字列類似値の判定装置のブロック図。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、本発明の実施形態に係る文字列類似値の判定方法及び判定装置を説明する。図１〜図３は本発明の実施形態に係る文字列類似値の判定方法を説明するもので、図１及び図２は判定に使用する検索文字列と被検索文字列を示す説明図、図３は文字列類似値の判定方法のフローチャートである。また、図４は本発明の実施形態に係る文字列類似値の判定装置のブロック図である。以下の説明において、適宜、図３のフローチャートにおけるステップ番号を記載する。
【００２１】
＜文字列類似値の判定方法の概要＞
本発明の実施形態に係る文字列類似値の判定方法は、まず初めに、判定に用いる２つの文字列に対して、検索文字列と被検索文字列とを決定する（Ｓ１〜Ｓ４）。検索文字列及び被検索文字列が決定したら、検索文字列を構成する任意の文字と被検索文字列を構成する任意の文字とを比較して、文字間の繋がりの連続性及び位置との関係に基づき、予め定めた基準に従い類似値を求める（Ｓ５〜Ｓ１６）。そして、類似値が大きいほど検索文字列と被検索文字列との類似度が高いと判定する（Ｓ１７）。
【００２２】
検索文字列と被検索文字列の文字の比較では、検索文字列の最初の１文字（第１文字）を取得して、当該文字を検索文字列から削除する処理（Ｓ５）を実施する。なお、検索文字列の最初の１文字（第１文字）とは、判定処理において順次削除が行われた際の第１文字のことであり、加点対象として検索文字列と被検索文字列とを比較する際の「第１番目の文字」とは異なる概念である。すなわち、加点対象として検索文字列と被検索文字列とを比較する際（Ｓ６）の「第１番目の文字」とは、比較開始時における第１番目の文字のことであり、比較開始時にのみ、検索文字列の最初の１文字（第１文字）と、第１番目の文字とが同一の文字を意味することになる。また、類似値の算出基準における文字位置についても、比較開始時の文字位置データを保持する。
【００２３】
＜文字列類似値の判定装置の概要＞
本発明に係る文字列類似値の判定装置１０は、上述した文字列類似値の判定方法を実現するための装置であって、図４に示すように、検索文字列・被検索文字列決定手段１１と、類似値算出手段１２と、類似度判定手段１３とを備えている。各手段は、コンピュータにインストールしたアプリケーションプログラムにより構成されるものであり、アプリケーションプログラムがＣＰＵ等のハードウェアと協働して動作することにより各手段としての機能を実現する。なお、本発明に係る文字列類似値の判定装置１０を構成する各手段の機能を実現するためのアプリケーションプログラムにおいて、各機能は動作ステップとして規定されている。
【００２４】
また、コンピュータには、種々のデータを入力するための入力手段２０（キーボード、マウス、タッチパネル、入力インターフェース等）、出力手段３０（表示装置、プリンタ、スピーカ、出力インターフェース等）、記憶手段４０（ハードディスク記憶装置、シリコンディスク記憶装置、ＲＡＭ）等が付帯しており、データの入出力及び記憶を行うことができる。データの入力とは、例えば、検索文字列データや被検索文字列データの入力のことであり、データの出力とは、例えば、類似値データや判定類似度データの出力のことである。また、記憶手段には、例えば、検索文字列データ、被検索文字列データ、類似値データ、判定類似度データ、文字列類似値の判定に用いるデータベース等が記憶されている。
【００２５】
検索文字列・被検索文字列決定手段１１は、判定に用いる２つの文字列の文字数をそれぞれ取得して、両文字列の文字数が異なる場合には、文字数が多い文字列を被検索文字列とするとともに、文字数が少ない文字列を検索文字列とし、両文字列の文字数が同一である場合にはいずれか一方を被検索文字列とするとともに、他方を検索文字列とするための手段である。類似値算出手段１２は、検索文字列を構成する任意の文字と被検索文字列を構成する任意の文字とを比較して、文字間の繋がりの連続性及び位置との関係に基づき、予め定めた基準に従い類似値を求めるための手段である。類似度判定手段１３は、類似値が大きいほど検索文字列と被検索文字列との類似度が高いと判定するための手段である。
【００２６】
＜検索文字列と被検索文字列の決定＞
検索文字列と被検索文字列の決定は、検索文字列・被検索文字列決定手段１１の機能により実現する。判定に用いる２つの文字列に対して、検索文字列と被検索文字列とを決定するには、判定に用いる２つの文字列の文字数をそれぞれ取得して比較する（Ｓ１）。そして、両文字列の文字数が異なる場合には、文字数が多い文字列を被検索文字列とするとともに、文字数が少ない文字列を検索文字列とする（Ｓ２、Ｓ３）。
【００２７】
また、両文字列の文字数が同一である場合にはいずれか一方を被検索文字列とするとともに、他方を検索文字列とする（Ｓ２、Ｓ４）。この際、両文字列をソートし、先順位となった文字列を被検索文字列とするとともに、後順位となった文字列を検索文字列とすることができる。例えば、図１に示すように、２つの文字列として「あいのうた」と「あかのうた」があったとする。この場合、両文字列の文字数はともに５字で同一であるため、「あいのうた」及び「あかのうた」をソートし、先順位となった「あいのうた」を被検索文字列とするとともに、後順位となった「あかのうた」を検索文字列とする。
【００２８】
また、図２に示すように、２つの文字列として「あいのろい」と「あいのいろ」があったとする。この場合、両文字列の文字数はともに５字で同一であるため、「あいのろい」及び「あいのいろ」をソートし、先順位となった「あいのろい」を被検索文字列とするとともに、後順位となった「あいのいろ」を検索文字列とする。
【００２９】
＜類似値の算出基準＞
類似値を算出するには、文字間の繋がりの連続性及び位置との関係に基づき、予め定めた基準に従い演算を行う。当該類似値の算出は、類似値算出手段１２の機能により実現する。類似値の算出基準について説明する。なお、以下に説明する類似値の算出基準は、一例であり、他の算出基準に代え、あるいは他の算出基準を付加してもよい。また、各算出基準の類似値についても一例であり、類似値は任意に設定することができる。
【００３０】
検索文字列と被検索文字列の文字との比較は、検索文字列の最初の１文字（第１文字）を取得して、当該文字を検索文字列から削除する（Ｓ５）。そして、所定の算出基準に従って類似値を算出した後（Ｓ６〜Ｓ１５）、検索文字列の文字数が「１」以上か否かを判断し（Ｓ１６）、検索文字列の文字数が「１」以上であれば、類似値の算出処理（Ｓ５〜Ｓ１５）を繰り返して実行する。当該処理を行うことにより、検索文字列の文字と、被検索文字列の文字とを順次比較することができる。
【００３１】
＜第１の算出基準＞
第１の算出基準は、検索文字列の第１番目の文字と被検索文字列の第１番目の文字が同一の場合に加点を行うものである（Ｓ６、Ｓ７）。なお、「第１番目の文字」とは、比較開始時における第１番目の文字のことである。したがって、当該処理（Ｓ６、Ｓ７）は、検索の第１巡目にのみ行う処理となる。例えば、図１に示すように、被検索文字列「あいのうた」と検索文字列「あかのうた」とを比較すると、被検索文字列（Ａ列）の第１番目の文字（Ａ１）は「あ」であり、検索文字列（Ｂ列）の第１番目の文字列（Ｂ１）も「あ」である。また、図２に示すように、被検索文字列「あいのろい」と検索文字列「あいのいる」とを比較すると、被検索文字列（Ａ列）の第１番目の文字（Ａ１）は「あ」であり、検索文字列（Ｂ列）の第１番目の文字列（Ｂ１）も「あ」である。したがって、第１の算出基準に合致するため、例えば得点「１」を加算する。
【００３２】
＜第２の算出基準＞
第２の算出基準は、検索文字列を構成する任意の文字と被検索文字列を構成する任意の文字とが異なる位置で同一の場合に加点を行うものである（Ｓ８、Ｓ９）。例えば、図１に示すように、被検索文字列「あいのうた」と検索文字列「あかのうた」とを比較すると、異なる位置で同一の文字はないため、得点加算はない。
【００３３】
また、図２に示すように、異なる位置で同一の文字が存在する場合には、下記式（１）により得点を算出する。図２に示す例では、検索文字列（Ｂ列）の第２番目の文字「い」と、被検索文字列（Ａ列）の第５番目の文字「い」とが、異なる位置で同一の文字であり、また、検索文字列（Ｂ列）の第４番目の文字「い」と、被検索文字列（Ａ列）の第２番目の文字「い」とが、異なる位置で同一の文字である。
【００３４】
【数１】
2017174245.tif 000003
但し、
ＸT  :  加算後の類似値
Ｘα  :  加算前の類似値
Len  ：  検索文字列の文字数
ｋ  ：  検索文字列の文字位置
ｐ  ：  被検索文字列の文字位置
【００３５】
＜第３の算出基準＞
第３の算出基準は、検索文字列を構成する任意の文字と被検索文字列を構成する任意の文字とが同一の位置で同一の場合に加点を行うものである（Ｓ１０、Ｓ１１）。図１に示すように、上述した第１の算出基準に該当する第１番目の文字の他に、被検索文字列（Ａ列）の第３番目の文字（Ａ３）は「の」であり、検索文字列（Ｂ列）の第３番目の文字列（Ｂ３）も「の」である。さらに、被検索文字列（Ａ列）の第４番目の文字（Ａ４）は「う」であり、検索文字列（Ｂ列）の第４番目の文字列（Ｂ３）も「う」であり、被検索文字列（Ａ列）の第５番目の文字（Ａ５）は「た」であり、検索文字列（Ｂ列）の第５番目の文字列（Ｂ５）も「た」である。したがって、第１番目、第３番目、第４番目、第５番目において、同一の位置に同一の文字が存在することになる。この場合には、下記式（２）により得点を算出する。
【００３６】
また、図２に示すように、上述した第１の算出基準に該当する第１番目の文字の他に、被検索文字列（Ａ列）の第２番目の文字（Ａ２）は「い」であり、検索文字列（Ｂ列）の第２番目の文字列（Ｂ２）も「い」である。さらに、被検索文字列（Ａ列）の第３番目の文字（Ａ３）は「の」であり、検索文字列（Ｂ列）の第３番目の文字列（Ｂ３）も「の」である。したがって、第１番目、第２番目、第３番目において、同一の位置に同一の文字が存在することになる。この場合にも、下記式（２）により得点を算出する。
【００３７】
なお、図１及び図２に示す例のように、第１の算出基準と、第３の算出基準の双方を満足する文字が存在する場合には、当該文字について得点の高い算出基準のみを適用してもよい。
【００３８】
【数２】
2017174245.tif 000004
但し、
ＸT  :  加算後の類似値
Ｘα  :  加算前の類似値
len  ：  検索文字列の文字数
【００３９】
＜第４の算出基準＞
第４の算出基準は、検索文字列を構成する任意の文字と被検索文字列を構成する任意の文字とが連続して同一の場合に加点を行うものである（Ｓ１２、Ｓ１３）。図１に示すように、被検索文字列（Ａ列）の第３番目の文字（Ａ３）は「の」であり、検索文字列（Ｂ列）の第３番目の文字列（Ｂ３）も「の」であり、被検索文字列（Ａ列）の第４番目の文字（Ａ４）は「う」であり、検索文字列（Ｂ列）の第４番目の文字列（Ｂ３）も「う」であり、被検索文字列（Ａ列）の第５番目の文字（Ａ５）は「た」であり、検索文字列（Ｂ列）の第５番目の文字列（Ｂ５）も「た」である。したがって、第３番目、第４番目、第５番目において、同一の文字が連続して存在することになる。この場合には、下記式（３）により得点を算出する。
【００４０】
また、図２に示すように、被検索文字列（Ａ列）の第１番目の文字（Ａ１）は「あ」であり、検索文字列（Ｂ列）の第１番目の文字列（Ｂ１）も「あ」であり、被検索文字列（Ａ列）の第２番目の文字（Ａ２）は「い」であり、検索文字列（Ｂ列）の第２番目の文字列（Ｂ３）も「い」であり、被検索文字列（Ａ列）の第３番目の文字（Ａ３）は「の」であり、検索文字列（Ｂ列）の第３番目の文字列（Ｂ３）も「の」である。したがって、第１番目、第２番目、第３番目において、同一の文字が連続して存在することになる。この場合にも、下記式（３）により得点を算出する。
【００４１】
【数３】
2017174245.tif 000005
但し、
ＸT  :  加算後の類似値
Ｘα  :  加算前の類似値
rel  ：  連続している文字数
len  ：  検索文字列の文字数
【００４２】
＜連続性の判定＞
文字列を構成する文字が連続して同一であることを判定する方法について説明する。検索文字列を構成する任意の文字が被検索文字列を構成する文字のいずれかと同一である場合に、当該被検索文字列の中で同一の文字の位置を取得して第ｎ番目の文字位置として記憶し、検索文字列を構成する他の任意の文字が被検索文字列を構成する他の任意の文字のいずれかと同一である場合に、当該被検索文字列の中で他の同一の文字の位置を取得して第ｍ番目の文字位置として記憶する。そして、第ｎ番目の文字位置が第ｍ−１番目の文字位置であり、かつ第ｎ番目の文字と第ｍ−１番目の文字が同一の場合に、検索文字列及び被検索文字列において、対応する同一文字が連続していると判定する。
【００４３】
図１に示す例では、第３番目、第４番目、第５番目において、同一の文字が連続して存在する。すなわち、被検索文字列（Ａ列）の第３番目の文字（Ａ３）は「の」であり、検索文字列（Ｂ列）の第３番目の文字列（Ｂ３）も「の」であり、被検索文字列（Ａ列）の第４番目の文字（Ａ４）は「う」であり、検索文字列（Ｂ列）の第４番目の文字列（Ｂ３）も「う」である。この場合に、被検索文字列（Ａ列）の第３番目の文字（Ａ３）は「の」であり、検索文字列（Ｂ列）の第３番目の文字列（Ｂ３）も「の」であるため、被検索文字列（Ａ列）の第３番目の文字（Ａ３）の文字位置をｎ＝３とする。
【００４４】
続いて、被検索文字列（Ａ列）の第４番目の文字（Ａ４）は「う」であり、検索文字列（Ｂ列）の第４番目の文字列（Ｂ４）も「う」であるため、被検索文字列（Ａ列）の第４番目の文字（Ａ４）の文字位置をｍ＝４とする。この場合には、第ｎ番目の文字位置「３」が第ｍ−１番目の文字位置「４−１＝３」で同一となり、かつ第ｎ番目（第３番目）の文字「の」と第ｍ−１番目（第３番目）の文字「の」が同一であるため、第３番目と第４番目で文字が「のう」で連続すると判定する。
【００４５】
同様に、被検索文字列（Ａ列）の第４番目の文字（Ａ４）は「う」であり、検索文字列（Ｂ列）の第４番目の文字列（Ｂ４）も「う」であるため、被検索文字列（Ａ列）の第４番目の文字（Ａ４）の文字位置をｎ＝４とする。
【００４６】
続いて、被検索文字列（Ａ列）の第５番目の文字（Ａ５）は「た」であり、検索文字列（Ｂ列）の第５番目の文字列（Ｂ５）も「た」であるため、被検索文字列（Ａ列）の第５目の文字（Ａ５）の文字位置をｍ＝５とする。この場合には、第ｎ番目の文字位置「４」が第ｍ−１番目の文字位置「５−１＝４」が同一となり、かつ第ｎ番目（第４番目）の文字「う」と第ｍ−１番目（第４番目）の文字「う」が同一であるため、第４番目と第５番目で文字が「うた」で連続すると判定する。したがって、図１に示す例では、第３番目、第４番目、第５番目において、同一の文字が連続して存在することになる。
【００４７】
図２に示す例では、第１番目、第２番目、第３番目において、同一の文字が連続して存在する。すなわち、被検索文字列（Ａ列）の第１番目の文字（Ａ１）は「あ」であり、検索文字列（Ｂ列）の第１番目の文字列（Ｂ１）も「あ」であり、被検索文字列（Ａ列）の第２番目の文字（Ａ４）は「い」であり、検索文字列（Ｂ列）の第２番目の文字列（Ｂ２）も「い」である。この場合に、被検索文字列（Ａ列）の第１番目の文字（Ａ１）は「あ」であり、検索文字列（Ｂ列）の第１番目の文字列（Ｂ１）も「あ」であるため、被検索文字列（Ａ列）の第１番目の文字（Ａ１）の文字位置をｎ＝１とする。
【００４８】
続いて、被検索文字列（Ａ列）の第２番目の文字（Ａ２）は「い」であり、検索文字列（Ｂ列）の第２番目の文字列（Ｂ２）も「い」であるため、被検索文字列（Ａ列）の第２番目の文字（Ａ２）の文字位置をｍ＝２とする。この場合には、第ｎ番目の文字位置「１」が第ｍ−１番目の文字位置「２−１＝１」で同一となり、かつ第ｎ番目（第１番目）の文字「あ」と第ｍ−１番目（第１番目）の文字「あ」が同一であるため、第１番目と第２番目で文字が「あい」で連続すると判定する。
【００４９】
同様に、被検索文字列（Ａ列）の第２番目の文字（Ａ２）は「い」であり、検索文字列（Ｂ列）の第２番目の文字列（Ｂ２）も「い」であるため、被検索文字列（Ａ列）の第２番目の文字（Ａ２）の文字位置をｎ＝２とする。
【００５０】
続いて、被検索文字列（Ａ列）の第３番目の文字（Ａ３）は「の」であり、検索文字列（Ｂ列）の第３番目の文字列（Ｂ５）も「の」であるため、被検索文字列（Ａ列）の第３目の文字（Ａ３）の文字位置をｍ＝３とする。この場合には、第ｎ番目の文字位置「２」が第ｍ−１番目の文字位置「３−１＝２」が同一となり、かつ第ｎ番目（第２番目）の文字「い」と第ｍ−１番目（第２番目）の文字「い」が同一であるため、第２番目と第３番目で文字が「いの」で連続すると判定する。したがって、図２に示す例では、第１番目、第２番目、第３番目において、同一の文字が連続して存在することになる。
【００５１】
＜第５の算出基準＞
第５の算出基準は、文字列を構成する文字の逆転があることを検出した場合に、文言の意味が相違するとして、得点を減算するための算出基準である（Ｓ１４、Ｓ１５）。第５の算出基準では、検索文字列を構成する任意の文字が被検索文字列を構成するいずれかの文字と同一である位置を取得して第１の文字位置ｐとして記憶する。また、検索文字列を構成する前記任意の文字の次の文字が被検索文字列を構成する他のいずれかの文字と同一である位置を取得して第２の文字位置ｑとして記憶する。そして、第２の文字位置ｑが第１の文字位置ｐの１つ前の文字位置である場合に、得点を減算する。
【００５２】
図２に示すように、被検索文字列が「あいのろい」であり、検索文字列が「あいのいろ」である場合に、両文字列の第４番目及び第５番目において文字の逆転が生じている。図２に示す例では、被検索文字列（Ａ列）の第５番目の文字（Ａ５）は「い」であり、検索文字列（Ｂ列）の第４番目の文字列（Ｂ４）も「い」であり、被検索文字列（Ａ列）の第４番目の文字（Ａ４）は「ろ」であり、検索文字列（Ｂ列）の第５番目の文字列（Ｂ５）も「ろ」である。
【００５３】
したがって、検索文字列（Ｂ列）の第４番目の文字（Ｂ４）である「い」と同一の文字「い」が存在する被検索文字列（Ａ列）の第５番目の文字（Ａ５）の文字位置を第１の文字位置ｐ＝５として記憶する。続いて、検索文字列（Ｂ列）の第５番目の文字（Ｂ５）である「ろ」と同一の文字「ろ」が存在する被検索文字列（Ａ列）の第４番目の文字（Ａ４）の文字位置を第２の文字位置ｑ＝４として記憶する。
【００５４】
ここで、第２の文字位置ｑ＝４が第１の文字位置ｐ＝５が１つ前の文字位置（５−１＝４）であるため、文字の並び順が逆転しているとして、下記式（４）により、マイナス得点を加算する（得点を減算する）。
【００５５】
【数４】
2017174245.tif 000006
但し、
ＸT  :  加算後の類似値
Ｘα  :  加算前の類似値
mainasurenzoku  ：  逆転している文字の組数
【００５６】
＜類似度の判定＞
上述した類似値の算出処理を順次行った後（Ｓ５〜Ｓ１５）、検索文字列の文字数が「１」以上か否かを判断し（Ｓ１６）、検索文字列の文字が存在しなくなったら（「０」となったら）、類似度の判定を実行する。類似度を判定するには、加算した得点の合計値を検索文字列の文字数で除算して百分率で表した数値について、１００を上限として類似値とし、類似値が大きいほど類似度が高いと判定する（Ｓ１７）。当該類似度の判定は、類似度判定手段１３の機能により実現する。
【００５７】
ここで、例えば、ＷＥＢ検索装置において検索された文字列を保存しておき、ユーザが入力を間違えた場合に、本実施形態に係る文字列類似値の判定方法を用いて、過去に検索された検索文字列と比較し、類似値が高い順に出力することで、容易にレコメンド機能を追加することが可能となる。
【００５８】
例えば、「インタフェース」が過去に入力された文字列であり、ユーザーが「インターフェス」と入力すれば、本実施形態に係る文字列類似値の判定方法において、その類似値が７０％となる。また、ユーザーが「インターフェース」と入力すれば、その類似値は８０％となる。この場合には、検索候補として「インターフェース」、「インタフェース」の順に表示することができる。
【００５９】
また、複数の文字列を任意に２つ抜き出して、指定された類似値以上である場合に集合を作成することで、名寄せなどで高い効果を示すことができる。例えば、「前田建設工業  関東支店」と「前田建設興行  関西支店」の類似値は低いが、「前田建設工業  関西支店」を集合要素に含ませることにより、「前田建設工業  関東支店」と「前田建設興行  関西支店」を同じ集合とすることができる。
【符号の説明】
【００６０】
１０  判定装置
１１  検索文字列・被検索文字列決定手段
１２  類似値算出手段
１３  類似度判定手段
２０  入力手段
３０  出力手段
４０  記憶手段
Ａ  被検索文字列
Ｂ  検索文字列
Ａ１〜Ａ５  被検索文字列の文字位置
Ｂ１〜Ｂ５  検索文字列の文字位置
【図１】
2017174245.tif 000007
【図２】
2017174245.tif 000008
【図３】
2017174245.tif 000009
【図４】
2017174245.tif 000010