JP2009087009A - 文検索装置,文検索プログラム,文検索方法 - Google Patents
文検索装置,文検索プログラム,文検索方法 Download PDFInfo
- Publication number
- JP2009087009A JP2009087009A JP2007255750A JP2007255750A JP2009087009A JP 2009087009 A JP2009087009 A JP 2009087009A JP 2007255750 A JP2007255750 A JP 2007255750A JP 2007255750 A JP2007255750 A JP 2007255750A JP 2009087009 A JP2009087009 A JP 2009087009A
- Authority
- JP
- Japan
- Prior art keywords
- sentence
- case
- search
- sentences
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】複数の検索対象文の中から,ある入力文に対し文としての内容の一致度が高い文を検索するとともに,他の入力文と文としての内容の一致度が高い文を検索結果から除外したり,一部に不確定の語句を含む不完全な入力文を与え,その不確定の語句以外の部分の内容の一致度が高い文やその文における前記不確定の語句に対応する語句を抽出したりすることができること。
【解決手段】検索対象文それぞれについて,積極的検索条件を表す正事例文との間,及び消極的検索条件を表す負事例文との間で,構文解析結果の比較によって文の一致度(正事例一致度及び負事例一致度)を算出し,正事例一致度と負的事例一致度との差に関する評価値のレベルに応じて検索結果として出力するか否かの判別及び検索結果として出力する優先順位の判別を行う。
【選択図】図2
【解決手段】検索対象文それぞれについて,積極的検索条件を表す正事例文との間,及び消極的検索条件を表す負事例文との間で,構文解析結果の比較によって文の一致度(正事例一致度及び負事例一致度)を算出し,正事例一致度と負的事例一致度との差に関する評価値のレベルに応じて検索結果として出力するか否かの判別及び検索結果として出力する優先順位の判別を行う。
【選択図】図2
Description
本発明は,複数の検索対象文の中から所望の文を検索して出力する文検索装置,文検索プログラム及び文検索方法に関するものである。
文書データにはそれぞれ複数の語句を含む複数の文(句点で区分される語句の集合)が含まれる。従来,コンピュータにより,検索対象となる文書データに含まれる複数の文(検索対象文)の中から,所定のキーワードを含む文を検索して出力する処理を実行することが行われている。
例えば,特許文献1や特許文献2には,入力された文に含まれるキーワードやそれをさらに拡張したキーワードを抽出或いは生成し,そのキーワードを含む文を文書データの中から検索することについて示されている。
特開平8−161354号公報
特開2007−65745号公報
例えば,特許文献1や特許文献2には,入力された文に含まれるキーワードやそれをさらに拡張したキーワードを抽出或いは生成し,そのキーワードを含む文を文書データの中から検索することについて示されている。
ところで,複数の検索対象文の中から所望の文を検索する場合に,特定のキーワード(語句)を含む文を検索するのではなく,検索条件として入力した文(以下,入力文という)と内容(文としての内容)の一致度が高い文を検索したいというニーズや,前記入力文と内容の一致度が高い文を検索結果から除外したいというニーズがある。
また,主語及び述語を含む完全な文を前記入力文とする他,あえて一部に不確定の語句を含む文(一部の語句(主語や述語等)が指定されていない虫食い状態のような文)を前記入力文とし,その不確定の語句以外の部分の内容の一致度が高い文を検索し,その文における前記不確定の語句に対応する語句を抽出したいというニーズもある。
しかしながら,特許文献1や特許文献2に示される技術はいずれも,複数の検索対象文のうち,検索条件として入力される情報に基づくキーワード(語句)を含む文を検索結果として出力するものであり,上記ニーズに対応できないという問題点があった。
従来の技術では,例えば,工場等における運転記録を表す複数の文が検索対象文であるような場合に,前記入力文として「モータ電流が異常。」が与えられた場合,その入力文から「モータ電流」や「異常」というキーワードを抽出し,そのキーワードを含む文を複数の検索対象文の中から検索した場合,検索結果に前記入力文とは内容が全く異なる「モータ電流は正常であるにもかかわらず,回転数が異常。」というような文までも含まれる可能性が高い。
また,従来の技術では,例えば,「??が停止した。」("??"の部分が前記不確定の語句を表す)という前記入力文を与え,複数の検索対象文の中から,「…が停止した。」という文を検索するとともに,その文における「…」の位置に存在する語句(例えば,循環ポンプ,自動工程等)のリストを抽出したいというニーズに対応できない。
従って,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,複数の検索対象文の中から,検索条件を表す入力文に対し文としての内容の一致度が高い文を検索したいというニーズや,前記入力文と文としての内容の一致度が高い文を検索結果から除外したいというニーズ,さらには,あえて一部に不確定の語句(主語や述語等)を含む不完全な前記入力文を与え,その不確定の語句以外の部分の内容の一致度が高い文やその文における前記不確定の語句に対応する語句を抽出したいというニーズに対応することができる文検索装置,文検索プログラム及び文検索方法を提供することにある。
また,主語及び述語を含む完全な文を前記入力文とする他,あえて一部に不確定の語句を含む文(一部の語句(主語や述語等)が指定されていない虫食い状態のような文)を前記入力文とし,その不確定の語句以外の部分の内容の一致度が高い文を検索し,その文における前記不確定の語句に対応する語句を抽出したいというニーズもある。
しかしながら,特許文献1や特許文献2に示される技術はいずれも,複数の検索対象文のうち,検索条件として入力される情報に基づくキーワード(語句)を含む文を検索結果として出力するものであり,上記ニーズに対応できないという問題点があった。
従来の技術では,例えば,工場等における運転記録を表す複数の文が検索対象文であるような場合に,前記入力文として「モータ電流が異常。」が与えられた場合,その入力文から「モータ電流」や「異常」というキーワードを抽出し,そのキーワードを含む文を複数の検索対象文の中から検索した場合,検索結果に前記入力文とは内容が全く異なる「モータ電流は正常であるにもかかわらず,回転数が異常。」というような文までも含まれる可能性が高い。
また,従来の技術では,例えば,「??が停止した。」("??"の部分が前記不確定の語句を表す)という前記入力文を与え,複数の検索対象文の中から,「…が停止した。」という文を検索するとともに,その文における「…」の位置に存在する語句(例えば,循環ポンプ,自動工程等)のリストを抽出したいというニーズに対応できない。
従って,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,複数の検索対象文の中から,検索条件を表す入力文に対し文としての内容の一致度が高い文を検索したいというニーズや,前記入力文と文としての内容の一致度が高い文を検索結果から除外したいというニーズ,さらには,あえて一部に不確定の語句(主語や述語等)を含む不完全な前記入力文を与え,その不確定の語句以外の部分の内容の一致度が高い文やその文における前記不確定の語句に対応する語句を抽出したいというニーズに対応することができる文検索装置,文検索プログラム及び文検索方法を提供することにある。
上記目的を達成するために本発明に係る文検索装置は,予め記憶手段に記憶された複数の検索対象文の中から所望の文を検索して出力する装置であり,次の(1)〜(4)に示す各構成要素を備えるものである。
(1)検索結果に含めたい文を例示する一又は複数の積極的事例文の情報を入力して記憶手段に記録する積極的事例文情報入力手段。
(2)検索結果から除外したい文を例示する一又は複数の消極的事例文の情報を入力して記憶手段に記録する消極的事例文情報入力手段。
(3)前記検索対象文それぞれについて,前記積極的事例文との一致度合いの指標値である積極的事例一致度及び前記消極的事例文との一致度合いの指標値である消極的事例一致度を算出する事例一致度算出手段。
(4)前記検索対象文それぞれについて,前記積極的事例一致度と前記消極的事例一致度との差に関する評価値を算出し,その評価値のレベルに応じて検索結果として出力するか否かの判別及び検索結果として出力する優先順位の判別の一方又は両方を行う検索対象文出力判別手段。
例えば,本発明に係る文検索装置が,さらに,次の(5)に示す構成要素を備えればなお好適である。
(5)前記検索対象文,前記積極的事例文及び前記消極的事例文それぞれについて,構文解析処理を施すことにより文中における文法上の属性と語句との対応関係を表す構文解析結果情報を生成する構文解析手段。
この場合,前記事例一致度算出手段が,前記検索対象文それぞれについて,前記積極的事例文それぞれとの間で前記構文解析結果情報を比較することにより前記積極的事例一致度を算出し,前記消極的事例文それぞれとの間で前記構文解析結果情報を比較することにより前記消極的事例一致度を算出する。
なお,「情報を入力」とは,キーボードやマウス等の操作部に対する操作に応じて情報を入力することの他,通信手段を通じて外部装置から情報を入力することや,ハードディスクやDVD等の情報記録媒体に記録(記憶)された情報を読み出して入力すること等,各種の情報入力の態様を含むことを意味する。
同様に,「出力する」とは,通信手段を通じて外部装置に情報を送信することの他,表示部に情報を表示することや,ハードディスクやDVD等の情報記録媒体に情報を記録する(記憶させる)こと等,各種の情報出力の態様を含むことを意味する。
(1)検索結果に含めたい文を例示する一又は複数の積極的事例文の情報を入力して記憶手段に記録する積極的事例文情報入力手段。
(2)検索結果から除外したい文を例示する一又は複数の消極的事例文の情報を入力して記憶手段に記録する消極的事例文情報入力手段。
(3)前記検索対象文それぞれについて,前記積極的事例文との一致度合いの指標値である積極的事例一致度及び前記消極的事例文との一致度合いの指標値である消極的事例一致度を算出する事例一致度算出手段。
(4)前記検索対象文それぞれについて,前記積極的事例一致度と前記消極的事例一致度との差に関する評価値を算出し,その評価値のレベルに応じて検索結果として出力するか否かの判別及び検索結果として出力する優先順位の判別の一方又は両方を行う検索対象文出力判別手段。
例えば,本発明に係る文検索装置が,さらに,次の(5)に示す構成要素を備えればなお好適である。
(5)前記検索対象文,前記積極的事例文及び前記消極的事例文それぞれについて,構文解析処理を施すことにより文中における文法上の属性と語句との対応関係を表す構文解析結果情報を生成する構文解析手段。
この場合,前記事例一致度算出手段が,前記検索対象文それぞれについて,前記積極的事例文それぞれとの間で前記構文解析結果情報を比較することにより前記積極的事例一致度を算出し,前記消極的事例文それぞれとの間で前記構文解析結果情報を比較することにより前記消極的事例一致度を算出する。
なお,「情報を入力」とは,キーボードやマウス等の操作部に対する操作に応じて情報を入力することの他,通信手段を通じて外部装置から情報を入力することや,ハードディスクやDVD等の情報記録媒体に記録(記憶)された情報を読み出して入力すること等,各種の情報入力の態様を含むことを意味する。
同様に,「出力する」とは,通信手段を通じて外部装置に情報を送信することの他,表示部に情報を表示することや,ハードディスクやDVD等の情報記録媒体に情報を記録する(記憶させる)こと等,各種の情報出力の態様を含むことを意味する。
本発明によれば,複数の検索対象文それぞれについて,前記積極的事例文(前記入力文の一例)に対し文としての内容の一致度が高い文についてはその一致度の加算により前記評価値が高い値となり,前記消極的事例文(前記入力文の一例)と文としての内容の一致度が高い文についてはその一致度の減算により前記評価値が低い値となる。
従って,本発明は,複数の検索対象文の中から,積極的な検索条件を表す前記積極的事例文に対し文としての内容(例えば,構文解析結果)の一致度が高い文を検索したいというニーズや,消極的な検索条件を表す前記消極的事例文と文としての内容(例えば,構文解析結果)の一致度が高い文を検索結果から除外したいというニーズに対応できる。
なお,前記文法上の属性が,文法上の格,品詞,語句の時制,受動態か能動態か,肯定形の語句か否定形の語句か,及び1つの文に複数の単文が含まれる場合におけるある語句が属する単文の他の単文に対する文法上の階層関係の深さのうちの1つ又は複数を含むことが考えられる。
また,本明細書において,「一致度が高い」,「一致度が低い」という記載は,「一致度」を表す数値の高低を意味するものではなく,「一致している度合い」の高低を意味するものである。従って,例えば,「一致度」の数値が小さいほど「一致している度合い」が高いことを意味する場合や,「一致度」がa,b,c,d…等の評価ランクとして表現される場合等も考えられる。同様に,「一致度」の加算/減算は,それぞれ「一致している度合い」を高くする方向/低くする方向に値(評価値)を変更することを意味するものである。従って,「評価値が高い(大きい)」,「評価値が低い(小さい)」という記載も,1つの前記検索対象文と,前記正事例文及び前記負事例文それぞれとの間の「一致している度合い」を統合評価した結果の高低を意味するものである。
従って,本発明は,複数の検索対象文の中から,積極的な検索条件を表す前記積極的事例文に対し文としての内容(例えば,構文解析結果)の一致度が高い文を検索したいというニーズや,消極的な検索条件を表す前記消極的事例文と文としての内容(例えば,構文解析結果)の一致度が高い文を検索結果から除外したいというニーズに対応できる。
なお,前記文法上の属性が,文法上の格,品詞,語句の時制,受動態か能動態か,肯定形の語句か否定形の語句か,及び1つの文に複数の単文が含まれる場合におけるある語句が属する単文の他の単文に対する文法上の階層関係の深さのうちの1つ又は複数を含むことが考えられる。
また,本明細書において,「一致度が高い」,「一致度が低い」という記載は,「一致度」を表す数値の高低を意味するものではなく,「一致している度合い」の高低を意味するものである。従って,例えば,「一致度」の数値が小さいほど「一致している度合い」が高いことを意味する場合や,「一致度」がa,b,c,d…等の評価ランクとして表現される場合等も考えられる。同様に,「一致度」の加算/減算は,それぞれ「一致している度合い」を高くする方向/低くする方向に値(評価値)を変更することを意味するものである。従って,「評価値が高い(大きい)」,「評価値が低い(小さい)」という記載も,1つの前記検索対象文と,前記正事例文及び前記負事例文それぞれとの間の「一致している度合い」を統合評価した結果の高低を意味するものである。
また,本発明に係る文検索装置が,さらに,次の(6)に示す構成要素を備えればなお好適である。
(6)前記積極的事例文に,不確定の語句を意味する予め定められた特殊記号が含まれる場合に,前記検索対象文それぞれについて,その検索対象文についての前記構文解析結果情報における前記属性の中から前記積極的事例文についての前記構文解析結果情報における前記特殊記号に対応する前記属性と一致するものを選出し,選出した前記属性に対応する前記検索対象文における語句を抽出して出力する不確定語句抽出手段。
本発明に係る文検索装置が前記不確定語句抽出手段を備えれば,あえて一部に不確定の語句(主語や述語等の位置に配置された前記特殊記号)を含む不完全な前記積極的事例文を与え,その不確定の語句(前記特殊記号)以外の部分の内容の一致度が高い文における前記不確定の語句に対応する語句を抽出したいというニーズに対応することができる。
また,本発明に係る文検索装置における前記事例一致度算出手段が,さらに,次の(7)に示す処理を実行すればなお好適である。
(7)前記事例一致度算出手段が,前記積極的事例文又は前記消極的事例文に,不確定の語句を意味する予め定められた特殊記号が含まれる場合に,前記積極的事例文及び前記消極的事例文における前記特殊記号については前記検索対象文における比較対象となる語句と一致するものとして前記積極的事例一致度又は前記消極的事例一致度を算出する。
本発明に係る文検索装置が(7)に示す処理を実行すれば,あえて一部に不確定の語句(前記特殊記号)を含む不完全な前記積極的事例文や前記消極的事例文を与え,その不確定の語句(前記特殊記号)以外の部分の内容の一致度が高い文を検索したいというニーズや,検索結果から前記不確定の語句(前記特殊記号)以外の部分の内容の一致度が高い文を除外したいというニーズに対応することができる。
(6)前記積極的事例文に,不確定の語句を意味する予め定められた特殊記号が含まれる場合に,前記検索対象文それぞれについて,その検索対象文についての前記構文解析結果情報における前記属性の中から前記積極的事例文についての前記構文解析結果情報における前記特殊記号に対応する前記属性と一致するものを選出し,選出した前記属性に対応する前記検索対象文における語句を抽出して出力する不確定語句抽出手段。
本発明に係る文検索装置が前記不確定語句抽出手段を備えれば,あえて一部に不確定の語句(主語や述語等の位置に配置された前記特殊記号)を含む不完全な前記積極的事例文を与え,その不確定の語句(前記特殊記号)以外の部分の内容の一致度が高い文における前記不確定の語句に対応する語句を抽出したいというニーズに対応することができる。
また,本発明に係る文検索装置における前記事例一致度算出手段が,さらに,次の(7)に示す処理を実行すればなお好適である。
(7)前記事例一致度算出手段が,前記積極的事例文又は前記消極的事例文に,不確定の語句を意味する予め定められた特殊記号が含まれる場合に,前記積極的事例文及び前記消極的事例文における前記特殊記号については前記検索対象文における比較対象となる語句と一致するものとして前記積極的事例一致度又は前記消極的事例一致度を算出する。
本発明に係る文検索装置が(7)に示す処理を実行すれば,あえて一部に不確定の語句(前記特殊記号)を含む不完全な前記積極的事例文や前記消極的事例文を与え,その不確定の語句(前記特殊記号)以外の部分の内容の一致度が高い文を検索したいというニーズや,検索結果から前記不確定の語句(前記特殊記号)以外の部分の内容の一致度が高い文を除外したいというニーズに対応することができる。
また,本発明に係る文検索装置が,さらに,次の(8)に示す構成要素を備え,かつ,前記事例一致度算出手段が次の(9)に示す処理を実行すればなお好適である。
(8)前記検索対象文,前記積極的事例文及び前記消極的事例文それぞれに含まれる語句について,記憶手段に記憶されたシソーラス辞書の情報に基づいてカテゴリを判別するカテゴリ判別手段。
(9)前記事例一致度算出手段が,前記構文解析結果情報の比較において比較対象となる2つの語句の一致を判別する際に,該2つの語句が一致しない場合には該2つの語句について前記カテゴリ判別手段により判別されたカテゴリの比較によって語句の一致を判別する。
これにより,2つの文の一致度を算出する際に,比較対象となる2つの語句(属性が一致する語句)が表現において異なる場合でも,その語句の意味を広く解釈すれば実質的な意味が同じ或いは類語である(前記シソーラス辞書における前記カテゴリが同じである)場合には,その2つの語句の一致度合いが比較的高い(完全な不一致ではない)として処理され,より柔軟な検索が行われる。なお,シソーラス辞書は,語句(単語)と,語句の上位/下位の関係や同義関係,類義関係等によって分類されたカテゴリ(の識別情報)との対応関係を表す周知の概念辞書である。
また,本発明は,以上に示した本発明に係る文検索装置が備える各構成要素が実行する処理をコンピュータに実行させるための文検索プログラム(予め記憶手段に記憶された複数の検索対象文の中から所望の文を検索し,検索結果を情報出力手段を通じて出力する処理をコンピュータに実行させるための文検索プログラム)として捉えることもできる。
同様に,本発明は,以上に示した本発明に係る文検索装置が備える各構成要素が実行する処理をコンピュータによって実行する文検索方法(予め記憶手段に記憶された複数の検索対象文の中から所望の文を検索し,検索結果を情報出力手段を通じて出力する処理をコンピュータに実行する文検索方法)として捉えることもできる。
(8)前記検索対象文,前記積極的事例文及び前記消極的事例文それぞれに含まれる語句について,記憶手段に記憶されたシソーラス辞書の情報に基づいてカテゴリを判別するカテゴリ判別手段。
(9)前記事例一致度算出手段が,前記構文解析結果情報の比較において比較対象となる2つの語句の一致を判別する際に,該2つの語句が一致しない場合には該2つの語句について前記カテゴリ判別手段により判別されたカテゴリの比較によって語句の一致を判別する。
これにより,2つの文の一致度を算出する際に,比較対象となる2つの語句(属性が一致する語句)が表現において異なる場合でも,その語句の意味を広く解釈すれば実質的な意味が同じ或いは類語である(前記シソーラス辞書における前記カテゴリが同じである)場合には,その2つの語句の一致度合いが比較的高い(完全な不一致ではない)として処理され,より柔軟な検索が行われる。なお,シソーラス辞書は,語句(単語)と,語句の上位/下位の関係や同義関係,類義関係等によって分類されたカテゴリ(の識別情報)との対応関係を表す周知の概念辞書である。
また,本発明は,以上に示した本発明に係る文検索装置が備える各構成要素が実行する処理をコンピュータに実行させるための文検索プログラム(予め記憶手段に記憶された複数の検索対象文の中から所望の文を検索し,検索結果を情報出力手段を通じて出力する処理をコンピュータに実行させるための文検索プログラム)として捉えることもできる。
同様に,本発明は,以上に示した本発明に係る文検索装置が備える各構成要素が実行する処理をコンピュータによって実行する文検索方法(予め記憶手段に記憶された複数の検索対象文の中から所望の文を検索し,検索結果を情報出力手段を通じて出力する処理をコンピュータに実行する文検索方法)として捉えることもできる。
本発明によれば,複数の検索対象文の中から,積極的な検索条件を表す入力文(前記積極的事例文)に対し文としての内容(構文解析の結果)の一致度が高い文を検索したいというニーズや,消極的な検索条件を表す入力文(前記消極的事例文)と文としての内容(構文解析の結果)の一致度が高い文を検索結果から除外したいというニーズ,さらには,あえて一部に不確定の語句(主語や述語等)を含む不完全な入力文を与え,その不確定の語句以外の部分の内容の一致度が高い文やその文における前記不確定の語句に対応する語句を抽出したいというニーズに対応することができる。
以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。
ここに,図1は本発明の実施形態に係る文検索装置X(コンピュータ)の概略構成を表すブロック図,図2は文検索装置Xによる文検索処理の手順を表すフローチャート,図3は文検索装置Xが表示装置に表示させる初期画面の一例を表す図,図4は検索対象文の構文解析処理のプロセス及び処理結果の一例を表す図,図5は文検索装置Xが表示装置に表示させる検索結果表示画面の一例を表す図である。
ここに,図1は本発明の実施形態に係る文検索装置X(コンピュータ)の概略構成を表すブロック図,図2は文検索装置Xによる文検索処理の手順を表すフローチャート,図3は文検索装置Xが表示装置に表示させる初期画面の一例を表す図,図4は検索対象文の構文解析処理のプロセス及び処理結果の一例を表す図,図5は文検索装置Xが表示装置に表示させる検索結果表示画面の一例を表す図である。
まず,図1を参照しつつ,本発明の実施形態に係る文検索装置Xの構成について説明する。
文検索装置Xは,予めハードディスク等の記憶手段に記憶された複数の検索対象文の中から,その検索対象文と検索条件として入力される2種類の文(後述する正事例文と負事例文)との間で文内容を比較することによって所望の文(検索対象文)を検索して出力する処理を実行するコンピュータである。即ち,コンピュータが備えるCPU1が,予め記憶手段に記憶された文検索プログラム10を実行することにより,そのコンピュータが文検索装置Xとして機能する。言い換えると,前記文検索プログラム10は,コンピュータを文検索装置Xとして機能させるためのプログラムである。
図1に示すように,文検索装置Xは,CPU1,RAM2,ROM3,入力装置4,表示装置5及びデータ記憶部7等を備えている。
前記CPU1は,各種プログラムを実行することにより各種の演算処理を行う演算装置(プロセッサ)である。前記RAM2は,前記CPU1により実行されるプログラムや一時記憶データが展開される高速メモリである。前記ROM3は,前記CPU1により実行されるBIOS等のプログラムが予め記憶された不揮発性メモリである。前記入力装置4は,キーボードやマウス等,操作部に対する操作に応じて情報を入力する情報入力手段である。前記表示装置5は,前記CPU1による演算結果等の各種情報を映像として出力する液晶表示パネルやCRT等である。前記データ記憶部7は,前記CPU1により実行或いは参照される前記文検索プログラム10や各種情報が記憶されるハードディスク等の情報記憶手段である。
このデータ記憶部7には,検索対象データD0,正事例文情報D1,負事例文情報D2,検索文解析結果情報D3,正事例文解析結果情報D4,負事例文解析結果情報D5,構文解析辞書情報D6及びシソーラス辞書情報D7などの情報が記憶される他,前記CPU1により実行される文検索プログラム10も記憶される。なお,文検索プログラム10には,周知の構文解析プログラム(プログラムモジュール)も含まれる。なお,前記検索文解析結果情報D3,前記正事例文解析結果情報D4及び前記負事例文解析結果情報D5を総称して構文解析結果情報D3〜D5という。
なお,前記データ記憶部7には,当該文検索装置X(コンピュータ)を構成する各ハードウェアと前記文検索プログラム10を含む各種アプリケーションプログラムとの間の中継処理を行うOS(オペレーションシステム)及びファイルシステムのプログラムも記憶されている(不図示)。
文検索装置Xは,予めハードディスク等の記憶手段に記憶された複数の検索対象文の中から,その検索対象文と検索条件として入力される2種類の文(後述する正事例文と負事例文)との間で文内容を比較することによって所望の文(検索対象文)を検索して出力する処理を実行するコンピュータである。即ち,コンピュータが備えるCPU1が,予め記憶手段に記憶された文検索プログラム10を実行することにより,そのコンピュータが文検索装置Xとして機能する。言い換えると,前記文検索プログラム10は,コンピュータを文検索装置Xとして機能させるためのプログラムである。
図1に示すように,文検索装置Xは,CPU1,RAM2,ROM3,入力装置4,表示装置5及びデータ記憶部7等を備えている。
前記CPU1は,各種プログラムを実行することにより各種の演算処理を行う演算装置(プロセッサ)である。前記RAM2は,前記CPU1により実行されるプログラムや一時記憶データが展開される高速メモリである。前記ROM3は,前記CPU1により実行されるBIOS等のプログラムが予め記憶された不揮発性メモリである。前記入力装置4は,キーボードやマウス等,操作部に対する操作に応じて情報を入力する情報入力手段である。前記表示装置5は,前記CPU1による演算結果等の各種情報を映像として出力する液晶表示パネルやCRT等である。前記データ記憶部7は,前記CPU1により実行或いは参照される前記文検索プログラム10や各種情報が記憶されるハードディスク等の情報記憶手段である。
このデータ記憶部7には,検索対象データD0,正事例文情報D1,負事例文情報D2,検索文解析結果情報D3,正事例文解析結果情報D4,負事例文解析結果情報D5,構文解析辞書情報D6及びシソーラス辞書情報D7などの情報が記憶される他,前記CPU1により実行される文検索プログラム10も記憶される。なお,文検索プログラム10には,周知の構文解析プログラム(プログラムモジュール)も含まれる。なお,前記検索文解析結果情報D3,前記正事例文解析結果情報D4及び前記負事例文解析結果情報D5を総称して構文解析結果情報D3〜D5という。
なお,前記データ記憶部7には,当該文検索装置X(コンピュータ)を構成する各ハードウェアと前記文検索プログラム10を含む各種アプリケーションプログラムとの間の中継処理を行うOS(オペレーションシステム)及びファイルシステムのプログラムも記憶されている(不図示)。
次に,図2に示されるフローチャートを参照しつつ,前記文検索装置XのCPU1が前記文検索プログラム10を実行することによって実現される文検索処理の手順について説明する。なお,以下に示すS1,S2,…は,前記CPU1が実行する処理の手順(ステップ)の識別符号を表す。
<ステップS1,S2>
まず,CPU1は,各種ワーク変数を初期化する処理を実行する(S1)。この文検索処理で用いられワーク変数(ステップS1で初期化される変数)としては,構文解析の結果の情報が設定される解析結果変数S,P,カウンタ変数i,j,k,後述する評価値を表す変数Ri(評価値Ri),検索対象文を検索した結果の情報が設定される変数y,検索対象文から所定の条件に基づき抽出された語句が設定される変数z等がある。
次に,CPU1は,所定の初期画面g0(図3参照)を前記表示装置5に表示させ,その初期画面g0の表示中における前記入力装置4に対する操作入力に応じて,次の(S2−1)〜(S2−3)に示す各処理を実行する(S2)。
(S2−1)複数の検索対象文を含む前記検索対象データD0を指定する処理。
(S2−2)一又は複数の正事例文の情報(前記正事例文情報D1)及び一又は複数の負事例文の情報(前記負事例文情報D2)を入力して前記データ記憶部7に記録する(記憶させる)処理。
(S2−3)検索処理の開始操作を検知する処理。
ここで,一方の前記正事例文は,検索結果に含めたい文を例示する文であり(前記積極的事例文に相当),他方の前記負事例文は,検索結果から除外したい文を例示する文(前記消極的事例文に相当)である。
なお,ステップS2の処理を実行するCPU1が,前記積極的事例文情報入力手段及び前記消極的事例文情報入力手段の一例である。
<ステップS1,S2>
まず,CPU1は,各種ワーク変数を初期化する処理を実行する(S1)。この文検索処理で用いられワーク変数(ステップS1で初期化される変数)としては,構文解析の結果の情報が設定される解析結果変数S,P,カウンタ変数i,j,k,後述する評価値を表す変数Ri(評価値Ri),検索対象文を検索した結果の情報が設定される変数y,検索対象文から所定の条件に基づき抽出された語句が設定される変数z等がある。
次に,CPU1は,所定の初期画面g0(図3参照)を前記表示装置5に表示させ,その初期画面g0の表示中における前記入力装置4に対する操作入力に応じて,次の(S2−1)〜(S2−3)に示す各処理を実行する(S2)。
(S2−1)複数の検索対象文を含む前記検索対象データD0を指定する処理。
(S2−2)一又は複数の正事例文の情報(前記正事例文情報D1)及び一又は複数の負事例文の情報(前記負事例文情報D2)を入力して前記データ記憶部7に記録する(記憶させる)処理。
(S2−3)検索処理の開始操作を検知する処理。
ここで,一方の前記正事例文は,検索結果に含めたい文を例示する文であり(前記積極的事例文に相当),他方の前記負事例文は,検索結果から除外したい文を例示する文(前記消極的事例文に相当)である。
なお,ステップS2の処理を実行するCPU1が,前記積極的事例文情報入力手段及び前記消極的事例文情報入力手段の一例である。
図3は,前記初期画面g0の一例である。
前記初期画面g0には,検索対象フォルダ名入力枠g1と,参照ボタンg2と,検索結果表示枠g3と,抽出語句表示枠g4と,正事例文入力枠g5と,負事例文入力枠g6と,検索実行ボタンg7とが含まれる。
ステップS2において,複数の検索対象文を含む前記検索対象データD0を指定する処理は,そのデータが存在するフォルダ名(以下,検索対象フォルダ名という)を入力する処理である。
図3における前記検索対象フォルダ名入力枠g1は,前記検索対象フォルダ名の入力枠(情報入力枠)である。CPU1は,この検索対象フォルダ名入力枠g1に対し前記入力装置4におけるキーボードを通じて入力されたフォルダ名を前記検索対象フォルダ名として入力する処理の他,前記参照ボタンg2の操作に応じて前記初期画面g0に前記データ記憶部7内のフォルダ名のリスト(選択肢)を表示させ,そのリストの中から前記入力装置4におけるマウス等を通じた選択操作に応じて1つ又は複数のフォルダ名を選択し,選択したフォルダ名を前記検索対象フォルダ名として入力す処理も実行する。以後,CPU1は,入力された前記検索対象フォルダ名により特定されるフォルダ内に存在する1又は複数の文書データを参照し,その文書データに含まれる複数の文を検索対象文として文検索処理を実行する。
また,ステップS2において,CPU1が実行する前記正事例文情報D1の入力処理は,前記正事例文入力枠g5に対し前記入力装置4におけるキーボードを通じて入力された1つ又は複数の文を前記正事例文として入力する処理である。同様に,CPU1が実行する前記負事例文情報D2の入力処理は,前記負事例文入力枠g6に対し前記入力装置4におけるキーボードを通じて入力された1つ又は複数の文を前記正事例文として入力する処理である。
なお,CPU1が,不図示の通信手段(通信インターフェース)を通じて外部装置から前記検索対象フォルダ名,前記正事例文及び前記負事例文の各情報を入力することや,ハードディスクやDVD等の情報記録媒体に記録(記憶)された情報を読み出すことにより同情報を入力すること等も考えられる。
また,ステップS2において,CPU1が実行する検索処理の開始操作の検知処理は,前記初期画面g0における前記検索実行ボタンg7が前記入力装置4におけるマウス等によって操作されたことを検知する処理である。
前記初期画面g0には,検索対象フォルダ名入力枠g1と,参照ボタンg2と,検索結果表示枠g3と,抽出語句表示枠g4と,正事例文入力枠g5と,負事例文入力枠g6と,検索実行ボタンg7とが含まれる。
ステップS2において,複数の検索対象文を含む前記検索対象データD0を指定する処理は,そのデータが存在するフォルダ名(以下,検索対象フォルダ名という)を入力する処理である。
図3における前記検索対象フォルダ名入力枠g1は,前記検索対象フォルダ名の入力枠(情報入力枠)である。CPU1は,この検索対象フォルダ名入力枠g1に対し前記入力装置4におけるキーボードを通じて入力されたフォルダ名を前記検索対象フォルダ名として入力する処理の他,前記参照ボタンg2の操作に応じて前記初期画面g0に前記データ記憶部7内のフォルダ名のリスト(選択肢)を表示させ,そのリストの中から前記入力装置4におけるマウス等を通じた選択操作に応じて1つ又は複数のフォルダ名を選択し,選択したフォルダ名を前記検索対象フォルダ名として入力す処理も実行する。以後,CPU1は,入力された前記検索対象フォルダ名により特定されるフォルダ内に存在する1又は複数の文書データを参照し,その文書データに含まれる複数の文を検索対象文として文検索処理を実行する。
また,ステップS2において,CPU1が実行する前記正事例文情報D1の入力処理は,前記正事例文入力枠g5に対し前記入力装置4におけるキーボードを通じて入力された1つ又は複数の文を前記正事例文として入力する処理である。同様に,CPU1が実行する前記負事例文情報D2の入力処理は,前記負事例文入力枠g6に対し前記入力装置4におけるキーボードを通じて入力された1つ又は複数の文を前記正事例文として入力する処理である。
なお,CPU1が,不図示の通信手段(通信インターフェース)を通じて外部装置から前記検索対象フォルダ名,前記正事例文及び前記負事例文の各情報を入力することや,ハードディスクやDVD等の情報記録媒体に記録(記憶)された情報を読み出すことにより同情報を入力すること等も考えられる。
また,ステップS2において,CPU1が実行する検索処理の開始操作の検知処理は,前記初期画面g0における前記検索実行ボタンg7が前記入力装置4におけるマウス等によって操作されたことを検知する処理である。
<ステップS3>
そして,CPU1は,検索処理の開始操作があったことを検知すると,前記検索対象データD0内の検索対象文,前記正事例文及び前記負事例文それぞれについて,周知の構文解析処理を施すことによって文中における文法上の属性と語句との対応関係を表す構文解析結果情報である前記検索文解析結果情報D3,前記正事例文解析結果情報D4及び前記負事例文解析結果情報D5を生成し,それらの情報D3〜D5を前記データ記憶部7に記録する(S3,前記構文解析手段の一例)。このステップS3の処理は,CPU1が,周知の構文解析プログラムを実行することによって実現される。
そして,CPU1は,検索処理の開始操作があったことを検知すると,前記検索対象データD0内の検索対象文,前記正事例文及び前記負事例文それぞれについて,周知の構文解析処理を施すことによって文中における文法上の属性と語句との対応関係を表す構文解析結果情報である前記検索文解析結果情報D3,前記正事例文解析結果情報D4及び前記負事例文解析結果情報D5を生成し,それらの情報D3〜D5を前記データ記憶部7に記録する(S3,前記構文解析手段の一例)。このステップS3の処理は,CPU1が,周知の構文解析プログラムを実行することによって実現される。
以下,構文解析処理の一例について説明する。なお,構文解析処理の対象となる前記検索対象文,前記正事例文及び前記負事例文(それぞれ,句点により区切られた文)のことを解析対象文と称する。
例えば,前記CPU1は,前記解析対象文について,周知の形態素解析処理を実行し,その解析結果を前記データ記憶部7に一次的に記録する。これにより,前記解析対象文が語句(単語)ごとに区分され,その結果がデータ記憶部7に記録される。
さらに,CPU1は,形態素解析処理の結果をデータ記憶部7から読み出しつつ,周知の係り受け解析処理等を実行することにより,前記解析対象文を,それに含まれる単文ごとに,前記解析対象文の文中における文法上の属性と,その単文に含まれる語句との対応関係を表す解析結果情報(前記検索文解析結果情報D3,前記正事例文解析結果情報D4,及び前記負事例文解析結果情報D5)を生成する。その解析結果情報D3〜D5は,単文ごとに1つのレコードが構成され,そのレコードは,その単文が属する前記解析対象文の識別番号のフィールド(文番号フィールド),及び複数の文法上の属性ごとに設定された複数のフィールド(属性フィールド)それぞれに対応づけられたデータの集合である。
例えば,前記解析対象文が,「彼が来た。」という文のように,主節一つからのみ構成される文(単文)である場合,その解析対象文の解析結果情報は一つのレコードに展開される。一方,前記解析対象文が,「彼が加入したことにより,作業が円滑化した。」という文のように,複数(この例では,2つ)の単文が接続詞でつながれているような複文である場合や,「彼が帰り,彼女が来た。」という文のように複数(この例では2つ)の単文が並列された「重文」である場合には,その解析対象文の解析結果情報は,単文ごとの複数のレコードに展開される。
ここで,文法上の属性(構文解析結果情報D3〜D5における属性フィールド)としては,文法上の格(ハ格,ガ格,ヲ格など),品詞(形容詞,動詞など),語句の時制(現在形,過去形等),受動態か能動態か,肯定形の語句か否定形の語句か,及び1つの文に複数の単文が含まれる場合におけるある語句が属する単文の他の単文に対する文法上の階層関係の深さ等が考えられる。
例えば,前記CPU1は,前記解析対象文について,周知の形態素解析処理を実行し,その解析結果を前記データ記憶部7に一次的に記録する。これにより,前記解析対象文が語句(単語)ごとに区分され,その結果がデータ記憶部7に記録される。
さらに,CPU1は,形態素解析処理の結果をデータ記憶部7から読み出しつつ,周知の係り受け解析処理等を実行することにより,前記解析対象文を,それに含まれる単文ごとに,前記解析対象文の文中における文法上の属性と,その単文に含まれる語句との対応関係を表す解析結果情報(前記検索文解析結果情報D3,前記正事例文解析結果情報D4,及び前記負事例文解析結果情報D5)を生成する。その解析結果情報D3〜D5は,単文ごとに1つのレコードが構成され,そのレコードは,その単文が属する前記解析対象文の識別番号のフィールド(文番号フィールド),及び複数の文法上の属性ごとに設定された複数のフィールド(属性フィールド)それぞれに対応づけられたデータの集合である。
例えば,前記解析対象文が,「彼が来た。」という文のように,主節一つからのみ構成される文(単文)である場合,その解析対象文の解析結果情報は一つのレコードに展開される。一方,前記解析対象文が,「彼が加入したことにより,作業が円滑化した。」という文のように,複数(この例では,2つ)の単文が接続詞でつながれているような複文である場合や,「彼が帰り,彼女が来た。」という文のように複数(この例では2つ)の単文が並列された「重文」である場合には,その解析対象文の解析結果情報は,単文ごとの複数のレコードに展開される。
ここで,文法上の属性(構文解析結果情報D3〜D5における属性フィールド)としては,文法上の格(ハ格,ガ格,ヲ格など),品詞(形容詞,動詞など),語句の時制(現在形,過去形等),受動態か能動態か,肯定形の語句か否定形の語句か,及び1つの文に複数の単文が含まれる場合におけるある語句が属する単文の他の単文に対する文法上の階層関係の深さ等が考えられる。
図4は,前記解析対象文についての構文解析処理(係り受け解析処理等)のプロセス及び処理結果の一例を表す図である。
例えば,「本を買った店は有名だ。」という文について構文解析処理が実行された場合について説明する。
この場合,CPU1は,前記構文解析辞書情報D6の参照により品詞が動詞である語句「だ」を特定し,この動詞「だ」を含む深さd34が第0層の節(即ち,主節)「有名だ」を特定する。さらに,CPU1は,前記構文解析辞書情報D6の参照により品詞が動詞である語句「買った」を特定し,この動詞「買った」を含む深さd34が第2層の節「本を買った」を特定する。
このように,CPU1は,構文解析処理を実行することにより,前記解析対象文それぞれについて,その文に含まれる単文(節)の前記解析対象文の文中における階層の深さd34(他の単文に対する文法上の階層関係の深さ)を判別し,その判別結果を「深さフィールド」(属性フィールドの一例)のデータとして前記データ記憶部7に記録する。この深さd34は,その値(内容)が0層であるか否かにより,その単文(節)が主節であるか否かを特定する情報でもある。
例えば,「本を買った店は有名だ。」という文について構文解析処理が実行された場合について説明する。
この場合,CPU1は,前記構文解析辞書情報D6の参照により品詞が動詞である語句「だ」を特定し,この動詞「だ」を含む深さd34が第0層の節(即ち,主節)「有名だ」を特定する。さらに,CPU1は,前記構文解析辞書情報D6の参照により品詞が動詞である語句「買った」を特定し,この動詞「買った」を含む深さd34が第2層の節「本を買った」を特定する。
このように,CPU1は,構文解析処理を実行することにより,前記解析対象文それぞれについて,その文に含まれる単文(節)の前記解析対象文の文中における階層の深さd34(他の単文に対する文法上の階層関係の深さ)を判別し,その判別結果を「深さフィールド」(属性フィールドの一例)のデータとして前記データ記憶部7に記録する。この深さd34は,その値(内容)が0層であるか否かにより,その単文(節)が主節であるか否かを特定する情報でもある。
さらに,CPU1は,構文解析処理において,前記構文解析辞書情報D6の参照により,前記解析対象文に含まれる語句それぞれの品詞d25と,品詞が動詞である語句それぞれの時制d36とを自動判別し,その判別結果を品詞フィールド(動詞フィールド,形容詞フィールド等)や時制フィールド(属性フィールドの一例)のデータとして前記データ記憶部7に記録する。
また,前記CPU1は,構文解析処理を実行して前記構文解析辞書情報D6を参照することにより,品詞d25が名詞である語句とその語句に付加されている助詞の語句とを特定し,さらに,その組み合わせに基づいて語句の文法上の格d55(ハ格,ガ格,ヲ格など)を特定し,その特定結果を格フィールド(ハ格フィールド,ガ格フィールド,ヲ格フィールド等)のデータとして前記データ記憶部7に記録する。なお,図4における「ハ格」,「ガ格」及び「ヲ格」は,それぞれ「未格」,「主格」及び「目的格」と同義である。このように,構文解析結果情報D3〜D5は,文中における文法上の属性と語句との対応関係を表す情報である。
なお,図4には図示されていないが,CPU1は,構文解析処理を実行して前記構文解析辞書情報D6を参照することにより,前記解析対象文に含まれる各語句について,品詞が動詞である語句が受動態であるか能動態であるか,及び肯定形の語句(「…である」等)であるか否定形の語句(「…ではない」等)であるかについても自動判別し,その判別結果を対応する属性フィールドのデータとして前記データ記憶部7に記録する。
ここで,「語句が否定形である」ということは,品詞が動詞である語句に付随する語句が否定形の属性を有すること,即ち,品詞が動詞である語句に,当該文が否定文であることを表す語句が付随していること,と等価であり,それ以外の状態が,「語句が肯定形である」状態である。従って,肯定形の語句であるか否定形の語句であるかの情報は,当該文が肯定文であるか否定文であるかを表す情報である。例えば,構文解析処理において,「停止せず」という動詞の語句は,「停止」+「する」+「ぬ」という語句に分解され,動詞の語句に「ぬ」という否定形の語句(否定の助動詞)が付随しているため,「停止せず」という語句を含む文は,否定文であると判別される。
以上のようにしてCPU1は,ステップS3において,前記検索対象文それぞれについての構文解析結果の情報である前記検索文解析結果情報D3と,前記正事例文それぞれについての構文解析結果の情報である前記正事例文解析結果情報D4と,前負事例文それぞれについての構文解析結果の情報である前記負事例文解析結果情報D5とを生成し,それらを前記データ記憶部7に記録する。
また,前記CPU1は,構文解析処理を実行して前記構文解析辞書情報D6を参照することにより,品詞d25が名詞である語句とその語句に付加されている助詞の語句とを特定し,さらに,その組み合わせに基づいて語句の文法上の格d55(ハ格,ガ格,ヲ格など)を特定し,その特定結果を格フィールド(ハ格フィールド,ガ格フィールド,ヲ格フィールド等)のデータとして前記データ記憶部7に記録する。なお,図4における「ハ格」,「ガ格」及び「ヲ格」は,それぞれ「未格」,「主格」及び「目的格」と同義である。このように,構文解析結果情報D3〜D5は,文中における文法上の属性と語句との対応関係を表す情報である。
なお,図4には図示されていないが,CPU1は,構文解析処理を実行して前記構文解析辞書情報D6を参照することにより,前記解析対象文に含まれる各語句について,品詞が動詞である語句が受動態であるか能動態であるか,及び肯定形の語句(「…である」等)であるか否定形の語句(「…ではない」等)であるかについても自動判別し,その判別結果を対応する属性フィールドのデータとして前記データ記憶部7に記録する。
ここで,「語句が否定形である」ということは,品詞が動詞である語句に付随する語句が否定形の属性を有すること,即ち,品詞が動詞である語句に,当該文が否定文であることを表す語句が付随していること,と等価であり,それ以外の状態が,「語句が肯定形である」状態である。従って,肯定形の語句であるか否定形の語句であるかの情報は,当該文が肯定文であるか否定文であるかを表す情報である。例えば,構文解析処理において,「停止せず」という動詞の語句は,「停止」+「する」+「ぬ」という語句に分解され,動詞の語句に「ぬ」という否定形の語句(否定の助動詞)が付随しているため,「停止せず」という語句を含む文は,否定文であると判別される。
以上のようにしてCPU1は,ステップS3において,前記検索対象文それぞれについての構文解析結果の情報である前記検索文解析結果情報D3と,前記正事例文それぞれについての構文解析結果の情報である前記正事例文解析結果情報D4と,前負事例文それぞれについての構文解析結果の情報である前記負事例文解析結果情報D5とを生成し,それらを前記データ記憶部7に記録する。
また,CPU1は,構文解析処理を実行した文(各単文が属する文)それぞれの識別子である文番号d41も,各レコードに対応づけて解析結果情報D3〜D5に含める。なお,図4に示す例では,各構文解析結果情報D3〜D5に含められる各語句は基本形で表現されたもの(見出し語表現)である。例えば,品詞が動詞である語句については,その時制が現在である場合の表現で表される。前記CPU1は,前記構文解析辞書情報D6に含まれる語句の基本形(見出し表現)と活用形(過去形表現,受動態表現等)との対応関係の情報に基づいて,語句の見出し語表現を特定する。
<ステップS4>
以上に示したような構文解析処理が終了すると,次に,CPU1は,構文解析処理によって区分された語句(前記検索対象文情報D0,前記正事例文情報D1及び前記負事例文情報D2に含まれる語句)それぞれについて,前記シソーラス辞書情報D7に基づいてそのカテゴリD26を判別し,その判別結果を判別対象となった語句に対応づけて構文解析結果情報D3〜D5に含めて前記データ記憶部7に記録する(図4参照)。
前述したように,前記シソーラス辞書情報D7は,複数の語句とその語句それぞれのカテゴリの識別情報(同義語及び類義語の区分ごとに割り当てられた識別情報)とが対応付けられた周知の概念辞書の情報である。
例えば,前記シソーラス辞書情報D7においては,「発揮」,「表面化」,「登場」等の複数の語句が同じカテゴリ(の識別情報)に対応づけられている。
以上に示したような構文解析処理が終了すると,次に,CPU1は,構文解析処理によって区分された語句(前記検索対象文情報D0,前記正事例文情報D1及び前記負事例文情報D2に含まれる語句)それぞれについて,前記シソーラス辞書情報D7に基づいてそのカテゴリD26を判別し,その判別結果を判別対象となった語句に対応づけて構文解析結果情報D3〜D5に含めて前記データ記憶部7に記録する(図4参照)。
前述したように,前記シソーラス辞書情報D7は,複数の語句とその語句それぞれのカテゴリの識別情報(同義語及び類義語の区分ごとに割り当てられた識別情報)とが対応付けられた周知の概念辞書の情報である。
例えば,前記シソーラス辞書情報D7においては,「発揮」,「表面化」,「登場」等の複数の語句が同じカテゴリ(の識別情報)に対応づけられている。
<ステップS5,S6>
そして,以上に示したステップS1〜S4の処理が終了すると,CPU1は,カウンタ変数i(初期値は1)を参照し,前記検索対象文情報D0にi番目の検索対象文が存在するか否かを判別する(S5)。
ここで,i番目の検索対象文が存在する場合,CPU1は,前記検索文解析結果情報D3の中から,そのi番目の検索対象文についての構文解析結果である語句とその語句の属性との組合せ(フィールドとレコードのデータとの組合せ)を変数Sに代入する(S6)。これにより,変数Sに割り当てられたRAM2の記憶領域に構文解析結果が記憶される。但し,対応する前記カテゴリd26(前記シソーラス辞書情報に基づき判別されたカテゴリ)が存在する語句については,そのカテゴリd26も,語句と対応づけて変数Sに代入される。また,i番目の検索対象文に複数の単文が含まれる場合には,各単文に対応する複数のレコードのデータが変数Sに代入される。
その後,CPU1は,以下に示すように,i番目の前記検索対象文について,前記正事例文それぞれと一致する度合いを評価する処理(S7〜S12)を実行する。
そして,以上に示したステップS1〜S4の処理が終了すると,CPU1は,カウンタ変数i(初期値は1)を参照し,前記検索対象文情報D0にi番目の検索対象文が存在するか否かを判別する(S5)。
ここで,i番目の検索対象文が存在する場合,CPU1は,前記検索文解析結果情報D3の中から,そのi番目の検索対象文についての構文解析結果である語句とその語句の属性との組合せ(フィールドとレコードのデータとの組合せ)を変数Sに代入する(S6)。これにより,変数Sに割り当てられたRAM2の記憶領域に構文解析結果が記憶される。但し,対応する前記カテゴリd26(前記シソーラス辞書情報に基づき判別されたカテゴリ)が存在する語句については,そのカテゴリd26も,語句と対応づけて変数Sに代入される。また,i番目の検索対象文に複数の単文が含まれる場合には,各単文に対応する複数のレコードのデータが変数Sに代入される。
その後,CPU1は,以下に示すように,i番目の前記検索対象文について,前記正事例文それぞれと一致する度合いを評価する処理(S7〜S12)を実行する。
<ステップS7〜S9>
まず,CPU1は,カウンタ変数j(初期値は1)を参照し,前記正事例文情報D1にj番目の正事例文が存在するか否かを判別する(S7)。
ここで,j番目の正事例文が存在する場合,CPU1は,前記正事例文解析結果情報D4の中から,そのj番目の正事例文についての構文解析結果であるレコードのデータを変数Pに代入する(S8)。但し,対応する前記カテゴリd26が存在する語句については,そのカテゴリd26も,語句と対応づけて変数Pに代入される。また,j番目の正事例文に複数の単文が含まれる場合には,各単文に対応する複数のレコードのデータが変数Pに代入される。
次に,CPU1は,変数Sに代入された検索対象文の構文解析結果と変数Pに代入された前記正事例文の構文解析結果とを比較し,それぞれの構文解析結果における語句とその語句の文法上の属性との組合せの一致の程度を表す正事例文一致度E1ij(S・P間の文一致度)を算出する(S9,前記事例一致度算出手段の一例)。より具体的には,CPU1は,検索対象文の構文解析結果(変数Sの内容)と前記正事例文の構文解析結果(変数Pの内容)との間で,語句(レコードのデータ)とその語句の文法上の属性(レコードのデータに対応すふフィールド)との組合せを順次比較し,その組合せが一致するごとに前記正事例文一致度E1ijの値を増加させる。
また,CPU1は,構文解析結果S,P間の比較において比較対象となる2つの語句の一致を判別する際に,それら2つの語句が一致しない場合には,それら2つの語句についてステップS4で判別した前記カテゴリd26の比較によって語句の一致を判別する。但し,比較対象となる2つの語句そのものが一致する(このとき,当然に前記カテゴリ26も一致する)場合と,それら2つの語句そのものは一致しないが対応する前記カテゴリ26が一致する場合とで,前記正事例文一致度E1ijの加算値(増加値)を異なる値とする(語句そのものが一致する場合の加算値の方が大きな値とする)ことが望ましい。もちろん,語句又はそのカテゴリが一致しても,その語句と文法上の属性との組合せとして一致していなければ,前記正事例文一致度E1ijは増加させない。この点が,従来のキーワード検索と異なる点である。
また,構文解析結果S,P間の比較において,比較対象となる属性(フィールド)ごとに,予め前記正事例文一致度E1ijの加算値(増加値)に対する重みを設定しておくことも考えられる。例えば,「ハ格」,「ガ格」,「ヲ格」,「動詞」等の文法上の属性(フィールド)は,文の内容を大きく左右する重要な語句の属性であるため,それらの属性についての重みを,他の属性についての重みよりも高く設定しておくことが考えられる。
なお,CPU1(前記事例一致度算出手段)は,ステップS10において,前記正事例文に後述する特殊記号(不確定の語句を意味する記号)が含まれる場合,前記正事例文における前記特殊記号については,前記検索対象文における比較対象となる語句と一致するものとして前記正事例一致度E1ijを算出する。
まず,CPU1は,カウンタ変数j(初期値は1)を参照し,前記正事例文情報D1にj番目の正事例文が存在するか否かを判別する(S7)。
ここで,j番目の正事例文が存在する場合,CPU1は,前記正事例文解析結果情報D4の中から,そのj番目の正事例文についての構文解析結果であるレコードのデータを変数Pに代入する(S8)。但し,対応する前記カテゴリd26が存在する語句については,そのカテゴリd26も,語句と対応づけて変数Pに代入される。また,j番目の正事例文に複数の単文が含まれる場合には,各単文に対応する複数のレコードのデータが変数Pに代入される。
次に,CPU1は,変数Sに代入された検索対象文の構文解析結果と変数Pに代入された前記正事例文の構文解析結果とを比較し,それぞれの構文解析結果における語句とその語句の文法上の属性との組合せの一致の程度を表す正事例文一致度E1ij(S・P間の文一致度)を算出する(S9,前記事例一致度算出手段の一例)。より具体的には,CPU1は,検索対象文の構文解析結果(変数Sの内容)と前記正事例文の構文解析結果(変数Pの内容)との間で,語句(レコードのデータ)とその語句の文法上の属性(レコードのデータに対応すふフィールド)との組合せを順次比較し,その組合せが一致するごとに前記正事例文一致度E1ijの値を増加させる。
また,CPU1は,構文解析結果S,P間の比較において比較対象となる2つの語句の一致を判別する際に,それら2つの語句が一致しない場合には,それら2つの語句についてステップS4で判別した前記カテゴリd26の比較によって語句の一致を判別する。但し,比較対象となる2つの語句そのものが一致する(このとき,当然に前記カテゴリ26も一致する)場合と,それら2つの語句そのものは一致しないが対応する前記カテゴリ26が一致する場合とで,前記正事例文一致度E1ijの加算値(増加値)を異なる値とする(語句そのものが一致する場合の加算値の方が大きな値とする)ことが望ましい。もちろん,語句又はそのカテゴリが一致しても,その語句と文法上の属性との組合せとして一致していなければ,前記正事例文一致度E1ijは増加させない。この点が,従来のキーワード検索と異なる点である。
また,構文解析結果S,P間の比較において,比較対象となる属性(フィールド)ごとに,予め前記正事例文一致度E1ijの加算値(増加値)に対する重みを設定しておくことも考えられる。例えば,「ハ格」,「ガ格」,「ヲ格」,「動詞」等の文法上の属性(フィールド)は,文の内容を大きく左右する重要な語句の属性であるため,それらの属性についての重みを,他の属性についての重みよりも高く設定しておくことが考えられる。
なお,CPU1(前記事例一致度算出手段)は,ステップS10において,前記正事例文に後述する特殊記号(不確定の語句を意味する記号)が含まれる場合,前記正事例文における前記特殊記号については,前記検索対象文における比較対象となる語句と一致するものとして前記正事例一致度E1ijを算出する。
<ステップS10〜S12>
次に,CPU1は,i番目の検索対象文とj番目の正事例文との間の前記正事例文一致度E1ijを,i番目の検索対象文についての評価値Riに加算する(S10)。ここで,評価値Riは,i番目の検索対象文を,検索結果として出力するか否かの判別や検索結果として出力する優先順位の判別に用いる指標値である。
さらに,CPU1は,j番目の前記正事例文に,不確定の語句を意味する予め定められた特殊記号(例えば"??")が含まれる場合に,i番目の検索対象文についての構文解析結果(変数Sの内容)における属性(フィールド)の中から,j番目の前記正事例文についての構文解析結果(変数Pの内容)における前記特殊記号に対応する属性(フィールド)と一致するものを選出するとともに,選出した属性に対応するi番目の検索対象文中の語句を抽出し,抽出した語句(以下,抽出語句という)とその関連情報(例えば,抽出語句を含む検索対象文の番号iや,抽出語句に対応する前記正事例文等)との組合せ情報を,変数zに追加記録する(S11)。これにより,変数zには前記抽出語句及びその関連情報が蓄積される。
例えば,i番目の検索対象文が「太郎は学校へ行った。」であり,j番目の正事例文が「?は学校へ行った。」である場合,検索対象文の構文解析結果(属性,語句)は,(ハ格,太郎),(ヘ格,学校),(動詞,行く),(時制,過去形) となり,正事例文の構文解析結果は,(ハ格,??),(へ格,学校),(動詞,行く),(時制,過去形)となるので,前記特殊記号"??"に対応する語句「太郎」が,前記抽出語句として抽出される。
そして,CPU1は,変数jを1ずつカウントアップしつつ(S12),入力された全ての前記正事例文との比較による評価値Riの計算(更新)が終了するまで(j番目の正事例文が存在しないと判別する(S7)まで),ステップS7〜S11の処理を繰り返す。
以上のようにしてステップS7〜S12の処理が終了すると,続いて,CPU1は,以下に示すように,i番目の前記検索対象文について,前記負事例文それぞれと一致する度合いを評価する処理(S13〜S17)を実行する。
次に,CPU1は,i番目の検索対象文とj番目の正事例文との間の前記正事例文一致度E1ijを,i番目の検索対象文についての評価値Riに加算する(S10)。ここで,評価値Riは,i番目の検索対象文を,検索結果として出力するか否かの判別や検索結果として出力する優先順位の判別に用いる指標値である。
さらに,CPU1は,j番目の前記正事例文に,不確定の語句を意味する予め定められた特殊記号(例えば"??")が含まれる場合に,i番目の検索対象文についての構文解析結果(変数Sの内容)における属性(フィールド)の中から,j番目の前記正事例文についての構文解析結果(変数Pの内容)における前記特殊記号に対応する属性(フィールド)と一致するものを選出するとともに,選出した属性に対応するi番目の検索対象文中の語句を抽出し,抽出した語句(以下,抽出語句という)とその関連情報(例えば,抽出語句を含む検索対象文の番号iや,抽出語句に対応する前記正事例文等)との組合せ情報を,変数zに追加記録する(S11)。これにより,変数zには前記抽出語句及びその関連情報が蓄積される。
例えば,i番目の検索対象文が「太郎は学校へ行った。」であり,j番目の正事例文が「?は学校へ行った。」である場合,検索対象文の構文解析結果(属性,語句)は,(ハ格,太郎),(ヘ格,学校),(動詞,行く),(時制,過去形) となり,正事例文の構文解析結果は,(ハ格,??),(へ格,学校),(動詞,行く),(時制,過去形)となるので,前記特殊記号"??"に対応する語句「太郎」が,前記抽出語句として抽出される。
そして,CPU1は,変数jを1ずつカウントアップしつつ(S12),入力された全ての前記正事例文との比較による評価値Riの計算(更新)が終了するまで(j番目の正事例文が存在しないと判別する(S7)まで),ステップS7〜S11の処理を繰り返す。
以上のようにしてステップS7〜S12の処理が終了すると,続いて,CPU1は,以下に示すように,i番目の前記検索対象文について,前記負事例文それぞれと一致する度合いを評価する処理(S13〜S17)を実行する。
<ステップS13〜S15>
まず,CPU1は,カウンタ変数k(初期値は1)を参照し,前記負事例文情報D2にk番目の負事例文が存在するか否かを判別する(S13)。
ここで,k番目の負事例文が存在する場合,CPU1は,前記負事例文解析結果情報D5の中から,そのk番目の負事例文についての構文解析結果であるレコードのデータを変数Pに代入する(S14)。但し,対応する前記カテゴリd26が存在する語句については,そのカテゴリd26も,語句と対応づけて変数Pに代入される。また,k番目の負事例文に複数の単文が含まれる場合には,各単文に対応する複数のレコードのデータが変数Pに代入される。
次に,CPU1は,変数Sに代入された検索対象文の構文解析結果と変数Pに代入された前記負事例文の構文解析結果とを比較し,それぞれの構文解析結果における語句とその語句の文法上の属性との組合せの一致の程度を表す負事例文一致度E2ik(i番目の検索対象文とk番目の正事例文との間の前記負事例文一致度)を,前記正事例文一致度E1ijと同様に算出する(S15,前記事例一致度算出手段の一例)。
なお,(1)式と同様の前記負事例文一致度E2ikの算出式の一例としては,次の(2)式が考えられる。
なお,CPU1(前記事例一致度算出手段)は,ステップS15において,前記負事例文に前記特殊記号が含まれる場合,前記負事例文における前記特殊記号については,前記検索対象文における比較対象となる語句と一致するものとして前記負事例一致度E2ikを算出する。
まず,CPU1は,カウンタ変数k(初期値は1)を参照し,前記負事例文情報D2にk番目の負事例文が存在するか否かを判別する(S13)。
ここで,k番目の負事例文が存在する場合,CPU1は,前記負事例文解析結果情報D5の中から,そのk番目の負事例文についての構文解析結果であるレコードのデータを変数Pに代入する(S14)。但し,対応する前記カテゴリd26が存在する語句については,そのカテゴリd26も,語句と対応づけて変数Pに代入される。また,k番目の負事例文に複数の単文が含まれる場合には,各単文に対応する複数のレコードのデータが変数Pに代入される。
次に,CPU1は,変数Sに代入された検索対象文の構文解析結果と変数Pに代入された前記負事例文の構文解析結果とを比較し,それぞれの構文解析結果における語句とその語句の文法上の属性との組合せの一致の程度を表す負事例文一致度E2ik(i番目の検索対象文とk番目の正事例文との間の前記負事例文一致度)を,前記正事例文一致度E1ijと同様に算出する(S15,前記事例一致度算出手段の一例)。
なお,(1)式と同様の前記負事例文一致度E2ikの算出式の一例としては,次の(2)式が考えられる。
<ステップS16〜S19>
次に,CPU1は,i番目の検索対象文とk番目の負事例文との間の前記負事例文一致度E1ikを,i番目の検索対象文についての評価値Riから減算する(S16)。
そして,CPU1は,変数kを1ずつカウントアップしつつ(S17),入力された全ての前記負事例文との比較による評価値Riの計算(更新)が終了するまで(k番目の負事例文が存在しないと判別する(S13)まで),ステップS14〜S17の処理を繰り返す。
以上のようにしてステップS13〜S17の処理が終了すると,続いて,CPU1は,評価した前記検索対象文の番号iとその検索対象部についての前記評価値Riとの組合せ情報を,変数yに追加記録する(S18)。これにより,変数yには検索対象文それぞれについての前記評価値Riが蓄積される。
そして,CPU1は,変数iを1ずつカウントアップしつつ(S19),前記検索対象データD0に含まれる全ての検索対象文について評価値Riが算出されるまで(i番目の検索対象文が存在しないと判別する(S5)まで)ステップS5〜S18の処理を繰り返す。
次に,CPU1は,i番目の検索対象文とk番目の負事例文との間の前記負事例文一致度E1ikを,i番目の検索対象文についての評価値Riから減算する(S16)。
そして,CPU1は,変数kを1ずつカウントアップしつつ(S17),入力された全ての前記負事例文との比較による評価値Riの計算(更新)が終了するまで(k番目の負事例文が存在しないと判別する(S13)まで),ステップS14〜S17の処理を繰り返す。
以上のようにしてステップS13〜S17の処理が終了すると,続いて,CPU1は,評価した前記検索対象文の番号iとその検索対象部についての前記評価値Riとの組合せ情報を,変数yに追加記録する(S18)。これにより,変数yには検索対象文それぞれについての前記評価値Riが蓄積される。
そして,CPU1は,変数iを1ずつカウントアップしつつ(S19),前記検索対象データD0に含まれる全ての検索対象文について評価値Riが算出されるまで(i番目の検索対象文が存在しないと判別する(S5)まで)ステップS5〜S18の処理を繰り返す。
以上のようにしてCPU1により算出及び変数yに記録される評価値Ri(i=1〜I,Iは全ての検索対象文の数)は,前記検索対象文それぞれについて算出した前記正事例一致度E1ijと前記負事例一致度E2ikとの差の合計に相当するものである。
その結果,前記評価値Riは,対応する前記検索対象文の構文解析結果(文の内容)が,前記正事例文それぞれの構文解析結果に対して一致する度合いが高いほど高い値となり,前記負事例文それぞれの構文解析結果に対して一致する度合いが高いほど低い値となる。
なお,前記(1)式及び(2)式に基づきi番目の検索対象文とj番目の正事例文及びk番目の負事例文それぞれとの間の前記正事例文一致度E1ij,前記負事例文一致度E2ikを算出する場合,i番目の検索対象文と全ての正事例文との間の文の一致度E1i及びi番目の検索対象文と全ての負事例文との間の文の一致度E2iは,それぞれ次の(3)式及び(4)式により算出できる。
その結果,前記評価値Riは,対応する前記検索対象文の構文解析結果(文の内容)が,前記正事例文それぞれの構文解析結果に対して一致する度合いが高いほど高い値となり,前記負事例文それぞれの構文解析結果に対して一致する度合いが高いほど低い値となる。
なお,前記(1)式及び(2)式に基づきi番目の検索対象文とj番目の正事例文及びk番目の負事例文それぞれとの間の前記正事例文一致度E1ij,前記負事例文一致度E2ikを算出する場合,i番目の検索対象文と全ての正事例文との間の文の一致度E1i及びi番目の検索対象文と全ての負事例文との間の文の一致度E2iは,それぞれ次の(3)式及び(4)式により算出できる。
<ステップS20>
そして,全ての検索対象文についての評価値Riの算出が終了すると,CPU1は,変数yを参照し,前記評価値Riの高いものから順に(降順に)予め設定された数(指定数)の検索対象文を選出し,選出した検索対象文のリストを,前記評価値Riが高いものから順に前記表示装置5の画面における前記検索結果表示枠g3(図3参照)に検索結果として表示させる(S20)。
或いは,CPU1が,前記評価値Riが予め設定されたしきい値以上である検索対象文を選出し,選出した検索対象文のリストを前記評価値Riが高いものから順に前記表示装置5に表示させることも考えられる。
また,CPU1が,全ての検索対象文を,前記評価値Riが高いものから順に(前記評価値Riが高い検索対象文の優先順位を上げて)前記表示装置5の画面に表示させることも考えられる。
このように,CPU1は,前記検索対象文それぞれについて,前記正事例一致度と前記負事例一致度との差に関する評価値Riを算出し(S10,S16),その評価値Riのレベルに応じて検索結果として出力するか否かの判別や,検索結果として出力する優先順位の判別(S20)を行う(前記検索対象文出力判別手段の一例)。
なお,ステップS2において,前記正事例文又は前記負事例文が1つも入力されない(入力文の数が0個である)状況も考えられ,文検索装置Xは,そのような状況も許容する。即ち,CPU1は,前記正事例文が入力されない場合,前記正事例一致度=0として処理する。同様に,CPU1は,前記負事例文が入力されない場合,前記負事例一致度=0として処理する。
そして,全ての検索対象文についての評価値Riの算出が終了すると,CPU1は,変数yを参照し,前記評価値Riの高いものから順に(降順に)予め設定された数(指定数)の検索対象文を選出し,選出した検索対象文のリストを,前記評価値Riが高いものから順に前記表示装置5の画面における前記検索結果表示枠g3(図3参照)に検索結果として表示させる(S20)。
或いは,CPU1が,前記評価値Riが予め設定されたしきい値以上である検索対象文を選出し,選出した検索対象文のリストを前記評価値Riが高いものから順に前記表示装置5に表示させることも考えられる。
また,CPU1が,全ての検索対象文を,前記評価値Riが高いものから順に(前記評価値Riが高い検索対象文の優先順位を上げて)前記表示装置5の画面に表示させることも考えられる。
このように,CPU1は,前記検索対象文それぞれについて,前記正事例一致度と前記負事例一致度との差に関する評価値Riを算出し(S10,S16),その評価値Riのレベルに応じて検索結果として出力するか否かの判別や,検索結果として出力する優先順位の判別(S20)を行う(前記検索対象文出力判別手段の一例)。
なお,ステップS2において,前記正事例文又は前記負事例文が1つも入力されない(入力文の数が0個である)状況も考えられ,文検索装置Xは,そのような状況も許容する。即ち,CPU1は,前記正事例文が入力されない場合,前記正事例一致度=0として処理する。同様に,CPU1は,前記負事例文が入力されない場合,前記負事例一致度=0として処理する。
<ステップS21>
さらに,CPU1は,変数zを参照し,ステップS20で表示(出力)した検索対象文に対応する前記抽出語句(前記特殊記号に対応する語句)を,その検索対象文に対応させて(並んで表示されるように)前記表示装置5の画面における前記抽出語句表示枠g4(図3参照)に表示させ(S21),当該文検索処理を終了させる。なお,CPU1は,前記抽出語句とその抽出語句を含む前記検索対象文との対応関係は,ステップS1の処理により変数zに記録した前記抽出語句に対する前記関連情報(当該抽出語句を含む検索対象文の番号i(識別情報)や,抽出語句に対応する前記正事例文等)に基づいて判別する。
また,CPU1は,ステップS2において前記特殊記号を含む前記正事例文が複数入力されている(複数存在する)場合,前記抽出語句(前記特殊記号に対応する語句)を,その抽出語句の抽出に用いた前記正事例文(前記特殊記号を含む正事例文)が同じものであるものごとに区別して表示させる。例えば,CPU1は,ステップS2において,入力された複数の前記正事例文を色分けして前記正事例文入力枠g5に表示させ,さらに,ステップS21において,前記抽出語句を,その抽出語句の抽出に用いた前記正事例文の表示色と同じ色で前記抽出語句表示枠g4に表示させる。これにより,前記抽出語句とその抽出に用いられた前記正事例文との対応関係の把握が容易となる。なお,CPU1は,前記抽出語句とその抽出に用いた前記検索対象文との対応関係は,ステップS1の処理により変数zに記録した前記抽出語句に対する前記関連情報に基づいて判別する。
このように,CPU1は,前記正事例文に,不確定の語句を意味する前記特殊記号が含まれる場合に,前記検索対象文それぞれについて,その検索対象文についての構文解析結果における前記属性の中から,前記正事例文についての構文解析結果における前記特殊記号に対応する属性と一致するものを選出するとともに,選出した属性に対応する前記検索対象文中の語句(前記抽出語句)を抽出し(S11),その抽出語句を表示させる(出力する)処理(S21)を実行する(前記不確定語句抽出手段の一例)。
さらに,CPU1は,変数zを参照し,ステップS20で表示(出力)した検索対象文に対応する前記抽出語句(前記特殊記号に対応する語句)を,その検索対象文に対応させて(並んで表示されるように)前記表示装置5の画面における前記抽出語句表示枠g4(図3参照)に表示させ(S21),当該文検索処理を終了させる。なお,CPU1は,前記抽出語句とその抽出語句を含む前記検索対象文との対応関係は,ステップS1の処理により変数zに記録した前記抽出語句に対する前記関連情報(当該抽出語句を含む検索対象文の番号i(識別情報)や,抽出語句に対応する前記正事例文等)に基づいて判別する。
また,CPU1は,ステップS2において前記特殊記号を含む前記正事例文が複数入力されている(複数存在する)場合,前記抽出語句(前記特殊記号に対応する語句)を,その抽出語句の抽出に用いた前記正事例文(前記特殊記号を含む正事例文)が同じものであるものごとに区別して表示させる。例えば,CPU1は,ステップS2において,入力された複数の前記正事例文を色分けして前記正事例文入力枠g5に表示させ,さらに,ステップS21において,前記抽出語句を,その抽出語句の抽出に用いた前記正事例文の表示色と同じ色で前記抽出語句表示枠g4に表示させる。これにより,前記抽出語句とその抽出に用いられた前記正事例文との対応関係の把握が容易となる。なお,CPU1は,前記抽出語句とその抽出に用いた前記検索対象文との対応関係は,ステップS1の処理により変数zに記録した前記抽出語句に対する前記関連情報に基づいて判別する。
このように,CPU1は,前記正事例文に,不確定の語句を意味する前記特殊記号が含まれる場合に,前記検索対象文それぞれについて,その検索対象文についての構文解析結果における前記属性の中から,前記正事例文についての構文解析結果における前記特殊記号に対応する属性と一致するものを選出するとともに,選出した属性に対応する前記検索対象文中の語句(前記抽出語句)を抽出し(S11),その抽出語句を表示させる(出力する)処理(S21)を実行する(前記不確定語句抽出手段の一例)。
以上に示した文検索装置Xは,複数の検索対象文の中から,積極的な検索条件を表す入力文(前記正事例文)に対し文としての内容(構文解析結果)の一致度が高い文を検索したいというニーズにも,消極的な検索条件を表す入力文(前記負事例文)と文としての内容(構文解析結果)の一致度が高い文を検索結果から除外したいというニーズにも対応できる。
特に,文検索装置Xは,2つの文の一致度合い(一致度)を,それぞれの文の構文解析結果の比較に基づいて算出するため,入力されたキーワードを含む文を検索する従来の文検索処理よりも,よりユーザの意図に合致した検索結果を提供することができる。
例えば,従来の技術では,「モータ電流が異常。」という入力文が検索条件(前記正事例文に相当)が与えられた場合,その入力文から「モータ電流」や「異常」というキーワードを抽出し,そのキーワードを含む文を複数の検索対象文の中から検索する。この場合,検索結果には,前記入力文とは内容が全く異なる「モータ電流は正常であるにもかかわらず,回転数が異常。」というような検索対象文までも含まれる可能性が高い。
一方,文検索装置Xでは,「モータ電流が異常。」という前記正事例文が入力された場合,その正例示文の構文解析結果が(ガ格,モータ電流),(形容詞,異常),…であるのに対し,上記検索対象文の構文解析結果は(ハ格,モータ電流),(形容詞,正常)…(ガ格,回転数),(形容詞,異常)…となり,入力された正事例文とは内容が全く異なる上記検索対象文は検索結果から除外される。
特に,文検索装置Xは,2つの文の一致度合い(一致度)を,それぞれの文の構文解析結果の比較に基づいて算出するため,入力されたキーワードを含む文を検索する従来の文検索処理よりも,よりユーザの意図に合致した検索結果を提供することができる。
例えば,従来の技術では,「モータ電流が異常。」という入力文が検索条件(前記正事例文に相当)が与えられた場合,その入力文から「モータ電流」や「異常」というキーワードを抽出し,そのキーワードを含む文を複数の検索対象文の中から検索する。この場合,検索結果には,前記入力文とは内容が全く異なる「モータ電流は正常であるにもかかわらず,回転数が異常。」というような検索対象文までも含まれる可能性が高い。
一方,文検索装置Xでは,「モータ電流が異常。」という前記正事例文が入力された場合,その正例示文の構文解析結果が(ガ格,モータ電流),(形容詞,異常),…であるのに対し,上記検索対象文の構文解析結果は(ハ格,モータ電流),(形容詞,正常)…(ガ格,回転数),(形容詞,異常)…となり,入力された正事例文とは内容が全く異なる上記検索対象文は検索結果から除外される。
また,文検索装置Xは,2つの文の一致度を算出する際に,比較対象となる2つの語句(属性が一致する語句)が表現において異なる場合でも,その語句の意味を広く解釈すれば実質的な意味が同じ或いは類語である(前記シソーラス辞書における前記カテゴリが同じである)場合には,その2つの語句の一致度合いが比較的高い(完全な不一致ではない)として処理する(S9)。その結果,より柔軟な検索が行われる。
なお,CPU1が,前記入力装置4を通じた選択操作に応じて,前記カテゴリの比較結果を一致度の計算に反映させるか否かを選択する処理を予め実行することも考えられる。
なお,CPU1が,前記入力装置4を通じた選択操作に応じて,前記カテゴリの比較結果を一致度の計算に反映させるか否かを選択する処理を予め実行することも考えられる。
さらに,文検索装置Xは,あえて一部に不確定の語句(主語や述語等)を含む不完全な入力文(前記正事例文)を与え,その不確定の語句以外の部分の内容の一致度が高い文における前記不確定の語句に対応する語句を抽出したいというニーズにも対応することができる。
図5は,工場等における運転記録を表す複数の文が検索対象文である場合に,前記正事例文として「??が停止した。」("??"は前記特殊符号を表す)という文が入力された場合における文検索装置Xによる検索結果の出力画面(表示枠g3,g4の部分のみ)の一例である。
このように,不確定の語句を含む文を検索条件として許容する検索は,検索対象が不明確な段階で有用な情報を探す「探索型」の検索を行う場合に好適である。
図5は,工場等における運転記録を表す複数の文が検索対象文である場合に,前記正事例文として「??が停止した。」("??"は前記特殊符号を表す)という文が入力された場合における文検索装置Xによる検索結果の出力画面(表示枠g3,g4の部分のみ)の一例である。
このように,不確定の語句を含む文を検索条件として許容する検索は,検索対象が不明確な段階で有用な情報を探す「探索型」の検索を行う場合に好適である。
本発明は,複数の検索対象文の中から所望の文を検索して出力する文検索装置等に利用可能である。
X :本発明の実施形態に係る文検索装置(コンピュータ)
1 :CPU
2 :RAM
3 :ROM
4 :入力装置
5 :表示装置
7 :データ記憶部
D0:検索対象データ
D1:正事例文情報
D2:負事例文情報
D3:検索文解析結果情報
D4:正事例文解析結果情報
D5:負事例文解析結果情報
D6:構文解析辞書情報
D7:シソーラス辞書情報
S1,S2,…:処理手順(ステップ)
1 :CPU
2 :RAM
3 :ROM
4 :入力装置
5 :表示装置
7 :データ記憶部
D0:検索対象データ
D1:正事例文情報
D2:負事例文情報
D3:検索文解析結果情報
D4:正事例文解析結果情報
D5:負事例文解析結果情報
D6:構文解析辞書情報
D7:シソーラス辞書情報
S1,S2,…:処理手順(ステップ)
Claims (10)
- 予め記憶手段に記憶された複数の検索対象文の中から所望の文を検索して出力する文検索装置であって,
検索結果に含めたい文を例示する一又は複数の積極的事例文の情報を入力して記憶手段に記録する積極的事例文情報入力手段と,
検索結果から除外したい文を例示する一又は複数の消極的事例文の情報を入力して記憶手段に記録する消極的事例文情報入力手段と,
前記検索対象文それぞれについて,前記積極的事例文との一致度合いの指標値である積極的事例一致度及び前記消極的事例文との一致度合いの指標値である消極的事例一致度を算出する事例一致度算出手段と,
前記検索対象文それぞれについて,前記積極的事例一致度と前記消極的事例一致度との差に関する評価値を算出し,該評価値のレベルに応じて検索結果として出力するか否かの判別及び検索結果として出力する優先順位の判別の一方又は両方を行う検索対象文出力判別手段と,
を具備してなることを特徴とする文検索装置。 - 前記検索対象文,前記積極的事例文及び前記消極的事例文それぞれについて,構文解析処理を施すことにより文中における文法上の属性と語句との対応関係を表す構文解析結果情報を生成する構文解析手段を具備し,
前記事例一致度算出手段が,前記検索対象文それぞれについて,前記積極的事例文それぞれとの間で前記構文解析結果情報を比較することにより前記積極的事例一致度を算出し,前記消極的事例文それぞれとの間で前記構文解析結果情報を比較することにより前記消極的事例一致度を算出してなる請求項1に記載の文検索装置。 - 前記文法上の属性が,文法上の格,品詞,語句の時制,受動態か能動態か,肯定形の語句か否定形の語句か,及び1つの文に複数の単文が含まれる場合におけるある語句が属する単文の他の単文に対する文法上の階層関係の深さのうちの1つ又は複数を含んでなる請求項2に記載の文検索装置。
- 前記積極的事例文に,不確定の語句を意味する予め定められた特殊記号が含まれる場合に,前記検索対象文それぞれについて,該検索対象文についての前記構文解析結果情報における前記属性の中から前記積極的事例文についての前記構文解析結果情報における前記特殊記号に対応する前記属性と一致するものを選出し,選出した前記属性に対応する前記検索対象文における語句を抽出して出力する不確定語句抽出手段を具備してなる請求項1〜3のいずれかに記載の文検索装置。
- 前記事例一致度算出手段が,前記積極的事例文又は前記消極的事例文に,不確定の語句を意味する予め定められた特殊記号が含まれる場合に,前記積極的事例文及び前記消極的事例文における前記特殊記号については前記検索対象文における比較対象となる語句と一致するものとして前記積極的事例一致度又は前記消極的事例一致度を算出してなる請求項1〜4のいずれかに記載の文検索装置。
- 前記検索対象文,前記積極的事例文及び前記消極的事例文それぞれに含まれる語句について,記憶手段に記憶されたシソーラス辞書の情報に基づいてカテゴリを判別するカテゴリ判別手段を具備し,
前記事例一致度算出手段が,前記構文解析結果情報の比較において比較対象となる2つの語句の一致を判別する際に,該2つの語句が一致しない場合には該2つの語句について前記カテゴリ判別手段により判別されたカテゴリの比較によって語句の一致を判別してなる請求項1〜5のいずれかに記載の文検索装置。 - 予め記憶手段に記憶された複数の検索対象文の中から所望の文を検索し,検索結果を情報出力手段を通じて出力する処理をコンピュータに実行させるための文検索プログラムであって,
コンピュータに,
検索結果に含めたい文を例示する一又は複数の積極的事例文の情報を情報入力手段を通じて入力して記憶手段に記録する積極的事例文情報入力処理と,
検索結果から除外したい文を例示する一又は複数の消極的事例文の情報を情報入力手段を通じて入力して記憶手段に記録する消極的事例文情報入力処理と,
前記検索対象文それぞれについて,前記積極的事例文との一致度合いの指標値である積極的事例一致度及び前記消極的事例文との一致度合いの指標値である消極的事例一致度を算出する事例一致度算出処理と,
前記検索対象文それぞれについて,前記積極的事例一致度と前記消極的事例一致度との差に関する評価値を算出し,該評価値のレベルに応じて検索結果として出力するか否かの判別及び検索結果として出力する優先順位の判別の一方又は両方を行う検索対象文出力判別処理と,
を実行させるための文検索プログラム。 - コンピュータに,
前記検索対象文,前記積極的事例文及び前記消極的事例文それぞれについて,構文解析処理を施すことにより文中における文法上の属性と語句との対応関係を表す構文解析結果情報を生成して記憶手段に記録する構文解析処理をさらに実行させるものであり,
前記事例一致度算出処理が,前記検索対象文それぞれについて,前記積極的事例文それぞれとの間で前記構文解析結果情報を比較することにより前記積極的事例一致度を算出し,前記消極的事例文それぞれとの間で前記構文解析結果情報を比較することにより前記消極的事例一致度を算出する処理である請求項7に記載の文検索プログラム。 - 予め記憶手段に記憶された複数の検索対象文の中から所望の文を検索し,検索結果を情報出力手段を通じて出力する処理をコンピュータに実行する文検索方法であって,
コンピュータにより,
検索結果に含めたい文を例示する一又は複数の積極的事例文の情報を情報入力手段を通じて入力して記憶手段に記録する積極的事例文情報入力処理と,
検索結果から除外したい文を例示する一又は複数の消極的事例文の情報を情報入力手段を通じて入力して記憶手段に記録する消極的事例文情報入力処理と,
前記検索対象文それぞれについて,前記積極的事例文との一致度合いの指標値である積極的事例一致度及び前記消極的事例文との一致度合いの指標値である消極的事例一致度を算出する事例一致度算出処理と,
前記検索対象文それぞれについて,前記積極的事例一致度と前記消極的事例一致度との差に関する評価値を算出し,該評価値のレベルに応じて検索結果として出力するか否かの判別及び検索結果として出力する優先順位の判別の一方又は両方を行う検索対象文出力判別処理と,
を実行してなることを特徴とする文検索方法。 - コンピュータにより,
前記検索対象文,前記積極的事例文及び前記消極的事例文それぞれについて,構文解析処理を施すことにより文中における文法上の属性と語句との対応関係を表す構文解析結果情報を生成して記憶手段に記録する構文解析処理をさらに実行し,
前記事例一致度算出処理が,前記検索対象文それぞれについて,前記積極的事例文それぞれとの間で前記構文解析結果情報を比較することにより前記積極的事例一致度を算出し,前記消極的事例文それぞれとの間で前記構文解析結果情報を比較することにより前記消極的事例一致度を算出する処理である請求項9に記載の文検索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007255750A JP2009087009A (ja) | 2007-09-28 | 2007-09-28 | 文検索装置,文検索プログラム,文検索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007255750A JP2009087009A (ja) | 2007-09-28 | 2007-09-28 | 文検索装置,文検索プログラム,文検索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009087009A true JP2009087009A (ja) | 2009-04-23 |
Family
ID=40660355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007255750A Pending JP2009087009A (ja) | 2007-09-28 | 2007-09-28 | 文検索装置,文検索プログラム,文検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009087009A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021189694A (ja) * | 2020-05-28 | 2021-12-13 | Jfeスチール株式会社 | 情報検索システム |
JP2023096472A (ja) * | 2021-12-27 | 2023-07-07 | ストックマーク株式会社 | 情報処理システム、情報処理方法および情報処理プログラム |
-
2007
- 2007-09-28 JP JP2007255750A patent/JP2009087009A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021189694A (ja) * | 2020-05-28 | 2021-12-13 | Jfeスチール株式会社 | 情報検索システム |
JP7264115B2 (ja) | 2020-05-28 | 2023-04-25 | Jfeスチール株式会社 | 情報検索システム |
JP2023096472A (ja) * | 2021-12-27 | 2023-07-07 | ストックマーク株式会社 | 情報処理システム、情報処理方法および情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220382752A1 (en) | Mapping Natural Language To Queries Using A Query Grammar | |
JP4306894B2 (ja) | 自然言語処理装置及びその方法、及び自然言語認識装置 | |
CN107209759B (zh) | 注解辅助装置及记录介质 | |
US8346795B2 (en) | System and method for guiding entity-based searching | |
JP6095621B2 (ja) | 回答候補間の関係を識別および表示する機構、方法、コンピュータ・プログラム、ならびに装置 | |
US9280535B2 (en) | Natural language querying with cascaded conditional random fields | |
JP4658420B2 (ja) | 文字列の正規化表示を生成するシステム | |
JP3856778B2 (ja) | 複数言語を対象とした文書分類装置及び文書分類方法 | |
US10552467B2 (en) | System and method for language sensitive contextual searching | |
US20070106499A1 (en) | Natural language search system | |
US20150081277A1 (en) | System and Method for Automatically Classifying Text using Discourse Analysis | |
EP2523126A2 (en) | Information processing apparatus, information processing method, program, and information processing system | |
JP2013502643A (ja) | 構造化データ翻訳装置、システム及び方法 | |
JPH05197712A (ja) | 共起辞書構築・更新方法と共起・意味解析方法 | |
US20050081146A1 (en) | Relation chart-creating program, relation chart-creating method, and relation chart-creating apparatus | |
US11055295B1 (en) | Method and apparatus for determining search result demographics | |
JP2005182280A (ja) | 情報検索システム、検索結果加工システム及び情報検索方法並びにプログラム | |
CN113282689B (zh) | 基于领域知识图谱的检索方法、装置 | |
CN106934069A (zh) | 数据检索方法及系统 | |
US8380731B2 (en) | Methods and apparatus using sets of semantically similar words for text classification | |
US20120317125A1 (en) | Method and apparatus for identifier retrieval | |
JP2009087009A (ja) | 文検索装置,文検索プログラム,文検索方法 | |
JP2007172260A (ja) | 文書ルール作成支援装置および文書ルール作成支援方法並びに文書ルール作成支援プログラム | |
JP5142897B2 (ja) | 文検索装置,文検索プログラム,文検索方法 | |
JP2019003270A (ja) | 学習装置、映像検索装置、方法、及びプログラム |