(57)【要約】【課題】検索対象文書から特定の文章を検索する場合に、検索結果に含まれるノイズを低減する。【解決手段】情報処理装置１は、検索対象文書から特定の文章を検索する場合に、文章を受け付け、受け付けた文章を意味解析して、受け付けた文章に含まれる単語の意味を示す意味構造２３を生成し、単語と当該単語の意味を示す意味構造２３とを対応付けて記憶する同義語辞書２１を参照して、生成した意味構造２３に対応付けられた単語を特定し、特定した単語が検索対象文書２２に含まれるか否かの判定を行い、判定結果に応じた情報を出力する。【選択図】図１
2018045537.tif 000002
【特許請求の範囲】
【請求項１】
文章データから特定の文章を検索する検索プログラムにおいて、
文章を受け付け、
受け付けた前記文章を意味解析して、受け付けた前記文章に含まれる単語の意味を示す情報を生成し、
単語と当該単語の意味を示す情報とを対応付けて記憶する記憶部を参照して、生成した前記情報に対応付けられた単語を特定し、
特定した前記単語が前記文章データに含まれるか否かの判定を行い、
判定結果に応じた情報を出力する
処理をコンピュータに実行させることを特徴とする検索プログラム。
【請求項２】
前記単語が前記文章データに含まれる場合には、前記文章データに含まれる複数の単語それぞれを該複数の単語それぞれの意味を示す情報に対応付けて記憶する第２の記憶部を参照して、生成した前記情報に対応付けられた単語を特定し、
特定した前記単語が前記文章データの中のいずれの文章に含まれるか否かの判定を行い、
判定結果に応じた情報を出力する
ことを特徴とする請求項１に記載の検索プログラム。
【請求項３】
前記第２の記憶部を参照して特定する処理は、前記第２の記憶部を参照して、前記記憶部を参照して特定した単語と一致する単語に対応付けられた意味を示す情報を特定し、特定した前記情報と、該生成した前記情報とを用いて、該生成した前記情報に対応付けられた単語を特定する
ことを特徴とする請求項２に記載の検索プログラム。
【請求項４】
前記意味を示す情報は、該当する文章に含まれる単語と、他の単語との関係を示す情報を含む
ことを特徴とする請求項１から請求項３のいずれか１つに記載の検索プログラム。
【請求項５】
該生成する処理は、受け付けた前記文章の前記意味を示す情報から、前記文章に含まれる前記単語と、前記単語と直接関係する他の単語との関係を示す情報を抽出し、抽出した情報を前記単語の意味を示す情報として生成する
ことを特徴とする請求項４に記載の検索プログラム。
【請求項６】
文章データから特定の文章を検索する検索装置において、
文章を受け付ける受付部と、
前記受付部によって受け付けられた前記文章を意味解析して、受け付けた前記文章に含まれる単語の意味を示す情報を生成する生成部と、
単語と当該単語の意味を示す情報とを対応付けて記憶する記憶部を参照して、生成した前記情報に対応付けられた単語を特定する特定部と、
前記特定部によって特定された前記単語が前記文章データに含まれるか否かの判定を行う判定部と、
前記判定部によって判定された結果である判定結果に応じた情報を出力する出力部と、
を有することを特徴とする検索装置。
【請求項７】
文章データから特定の文章を検索する検索方法において、
文章を受け付け、
受け付けた前記文章を意味解析して、受け付けた前記文章に含まれる単語の意味を示す情報を生成し、
単語と当該単語の意味を示す情報とを対応付けて記憶する記憶部を参照して、生成した前記情報に対応付けられた単語を特定し、
特定した前記単語が前記文章データに含まれるか否かの判定を行い、
判定結果に応じた情報を出力する
各処理をコンピュータが実行することを特徴とする検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索プログラムなどに関する。
【背景技術】
【０００２】
近年、ネットワークの発達により増大している情報量の情報の中から目的の情報が高精度に検索されることが求められている。
【０００３】
情報量が少ない場合には、ノイズを含んだ（意図しない）検索結果が出力されても、利用者が検索結果を吟味して目的の文章を探し出すことができる。ところが、情報量が多くなると、検索結果が多くなり、利用者が検索結果を吟味することは困難である。このため、ノイズを減らして検索結果が出力されることが求められる。
【０００４】
検索手法の一例を、図１８を参照して説明する。図１８は、検索手法の一例である。図１８に示すように、情報を検索する検索装置は、検索文として文章が入力された場合に、入力された文章を形態素解析し、単語単位に分割する（Ｓ１００）。そして、検索装置は、分割された単語を、予め同義語を記憶した同義語辞書と照合し（Ｓ１１０）、一致した単語を含む同義語を検索語として生成する（Ｓ１２０）。かかる同義語辞書は、単語単位の表記で意味が同じと思われる単語同士を同義語として格納する。そして、検索装置は、検索対象文書から検索語が含まれる文章を検索結果として検索する（Ｓ１３０、Ｓ１４０）。
【０００５】
例えば、図１８では、検索文として「画像をクリアに表示するには」という文章が入力されたとする。すると、検索装置は、入力された文章を形態素解析し、単語単位に分割する。この結果、分割された単語は、「画像」、「クリア」、「表示」を示す。そして、検索装置は、分割された単語を、同義語辞書と照合し、一致した単語を含む同義語を検索語として生成する。同義語辞書に「クリア、消去」、「表示、表現」が同義語として含まれるとする。すると、検索語として、「画像」と、「クリア」または「消去」と、「表示」または「表現」が生成される。そして、検索装置は、検索対象文書から検索語が含まれる文章を検索結果として検索する。この結果、検索装置は、検索結果として、「画像データをクリアするには・・・」「過去の画像の表示を消去して・・・」「正規表現をいったんクリア・・・」の文章を検索する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−６０２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の検索手法では、検索対象文書から特定の文章を検索する場合に、検索結果に含まれるノイズを低減することができないという問題がある。例えば、図１８で示す従来の検索手法では、検索語として、検索文の「クリア」とは違う意味の「消去」や、検索文の「表示」とは違う意味になり得る「表現」が含まれる。このため、検索装置は、検索対象文書から特定の文章を検索するときに、意味が違う検索語が含まれる文章を検索結果として検索してしまう。すなわち、検索文の「クリア」とは違う意味の「クリア」や「消去」、検索文の「表現」とは違う意味の「表現」を含んだ文章を検索結果として検索してしまう。この結果、検索装置は、検索結果に含まれるノイズを低減することができない。
【０００８】
本発明は、１つの側面では、検索対象文書から特定の文章を検索する場合に、検索結果に含まれるノイズを低減することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、検索プログラムは、文章データから特定の文章を検索する検索プログラムにおいて、文章を受け付け、受け付けた前記文章を意味解析して、受け付けた前記文章に含まれる単語の意味を示す情報を生成し、単語と当該単語の意味を示す情報とを対応付けて記憶する記憶部を参照して、生成した前記情報に対応付けられた単語を特定し、特定した前記単語が前記文章データに含まれるか否かの判定を行い、判定結果に応じた情報を出力する、処理をコンピュータに実行させる。
【発明の効果】
【００１０】
１実施態様によれば、検索結果に含まれるノイズを低減することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例に係る情報処理装置の構成の一例を示す機能ブロック図である。
【図２】図２は、実施例に係る同義語辞書の一例を示す図である。
【図３Ａ】図３Ａは、意味構造の一例を示す図（１）である。
【図３Ｂ】図３Ｂは、意味構造の一例を示す図（２）である。
【図３Ｃ】図３Ｃは、用語の意味構造の一例を示す図である。
【図４】図４は、実施例に係る特徴ベクトルの構成の一例を示す図である。
【図５】図５は、重みベクトルの導出の一例を示す図である。
【図６Ａ】図６Ａは、実施例に係る第１の検索処理の一例を示す図（１）である。
【図６Ｂ】図６Ｂは、実施例に係る第１の検索処理の一例を示す図（２）である。
【図６Ｃ】図６Ｃは、実施例に係る第１の検索処理の一例を示す図（３）である。
【図６Ｄ】図６Ｄは、実施例に係る第１の検索処理の一例を示す図（４）である。
【図６Ｅ】図６Ｅは、実施例に係る第１の検索処理の一例を示す図（５）である。
【図６Ｆ】図６Ｆは、実施例に係る第１の検索処理の一例を示す図（６）である。
【図７】図７は、実施例に係る第１の検索処理の流れを示す図である。
【図８Ａ】図８Ａは、実施例に係る第２の検索処理の一例を示す図（１）である。
【図８Ｂ】図８Ｂは、実施例に係る第２の検索処理の一例を示す図（２）である。
【図９】図９は、実施例に係る第２の検索処理の流れを示す図である。
【図１０】図１０は、実施例に係る同義語辞書生成処理のフローチャートの一例を示す図である。
【図１１】図１１は、同義語判定結果情報のデータ構造の一例を示す図である。
【図１２】図１２は、実施例に係る検索処理のフローチャートの一例を示す図である。
【図１３】図１３は、実施例に係る第１の特徴ベクトル生成処理のフローチャートの一例を示す図である。
【図１４】図１４は、実施例に係る第２の特徴ベクトル生成処理のフローチャートの一例を示す図である。
【図１５】図１５は、実施例に係る機械学習処理のフローチャートの一例を示す図である。
【図１６】図１６は、実施例に係る検索語生成処理のフローチャートの一例を示す図である。
【図１７】図１７は、検索プログラムを実行するコンピュータの一例を示す図である。
【図１８】図１８は、検索手法の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する検索プログラム、検索装置および検索方法の実施例を図面に基づいて詳細に説明する。なお、実施例では、検索装置を情報処理装置として説明する。本発明は、実施例により限定されるものではない。
【実施例】
【００１３】
［実施例に係る情報処理装置の構成］
図１は、実施例に係る情報処理装置の構成の一例を示す機能ブロック図である。図１に示す情報処理装置１は、機械翻訳などで利用される自然言語の意味解析処理の結果（「意味構造」という）を用いて、２段階の機械学習で評価を行い、複数の検索対象文を含む検索対象文書から検索文と意味が同じ用語を含む検索対象文を抽出する。１段階目の機械学習では、情報処理装置１は、検索文の用語に対する意味構造と、同義語辞書の用語に対する意味構造とを組み合わせて評価し、同義語辞書から検索文に含まれる用語と意味が同じ同義語を検索語として抽出する。２段階目の機械学習では、情報処理装置１は、検索語により検索対象文書の用語を検索し、ヒットした検索対象文の用語に対する意味構造と、検索文の用語に対する意味構造とを組み合わせて評価する。そして、情報処理装置１は、多義語を含む検索対象文を排除し、検索文と意味が同じ用語を含む検索対象文を複数の検索対象文書から抽出する。「同義語」とは、異なる表記であるが同じ意味を表す表記の用語同士のことをいう。「多義語」とは、同じ表記であるが別の意味を表す表記の用語同士のことをいう。
【００１４】
なお、実施例で用いられる「文章」とは、意味のある文の最小単位であり、必ずしも主語および述語を含まなくても良いが、日本語では一般的に句点（。）で区切られ、英語ではピリオド（．）で区切られる。「文章」とは、「文」と同義である。「文書」とは、複数の文章として構成されるテキストのことをいう。また、実施例で用いられる「意味構造」とは、文章の意味解析処理の結果として生成され、文章の意味を表す、概念（意味）を示すノードと、概念の関連を示す有向アークとで表わしたグラフ構造のことをいう。また、実施例で用いられる「意味属性」とは、「意味構造」のノードについて、文法的、意味的な性質を示す記号（属性）のことをいう。また、実施例で用いられる用語とは、単語の一例であるとする。
【００１５】
情報処理装置１は、制御部１０と記憶部２０とを有する。
【００１６】
制御部１０は、ＣＰＵ（Central  Processing  Unit）などの電子回路に対応する。そして、制御部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１０は、同義語辞書生成部１１と、意味解析部１２と、特徴ベクトル生成部１３と、機械学習部１４と、検索語生成部１５とを有する。特徴ベクトル生成部１３は、第１の特徴ベクトル生成部１３１と、第２の特徴ベクトル生成部１３２とを有する。なお、意味解析部１２、第１の特徴ベクトル生成部１３１、機械学習部１４および検索語生成部１５は、第１の検索部１０Ａに含まれる。第２の特徴ベクトル生成部１３２および機械学習部１４は、第２の検索部１０Ｂに含まれる。なお、第１の検索部１０Ａは、１段階目の機械学習に対応し、第２の検索部１０Ｂは、２段階目の機械学習に対応する。
【００１７】
記憶部２０は、例えば、ＲＡＭ、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部２０は、同義語辞書２１、検索対象文書２２、意味構造２３、第１の特徴ベクトル２４、第２の特徴ベクトル２５、重みベクトル２６、判定結果２７および検索語２８を有する。なお、意味構造２３は、意味を示す情報の一例である。
【００１８】
検索対象文書２２は、複数の検索対象文を含む文書である。検索対象文書２２は、文書に含まれる検索対象文ごとに、意味構造２３を対応付けて記憶する。
【００１９】
同義語辞書２１は、意味が同じと判定される用語同士を同義語としてグループ化した辞書である。同義語辞書２１は、同義語として判定されたそれぞれの用語を、それぞれの用語を意味で判定できる範囲の意味構造２３と対応付けて記憶する。
【００２０】
ここで、実施例に係る同義語辞書２１の一例を、図２を参照して説明する。図２は、実施例に係る同義語辞書の一例を示す図である。図２に示すように、同義語辞書２１は、フラグ２１ａと、用語の表記２１ｂと、意味構造２１ｃとを対応付けて記憶する。
【００２１】
フラグ２１ａは、１つの同義語に含まれる用語の区別を示すフラグである。１つの同義語に含まれる一方の用語を示すフラグを用語１とし、他方の用語を示すフラグを用語２とする。なお、１つの同義語に含まれる用語は、２つに限定されず、３つ以上であっても良い。例えば、３つの場合には、フラグを、用語１、用語２および用語３とすれば良い。
【００２２】
用語の表記２１ｂは、同義語に含まれる用語の表記を表す。意味構造２１ｃは、用語の表記２１ｂで示される用語の意味を判定できる範囲の意味構造２３である。言い換えれば、意味構造２１ｃは、用語の表記２１ｂで示される用語を含む文章の意味構造２３から当該用語の意味を判定できる範囲を切り出したものである。なお、以降、用語を意味で判定できる範囲の意味構造２３のことを「用語の意味構造」というものとする。
【００２３】
一例として、フラグ２１ａが「用語１」である場合に、用語の表記２１ｂとして「一意」、意味構造２１ｃとして「ｚ１」を記憶する。フラグ２１ａが用語２である場合に、用語の表記２１ｂとして「ユニーク」、意味構造２１ｃとして「ｚ２」を記憶する。つまり、「一意」と「ユニーク」とが同義であることを示す。フラグ２１ａが用語１である場合に、用語の表記２１ｂとして「クリア」、意味構造２１ｃとして「ｘ１」を記憶する。フラグ２１ａが「用語２」である場合に、用語の表記２１ｂとして「クリア」、意味構造２１ｃとして「ｘ２」を記憶する。つまり、「クリア」と「クリア」とが同義であることを示す。
【００２４】
ここで、意味構造２３の一例を、図３Ａ、図３Ｂおよび図３Ｃを参照して説明する。図３Ａおよび図３Ｂは、意味構造の一例を示す図である。図３Ａは、意味構造２３の内部表現を示す図であり、図３Ｂは、意味構造２３を図式化したものである。また、図３Ｃは、用語の意味構造の一例を示す図である。なお、図３Ａおよび図３Ｂで示す意味構造２３
は、原文「運用環境のカスタマイズが必要です。」の意味解析処理の結果である。
【００２５】
図３Ａに示すように、意味構造２３の内部表現は、用語一覧とグラフ構造を含む。
【００２６】
用語一覧には、用語の一覧が表わされる。１つの用語は、「表記」「品詞」「意味属性」「概念記号」で表わされる。「意味属性」は、対応する用語の文法的、意味的な性質を示す記号（属性）であり、例えば、シソーラス属性や、可算規則、変化形規則などがある。シソーラス属性とは、用語の意味的な階層関係を記述した属性のことをいう。「概念記号」とは、意味的な観点（概念レベル）において単語が指し示す概念を識別する記号のことをいう。用語の一例として、表記が「カスタマイズ」である場合に、品詞としてサ変名詞「ＳＮ」、意味属性として「Ｓ１，Ｓ２，・・・」、概念記号として「ＣＵＳＴＯＭＩＺＥ」と記載されている。
【００２７】
グラフ構造は、（Ｆｒｏｍノード）−−＜アーク＞−−＞（Ｔｏノード）で表現され、（Ｆｒｏｍノード）の用語から（Ｔｏノード）の用語に向かって、＜アーク＞で接続されていることを示す。各ノードには、用語の概念記号が付与されている。一例として、（ＣＵＳＴＯＭＩＺＥ）−−＜ＯＢＪ＞−−＞（ＥＪＲ０１）について、ノードが示す概念記号（ＣＵＳＴＯＭＩＺＥ）の用語「カスタマイズ」とアーク＜ＯＢＪ＞で接続するノードが概念記号（ＥＪＲ０１）の用語「運用環境」であることを示す。各ノードは、用語一覧に示されている「表記」「品詞」「意味属性」「概念記号」を持っている。
【００２８】
図３Ｂに示すように、例えば、「カスタマイズ」という用語は、「ＣＵＳＴＯＭＩＺＥ」という概念記号で表わされている。括弧内の記号が概念記号である。そして、「ＣＵＳＴＯＭＩＺＥ」という概念記号のノードは、「ＥＪＲ０１」という概念記号で表わされる「運用環境」という用語と、「ＯＢＪ」という記号を持つアークで接続されている。さらに、「ＣＵＳＴＯＭＩＺＥ」という概念記号のノードには、他方のノードが存在しないアークが接続されている。このアークは、「Ｊ．ＧＡ」という記号を示す。また、「ＣＵＳＴＯＭＩＺＥ」という概念記号のノードは、「ＮＥＥＤ」という概念記号で表わされる「必要」という用語と、「ＯＢＪＡ」という記号を持つアークで接続されている。つまり、意味構造２３は、用語と用語の意味的な関係を表す有向グラフで表される。
【００２９】
図３Ｃに示す意味構造２３は、用語１「カスタマイズ」の意味構造２３である。かかる「カスタマイズ」の意味構造２３は、「カスタマイズ」の「概念記号」「品詞」「意味属性」と、「カスタマイズ」の前後１ノード（ＮＵＬＬのノードを含む）とノード間を結ぶアークとを含む。ここでは、用語１「カスタマイズ」の概念記号は、「ＣＵＳＴＯＭＡＩＺＥ」であり、品詞は、「ＳＮ」であり、意味属性は、「Ｓ１，Ｓ２，・・・」である。「カスタマイズ」の前１ノードは、概念記号を「ＮＥＥＤ」として表される用語「必要」のノードであり、「カスタマイズ」の後１ノードは、概念記号を「ＥＪＲ０１」として表される用語「運用環境」のノードである。そして、「カスタマイズ」と「必要」との間を結ぶアークは、「ＯＢＪＡ」で表わされ、「カスタマイズ」と「運用環境」との間を結ぶアークは、「ＯＢＪ」で表わされる。また、「カスタマイズ」とＮＵＬＬのノードとの間を結ぶアークは、「Ｊ．ＧＡ」で表わされる。すなわち、用語１「カスタマイズ」の意味構造２３は、「運用環境のカスタマイズが必要です。」という原文の意味構造２３から用語１「カスタマイズ」の意味を判定できる範囲を切り出したものである。
【００３０】
図１に戻って、同義語辞書生成部１１は、意味構造２３を含む同義語辞書２１を生成し、記憶部２０に格納する。例えば、同義語辞書生成部１１は、同義語判定結果情報に設定された同義語ごとに、同義語の各用語（用語１、用語２）について、意味構造２３を生成する。ここでいう同義語判定結果情報とは、特定分野の複数の文章に含まれる複数の用語を対象にして、同義語か否かが判定された各用語（用語１、用語２）と、各用語が出現する文章の行番号と、同義語か否かを示すフラグとを予め設定したものである。なお、同義語判定結果情報は、各用語が出現する文章の行番号の代わりに、各用語が出現する文章の意味構造２３の行番号としても良い。
【００３１】
一例として、同義語辞書生成部１１は、同義語判定結果情報の同義語と判定された各用語（用語１、用語２）が出現する行番号に対応するそれぞれの文章について、自然言語の意味解析処理により、それぞれの意味構造２３を生成する。そして、同義語辞書生成部１１は、用語１が出現する文章の意味構造２３から用語１の周辺を分離した、用語１の意味構造２３を生成する。すなわち、同義語辞書生成部１１は、用語１が出現する文章の意味構造２３から用語１の意味を判定できる範囲を切り出し、用語１の意味構造２３を生成する。同様に、同義語辞書生成部１１は、用語２が出現する文章の意味構造２３から用語２の周辺を分離した、用語２の意味構造２３を生成する。すなわち、同義語辞書生成部１１は、用語２が出現する文章の意味構造２３から用語２の意味を判定できる範囲を切り出し、用語２の意味構造２３を生成する。そして、同義語辞書生成部１１は、用語１および用語２について、各用語のフラグ、各用語の表記、各用語の意味構造２３を同義語辞書２１に書き出す。
【００３２】
また、同義語辞書生成部１１は、同義語辞書２１の中で、用語１の表記および意味構造２３と用語２の表記および意味構造２３とが同じものを削除する。同義語辞書生成部１１は、同義語辞書２１の中で、用語１と用語２のペアが、他の用語１と用語２のペアと同じ場合、どちらか一方のペアを削除する。
【００３３】
意味解析部１２は、検索対象の検索文を意味解析する。なお、意味解析部１２は、第１の検索部１０Ａに含まれる。例えば、意味解析部１２は、検索対象の検索文について、形態素解析および意味解析を行い、意味構造２３を生成する。すなわち、意味解析部１２は、検索対象の検索文について、自然言語の意味解析処理により意味構造２３を生成する。
【００３４】
なお、同義語辞書生成部１１によって行われる意味解析処理および意味解析部１２によって行われる意味解析処理は、既存の機械翻訳技術を使って実現できる。例えば、かかる意味解析処理は、例えば、特開平６−６８１６０号公報、特開昭６３−１３６２６０号公報や特開平４−３７２０６１号公報に開示されている機械翻訳技術を使って行えば良い。また、意味構造２３は、例えば、特開２０１２−７３９５１号公報に開示されている。
【００３５】
第１の特徴ベクトル生成部１３１は、検索文の用語と、同義語辞書２１の用語とを組み合わせて、機械学習で用いられる第１の特徴ベクトル２４を生成する。なお、第１の特徴ベクトル生成部１３１は、第１の検索部１０Ａに含まれる。
【００３６】
例えば、第１の特徴ベクトル生成部１３１は、検索文の用語の意味構造２３を生成する。用語の意味構造２３の生成方法は、同義語辞書生成部１１で用いた方法と同様である。すなわち、第１の特徴ベクトル生成部１３１は、意味解析部１２によって生成された検索文の意味構造２３から検索文の用語の周辺を分離した、用語の意味構造２３を生成する。そして、第１の特徴ベクトル生成部１３１は、生成した検索文の用語の意味構造２３から、特徴ベクトルを生成する。
【００３７】
ここでいう特徴ベクトルとは、用語の意味構造２３の情報を素性とする特徴情報のことである。例えば、特徴ベクトルは、用語を示す情報（品詞、意味属性および概念記号）と、当該用語と直接アークで接続する用語を示す情報（品詞、意味属性および概念記号）とを素性とする特徴情報である。なお、特徴ベクトルの詳細は、後述する。
【００３８】
また、第１の特徴ベクトル生成部１３１は、同義語辞書２１から、検索文の用語と表記が一致した用語と同じグループ内の当該用語と異なる用語を抽出する。つまり、第１の特徴ベクトル生成部１３１は、同義語辞書２１から、検索文の用語と意味が同じである可能性がある用語を抽出する。そして、第１の特徴ベクトル生成部１３１は、同義語辞書２１において、抽出した用語に対応付けられた意味構造２１ｃを取得する。そして、第１の特徴ベクトル生成部１３１は、取得した意味構造２１ｃから、特徴ベクトルを生成する。なお、特徴ベクトルの構成は、後述する。
【００３９】
ここで、特徴ベクトルの構成の一例を、図４を参照して説明する。図４は、実施例に係る特徴ベクトルの構成の一例を示す図である。なお、図４で示す特徴ベクトルは、対象の用語に対応する対象ノードの情報ｉ０と、対象の用語と直接アークで接続する用語に対応する関連ノードの情報ｉ１０とを素性とする特徴情報の一例である。図４に示すように、特徴ベクトルには、対象の用語に対応する対象ノードに対して、各種品詞の素性、各種意味属性の素性および各種概念記号の素性が含まれる。各種品詞の素性は、例えば、３０種存在する。各種意味属性の素性は、例えば、１００００種存在する。そして、各種品詞の素性の中で対象の用語の素性と合致する素性の値として１が設定される。各種意味属性の素性の中で判定すべき用語の素性と合致する素性の値として１が設定される。各種概念記号の素性の中で判定すべき用語の素性と合致する素性の値として１が設定される。加えて、特徴ベクトルには、対象の用語と直接アークで接続する用語に対応する対象ノードに対して、各種アークの数分の、方向の素性、各種品詞の素性、各種意味属性の素性および各種概念記号の素性が含まれる。各種アークは、例えば、７００種存在する。方向の素性は、１種存在する。各種品詞の素性は、例えば、３０種存在する。各種意味属性の素性は、例えば、１００００種存在する。そして、対象ノードが直接アークで接続する関連ノードの情報は、当該アークに対応する領域に設定される。各種品詞の素性の中で、関連ノードに対応する用語の素性と合致する素性の値として１が設定される。各種意味属性の素性の中で、関連ノードに対応する用語の素性と合致する素性の値として１が設定される。各種概念記号の素性の中で、関連ノードに対応する用語の素性と合致する素性の値として１が設定される。なお、図４で示す特徴ベクトルは、品詞について、先頭の素性をＡＤＪとし、意味属性について、素性の順番をＳ１、Ｓ２、Ｓ３としたが、これに限定されず、予め定められた素性の順番であれば良い。
【００４０】
図１に戻って、第１の特徴ベクトル生成部１３１は、生成された２種の特徴ベクトルを比較し、比較結果の特徴ベクトルを生成する。一例として、第１の特徴ベクトル生成部１３１は、生成された２種の特徴ベクトルについて、先頭の素性から順次素性の値を比較し、一致する素性の値を１とし、一致しない値を０とする比較結果の特徴ベクトルを生成する。
【００４１】
そして、第１の特徴ベクトル生成部１３１は、生成された３種の特徴ベクトル、すなわち、２種の意味構造２３からそれぞれ生成された２種の特徴ベクトルと比較結果の特徴ベクトルとを連結して機械学習用の第１の特徴ベクトル２４を生成する。このような第１の特徴ベクトル２４を用いて、同じ意味を持つ可能性が高い用語同士が同じ意味か否かが機械学習器により評価可能になる。
【００４２】
機械学習部１４は、第１の特徴ベクトル２４を教師あり学習を行う機械学習器で評価し、検索文の用語と、同義語辞書２１から抽出された用語とが同義語であるか否かを判定する。なお、ここでいう機械学習器には、例えば、サポートベクトルマシン（ＳＶＭ）が挙げられる。以降では、機械学習器としてＳＶＭを採用した場合について説明する。例えば、機械学習部１４は、第１の検索部１０Ａの場合には、第１の特徴ベクトル２４と予め教師例に基づいて学習された重みベクトル２６との内積を計算し、総合評価値を導出する。そして、機械学習部１４は、導出した総合評価値を予め設定された閾値で判定することにより、同義語であるか否かの判定結果２７を決定する。
【００４３】
また、機械学習部１４は、後述する第２の特徴ベクトル２５を教師あり学習を行う機械学習器で評価し、検索文の用語と、検索対象文書２２から抽出された用語とが同義語であるか否かを判定する。例えば、機械学習部１４は、第２の検索部１０Ｂの場合には、第２の特徴ベクトル２５と、予め教師例に基づいて学習された重みベクトル２６との内積を計算し、総合評価値を導出する。そして、機械学習部１４は、導出した総合評価値を予め設定された閾値で判定することにより、同義語であるか否かの判定結果２７に基づいて検索結果を出力する。
【００４４】
検索語生成部１５は、第１の検索部１０Ａにおいて、検索文の用語と、検索文の用語と同義語であると判定された用語とを検索語２８として生成する。例えば、検索語生成部１５は、検索文の用語を検索語２８とする。検索語生成部１５は、機械学習部１４によって決定された判定結果２７の中から同義語と判定された判定結果２７を取得する。検索語生成部１５は、取得した判定結果２７を有する、同義語辞書２１から抽出された用語を検索語２８とする。そして、検索語生成部１５は、検索語２８とされた用語の中で、用語の表記が重複している場合には、重複しないように用語を削除する。
【００４５】
第２の特徴ベクトル生成部１３２は、検索文の用語と、検索語を含む検索対象文書２２の用語とを組み合わせて、機械学習で用いられる第２の特徴ベクトル２５を生成する。なお、第２の特徴ベクトル生成部１３２は、第２の検索部１０Ｂに含まれる。
【００４６】
例えば、第２の特徴ベクトル生成部１３２は、検索対象文書２２に含まれる複数の検索対象文から、検索語２８の表記と一致する用語を含む検索対象文を抽出する。そして、第２の特徴ベクトル生成部１３２は、抽出した検索対象文に含まれる用語の意味構造２３を生成する。用語の意味構造２３の生成方法は、同義語辞書生成部１１で用いた方法と同様である。すなわち、第２の特徴ベクトル生成部１３２は、検索対象文の意味構造２３から、検索語２８の表記と一致する用語の周辺を分離した、検索対象文の用語の意味構造２３を生成する。そして、第２の特徴ベクトル生成部１３２は、生成した検索対象文の用語の意味構造２３から、特徴ベクトルを生成する。
【００４７】
また、第２の特徴ベクトル生成部１３２は、第１の特徴ベクトル生成部１３１によって生成された、検索文の用語の特徴ベクトルを受け取る。
【００４８】
また、第２の特徴ベクトル生成部１３２は、２種の特徴ベクトルを比較し、比較結果の特徴ベクトルを生成する。一例として、第２の特徴ベクトル生成部１３２は、２種の特徴ベクトルについて、先頭の素性から順次素性の値を比較し、一致する素性の値を１とし、一致しない値を０とする比較結果の特徴ベクトルを生成する。
【００４９】
そして、第２の特徴ベクトル生成部１３２は、３種の特徴ベクトル、すなわち、２種の意味構造２３からそれぞれ生成された２種の特徴ベクトルと比較結果の特徴ベクトルとを連結して機械学習用の第２の特徴ベクトル２５を生成する。この後、生成された第２の特徴ベクトル２５を、機械学習部１４が、評価することにより、検索文の用語と、検索対象文の用語とが同義であるか否かを判定することができる。加えて、機械学習部１４は、検索文の用語と、検索対象文の用語とが表記が同じであっても、意味が同じであるか否かを判定することができる。すなわち、機械学習部１４は、検索文の用語と、検索対象文の用語とが多義語でないか否かを判定することができる。そして、機械学習部１４は、判定結果２７に基づいて、同義語であると判定された用語を含む検索対象文を検索結果として出力する。
【００５０】
なお、機械学習部１４により使用される重みベクトル２６は、以下のように導出される。図５は、重みベクトルの導出の一例を示す図である。図５に示すように、重みベクトルの導出には、正例の教師例および負例の教師例が使用される。正例の教師例は、同義語であると判定すべき用語と当該用語を含む文章とを併せた情報同士の組である。負例の教師例は、同義語でないと判定すべき用語と当該用語を含む文章とを併せた情報同士の組である。例えば、文章「運用環境のカスタマイズが必要です。」の中の用語「カスタマイズ」と、文章「運用環境の変更により、対処が必要です。」の中の用語「変更」とは、同じ意味を表す異なる表記同士であるため、同義語である。そこで、文章「運用環境のカスタマイズが必要です。」と併せて判定すべき用語「カスタマイズ」と、文章「運用環境の変更により、対処が必要です。」と併せて判定すべき用語「変更」との対は、正例の教師例の一例である。これに対して、文章「運用環境のカスタマイズが必要です。」の中の用語「カスタマイズ」と、文章「組織変更による対象が必要である。」の中の用語「変更」とは、同じ意味を表す異なる表記同士でないため、同義語でない。そこで、文章「運用環境のカスタマイズが必要です。」と併せて判定すべき用語「カスタマイズ」と、文章「組織変更による対象が必要である。」と併せて判定すべき用語「変更」との組は、負例の教師例の一例である。
【００５１】
図５に示すように、正例の教師例から生成された機械学習用の特徴ベクトルと、負例の教師例から生成された機械学習用の特徴ベクトルとが機械学習部１４に入力される。ここでは、正例の教師例として（ｘ１２，１）（ｘ３４，１）（x５６，１）が入力され、負例の教師例として（x１７，−１）（x３８，−１）（ｘ５９，−１）が入力される。例えば、（ｘ１２，１）のｘ１２は、文書１と文書２とから生成された特徴ベクトルであることを示し、（ｘ１２，１）の１は、正例であることを示す。（x１７，−１）のｘ１７は、例題の文書１と例題の文書７とから生成された特徴ベクトルであることを示し、（ｘ１７，−１）の−１は、負例であることを示す。
【００５２】
このような状況の下、機械学習部１４は、入力されたそれぞれの機械学習用の特徴ベクトルに対応する重みベクトル２６を学習結果として導出する。ここでは、２つの用語に対応する重みベクトル２６が表されている。重みベクトル２６は、入力された学習用の特徴ベクトルと同じ構造を有する。そして、重みベクトル２６には、各素性について、評価用の重みが設定される。この重みベクトル２６を用いて、機械学習部１４は、第１の特徴ベクトル２４を機械学習器で評価し、検索文の用語と、同義語辞書２１から抽出された用語とが同義語であるか否かを判定する。この重みベクトル２６を用いて、機械学習部１４は、第２の特徴ベクトル２５を機械学習器で評価し、検索文の用語と、検索対象文書２２から抽出された用語とが同義語であるか否かを判定する。
【００５３】
［第１の検索処理の一例］
図６Ａ〜図６Ｆは、実施例に係る第１の検索処理の一例を示す図である。なお、図６Ａ〜図６Ｆでは、検索文が「画像をクリアに表示するには」である場合について説明する。
【００５４】
図６Ａに示すように、意味解析部１２は、検索文「画像をクリアに表示するには」を受け取ると、受け取った検索文について、意味解析処理により検索文の意味構造２３を生成する。ここでは、検索文の意味構造２３には、検索文に含まれる用語（「画像」、「クリア」および「表示」）のノードが示される。
【００５５】
第１の特徴ベクトル生成部１３１は、検索文に含まれる用語の意味構造２３を生成する。以降では、検索文に含まれる用語「画像」、「クリア」および「表示」のうち用語「クリア」についての説明をする。ここでは、検索文に含まれる用語「クリア」は、用語ｘとする。第１の特徴ベクトル生成部１３１は、検索文の意味構造２３から用語ｘの周辺を分離して、用語ｘの意味構造２３を生成する。
【００５６】
図６Ｂに示すように、第１の特徴ベクトル生成部１３１は、用語ｘの意味構造２３から特徴ベクトルを生成する。用語ｘの特徴ベクトルには、用語ｘの品詞、意味属性を素性とする特徴情報、用語ｘと直接アークで接続する用語の品詞、意味属性を素性とする特徴情報が表されている。なお、ここでは、素性として概念記号や方向は、省略している。
【００５７】
図６Ｃに示すように、第１の特徴ベクトル生成部１３１は、同義語辞書２１から、検索文の用語ｘと表記が一致した用語を検索し、検索した用語とペアである他方の用語を抽出する。つまり、同義語辞書２１から、検索文の用語ｘと意味が同じである可能性がある用語が抽出される。抽出される用語は、用語ｙとする。ここでは、用語ｙとして、「消去」、「クリア」、「クリア」、「明確」および「鮮明」が抽出される。
【００５８】
そして、第１の特徴ベクトル生成部１３１は、同義語辞書２１から、抽出されたそれぞれの用語ｙに対応付けられた意味構造２１ｃを取得し、取得したそれぞれの用語ｙの意味構造２１ｃからそれぞれ特徴ベクトルを生成する。図６Ｃの下段１段目に、用語ｙとして抽出された「消去」の特徴ベクトルが表されている。２段目に、用語ｙとして抽出された「クリア」の特徴ベクトルが表されている。３段目に、用語ｙとして抽出された「クリア」の特徴ベクトルが表されている。４段目に、用語ｙとして抽出された「明確」の特徴ベクトルが表されている。５段目に、用語ｙとして抽出された「鮮明」の特徴ベクトルが表されている。
【００５９】
図６Ｄに示すように、第１の特徴ベクトル生成部１３１は、用語ｘの特徴ベクトルと用語ｙの特徴ベクトルとを比較し、比較結果の特徴ベクトルを生成する。ここでは、図６Ｄの１段目に、用語ｘの特徴ベクトルと用語ｙとして抽出された「消去」の特徴ベクトルとの比較結果の特徴ベクトルが表されている。２段目に、用語ｘの特徴ベクトルと用語ｙとして抽出された「クリア」の特徴ベクトルとの比較結果の特徴ベクトルが表されている。３段目に、用語ｘの特徴ベクトルと用語ｙとして抽出された「クリア」の特徴ベクトルとの比較結果の特徴ベクトルが表されている。４段目に、用語ｘの特徴ベクトルと用語ｙとして抽出された「明確」の特徴ベクトルとの比較結果の特徴ベクトルが表されている。５段目に、用語ｘの特徴ベクトルと用語ｙとして抽出された「鮮明」の特徴ベクトルとの比較結果の特徴ベクトルが表されている。
【００６０】
図６Ｅに示すように、第１の特徴ベクトル生成部１３１は、用語ｘの特徴ベクトルと、用語ｙの特徴ベクトルと、用語ｘの特徴ベクトルと用語ｙの特徴ベクトルとの比較結果の特徴ベクトルとを連結して第１の特徴ベクトル２４を生成する。ここでは、図６Ｅの１行目に、用語ｘの特徴ベクトルと用語ｙとして抽出された「消去」の特徴ベクトルと比較結果の特徴ベクトルとを連結した第１の特徴ベクトル２４が表されている。２行目に、用語ｘの特徴ベクトルと用語ｙとして抽出された「クリア」の特徴ベクトルと比較結果の特徴ベクトルとを連結した第１の特徴ベクトル２４が表されている。３行目に、用語ｘの特徴ベクトルと用語ｙとして抽出された「クリア」の特徴ベクトルと比較結果の特徴ベクトルとを連結した第１の特徴ベクトル２４が表されている。４行目に、用語ｘの特徴ベクトルと用語ｙとして抽出された「明確」の特徴ベクトルと比較結果の特徴ベクトルとを連結した第１の特徴ベクトル２４が表されている。５行目に、用語ｘの特徴ベクトルと用語ｙとして抽出された「鮮明」の特徴ベクトルと比較結果の特徴ベクトルとを連結した第１の特徴ベクトル２４が表されている。
【００６１】
機械学習部１４は、第１の特徴ベクトル２４を機械学習器で評価し、用語ｘと用語ｙとが同義語であるか否かを判定する。ここでは、用語ｘである「クリア」と、用語ｙとして抽出された「クリア」「クリア」「明確」「鮮明」のそれぞれとが、同義語であると判定される。
【００６２】
図６Ｆに示すように、検索語生成部１５は、検索文の用語ｘである「クリア」を検索語２８とする。そして、検索語生成部１５は、同義語と判定された、用語ｙとして抽出された「クリア」「クリア」「明確」「鮮明」を検索語２８とする。そして、検索語生成部１５は、検索語２８の中で用語の表記が重複している「クリア」を重複しないように「クリア」を１つ残して削除する。これにより、検索文の用語ｘである「クリア」に対する検索語は、「クリア」「明確」「鮮明」となる。
【００６３】
［第１の検索処理の流れ］
つまり、第１の検索処理の流れは、以下のようになる。図７は、実施例に係る第１の検索処理の流れを示す図である。図７に示すように、意味解析部１２は、検索文「画像をクリアに表示するには」を受け取ると、意味構造を持つ同義語辞書２１と付き合わせるために、検索文を形態素解析した後意味解析して意味構造２３を生成する。
【００６４】
そして、第１の特徴ベクトル生成部１３１は、用語ｘの特徴ベクトルと、用語ｙの特徴ベクトルと、用語ｘの特徴ベクトルと用語ｙの特徴ベクトルとの比較結果の特徴ベクトルとを連結して第１の特徴ベクトル２４を生成する。ここでは、用語ｘは、検索文の用語の１つである「クリア」である。用語ｙは、検索文の用語ｘと表記が一致した用語とペアである他方の用語であり、「明確」「消去」「鮮明」である。検索文の用語ｘである「クリア」の特徴ベクトルが「ＺＺ３」であり、用語ｙとして抽出された「明確」の特徴ベクトルが「Ｚ２」であるとする。すると、用語ｘである「クリア」と用語ｙとして抽出された「明確」の第１の特徴ベクトル２４は、「ＺＺ３＿Ｚ２＿ＺＺ３Ｚ２」となる。「＿」は、結合していることを示す。用語ｙとして抽出された「消去」の特徴ベクトルが「Ｘ２」であるとする。すると、用語ｘである「クリア」と用語ｙとして抽出された「消去」の第１の特徴ベクトル２４は、「ＺＺ３＿Ｘ２＿ＺＺ３Ｘ２」となる。用語ｙとして抽出された「鮮明」の特徴ベクトルが「Ｚ６」であるとする。すると、用語ｘである「クリア」と用語ｙとして抽出された「鮮明」の第１の特徴ベクトル２４は、「ＺＺ３＿Ｚ６＿ＺＺ３Ｚ６」となる。
【００６５】
そして、機械学習部１４は、生成されたそれぞれの第１の特徴ベクトル２４を機械学習器で評価し、それぞれの判定結果２７を出力する。ここでは、用語ｘである「クリア」と用語ｙとして抽出された「明確」の第１の特徴ベクトル２４を評価した判定結果２７は、同義語であることを示す「○」である。用語ｘである「クリア」と用語ｙとして抽出された「消去」の第１の特徴ベクトル２４を評価した判定結果２７は、同義語でないことを示す「×」である。用語ｘである「クリア」と用語ｙとして抽出された「鮮明」の第１の特徴ベクトル２４を評価した判定結果２７は、同義語であることを示す「○」である。これにより、機械学習部１４は、検索文の用語「クリア」と同じ意味の可能性のある「クリア」「消去」「明確」「鮮明」から違う意味の「消去」を対象外とすることができ、同じ意味の同義語だけを抽出できる。
【００６６】
そして、検索語生成部１５は、表記の重複を削除し、「クリア」「明確」「鮮明」を検索語として生成する。
【００６７】
［第２の検索処理の一例］
図８Ａおよび図８Ｂは、実施例に係る第２の検索処理の一例を示す図である。なお、図８Ａおよび図８Ｂでは、第２の特徴ベクトル生成部１３２は、検索語生成部１５によって生成された検索語「クリア」「明確」「鮮明」を受け取るものとする。
【００６８】
図８Ａに示すように、第２の特徴ベクトル生成部１３２は、検索対象文書２２に含まれる複数の文（検索対象文）から、検索語２８の表記と一致する用語を含む文を抽出する。検索語２８の用語の表記と一致する用語は、用語ｙとする。ここでは、検索語２８の「クリア」の表記と一致する用語ｙを含む文１が抽出される。検索語２８の「クリア」の表記と一致する用語ｙを含む文３が抽出される。検索語２８の「明確」の表記と一致する用語ｙを含む文５が抽出される。検索語２８の「クリア」の表記と一致する用語ｙを含む文６が抽出される。
【００６９】
そして、第２の特徴ベクトル生成部１３２は、抽出したそれぞれの文の意味構造２８から、検索語２８の表記と一致するそれぞれの用語ｙの意味構造２３を生成する。
【００７０】
図８Ｂに示すように、第２の特徴ベクトル生成部１３２は、検索文の用語ｘの特徴ベクトルと、用語ｙの特徴ベクトルと、用語ｘの特徴ベクトルと用語ｙの特徴ベクトルとの比較結果の特徴ベクトルとを連結して第２の特徴ベクトル２５を生成する。ここでは、図８Ｂの１行目に、用語ｘの特徴ベクトルと文１の用語ｙ「クリア」の特徴ベクトルと比較結果の特徴ベクトルとを連結した第２の特徴ベクトル２５が表されている。２行目に、用語ｘの特徴ベクトルと文３の用語ｙ「クリア」の特徴ベクトルと比較結果の特徴ベクトルとを連結した第２の特徴ベクトル２５が表されている。３行目に、用語ｘの特徴ベクトルと文５の用語ｙ「明確」の特徴ベクトルと比較結果の特徴ベクトルとを連結した第２の特徴ベクトル２５が表されている。４行目に、用語ｘの特徴ベクトルと文６の用語ｙ「クリア」の特徴ベクトルと比較結果の特徴ベクトルとを連結した第２の特徴ベクトル２５が表されている。
【００７１】
この後、機械学習部１４は、生成された第２の特徴ベクトル２５を機械学習器で評価し、用語ｘと用語ｙとが同義語であるか否かを判定する。加えて、機械学習部１４は、用語ｘと用語ｙとが表記が同じであっても、意味が同じであるか否かを判定する。そして、機械学習部１４は、判定結果２７に基づいて、同義語であると判定された用語ｙを含む文を検索結果として出力する。
【００７２】
［第２の検索処理の流れ］
つまり、第２の検索処理の流れは、以下のようになる。図９は、実施例に係る第２の検索処理の流れを示す図である。図９に示すように、第２の特徴ベクトル生成部１３２は、検索語２８により検索対象文書２２を検索し、検索語２８の表記と一致する用語を含む文を抽出し、抽出した文の意味構造２３から当該用語の意味構造２３の周辺を分離する。ここでは、文１について、文１の意味構造２３から該当用語「クリア」の意味構造２３として「ｐｚｚ１」が生成される。文３について、文３の意味構造２３から該当用語「クリア」の意味構造２３として「ｐｘｘ１」が生成される。文５について、文５の意味構造２３から該当用語「明確」の意味構造２３として「ｐｚｚ５」が生成される。文６について、文６の意味構造２３から該当用語「クリア」の意味構造２３として「ｐｗｗ６」が生成される。
【００７３】
そして、第２の特徴ベクトル生成部１３２は、用語ｘの特徴ベクトルと、用語ｙの特徴ベクトルと、用語ｘの特徴ベクトルと用語ｙの特徴ベクトルとの比較結果の特徴ベクトルとを連結して第２の特徴ベクトル２５を生成する。ここでは、用語ｘは、検索文の用語の１つである「クリア」である。用語ｙは、検索語２８の表記と一致する文の用語であり、文１の「クリア」、文３の「クリア」、文６の「クリア」および文５の「明確」である。検索文の用語ｘである「クリア」の特徴ベクトルが「ＺＺ３」であり、用語ｙである文１の「クリア」の特徴ベクトルが「ＰＺＺ１」であるとする。すると、第２の特徴ベクトル２５は、「ＺＺ３＿ＰＺＺ１＿ＺＺ３ＰＺＺ１」となる。「＿」は、結合していることを示す。用語ｙである文３の「クリア」の特徴ベクトルが「ＰＸＸ１」であるとする。すると、第２の特徴ベクトル２５は、「ＺＺ３＿ＰＸＸ１＿ＺＺ３ＰＸＸ１」となる。用語ｙである文６の「クリア」の特徴ベクトルが「ＰＷＷ６」であるとする。すると、第２の特徴ベクトル２５は、「ＺＺ３＿ＰＷＷ６＿ＺＺ３ＰＷＷ６」となる。用語ｙである文５の「明確」の特徴ベクトルが「ＰＺＺ５」であるとする。すると、第２の特徴ベクトル２５は、「ＺＺ３＿ＰＺＺ５＿ＺＺ３ＰＺＺ５」となる。
【００７４】
そして、機械学習部１４は、生成されたそれぞれの第２の特徴ベクトル２５を機械学習器で評価し、それぞれの判定結果２７を出力する。ここでは、検索文の用語「クリア」と文１の用語「クリア」の第２の特徴ベクトル２５を評価した判定結果２７は、同義語であることを示す「○」である。検索文の用語「クリア」と文３の用語「クリア」の第２の特徴ベクトル２５を評価した判定結果２７は、同義語でないことを示す「×」である。検索文の用語「クリア」と文６の用語「クリア」の第２の特徴ベクトル２５を評価した判定結果２７は、同義語でないことを示す「×」である。検索文の用語「クリア」と文５の用語「明確」の第２の特徴ベクトル２５を評価した判定結果２７は、同義語であることを示す「○」である。
【００７５】
そして、機械学習部１４は、判定結果２７に基づいて、同義語であると判定された用語を含む文を検索結果として出力する。ここでは、文１および文５が検索結果として出力される。これにより、機械学習部１４は、検索対象文書２２内の「クリア」「明確」から、検索語２８と表記が同じでも意味が違う「クリア」を対象外とすることができ、意味が同じ「クリア」「明確」を抽出できる。
【００７６】
［同義語辞書生成処理のフローチャート］
図１０は、実施例に係る同義語辞書生成処理のフローチャートの一例を示す図である。図１０に示すように、同義語辞書生成部１１は、同義語判定結果情報を１行ずつ読み込む（ステップＳ１１）。
【００７７】
そして、同義語辞書生成部１１は、同義語判定結果情報のフラグが同義語であることを示す「Ｔｒｕｅ」である場合に、用語１、用語２の行番号に基づいて、各用語を含む文章の意味構造２３を探索し、各用語の意味構造２３を生成する（ステップＳ１２）。例えば、同義語辞書生成部１１は、用語１の行番号にある文章の意味構造２３から用語１の周辺を分離した、用語１の意味構造２３を生成する。同義語辞書生成部１１は、用語２の行番号にある文章の意味構造２３から用語２の周辺を分離した、用語２の意味構造２３を生成する。
【００７８】
そして、同義語辞書生成部１１は、用語１と用語２の区別、各用語の表記、各用語の意味構造２３を同義語辞書２１に書き出す（ステップＳ１３）。例えば、同義語辞書生成部１１は、フラグ２１ａとして「用語１」、用語の表記２１ｂとして用語１の表記、意味構造２１ｃとして用語１の意味構造をペアの一方として同義語辞書２１に格納する。同義語辞書生成部１１は、フラグ２１ａとして「用語２」、用語の表記２１ｂとして用語２の表記、意味構造２１ｃとして用語２の意味構造をペアの他方として同義語辞書２１に格納する。
【００７９】
そして、同義語辞書生成部１１は、同義語判定結果情報の最終行であるか否かを判定する（ステップＳ１４）。最終行でないと判定した場合には（ステップＳ１４；Ｎｏ）、同義語辞書生成部１１は、次の行を読むべく、ステップＳ１１に移行する。
【００８０】
一方、最終行であると判定した場合には（ステップＳ１４；Ｙｅｓ）、同義語辞書生成部１１は、同義語辞書２１の中で、用語１と用語２の、それぞれの表記と意味構造２３が全く同じペアを削除する（ステップＳ１５）。加えて、同義語辞書生成部１１は、同義語辞書２１の中で、用語１と用語２のペアが、他の用語１と用語２のペアと同じ場合には、重複を削除する（ステップＳ１６）。そして、同義語辞書生成部１１は、同義語辞書生成処理を終了する。
【００８１】
なお、図１０のフローチャートで用いた同義語判定結果情報のデータ構造を、図１１を参照して説明する。図１１は、同義語判定結果情報のデータ構造の一例を示す図である。図１１に示すように、同義語判定結果情報は、フラグ、用語１の表記、用語１を含む文章の意味構造の行番号、用語２の表記および用語２を含む文章の意味構造の行番号を対応付ける。フラグは、同義語であるか否かを示す。同義語である場合には、「Ｔｒｕｅ」が設定され、同義語でない場合には、「Ｆａｌｓｅ」が設定される。用語１の表記は、同義語であるか否かを判定したペアの用語の一方の表記である。用語１を含む文章の意味構造の行番号は、用語１を含む文章の意味構造がある行番号を示す。用語２の表記は、同義語であるか否かを判定したペアの用語の他方の表記である。用語２を含む文章の意味構造の行番号は、用語２を含む文章の意味構造がある行番号を示す。なお、文章中に、表記の同じ用語が複数ある場合には、同義語判定結果情報のデータ構造に、文章中のカラム位置の情報が付加されても良い。
【００８２】
［検索処理のフローチャート］
図１２は、実施例に係る検索処理のフローチャートの一例を示す図である。なお、同義語辞書２１は、同義語辞書生成部１１によって生成され、記憶部２０に記憶されているものとする。
【００８３】
図１２に示すように、意味解析部１２は、検索文を受け取ると（ステップＳ２１）、日本語の意味解析処理を実行し、検索文の意味構造２３を生成する（ステップＳ２２）。
【００８４】
続いて、第１の特徴ベクトル生成部１３１は、生成された検索文の意味構造２３と、同義語辞書２１とを用いて、第１の特徴ベクトル２４を生成する（ステップＳ２３）。なお、第１の特徴ベクトル２４の生成処理のフローチャートは、後述する。
【００８５】
そして、機械学習部１４は、生成された第１の特徴ベクトル２４の評価をすべく、機械学習を実行する（ステップＳ２４）。機械学習部１４は、予め、教師例に基づいて機械学習し、学習結果として重みベクトル２６を導出するものとする。そして、機械学習部１４は、学習結果である重みベクトル２６を用いて、機械学習を実行する。なお、機械学習の実行処理のフローチャートは、後述する。
【００８６】
そして、検索語生成部１５は、機械学習の判定結果２７に基づいて、検索語２８を生成する（ステップＳ２５）。なお、検索語２８の生成処理のフローチャートは、後述する。
【００８７】
続いて、第２の特徴ベクトル生成部１３２は、生成された検索語２８と、検索対象文書２２とを用いて、第２の特徴ベクトル２５を生成する（ステップＳ２６）。なお、第２の特徴ベクトル２５の生成処理のフローチャートは、後述する。
【００８８】
そして、機械学習部１４は、生成された第２の特徴ベクトル２５の評価をすべく、機械学習を実行する（ステップＳ２７）。機械学習部１４は、ステップＳ２４で用いた重みベクトル２６を用いて、機械学習を実行する。なお、機械学習の実行処理のフローチャートは、後述する。
【００８９】
そして、機械学習部１４は、機械学習の判定結果２７に基づいて、検索文に対応する検索対象文を検索結果として出力する（ステップＳ２８）。そして、制御部１０は、検索処理を終了する。
【００９０】
［第１の特徴ベクトル生成処理のフローチャート］
図１３は、実施例に係る第１の特徴ベクトル生成処理のフローチャートの一例を示す図である。
【００９１】
第１の特徴ベクトル生成部１３１は、検索文の意味構造２３を受け取る（ステップＳ３１）。第１の特徴ベクトル生成部１３１は、検索文の意味構造２３の用語の表記から、検索文の用語を特定する（ステップＳ３２）。第１の特徴ベクトル生成部１３１は、検索文の用語（用語ｘ）の意味構造２３から、用語ｘの特徴ベクトルを生成する（ステップＳ３３）。例えば、第１の特徴ベクトル生成部１３１は、検索文の意味構造２３から用語ｘの周辺を分離した、用語ｘの意味構造２３を生成し、生成した用語ｘの意味構造２３から、用語ｘの特徴ベクトルを生成する。
【００９２】
続いて、第１の特徴ベクトル生成部１３１は、同義語辞書２１から、検索文の用語ｘと表記が一致する用語を検索する（ステップＳ３４）。そして、第１の特徴ベクトル生成部１３１は、検索した用語とペアである他方の用語（用語ｙ）を抽出し、用語ｙに対応付けられた意味構造２１ｃから、用語ｙの特徴ベクトルを生成する（ステップＳ３５）。
【００９３】
続いて、第１の特徴ベクトル生成部１３１は、検索文の用語ｘの特徴ベクトルと用語ｙの特徴ベクトルとを比較し、比較結果の特徴ベクトルを生成する（ステップＳ３６）。そして、第１の特徴ベクトル生成部１３１は、検索文の用語ｘ、用語ｙ、比較結果の特徴ベクトルを連結して、第１の特徴ベクトル２４を生成する（ステップＳ３７）。
【００９４】
そして、第１の特徴ベクトル生成部１３１は、未処理の検索文の用語は有るか否かを判定する（ステップＳ３８）。未処理の検索文の用語は有ると判定した場合には（ステップＳ３８；Ｙｅｓ）、第１の特徴ベクトル生成部１３１は、次の検索文の用語を特定すべく、ステップＳ３２に移行する。
【００９５】
一方、未処理の検索文の用語は無いと判定した場合には（ステップＳ３８；Ｎｏ）、第１の特徴ベクトル生成部１３１は、第１の特徴ベクトル生成処理を終了する。
【００９６】
［第２の特徴ベクトル生成処理のフローチャート］
図１４は、実施例に係る第２の特徴ベクトル生成処理のフローチャートの一例を示す図である。
【００９７】
第２の特徴ベクトル生成部１３２は、検索文の用語に対する検索語２８を受け取る（ステップＳ４１）。第２の特徴ベクトル生成部１３２は、検索語２８をキーとして、検索対象文書２２の意味構造２３の表記を検索する（ステップＳ４２）。第２の特徴ベクトル生成部１３２は、検索語２８と表記が一致した用語について、検索対象文書２２の意味構造２３から、用語の意味構造２３を生成する（ステップＳ４３）。
【００９８】
第２の特徴ベクトル生成部１３２は、検索語２８と表記が一致した用語、検索対象文書２２中の当該用語の位置情報および当該用語の意味構造２３を対応付けて、一時的に保持する（ステップＳ４４）。
【００９９】
そして、第２の特徴ベクトル生成部１３２は、検索文の用語（用語ｘ）の特徴ベクトルを取得する（ステップＳ４５）。例えば、第２の特徴ベクトル生成部１３２は、第１の特徴ベクトル生成部１３１によって生成された用語ｘの特徴ベクトルを取得すれば良い。
【０１００】
そして、第２の特徴ベクトル生成部１３２は、検索対象文書２２中で、検索語２８と表記が一致した用語（用語ｙ）の意味構造２３から特徴ベクトルを生成する（ステップＳ４６）。例えば、第２の特徴ベクトル生成部１３２は、一時的に保持した、検索語２８と表記が一致した用語に対応付けられた当該用語の意味構造２３から特徴ベクトルを生成する。
【０１０１】
続いて、第２の特徴ベクトル生成部１３２は、検索文の用語ｘの特徴ベクトルと用語ｙの特徴ベクトルとを比較し、比較結果の特徴ベクトルを生成する（ステップＳ４７）。そして、第２の特徴ベクトル生成部１３２は、検索文の用語ｘ、用語ｙ、比較結果の特徴ベクトルを連結して、第２の特徴ベクトル２５を生成する（ステップＳ４８）。
【０１０２】
そして、第２の特徴ベクトル生成部１３２は、未処理の検索文の用語は有るか否かを判定する（ステップＳ４９）。未処理の検索文の用語は有ると判定した場合には（ステップＳ４９；Ｙｅｓ）、第２の特徴ベクトル生成部１３２は、次の検索文の用語を処理すべく、ステップＳ４２に移行する。
【０１０３】
一方、未処理の検索文の用語は無いと判定した場合には（ステップＳ４９；Ｎｏ）、第２の特徴ベクトル生成部１３２は、第２の特徴ベクトル生成処理を終了する。
【０１０４】
［機械学習処理のフローチャート］
図１５は、実施例に係る機械学習処理のフローチャートの一例を示す図である。
【０１０５】
図１５に示すように、機械学習部１４は、第１または第２の特徴ベクトル２５，２５を受け取る（ステップＳ５１）。例えば、機械学習部１４は、第１の特徴ベクトル生成部１３１から第１の特徴ベクトル２４を受け取る。機械学習部１４は、第２の特徴ベクトル生成部１３２から第２の特徴ベクトル２５を受け取る。
【０１０６】
機械学習部１４は、受け取った第１の特徴ベクトル２４または第２の特徴ベクトル２５を機械学習器に入力し、機械学習器による評価を行う（ステップＳ５２）。例えば、機械学習部１４は、第１の特徴ベクトル２４を受け取った場合には、第１の特徴ベクトル２４と重みベクトル２６との内積を計算し、総合評価値を導出する。そして、機械学習部１４は、導出した総合評価値を予め設定された閾値で判定することにより、同義語であるか否かの判定結果２７を決定し、決定した判定結果２７を出力する（ステップＳ５３）。また、機械学習部１４は、第２の特徴ベクトル２５を受け取った場合にも、第１の特徴ベクトル２４を受け取った場合と同様に、重みベクトル２６および予め設定された閾値を用いて、判定結果２７を決定し、決定した判定結果２７を出力する（ステップＳ５３）。
【０１０７】
機械学習部１４は、受け取った特徴ベクトルが第１の特徴ベクトル２４であるか否かを判定する（ステップＳ５４）。受け取った特徴ベクトルが第１の特徴ベクトル２４であると判定した場合には（ステップＳ５４；Ｙｅｓ）、機械学習部１４は、検索語２８の生成処理を行う（ステップＳ５５）。なお、検索語生成処理のフローチャートは、後述する。そして、機械学習部１４は、機械学習処理を終了する。
【０１０８】
一方、受け取った特徴ベクトルが第１の特徴ベクトル２４でないと判定した場合には（ステップＳ５４；Ｎｏ）、機械学習部１４は、同義語であると判定された用語について、その位置情報から検索対象文書２２内の検索対象文を取得する（ステップＳ５６）。そして、機械学習部１４は、検索対象文を検索結果として出力する（ステップＳ５７）。そして、機械学習部１４は、機械学習処理を終了する。
【０１０９】
［検索語生成処理のフローチャート］
図１６は、実施例に係る検索語生成処理のフローチャートの一例を示す図である。
【０１１０】
図１６に示すように、検索語生成部１５は、機械学習部１４から判定結果２７を受け取る（ステップＳ６１）。検索語生成部１５は、判定結果２７から、同義語として判定された用語ｘと用語ｙを読み込む（ステップＳ６２）。そして、検索語生成部１５は、用語ｘに対する用語ｙの表記の重複を削除する（ステップＳ６３）。
【０１１１】
検索語生成部１５は、検索文の用語ｘに対する用語ｙを検索語として出力する（ステップＳ６４）。そして、検索語生成部１５は、未処理の検索文の用語は有るか否かを判定する（ステップＳ６５）。未処理の検索文の用語は有ると判定した場合には（ステップＳ６５；Ｙｅｓ）、検索語生成部１５は、次の検索文の用語に対する判定結果２７を処理すべく、ステップＳ６２に移行する。
【０１１２】
一方、未処理の検索文の用語は無いと判定した場合には（ステップＳ６５；Ｎｏ）、検索語生成部１５は、検索語生成処理を終了する。
【０１１３】
［実施例の効果］
このようにして、情報処理装置１は、検索対象文書２２から特定の文章を検索する場合に、検索文を受け付ける。情報処理装置１は、受け付けた検索文を意味解析して、受け付けた検索文に含まれる単語の意味を示す意味構造２３を生成する。情報処理装置１は、単語と当該単語の意味を示す意味構造２３とを対応付けて記憶する同義語辞書２１を参照して、生成した意味構造２３に対応付けられた単語を特定する。情報処理装置１は、特定した単語が検索対象文書２２に含まれるか否かの判定を行い、判定結果に応じた情報を出力する。かかる構成によれば、情報処理装置１は、検索文の単語の意味と、同義語辞書２１の単語の意味とを組み合わせて得られる単語を特定することで、検索対象文書２２から特定の文書を検索する際の検索語を特定することができる。この結果、情報処理装置１は、検索語を用いて、検索対象文書２２から特定の文章を検索すると、検索結果に含まれるノイズを低減することが可能となる。すなわち、情報処理装置１は、検索対象文書２２から意図しない特定の文章を検索することを低減することが可能となる。
【０１１４】
また、情報処理装置１は、特定した単語が検索対象文書２２に含まれると判定した場合には、以下の処理を行う。情報処理装置１は、検索対象文書２２に含まれる複数の単語それぞれを該複数の単語それぞれの意味を示す意味構造２３に対応付けて記憶する第２の記憶部を参照して、検索文に含まれる単語の意味構造２３に対応付けられた単語を特定する。情報処理装置１は、該特定した単語が検索対象文書２２の中のいずれの文章に含まれるか否かの判定を行い、判定結果に応じた情報を出力する。かかる構成によれば、情報処理装置１は、検索文の単語の意味と、検索対象文書２２に含まれる、特定した単語（検索語２８）の意味とを組み合わせて、検索対象文書２２から特定の文章を検索することで、検索結果に含まれるノイズを低減することができる。例えば、情報処理装置１は、表記が同じで意味が異なる多義語を持つ特定の文章を排除することができる。
【０１１５】
また、情報処理装置１は、第２の記憶部を参照して、同義語辞書２１を参照して特定した単語と一致する単語に対応付けられた意味構造２３を特定する。情報処理装置１は、特定した意味構造２３と、検索文に含まれる単語の意味構造２３とを用いて、検索文に含まれる単語の意味構造２３に対応付けられた単語を特定する。かかる構成によれば、情報処理装置１は、検索文の単語の意味と、検索対象文書２２に含まれる、特定した単語（検索語２８）の意味とを組み合わせて得られる単語を特定することで、検索対象文書２２内の特定の文章に含まれる単語を特定することができる。この結果、情報処理装置１は、特定した単語を用いて、検索対象文書２２内の特定の文章を検索でき、特定の文章がノイズとなることを低減することができる。
【０１１６】
また、情報処理装置１は、受け付けた検索文の意味構造２３から、検索文に含まれる単語と、当該単語と直接関係する他の単語との関係を示す情報を抽出する。情報処理装置１は、抽出した情報を意味構造２３として生成する。かかる構成によれば、情報処理装置１は、検索文に含まれる単語と直接関係のある他の単語との関係を示す情報を単語の意味構造２３として生成することで、検索文に含まれる単語の意味を示す情報を生成できる。
【０１１７】
［その他］
なお、実施例に係る同義語辞書２１は、同義語として判定されたそれぞれの用語（用語１、用語２）を、それぞれの用語の意味構造２３と対応付けて記憶すると説明した。しかしながら、同義語辞書２１は、これに限定されず、同義語として判定されたそれぞれの用語をそれぞれの用語の特徴ベクトルと対応付けて記憶しても良い。かかる場合には、同義語辞書生成部１１は、同義語と判定された各用語が出現する文章について、意味解析処理により、それぞれの意味構造２３を生成する。同義語辞書生成部１１は、用語１が出現する文章の意味構造２３から用語１の周辺を分離した、用語１の意味構造２３を生成する。同義語辞書生成部１１は、用語２が出現する文章の意味構造２３から用語２の周辺を分離した、用語２の意味構造２３を生成する。そして、同義語辞書生成部１１は、生成した用語１の意味構造２３から用語１の特徴ベクトルを生成する。同義語辞書生成部１１は、生成した用語２の意味構造２３から用語２の特徴ベクトルを生成する。そして、同義語辞書生成部１１は、用語１と用語２について、用語の表記、用語の特徴ベクトルを同義語辞書２１に書き出せば良い。これにより、第１の特徴ベクトル生成部１３１は、同義語辞書２１から、該当する用語の意味構造２３の代わりに該当する用語の特徴ベクトルを直接取得することができる。
【０１１８】
また、図示した情報処理装置１の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、情報処理装置１の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、意味解析部１２と、第１の特徴ベクトル生成部１３１とを１つの部として統合しても良い。また、機械学習部１４を、重みベクトル２６を学習する第１の機械学習部と、第１の特徴ベクトル２４を評価する第２の機械学習部と、第２の特徴ベクトル２５を評価する第３の機械学習部とに分散しても良い。また、記憶部２０を情報処理装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【０１１９】
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した情報処理装置１と同様の機能を実現する検索プログラムを実行するコンピュータの一例を説明する。図１７は、検索プログラムを実行するコンピュータの一例を示す図である。
【０１２０】
図１７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読み取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【０１２１】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、検索プログラム２０５ａおよび検索処理関連情報２０５ｂを記憶する。
【０１２２】
ＣＰＵ２０３は、検索プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、情報処理装置１の各機能部に対応する。検索処理関連情報２０５ｂは、例えば、同義語辞書２１、検索対象文書２２、意味構造２３、第１の特徴ベクトル２４、第２の特徴ベクトル２５、重みベクトル２６、判定結果２７および検索語２８に対応する。そして、例えばリムーバブルディスク２１１が、検索プログラム２０５ａなどの各情報を記憶する。
【０１２３】
なお、検索プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから検索プログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【０１２４】
１  情報処理装置
１０  制御部
１０Ａ  第１の検索部
１０Ｂ  第２の検索部
１１  同義語辞書生成部
１２  意味解析部
１３  特徴ベクトル生成部
１３１  第１の特徴ベクトル生成部
１３２  第２の特徴ベクトル生成部
１４  機械学習部
１５  検索語生成部
２０  記憶部
２１  同義語辞書
２２  検索対象文書
２３  意味構造
２４  第１の特徴ベクトル
２５  第２の特徴ベクトル
２６  重みベクトル
２７  判定結果
２８  検索語
【図１】
2018045537.tif 000003
【図２】
2018045537.tif 000004
【図３Ａ】
2018045537.tif 000005
【図３Ｂ】
2018045537.tif 000006
【図３Ｃ】
2018045537.tif 000007
【図４】
2018045537.tif 000008
【図５】
2018045537.tif 000009
【図６Ａ】
2018045537.tif 000010
【図６Ｂ】
2018045537.tif 000011
【図６Ｃ】
2018045537.tif 000012
【図６Ｄ】
2018045537.tif 000013
【図６Ｅ】
2018045537.tif 000014
【図６Ｆ】
2018045537.tif 000015
【図７】
2018045537.tif 000016
【図８Ａ】
2018045537.tif 000017
【図８Ｂ】
2018045537.tif 000018
【図９】
2018045537.tif 000019
【図１０】
2018045537.tif 000020
【図１１】
2018045537.tif 000021
【図１２】
2018045537.tif 000022
【図１３】
2018045537.tif 000023
【図１４】
2018045537.tif 000024
【図１５】
2018045537.tif 000025
【図１６】
2018045537.tif 000026
【図１７】
2018045537.tif 000027
【図１８】
2018045537.tif 000028