JP6176017B2 - 検索装置、検索方法、およびプログラム - Google Patents

検索装置、検索方法、およびプログラム Download PDF

Info

Publication number
JP6176017B2
JP6176017B2 JP2013191324A JP2013191324A JP6176017B2 JP 6176017 B2 JP6176017 B2 JP 6176017B2 JP 2013191324 A JP2013191324 A JP 2013191324A JP 2013191324 A JP2013191324 A JP 2013191324A JP 6176017 B2 JP6176017 B2 JP 6176017B2
Authority
JP
Japan
Prior art keywords
search
semantic
unit
nodes
key
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.)
Active
Application number
JP2013191324A
Other languages
English (en)
Other versions
JP2015060243A (ja
Inventor
清司 大倉
清司 大倉
明 潮田
明 潮田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013191324A priority Critical patent/JP6176017B2/ja
Priority to US14/480,237 priority patent/US9659004B2/en
Publication of JP2015060243A publication Critical patent/JP2015060243A/ja
Application granted granted Critical
Publication of JP6176017B2 publication Critical patent/JP6176017B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Description

本発明は、情報を検索するための検索装置、検索方法、およびプログラムに関する。
例えば論文や特許の検索、あるいは一般のWebページの検索などに適用できるキーワードによる検索では、キーワード単位の検索クエリを用いるため、キーワード間の関係を検索条件に含めることができない。例えば、ユーザが「熱の放出を低減することにより、環境負荷を減らす技術」を検索したい場合に、キーワード「熱の放出、環境負荷、低減」を入力する。しかし、このキーワードの検索クエリには、あいまい性が含まれている。この場合、「熱の放出を低減する」と「環境負荷を低減する」の両方の意味を含み、一方の意味に限定していない。また、熱の放出と環境負荷との関係も特定していない。
このように検索クエリにあいまい性が含まれているキーワード検索には、以下の問題がある。
(1)ユーザが意図した通りに検索されない。
(2)キーワードを含んでいても意図しない文書が検索される。
特に、(2)の問題は、抽出された文書中から、ユーザが意図した部分を見つけ出す手間が煩雑であるという欠点を含んでいる。例えば、3つのキーワードで検索してすべてのキーワードを含む文が検出された場合でも、その文は意図しない関係を含んでいるかもしれない。つまり、キーワードにヒットした部分を出力しても、必ずしもユーザが欲しい情報ではないことがある。従って、有用な文を抽出する判断に、ユーザは時間を費やすことになる。
検索精度を向上させる一従来技術として、次のようなものが知られている(例えば特許文献1に記載の技術)。言語解析手段は入力された検索要求を言語解析して検索条件の要素となる単語及び複数の単語より構成された名詞句を抽出する。検索条件生成手段は、抽出した単語及び名詞句を所定の演算子により結合し、かつ単語及び名詞句の各々に所定の重み付けを施して検索条件を生成する。文書検索手段は検索条件生成手段により生成した検索条件に合致した文書を検索対象文書から抽出する。このように、自然言語で入力された検索要求から抽出された単語及び名詞句に基づいて適切な検索条件を設定することにより、精度の高い文書検索結果を得ることを目的とする。
この技術は、入力された検索要求を言語解析して検索条件の要素となる単語及び複数の単語より構成された名詞句を検索のためのキーワードとするものである。しかしながら、この従来技術は依然として、前述した(2)の問題を解決することはできない。
検索精度を向上させる他の従来技術として、次のようなものが知られている(例えば特許文献2に記載の技術)。検索を要求する式または文である検索要求情報から検索用語となりうるすべてのキーワードを抽出するキーワード抽出部を備える。抽出したキーワードの類義語を類義語辞書から取得する類義語取得部を備える。キーワード抽出部が抽出したキーワードと、類義語取得部が取得した類義語とを指定して、検索対象の文書を記憶する検索対象文書DBから文書を検索する文書検索部を備える。そして、文書検索部が検索した文書のうち、少なくとも検索要求情報に含まれる係り受け関係にある複数の単語の対と、文書検索部が検索した文書に含まれる係り受け関係にある複数の単語の対との関連する度合いを示す係り受け類似度が大きい文書ほど文書の優先順位を高く評価する検索結果評価部を備える。これにより、ユーザにとって有用な情報を高精度で検索する情報検索装置を提供する。
この技術は、複数の単語の対の係り受け関係の類似度を検索に導入することで、類義語を使用し検索条件を広げて文書を検索した場合でも、不適切な検索候補文書を排除し、ユーザが頻繁に使用するキーワードに関連した有用な情報を高精度で取得するものである。しかしながら、この従来技術では、係り受け関係になくても意味的に似た文に含まれる複数の単語については、検索漏れが発生し、検索精度を向上させることはできないという問題点を有していた。
特開2001−142897号公報 特開2006−215717号公報
本発明は、意図しない文書の検索や検索漏れの発生を排除することを目的とする。
態様の一例では、検索文を意味解析してグラフで表現される意味構造を生成する意味解析部と、意味解析部によって生成された意味構造上の2つのノードと該2つのノード間を直接接続するアークの種別とを表すことによって該2つのノード間の意味のつながりを検索対象とした第1のキー、意味構造上で複数のアークを介して間接的に接続されている2つの間接接続ノードと該複数のアークの各々についての種別である複数の種別とを表すことによって該2つの間接接続ノード間の間接的な意味のつながりを検索対象とした第2のキー、及び、該複数のアークの各々によって接続されている2つの被接続ノードと該複数の種別とを表すことによって該2つの間接接続ノード間に存在している当該2つの被接続ノード間の意味のつながりを検索対象とした第3のキーを生成する検索キー生成部と、生成された検索キーにより、検索対象文書を蓄積したデータベース上の検索用インデックスに格納されている検索対象文書に対応する意味構造上のノードの組合せとのマッチングを実行することにより、検索文にマッチする検索対象文書を検索する検索部とを備える。
意図しない文書の検索や検索漏れの発生を排除することが可能となる。
本実施形態がベースとする意味検索技術の説明図である。 自然文から意味最小単位を計算する方法の説明図である。 基本的な意味検索技術を用いた検索装置の構成図である。 基本的な意味検索技術を用いた検索装置におけるデータベース作成処理を示すフローチャートである。 データベース作成の例を示す図である。 検索用インデックスに格納される意味最小単位の例を示す図である。 評価値テーブルの例を示す図である。 基本的な意味検索技術を用いた検索装置における検索処理を示すフローチャートである。 検索クエリからの意味最小単位の生成を説明する図である。 基本的な意味検索技術を用いた検索装置における検索漏れの例を示す図である。 検索漏れを防止する方式の説明図である。 本実施形態の説明図である。 本実施形態による検索装置の構成図である。 本実施形態による検索キー生成のための制御処理を示すフローチャートである。 ノードリストの作成処理の説明図である。 本実施形態による検索キー生成処理を示すフローチャートである。 アーク名とグループ名との対応関係の例を示す図である。 間接接続の説明図である。 間接接続の他の制御方法の説明図である。 クラウド構成に対応した実施形態の構成例を示す図である。 本実施形態の機能を搭載したソフトウェアプログラムを実行可能なコンピュータのハードウェア構成例を示す図である。
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
本実施形態では、意味検索といって、文の意味をグラフで表現し、そのグラフ表現を使って検索することにより、従来のキーワードベースよりも精度が高い検索装置を実現する。機械翻訳は、言葉を処理する上での要素技術が全て入っている。機械翻訳は公知であるが、出願人らは、日英翻訳を例にあげると、日本語の単語を抽出して構文解析を行っている。その次に、それに基づいて、意味構造といって、文の意味を表す構造に変換して、その意味構造はどの言語にも依存しないように設計されているため、その意味構造に落としてから例えば英語の文を生成するという処理を行っている。本実施形態の意味検索では、日本語の文を解析して生成される意味構造を用いた検索を行う。
図1は、本実施形態がベースとする意味検索技術の説明図である。この意味検索技術では、まず、データベース104にはあらかじめ、検索対象文書106が文ごとに意味解析され、その意味最小単位105が格納されている。検索時には、検索クエリ101の自然言語文(検索文)102に相当する意味最小単位(後述する)103が検索キーとして特定される。そして、検索キーの意味最小単位103と一致する意味最小単位105を含むデータベース104内の検索対象文106を特定することにより、検索者が意図する単語同士の意味関係等に応じた検索が行われる。
本実施形態の構成について説明する前に、本実施形態がベースとする基本的な意味検索技術について以下に説明する。基本的な意味検索技術では、検索対象を限定しすぎるため意味が非常に似ている文でも検索もれがおこる場合があるが、本実施形態を実現するための重要な技術であるため、まずこの技術について以下に説明する。
図2は、自然文から意味最小単位を計算する方法の説明図である。例えば原文201である「太郎は花子に本をあげた。」を意味解析すると、有向グラフ202で示される構造になる。これを意味構造と呼ぶ。「あげる」というのがこの文の中心の概念になる。誰が「あげる」という行動をしたかを示す「動作主」が「太郎」で、それを誰に対してかを示す「目標」が「花子」である。そして、何をあげたかを示す「対象」が「本」である。このように、有向グラフ202では、依存関係のようなものがグラフで表現されている。これらの「あげる」「太郎」「花子」「本」は文中の単語である。それぞれの単語に対して「GIVE」「HANAKO」「TARO」「BOOK」で示される意味記号が付与されている。例えば「ユーザ」と「利用者」のように、違う単語だが同じ意味を表すものは一つの意味記号にまとまる。また、「あげる」には、「手をあげる」、「棚にあげる」などの様々な意味があるが、その場合は意味に応じて意味記号も変わる。1つの単語に1つの意味記号が対応するとは限らず、様々な可能性がある。意味構造である有向グラフ202は、意味記号における記号同士の関係を表したものである。
長い文でも同様の構造になる。グラフ同士をマッチングするのは処理も重くなる。そこで、意味最小単位といって、グラフ表現を分解して単純な構造にする。
ここで、2つの関係に着目する。図2の有向グラフ202では、「GIVE あげる」から「HANAKO 花子」に「目標」という矢印(以下「アーク」と呼ぶ)がつながっている。また、「GIVE あげる」から「TARO 太郎」に「動作主」というアークがつながっている。「GIVE あげる」から「BOOK 本」に「対象」というアークがつながっている。ほかに「述語」や「過去」等の接続していないアークもあるが、これらは「GIVE あげる」の属性を表している。ここで、接続していないことを「NIL」という記号で表す。
意味最小単位の出力においては、有向グラフ(例えば図2の202)からアークが抽出され、以下の処理が実行される。
(1)アークが2つのノードをつないでいる場合:
それぞれのアークに対して、
(アークが出るノード,アークが向かうノード,アークの名前)
が出力される。
(2)アークが出るノードがない場合:
それぞれのアークに対して、
("NIL",アークが向かうノード,アークの名前)
が出力される。
(3)アークが向かうノードがない場合:
それぞれのアークに対して、
(アークが出るノード,"NIL",アークの名前)
が出力される。
上述の(1)〜(3)の処理を行った結果出力されたものを「意味最小単位」(例えば図2の203)と定義する。
図2の6個に分解された部分203を、意味最小単位という。
このように、意味最小単位は、文中の2つの概念間の関係または概念の役割を表すものであり、これをキーにしてデータベースを検索することにより、意味を踏まえた検索が可能となる。
意味最小単位は有向グラフの部分構造を表したものであり、意味最小単位でマッチングすることにより、有向グラフをマッチングさせるより柔軟な検索が可能になる。また、意味最小単位の後述するidf値(意味最小単位を含む文書数が少ないほど値が高くなる)を計算しておけば、マッチした意味最小単位のidf値を使って評価値を計算することにより、検索結果に対してランキングを行うことができる。
図3は、本実施形態がベースとする基本的な意味検索技術を用いた検索装置の構成図である。この検索装置は、データベース作成用として、検索対象テキスト入力部301、意味解析部302、意味最小単位保存部303、データベース作成部304、検索用インデックス305の記憶部、評価値計算部306、評価値テーブル307の記憶部を備える。また、検索実行用として、入力部308、上述の意味解析部302と意味最小単位保存部303、検索部309、評価値計算部310、ランキング部311、および検索結果表示部312を備える。検索対象テキスト入力部301には、検索対象文書313が入力される。入力部308には、検索クエリ314の自然文が入力される。
まず、データベースの作成時には、検索対象テキスト入力部301は、検索対象文書313の入力を受け付ける。
意味解析部302は、検索対象テキスト入力部301により受け付けられた検索対象文書313を意味解析する。意味解析とは、図2に示されるように、入力文(例えば図2の201)を解析し、その中の概念(単語の意味)間の関係を有向グラフ(例えば図2の202)により表現することである。意味解析部302は、この有向グラフに基づいて、意味最小単位を生成する。
意味最小単位保存部303は、意味解析部302が生成した意味最小単位を記憶する。
データベース作成部304は、意味最小単位保存部303に保存された検索対象文書313に含まれる各意味最小単位に基づいて、検索用インデックス(データベース)305を作成する。この検索用インデックス305には、検索対象文書313ごとに、複数の意味最小単位が含まれる。
評価値計算部306は、検索用インデックス305中の各意味最小単位についての文書頻度(いくつの文書にその意味最小単位が出現するか)を計算しておき、そこから各意味最小単位のidf値を計算し、評価値テーブル307に格納しておく。idf値は以下のようにして算出される。
idf=log(全文書数/df)
df(document frequency):意味最小単位が出現する文書数
・・・(1)
例えば、意味最小単位が10万文書中10万文書に出現していれば、idfの値は1になる。出現文書数が少なければidfの値は大きくなる。例えば1文書にしか現れない非常に珍しい意味最小単位ならidfの値はlog(10万)になる。 意味最小単位が検索用インデックス305上でマッチしたときに、その意味最小単位のidfを評価値として計算することにより、めずらしいような意味構造がヒットしたときはそれが検索上位に現れるようにしている。
なお、評価値テーブル307はここではidf値を例にとって説明しているが、他の値でもよい。
以上のようにして、データベースとしての検索用インデックス305および評価値テーブル307が予め作成された後に、実際の検索が実行される。
入力部308は、ユーザから検索クエリ314の自然文を受け付ける。
入力部308により受け付けられた検索クエリ314は、前述した意味解析部302により、意味解析されて検索クエリ314に含まれる複数の意味最小単位が生成され、それらの意味最小単位が意味最小単位保存部303に保存される。
検索部309は、検索クエリ314から生成され意味最小単位保存部303に保存された意味最小単位によって、データベースである検索用インデックス305を検索する。
評価値計算部310は、評価値テーブル307と検索用インデックス305を参照して、検索部309でマッチした意味最小単位から、評価値を計算する。
ランキング部311は、評価値計算部310により計算された検索結果の各文書の評価値をソートし、ランキングを行う。ランキングされた結果は、検索結果表示部312によりユーザに提示される。
図4は、基本的な意味検索技術を用いた図3の構成を有する検索装置におけるデータベース作成処理を示すフローチャートである。
まず、ステップS401とS406の制御によるループ処理によって検索対象文書313(図3)のそれぞれにつき、以下のステップS402からS405までの処理が実行される。
まず、検索対象文書313の1つが文に分割される(ステップS402)。
次に、ステップS403とS405の制御によるループ処理によって分割で得られたそれぞれの文につき、意味(意味解析)処理が実行されて意味最小単位が生成され、検索用インデックス305(図3)に追加される(ステップS404)。
以上の処理は、図3の検索対象テキスト入力部301、意味解析部302、意味最小単位保存部303、およびデータベース作成部304の機能に対応するデータベース作成処理である。
図5は、データベース作成の例を示す図である。例えば、文書Aの中に文m「本発明による機械翻訳システムは,翻訳家が修正した単語あるいは修正または作成した翻訳文をそれぞれ前記辞書および例文データベースに登録する登録手段を持つ。」があるとする。この文を意味解析し、意味最小単位を生成すると、図5の右側のようになる。理解を容易にするために、意味最小単位が表す意味も右に付記しておく。生成された意味最小単位は文m、文書Aとひもづけておく。この情報は検索時の評価値計算に使う。同様に他の文に関しても同じように処理を行い、意味最小単位を生成する。
図6は、検索用インデックス305(図3)に格納される意味最小単位の例を示す図である。検索用インデックス305は、意味最小単位をキーとして、その意味最小単位の文書ID、文IDや、出現位置などを検索するためのインデックステーブルである。出現位置の情報としては、アークが出発するノードであるノード1の位置と、そのノード1の文字列長、およびアークが到達するノードであるノード2の位置と、そのノード2の文字列長が格納される。
図4のステップS403からS405の各文に対応するループ処理、およびステップS401からS406の各検索対象文書313に対するループ処理が終了し、検索用インデックス305が作成されたら、以下のステップS406の処理が実行される。検索用インデックス305に格納されたそれぞれの意味最小単位について、idf値が計算され、評価値テーブル307(図3)に格納される。
図7は、評価値テーブル307の例を示す図である。検索用インデックス305中に現れる意味最小単位(図6参照)ごとに、前述した(1)式に基づいてidf値が計算される。図7において、意味最小単位「(SEE,NIL,述語)」は、「見る」という意味の意味最小単位の例であるが、「見る」という語句は一般に多くの文書中に出現するため、(1)式において、df値が大きくなり、これを分母として計算されるidf値は小さい値となる。これに対して、「(SEE,GIRAFFE,目的語)」は、「キリンを見る」という意味の意味最小単位の例であるが、「キリンを見る」という語句はそれほど多くの文書中には出現しないため、(1)式において、df値が小さくなり、これを分母として計算されるidf値は大きい値となる。
このようにして、評価値テーブル307に得られる各意味最小単位ごとのidf値は、その意味最小単位が珍しいものであるほど高い値になる。
以上の評価値テーブル307の作成処理は、図3の評価値計算部306の機能に対応する。
図8は、基本的な意味検索技術を用いた図3の構成を有する検索装置における検索処理を示すフローチャートである。
まず、検索クエリ314(図3)は自然言語文で入力される。
次に、検索クエリ314が文に分割される(ステップS801)。
次に、ステップS802とS804の制御によるループ処理によって分割で得られたそれぞれの文につき、図4のステップS404と同様の意味(意味解析)処理が実行されて検索キーのキーワードに追加される(ステップS803)。
以上の処理は、図3の入力部308、意味解析部302、および意味最小単位保存部303の機能に対応する。
図9は、検索クエリ314の例「翻訳家によって修正された単語を辞書に登録する手段をもつ。」から意味最小単位を生成する例を示す図である。図5の1つの文書に対応する検索クエリ314の文書から、図5の右側に相当する複数の意味最小単位が生成される。
以上のステップS802からS804のループ処理によって、検索クエリ314に対応する意味最小単位が自動生成され、この集合が検索キー801とされる。
次に、図8のステップS805とS807の制御によるループ処理によって検索キー801に含まれるそれぞれの意味最小単位(これを意味最小単位(A)と呼ぶ)につき、以下のステップS806の処理が実行される。図6に例示される構成を有する図3の検索用インデックス305から、処理対象の意味最小単位(A)を含むレコード(図6の行に対応する)の文書IDおよび文IDが取得され、記憶される。この処理により、処理対象の意味最小単位(A)がどの文書の何番目の文にマッチするかがわかる。
ステップS805からS807のループ処理により、検索キー801に含まれる全ての意味最小単位に対して、その意味最小単位を含む文書IDおよび文IDが取得される。
以上の処理は、図3の検索部309の機能に対応する。
続いて、データベース中の全文書の評価値が0とされた後(ステップS808)、ステップS809とS812の制御によるループ処理により、上述の処理で検索キー801中のいずれかの意味最小単位がマッチした文ごとに、以下のように評価値が算出される。
いま例として、図5に示した文m,n,p,qの4つの文が検索キー801にマッチしたとする。ステップS809とS812の制御によるループ処理により、それぞれの文に対して評価値が計算される。
まず、処理対象の文(以下、処理対象の文を「文i」とする)に対する評価値が算出される(ステップS810)。文iに対する評価値(Si)は、次式で表される。
文iの評価値(Si)=[検索クエリの意味最小単位の集合(K1,K2,…Kj,…)のうち、
(文iに出現するKjのidf値×文iにおけるKjの出現回数)
の総和]×M2 ・・・(2)
上記(2)式において、Mは文iに同時に出現するKjの数である。この数Mが増えれば増えるほど、その文iは検索クエリ314により良く合致していると考えることができる。そして、Mの数が2個、3個と増えるに従って、その合致度は大幅に向上すると考えられる。そこで、Mの数に従って評価値を大幅に上げるためにMの二乗が乗算される。
いま、理解を容易にするために、検索キー801に含まれる全ての意味最小単位のidf値を2.0と仮定する。図5に示される文mについて、その右側の意味最小単位を見てみると、文mは検索クエリ314から生成された意味最小単位の6つにマッチしている。意味最小単位はそれぞれ1回しか文mに出現していない。また、文mに出現する意味最小単位の数は6である。以上から、文mの評価値は(2)式より、
(2.0*1+2.0*1+2.0*1+2.0*1+2.0*1+2.0*1)×62 =432.0 (3)
となる。図5の文n,p,qに関しても同様に計算が行われる。
次に、文書の評価値が計算される(ステップS811)。文書の評価値は、次式により計算される。
文書の評価値(D)=文nの評価値(Sn)の総計 ・・・(4)
すなわち、文書の評価値は、その文書に含まれる全ての文の評価値の総和である。具体的な処理としては、ステップS810で評価値(Si)が算出された処理対象の文iについて、その文iが含まれる文書の評価値に、その文iの評価値(Si)が加算される(ステップS811)。
以上のステップS809からS812の処理が、検索キー801内のいずれかの意味最小単位がマッチした文iごとに繰返し実行されることにより、各文iおよびそれが含まれる文書の評価値が算出される。
以上の処理は、図3の評価値計算部306の機能に対応する。
最後に、上述のようにして算出された評価値に基づいて文書が例えば降順にソート、すなわちランキングされて、以下の結果が得られる。
いま例えば、図5に示される文書Aが、文mに加えて特には図示しない文rの2文からなるとし、文rの評価値が18.0だとすると、文書Aの評価値は、この値と上記(3)式の計算結果の値が加算されることにより、18.0+432.0=450.0と算出される。同様にして文書B,C,Dに関しても評価値が計算され、例えばそれぞれ、106.0, 253.0, 90.0となったとする。この結果、ランキングにより、以下の検索結果が、図3の検索結果表示部312に表示される。
検索結果1位: 文書A(評価値=450.0)
検索結果2位: 文書C(評価値=253.0)
検索結果3位: 文書B(評価値=106.0)
検索結果4位: 文書D(評価値=90.0)
また、この例では、以下のように、表現が違ったり、単語間に別の表現が入り込んでいても、意味でマッチングできている。
文m:「翻訳家が修正」が(修正,翻訳家,動作主)にマッチ(検索クエリ314では「翻訳家によって修正」)
文m:「単語あるいは修正または…をそれぞれ前記辞書および例文データベースに登録」が(登録,単語,目的語)にマッチ
文q:「単語は辞書3に登録してもよい」が(登録,単語,目的語)にマッチ(「単語」は「登録」の主語ではなく、目的語として解釈される)
ユーザが、例えば文書Aを選択して表示させたとき、文ごとに評価値が計算されているので、評価値の高い文をハイライト表示するなどができる。
以上の処理は、図3のランキング部311および検索結果表示部312の機能に対応する。
以上説明した基本的な意味検索技術を用いた検索装置では、検索クエリ314から特定された検索キー801となる意味最小単位が、検索用インデックス305(データベース)中の意味最小単位(例えば図6参照)と完全一致による検索を行っている。このため、検索対象を限定しすぎて本来マッチすべき意味最小単位がマッチせず、意味が非常に似ている文でも検索漏れがおこることがある。
図10は、基本的な意味検索技術を用いた検索装置における検索漏れの例を示す図である。
検索クエリ1000として「肝臓癌に関して、治療成績が向上した年は。」という自然文を入力して、データベース中の近い文書を検索することを考える。検索クエリ1000を意味解析して意味構造1001を得、さらに意味最小単位を計算すると、次のような意味最小単位1002が得られる。
(IMPROVE, YEAR, TIME)
(IMPROVE, CANCER, KANSURU)
(IMPROVE, ABCXYZ, OBJ)
(CANCER, LIVER, MODIFY)
一方で、検索用インデックス305(データベース)(図3)中の文書に、以下の文1003を含む文書があったとする。
「…癌の治療成績について…」
この文1003は、癌の治療成績について記載されており、検索クエリ1000と近い意味であるが、この部分を意味解析して得た意味構造1004から得られる意味最小単位1005は、次のようになる。
(CANCER, ABCXYZ, MODIFY)
この意味最小単位1005は、検索キー中の意味最小単位1002には、1つもマッチしない。意味構造1001と1004は、意味が近く、本当はマッチさせたい意味構造である。しかし、検索クエリ1000から生成される意味構造1001中では、“CANCER”と”ABCXYZ”は直接つながっていないので、これらの2つのノードを同時に含む意味最小単位は生成されない。この結果、検索漏れが発生する。
この検索漏れを防止するために、意味構造1001および1004中のアークをいったん全て切ってしまい、ノード全てに関して組合せを生成し、アークの種類は問わずにマッチさせるという方式が考えられる。図11は、そのような方式の説明図である。
図11(a)は、単語数が例えば4単語というように少ない検索クエリの文「太郎は花子に本をあげた。」から検索キーを抽出する場合の上記方式の処理例である。この文の意味構造からノードを抽出すると、例えば「GIVE TARO BOOK HANAKO」などのようになる。これから組合せで意味最小単位に展開を行うと、図11(a)の右側に表示されるように、組合せ数として4単語×3=12通りの意味最小単位が生成される。
図11(b)は、検索クエリの文中のキーワードが、例えば10、20、30、40、n個というように、増えた場合の組合せ数を算出した結果である。このように、上記方式だと、検索クエリの文中のキーワード数が増えると、その組合せ数が膨大となる。n個の場合はn×(n−1)通りの組合せとなる。
従って、この方式では、検索クエリの文が長くなると、検索時間が膨大になってしまうという問題点を有している。
さらにこの問題のみならず、ノイズ、すなわち意図しない検索結果となる組合せも多数生成されてしまうため、ユーザが検索に有効な組合せのみを生成する必要がある。
このような問題点が起こらないようにするための本実施形態について、以下に詳細に説明する。
図12は、本実施形態の説明図である。検索クエリ1200を意味解析し、意味構造1201を計算するところまでは、上述した基本的な意味検索技術と同様である。本実施形態では、意味最小単位の集合として検索キーが生成されるのではなく、意味構造による制約1202がかけられて検索キーが生成される。これにより、検索漏れを削減し、組合せ数が膨大にならず、検索ノイズが抑制された検索キー1203が生成される。
図13は、本実施形態による検索装置の構成図である。図3に示した基本的な意味検索技術を用いた検索装置の構成に対して、同じ機能を有する部分には同じ番号を付してある。図13の構成が図3の構成と異なる部分は、意味解析結果保存部1301と、検索キー生成部1302である。意味解析結果保存部1301は、意味解析部302における意味解析結果である意味構造を記憶する。本実施形態では、検索時に、図3の構成のように、検索部309は、意味解析部302が生成した意味最小単位保存部303に保存された意味最小単位の集合として検索キーを使用するのではない。本実施形態では、意味解析結果保存部1301に記憶された意味構造1201(図12)を入力とし、検索キー1203(図12)を生成する検索キー生成部1302を備える。検索部309は、この検索キー生成部1302が生成した検索キー1203を使って検索処理を実行する。
図13の検索装置において、データベース作成時には、図3と同様に、検索対象テキスト入力部301、意味解析部302、意味最小単位保存部303、データベース作成部304、および評価値計算部306が動作する。本実施形態における図13の検索装置におけるデータベース作成動作は、図3から図7を用いて前述したものと同様である。
すなわち、検索対象テキスト入力部301は、検索対象文書313をそれぞれ文ごとに分割し、文ごとに意味解析部302により意味解析を行って意味最小単位を生成し、意味最小単位保存部303に保存する。データベース作成部304は、意味最小単位保存部303に保存された意味最小単位に基づいて、検索用インデックス305を作成する。またあらかじめ、評価値計算部306が、検索用インデックス305に登録されたそれぞれの意味最小単位の出現頻度の評価値を計算し、評価値テーブル307に格納する。
図14は、本実施形態における検索キー生成のための制御処理を示すフローチャートである。
まず、ユーザにより入力された検索クエリ314を対象に意味解析処理が実行され、意味構造1201(図12参照)が生成される(ステップS1401)。
次に、ステップS1401の意味解析処理で得られた意味構造1201が記憶される(ステップS1402)。
以上のステップS1401とS1402の処理は、図13の入力部308、意味解析部302、および意味解析結果保存部1301の機能に対応する。
次に、意味解析結果保存部1301に記憶された意味構造1201からノードリストが作成される(ステップS1403)。図15は、ノードリストの作成処理の説明図である。ここでは、意味構造1201に含まれるノードのリスト(ノードリスト)1501が作成される。図15で示すと、ユーザにより入力された検索クエリ1200の自然文、例えば「翻訳家によって修正された単語を辞書に登録する手段をもつ。」が意味解析されて、意味構造1201が計算される。この意味構造1201に含まれるノードを列挙すると、次の通りとなる。
POSSESS
MEANS
REGISTER
WORD
DICTIONARY
CORRECT
TRANSLATOR
次に、ステップS1404とS1406の制御によるループ処理によって、ノードリスト1501中のそれぞれのノード(以後これを「ノードNi」と呼ぶ)に関して、検索キー生成処理が実行される(ステップS1405)。
ステップS1404からS1406のループ処理によって、全てのノードに対して検索キー1203(図12参照)が作成されたら、生成された検索キー1203が出力される(ステップS1407)。
図16は、図14のステップS1405の検索キー生成処理を示すフローチャートである。
以降、図15の例で生成されたノードリスト1501中のノード"MEANS"を例にとり説明する(ノードNi="MEANS")。
意味解析結果保存部1301に保存された意味構造1201が参照されることにより、ノードNiを起点として直結するノード(D_Ni_1,D_Ni_2,・・・)が列挙される(ステップ(S1601)。図15の例において、ノードNi(="MEANS")を起点として直結するノードを列挙すると、1つあり、
D_Ni_1="REGISTER"
となる。なお、ノード"POSSESS"は、"POSSESS"を起点として"MEANS"につながるため対象外となる。
ステップS1602とS1605の制御によるループ処理によって、それぞれの直結ノードD_Ni_n(n=1,2,・・・)に関して、以下の処理が実行される。
まず、ノードNiと直結ノードD_Ni_nをつなぐアーク(これを「アーク(A)」とする)がグループ化される。アーク(A)に対してグループ化されたアークをA_gとする(ステップS1603)。グループ化については後述する。
次に、検索キー1203(図12)として、「(Ni,D_Ni_A_g)」が生成されて記憶される(ステップS1604)。
ステップS1603とS1604のループ処理の具体例を以下に示す。
<ループ1回目:D_Ni_1>
いま、ノードNi(="MEANS")とノードD_Ni_1をつなぐアークは、図15の意味構造1201より、"PP"である。そこで、ステップS1603で、"PP"がグループ化されて"PP_GROUP"となる。図17は、アーク名とグループ名との対応関係の例を示す図である。この図に、"PP"がグループ化されて"PP_GROUP"になったことが示されている。
ステップS1604で、検索キー(MEANS,REGISTER,PP_GROUP) が生成されて記憶される。
<ループ終わり>
次に、意味解析結果保存部1301に保存された意味構造1201が参照されることにより、ノードNiに間接接続されるノード(I_Ni_1,I_Ni_2,・・・)が列挙される(ステップ(S1606)。間接接続の定義は、直接つながってはいないが、n個のアークによりつながっていることをいう。nはシステムで設定できるが、2以上の数で、[n=2か3か4]のように、複数設定してもよい。またアークの向きは無視するものとする。ここではn=2として説明する。
次に、ステップS1607とS1611の制御によるループ処理により、それぞれの間接接続ノードI_Ni_n(n=1,2,・・・)に関して、以下の処理が実行される。
まず、ノードNiと間接接続ノードI_Ni_nをつなぐ複数のアーク(これを「アークA1」,「アークA2」,・・・とする)がグループ化される。これらのグループ化されたアークをA1_g,A2_gとする(ステップS1608)。グループ化については後述する。
次に、検索キー1203(図12)として、「(Ni,I_Ni_[A1_g|A2_g|...])」が生成されて記憶される(ステップS1609)。
さらに、検索キー1203(図12)として、以下のものが生成されて記憶される(ステップS1610)。
(Ni,*1, [A1_g|A2_g|...]) AND (*1,I_Ni_n,[A1_g|A2_g|...])
ステップS1608からS1610のループ処理の具体例を以下に示す。
まず、図15に例示される意味構造1201で、ノードNi(="MEANS")に間接接続するノードが列挙される(ステップS1606)。図15で、"MEANS"に間接接続するノードは、"MEANS"からアーク"PP","OBJ"でつながっているノード"WORD"と、アーク"PP","LOC"でつながっているノード"DICTIONARY"である。
よって、
I_Ni_1="WORD"
I_Ni_2="DICTIONARY"
となる。
それぞれのI_Ni_nに関して、ステップS1607からS1611のループ処理が実行される。
<ループ1回目:I_Ni_1>
ノードNi(="MEANS")と間接接続ノードI_Ni_1をつなぐアーク"PP","OBJ"がそれぞれグループ化され、"PP_GROUP","OBJ_GROUP"とされる(ステップS1608)。図17にその様子が示されている。
検索キー1203として、「(MEANS,WORD,[PP_GROUP|OBJ_GROUP])」が生成されて記憶される(ステップS1609)。
さらに、検索キー1203として、以下の検索キーが生成されて記憶される(ステップS1610)。
(MEANS,*1,[PP_GROUP|OBJ_GROUP])AND(*1,WORD,[PP_GROUP|OBJ_GROUP])
この検索式の意味するところは、例えば図18(a)に示されるように、ある同じノードを1つ介してMEANSとWORDがつながっている構造を探す、ということである。このとき、アークの向きを指定してもしなくてもよい。アークの向きを指定しない場合は図18(b)のようになる。
<ループ2回目:I_Ni_2>
ノードNi(="MEANS")と間接接続ノードI_Ni_2をつなぐアーク"PP","LOC"がそれぞれグループ化され、"PP_GROUP","PLACE_GROUP"とされる(ステップS1608)。図17にその様子が示されている。
検索キー1203として、「(MEANS,DICTIONARY,[PP_GROUP|PLACE_GROUP])」が生成されて記憶される(ステップS1609)。
さらに、検索キー1203として、以下の検索キーが生成されて記憶される(ステップS1610)。
(MEANS,*1,[PP_GROUP|PLACE_GROUP])
AND
(*1,DICTIONARY,[PP_GROUP|PLACE_GROUP])
<ループ終わり>
以上により、1つの処理対象ノードNiに対する、図16のフローチャートで示される図14のステップS1405の検索キー生成処理が終了する。
上述のようにしてステップS1404からS1407までのループ処理によりノードNiごとに生成された検索キーが、図14のステップS1407で、図13の検索部309に出力されて、検索キー生成のための制御処理が終了する。
以上の説明において、ステップS1603またはステップS1608において、アークが図17に示されるようにグループ化されている。アークは文の意味を表すときの役割を示すものであり、例えばOBJやOBJ_Aは目的語を表すが、意味解析処理上かなり細かい分類がされている。本実施形態では、検索のヒット率を向上させるために、細かく分類されているアークのうち同じような関係を表すアークが、例えば図17に示されるようにグループ化される。
以上のステップS1403からS1407までの処理は、図13の検索キー生成部1302の機能に対応する。
例えば図15に例示されるノードNi="MEANS"の場合の検索キー1203の出力は、以下の5種類となる。
1.(MEANS,REGISTER,PP_GROUP)
2.(MEANS,WORD,[PP_GROUP|OBJ_GROUP])
3.(MEANS,*1,[PP_GROUP|OBJ_GROUP])
AND
(*1,WORD,[PP_GROUP|OBJ_GROUP])
4.(MEANS,DICTIONARY,[PP_GROUP|PLACE_GROUP])
5.(MEANS,*1,[PP_GROUP|PLACE_GROUP])
AND
(*1,DICTIONARY,[PP_GROUP|PLACE_GROUP])
上述の検索キー1203の出力を受けた図13の検索部309では、検索キー1203に含まれる各意味最小単位相当の検索要素において、グループ化されたアークの部分については、例えば次のように処理してよい。検索部309は、例えば図17に示される表を検索キー生成部1302から受け取る。検索部309は、その表を参照して、検索キー1203中でOR結合されている各部分のグループ化されているアークを、そのグループに属する個々のアークに分解する。検索部309は、この分解した個々のアークとアーク部分以外の部分とでそれぞれ意味最小単位を生成し、検索用インデックス305の意味最小単位とのマッチングをとる。このとき、検索部309は、アスタリスク「*」で示されているノード部分については、ワイルドカード検索を行う。ワイルドカード検索とは、その部分のノードは任意のノードでよいという条件にした検索をいう。あるいは、データベースの作成時に、検索用インデックス305内の各意味最小単位のアークの部分をグループ化されたアークに置き換えて、検索キー1203中の各グループ化されたアークとマッチングをとるようにしてもよい。
以上説明した本実施形態によれば、ゴミとなる検索キーの数を抑えて、類似した意味合いの文章まで検索可能として、マッチさせたい文書にマッチする検索キーを生成することにより、検索性能を向上させることが可能となる。
例えば、図12に示した「翻訳家によって修正された単語を辞書に登録する手段を持つ」というクエリに対して、任意の2つのノードの組み合わせを生成すると、マッチさせたくない文書にマッチしてしまう。以下は、そのような不要な検索キーである:
(CORRECT,DICTIONARY,*) 「辞書を修正する」「辞書の修正」「修正された辞書」「修正辞書」…
(MEANS,POSSESS,*) 「所有手段」「所有する手段」…
(POSSESS,DICTIONARY,*) 「辞書を持つ」「辞書の所有」…
(REGISTER,TRANSLATOR,*) 「翻訳家が登録する」「翻訳家を登録する」…
本実施形態によれば、このような不要な検索キーが生成されないように制御することが可能となる。
なお、以上の実施形態の説明では、間接接続の定義として、アークn個まで(nは固定)で接続するノードのつながりとしたが、図13の意味解析部302での意味解析の結果に応じて、検索キー生成部1302が、間接接続の検索単位を定義することもできる。
図19は、間接接続の他の制御方法の説明図であり、図19(a)は、ノードの品詞とアークを組み合わせた場合、何段階まで展開して検索キーとするかを制御するためのテーブルの構成例を示す図である。ここで「ノード2」とは、アークが到達するノードを示す。ノード2から別のアークが出発する場合、そのアークのグループにより、展開できるかどうかが決定される。
例えば、図19(b)で、"MEANS"ノードを起点とする場合、ノード2は"REGISTER"であるが、このノードは動詞の属性を持つ。"REGISTER"を起点としてのアークはPP_GROUPである。図19(a)の制御テーブルによると、動詞属性でPP_GROUPは「可」となっているので、アークの先の"WORD"は、"MEANS"に対して間接接続をしていることとする。
続いて、"WORD"が間接接続により到達されたノードとなったので、これをまた「ノード2」とすると、"WORD"は名詞属性を持ち、"WORD"を起点として"PP_GROUP"のアークが出ている。図19(a)によると、名詞属性で"PP_GROUP"は「否」とあるので、その先のノード"XYZXYZ"のノードは最初の起点"MEANS"とは間接接続ではない。
このように、アーク到達ノードの属性と、アーク到達ノードを起点とするアークの種類によりどこまで間接接続かを決定することが可能となる。
図20は、クラウド構成に対応した実施形態の構成例を示す図である。
データベース作成クライアント2000、データベース作成サーバ2010、ファイルサーバ2020、検索クライアント2030、検索サーバ2040、解析サーバ2050、およびこれらの機器をつなぐネットワーク2070から構成される。図20の構成は、図13に示される実施形態の各構成が、上記各サーバに分散されて設置されている構成を有する。図20において、図13の場合と同じ機能を有する部分には、同じ番号を付してある。
データベース作成時は、データベース作成クライアント2000のユーザがデータベースに格納したい全ての検索対象文書313を入力すると、図13と同様の検索対象テキスト入力部301がそれを受け付ける。そして、データベース作成クライアント2000内のデータベース作成サーバ接続部2001が、データベース作成サーバ2010に接続する。データベース作成サーバ2010では、検索対象テキスト受付部2011がデータベース作成クライアント2000からの検索対象文書313を受け付ける。データベース作成サーバ2010では、解析サーバ接続部2012が解析サーバ2050に接続する。この結果、解析サーバ2050内の意味解析部302が、データベース作成サーバ2010が受け付けた検索対象文書313に対して意味解析処理を実行する。この意味解析処理の結果である意味最小単位のデータは、解析サーバ2050からデータベース作成サーバ2010に送られる。データベース作成サーバ2010では、解析サーバ接続部2012が、意味最小単位の各データを受信して、意味最小単位保存部303に保存する。データベース作成サーバ2010において、データベース作成部304は、意味最小単位保存部303に保存されている各検索対象文書313ごとの意味最小単位に基づいて、検索用インデックス305を作成する。また、評価値計算部306が、検索用インデックス305に登録された各意味最小単位ごとの出現頻度の評価値を計算し、評価値テーブル307を作成する。データベース転送部2013は、上述の検索用インデックス305および評価値テーブル307を、ファイルサーバ2020に転送する。
データベースの検索時には、検索クライアント2030のユーザが、検索クエリ1200(図12参照)を指定する。この検索クエリ1200は、検索クライアント2030内の入力部308で受け付けられる。検索クライアント2030では、検索サーバ接続部2031が検索サーバ2040に接続し、受け付けた検索クエリ1200を検索サーバ2040に送信する。検索サーバ2040では、検索クエリ受付部2041が検索クライアント2030からの検索クエリ1200を受け付ける。検索サーバ2040では、解析サーバ接続部2042が解析サーバ2050に接続する。この結果、解析サーバ2050内の意味解析部302が、検索サーバ2040が受け付けた検索クエリ1200に対して意味解析処理を実行する。この意味解析処理の結果である意味構造1201(図12参照)のデータは、解析サーバ2050から検索サーバ2040に送られる。検索サーバ2040では、解析サーバ接続部2042が、意味構造1201のデータを受信して、意味解析結果保存部1301に保存する。検索サーバ2040において、検索キー生成部1302は、意味解析結果保存部1301に保存された意味構造1201に基づいて、検索キー1203(図12参照)を生成し、検索部309に出力する。検索部309は、検索キー生成部1302からの検索キー1203に基づいて、ファイルサーバ2020内の検索用インデックス305を検索し、検索結果を受け取る。さらに、検索サーバ2040内の評価値計算部306が、ファイルサーバ2020内の評価値テーブル307を参照することにより、検索部309で検索された文書ごとの評価値を計算する。検索サーバ2040内のランキング部311は、評価値計算部306での評価値の計算結果に基づいて、検索結果の文書をランキングする。検索部309は、ランキングされた検索結果の文書を、検索クライアント2030に返信する。検索クライアント2030では、検索サーバ接続部2031がランキングされた検索結果の文書を受信し、検索結果表示部312に表示する。
以上のクラウド構成により、データベースの作成、検索、記憶、およびそれに伴う意味解析処理を、例えばインターネットであるネットワーク2060を介して、分散処理によって効率的に実行することができる。
図21は、上記システムの全部または一部をソフトウェア処理として実現できるコンピュータのハードウェア構成の一例を示す図である。
図21に示されるコンピュータは、CPU2101、メモリ2102、入力装置2103、出力装置2104、外部記憶装置2105、可搬記録媒体2109が挿入される可搬記録媒体駆動装置2106、及び通信インタフェース2107を有し、これらがバス2108によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
CPU2101は、当該コンピュータ全体の制御を行う。メモリ2102は、プログラムの実行、データ更新等の際に、外部記憶装置2105(或いは可搬記録媒体2109)に記憶されているプログラム又はデータを一時的に格納するRAM等のメモリである。CPU2101は、プログラムをメモリ2102に読み出して実行することにより、全体の制御を行う。
入出力装置2103は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をCPU2101に通知し、CPU2101の制御によって送られてくるデータを表示装置や印刷装置に出力する。
外部記憶装置2105は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置2106は、光ディスクやSDRAM、コンパクトフラッシュ(登録商標)等の可搬記録媒体2109を収容するもので、外部記憶装置2105の補助の役割を有する。
通信インタフェース2107は、例えばLAN(ローカルエリアネットワーク)又はWAN(ワイドエリアネットワーク)の通信回線を接続するための装置である。
本実施形態によるシステムは、図14および図16のフローチャート等で実現される機能を搭載したプログラムをCPU2101が実行することで実現される。そのプログラムは、例えば外部記憶装置2105や可搬記録媒体2109に記録して配布してもよく、或いはネットワーク接続装置2107によりネットワークから取得できるようにしてもよい。
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
検索文を意味解析してグラフで表現される意味構造を生成する意味解析部と、
前記意味解析部によって生成された意味構造上のノード間の意味のつながりの最小単位に対応する検索キーに加えて、前記意味構造上で直接的または間接的に接続するノードの組合せに対応する検索キーを生成する検索キー生成部と、
前記生成された検索キーにより、検索対象文書を蓄積したデータベース上の検索用インデックスに格納されている当該検索対象文書に対応する意味構造上のノードの組合せとのマッチングを実行することにより、前記検索文にマッチする検索対象文書を検索する検索部と、
を備えることを特徴とする検索装置。
(付記2)
前記検索キー生成部は、前記間接的に接続するノードの組合せ間に存在するアークがOR結合された検索キーを生成する、
ことを特徴とする付記1に記載の検索装置。
(付記3)
前記検索部は、前記検索キー中の前記ノードの組合せに対応する前記OR結合された各アークを有する前記検索用インデックス内の前記ノードの組合せとの間でマッチングを実行する、
ことを特徴とする付記2に記載の検索装置。
(付記4)
前記検索キー生成部は、前記間接的に接続するノードの組合せの一方のノードと該組合せ間に存在するノードがワイルドカードで条件指定された検索キーを生成する、
ことを特徴とする付記1ないし3のいずれかに記載の検索装置。
(付記5)
前記検索キー生成部は、前記検索キー中の前記ノードの組合せに対応するアークのうち類似する関係を表すアークをグループ化して前記検索キーを生成する、
ことを特徴とする付記1ないし4のいずれかに記載の検索装置。
(付記6)
前記検索部は、前記検索キー中の前記ノードの組合せに対応する前記グループ化されたアークに属する各アークを有する前記検索用インデックス内の前記ノードの組合せとの間でマッチングを実行する、
ことを特徴とする付記5に記載の検索装置。
(付記7)
前記検索用インデックス内の前記ノードの組合せは前記グループ化されたアークで関係付けられ、
前記検索部は、前記検索キー中の前記ノードの組合せに対応する前記グループ化されたアークを有する前記検索用インデックス内の前記ノードの組合せとの間でマッチングを実行する、
ことを特徴とする付記5に記載の検索装置。
(付記8)
前記検索キー生成部は、前記ノードの属性と当該ノードを起点とするアークの属性により間接接続を定義する、
ことを特徴とする付記1ないし7のいずれかに記載の検索装置。
(付記9)
前記意味解析部、前記検索キー生成部、前記検索部、前記検索文を入力する検索クライアント部、前記データベースを作成するデータベース作成部、または該データベース作成部に前記検索対象文書を入力するデータベース作成クライアント部を、ネットワークを介して接続される複数のサーバコンピュータに備える、
ことを特徴とする付記1ないし8のいずれかに記載の検索装置。
(付記10)
検索文を意味解析してグラフで表現される意味構造を生成し、
前記意味解析によって生成された意味構造上のノード間の意味のつながりの最小単位に対応する検索キーに加えて、前記意味構造上で直接的または間接的に接続するノードの組合せに対応する検索キーを生成し、
前記生成された検索キーにより、検索対象文書を蓄積したデータベース上の検索用インデックスに格納されている当該検索対象文書に対応する意味構造上のノードの組合せとのマッチングを実行することにより、前記検索文にマッチする検索対象文書を検索する、
ことを特徴とする検索方法。
(付記11)
検索文を意味解析してグラフで表現される意味構造を生成するステップと、
前記意味解析によって生成された意味構造上のノード間の意味のつながりの最小単位に対応する検索キーに加えて、前記意味構造上で直接的または間接的に接続するノードの組合せに対応する検索キーを生成するステップと、
前記生成された検索キーにより、検索対象文書を蓄積したデータベース上の検索用インデックスに格納されている当該検索対象文書に対応する意味構造上のノードの組合せとのマッチングを実行することにより、前記検索文にマッチする検索対象文書を検索するステップと、
をコンピュータに実行させるためのプログラム。
101、1000、1200 検索クエリ
102 自然言語文
103、105、203、1002、1005 意味最小単位
104 データベース
106 検索対象文
201 原文
202 有向グラフ
301 検索対象テキスト入力部
302 意味解析部
303 意味最小単位保存部
304 データベース作成部
305 検索用インデックス
306 評価値計算部
307 評価値テーブル
308 入力部
309 検索部
310 評価値計算部
311 ランキング部
312 検索結果表示部
1001、1004、1201 意味構造
1003 データベース中の文書の文
1202 意味構造による制約
1203 検索キー
1301 意味解析結果保存部
1302 検索キー生成部
1501 ノードリスト
2000 データベース作成クライアント
2001 データベース作成サーバ接続部
2010 データベース作成サーバ
2011 検索対象テキスト受付部
2012 解析サーバ接続部
2013 データベース転送部
2020 ファイルサーバ
2030 検索クライアント
2031 検索サーバ接続部
2040 検索サーバ
2041 検索クエリ受付部
2042 解析サーバ接続部
2050 解析サーバ
2060 ネットワーク
2101 CPU
2102 メモリ
2103 入力装置
2104 出力装置
2105 外部記憶装置
2106 可搬記録媒体駆動装置
2107 通信インタフェース
2108 バス
2109 可搬記録媒体

Claims (6)

  1. 検索文を意味解析してグラフで表現される意味構造を生成する意味解析部と、
    前記意味解析部によって生成された意味構造上の2つのノードと該2つのノード間を直接接続するアークの種別とを表すことによって該2つのノード間の意味のつながりを検索対象とした第1のキー、前記意味構造上で複数のアークを介して間接的に接続されている2つの間接接続ノードと該複数のアークの各々についての前記種別である複数の種別とを表すことによって該2つの間接接続ノード間の間接的な意味のつながりを検索対象とした第2のキー、及び、該複数のアークの各々によって接続されている2つの被接続ノードと前記複数の種別とを表すことによって前記2つの間接接続ノード間に存在している該2つの被接続ノード間の意味のつながりを検索対象とした第3のキー、検索キーとして生成する検索キー生成部と、
    前記生成された検索キーにより、検索対象文書を蓄積したデータベース上の検索用インデックスに格納されている当該検索対象文書に対応する意味構造上のノードの組合せとのマッチングを実行することにより、前記検索文にマッチする検索対象文書を検索する検索部と、
    を備えることを特徴とする検索装置。
  2. 前記検索キーは、前記第2及び前記第3のキーにおいて表されている前記複数の種別がOR結合されている、
    ことを特徴とする請求項1に記載の検索装置。
  3. 前記検索キー生成部は、前記種別が類似する関係を表すアークをグループ化して前記検索キーを生成する、
    ことを特徴とする請求項1に記載の検索装置。
  4. 前記意味解析部、前記検索キー生成部、前記検索部、前記検索文を入力する検索クライアント部、前記データベースを作成するデータベース作成部、または該データベース作成部に前記検索対象文書を入力するデータベース作成クライアント部を、ネットワークを介して接続される複数のサーバコンピュータに備える、
    ことを特徴とする請求項1ないしのいずれかに記載の検索装置。
  5. 検索装置が行う検索方法であって、
    前記検索装置が備えている意味解析部が、検索文を意味解析してグラフで表現される意味構造を生成し、
    前記検索装置が備えている検索キー生成部が、前記意味解析によって生成された意味構造上の2つのノードと該2つのノード間を直接接続するアークの種別とを表すことによって該2つのノード間の意味のつながりを検索対象とした第1のキー、前記意味構造上で複数のアークを介して間接的に接続されている2つの間接接続ノードと該複数のアークの各々についての前記種別である複数の種別とを表すことによって該2つの間接接続ノード間の間接的な意味のつながりを検索対象とした第2のキー、及び、該複数のアークの各々によって接続されている2つの被接続ノードと前記複数の種別とを表すことによって前記2つの間接接続ノード間に存在している該2つの被接続ノード間の意味のつながりを検索対象とした第3のキー、検索キーとして生成し、
    前記検索装置が備えている検索部が、前記生成された検索キーにより、検索対象文書を蓄積したデータベース上の検索用インデックスに格納されている当該検索対象文書に対応する意味構造上のノードの組合せとのマッチングを実行することにより、前記検索文にマッチする検索対象文書を検索する、
    ことを特徴とする検索方法。
  6. 検索文を意味解析してグラフで表現される意味構造を生成するステップと、
    前記意味解析によって生成された意味構造上の2つのノードと該2つのノード間を直接接続するアークの種別とを表すことによって該2つのノード間の意味のつながりを検索対象とした第1のキー、前記意味構造上で複数のアークを介して間接的に接続されている2つの間接接続ノードと該複数のアークの各々についての前記種別である複数の種別とを表すことによって該2つの間接接続ノード間の間接的な意味のつながりを検索対象とした第2のキー、及び、該複数のアークの各々によって接続されている2つの被接続ノードと前記複数の種別とを表すことによって前記2つの間接接続ノード間に存在している該2つの被接続ノード間の意味のつながりを検索対象とした第3のキー、検索キーとして生成するステップと、
    前記生成された検索キーにより、検索対象文書を蓄積したデータベース上の検索用インデックスに格納されている当該検索対象文書に対応する意味構造上のノードの組合せとのマッチングを実行することにより、前記検索文にマッチする検索対象文書を検索するステップと、
    をコンピュータに実行させるためのプログラム。
JP2013191324A 2013-09-17 2013-09-17 検索装置、検索方法、およびプログラム Active JP6176017B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013191324A JP6176017B2 (ja) 2013-09-17 2013-09-17 検索装置、検索方法、およびプログラム
US14/480,237 US9659004B2 (en) 2013-09-17 2014-09-08 Retrieval device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013191324A JP6176017B2 (ja) 2013-09-17 2013-09-17 検索装置、検索方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2015060243A JP2015060243A (ja) 2015-03-30
JP6176017B2 true JP6176017B2 (ja) 2017-08-09

Family

ID=52668977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013191324A Active JP6176017B2 (ja) 2013-09-17 2013-09-17 検索装置、検索方法、およびプログラム

Country Status (2)

Country Link
US (1) US9659004B2 (ja)
JP (1) JP6176017B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156114A (zh) * 2015-04-03 2016-11-23 北京中献电子技术开发中心 专利检索方法和装置
CN105354325A (zh) * 2015-11-20 2016-02-24 上海熠派信息科技有限公司 一种文献检索及分析系统
CN105279283A (zh) * 2015-11-20 2016-01-27 上海熠派信息科技有限公司 一种公司名称编码系统
JP6638480B2 (ja) * 2016-03-09 2020-01-29 富士通株式会社 類似文書検索プログラム、類似文書検索装置、及び類似文書検索方法
JP6828335B2 (ja) 2016-09-15 2021-02-10 富士通株式会社 検索プログラム、検索装置および検索方法
WO2018161309A1 (zh) * 2017-03-09 2018-09-13 深圳市华第时代科技有限公司 自动查重方法及装置
US11176325B2 (en) * 2017-06-26 2021-11-16 International Business Machines Corporation Adaptive evaluation of meta-relationships in semantic graphs
CN107622042B (zh) * 2017-08-29 2021-07-06 科大讯飞股份有限公司 一种文书生成方法、装置、存储介质和电子设备
US11194842B2 (en) * 2018-01-18 2021-12-07 Samsung Electronics Company, Ltd. Methods and systems for interacting with mobile device
JP6435467B1 (ja) * 2018-03-05 2018-12-12 株式会社テンクー 検索システム及び検索システムの動作方法
CN110929019B (zh) * 2018-08-30 2022-06-10 北京蓝灯鱼智能科技有限公司 信息的展示方法和装置、存储介质、电子装置
JP6878379B2 (ja) * 2018-11-06 2021-05-26 キヤノンマーケティングジャパン株式会社 情報処理装置、制御方法、及びプログラム
JP7343311B2 (ja) * 2019-06-11 2023-09-12 ファナック株式会社 文書検索装置及び文書検索方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3526616B2 (ja) * 1994-06-20 2004-05-17 沖電気工業株式会社 データ検索装置
US5933822A (en) 1997-07-22 1999-08-03 Microsoft Corporation Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision
JP3353829B2 (ja) * 1999-08-26 2002-12-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 膨大な文書データからの知識抽出方法、その装置及び媒体
JP2001142897A (ja) 1999-11-15 2001-05-25 Ricoh Co Ltd 文書検索装置、文書検索方法、文書検索システム及び文書検索方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3856388B2 (ja) * 2003-04-15 2006-12-13 独立行政法人産業技術総合研究所 類義性計算方法、類義性計算プログラム、類義性計算プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006215717A (ja) 2005-02-02 2006-08-17 Toshiba Corp 情報検索装置、情報検索方法および情報検索プログラム
JP4881147B2 (ja) * 2006-12-20 2012-02-22 トヨタ自動車株式会社 情報検索装置
MX2010002350A (es) * 2007-08-31 2010-07-30 Microsoft Corp Identificacion de relaciones semanticas dentro de lenguaje reportado.
JP5866922B2 (ja) * 2011-09-22 2016-02-24 富士ゼロックス株式会社 検索装置及びプログラム
US9477759B2 (en) * 2013-03-15 2016-10-25 Google Inc. Question answering using entity references in unstructured data

Also Published As

Publication number Publication date
US9659004B2 (en) 2017-05-23
US20150081715A1 (en) 2015-03-19
JP2015060243A (ja) 2015-03-30

Similar Documents

Publication Publication Date Title
JP6176017B2 (ja) 検索装置、検索方法、およびプログラム
Bennani-Smires et al. Simple unsupervised keyphrase extraction using sentence embeddings
US10585924B2 (en) Processing natural-language documents and queries
US9448995B2 (en) Method and device for performing natural language searches
US8910120B2 (en) Software debugging recommendations
JP5710581B2 (ja) 質問応答装置、方法、及びプログラム
Krishnaveni et al. Automatic text summarization by local scoring and ranking for improving coherence
KR20100075454A (ko) 간접 화법 내에서의 시맨틱 관계의 식별
US11573989B2 (en) Corpus specific generative query completion assistant
JP2011118689A (ja) 検索方法及びシステム
US20120096028A1 (en) Information retrieving apparatus, information retrieving method, information retrieving program, and recording medium on which information retrieving program is recorded
JP5497105B2 (ja) 文書検索装置および方法
Rusu et al. Document visualization based on semantic graphs
Groza et al. From raw publications to linked data
WO2009113289A1 (ja) 新規事例生成装置、新規事例生成方法及び新規事例生成用プログラム
Klang et al. Linking, searching, and visualizing entities in wikipedia
JP4401269B2 (ja) 対訳判断装置及びプログラム
Ketui et al. An EDU-based approach for Thai multi-document summarization and its application
JP4148247B2 (ja) 語彙獲得方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体
JP5260123B2 (ja) 検索システム、索引作成装置、検索エンジン、索引作成方法、検索方法およびプログラム
Mirisaee et al. Terminology-based text embedding for computing document similarities on technical content
CN114391142A (zh) 使用结构化和非结构化数据的解析查询
Mendes et al. Just. Ask—A multi-pronged approach to question answering
Zheng et al. An improved focused crawler based on text keyword extraction
Shin et al. Bringing bag-of-phrases to ODP-based text classification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170626

R150 Certificate of patent or registration of utility model

Ref document number: 6176017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150