JP2018013863A - 符号化プログラム、検索プログラム、符号化装置、検索装置、符号化方法、及び検索方法 - Google Patents

符号化プログラム、検索プログラム、符号化装置、検索装置、符号化方法、及び検索方法 Download PDF

Info

Publication number
JP2018013863A
JP2018013863A JP2016141598A JP2016141598A JP2018013863A JP 2018013863 A JP2018013863 A JP 2018013863A JP 2016141598 A JP2016141598 A JP 2016141598A JP 2016141598 A JP2016141598 A JP 2016141598A JP 2018013863 A JP2018013863 A JP 2018013863A
Authority
JP
Japan
Prior art keywords
information
semantic
semantic structure
search
sentence
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.)
Granted
Application number
JP2016141598A
Other languages
English (en)
Other versions
JP6737025B2 (ja
Inventor
清司 大倉
Seiji Okura
清司 大倉
片岡 正弘
Masahiro Kataoka
正弘 片岡
将夫 出内
Masao Ideuchi
将夫 出内
文昭 中村
Fumiaki Nakamura
文昭 中村
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 JP2016141598A priority Critical patent/JP6737025B2/ja
Priority to US15/650,310 priority patent/US10740562B2/en
Publication of JP2018013863A publication Critical patent/JP2018013863A/ja
Application granted granted Critical
Publication of JP6737025B2 publication Critical patent/JP6737025B2/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/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

【課題】意味構造検索において、検索対象文書から欠落している形態素の情報を補完する処理の処理量を削減する。
【解決手段】コンピュータは、文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成する(ステップ501)。次に、コンピュータは、複数の文それぞれについて、複数の形態素それぞれを符号化した複数の符号を生成する(ステップ502)。そして、コンピュータは、複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、特定された符号それぞれに対し、欠落情報をそれぞれ付加する(ステップ503)。
【選択図】図5

Description

本発明は、符号化プログラム、検索プログラム、符号化装置、検索装置、符号化方法、及び検索方法に関する。
近年、テキストデータの量が爆発的に増大しており、テキスト検索の重要性が増している。特に、秘書機能アプリケーションソフトウェア等のための意味処理の研究が盛んになってきており、自然文の意味構造の検索がますます重要になってきている。
テキスト検索で用いられる自然文の解析には、字句解析、形態素解析、意味解析等が利用されている。字句解析は、文字列を単語に分割する処理であり、形態素解析は、文字列を形態素に分割し、各形態素に対して品詞、属性等の情報を付与する処理である。形態素解析により得られる形態素は、単語として扱われることもある。
意味解析は、自然文の形態素解析結果を用いて、その自然文の意味構造を求める処理である。意味解析結果である意味構造を用いることで、自然文が何を意味するかを、コンピュータが扱うデータとして表現することができる。
意味構造は、形態素解析結果に含まれる複数の単語の意味をそれぞれ表す複数の意味記号と、2つの意味記号の間の接続関係を表す情報とを含む。1つの意味記号が複数の単語に対応する場合もある。意味構造は、例えば、複数の意味記号を表す複数のノードと、2つのノード間の接続関係を表すアークとからなる有向グラフにより表すことができる。意味構造の最小の部分構造は、意味最小単位と呼ばれ、2つのノードとそれらのノードの間のアークとからなる。
複数の文書に含まれるテキストデータに対して形態素解析及び意味解析を行うことで、自然文の検索要求の意味構造を用いて複数の文書を検索する意味構造検索を実現することができる。
特開2013−186766号公報 特開2010−93414号公報 国際公開第2012/111078号パンフレット 国際公開第2011/148511号パンフレット 特開2012−22599号公報 特開2012−150586号公報
主語、目的語等が省略されている等の、意味構造上で欠落のある不完全な文を対象として意味構造検索を行う場合、省略された語、すなわち、意味構造上欠落のある形態素を補完する処理が必要となるため、補完処理の分の計算量が増加する。
1つの側面において、本発明は、意味構造検索において、検索対象文書から欠落している形態素の情報を補完する処理の処理量を削減することを目的とする。
1つの案では、符号化プログラムは、以下の処理をコンピュータに実行させる。
(1)コンピュータは、文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成する。
(2)コンピュータは、複数の文それぞれについて、複数の形態素それぞれを符号化した複数の符号を生成する。
(3)コンピュータは、複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、特定された符号それぞれに対し、欠落情報をそれぞれ付加する。
1つの実施形態によれば、意味構造検索において、検索対象文書から欠落している形態素の情報を補完する処理の処理量を削減することができる。
文書に含まれる第1文の意味構造を示す図である。 文書に含まれる第2文の意味構造を示す図である。 照応解析を用いた意味構造検索処理のフローチャートである。 符号化装置の機能的構成図である。 符号化処理のフローチャートである。 検索装置の機能的構成図である。 検索処理のフローチャートである。 符号化装置の具体例を示す機能的構成図である。 符号化文書を示す図である。 符号化処理の具体例を示すフローチャートである。 文書の解析結果を示す図である。 第1文の意味構造に対応する接続表を示す図である。 第2文の意味構造に対応する接続表を示す図である。 アークの符号を示す図である。 第1文の意味構造情報を示す図である。 第2文の意味構造情報を示す図である。 符号化文書の具体例を示す図である。 検索装置の具体例を示す機能的構成図である。 検索処理を示す図である。 検索処理の具体例を示すフローチャートである。 検索要求の意味構造を示す図である。 検索要求の意味構造に対応する接続表を示す図である。 検索要求意味構造情報を示す図である。 意味構造情報マッチング処理のフローチャートである。 第1文の「サーバー」に対する意味構造情報マッチング処理を示す図である。 第1文の「起動し」に対する意味構造情報マッチング処理を示す図である。 第2文の「起動し」に対する意味構造情報マッチング処理を示す図である。 否定フラグを含む付加情報を示す図である。 文の末尾から順に符号を並べた符号化文書を示す図である。 一連の符号の後に付加情報を並べた符号化文書を示す図である。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
先願である特願2015−8936号に記載された技術(以下では、先願技術と記載する)では、文書に対する形態素解析により得られた形態素と、意味解析により得られた意味記号とを併せた一連の符号を用いて、文書が符号化される。これにより、形態素解析結果と意味解析結果との対応関係を符号化文書に効果的に埋め込むことができ、意味記号を用いて直接符号化文書を検索することが可能になる。
しかしながら、先願技術では、検索対象文書に含まれる文及び検索要求に含まれる文が、主語、目的語等が省略されていない完全な文であることを前提としている。このため、主語、目的語等が省略されている不完全な文を対象として意味構造検索を行う場合、何らかの問題が生じる。
例えば、「パッチはサーバーに当てて再起動した。すると、起動しなかった。」という文書が検索対象である場合、この文書は以下の2文を含んでいる。
第1文:「パッチはサーバーに当てて再起動した。」
第2文:「すると、起動しなかった。」
図1は、第1文の意味構造の例を示している。第1文は、「パッチ」、「は」、「サーバー」、「に」、「当て」、「て」、「再」、「起動し」、「た」、及び「。」の10個の形態素を含む。このうち、「パッチ」、「サーバー」、「当て」、「再」、及び「起動し」に対応する意味記号は、それぞれ、PA001、SE001、AP001、AG001、及びBO001である。
BO001とAG001の間の接続関係は<修飾>であり、BO001とAP001の間の接続関係は<順接>である。AP001とSE001の間の接続関係は<目標>であり、AP001とPA001の間の接続関係は<対象>である。さらに、BO001は、<中心>を表すアークを有する。
図1の意味構造においては、「サーバー」は「起動し」の直接の目的語ではない。このため、例えば、「サーバーを再起動する」という自然文の検索要求に対して単純にマッチしない。
図2は、第2文の意味構造の例を示している。第2文は、「すると」、「起動し」、「なかっ」、「た」、及び「。」の5個の形態素を含む。このうち、「すると」及び「起動し」に対応する意味記号は、それぞれ、TH001及びBO001である。BO001とTH001の間の接続関係は<順接>である。さらに、BO001は、<中心>、<過去>、及び<否定>を表すアークを有する。
第2文の「起動し」の主語は、第1文の「サーバー」であるが、第2文では省略されている。しかし、先願技術における意味構造検索の単位は文であるため、第2文内では主語が見つからない。
そこで、意味構造検索で検索要求として与えられる自然文を想定して、事前にその自然文に含まれる主語、目的語等を意味構造に展開しておく方法が考えられる。しかし、すべての検索要求のバリエーションを事前に推定することは極めて困難であり、仮にバリエーションが推定できたとしても、展開された意味構造の情報量が膨大になるため、この方法は現実的とは言えない。
一方、検索要求に応じて検索対象となる意味構造を柔軟にマッチングできるようにする方法も考えられる。この場合、省略された主語、目的語等は、照応解析によって補完される。
照応解析は、文に含まれる代名詞の指す語句、文中で省略されている省略語等を同定する処理である。例えば、動詞に対する主語が省略されている場合、その文よりも前の文に出現する単語の中から、主語になり得る単語が検索される。そして、検索した単語と動詞の解析結果を再度検証して、その単語が動詞の主語であるか否かを判定することで、省略された主語を同定することができる。
しかし、照応解析は難しい処理であり、正しい解析結果が得られる確率は約60〜70%にとどまり、計算量も膨大になる。このため、意味構造検索と照応解析とを並行して行うと、処理に用いるリソースが膨大になる。
図3は、照応解析を用いた意味構造検索処理の例を示すフローチャートである。まず、検索装置は、検索要求に含まれる意味最小単位が検索対象文書の意味構造にマッチするか否かをチェックする(ステップ301)。意味最小単位が検索対象文書の意味構造にマッチした場合(ステップ301,YES)、検索装置は、意味最小単位のスコアを所定値に設定し(ステップ302)、その意味最小単位のスコアを検索対象文書のスコアに加算する(ステップ303)。
一方、意味最小単位が検索対象文書の意味構造にマッチしない場合(ステップ301,NO)、検索装置は、照応解析を行って(ステップ304)、単語が省略されている否かをチェックする(ステップ305)。単語が省略されている場合(ステップ305,YES)、検索装置は、意味最小単位のスコアを所定値×0.5に設定して(ステップ306)、ステップ303の処理を行う。単語が省略されていない場合(ステップ305,NO)、検索装置は、意味最小単位のスコアを加算せずに、処理を終了する。
このように、主語の省略等の現象に対応するためには、検索要求に対するマッチングとは別に照応解析が行われ、マッチングと照応解析の処理が分離される。検索対象文書にN個の意味記号が含まれている場合、1回の照応解析の計算量はN×Nのオーダーになる。図3は、検索キーとなる意味最小単位が1個の場合の意味構造検索を示しているが、実際の意味構造検索では数十個の検索キーが用いられることもある。その場合、ステップ301〜ステップ306の処理が検索キーの個数と同じ回数だけ繰り返され、計算量がさらに増加する。
図4は、実施形態の符号化装置の機能的構成例を示している。符号化装置401は、記憶部411及び符号化部412を含む。記憶部411は、文書421を記憶する。符号化部412は、記憶部411が記憶する文書421を符号化する。
図5は、図4の符号化装置401が行う符号化処理の例を示すフローチャートである。まず、符号化部412は、文書421に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成する(ステップ501)。次に、符号化部412は、複数の文それぞれについて、複数の形態素それぞれを符号化した複数の符号を生成する(ステップ502)。そして、符号化部412は、複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、特定された符号それぞれに対し、欠落情報をそれぞれ付加する(ステップ503)。
図4の符号化装置401によれば、意味構造検索において、検索対象文書から欠落している形態素の情報を補完する処理の処理量を削減することができる。
図6は、実施形態の検索装置の機能的構成例を示している。検索装置601は、記憶部611、検索部612、及び出力部613を含む。記憶部611は、検索対象意味構造情報、複数の符号、及び欠落情報を含む符号化文書621を記憶する。
検索対象意味構造情報は、検索対象文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す。複数の符号は、複数の文それぞれについて、複数の形態素それぞれを符号化することで生成される。欠落情報は、複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号それぞれに対して付加される。
例えば、図4の文書421が検索対象文書である場合、符号化装置401によって文書421を符号化することで、符号化文書621が生成される。検索部612は、検索要求に基づいて、記憶部411が記憶する符号化文書621を検索し、出力部613は、検索結果を出力する。
図7は、図6の検索装置601が行う検索処理の例を示すフローチャートである。まず、検索部612は、検索要求に含まれる複数の形態素が属する意味構造を表す検索要求意味構造情報を生成し(ステップ701)、符号化文書621から、検索要求意味構造情報に基づいて検索要求に対応する文を検索する(ステップ702)。そして、出力部613は、検索結果を出力する(ステップ703)。
図6の検索装置601によれば、意味構造検索において、検索対象文書から欠落している形態素の情報を補完する処理の処理量を削減することができる。
図8は、図4の符号化装置401の具体例を示している。図8の符号化装置401は、記憶部411、符号化部412、解析部801、及び出力部802を含む。記憶部411は、文書421及び符号化情報811を記憶する。符号化情報811は、形態素と符号との対応関係を表し、符号化辞書と呼ばれることもある。
解析部801は、記憶部411が記憶する文書421に対して、形態素解析及び意味解析を行い、形態素解析結果及び意味解析結果を含む解析結果812を生成して、記憶部411に格納する。符号化部412は、符号化情報811及び解析結果812を用いて文書421を符号化することで、符号化文書621を生成し、記憶部411に格納する。出力部802は、符号化文書621を図6の検索装置601へ出力する。
図9は、符号化文書621の例を示している。図9の符号化文書621は、符号901−1〜符号901−N、付加情報902−1〜付加情報902−N、及び意味構造情報903−1〜意味構造情報903−Mを含む。Nは、文書421に含まれる形態素の個数を表し、Mは、意味構造におけるノードに対応する形態素の個数を表す。したがって、M≦Nである。
符号901−i(i=1〜N)は、符号化情報811によって各形態素に対応付けられた符号であり、付加情報902−iは、各符号に対して付加された情報である。意味構造情報903−j(j=1〜M)は、各形態素が属する意味構造を表す情報である。
符号901−iは、文書421内の先頭の文から末尾の文へ向かって、文毎にまとめて配置され、各文に対応する複数の符号901−iは、その文の先頭の符号901−iから順に並べられている。そして、符号901−1〜符号901−Nに続いて、意味構造情報903−jが符号901−iと同じ順序で配置される。
図10は、図8の符号化装置401が行う符号化処理の具体例を示すフローチャートである。まず、解析部801は、文書421に対して形態素解析を行って形態素解析結果を生成し(ステップ1001)、文書421に対して意味解析を行って意味解析結果を生成する(ステップ1002)。そして、解析部801は、形態素解析結果及び意味解析結果を含む解析結果812を記憶部411に格納する。
次に、符号化部412は、文書421内の各文に含まれる各形態素の意味構造情報を生成し(ステップ1003)、符号化情報811を用いて、各形態素を対応する符号に置き換えることで、各形態素を符号化する(ステップ1004)。そして、符号化部412は、各形態素の付加情報を生成し、対応する符号に対して付加する(ステップ1005)。これにより、符号、付加情報、及び意味構造情報を含む符号化文書621が生成される。
図11は、解析結果812の例を示している。図11の解析結果812は、上述した「パッチはサーバーに当てて再起動した。すると、起動しなかった。」という文書421の解析結果を表している。文番号は、文書421に含まれる文の識別情報であり、文番号“1”及び文番号“2”は、それぞれ、第1文及び第2文に対応する。以下では、第1文及び第2文を、それぞれ、文1及び文2と記載することがある。
文頭からの位置は、各文に含まれる形態素の識別情報であり、文頭から何番目の形態素であるかを表す。例えば、文1の「パッチ」は、1番目の形態素であり、「サーバー」は、3番目の形態素であり、文2の「起動し」は、2番目の形態素である。
以下では、文番号pの文の文頭からq番目の位置に存在する形態素を、[p,q]「形態素」と表記することがある。例えば、文1の「パッチ」は、[1,1]「パッチ」と表記され、「サーバー」は、[1,3]「サーバー」と表記され、文2の「起動し」は、[2,2]「起動し」と表記される。
付加情報は、図10のステップ1005において生成される付加情報であり、参照フラグ及び照応情報を含む。参照フラグは、論理“1”のとき、符号化文書621内において、各形態素に対応する意味構造情報が存在することを示し、論理“0”のとき、その意味構造情報が存在しないことを示す。
例えば、[1,1]「パッチ」の参照フラグ“1”は、対応する意味構造情報が存在することを示し、[1,2]「は」の参照フラグ“0”は、対応する意味構造情報が存在しないことを示す。
照応情報は、照応フラグf及び位置情報Xを用いて、“f”又は“f:X”の形式で記述される。照応フラグfは、論理“1”のとき、文書421内において、符号に対応する形態素と同じ意味記号に対応する形態素が、その符号に対応する形態素よりも前に出現することを示す。この場合、照応情報は“f:X”の形式で記述され、位置情報Xを含む。
位置情報Xは、文書421内において、同じ意味記号に対応する形態素が出現する文を特定する情報であり、X文前の文に同じ意味記号に対応する形態素が出現することを表す。照応情報“1:X”は、欠落情報として符号に付加される。
また、照応フラグfは、論理“0”のとき、同じ意味記号に対応する形態素が前に出現しないことを示す。この場合、照応情報は“f”の形式で記述され、照応情報“0”は、非出現情報として符号に付加される。
例えば、[1,1]「パッチ」の照応情報“0”は、「パッチ」と同じ意味記号に対応する形態素が前に出現しないことを示す。また、[2,2]「起動し」の照応情報“1:1”は、「起動し」と同じ意味記号に対応する形態素が1文前に出現することを示す。
図10のステップ1003において、符号化部412は、各文の意味構造に対応する接続表を生成し、その接続表に基づいて各形態素の意味構造情報を生成する。
図12は、図1に示した第1文の意味構造に対応する接続表の例を示している。図12の接続表の各行及び各列の意味記号は、意味構造に含まれるノードを表す。各セル内の“:”の左側の数字dは、セルに対応する行が表すノードと列が表すノードとの間の接続距離を表す接続距離情報である。d=2は、2つのノードが直接接続していることを示し、d≧3は、2つのノードが(d−2)個のノードを介して間接的に接続していることを示す。
また、各セル内の“:”の右側の文字列は、2つのノードの間のアークに対応する接続関係を表す接続関係情報である。文字列の先頭の“+”は、行が表すノードから列が表すノードへアークが向かうことを示し、“−”は、列が表すノードから行が表すノードへアークが向かうことを示す。接続関係情報は、d=2のセルのみに対して付加される。
以下では、接続表内におけるセルの位置を、(行が表すノードの意味記号,列が表すノードの意味記号)を用いて表記する。例えば、(SE001,PA001)のセルの“3:”は、SE001(サーバー)とPA001(パッチ)とが1個のノードを介して間接的に接続されていることを表す。
(SE001,AP001)のセルの“2:−目標”は、SE001とAP001(当て)とが<目標>を表すアークによって直接接続されており、アークがAP001からSE001へ向かうことを表す。(SE001,AG001)のセルの“4:”は、SE001とAG001(再)とが2個のノードを介して間接的に接続されていることを表す。(SE001,BO001)のセルの“3:”は、SE001とBO001(起動し)とが1個のノードを介して間接的に接続されていることを表す。
(AP001,PA001)のセルの“2:+対象”は、AP001(当て)とPA001(パッチ)とが<対象>を表すアークによって直接接続されており、アークがAP001からPA001へ向かうことを表す。(AP001,SE001)のセルの“2:+目標”は、AP001とSE001(サーバー)とが<目標>を表すアークによって直接接続されており、アークがAP001からSE001へ向かうことを表す。
(AP001,AG001)のセルの“3:”は、AP001とAG001(再)とが1個のノードを介して間接的に接続されていることを表す。(AP001,BO001)のセルの“2:−順接”は、AP001とBO001(起動し)とが<順接>を表すアークによって直接接続されており、アークがBO001からAP001へ向かうことを表す。
(BO001,PA001)のセルの“3:”は、BO001(起動し)とPA001(パッチ)とが1個のノードを介して間接的に接続されていることを表す。(BO001,SE001)のセルの“3:”は、BO001とSE001(サーバー)とが1個のノードを介して間接的に接続されていることを表す。
(BO001,AP001)のセルの“2:+順接”は、BO001とAP001(当て)とが<順接>を表すアークによって直接接続されており、アークがBO001からAP001へ向かうことを表す。(BO001,AG001)のセルの“2:+修飾”は、BO001とAG001(再)とが<修飾>を表すアークによって直接接続されており、アークがBO001からAG001へ向かうことを表す。
図13は、図2に示した第2文の意味構造に対応する接続表の例を示している。例えば、(TH001,BO001)のセルの“2:−順接”は、TH001(すると)とBO001(起動し)とが<順接>を表すアークによって直接接続されており、アークがBO001からTH001へ向かうことを表す。(BO001,TH001)のセルの“2:+順接”も、(TH001,BO001)のセルと同じ情報を表す。
一方、(BO001,BO001)のセルの“否定”は、BO001(起動し)が<否定>を表すアークを有することを表す。このように、<否定>を表す接続関係情報は、接続表内において、行と列が同じ意味記号に対応する対角セルに格納される。
図14は、アークの接続関係に対応する符号の例を示している。図14の例では、<動作主>、<条件>、<対象>、<逆接>、<順接>、<目標>、及び<修飾>に対して、符号“1”〜符号“7”がそれぞれ割り当てられており、<否定>に対して符号“−1”が割り当てられている。
図15は、図12の接続表から生成される第1文の意味構造情報の例を示している。図15の意味構造情報は、図12の接続表における各行の情報を表すビット列を含む。各行のビット列は、接続距離を表す3ビットの情報を列の個数だけ含み、接続距離が2である列に対して、接続関係を表す8ビットの情報を列の個数だけ含む。空白セルの接続距離は0に設定される。
例えば、SE001(サーバー)のビット列は、5個の接続距離を表す15ビットのビット列“000 011 010 100 011”と、1個の接続関係を表す8ビットのビット列“11111101”とを含む。
AP001(当て)のビット列は、5個の接続距離を表す15ビットのビット列“010 010 000 011 010”と、3個の接続関係を表す24ビットのビット列“00000011 00000110 11111011”とを含む。
BO001(起動し)のビット列は、5個の接続距離を表す15ビットのビット列“011 011 010 001 000”と、2個の接続関係を表す16ビットのビット列“00000101 00000111”とを含む。
図15の意味構造情報では、図12の接続表の各セルの接続距離情報が3ビットで表されるため、5×5の接続表全体の接続距離情報を格納するための記憶容量は、3ビット×5×5=75ビット=約9バイトである。また、各セルの接続関係情報は8ビットで表されるため、接続表の接続関係情報を格納するための記憶容量は、1バイト×アークの個数×2=1×4×2=8バイトである。したがって、意味構造情報を格納するための記憶容量は、9+8=17バイトである。
これに対して、上述した先願技術の符号化文書では、1個の意味最小単位に対して6バイトの符号が割り当てられ、意味最小単位の個数に比例して符号量が増加する。したがって、図12の接続表に対応する5個の意味最小単位を格納するための記憶容量は、6バイト×5=30バイトである。
このように、図15の意味構造情報を用いれば、先願技術の約56.7%の記憶容量で、同じ意味構造を格納することができる。
図16は、図13の接続表から生成される第2文の意味構造情報の例を示している。<否定>を表すセルの接続距離は−1に設定される。
例えば、TH001(すると)のビット列は、2個の接続距離を表す6ビットのビット列“000 010”と、1個の接続関係を表す8ビットのビット列“11111011”とを含む。BO001(起動し)のビット列は、2個の接続距離を表す6ビットのビット列“010 111”と、2個の接続関係を表す16ビットのビット列“00000101 11111111”とを含む。
図17は、「パッチはサーバーに当てて再起動した。すると、起動しなかった。」という文書421から生成される符号化文書621の具体例を示している。この具体例では、第1文の「サーバーに当てて再起動し」に対応する符号、付加情報、及び意味構造情報が示されており、その前後の文字列及び第2文に対応する情報は省略されている。
符号1701−1〜符号1701−6は、それぞれ、「サーバー」、「に」、「当て」、「て」、「再」、及び「起動し」に対応する符号である。付加情報1702−1〜付加情報1702−6は、それぞれ、符号1701−1〜符号1701−6に対して付加された付加情報であり、図11に示した付加情報に対応している。
意味構造情報1703−1〜意味構造情報1703−4は、それぞれ、「サーバー」、「当て」、「再」、及び「起動し」の意味構造情報であり、図15に示した意味構造情報に対応している。付加情報1702−i(i=1〜6)の参照フラグが論理“1”である4個の符号(i=1,3,5,6)に対して、それらの符号と同じ順序で、意味構造情報1703−j(j=1〜4)が格納されている。
このように、各形態素の符号の直後に付加情報を格納することで、検索処理を行う際に、意味構造情報を参照するか否かを効率的に判定することができるとともに、照応情報を直ちに参照することができる。また、複数の形態素の符号と、それらの形態素の意味構造情報とを、同じ順序で並べて格納することで、符号から対応する意味構造情報へ高速にアクセスすることが可能になる。
各形態素に対応する意味構造情報は、その形態素と他の形態素との接続距離及び接続関係を表す最小限の情報にあらかじめ絞り込むことができ、意味構造に属するどの形態素からでも意味構造情報へアクセスすることができる。
図18は、図6の検索装置601の具体例を示している。図18の検索装置601は、記憶部611、検索部612、出力部613、及び解析部1801を含む。記憶部611は、図8の符号化装置401から出力される符号化文書621を記憶する。
検索部612は、ユーザによって自然文の検索要求1811が入力されると、入力された検索要求1811を受け付けて、記憶部611に格納する。解析部1801は、検索要求1811に対して形態素解析及び意味解析を行い、形態素解析結果及び意味解析結果を含む解析結果1812を生成して、記憶部611に格納する。
検索部612は、解析結果1812を用いて、検索要求1811の意味構造を表す検索要求意味構造情報1813を生成し、記憶部611に格納する。また、検索部612は、解析結果1812を用いて、検索要求1811に含まれる2つの形態素の組み合わせのスコアを表すスコア情報1814を生成し、記憶部611に格納する。そして、検索部612は、解析結果1812及び検索要求意味構造情報1813を用いて、符号化文書621を検索し、検索結果1815を生成して、記憶部611に格納する。出力部613は、検索結果1815を出力する。
図19は、図9の符号化文書621に対する検索処理の例を示している。この場合、意味構造情報903−1〜意味構造情報903−Mは、検索対象意味構造情報に対応する。
まず、検索部612は、検索要求1811に含まれる形態素の符号を符号化文書621の先頭から順に検索し、符号901−2及び符号901−3が検索要求1811の符号とマッチする。そこで、検索部612は、符号901−2及び符号901−3に付加されている付加情報902−2及び付加情報902−3を参照する。
付加情報902−2の参照フラグが論理“1”であり、付加情報902−3の参照フラグが論理“0”である場合、検索部612は、符号901−2に対応する意味構造情報903−2を参照する。そして、検索部612は、検索要求意味構造情報1813と意味構造情報903−2とを比較することで、検索要求1811の意味構造が、符号901−2に対応する形態素が属する意味構造にマッチするか否かをチェックする。
そして、検索部612は、スコア情報1814を用いて、符号901−2に対応する形態素が属する意味構造に対する検索要求1811のスコアを計算し、計算したスコアを用いて検索結果1815を生成する。
この場合、符号901−2に対応する形態素が属する意味構造に、符号901−1に対応する形態素の意味記号が含まれていたとしても、検索部612は、符号901−1に対応する意味構造情報903−1を参照する必要はない。
このような検索処理によれば、意味構造のみに基づいて検索を行うのではなく、まず、高速な形態素マッチングが行われ、マッチした形態素に対してのみ、計算量の多い意味構造情報マッチングが行われる。これにより、検索処理の負荷が削減される。
図20は、図18の検索装置601が行う検索処理の具体例を示すフローチャートである。まず、検索部612は、符号化文書621のスコアSC1を0に設定する(ステップ2001)。次に、検索部612は、解析結果1812を用いて、検索要求1811の意味構造に対応する接続表を生成し、その接続表に基づいて検索要求意味構造情報1813を生成する(ステップ2002)。
図21は、検索要求1811の意味構造の例を示している。図21の意味構造は、「サーバーが起動しない。」という検索要求1811に対応する。この検索要求1811は、「サーバー」、「が」、「起動し」、「ない」、及び「。」の5個の形態素を含む。このうち、「サーバー」及び「起動し」に対応する意味記号は、それぞれ、“SE001”及び“BO001”である。“BO001”と“SE001”の間の接続関係は<動作主>である。さらに、“BO001”は、<中心>及び<否定>を表すアークを有する。
図22は、図21の意味構造に対応する接続表の例を示している。図22の接続表は、図12及び図13に示した文書421の接続表と同様に、接続距離情報及び接続関係情報を含む。ただし、検索要求1811の接続距離の定義は、文書421の接続距離とは異なっている。検索要求1811の接続表では、2つのノードが直接接続していることを示す接続距離dが用いられ、d=1に設定される。
意味構造情報マッチングでは、文書421の接続距離から、同じ2つのノードの間における検索要求1811の接続距離を減算することで、2つの接続距離が比較される。このとき、検索要求1811の接続距離として、直接接続を示す“1”を用いることで、文書421の接続距離dが直接接続を示す“2”である場合、dから“1”を減算することにより、直接接続を示す差分“1”を得ることができる。
また、文書421の接続距離dが間接接続を示す“3”以上の値である場合、dから“1”を減算することにより、間接接続を示す“2”以上の差分を得ることができる。得られた差分から、文書421の意味構造において、2つのノードがどのくらい離れているかを計算することも可能である。
例えば、(SE001,BO001)のセルの“1:−動作主”は、SE001(サーバー)とBO001(起動し)とが<動作主>を表すアークによって直接接続されており、アークがBO001からSE001へ向かうことを表す。(BO001,SE001)のセルの“1:+動作主”も、(SE001,BO001)のセルと同じ情報を表す。
また、(BO001,BO001)のセルの“否定”は、BO001(起動し)が<否定>を表すアークを有することを表す。<否定>を表すセルの接続距離は−1に設定される。
図23は、図22の接続表から生成される検索要求意味構造情報1813の例を示している。例えば、SE001(サーバー)のビット列は、2個の接続距離を表す6ビットのビット列“000 001”と、1個の接続関係を表す8ビットのビット列“11111111”とを含む。BO001(起動し)のビット列は、2個の接続距離を表す6ビットのビット列“001 111”と、2個の接続関係を表す16ビットのビット列“00000001 11111111”とを含む。
検索要求意味構造情報1813を生成した後、検索部612は、検索要求1811の接続表に含まれる複数の意味記号を表す、検索要求1811の意味記号リストを生成する(ステップ2003)。検索要求1811の意味記号リストに含まれる各意味記号は、検索要求意味構造情報1813が表す接続表の各列に対応している。
次に、検索部612は、図8の符号化情報811と同様の情報を用いて、検索要求1811に含まれる各形態素を対応する符号に置き換え、符号を用いて形態素マッチングを行う(ステップ2004)。形態素マッチングにおいて、検索部612は、検索要求1811に含まれる各形態素の符号を、符号化文書621から検索する。
図11に示した文書421の符号化文書621に対して、「サーバーが起動しない。」という検索要求1811を用いて形態素マッチングを行う場合を想定する。この場合、[1,3]「サーバー」が検索要求1811の「サーバー」にマッチし、[1,8]「起動し」及び[2,2]「起動し」が検索要求1811の「起動し」にマッチする。また、[2,3]「なかっ」が検索要求1811の「ない」にマッチする。
形態素マッチングを行った後、検索部612は、マッチした符号に対応する形態素毎に、ステップ2005〜ステップ2015の処理を繰り返す。まず、検索部612は、マッチした符号に付加されている付加情報を参照して(ステップ2005)、その参照フラグをチェックする(ステップ2006)。
参照フラグが論理“1”である場合(ステップ2006,YES)、検索部612は、その符号に対応する意味構造情報を参照して、意味構造情報マッチングを行う(ステップ2007)。意味構造情報マッチングにおいて、検索部612は、参照した意味構造情報が表す接続表と検索要求意味構造情報1813が表す接続表に共通する列について、2つの意味構造情報間における接続距離の差分を計算する。
一方、参照フラグが論理“0”である場合(ステップ2006,NO)、検索部612は、次の形態素についてステップ2005以降の処理を繰り返す。
図11に示した文書421では、[1,3]「サーバー」、[1,8]「起動し」、及び[2,2]「起動し」の参照フラグが論理“1”であるため、これらの形態素について意味構造情報マッチングが行われる。一方、[2,3]「なかっ」の参照フラグは論理“0”であるため、この形態素については意味構造情報マッチングが行われない。
図24は、図20のステップ2007における意味構造情報マッチング処理の例を示すフローチャートである。まず、検索部612は、符号化文書621から、マッチした符号に対応する意味構造情報を取得して、意味構造情報Aに設定する(ステップ2401)。
また、検索部612は、符号化文書621において、マッチした符号に対応する形態素を含む文から、論理“1”の参照フラグが付加された複数の符号を抽出する。そして、検索部612は、それらの符号に対応する複数の形態素それぞれを意味記号に置き換えることで、検索対象の意味記号リストを生成する。検索対象の意味記号リストに含まれる各意味記号は、意味構造情報Aが表す接続表の各列に対応している。
次に、検索部612は、マッチした符号に付加されている付加情報を参照して、その照応情報をチェックする(ステップ2402)。照応情報に含まれる照応フラグfが論理“0”である場合(ステップ2402,NO)、検索部612は、検索要求意味構造情報1813から、マッチした符号に対応する意味構造情報を抽出して、意味構造情報Bに設定する(ステップ2406)。
次に、検索部612は、検索要求1811の意味記号リストと、検索対象の意味記号リストとに共通する意味記号を特定し、意味構造情報A及び意味構造情報Bから、特定した意味記号に対応する列の接続距離を抽出する(ステップ2407)。そして、検索部612は、抽出した接続距離を用いて、共通する意味記号に対応する列のみを含む意味構造情報A’及び意味構造情報B’を生成する(ステップ2408)。
次に、検索部612は、意味構造情報A’及び意味構造情報B’の各列について、意味構造情報A’の接続距離から意味構造情報B’の接続距離を減算し、接続距離の差分を生成する(ステップ2409)。
一方、照応情報に含まれる照応フラグfが論理“1”である場合(ステップ2402,YES)、検索部612は、照応情報から位置情報Xを取得する(ステップ2403)。次に、検索部612は、符号化文書621において、マッチした符号に対応する文よりもX文前の文に含まれる符号のうち、マッチした符号に対応する形態素と同じ意味記号に対応する形態素の符号を特定する(ステップ2404)。そして、検索部612は、符号化文書621から、特定した符号に対応する意味構造情報を取得して、意味構造情報Zに設定する。
また、検索部612は、X文前の文から、論理“1”の参照フラグが付加された複数の符号を抽出し、それらの符号に対応する複数の形態素それぞれを意味記号に置き換えることで、X文前の文の意味記号リストを生成する。
次に、検索部612は、意味構造情報Zと意味構造情報Aとをマージすることで、意味構造情報Aを更新し、X文前の文の意味記号リストと検索対象の意味記号リストとをマージすることで、検索対象の意味記号リストを更新する(ステップ2405)。そして、検索部612は、ステップ2406以降の処理を行う。
図25は、第1文の[1,3]「サーバー」に対する意味構造情報マッチング処理の例を示している。まず、図15に示した第1文の意味構造情報のうち、[1,3]「サーバー」に対応するSE001のビット列が意味構造情報Aに設定される。そして、第1文の意味構造情報に含まれる5個の意味記号が、検索対象の意味記号リスト(Aの意味記号リスト)に設定される。この場合、[1,3]「サーバー」の照応フラグfは論理“0”であるため、意味構造情報A及びAの意味記号リストは更新されない。
また、図23に示した検索要求意味構造情報1813のうち、「サーバー」に対応するSE001のビット列が意味構造情報Bに設定される。そして、検索要求意味構造情報1813に含まれる2個の意味記号が、検索要求1811の意味記号リスト(Bの意味記号リスト)に設定される。
この場合、Aの意味記号リストの2列目のSE001がBの意味記号リストの1列目のSE001と一致しており、Aの意味記号リストの5列目のBO001がBの意味記号リストの2列目のBO001と一致している。
そこで、意味構造情報Aから2列目及び5列目の接続距離が抽出され、それらの接続距離を用いて意味構造情報A’を表すビット列“000 011”が生成される。また、意味構造情報Bから1列目及び2列目の接続距離が抽出され、それらの接続距離を用いて意味構造情報B’を表すビット列“000 001”が生成される。
そして、意味構造情報A’の各列の接続距離から意味構造情報B’の各列の接続距離を減算することで、接続距離の差分を表すビット列“000 010”が生成される。このビット列の2列目の“010”は、接続距離“2”を表す。したがって、検索要求1811に含まれるSE001及びBO001が間接的に接続された意味構造が、第1文に存在することが分かる。
図26は、第1文の[1,8]「起動し」に対する意味構造情報マッチング処理の例を示している。まず、図15に示した第1文の意味構造情報のうち、[1,8]「起動し」に対応するBO001のビット列が意味構造情報Aに設定される。そして、第1文の意味構造情報に含まれる5個の意味記号が、Aの意味記号リストに設定される。この場合、[1,8]「起動し」の照応フラグfは論理“0”であるため、意味構造情報A及びAの意味記号リストは更新されない。
また、図23に示した検索要求意味構造情報1813のうち、「起動し」に対応するBO001のビット列が意味構造情報Bに設定される。そして、検索要求意味構造情報1813に含まれる2個の意味記号が、Bの意味記号リストに設定される。
この場合、Aの意味記号リストの2列目のSE001がBの意味記号リストの1列目のSE001と一致しており、Aの意味記号リストの5列目のBO001がBの意味記号リストの2列目のBO001と一致している。
そこで、意味構造情報Aから2列目及び5列目の接続距離が抽出され、それらの接続距離を用いて意味構造情報A’を表すビット列“011 000”が生成される。また、意味構造情報Bから1列目及び2列目の接続距離が抽出され、それらの接続距離を用いて意味構造情報B’を表すビット列“001 111”が生成される。このビット列の2列目の“111”は、<否定>の接続距離である−1を表している。
そして、意味構造情報A’の各列の接続距離から意味構造情報B’の各列の接続距離を減算することで、接続距離の差分を表すビット列“010 001”が生成される。このビット列の1列目の“010”は、接続距離“2”を表し、2列目の“001”は、意味構造情報A’の2列目の接続距離が−1ではなく、<否定>に対応していないことを表す。したがって、検索要求1811に含まれるSE001及びBO001が間接的に接続された意味構造が、第1文に存在するが、<否定>が一致しないことが分かる。
図27は、第2文(文2)の[2,2]「起動し」に対する意味構造情報マッチング処理の例を示している。まず、図16に示した文2の意味構造情報のうち、[2,2]「起動し」に対応するBO001のビット列2701が意味構造情報Aに設定される。そして、文2の意味構造情報に含まれる2個の意味記号が、Aの意味記号リストに設定される。
この場合、[2,2]「起動し」の照応フラグfは論理“1”であり、位置情報Xは1であるため、文2よりも1文前の文1に含まれる形態素のうち、BO001に対応する[1,8]「起動し」が特定される。そして、図15に示した文1の意味構造情報のうち、[1,8]「起動し」に対応するBO001のビット列2702が意味構造情報Zに設定され、文1の意味構造情報に含まれる5個の意味記号が、文1の意味記号リストに設定される。
次に、意味構造情報Zと意味構造情報Aとをマージすることで、意味構造情報Aが更新される。このとき、ビット列2702の5列目の斜体で示される“000”に対応する意味記号はBO001であり、ビット列2701の2列目の“010”に対応する意味記号と重複している。そこで、ビット列2702の5列目の“000”が削除されて、ビット列2703が生成され、ビット列2703とビット列2701とをマージすることで、ビット列2704が生成される。これにより、意味構造情報Aがビット列2704に更新される。
また、文1の意味記号リストとAの意味記号リストとをマージすることで、Aの意味記号リストが更新される。このとき、2つの意味記号リストに重複して含まれるBO001が文1の意味記号リストから削除され、BO001を除く文1の意味記号がAの意味記号リストにマージされる。したがって、更新後のAの意味記号リストは、“PA001,SE001,AP001,AG001,TH001,BO001”となる。
また、図23に示した検索要求意味構造情報1813のうち、「起動し」に対応するBO001のビット列が意味構造情報Bに設定される。そして、検索要求意味構造情報1813に含まれる2個の意味記号が、Bの意味記号リストに設定される。
この場合、Aの意味記号リストの2列目のSE001がBの意味記号リストの1列目のSE001と一致しており、Aの意味記号リストの6列目のBO001がBの意味記号リストの2列目のBO001と一致している。
そこで、意味構造情報Aから2列目及び6列目の接続距離が抽出され、それらの接続距離を用いて意味構造情報A’を表すビット列“011 111”が生成される。このビット列の2列目の“111”は、<否定>の接続距離である−1を表している。また、意味構造情報Bから1列目及び2列目の接続距離が抽出され、それらの接続距離を用いて意味構造情報B’を表すビット列“001 111”が生成される。このビット列の2列目の“111”も、<否定>の接続距離である−1を表している。
そして、意味構造情報A’の各列の接続距離から意味構造情報B’の各列の接続距離を減算することで、接続距離の差分を表すビット列“010 000”が生成される。このビット列の1列目の“010”は、接続距離“2”を表し、2列目の“000”は、意味構造情報A’及び意味構造情報B’の2列目がともに<否定>に対応していることを表す。したがって、検索要求1811に含まれるSE001及びBO001が間接的に接続された意味構造が、文2に存在し、<否定>が一致することが分かる。
意味構造情報マッチングを行った後、検索部612は、形態素マッチングでマッチした符号のスコアSC2を0に設定し、そのスコアSC2の係数Vを1に設定する(ステップ2008)。そして、検索部612は、接続距離の差分を計算した列毎に、ステップ2009〜ステップ2014の処理を繰り返す。
まず、検索部612は、処理対象の列が<否定>の接続距離を用いた減算の結果を表す列(<否定>の列)であるか否かをチェックする(ステップ2009)。処理対象の列が<否定>の列である場合(ステップ2009,YES)、検索部612は、その列の減算の結果から、<否定>が一致するか否かをチェックする(ステップ2010)。<否定>が一致する場合(ステップ2010,YES)、検索部612は、係数Vを変更せず、<否定>が一致しない場合(ステップ2010,NO)、検索部612は、係数Vを−1に変更する(ステップ2011)。
次に、検索部612は、処理対象の列の差分を1と比較する(ステップ2012)。差分が1以上である場合(ステップ2012,YES)、検索部612は、形態素マッチングでマッチした符号に対応する形態素と、処理対象の列に対応する形態素との組み合わせのスコアを、スコア情報1814から取得する(ステップ2013)。そして、検索部612は、取得したスコアをSC3に設定する。
次に、検索部612は、SC2にSC3を加算し、加算結果をSC2に設定して(ステップ2014)、次の列を処理対象として、ステップ2009以降の処理を繰り返す。処理対象の列が<否定>の列ではない場合(ステップ2009,NO)、検索部612は、ステップ2012以降の処理を行う。差分が0以下である場合(ステップ2012,NO)、検索部612は、次の列を処理対象として、ステップ2009以降の処理を繰り返す。
すべての列についてステップ2009〜ステップ2014の処理を行った後、検索部612は、SC2と係数Vの積をSC1に加算し、加算結果をSC1に設定する(ステップ2015)。そして、検索部612は、次の形態素についてステップ2005以降の処理を繰り返す。すべての形態素についてステップ2005〜ステップ2015の処理を行った後、検索部612は、スコアSC1を検索結果1815として記憶部611に格納し、処理を終了する。
列毎にステップ2009〜ステップ2014の処理を繰り返すことで、検索要求1811において、マッチした符号に対応する形態素と接続された複数の形態素について、組み合わせのスコアSC3がマッチした符号のスコアSC2に加算される。また、形態素毎にステップ2005〜ステップ2015の処理を繰り返すことで、マッチした複数の符号について、スコアSC2が符号化文書621のスコアSC1に加算される。このとき、<否定>が一致しない意味構造については、スコアSC1からスコアSC2が減算される。
こうして計算されたスコアSC1は、検索要求1811の意味構造と符号化文書621の意味構造との間の類似度を表す。したがって、スコアSC1が大きいほど、符号化文書621に含まれる意味構造は検索要求1811の意味構造と類似している。
スコア情報1814に含まれる、2つの形態素の組み合わせのスコアSは、例えば、次式により計算することができる。
S=idf1*N1+idf2*N2 (1)
idf1は、組み合わせに含まれる1番目の形態素の逆文書頻度(inverse document frequency)を表し、idf2は、2番目の形態素の逆文書頻度を表す。N1は、1番目の形態素の検索要求1811内における出現回数を表し、N2は、2番目の形態素の検索要求1811内における出現回数を表す。
2つの形態素の組み合わせのスコアSは、式(1)の代わりに、次式により計算することもできる。
S=idf11*N11+idf12*N12 (2)
idf11は、組み合わせに含まれる1番目の形態素に対応する意味記号の逆文書頻度を表し、idf12は、2番目の形態素に対応する意味記号の逆文書頻度を表す。N11は、1番目の形態素に対応する意味記号の検索要求1811内における出現回数を表し、N12は、2番目の形態素に対応する意味記号の検索要求1811内における出現回数を表す。
例えば、図25の接続距離の差分を表すビット列“000 010”の場合、2列目の“010”が接続距離“2”を表すため、SE001とBO001の組み合わせのスコアS(SE001,BO001)がSC2に設定される。そして、S(SE001,BO001)がSC1に加算される。
一方、図26の接続距離の差分を表すビット列“010 001”の場合、1列目の“010”が接続距離“2”を表すため、スコアS(SE001,BO001)がSC2に設定される。しかし、2列目の<否定>が一致しないため、S(SE001,BO001)に−1が乗算されて、SC1に加算される。
また、図27の接続距離の差分を表すビット列“010 000”の場合、1列目の“010”が接続距離“2”を表すため、スコアS(SE001,BO001)がSC2に設定される。そして、2列目の<否定>が一致するため、S(SE001,BO001)がそのままSC1に加算される。
なお、図20のステップ2014において、検索部612は、接続距離の差分Dを用いて、次式によりSC2を更新してもよい。
SC2=SC2+SC3×(1/D) (3)
これにより、直接接続を示すD=1の場合、SC3がそのままSC2に加算され、間接接続を示すD>1の場合、SC3と1/Dの積がSC2に加算される。したがって、接続距離が短いほどSC2が大きくなり、符号化文書621のスコアSC1も大きくなる。
複数の文書421に対応する複数の符号化文書621が検索対象として与えられた場合、検索部612は、それぞれの符号化文書621に対して、図20の検索処理を行う。これにより、それぞれの符号化文書621に対するスコアSC1が計算される。
図20の検索処理によれば、検索対象の文書421に含まれる文が不完全であっても、検索要求1811と類似する文を検索することが可能になる。このとき、符号化文書621に付加情報と意味構造情報とを含めることで、形態素マッチングと意味構造情報マッチングとが統合される。このため、すべての検索要求1811のバリエーションを事前に想定して意味構造に展開しておかなくても、照応解析の負荷を大幅に削減して、スコア演算を高速化することができる。
文書421にN個の形態素が含まれている場合、図10の符号化処理及び図20の検索処理において、欠落している形態素の情報を補完する処理の計算量は、いずれもNのオーダーで済む。符号化処理では、形態素を用いて照応解析が行われるので、計算量はNに比例する。また、検索処理では、マッチした符号に付加された照応情報が位置情報Xを含む場合に限って、意味構造情報が参照されるので、計算量はNに比例する。したがって、N×Nのオーダーの計算量を有する図3の意味構造検索処理と比較して、より高速な意味構造検索が実現される。
ところで、符号化文書621において、<否定>を表すアークの情報を意味構造情報に含める代わりに、否定フラグとして付加情報に含めることも可能である。
図28は、否定フラグを含む付加情報の例を示している。図28の否定フラグは、図11に示した文書421の符号化文書621において、各符号に対応する形態素の意味構造が<否定>を表すアークを有するか否かを示す。この例では、図2に示したように、[2,2]「起動し」の意味記号であるBO001が<否定>を表すアークを有するため、[2,2]「起動し」の否定フラグに論理“1”が設定されている。
この場合、図16に示した第2文の意味構造情報において、<否定>を表す接続距離は設定されない。したがって、BO001(起動し)のビット列の2列目の“111”は、“000”に変更される。そして、図20の検索処理において、検索部612は、ステップ2009〜ステップ2011の処理を行う代わりに、否定フラグを参照して係数Vの値を決定する。
図29は、文の末尾から順に符号を並べた符号化文書621の例を示している。図29の符号化文書621では、文書421内のP個の文について、先頭の文2901−1から末尾の文2901−Pへ向かって、符号が文毎にまとめて配置される。そして、各文に含まれるQ個の形態素について、文の末尾の形態素2902−1から文の先頭の形態素2902−Qへ向かって、符号2903及び付加情報2904が順に並べられている。この場合、それぞれの符号2903に対応する意味構造情報も、符号2903と同じ順序で配置される。
図29の符号の配置は、多数の形態素と接続される形態素が文の末尾近くに出現する言語に対して特に有効である。例えば、日本語、韓国語等の場合、複数の名詞等と接続される動詞が文の末尾近くに出現することが多い。図11に示した文書421では、[1,8]「起動し」がこのような動詞に該当する。
この場合、文の末尾から順に符号を並べることで、検索処理の早い段階で、多数の形態素と接続される形態素の意味構造情報を参照して、意味構造検索を実施することが可能になる。これにより、早い段階で、最終的なスコアに近い符号化文書621のスコアSC1を求めることができる。
図30は、一連の符号の後に付加情報を並べた符号化文書621の例を示している。図30(a)の符号化文書621では、図9の符号901−1〜符号901−Nに続いて、付加情報902−1〜付加情報902−Nが符号901−iと同じ順序で配置される。そして、付加情報902−1〜付加情報902−Nに続いて、意味構造情報903−1〜意味構造情報903−Mが符号901−iと同じ順序で配置される。
一方、図30(b)の符号化文書621では、図9の符号901−1〜符号901−Nに続いて、付加情報902−N〜付加情報902−1が符号901−iとは逆の順序で配置される。そして、付加情報902−N〜付加情報902−1に続いて、意味構造情報903−M〜意味構造情報903−1が符号901−iとは逆の順序で配置される。
図29又は図30の符号化文書621を用いた場合も、付加情報及び意味構造情報を参照しながら、意味構造検索を高速に行うことができる。
図4及び図8の符号化装置401の構成は一例に過ぎず、符号化装置401の用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。例えば、解析結果812が外部の装置で生成される場合は、図8の解析部801を省略することができる。
図6及び図18の検索装置601の構成は一例に過ぎず、検索装置601の用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。例えば、解析結果1812が外部の装置で生成される場合は、図18の解析部1801を省略することができる。検索装置601に、図8の符号化部412及び解析部801を追加して、検索装置601内で符号化処理を行ってもよい。
図3、図5、図7、図10、図20、及び図24のフローチャートは一例に過ぎず、符号化装置401又は検索装置601の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、図10の符号化処理において、解析結果812が外部の装置で生成される場合は、ステップ1001及びステップ1002の処理を省略することができる。
図20の検索処理において、符号化文書621のスコアを計算しない場合は、ステップ2008〜ステップ2015の処理を省略することができる。この場合、ステップ2007の意味構造情報マッチング処理の結果が、検索結果1815として記憶部611に格納される。
図1、図2、図21の意味構造、図9、図17、図29、及び図30の符号化文書、図11及び図28の解析結果及び付加情報、図12、図13、及び図22の接続表、図14のアーク及び符号、図15、図16、及び図23の意味構造情報は一例に過ぎない。符号化装置401又は検索装置601の構成又は条件に応じて、別のデータ構造の情報を用いてもよい。また、各情報の内容は、文書421及び検索要求1811の内容に応じて変化する。文書421及び検索要求1811の言語は、英語、中国語、韓国語等のように、日本語以外の言語であってもよい。
図19の検索処理及び図25〜図27の意味構造情報マッチング処理は一例に過ぎず、各処理の内容は、文書421及び検索要求1811の内容に応じて変化する。式(1)〜式(3)は一例に過ぎず、別の計算式によりスコアS又はスコアSC2を計算してもよい。
図31は、図4及び図8の符号化装置401、又は図6及び図18の検索装置601として用いられる情報処理装置(コンピュータ)の構成例を示している。図31の情報処理装置は、CPU3101、メモリ3102、入力装置3103、出力装置3104、補助記憶装置3105、媒体駆動装置3106、及びネットワーク接続装置3107を備える。これらの構成要素はバス3108により互いに接続されている。
メモリ3102は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ3102は、図4及び図8の記憶部411、又は図6及び図18の記憶部611として用いることができる。
CPU3101(プロセッサ)は、例えば、メモリ3102を利用してプログラムを実行することにより、図4及び図8の符号化部412及び解析部801として動作する。CPU3101は、メモリ3102を利用してプログラムを実行することにより、図6及び図18の検索部612及び解析部1801としても動作する。
入力装置3103は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示及び情報の入力に用いられる。入力される情報は、検索要求1811であってもよい。
出力装置3104は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。出力装置3104は、図6及び図18の出力部613として用いることができる。処理結果は、検索結果1815であってもよい。
補助記憶装置3105は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置3105は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置3105にプログラム及びデータを格納しておき、それらをメモリ3102にロードして使用することができる。補助記憶装置3105は、図4及び図8の記憶部411、又は図6及び図18の記憶部611として用いることができる。
媒体駆動装置3106は、可搬型記録媒体3109を駆動し、その記録内容にアクセスする。可搬型記録媒体3109は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体3109は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体3109にプログラム及びデータを格納しておき、それらをメモリ3102にロードして使用することができる。
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ3102、補助記憶装置3105、又は可搬型記録媒体3109のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置3107は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置3107を介して受け取り、それらをメモリ3102にロードして使用することができる。
情報処理装置が図8の符号化装置401である場合、ネットワーク接続装置3107は、符号化文書621を検索装置601へ送信することができる。この場合、ネットワーク接続装置3107は、出力部802として用いられる。
情報処理装置が図6及び図18の検索装置601である場合、ネットワーク接続装置3107は、ユーザ端末から検索要求1811を受信し、検索結果1815をユーザ端末へ送信することができる。この場合、ネットワーク接続装置3107は、出力部613として用いられる。
なお、情報処理装置が図31のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がユーザ端末から通信ネットワーク経由で検索要求1811を受信する場合は、入力装置3103及び出力装置3104を省略してもよい。また、可搬型記録媒体3109又は通信ネットワークを利用しない場合は、媒体駆動装置3106又はネットワーク接続装置3107を省略してもよい。
情報処理装置がスマートフォンのような通話機能を有する携帯端末である場合、マイク及びスピーカのような通話用の装置を含んでいてもよく、カメラのような撮像装置を含んでいてもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図1乃至図31を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成し、
前記複数の文それぞれについて、前記複数の形態素それぞれを符号化した複数の符号を生成し、
前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、
前記特定された符号それぞれに対し、欠落情報をそれぞれ付加する、
処理をコンピュータに実行させる符号化プログラム。
(付記2)
前記複数の形態素が属する前記意味構造は、前記複数の形態素それぞれに対応する複数の意味記号と、前記複数の意味記号の間の接続関係とを用いて表され、前記欠落情報は、前記文書内において、前記欠落情報が付加された符号に対応する形態素と同じ意味記号に対応する形態素が、前記欠落情報が付加された前記符号に対応する形態素よりも前に出現することを示し、前記複数の文のうち前記同じ意味記号に対応する形態素が出現する文を特定する情報を含むことを特徴とする付記1記載の符号化プログラム。
(付記3)
前記コンピュータは、前記複数の符号各々に対して、前記欠落情報、又は前記文書内において同じ意味記号に対応する形態素が前に出現しないことを示す非出現情報を付加することを特徴とする付記2記載の符号化プログラム。
(付記4)
前記意味構造情報は、前記複数の意味記号各々について、前記複数の意味記号のうち他の意味記号に対する接続距離を表す接続距離情報と、前記他の意味記号に対する接続関係を表す接続関係情報とを含むことを特徴とする付記2又は3記載の符号化プログラム。
(付記5)
検索要求に含まれる複数の形態素が属する意味構造を表す検索要求意味構造情報を生成し、
検索対象文書に含まれる複数の文それぞれについて文に含まれる複数の形態素が属する意味構造を表す検索対象意味構造情報と、前記複数の文それぞれについて前記複数の形態素それぞれを符号化することで生成された複数の符号と、前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号それぞれに対して付加された欠落情報とを含む、符号化文書から、前記検索要求意味構造情報に基づいて前記検索要求に対応する文を検索し、
検索結果を出力する、
処理をコンピュータに実行させる検索プログラム。
(付記6)
前記検索要求に含まれる前記複数の形態素が属する前記意味構造は、前記検索要求に含まれる前記複数の形態素それぞれに対応する複数の意味記号と、前記検索要求に含まれる前記複数の意味記号の間の接続関係とを用いて表され、
前記文に含まれる前記複数の形態素が属する前記意味構造は、前記文に含まれる前記複数の形態素それぞれに対応する複数の意味記号と、前記文に含まれる前記複数の意味記号の間の接続関係とを用いて表され、
前記欠落情報は、前記検索対象文書内において、前記欠落情報が付加された符号に対応する形態素と同じ意味記号に対応する形態素が、前記欠落情報が付加された前記符号に対応する形態素よりも前に出現することを示し、前記複数の文のうち前記同じ意味記号に対応する形態素が出現する文を特定する情報を含み、
前記コンピュータは、前記符号化文書から、前記検索要求に含まれる前記複数の形態素のうち1つの形態素を検索し、検索した形態素が、前記欠落情報が付加された前記符号に対応する場合、前記欠落情報を参照して、前記同じ意味記号に対応する形態素が出現する前記文を特定し、前記検索対象意味構造情報において、特定した前記文に出現する前記同じ意味記号に対応する形態素が属する第1意味構造と、前記検索対象意味構造情報において、前記欠落情報が付加された前記符号に対応する形態素が属する第2意味構造と、前記検索要求意味構造情報とを用いて、前記検索要求に対応する前記文を検索することを特徴とする付記5記載の検索プログラム。
(付記7)
前記複数の符号各々に対して、前記欠落情報、又は前記検索対象文書内において同じ意味記号に対応する形態素が前に出現しないことを示す非出現情報が付加されており、
前記コンピュータは、前記検索した形態素が、前記非出現情報が付加された符号に対応する場合、前記検索対象意味構造情報において、前記非出現情報が付加された前記符号に対応する形態素が属する第3意味構造と、前記検索要求意味構造情報とを用いて、前記検索要求に対応する前記文を検索することを特徴とする付記6記載の検索プログラム。
(付記8)
前記検索要求意味構造情報及び前記検索対象意味構造情報は、前記複数の意味記号各々について、前記複数の意味記号のうち他の意味記号に対する接続距離を表す接続距離情報と、前記他の意味記号に対する接続関係を表す接続関係情報とを含み、
前記コンピュータは、前記検索要求意味構造情報に含まれる接続距離情報及び接続関係情報と、前記検索対象意味構造情報に含まれる接続距離情報及び接続関係情報とを比較することで、前記検索要求に対応する前記文を検索することを特徴とする付記6又は7記載の検索プログラム。
(付記9)
文書を記憶する記憶部と、
前記文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成し、前記複数の文それぞれについて、前記複数の形態素それぞれを符号化した複数の符号を生成し、前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、前記特定された符号それぞれに対し、欠落情報をそれぞれ付加する符号化部と、
備えることを特徴とする符号化装置。
(付記10)
前記複数の形態素が属する前記意味構造は、前記複数の形態素それぞれに対応する複数の意味記号と、前記複数の意味記号の間の接続関係とを用いて表され、前記欠落情報は、前記文書内において、前記欠落情報が付加された符号に対応する形態素と同じ意味記号に対応する形態素が、前記欠落情報が付加された前記符号に対応する形態素よりも前に出現することを示し、前記複数の文のうち前記同じ意味記号に対応する形態素が出現する文を特定する情報を含むことを特徴とする付記9記載の符号化装置。
(付記11)
前記符号化部は、前記複数の符号各々に対して、前記欠落情報、又は前記文書内において同じ意味記号に対応する形態素が前に出現しないことを示す非出現情報を付加することを特徴とする付記10記載の符号化装置。
(付記12)
コンピュータが、
文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成し、
前記複数の文それぞれについて、前記複数の形態素それぞれを符号化した複数の符号を生成し、
前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、
前記特定された符号それぞれに対し、欠落情報をそれぞれ付加する、
ことを特徴とする符号化方法。
(付記13)
前記複数の形態素が属する前記意味構造は、前記複数の形態素それぞれに対応する複数の意味記号と、前記複数の意味記号の間の接続関係とを用いて表され、前記欠落情報は、前記文書内において、前記欠落情報が付加された符号に対応する形態素と同じ意味記号に対応する形態素が、前記欠落情報が付加された前記符号に対応する形態素よりも前に出現することを示し、前記複数の文のうち前記同じ意味記号に対応する形態素が出現する文を特定する情報を含むことを特徴とする付記12記載の符号化方法。
(付記14)
前記コンピュータは、前記複数の符号各々に対して、前記欠落情報、又は前記文書内において同じ意味記号に対応する形態素が前に出現しないことを示す非出現情報を付加することを特徴とする付記13記載の符号化方法。
401 符号化装置
411、611 記憶部
412 符号化部
421 文書
601 検索装置
612 検索部
613、802 出力部
621 符号化文書
801、1801 解析部
802 出力部
811 符号化情報
812、1812 解析結果
901−1〜901−3、1701−1〜1701−6、2903 符号
902−1〜902−3、1702−1〜1702−6、2904 付加情報
903−1〜903−3、1703−1〜1703−4 意味構造情報
1811 検索要求
1813 検索要求意味構造情報
1814 スコア情報
1815 検索結果
2701〜2704 ビット列
2702 ビット列
2703 ビット列
2704 ビット列
2901−1〜2901−P 文
2902−1〜2902−Q 形態素
3101 CPU
3102 メモリ
3103 入力装置
3104 出力装置
3105 補助記憶装置
3106 媒体駆動装置
3107 ネットワーク接続装置
3108 バス
3109 可搬型記録媒体
例えば、図4の文書421が検索対象文書である場合、符号化装置401によって文書421を符号化することで、符号化文書621が生成される。検索部612は、検索要求に基づいて、記憶部611が記憶する符号化文書621を検索し、出力部613は、検索結果を出力する。
情報処理装置が図18の検索装置601である場合、ネットワーク接続装置3107は、ユーザ端末から検索要求1811を受信し、検索結果1815をユーザ端末へ送信することができる。この場合、ネットワーク接続装置3107は、出力部613として用いられる。
図1乃至図31を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成し、
前記複数の文それぞれについて、前記複数の形態素それぞれを符号化した複数の符号を生成し、
前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、
前記特定された符号それぞれに対し、欠落情報をそれぞれ付加する、
処理をコンピュータに実行させる符号化プログラム。
(付記2)
前記複数の形態素が属する前記意味構造は、前記複数の形態素それぞれに対応する複数の意味記号と、前記複数の意味記号の間の接続関係とを用いて表され、前記欠落情報は、前記文書内において、前記欠落情報が付加された符号に対応する形態素と同じ意味記号に対応する形態素が、前記欠落情報が付加された前記符号に対応する形態素よりも前に出現することを示し、前記複数の文のうち前記同じ意味記号に対応する形態素が出現する文を特定する情報を含むことを特徴とする付記1記載の符号化プログラム。
(付記3)
前記コンピュータは、前記複数の符号各々に対して、前記欠落情報、又は前記文書内において同じ意味記号に対応する形態素が前に出現しないことを示す非出現情報を付加することを特徴とする付記2記載の符号化プログラム。
(付記4)
前記意味構造情報は、前記複数の意味記号各々について、前記複数の意味記号のうち他の意味記号に対する接続距離を表す接続距離情報と、前記他の意味記号に対する接続関係を表す接続関係情報とを含むことを特徴とする付記2又は3記載の符号化プログラム。
(付記5)
検索要求に含まれる複数の形態素が属する意味構造を表す検索要求意味構造情報を生成し、
検索対象文書に含まれる複数の文それぞれについて文に含まれる複数の形態素が属する意味構造を表す検索対象意味構造情報と、前記複数の文それぞれについて前記複数の形態素それぞれを符号化することで生成された複数の符号と、前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号それぞれに対して付加された欠落情報とを含む、符号化文書から、前記検索要求意味構造情報に基づいて前記検索要求に対応する文を検索し、
検索結果を出力する、
処理をコンピュータに実行させる検索プログラム。
(付記6)
前記検索要求に含まれる前記複数の形態素が属する前記意味構造は、前記検索要求に含まれる前記複数の形態素それぞれに対応する複数の意味記号と、前記検索要求に含まれる前記複数の意味記号の間の接続関係とを用いて表され、
前記文に含まれる前記複数の形態素が属する前記意味構造は、前記文に含まれる前記複数の形態素それぞれに対応する複数の意味記号と、前記文に含まれる前記複数の意味記号の間の接続関係とを用いて表され、
前記欠落情報は、前記検索対象文書内において、前記欠落情報が付加された符号に対応する形態素と同じ意味記号に対応する形態素が、前記欠落情報が付加された前記符号に対応する形態素よりも前に出現することを示し、前記複数の文のうち前記同じ意味記号に対応する形態素が出現する文を特定する情報を含み、
前記コンピュータは、前記符号化文書から、前記検索要求に含まれる前記複数の形態素のうち1つの形態素を検索し、検索した形態素が、前記欠落情報が付加された前記符号に対応する場合、前記欠落情報を参照して、前記同じ意味記号に対応する形態素が出現する前記文を特定し、前記検索対象意味構造情報において、特定した前記文に出現する前記同じ意味記号に対応する形態素が属する第1意味構造と、前記検索対象意味構造情報において、前記欠落情報が付加された前記符号に対応する形態素が属する第2意味構造と、前記検索要求意味構造情報とを用いて、前記検索要求に対応する前記文を検索することを特徴とする付記5記載の検索プログラム。
(付記7)
前記複数の符号各々に対して、前記欠落情報、又は前記検索対象文書内において同じ意味記号に対応する形態素が前に出現しないことを示す非出現情報が付加されており、
前記コンピュータは、前記検索した形態素が、前記非出現情報が付加された符号に対応する場合、前記検索対象意味構造情報において、前記非出現情報が付加された前記符号に対応する形態素が属する第3意味構造と、前記検索要求意味構造情報とを用いて、前記検索要求に対応する前記文を検索することを特徴とする付記6記載の検索プログラム。
(付記8)
前記検索要求意味構造情報及び前記検索対象意味構造情報は、前記複数の意味記号各々について、前記複数の意味記号のうち他の意味記号に対する接続距離を表す接続距離情報と、前記他の意味記号に対する接続関係を表す接続関係情報とを含み、
前記コンピュータは、前記検索要求意味構造情報に含まれる接続距離情報及び接続関係情報と、前記検索対象意味構造情報に含まれる接続距離情報及び接続関係情報とを比較することで、前記検索要求に対応する前記文を検索することを特徴とする付記6又は7記載の検索プログラム。
(付記9)
文書を記憶する記憶部と、
前記文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成し、前記複数の文それぞれについて、前記複数の形態素それぞれを符号化した複数の符号を生成し、前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、前記特定された符号それぞれに対し、欠落情報をそれぞれ付加する符号化部と、
備えることを特徴とする符号化装置。
(付記10)
前記複数の形態素が属する前記意味構造は、前記複数の形態素それぞれに対応する複数の意味記号と、前記複数の意味記号の間の接続関係とを用いて表され、前記欠落情報は、前記文書内において、前記欠落情報が付加された符号に対応する形態素と同じ意味記号に対応する形態素が、前記欠落情報が付加された前記符号に対応する形態素よりも前に出現することを示し、前記複数の文のうち前記同じ意味記号に対応する形態素が出現する文を特定する情報を含むことを特徴とする付記9記載の符号化装置。
(付記11)
前記符号化部は、前記複数の符号各々に対して、前記欠落情報、又は前記文書内において同じ意味記号に対応する形態素が前に出現しないことを示す非出現情報を付加することを特徴とする付記10記載の符号化装置。
(付記12)
コンピュータが、
文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成し、
前記複数の文それぞれについて、前記複数の形態素それぞれを符号化した複数の符号を生成し、
前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、
前記特定された符号それぞれに対し、欠落情報をそれぞれ付加する、
ことを特徴とする符号化方法。
(付記13)
前記複数の形態素が属する前記意味構造は、前記複数の形態素それぞれに対応する複数の意味記号と、前記複数の意味記号の間の接続関係とを用いて表され、前記欠落情報は、前記文書内において、前記欠落情報が付加された符号に対応する形態素と同じ意味記号に対応する形態素が、前記欠落情報が付加された前記符号に対応する形態素よりも前に出現することを示し、前記複数の文のうち前記同じ意味記号に対応する形態素が出現する文を特定する情報を含むことを特徴とする付記12記載の符号化方法。
(付記14)
前記コンピュータは、前記複数の符号各々に対して、前記欠落情報、又は前記文書内において同じ意味記号に対応する形態素が前に出現しないことを示す非出現情報を付加することを特徴とする付記13記載の符号化方法。

Claims (12)

  1. 文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成し、
    前記複数の文それぞれについて、前記複数の形態素それぞれを符号化した複数の符号を生成し、
    前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、
    前記特定された符号それぞれに対し、欠落情報をそれぞれ付加する、
    処理をコンピュータに実行させる符号化プログラム。
  2. 前記複数の形態素が属する前記意味構造は、前記複数の形態素それぞれに対応する複数の意味記号と、前記複数の意味記号の間の接続関係とを用いて表され、前記欠落情報は、前記文書内において、前記欠落情報が付加された符号に対応する形態素と同じ意味記号に対応する形態素が、前記欠落情報が付加された前記符号に対応する形態素よりも前に出現することを示し、前記複数の文のうち前記同じ意味記号に対応する形態素が出現する文を特定する情報を含むことを特徴とする請求項1記載の符号化プログラム。
  3. 前記コンピュータは、前記複数の符号各々に対して、前記欠落情報、又は前記文書内において同じ意味記号に対応する形態素が前に出現しないことを示す非出現情報を付加することを特徴とする請求項2記載の符号化プログラム。
  4. 前記意味構造情報は、前記複数の意味記号各々について、前記複数の意味記号のうち他の意味記号に対する接続距離を表す接続距離情報と、前記他の意味記号に対する接続関係を表す接続関係情報とを含むことを特徴とする請求項2又は3記載の符号化プログラム。
  5. 検索要求に含まれる複数の形態素が属する意味構造を表す検索要求意味構造情報を生成し、
    検索対象文書に含まれる複数の文それぞれについて文に含まれる複数の形態素が属する意味構造を表す検索対象意味構造情報と、前記複数の文それぞれについて前記複数の形態素それぞれを符号化することで生成された複数の符号と、前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号それぞれに対して付加された欠落情報とを含む、符号化文書から、前記検索要求意味構造情報に基づいて前記検索要求に対応する文を検索し、
    検索結果を出力する、
    処理をコンピュータに実行させる検索プログラム。
  6. 前記検索要求に含まれる前記複数の形態素が属する前記意味構造は、前記検索要求に含まれる前記複数の形態素それぞれに対応する複数の意味記号と、前記検索要求に含まれる前記複数の意味記号の間の接続関係とを用いて表され、
    前記文に含まれる前記複数の形態素が属する前記意味構造は、前記文に含まれる前記複数の形態素それぞれに対応する複数の意味記号と、前記文に含まれる前記複数の意味記号の間の接続関係とを用いて表され、
    前記欠落情報は、前記検索対象文書内において、前記欠落情報が付加された符号に対応する形態素と同じ意味記号に対応する形態素が、前記欠落情報が付加された前記符号に対応する形態素よりも前に出現することを示し、前記複数の文のうち前記同じ意味記号に対応する形態素が出現する文を特定する情報を含み、
    前記コンピュータは、前記符号化文書から、前記検索要求に含まれる前記複数の形態素のうち1つの形態素を検索し、検索した形態素が、前記欠落情報が付加された前記符号に対応する場合、前記欠落情報を参照して、前記同じ意味記号に対応する形態素が出現する前記文を特定し、前記検索対象意味構造情報において、特定した前記文に出現する前記同じ意味記号に対応する形態素が属する第1意味構造と、前記検索対象意味構造情報において、前記欠落情報が付加された前記符号に対応する形態素が属する第2意味構造と、前記検索要求意味構造情報とを用いて、前記検索要求に対応する前記文を検索することを特徴とする請求項5記載の検索プログラム。
  7. 前記複数の符号各々に対して、前記欠落情報、又は前記検索対象文書内において同じ意味記号に対応する形態素が前に出現しないことを示す非出現情報が付加されており、
    前記コンピュータは、前記検索した形態素が、前記非出現情報が付加された符号に対応する場合、前記検索対象意味構造情報において、前記非出現情報が付加された前記符号に対応する形態素が属する第3意味構造と、前記検索要求意味構造情報とを用いて、前記検索要求に対応する前記文を検索することを特徴とする請求項6記載の検索プログラム。
  8. 前記検索要求意味構造情報及び前記検索対象意味構造情報は、前記複数の意味記号各々について、前記複数の意味記号のうち他の意味記号に対する接続距離を表す接続距離情報と、前記他の意味記号に対する接続関係を表す接続関係情報とを含み、
    前記コンピュータは、前記検索要求意味構造情報に含まれる接続距離情報及び接続関係情報と、前記検索対象意味構造情報に含まれる接続距離情報及び接続関係情報とを比較することで、前記検索要求に対応する前記文を検索することを特徴とする請求項6又は7記載の検索プログラム。
  9. 文書を記憶する記憶部と、
    前記文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成し、前記複数の文それぞれについて、前記複数の形態素それぞれを符号化した複数の符号を生成し、前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、前記特定された符号それぞれに対し、欠落情報をそれぞれ付加する、
    符号化部と、
    を備えることを特徴とする符号化装置。
  10. 検索対象文書に含まれる複数の文それぞれについて文に含まれる複数の形態素が属する意味構造を表す検索対象意味構造情報と、前記複数の文それぞれについて前記複数の形態素それぞれを符号化することで生成された複数の符号と、前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号それぞれに対して付加された欠落情報とを含む、符号化文書を記憶する記憶部と、
    検索要求に含まれる複数の形態素が属する意味構造を表す検索要求意味構造情報を生成し、前記符号化文書から、前記検索要求意味構造情報に基づいて前記検索要求に対応する文を検索する検索部と、
    検索結果を出力する出力部と、
    を備えることを特徴とする検索装置。
  11. コンピュータが、
    文書に含まれる複数の文それぞれについて、文に含まれる複数の形態素が属する意味構造を表す意味構造情報を生成し、
    前記複数の文それぞれについて、前記複数の形態素それぞれを符号化した複数の符号を生成し、
    前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号を特定し、
    前記特定された符号それぞれに対し、欠落情報をそれぞれ付加する、
    ことを特徴とする符号化方法。
  12. コンピュータが、
    検索要求に含まれる複数の形態素が属する意味構造を表す検索要求意味構造情報を生成し、
    検索対象文書に含まれる複数の文それぞれについて文に含まれる複数の形態素が属する意味構造を表す検索対象意味構造情報と、前記複数の文それぞれについて前記複数の形態素それぞれを符号化することで生成された複数の符号と、前記複数の文それぞれについて、各文に含まれる複数の形態素のうち、意味構造において対応する形態素の少なくとも一部が欠落している可能性のある形態素に対応する符号それぞれに対して付加された欠落情報とを含む、符号化文書から、前記検索要求意味構造情報に基づいて前記検索要求に対応する文を検索し、
    検索結果を出力する、
    ことを特徴とする検索方法。
JP2016141598A 2016-07-19 2016-07-19 符号化プログラム、検索プログラム、符号化装置、検索装置、符号化方法、及び検索方法 Active JP6737025B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016141598A JP6737025B2 (ja) 2016-07-19 2016-07-19 符号化プログラム、検索プログラム、符号化装置、検索装置、符号化方法、及び検索方法
US15/650,310 US10740562B2 (en) 2016-07-19 2017-07-14 Search apparatus, encoding method, and search method based on morpheme position in a target document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016141598A JP6737025B2 (ja) 2016-07-19 2016-07-19 符号化プログラム、検索プログラム、符号化装置、検索装置、符号化方法、及び検索方法

Publications (2)

Publication Number Publication Date
JP2018013863A true JP2018013863A (ja) 2018-01-25
JP6737025B2 JP6737025B2 (ja) 2020-08-05

Family

ID=60988703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016141598A Active JP6737025B2 (ja) 2016-07-19 2016-07-19 符号化プログラム、検索プログラム、符号化装置、検索装置、符号化方法、及び検索方法

Country Status (2)

Country Link
US (1) US10740562B2 (ja)
JP (1) JP6737025B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7464499B2 (ja) 2020-10-28 2024-04-09 Kddi株式会社 コード化装置、コード化方法及びコード化プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6737117B2 (ja) * 2016-10-07 2020-08-05 富士通株式会社 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置
US11289070B2 (en) * 2018-03-23 2022-03-29 Rankin Labs, Llc System and method for identifying a speaker's community of origin from a sound sample
US11341985B2 (en) 2018-07-10 2022-05-24 Rankin Labs, Llc System and method for indexing sound fragments containing speech
KR20200054360A (ko) * 2018-11-05 2020-05-20 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2021183421A2 (en) 2020-03-09 2021-09-16 John Rankin Systems and methods for morpheme reflective engagement response

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0258166A (ja) * 1988-08-24 1990-02-27 Hitachi Ltd 知識検索方法
JPH1185790A (ja) * 1997-09-10 1999-03-30 Fujitsu Ltd 文書情報格納装置及び文書情報格納方法並びに文書情報検索装置及び文書情報検索方法並びに文書情報格納プログラムを記録した記録媒体及び文書情報検索プログラムを記録した記録媒体
JP2005208782A (ja) * 2004-01-21 2005-08-04 Fuji Xerox Co Ltd 自然言語処理システム及び自然言語処理方法、並びにコンピュータ・プログラム
US8126713B2 (en) * 2002-04-11 2012-02-28 Shengyang Huang Conversation control system and conversation control method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5062131B2 (ja) 2008-10-06 2012-10-31 富士通株式会社 情報処理プログラム、情報処理装置、および情報処理方法
JP5741577B2 (ja) 2010-05-28 2015-07-01 富士通株式会社 情報生成プログラム、情報生成装置、および情報生成方法
JP5564705B2 (ja) 2010-07-16 2014-08-06 株式会社日立製作所 文構造解析装置、文構造解析方法および文構造解析プログラム
JP5197774B2 (ja) 2011-01-18 2013-05-15 株式会社東芝 学習装置、判定装置、学習方法、判定方法、学習プログラム及び判定プログラム
WO2012111078A1 (ja) 2011-02-14 2012-08-23 富士通株式会社 生成プログラム、生成装置、および生成方法
JP5915274B2 (ja) 2012-03-09 2016-05-11 富士通株式会社 情報検索方法、プログラムおよび情報検索装置
WO2017017738A1 (ja) * 2015-07-24 2017-02-02 富士通株式会社 符号化プログラム、符号化装置、及び符号化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0258166A (ja) * 1988-08-24 1990-02-27 Hitachi Ltd 知識検索方法
JPH1185790A (ja) * 1997-09-10 1999-03-30 Fujitsu Ltd 文書情報格納装置及び文書情報格納方法並びに文書情報検索装置及び文書情報検索方法並びに文書情報格納プログラムを記録した記録媒体及び文書情報検索プログラムを記録した記録媒体
US8126713B2 (en) * 2002-04-11 2012-02-28 Shengyang Huang Conversation control system and conversation control method
JP2005208782A (ja) * 2004-01-21 2005-08-04 Fuji Xerox Co Ltd 自然言語処理システム及び自然言語処理方法、並びにコンピュータ・プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大倉 清司 他1名: "複雑な文に対応した意味構造検索システムの開発", 言語処理学会第20回年次大会 発表論文集 [ONLINE], JPN6019035086, 10 March 2014 (2014-03-10), JP, ISSN: 0004200027 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7464499B2 (ja) 2020-10-28 2024-04-09 Kddi株式会社 コード化装置、コード化方法及びコード化プログラム

Also Published As

Publication number Publication date
US20180024990A1 (en) 2018-01-25
US10740562B2 (en) 2020-08-11
JP6737025B2 (ja) 2020-08-05

Similar Documents

Publication Publication Date Title
JP6737025B2 (ja) 符号化プログラム、検索プログラム、符号化装置、検索装置、符号化方法、及び検索方法
KR102268875B1 (ko) 전자 장치에 텍스트를 입력하는 시스템 및 방법
CN110162782B (zh) 基于医学词典的实体提取方法、装置、设备及存储介质
JP2008539476A (ja) スペル提示の生成方法およびシステム
CN111651990B (zh) 一种实体识别方法、计算设备及可读存储介质
JPWO2020021845A1 (ja) 文書分類装置及び学習済みモデル
US20080208566A1 (en) Automated word-form transformation and part of speech tag assignment
JP5540015B2 (ja) 単語境界マーカーのない言語で記述されたテキストに対して単語列を選択するための方法およびシステム
JP6447161B2 (ja) 意味構造検索プログラム、意味構造検索装置、及び意味構造検索方法
US9984064B2 (en) Reduction of memory usage in feature generation
CN100429648C (zh) 一种文本自动分块的方法、分块器和文本到语言合成系统
US10528606B2 (en) Method for providing search suggestion candidates for input key and method for creating database DFA
JP2018055670A (ja) 類似文生成方法、類似文生成プログラム、類似文生成装置及び類似文生成システム
JP2017004127A (ja) テキスト分割プログラム、テキスト分割装置、及びテキスト分割方法
US20210342534A1 (en) Sentence structure vectorization device, sentence structure vectorization method, and storage medium storing sentence structure vectorization program
JP5317061B2 (ja) 単語間の意味的関係の有無についての、複数言語での同時分類器及びそのためのコンピュータプログラム。
US8135573B2 (en) Apparatus, method, and computer program product for creating data for learning word translation
WO2018179729A1 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JP3080066B2 (ja) 文字認識装置、方法及び記憶媒体
JP2006004366A (ja) 機械翻訳システム及びそのためのコンピュータプログラム
WO2012131822A1 (ja) 音声認識結果整形装置、音声認識結果整形方法及びプログラム
JP2018077604A (ja) 機能記述からの実現手段・方法の侵害候補を自動特定する人工知能装置
Bandyopadhyay et al. HMM based POS Tagger and Rule-based Chunker for Bengali
JP4682627B2 (ja) 文書検索装置および方法
JP2001101184A (ja) 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191101

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20191101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200423

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200511

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: 20200616

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200629

R150 Certificate of patent or registration of utility model

Ref document number: 6737025

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150