JP6729095B2 - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP6729095B2
JP6729095B2 JP2016133656A JP2016133656A JP6729095B2 JP 6729095 B2 JP6729095 B2 JP 6729095B2 JP 2016133656 A JP2016133656 A JP 2016133656A JP 2016133656 A JP2016133656 A JP 2016133656A JP 6729095 B2 JP6729095 B2 JP 6729095B2
Authority
JP
Japan
Prior art keywords
relationship
semantic network
evaluation value
concept
elements
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
JP2016133656A
Other languages
English (en)
Other versions
JP2018005690A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2016133656A priority Critical patent/JP6729095B2/ja
Publication of JP2018005690A publication Critical patent/JP2018005690A/ja
Application granted granted Critical
Publication of JP6729095B2 publication Critical patent/JP6729095B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置及びプログラムに関する。
意味をコンピュータ処理できる形で表現する(一般に「知識表現」と呼ばれる)手段の一つに、意味ネットワークがある。
近年、意味ネットワークをインターネットで共有するためのメカニズムの研究分野としてSemantic Web(セマンティック・ウェブ)が提唱され注目されている。
意味ネットワークは、有向グラフ構造を持ち各ノードに個体(物理的あるいは仮想的な存在を指し示す)を割り当て(インスタンスと呼ぶ)、個体間の関係を関係の種類ごとに異なるラベルを持つエッジで結びつけることによって、物や事柄の存在を表現する。個体を示すノードはインスタンスと呼ばれ、2つの個体(ノード)とそれら両者間の関係(エッジ)からなる三者は「トリプル」と呼ばれる。
オントロジーは個体の特徴の種類(「クラス」と呼ばれる)や関係の種類(「プロパティ」と呼ばれる)などの概念を体系的に記述するものである。オントロジーは、意味ネットワークの背景にある前提知識を与えることで、知識表現の標準化と含意推論や意味制約検証などの機能を実現する。また、ユーザーにとって有用なドメイン固有の知識体系を記述することも可能である。
一方、テキスト情報からそこに書かれた意味を抽出し知識表現に変換する技術(意味解析)がある。意味解析は、多くの場合文法に基づいて解析を行うため事前に定義されたまたはそれに類似した構文でしか解析できない。また、意味解析結果は、テキストの意味内容をそのままグラフ表現したものであるため、オントロジーと関連づいたユーザーにとって有用な意味ネットワークを得るためには、事前に用意したルールなどを用いてグラフを拡張しなければならず、メンテナンスコストがかかる割には高い精度を見込めない。
特許文献1には、このような意味解析に関する方法が開示されている。この方法では、形態素解析、構文解析、構文意味解析(機能構造決定手段)などを介して述語トリプルを決定する。この方法では、構文解析や構文意味解析により単語間の文法的な関係を特定した上でそれら単語間の関係を表す述語トリプルを生成している。この方法では、述語トリプルを求めるに際し、単語間の概念の上位・下位の関係を求めるのにWordNetオントロジーを参照している。
特許文献2には、文書から、ユーザーが興味を持つ中心語に対する属性名と属性値を抽出する方法が開示されている。この方法では、個々の文書中に出現する単語を、語彙間の意味的関係を体系化した辞書であるオントロジー辞書上に記述された、抽出すべき情報の要素となる単語である抽出対象語に読み替えて、格納し、文書中に認識された抽出対象語をオントロジー辞書上に記述された語彙間の意味的関係を用いて、該文書中に出現しない関係を補足しつつ、該オントロジー辞書中で利用者の興味を端的に示す指標である中心語に対する単語関係列へと展開し、得られた該単語関係列を格納し、個々の単語関係列を、部分的な単語の関係や記事全体の語の用いられ方に基づいて、属性名と属性値からなる関係に変換し、得られた関係を格納する。この方法で用いられるオントロジーは中心語に関連する語彙間の関係を表すものであり、中心語を根とするツリー構造をなしている。また解析の対象となる文書は、中心語に関係することが予め分かっている文書である。
特開2007−087401号公報 特開2000−207407号公報
入力されたテキストが含む単語等の要素同士の関係の情報を求めるのに構文解析を行う方式では、前提となる文法に規定される要素間の関係しか求めることができない。(オントロジーからは概念間の上位・下位関係以外の関係が得られない場合、入力テキスト内の要素同士の他の関係を得るには、そのオントロジー以外の文法(構文解析)等に頼る必要があった。)
本発明は、入力されたテキスト内の要素同士の関係を、文法に依存せずに求めることができるようにすることを目的とする。
請求項1に係る発明は、入力テキスト内の各要素に対応するオントロジー内の概念を特定する特定手段と、前記入力テキスト内の要素同士の関係として、それら要素に対応する前記概念同士の間に前記オントロジーで規定されている関係を出力する関係出力手段と、前記関係出力手段が出力した前記要素同士の関係のうちの1以上から構成されるネットワークを、前記入力テキストに対応する意味ネットワークとして生成する生成手段と、前記関係出力手段が出力した前記要素同士の関係についての評価値である関係評価値を算出する関係評価値算出手段と、前記生成手段が生成した各意味ネットワークについての評価値であるネットワーク評価値を、その意味ネットワークが含む前記要素同士の関係についての前記関係評価値に基づいて求め、求めたネットワーク評価値に基づいて選んだ意味ネットワークを前記入力テキストに対応する意味ネットワークとして出力する意味ネットワーク出力手段と、前記生成手段が生成した各意味ネットワークについて求めた前記ネットワーク評価値がすべて予め定めた閾値以下であり、かつ前記特定手段が特定した前記入力テキスト内の要素に対応する概念に対して前記オントロジー内に下位の概念が存在する場合に、その要素をその下位の概念に対応付けることを提案する手段と、を含み、前記生成手段は、前記関係評価値に基づいて選抜された前記要素同士の関係から前記意味ネットワークを生成する、情報処理装置
である。
請求項2に係る発明は、前記特定手段は、前記要素に対応するものとして規定されている概念、及び、前記オントロジーでその概念に対する直接又は間接の上位と規定されている各概念、をそれぞれ前記要素に対応する概念として特定し、前記関係出力手段は、前記入力テキスト内の第1の要素について前記特定手段が特定した概念群に含まれる第1の概念と、前記入力テキスト内の第2の要素について前記特定手段が特定した概念群に含まれる第2の概念と、の間に、前記オントロジーに規定された関係が存在する場合に、その関係を前記第1の要素と前記第2の要素との間の関係として出力する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項に係る発明は、前記入力テキストに含まれる要素間の係り受けを解析する係り受け解析手段、を更に含み、前記関係評価値算出手段は、前記要素同士の関係と、当該関係をなす前記要素同士について前記係り受け解析手段で求められた係り受けと、の組み合わせについての評価値に基づき前記関係評価値を算出する、ことを特徴とする請求項に記載の情報処理装置である。
請求項に係る発明は、前記関係評価値算出手段は、前記要素同士の関係と、当該関係をなす前記各要素に対応する前記各概念と、の組み合わせについての評価値に基づき前記関係評価値を算出する、ことを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
請求項に係る発明は、前記特定手段が特定した前記入力テキスト内の要素に対応する概念に対して前記オントロジー内に下位の概念が存在する場合、その要素をその下位の概念に対応付けた場合について、前記関係出力手段、前記生成手段、前記関係評価値算出手段、及び前記意味ネットワーク出力手段に処理を実行させる制御を行う実行制御手段、更に含むことを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置である。
請求項に係る発明は、コンピュータを、入力テキスト内の各要素に対応するオントロジー内の概念を特定する特定手段、前記入力テキスト内の要素同士の関係として、それら要素に対応する前記概念同士の間に前記オントロジーで規定されている関係を出力する関係出力手段、前記関係出力手段が出力した前記要素同士の関係のうちの1以上から構成されるネットワークを、前記入力テキストに対応する意味ネットワークとして生成する生成手段、前記関係出力手段が出力した前記要素同士の関係についての評価値である関係評価値を算出する関係評価値算出手段、前記生成手段が生成した各意味ネットワークについての評価値であるネットワーク評価値を、その意味ネットワークが含む前記要素同士の関係についての前記関係評価値に基づいて求め、求めたネットワーク評価値に基づいて選んだ意味ネットワークを前記入力テキストに対応する意味ネットワークとして出力する意味ネットワーク出力手段、前記生成手段が生成した各意味ネットワークについて求めた前記ネットワーク評価値がすべて予め定めた閾値以下であり、かつ前記特定手段が特定した前記入力テキスト内の要素に対応する概念に対して前記オントロジー内に下位の概念が存在する場合に、その要素をその下位の概念に対応付けることを提案する手段、として機能させるためのプログラムであって前記生成手段は、前記関係評価値に基づいて選抜された前記要素同士の関係から前記意味ネットワークを生成する、プログラムである。
請求項1又はに係る発明によれば、入力されたテキスト内の要素同士の関係を、文法に依存せずに求めることができると共に、入力テキストに対応する意味ネットワークを求めることができ、入力テキストに含まれる可能性が低い意味に対応する要素同士の関係を含まない意味ネットワークを生成することができる。また、意味ネットワーク全体としての評価がよいものを出力することができ、要素から特定される概念をそのまま用いたのでは適切な意味ネットワークが得られない場合に、下位の概念に対応付けることで改善できる可能性があることをユーザーに知らせることができる
請求項2に係る発明によれば、特定手段により特定できない要素に対応する概念の上位の概念について関係も、要素同士の関係として求めることが可能になる。
請求項に係る発明によれば、入力テキスト内の要素同士の係り受けから見て可能性が低い要素同士の関係を含まない意味ネットワークを生成することができる。
請求項に係る発明によれば、概念同士の関係として可能性が低いものに基づく要素同士の関係を含まない意味ネットワークを生成することができる。
請求項に係る発明によれば、要素から特定される概念よりも要素に近い可能性がある下位の概念についてのオントロジー上の関係をその要素と他の要素との関係とすることでより評価のよい意味ネットワークが得られる場合には、そのようにすることができる。
実施の形態の装置構成の例を示す図である。 オントロジーの例を示す図である。 入力テキスト(例文1及び2)の意味内容を示す意味ネットワークの例を示す図である。 入力テキスト(例文1及び2)の係り受け解析結果の単語依存木の例を示す図である。 例文1に含まれる単語に対応するインスタンスをオントロジーに追加して形成したグラフの例を示す図である。 例文2に含まれる単語に対応するインスタンスをオントロジーに追加して形成したグラフの例を示す図である。 例文1についてオントロジーから求めたトリプルを示すエッジを追加したグラフの例を示す図である。 例文2についてオントロジーから求めたトリプルを示すエッジを追加したグラフの例を示す図である。 プロパティ重みの表の例を示す図である。 インスタンス重みの表の例を示す図である。 形態素重みの表の例を示す図である。 係り受け重みの表の例を示す図である。 入力テキスト(例文2)に含まれる未知語に対応するクラスが特定でき無かった結果、その未知語がオントロジーの最上位のクラスに対応付けられた場合のグラフの例を示す図である。 変形例の装置構成の例を示す図である。 別の変形例の装置構成の例を示す図である。
<実施の形態の概要>
この実施の形態では、入力されたテキスト(入力テキストと呼ぶ)に含まれる要素(単語等の形態素)同士の関係(すなわちトリプル)を、構文解析を用いずに求める。要素同士の関係を求めるにあたり、本実施形態ではオントロジーを利用する。利用するオントロジーは、概念同士の上位・下位関係の他に、概念同士の「プロパティ」関係の情報も含む。上・下位関係は、上位の概念は下位の概念に該当するエンティティをすべて包含するという特定の関係を表すものであるのに対し、プロパティ関係は、上位・下位関係以外の自由に定義可能な関係である。例えば概念「人間」と概念「人工物」との間に「製造者」又は「被製造物」、「所有者」又は「被所有物」といったプロパティ関係を定義可能である。
本実施形態では、入力テキスト内の各要素に対応するそのオントロジー上の概念を、例えば辞書等を参照して特定する。そして、それら要素同士の関係を求めるために、それら要素に対応する概念同士の関係をそのオントロジーから求める。ここで求めるのは概念間のプロパティ関係である。そして、それら要素と、求めたプロパティとからなる組を、それら要素間の関係(トリプル)の候補として出力(例えばユーザーに提示、あるいは後続の自動解析処理に入力)する。
オントロジーに規定される概念間の上位・下位関係は、単語等の要素とオントロジー上の概念との対応付けを拡張するのに用いてもよい。例えば、辞書等から特定した単語等の要素に対応する概念だけでなく、オントロジーに規定されるその上位の概念も考慮に入れて、概念同士の関係をオントロジー上から求める。そして、それら要素に「直接対応」する概念(すなわちその要素について辞書等から特定された概念)同士の関係(プロパティ関係)だけでなく、(1)第1の要素についての「直接対応」する概念と、第2の要素についての「直接対応」する概念の上位の概念との間の関係、(2)第1の要素についての「直接対応」する概念の上位の概念と、第2の要素についての「直接対応」する概念との関係、(3)第1の要素についての「直接対応」する概念の上位の概念と、第2の要素についての「直接対応」する概念の上位の概念との間の関係、をオントロジーから求める。このようにして求められるいわば多層的なプロパティ関係を、それら単語等の要素の関係の候補として出力する。
入力テキストには単語等の要素がいくつか含まれており、それら要素同士の組合せがいくつか存在する。一つの態様では、それら要素同士の組合せについて上述のようにして求めた関係(トリプル)の候補を組み合わせることで、その入力テキストの意味内容を表す意味ネットワークを生成する。
オントロジーから求められる多様な要素同士の関係(トリプル)を単に組み合わせるだけでは、入力テキストの意味内容からかけ離れた(例えば漠然としすぎている)意味ネットワークも生成されてしまう場合がある。そこで、別の一つの態様では、オントロジーから求めた要素間の関係に対して評価値を求め、評価値に基づいて意味ネットワークの生成に用いる要素間の関係の絞り込みを行う。評価値は、例えば、その要素間の関係(トリプル)や、それら要素同士の入力テキスト内での関係(それら要素間の係り受け、又は少なくとも一方の要素と等)が、実際に用いられる文章群(を集積したコーパス)においてどのくらい出現しやすいか(すなわち該当する関係の出現頻度)に基づいて求める。評価値がある閾値以上の要素間関係(トリプル)のみを組み合わせて意味ネットワークを構成することで、あり得るトリプルを無差別に組み合わせる場合よりも、実際の文章群から見て適切度が高い意味ネットワークが得られやすくなる。
また、生成した意味ネットワークが含む要素同士の関係群の評価値からその意味ネットワークの評価値を求め、その意味ネットワーク評価値が高い意味ネットワークを、入力テキストに対応する意味ネットワークとして優先的に選ぶようにしてもよい。
<装置構成の例>
以上、この実施の形態の概要について説明した。次に、この実施の形態に沿った意味ネットワーク構築装置の例を説明する。図1に、意味ネットワーク構築装置の構成の一例を示す。
この装置において、形態素解析部10は、入力されたテキスト(「入力テキスト」と呼ぶ)に形態素解析を実行する。この形態素解析により、入力テキストが単語等の形態素と呼ばれる要素に分解され、それら各形態素の品詞等の属性情報が求められる。形態素は単語である場合が多いので、以下では簡潔さのため形態素解析の結果を単語と呼ぶこともある。したがって、以下に現れる単語の概念には、単語以外の形態素も含まれる。この形態素解析は、従来と同様の処理でよく、例えば形態素解析用の辞書を参照したり、形態素解析を行うモデルを機械学習で構築して用いたりすることで実現される。形態素解析に用いる辞書又は機械学習モデルに固有名詞を登録しておき、これらを用いることで入力テキストから固有名詞を抽出してもよい。また、オントロジー(例えばオントロジーDB16に登録されたもの)を用いて構成した辞書をその形態素解析に用いてもよい。この場合、その辞書には、単語に対応付けて、品詞や、オントロジー上の概念(「クラス」)等の属性情報が登録されている。この辞書を用いた形態素解析によれば、形態素解析により求めた単語に対して、その品詞のみならず、その単語が属するオントロジー上のクラス等の属性情報が求められる。
係り受け解析部12は、入力されたテキストにおける単語同士の係り受けを解析し、解析結果としての係り受け情報を生成する。係り受け情報は、一般に文末をルートとするツリー構造となる。
初期グラフ生成部14は、入力テキストに対応する意味ネットワークを構築する処理の基になる初期グラフを、オントロジーDB(データベース)16に保持されたオントロジーから構成する。
オントロジーDB16は、オントロジーを規定する情報を保持するデータベースである。このオントロジーDB16に保持される情報は、概念間の関係を規定する。個々の概念はクラスとして定義される。それらクラス(概念)同士の間には上位・下位の関係を規定することが可能である。また、クラス同士の間に、上位・下位関係以外の自由に定義可能な関係、すなわちプロパティ関係を規定することも可能である。オントロジーDB16が保持する、クラス、クラス間の関係(上位・下位関係、プロパティ関係)を規定する情報は、例えばOWL(Web Ontology Language)言語で記述可能である。この場合、プロパティ関係は、プロパティと、このプロパティが取り得るドメイン(Domain:定義域)とレンジ(Range:値域)のクラスとの三つ組みで表現される。ドメイン及びレンジはOWLが用いているRDF(Resource Description Framework)スキーマに従ったものである。以下、この実施の形態の説明で単に「オントロジー」と言った場合、それはオントロジーDB16に登録された情報から規定されるオントロジーのことである。
インスタンス生成部18は、形態素解析部10の解析により得られた個々の単語に対してインスタンスを生成する。また、単語に対応付けて生成したインスタンスを、オントロジー上のクラスを結びつける。上述のように形態素解析部10が解析に用いる辞書から単語に対応するオントロジー上のクラス(概念)が求められる場合は、インスタンス生成部18は、その単語に対するインスタンスとして、そのクラスに属するインスタンスを生成する。
トリプル生成部20は、オントロジー上でのプロパティ定義から、インスタンス生成部18が生成したインスタンス同士の関係を示す情報すなわち「トリプル」、を生成する。
あるインスタンスが属するクラスがあるプロパティのドメインであり、別のインスタンスが属するクラスがそのプロパティのレンジであるという関係がある場合、それら2つのインスタンスとそのプロパティがなすその関係のことがトリプルである。これらドメイン、レンジ、トリプルは、RDFスキーマに規定されている。
トリプル評価部22は、トリプル生成部20が生成した各トリプルを評価する。この評価では、トリプルが入力テキストの意味を反映している度合いを示す評価値を計算する(詳細は後述)。
候補生成部24は、トリプル評価部22の評価により求められた評価値付きのトリプルの集合を組み合わせて、意味ネットワークの候補を構成する。
候補評価部26は、候補生成部24が生成した各候補を評価する。この評価では、候補である意味ネットワークが入力テキストの意味を反映している度合いを示す評価値を計算する。
候補選択部28は、候補評価部26が求めた各候補の評価値に基づき、入力テキストの意味を最もよく反映している候補(意味ネットワーク)を選択し、出力する。
<意味ネットワーク構築装置が実行する処理>
次に、本実施形態の意味ネットワーク構築装置が実行する構築処理を、具体例を用いて説明する。
この例では、オントロジーDB16に保持されているオントロジーは、例えばSemantic WebにおけるOWL(Web Ontology Language)言語などを用いて定義されているものとする。また、この具体例では、オントロジーDB16に保持されている情報は、図2のグラフが示すオントロジーを定義しているものとする。
図2のグラフでは、楕円形のノードがクラス、矩形のノードがプロパティを示す。また、点線の矢印は上位概念(クラス同士の場合は上位クラス(subClassOf)、プロパティ同士の場合は上位プロパティ(subPropertyOf))を、破線の矢印はプロパティのドメイン(domain)を、一点鎖線の矢印はプロパティ(range)のレンジを、それぞれ表現している。クラス、プロパティ、ドメイン、レンジ等の概念は、OWLがベースとしているRDF(Resource Description Framework)で規定されている。
ここで、点線矢印が示す上位-下位関係(矢印の先が根元の上位概念であるという関係)は集合的包含関係を表している。例えば図2の例では、会社クラスに属するインスタンスは、すべてエージェントクラスやオブジェクトクラス、Thing(ものごと一般)クラスにも属すると定義されている。
プロパティ(図2内の矩形のノード)のドメイン(定義域)とレンジ(値域)は、そのプロパティとトリプルを構成し得る2つのインスタンス同士の関係において、その関係の始点と終点としてとりうる値の範囲を制約する。例えば、製造者プロパティのドメインは人工物でありレンジはエージェントであるが、これは人工物のインスタンスからエージェントのインスタンスにだけ製造者プロパティの型を持つ関係(トリプル)を持つことができることを意味する。
ここで、入力テキストとして以下の2つの例文を考える。

例文1: 「カメラで撮影した」
例文2: 「あなたのAで太郎を撮影した」(Aはカメラの製品名)
これらの例文に対して期待される出力である意味ネットワーク(すなわち意味ネットワーク構築装置が求めようとしているゴールの意味ネットワーク)は、例文1については図3に示す(A)であり、例文2については(B)である。
図3において、左右が2重線となっている矩形のノードはインスタンスを、楕円のノードはクラスを、点線の矢印はそのインスタンスが属するクラス(instanceOf関係)を、実線のラベルつき矢印はそのラベル名のプロパティを持つインスタンス間の関係(トリプル)を示している。ここで、クラスおよびプロパティは、図2のオントロジーの同名のものを指す。
以下では、図1に示した意味ネットワーク構築装置の各要素の機能を、上述の例文からこれに対応する意味ネットワークを生成する場合を例にとって、段階的に説明する。
[ステップ1]
形態素解析部10が入力テキスト(例文1,2)を形態素解析して単語ごとに分解し、各単語に品詞を対応付ける。また、入力テキストに固有名詞が含まれる場合はその固有名詞の品詞の細分類を行う。
この形態素解析処理により、例文1「カメラで撮影した」については、例えば以下の解析結果が得られる。

「カメラ」 名詞-一般名詞-カメラ
「で」 助詞-で
「撮影した」 動詞-過去
この解析結果は、例えば単語「カメラ」の品詞が名詞、より細かい分類では一般名詞であること、及び単語「カメラ」がオントロジー上のクラス「カメラ」に属することを示している。
また例文2「あなたのAで太郎を撮影した」については、形態素解析により、例えば以下の解析結果が得られる。

「あなた」 名詞-代名詞-人間
「の」 助詞-の
「A」 名詞-固有名詞-カメラ
「で」 助詞-で
「太郎」 名詞-固有名詞-人間
「を」 助詞-を
「撮影した」 動詞-過去
この解析結果には、例えば単語「A」が固有名詞であり、オントロジー上の「カメラ」概念に属するものであること、単語「太郎」が固有名詞であり、オントロジー上の「人間」の概念に属するものであることが示される。単語「A」が「カメラ」の概念に属すること(例えば「カメラ」の機種名であること)や単語「太郎」が「人間」の概念に属すること(例えば人名であること)が、形態素解析用の辞書に登録されていれば、このような解析結果が得られる。
[ステップ2]
係り受け解析部12が、ステップ1により得られた単語(形態素)の列に対して係り受け解析を行う。
例文1についての係り受け解析結果として例えば図4に示すツリー(1)が得られ、例文2についての係り受け解析結果として例えツリー(2)が得られたとする。これらツリーは、矢印(方向付きのエッジ)の根元の単語(矩形のノード)が先端(鏃)の単語に係っていることを示している。係り受け解析結果のツリーのことを、以下では単語依存木と呼ぶ。
[ステップ3]
初期グラフ生成部14が、初期グラフとしてオントロジーDB16が表すオントロジー(図2参照)の構造をそのまま持つグラフGを生成する。
[ステップ4]
インスタンス生成部18が、形態素解析結果の単語のうち、名詞や動詞などのように意味を構成するインスタンスとしてふさわしい単語に対して、グラフGにその単語に対応するインスタンスノードを付加する。インスタンスとしてふさわしいと考えられる単語は、例えば日本語の場合、自立語である。またインスタンス生成部18は、付加したインスタンスノードからその単語が属する概念(クラス)のノードに対して、instanceOf関係(インスタンスノードがクラスノードのインスタンスであることを示す関係)を表すエッジを追加する。単語が属する概念は、形態素解析の辞書から求められたその単語の品詞、単語ラベル、クラスラベル等から特定される。なお、単語が属する概念が特定できなかった場合は、その単語に対応するインスタンスノードから、オントロジーの最上位のクラス(Thing)のノードに対してinstanceOf関係のエッジを設ける。
例えば例文1については、インスタンス生成部18は、単語「カメラ」及び「撮影した」に対応するインスタンスノードを生成し、instanceOf関係のエッジを追加することで、図5に示す新しいグラフGを生成する。またインスタンス生成部18は、例文2について、インスタンス生成及びエッジ追加により図6に示す新しいグラフGを生成する。
[ステップ5]
トリプル生成部20は、ステップ4でグラフGに追加されたインスタンスの任意の2つに対して、それらのうち一方が属するクラスがプロパティのドメインであり他方がそのプロパティのレンジであるという関係を満たすプロパティをそのグラフGから探す。そのようなプロパティが見つかった場合、グラフGにおいて、それら2つのインスタンスのノードの間にそのプロパティの名を持つエッジを張る。このとき、エッジの方向はプロパティのドメインからレンジの方向である。それら2つのインスタンスノードとその間のプロパティを示すエッジが、1つのトリプルを示す。
ここで、インスタンスの属するクラスには、そのインスタンスがinstanceOf関係を持つクラス(すなわち直接的に所属しているクラス)だけに限らず、そのクラスの上位概念に該当するクラス群も含まれる。例えば、インスタンス「太郎」は、「人間」クラスに属すると同時に、その上位である「エージェント」クラス、更に上位である「オブジェクト」クラス、及び更に上位である「Thing」クラスにも属する(図6参照)。トリプル生成部20は、ある2つのインスタンスについてのトリプルを生成する場合、それら各インスタンスが属する複数段階のクラスのそれぞれについて、上述したドメイン・レンジ関係が成立するプロパティを求める。
例文1については、トリプル生成部20により図7に示されるグラフGが得られる。すなわち、インスタンス「カメラ」が直接属するクラス「カメラ」と、インスタンス「撮影した」が直接属するクラス「撮影する」とについて、後者をドメインとし前者をレンジとするプロパティ「撮影機材」がグラフG内に存在する。したがって、トリプル生成部20の処理を経たグラフGには、インスタンス「撮影した」からインスタンス「カメラ」に向かうエッジ(ラベルは「撮影機材」)が追加されている(図5と比較)。また、グラフGには、クラス「撮影する」をドメインとし、クラス「カメラ」の上位クラスであるクラス「オブジェクト」をレンジとするプロパティ「被写体」が存在する。したがって、トリプル生成部20の処理結果のグラフGには、インスタンス「撮影した」からインスタンス「カメラ」に延びる、ラベル「被写体」を有するエッジが追加されている。
以下では、それら2つのトリプルをそれぞれ「撮影した-被写体->カメラ」「撮影した-撮影機材->カメラ」のように表記する。すなわち、あるプロパティに着目したトリプルは「ドメインに属するインスタンス-プロパティ->レンジに属するインスタンス」と表現される。ここで「->」という表記は、プロパティを示すエッジの矢印の先端(鏃)を示す。
また、説明のため以下のように関数を定義する。
subj(t)=トリプルtの始点(ドメイン)のインスタンス
obj(t)=トリプルtの終点(レンジ)のインスタンス
prop(t)=トリプルtのプロパティ
cls(i)=インスタンスiの属するクラス
domain(p)=プロパティpのドメインクラス
range(p)=プロパティpのレンジクラス
sup(c)=クラスcの上位クラスの集合
sup(p)=プロパティpの上位プロパティの集合
word(i)=インスタンスiの生成元となった単語
この定義に従うと、例文1におけるトリプル「撮影した-被写体->カメラ」に関しては以下のようになる。
subj(撮影した-被写体->カメラ)=インスタンス「撮影した」
cls(subj(撮影した-被写体->カメラ))=クラス「撮影する」
sup(obj(撮影した-被写体->カメラ))={カメラ,人工物,オブジェクト,Thing}
prop(撮影した-被写体->カメラ)=プロパティ「被写体」
range(撮影した-被写体->カメラ)=クラス「オブジェクト」
word(撮影した-被写体->カメラ)=単語「撮影した」
例文2については、トリプル生成部20の処理結果として、図8に示すグラフGが得られる。
[ステップ6]
トリプル評価部22は、ステップ5で求められたすべてのトリプルに対して、そのトリプルが示す関係の出現可能性の程度を示す評価値(「重み値Wt」)を算出する。
トリプル評価部22は、以下に例示する4つの重みのうちの1つ以上から、最終的な評価値Wtを計算する。
(1)プロパティ重み(Wtp)
(2)インスタンスの重み(Wti)
(3)形態素の重み(Wtwp)
(4)係り受けの重み(Wtwd)
以下、各重みの求め方について説明する。
(1)プロパティ重み(Wtp)
プロパティ重み(Wtp)は、トリプルtに含まれるプロパティprop(t)についての評価値であり、意味解析で想定している世界におけるそのプロパティの出現可能性の高さを示す。
1つの例では、各プロパティのプロパティ重み値を保持した表(その一例を図9に示す)を予め用意しておき、プロパティprop(t)のプロパティ重み(Wtp)をその表の検索により求める。
この表における各プロパティの重み値は、例えば事前に基準となる意味ネットワークを多数記憶したデータベースを用意し、そのデータベースに記憶されたそれら既存の意味ネットワーク群に当該プロパティを含むトリプルが出現する頻度から求めればよい。ここでいう出現の頻度は、データベース内の全意味ネットワークが含む全トリプルの数を上限とする値である。出現の頻度の代わりに、その上限数に対するその頻度の率(出現確率)を用いてプロパティ重み(Wtp)を求めてもよい。出現頻度(又は確率)が高いプロパティほど重み(Wtp)が高い。この表の作成のために事前に用意した意味ネットワーク群が、意味解析で想定している世界を記述しているものと考える。なお、データベースに記憶されるそれら意味ネットワーク群は、例えば、コーパスに蓄積された膨大な数の文から生成しておけばよい。
また表に含まれる重みは、プロパティ間に上位-下位関係(subPropertyOf関係)がある場合は、下位のプロパティの重み(Wtp)が大きくなるように設定してもよい。この例では、例えば、オントロジーにおけるプロパティpに対するsup(p)の要素の数からプロパティpについてのプロパティ重み(Wtp)を求める。例えば、sup(p)の要素の数そのもの、またはその数を正規化した値を、プロパティpの重み(Wtp)とする。下位のプロパティほど、プロパティが示す概念が限定的(具体的)であり、より有用な意味を表している可能性が高い。
また、オントロジーを構成する各クラスに対して、プロパティと同様上位-下位関係に基づくスコア(下位ほど大きくなるスコア)を計算し、このスコアを考慮に入れてプロパティ重み(Wtp)を計算してもよい。この例では、注目しているプロパティpのドメインdomain(p)またはレンジrange(p)のうちの少なくとも一方のクラスのスコアを、そのプロパティpのプロパティ重み(Wtp)に反映させる。
また出現頻度に基づく重み、プロパティ間に上位-下位関係に基づく重み等を総合(例えば加重平均)してプロパティ重み(Wtp)を求めてもよい。
上述のように各プロパティの重み(Wtp)の表を予め生成しておく代わりに、評価対象のトリプルtが与えられた時点での最新の意味ネットワーク群や最新のオントロジーから、そのプロパティの重み(Wtp)を計算してもよい。すなわち、最新の意味ネットワーク群内でのトリプルt内のプロパティの出現頻度を求め、この出現頻度からそのプロパティの重み(Wtp)を計算する等である。この例では、プロパティ重みの計算のもとになる意味ネットワーク群が時間経過と共に変化する場合(例えば時流の変化に従ってあまり使われなくなった意味ネットワークが削除されたり、新たに現れた事象を示す意味ネットワークが追加されたりする場合)、最新の情報に基づく重みが得られる。
例文1から抽出された2つのトリプルについて、図9の表から求められるプロパティ重み(Wtp)は以下のようになる。
Wtp(撮影した-被写体->カメラ)=0.02
Wtp(撮影した-撮影機材->カメラ)=0.01
また例文2から抽出された各トリプルについての図9に基づくプロパティ重み(Wtp)は以下の通りである。
Wtp(撮影した-被写体->太郎)=0.02
Wtp(撮影した-行為の主体->太郎)=0.3
Wtp(撮影した-被写体->あなた)=0.02
Wtp(撮影した-行為の主体->あなた)=0.3
Wtp(太郎-所有者->あなた)=0.2
Wtp(あなた-所有者->太郎)=0.2
Wtp(撮影した-被写体->A)=0.02
Wtp(撮影した-撮影機材->A)=0.01
Wtp(A-所有者->太郎)=0.2
Wtp(A-製造者->太郎)=0.1
Wtp(A-所有者->あなた)=0.2
Wtp(A-製造者->あなた)=0.1
(2)インスタンスの重み(Wti)
インスタンスの重み(Wti)は、トリプルtにおける2つのインスタンスの属するクラスcls(subj(t)),cls(obj(t))とプロパティprop(t)の三つ組みに対する評価値である。この評価値は、想定している世界におけるそのトリプルの出現可能性の高さを示す。
1つの例では、各トリプルのインスタンス重み値(Wti)を保持した表(その一例を図10に示す)を予め用意しておき、注目しているトリプルtのインスタンス重み(Wti)をその表の検索により求める。この表は、例えば「所有者」プロパティに着目した場合、カメラの所有者として人間と会社を比較すると前者のほうが可能性が高い(0.9対0.2)ことを表している。
この表の各エントリの重み値は、プロパティ重みの場合と同様、例えば事前に用意したデータベースに記憶された既存の意味ネットワーク群における、当該エントリに該当するトリプルの出現頻度(あるいは確率)に基づいて求めておけばよい。出現の頻度が高いエントリほど重み(Wti)が高い。
すなわち、図10に示した表内のエントリは、オントロジー内のプロパティと、そのプロパティのドメインのクラスと、そのプロパティのレンジのクラスと、の三つ組みに対応するインスタンス重みを規定している。この三つ組みに対するインスタンス重みは、その三つ組みに該当するトリプル(すなわちその三つ組みに含まれるプロパティと、その三つ組みに含まれるドメインのクラスのインスタンスと、その三つ組みに含まれるドメインのクラスのインスタンスと、から構成されるトリプル)がデータベース内の意味ネットワーク群に出現する頻度に応じた値とする。三つ組みに該当するトリプルとは、その三つ組みに含まれるプロパティと、その三つ組みに含まれるドメインのクラスのインスタンスと、その三つ組みに含まれるドメインのクラスのインスタンスと、から構成されるトリプルである。例えば、プロパティ「撮影機材」とそのドメインのクラス「撮影する」とそのレンジのクラス「カメラ」との三つ組みに該当するトリプルとして、データベース内の意味ネットワーク群に、「撮影した-撮影機材->カメラ」というトリプルが2回、「撮影した-撮影機材->A(カメラの機種名)」というトリプルが1回、「撮影した-撮影機材->B(カメラの機種名)」というトリプルが1回、それぞれ出現しており、それら以外にその三つ組みに該当するトリプルは出現していない場合、その三つ組みに対するインスタンス重みは、その出現回数の合計4に応じた値(例えばその合計回数4をデータベース内の全トリプル数で除した値)とする。
また、プロパティ重みの場合と同様、オントロジーを構成するクラスやプロパティに対して上位-下位関係に基づくスコア(下位ほど大きくなるスコア)を設定し、トリプルtを構成する各インスタンスの所属クラスやプロパティのスコアから重み(Wti)を求めてもよい。
また、トリプルtが与えられた際に、図10に例示する表を作成するのに用いるのと同じ基礎データ(意味ネットワーク群等)を用いて、そのトリプルtについてのインスタンス重み値(Wti)を計算してもよい。
これらの値は、事前に出現数などから計算してもよいし、cls(subj())やcls(obj())のオントロジー上のクラスの上位-下位関係の位置づけやprop()に対する同様な上下関係の位置づけを利用して設定してもよい。
例文1から抽出された2つのトリプルについて、図10の表から求められるインスタンス重み(Wti)は以下のようになる。
Wti(撮影した-被写体->カメラ)=0.5
Wti(撮影した-撮影機材->カメラ)=1
また例文2から抽出された各トリプルについての図10に基づくインスタンス重み(Wti)は以下の通りである。
Wti(撮影した-被写体->太郎)=0.8
Wti(撮影した-行為の主体->太郎)=1
Wti(撮影した-被写体->あなた)=0.8
Wti(撮影した-行為の主体->あなた)=1
Wti(太郎-所有者->あなた)=0.01
Wti(あなた-所有者->太郎)=0.01
Wti(撮影した-被写体->A)=0.5
Wti(撮影した-撮影機材->A)=1
Wti(A-所有者->太郎)=0.9
Wti(A-製造者->太郎)=0.1
Wti(A-所有者->あなた)=0.9
Wti(A-製造者->あなた)=0.1
(3)形態素の重み(Wtwp)
形態素の重みは、トリプルtに含まれるプロパティprop(t)と、2つのインスタンスの元になった単語word(subj(t)),word(obj(t))のうちの少なくとも1つと、の組み合わせについての評価値である。この評価値は、単語word(subj(t))又はword(obj(t))についての品詞などの形態素情報、あるいは、その単語word(subj(t))又はword(obj(t))の前後の1以上の単語の情報等のうちの少なくとも1つを考慮して求めてもよい。
例えば、プロパティprop(t)と、そのプロパティのレンジのインスタンスの生成元の単語word(obj(t))の次に現れる単語(「後続単語」と呼ぶ)の品詞と、の組み合わせから形態素重み(Wtwp)を求め、図11に示すような表を作成してもよい。この表において、ただし、品詞表現内の文字「*」(ワイルドカード)の位置には任意の分類が出現可能である。
図11の表は、例えば「被写体」プロパティに着目すると、そのレンジに該当する単語の後ろに「助詞-を」(助詞である「を」)が続くほうが「助詞-で」が続く場合よりも可能性が高い(0.3対0.05)ことを示している。
図11の表の作成は、例えば次のようにして行えばよい。すなわち、まず、コーパスに蓄積された多数の文から構成した意味ネットワーク群を生成し、これら意味ネットワーク群を記憶したデータベース(プロパティ重みやインスタンス重みの算出に用いたデータベースと同じ)を用意する。コーパス中のどの文からデータベース中のどの意味ネットワークが生成されたかを示す対応関係の情報も記録しておく。次に、あるトリプルtに含まれるプロパティとレンジのインスタンスとの組について、その組を含む意味ネットワーク群をデータベースから抽出し、抽出した各意味ネットワークに対応する文をそれぞれ特定する。次に、特定した文から、そのインスタンスに対応する単語word(obj(t))(ただしそのプロパティのレンジのインスタンスに該当するものに限る)の後続単語を抽出する。このようにしてそのプロパティとそのインスタンス(レンジ)との組に関して抽出された後続単語群を集計し、この集計により得られる後続単語ごとの出現頻度に応じて、その後続単語に対応する重み(Wtwp)を計算する。重み(Wtwp)は出現頻度が高いほど大きくなるように定める。そして、その後続単語の出現頻度から求めた重み(Wtwp)を、そのプロパティとその後続単語との組に対応付けて、表(図11参照)に登録する。
例文1から抽出された2つのトリプルについて、図11の表から求められる形態素の重み(Wtwp)は以下のようになる。
Wtwp(撮影した-被写体->カメラ)=0.05
Wtwp(撮影した-撮影機材->カメラ)=0.3
また例文2から抽出された各トリプルについては、同様に以下のようになる。
Wtwp(撮影した-被写体->太郎)=0.3
Wtwp(撮影した-行為の主体->太郎)=0.01
Wtwp(撮影した-被写体->あなた)=0.01
Wtwp(撮影した-行為の主体->あなた)=0.01
Wtwp(太郎-所有者->あなた)=0.3
Wtwp(あなた-所有者->太郎)=0.01
Wtwp(撮影した-被写体->A)=0.05
Wtwp(撮影した-撮影機材->A)=0.3
Wtwp(A-所有者->太郎)=0.01
Wtwp(A-製造者->太郎)=0.01
Wtwp(A-所有者->あなた)=0.3
Wtwp(A-製造者->あなた)=0.3
なお、予め用意した表(図11)から形態素重み(Wtwp)を検索する代わりに、その表を作成するのと同様の処理を、コーパス及び意味ネットワークのデータベースを参照して行うことで、注目するトリプルtについての形態素重み(Wtwp)を計算してもよい。
(4)係り受けの重み(Wtwd)
係り受けの重み(Wtwd)は、トリプルtの2つのインスタンスの生成元となる単語word(subj(t)),word(obj(t))の組に対する評価値であり、係り受け解析部12の解析結果である単語依存木から求められる。例えば、単語依存木をグラフと見た場合のそれら2単語間の距離(グラフ上のそれら2単語の間の経路上に存在するエッジの数)からこの重み(Wtwd)を求めてもよい。例えば、それら2単語間の距離が小さいほど、この重みを大きい値とする。
また、係り受けの重み(Wtwd)は、プロパティprop(t)と、単語依存木におけるそれら2単語word(subj(t)),word(obj(t))の間の経路と、のペア、に基づいて求めてもよい。
ここで、2単語word(subj(t)),word(obj(t))の間の経路の情報としては、その経路上に単語の列の情報を用いる。上述の例文2に現れる2つの単語「A」と「撮影した」との間の係り受けの経路は、図4の単語依存木(2)を参照すると「(A)->助詞-で->(撮影した)」である(ただし「A」と「撮影した」は注目している2単語なので、経路からは外す)。これは、「A」が助詞「で」に係り、その助詞「で」が「撮影した」に係るという係り受け関係を示す。また、「あなた」と「撮影した」との間の経路は、「(A)->助詞-の->名詞-A->助詞-で->(撮影した)」である。
プロパティprop(t)と単語word(subj(t)),word(obj(t))間の経路とのペアに基づいた係り受けの重み(Wtwd)は、例えば、世界におけるそのペアの出現頻度(出現確率)から求めればよい。例えば、出現頻度が高いペアほど重み(Wtwd)の値を大きくする。ペアの出現頻度に基づく重み(Wtwd)は、例えば以下のような処理手順により求めればよい。
(1) コーパスに含まれる多数のサンプル文から、各サンプル文に対応する意味ネットワーク(サンプル意味ネットワークと呼ぶ)をそれぞれ作成する
(2) 係り受け解析により各サンプル文の単語依存木を作成する
(3) 同じサンプル文から生成したサンプル意味ネットワークと単語依存木を対応付ける
(4) サンプル意味ネットワークに現れるトリプルtについて、(a)そのトリプルtのプロパティprop(t)を抽出する。(b)また、そのサンプル意味ネットワーク対応する単語依存木において、2単語word(subj(t)),word(obj(t))間の経路を求める。求めた経路のうち名詞や動詞等は具体的な単語の代わりにワイルドカード(「*-*」)に置き換える(ただし品詞は維持)。抽出したプロパティprop(t)と置換え済みの経路情報とのペアを作成し、記憶する。
(5) 上記(4)の処理を全サンプル意味ネットワークに含まれる全トリプルtについて繰り返す。
(6) 上記(5)の完了後に蓄積されているペア群を集計し、プロパティと経路情報とが一致するペアの合計数を求める。この合計数が、全サンプル文及び全サンプル意味ネットワーク内でのそのペアの出現頻度である。この出現頻度が高いほど重み(Wtwd)が大きくなるよう、各ペアの係り受けの重み(Wtwd)を計算する。
以上に例示した係り受け重み(Wtwd)の算出のための処理手順はあくまで一例に過ぎない。同等の意味を持つ重み(Wtwd)を計算できる他の手順を用いてももちろんよい。
上述の処理手順等を用いて事前に各ペアの係り受けの重み(Wtwd)を計算することで、図12に例示するような表を作成し、入力テキストの解析の際には、この表を検索することで係り受けの重み(Wtwd)を求めてもよい。この表における経路の情報では、word(subj)が次の単語に係る方向を「→」、受ける方向を「←」で表している。経路中で通過する単語をその品詞で表す。このような経路のマッチングルールはここに上げた表現に限定するものではない。
図12の表を用いた係り受け重み(Wtwd)の算出処理は、例えば以下のように行えばよい。すなわち、重み算出の対象であるトリプルtについて、プロパティprop(t)と単語word(subj(t)),word(obj(t))間の経路とを求め、求めたプロパティと経路のペアにマッチするペアを表(図12)から求める。そのようなペアが表から見つかれば、見つかったペアに対応づけてその表に登録されている重みを、そのトリプルtの係り受け重み(Wtwd)とする。
例文1を考えた場合、単語依存木は図4のツリー(1)であり、出現単語(自立語)は「カメラ」と「撮影した」の2つである。また例文1についてオントロジーから求められたトリプルtは、「撮影した-被写体->カメラ」と「撮影した-撮影機材->カメラ」の2つである。これら2つのトリプルについてそれぞれ係り受け重み(Wtwd)を求める。
例えば、トリプルt=「撮影した-被写体->カメラ」については、word(subj(t))=「撮影した」からword(obj(t))=「カメラ」へのツリー(1)上での経路は、「←助詞-で←」になる。またこのトリプルtについてのプロパティprop(t)は「被写体」である。図12の表から、これらプロパティprop(t)=「被写体」と経路=「←助詞-で←」のペアに対応する重みとして「0.01」が得られる。したがって、このトリプルについての係り受け重み(Wtwd)は次のように決定される。
Wtwd(撮影した-被写体->カメラ)=0.01
同様に例文1について得られたもう一つのトリプルについての係り受け重み(Wtwd)は、次の通りとなる。
Wtwd(撮影した-撮影機材->カメラ)=0.3
例文2の場合、図8に例示したように多数のトリプルが得られるが、それら各トリプルについての係り受け重みは、図12の表から以下のように求められる。

Wtwd(撮影した-被写体->太郎)=0.4
Wtwd(撮影した-行為の主体->太郎)=0
Wtwd(撮影した-被写体->あなた)=0
Wtwd(撮影した-行為の主体->あなた)=0
Wtwd(太郎-所有者->あなた)=0
Wtwd(あなた-所有者->太郎)=0
Wtwp(撮影した-被写体->A)=0.01
Wtwp(撮影した-撮影機材->A)=0.3
Wtwp(A-所有者->太郎)=0
Wtwp(A-製造者->太郎)=0
Wtwp(A-所有者->あなた)=0.3
Wtwp(A-製造者->あなた)=0.3
なお、それらトリプルのうち、プロパティprop(t)と単語word(subj(t)),word(obj(t))間の経路のペアにマッチするエントリが図12の表から見つからないものについては、係り受け重み(Wtwd)の値を最低値0とする。表にないということは、コーパスの膨大なサンプル文(及びサンプル意味ネットワーク)群の中から見つからなかったということであり、そのようなペアは出現頻度が0と見なせる。
最終的なトリプルの重みWtは、以上に説明した4つの重み要素Wtp,Wti,Wtwp,Wtwdのうちの1以上の組み合わせから計算する。例えば、
Wt(t)=0.2*Wtp(t)+0.2*Wti(t)+0.1*Wtwp(t)+0.5*Wtwd(t) ...(式1)
のように、それら4つの要素の調和平均(加重平均)を最終的な重みWtとしてもよい。なお、調和平均はそれら4つの要素の組み合わせ方の一例に過ぎず、それら4つの要素を用いる別の関数を用いて最終的な重みWtを求めてもよい。
また、それら4つの重み要素のうちの1つを最終的な重みWtとしてもよいし、それら4つの重み要素のうちの2つ又は3つの組み合わせから最終的な重みWtを求めてもよい。
上記(式1)を用いる場合、例文1についての2つのトリプルの最終的な重みWtは次のように求められる。
Wt(撮影した-被写体->カメラ)=0.2*0.02+0.2*0.5+0.1*0.05+0.5*0.01 = 0.114
Wt(撮影した-撮影機材->カメラ)=0.2*0.01+0.2*1+0.1*0.3+0.5*0.3 = 0.382
また、(式1)を用いた場合の例文2の各トリプルの重みWtは以下のようになる。

Wt(撮影した-被写体->太郎)= 0.2*0.02+ 0.2* 0.8+ 0.1*0.3+ 0.5*0.4 = 0.394
Wt(撮影した-行為の主体->太郎)= 0.2*0.3+ 0.2*1+ 0.1*0.01+ 0.5*0 = 0.261
Wt(撮影した-被写体->あなた)= 0.2*0.02+ 0.2*0.8+ 0.1*0.01+ 0.5*0 = 0.165
Wt(撮影した-行為の主体->あなた)= 0.2*0.3+ 0.2*1+ 0.1*0.01+ 0.5*0 = 0.261
Wt(太郎-所有者->あなた)= 0.2*0.2+ 0.2*0.01+ 0.1*0.3+ 0.5*0 = 0.072
Wt(あなた-所有者->太郎)= 0.2*0.2+ 0.2*0.01+ 0.1*0.01+ 0.5*0 = 0.043
Wt(撮影した-被写体->A)= 0.2*0.02+ 0.2*0.5+ 0.1*0.05+ 0.5*0.01 = 0.114
Wt(撮影した-撮影機材->A)= 0.2*0.01+ 0.2*1+ 0.1*0.3+ 0.5*0.3 = 0.382
Wt(A-所有者->太郎)= 0.2*0.2+ 0.2*0.9+ 0.1*0.01+ 0.5*0 = 0.221
Wt(A-製造者->太郎)= 0.2*0.1+ 0.2*0.1+ 0.1*0.01+ 0.5*0 = 0.041
Wt(A-所有者->あなた)= 0.2*0.2+ 0.2*0.9+ 0.1*0.3+ 0.5*0.3 = 0.4
Wt(A-製造者->あなた)= 0.2*0.1+ 0.2*0.1+ 0.1*0.3+ 0.5*0.3 = 0.22
トリプル評価部22は、トリプルtについて求めた最終的な重みWtを、そのトリプルtに対応付けて記憶する。重みWtが対応付けられたトリプルtのことを重み付きトリプルtと呼ぶ。
[ステップ7]
候補生成部24は、ステップ6で得られた重み付きのトリプルを意味ネットワークの構成要素の候補として考え、それらを任意に組み合わせて意味ネットワークの候補を0個以上生成する。すなわち、候補生成部24は、それらトリプルの中からn個(nは0からそれらトリプルの総数Nまでの整数)を選んだ組み合わせを、1つの意味ネットワーク(候補)として生成する。
ここで一般にステップ6までで得られたトリプルがN個あった場合、それらの組み合わせは2^N個となる。したがって、Nが大きい場合、考えられる意味ネットワークの候補をすべて列挙するのは計算量の点で現実的ではない。そこで、生成条件を設定し、生成する候補をこの生成条件を満たすものに限定してもよい。
例えば生成条件として以下に例示する要素条件の論理積などが挙げられる。なお、これら4つの要素条件のすべての論理積を用いる代わりに、それら4つのうちの1以上についての論理積を用いてもよい。
(要素条件1)すべてのインスタンスは、トリプルの始点、または終点、またはその両方になっている。
(要素条件2)任意のインスタンスの組i1,i2について、i1からi2へのトリプルは高々1個である。
(要素条件3)生成された意味ネットワークは、高々2つ連結グラフから構成される。
(要素条件4)生成された意味ネットワークを構成するトリプルのWtスコアがすべて0.25以上である
それら4要素条件の論理積を生成条件として用いた場合、例文1について生成される意味ネットワークの候補は次の1つの「意味ネットワーク1-1」に絞られる。

意味ネットワーク1-1:
撮影した-撮影機材->カメラ
例文2の場合は以下に示す10個の候補が生成される

意味ネットワーク2-1:
撮影した-被写体->太郎
撮影した-行為の主体->あなた
撮影した-撮影機材->A

意味ネットワーク2-2:
撮影した-行為の主体->太郎
撮影した-行為の主体->あなた
撮影した-撮影機材->A

意味ネットワーク2-3:
撮影した-被写体->太郎
A-所有者->あなた

意味ネットワーク2-4:
撮影した-行為の主体->太郎
A-所有者->あなた

意味ネットワーク2-5:
撮影した-被写体->太郎
撮影した-行為の主体->あなた
A-所有者->あなた

意味ネットワーク2-6:
撮影した-行為の主体->太郎
撮影した-行為の主体->あなた
A-所有者->あなた

意味ネットワーク2-7:
撮影した-被写体->太郎
撮影した-撮影機材->A
A-所有者->あなた

意味ネットワーク2-8:
撮影した-行為の主体->太郎
撮影した-撮影機材->A
A-所有者->あなた

意味ネットワーク2-9:
撮影した-被写体->太郎
撮影した-行為の主体->あなた
撮影した-撮影機材->A
A-所有者->あなた

意味ネットワーク2-10:
撮影した-行為の主体->太郎
撮影した-行為の主体->あなた
撮影した-撮影機材->A
A-所有者->あなた
以上では、候補生成部24は、トリプルの集合を意味ネットワーク(候補)として生成したが、トリプルの集合に対してそのトリプルに含まれる各インスタンスの所属クラスやその上位クラスを加えたものを意味ネットワークとして生成してもよい。例えば、トリプルの集合が示すネットワークと、その集合に含まれるトリプルが含む各インスタンスが所属する各クラスに対応するノードと、及びそれら各インスタンスから対応する各所属クラスへのinstanceOf関係のエッジと、から意味ネットワークを構成する等である。
[ステップ8]
候補評価部26は、ステップ7で得られた意味ネットワーク候補のそれぞれに対して評価値を算出する。
例えば、候補評価部26は、以下に例示する要素評価値を1以上組み合わせて、意味ネットワーク候補nの重み値Wnを計算する。
(要素評価値1)候補nが含むすべてのトリプルt_iの重みWt(t_i)の平均値Wna
(要素評価値2)候補nの大きさ(例えばトリプルの数が多い)に基づく重みWnn
(要素評価値3)候補nが持つ閉路の数に基づく重み(Wno)
(要素評価値4)候補nが含む連結グラフの数に基づく重み(Wnc)
・要素評価値1について
重みWnaは意味ネットワークnがトリプルt_1,…t_i,…t_mから構成される場合、ΣWt(t_i) / mとなる。
例文1の場合、各候補についての重みWnaは以下のようになる。
Wna(意味ネットワーク1-1)=0.382/1=0.382
例文2の場合、各候補についての重みWnaは以下のようになる。
Wna(意味ネットワーク2-1) =(0.394+0.261+0.382)/3=0.34567
Wna(意味ネットワーク2-2) =(0.261+0.261+0.382/3=0.30133
Wna(意味ネットワーク2-3) =(0.394+0.4)/2=0.397
Wna(意味ネットワーク2-4) =(0.261+0.4)/2=0.3305
Wna(意味ネットワーク2-5) =(0.394+0.261+0.4)/3=0.35167
Wna(意味ネットワーク2-6) =(0.261+0.261+0.4)/3=0.30733
Wna(意味ネットワーク2-7) =(0.394+0.382+0.4)/3=0.392
Wna(意味ネットワーク2-8) =(0.261+0.382+0.4)/3=0.34767
Wna(意味ネットワーク2-9) =(0.394+0.261+0.382+0.4)/4=0.35925
Wna(意味ネットワーク2-10)=(0.261+0.261+0.382+0.4)/4=0.326
・要素評価値2について
重みWnnは、意味ネットワークが大きいほどそれが表現する意味内容が豊富であることに基づく評価値である。意味内容が豊富であるほど意味ネットワークの利用価値が高いので、重みWnnを大きい値とする。意味ネットワークの大きさを示す指標としては、例えば、その意味ネットワークが含んでいるトリプルの数を用いる(もちろん大きさを示す他の指標を用いてもよい)。意味ネットワークの大きさの指標値そのものをその意味ネットワークの重みWnnとして用いてもよい。以下の例は、この方針に沿ったものである。
例文1の場合、候補の重みWnnは以下のようになる。
Wnn(意味ネットワーク1-1)=1 (意味ネットワーク1-1が含むトリプルの数は1)
例文2の場合、各候補の重みWnnは以下のようになる。
Wnn(意味ネットワーク2-1) =3
Wnn(意味ネットワーク2-2) =3
Wnn(意味ネットワーク2-3) =2
Wnn(意味ネットワーク2-4) =2
Wnn(意味ネットワーク2-5) =3
Wnn(意味ネットワーク2-6) =3
Wnn(意味ネットワーク2-7) =3
Wnn(意味ネットワーク2-8) =3
Wnn(意味ネットワーク2-9) =4
Wnn(意味ネットワーク2-10)=4
・要素評価値3について
重みWnoは、意味ネットワークが閉路を持つ場合、内容が冗長であるため意図しない関連付けが付いている、という可能性を考慮した評価値である。すなわち、意味ネットワーク内に閉路がある場合、その閉路内の2つのノード(インスタンス)の間には複数の経路が存在する。これは、それら2つのインスタンスの組がなす意味に多義性(曖昧性)があるということである。閉路が多い意味ネットワークほど曖昧さを多く含むことになる。曖昧度合いが高い意味ネットワークは利用価値が少ないと考えられる。したがって、閉路数に基づく重みWnoは、候補nに含まれる閉路の数が少ないほど大きい値とする。
あるいは、重みWnoを負の値(減点)とし、候補nに含まれる閉路の数が多いほど大きく減点するようにしてもよい。以下の例は、この方法に従ったものであり、
Wno= -1*(候補が含む閉路の数)
という計算式で重みWnoを計算する。なお、ここでいう「閉路」とは、候補(意味ネットワーク)を無向グラフと見たときの閉路である。
例文1の場合、候補の重みWnoは以下のようになる。
Wno(意味ネットワーク1-1)=0
例文2の場合、各候補の重みWnoは以下のようになる。
Wno(意味ネットワーク2-1) =0
Wno(意味ネットワーク2-2) =0
Wno(意味ネットワーク2-3) =0
Wno(意味ネットワーク2-4) =0
Wno(意味ネットワーク2-5) =0
Wno(意味ネットワーク2-6) =0
Wno(意味ネットワーク2-7) =0
Wno(意味ネットワーク2-8) =0
Wno(意味ネットワーク2-9) =-1
Wno(意味ネットワーク2-10)=-1
・要素評価値4について
重みWncは、1つの文に出現する単語はすべて意味的に関連づいているはずであるという考えに基づく評価値である。よって意味ネットワークの構造上大きく連結している(すなわちその意味ネットワークを構成する連結グラフの数が少ない)ほうが評価値が高くなるべきである。
候補nが複数の連結グラフから構成されているということは、その候補nは、元になった入力テキストを複数の意味構造(連結グラフ)の組として表現していることになる。例えば入力テキストが例えば1つのテーマについて語っているものであれば、それを表現する意味ネットワークが複数の断片に分かれるのは望ましくない。入力テキストが1つの文であれば、その文に出現する単語はすべて意味的に関連づいているはずであり、その文から生成される意味ネットワークが複数の断片(連結グラフ)に分かれることはないはずである。このような考えから、同じ入力テキストから求められた意味ネットワークの候補であれば、構成要素の連結グラフが少ないものほど、その入力テキストを表現する意味ネットワークとしてふさわしいものとする。したがって、重みWncは、候補nが含む連結グラフの数が少ないほど大きい値とする。あるいは、重みWncを、上述の閉路数に基づく要素評価値3と同様減点方式としてもよい。
例えば、以下の式で定義される重みWncを用いてもよい。
Wnc=1-1*構成される連結グラフの数
この計算式を用いた場合、例文1の候補の重みWncは以下のようになる。
Wnc(意味ネットワーク1-1)=0
また例文2の場合、各候補の重みWncは以下のようになる。
Wnc(意味ネットワーク2-1) =0
Wnc(意味ネットワーク2-2) =0
Wnc(意味ネットワーク2-3) =-1
Wnc(意味ネットワーク2-4) =-1
Wnc(意味ネットワーク2-5) =0
Wnc(意味ネットワーク2-6) =0
Wnc(意味ネットワーク2-7) =0
Wnc(意味ネットワーク2-8) =0
Wnc(意味ネットワーク2-9) =0
Wnc(意味ネットワーク2-10)=0
候補nの最終的な重み値Wnは上記 Wna,Wnn,Wno,Wncのうちの1つ以上を組み合わせて計算される。例えば、次の式2に従って重み値Wnを計算してもよい(この式阿あくまで一例に過ぎない)。
Wn = Wna*(Wnn+Wno+Wnc) ...(式2)
式2を用いる場合、例文1から生成された候補の最終的な重み値Wnは以下のように計算される。
Wn(意味ネットワーク1-1)=0.382*(1+0+0) = 0.382
同様に例文2の各候補の最終的な重み値Wnは以下のようになる。
Wn(意味ネットワーク2-1) =0.34567*(3+0+0)=1.037
Wn(意味ネットワーク2-2) =0.30133*(3+0+0)=0.904
Wn(意味ネットワーク2-3) =0.397*(2-1+0)=0.397
Wn(意味ネットワーク2-4) =0.3305*(2-1+0)=0.3305
Wn(意味ネットワーク2-5) =0.35167*(3+0+0)=1.055
Wn(意味ネットワーク2-6) =0.30733*(3+0+0)=0.922
Wn(意味ネットワーク2-7) =0.392*(3+0+0)=1.176
Wn(意味ネットワーク2-8) =0.34767*(3+0+0)1.043
Wn(意味ネットワーク2-9) =0.35925*(4+0-1)=1.07778
Wn(意味ネットワーク2-10)= 0.326*(4+0-1)=0.978
[ステップ9]
候補選択部28は、ステップ8で得られた各候補の最終的な評価値Wnに基づき、それら各候補の中から、入力テキストの意味を表現するのに最もふさわしいものを選択し、選択したものを解析結果として出力する。具体的には、最終的な評価値Wnが最も高い候補を、入力テキストの最終的な解析結果である意味ネットワークとして選択する。
例文1の場合、候補は「意味ネットワーク1-1」(図3の(A)に該当)のみなので、候補選択部28はこれを選択する。例文2の場合、候補選択部28は、重み値Wnが最大である「意味ネットワーク2-7」(図3の(B)に該当)を選択する。例文の意味を的確に表現した意味ネットワークが選択されていることが分かる。
なお、最終的な出力を1つの意味ネットワークに限定することは必須ではない。この代わりに、評価値Wnが上位の所定数個の候補を選ぶという基準や、評価値Wnが出力対象判定のために定めた閾値以上である候補を選ぶという基準等といった他の基準に従って、最終的な出力とする候補を選択してもよい。
以上に示した例では、最終的な評価値Wnが最も高い候補を最終的な解析結果として選択したが、これは一例に過ぎない。この代わりに、最終的な評価値Wnが高い順位にいくつかを候補を解析結果としてもよいし、それらいくつかの候補を選択肢として提示し、その中から入力テキストに最も適合するものをユーザーに選択させてもよい。
<変形例1>
例文2の形態素解析において以下のような結果が得られたとする。

あなた 名詞-代名詞-人間
の 助詞-の
A 未知語
で 助詞-で
太郎 名詞-固有名詞-人間
を 助詞-を
撮影した 動詞-過去
この形態素解析結果では、形態素解析部10が単語「A」の固有名抽出に失敗し、単語「A」を未知語と判定している。
この場合、上述した実施の形態の処理のステップ4では、図13に示すグラフが得られる。このグラフでは、未知語「A」はクラスが特定できないので、オントロジーにおける最上位のクラスThingのインスタンスとなっている。クラスThingは非常に抽象度が高いため、クラスThingをドメインあるいはレンジに持つプロパティが少ない(図2に示した今回のオントロジーの場合はゼロ)。このため、「A」をインスタンスとして持つクラスから構成されるトリプル自体の数が少ない(今回のオントロジーの場合ゼロ)。また、クラスThingを含むトリプルがあったとしても、ステップ6におけるWtpを初めとする、プロパティに依拠する重みの値が低くなりがちである。その結果ステップ8で求められる意味ネットワークの候補の評価値Wnがすべて低くなり、正しい(または正解に近い)意味ネットワークが得られない可能性がある。
この変形例は、このような問題に対する対策を提供する。すなわち、この変形例では、インスタンス生成部18が生成したインスタンスiに対応するクラスcls(i)に下位クラスが存在する場合に、そのインスタンスiに対応するクラスをユーザーに人手で再割り当てするように提案する機能を意味ネットワーク構築装置に設ける。
図14が、この変形例に係る意味ネットワーク構築装置の機能ブロック図である。この図に示したクラス変更処理部30が、この変形例で新たに追加した上述の提案機能を担う。
1つの例では、クラス変更処理部30は、候補評価部26が求めた意味ネットワークの各候補の最終評価値Wnの中から最大値を求め、その最大値を予め定めた閾値と比較する。比較の結果、その最大値が閾値以上である場合、クラス変更処理部30は、候補選択部28に上述の実施の形態と同様の選択処理を実行させる。これに対し、その最大値が閾値より小さい場合、クラス変更処理部30は、ステップ4でインスタンス生成部18がグラフGに追加した各インスタンスiに対応する各クラスcls(i)の中から、下位クラスが存在するものを探す。そして、下位クラスが存在するクラスcls(i)が見つかれば、ユーザーに対して、そのクラスcls(i)の下位クラスの一覧を表示(クラス再割り当ての提案の一例)し、その一覧の中からそのインスタンスiの生成元の単語に適した下位クラスをユーザーに選択させる。そして、クラス変更処理部30は、インスタンス生成部18に対して、そのインスタンスiの対応クラスをクラスcls(i)からユーザーが選択した下位クラスに変更するよう指示し、トリプル生成部20〜候補評価部26に対して、変更後のグラフを対象として処理を再度実行させる。これにより、得られる各候補の評価値Wnが変更前よりも改善される。
一例として、図13に例示した具体例のグラフから求めた意味ネットワークの候補の評価値Wnがすべて閾値より低かったと仮定する。4つのインスタンス「A」、「あなた」、「太郎」、「撮影した」のうち対応するクラスに下位クラスが存在するのは「A」のみである。したがって、クラス変更処理部30がユーザーへクラスの割り当てを提案するのはインスタンスAである。
よって、クラス変更処理部30は、インスタンスAに現在割り当てられているクラスThingの下位クラスをグラフGから探し、見つけた下位クラスの一覧を表示した選択用のUI(ユーザインタフェース)画面をユーザーに提供する。図13の例でいえば、Thing以外のその図に示したすべてのクラスが、そのインスタンスAの生成元の単語(形態素)に対するクラスの選択肢として、そのUI画面に示される。このとき、クラス変更処理部30は、下位クラスの選択のための参考情報として、それら各下位クラスにそれぞれインスタンスAを割り当てた場合の意味ネットワークの候補の評価値の最大値を計算してそのUI画面に表示してもよい。これには例えば、それら各下位クラスについて、インスタンスAをその下位クラスを割り当てた場合のシミュレーションをインスタンス生成部18〜候補評価部26で実行し、その下位クラスについての各意味ネットワーク候補の評価値を求め、その中の最大値を求めればよい。ユーザーは、そのUI画面から、インスタンスAの再割り当て先とするクラスを選択する。クラス変更処理部30は、インスタンスAの対応付け先をユーザーが選択したクラスに変更するようインスタンス生成部18に指示し、トリプル生成部20〜候補評価部26に、この変更を加えた後のグラフGに対して意味ネットワークの候補の生成や評価を実行させる。この再実行の結果、評価値Wnが閾値以上となる意味ネットワークの候補が見つかった場合は、候補選択部28がそれら候補のうちその評価値が最大であるものを解析結果として選択する。なお、上述のシミュレーションを実施した場合は、候補生成や評価を再実行する代わりに、ユーザーが選択したクラスに対応するシミュレーションの結果を利用してもよい。
このようにしてユーザーの手によって単語「A」のクラスの対応付けが正しくなされた(すなわち評価値Wnが閾値以上である最終的な解析結果の意味ネットワークが得られた)とき、その対応付けを正解データとして形態素解析部10に学習させてもよい。この学習は、形態素解析用の辞書にその単語「A」のクラス情報としてその正解のクラスを登録したり、その正解を教師データとして形態素解析のモデルに機械学習を実行したりすることにより実現される。この学習により、次回からの単語に対するクラスへの割り当て精度の向上が図られる。
以上の例では、クラス変更処理部30が再割り当て先のクラスの選択肢をユーザーに提示し、ユーザーに選択を行わせたが、これは一例に過ぎない。この代わりに、クラス変更処理部30が各選択肢についての上述のシミュレーションの結果を用いて最適な再割り当て先(例えば評価値Wnが閾値以上かつ最大のもの)を判定し、判定した再割り当て先に対してインスタンスAを自動的に割り当て直してもよい。また、クラス変更処理部30は、シミュレーションにより評価値Wnが閾値以上かつ他の候補よりも顕著に高い候補が1つだけ得られた場合は、その候補で用いたクラス再割り当てを自動的に採用し、そうでない場合すなわち評価値Wnが閾値以上で最大に近い候補が複数得られた場合には、それらを提示してユーザーに選択させるという方式を用いてもよい。
<変形例2>
上述した実施の形態及び変形例1では、入力テキストに対する意味ネットワークを作成した。しかし、意味ネットワーク生成の前の段階、例えばトリプル生成の段階まででも有益性がある。この変形例2は、トリプル生成を利用した装置構成について説明する。
図15にこの変形例2の装置構成の例を示す。図15に示す装置のうち、形態素解析部10からトリプル生成部20までの各要素は、図1に示した装置の同符号の要素と同様のものである。この変形例2の装置は、図1の装置のトリプル評価部22〜候補選択部28までの要素に代えて、質問部40を有する。
質問部40は、トリプル生成部20が入力テキストとオントロジーとの組み合わせから生成したトリプル群の中に、両端のインスタンスは同じだがプロパティが互いに異なるトリプルが複数あれば、それら複数のトリプルのうちのどのトリプル(すなわちどのプロパティ)が意味的に適切であるかをユーザーに質問する。
例えば、上述した例文1の場合、トリプル生成部20は「撮影した-被写体->カメラ」と「撮影した-撮影機材->カメラ」という2つのトリプルを生成する。これら2つのトリプルは、図7に示されるように、両端のインスタンス「カメラ」及び「撮影した」が共通で、その間のプロパティが異なる。このように両端のインスタンスが共通のトリプルが複数あるということは、それら両インスタンスの関係の意味づけに曖昧性があることを意味する。上述の実施の形態では、トリプル評価部22による評価によりそのような曖昧性が低減される方向への絞込を行っているのに対し、この変形例2の質問部40は、それら複数のトリプルをユーザーに提示し、どの意味づけが適切かをユーザーに選択させる。
例えば「あなたは何を撮影しましたか」という入力テキストに対して、トリプル生成部20が、オントロジーを参照することで、インスタンス「あなた」とインスタンス「撮影した」が構成するトリプルとして、「撮影した-所有者->あなた」、「撮影した-被写体>あなた」、「撮影した-行為の主体->あなた」の3つを生成したとする。すると質問部40は、それら3つのトリプルのうちどれがインスタンス「あなた」とインスタンス「撮影した」の関係を表すものとして正しいのかを尋ねる内容の質問用UI画面を生成し、ユーザーに対して提示する。この画面には、例えば、次に例示する選択肢が示され、ユーザーからの選択を受け付ける。
1)「あなた」は「撮影した」に対する「所有者」である
2)「あなた」は「撮影した」に対する「被写体」である
3)「あなた」は「撮影した」に対する「行為の主体」である
これらの選択肢の文は、質問部40が、各トリプルのデータから自動的に生成する。
そして、ユーザーから選択されたトリプルを、それら2つのインスタンス間の関係を表すものとして確定する。
図15の装置は、質問部40の質問用UI画面を用いてユーザーから選択されたトリプルを、最終的な処理結果として出力する。
なお、質問部40から出力される処理結果(トリプル)を用いて入力テキストに対応する意味ネットワークを生成してもよい。これには、質問部40は、処理結果を候補生成部24に渡せばよい。この場合、任意の2つのインスタンス間のエッジ(トリプル内のプロパティ)は高々1つであるので、生成される候補の数が上記実施の形態の場合よりも少なくなる。
以上に例示した意味ネットワーク解析装置やその変形例の装置は、コンピュータにそれら装置の持つ機能を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)等の固定記憶装置を制御するコントローラ、各種I/O(入出力)インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバス等を介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
10 形態素解析部、12 係り受け解析部、14 初期グラフ生成部、16 オントロジーDB(データベース)、18 インスタンス生成部、20 トリプル生成部、22 トリプル評価部、24 候補生成部、26 候補評価部、28 候補選択部、30 クラス変更処理部、40 質問部。

Claims (6)

  1. 入力テキスト内の各要素に対応するオントロジー内の概念を特定する特定手段と、
    前記入力テキスト内の要素同士の関係として、それら要素に対応する前記概念同士の間に前記オントロジーで規定されている関係を出力する関係出力手段と、
    前記関係出力手段が出力した前記要素同士の関係のうちの1以上から構成されるネットワークを、前記入力テキストに対応する意味ネットワークとして生成する生成手段と、
    前記関係出力手段が出力した前記要素同士の関係についての評価値である関係評価値を算出する関係評価値算出手段と、
    前記生成手段が生成した各意味ネットワークについての評価値であるネットワーク評価値を、その意味ネットワークが含む前記要素同士の関係についての前記関係評価値に基づいて求め、求めたネットワーク評価値に基づいて選んだ意味ネットワークを前記入力テキストに対応する意味ネットワークとして出力する意味ネットワーク出力手段と、
    前記生成手段が生成した各意味ネットワークについて求めた前記ネットワーク評価値がすべて予め定めた閾値以下であり、かつ前記特定手段が特定した前記入力テキスト内の要素に対応する概念に対して前記オントロジー内に下位の概念が存在する場合に、その要素をその下位の概念に対応付けることを提案する手段と、
    を含み、
    前記生成手段は、前記関係評価値に基づいて選抜された前記要素同士の関係から前記意味ネットワークを生成する、情報処理装置。
  2. 前記特定手段は、前記要素に対応するものとして規定されている概念、及び、前記オントロジーでその概念に対する直接又は間接の上位と規定されている各概念、をそれぞれ前記要素に対応する概念として特定し、
    前記関係出力手段は、前記入力テキスト内の第1の要素について前記特定手段が特定した概念群に含まれる第1の概念と、前記入力テキスト内の第2の要素について前記特定手段が特定した概念群に含まれる第2の概念と、の間に、前記オントロジーに規定された関係が存在する場合に、その関係を前記第1の要素と前記第2の要素との間の関係として出力する、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記入力テキストに含まれる要素間の係り受けを解析する係り受け解析手段、を更に含み、
    前記関係評価値算出手段は、前記要素同士の関係と、当該関係をなす前記要素同士について前記係り受け解析手段で求められた係り受けと、の組み合わせについての評価値に基づき前記関係評価値を算出する、ことを特徴とする請求項に記載の情報処理装置。
  4. 前記関係評価値算出手段は、前記要素同士の関係と、当該関係をなす前記各要素に対応する前記各概念と、の組み合わせについての評価値に基づき前記関係評価値を算出する、ことを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記特定手段が特定した前記入力テキスト内の要素に対応する概念に対して前記オントロジー内に下位の概念が存在する場合、その要素をその下位の概念に対応付けた場合について、前記関係出力手段、前記生成手段、前記関係評価値算出手段、及び前記意味ネットワーク出力手段に処理を実行させる制御を行う実行制御手段、更に含むことを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。
  6. コンピュータを、
    入力テキスト内の各要素に対応するオントロジー内の概念を特定する特定手段、
    前記入力テキスト内の要素同士の関係として、それら要素に対応する前記概念同士の間に前記オントロジーで規定されている関係を出力する関係出力手段、
    前記関係出力手段が出力した前記要素同士の関係のうちの1以上から構成されるネットワークを、前記入力テキストに対応する意味ネットワークとして生成する生成手段、
    前記関係出力手段が出力した前記要素同士の関係についての評価値である関係評価値を算出する関係評価値算出手段、
    前記生成手段が生成した各意味ネットワークについての評価値であるネットワーク評価値を、その意味ネットワークが含む前記要素同士の関係についての前記関係評価値に基づいて求め、求めたネットワーク評価値に基づいて選んだ意味ネットワークを前記入力テキストに対応する意味ネットワークとして出力する意味ネットワーク出力手段、
    前記生成手段が生成した各意味ネットワークについて求めた前記ネットワーク評価値がすべて予め定めた閾値以下であり、かつ前記特定手段が特定した前記入力テキスト内の要素に対応する概念に対して前記オントロジー内に下位の概念が存在する場合に、その要素をその下位の概念に対応付けることを提案する手段、
    として機能させるためのプログラムであって
    前記生成手段は、前記関係評価値に基づいて選抜された前記要素同士の関係から前記意味ネットワークを生成する、プログラム
JP2016133656A 2016-07-05 2016-07-05 情報処理装置及びプログラム Active JP6729095B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016133656A JP6729095B2 (ja) 2016-07-05 2016-07-05 情報処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016133656A JP6729095B2 (ja) 2016-07-05 2016-07-05 情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2018005690A JP2018005690A (ja) 2018-01-11
JP6729095B2 true JP6729095B2 (ja) 2020-07-22

Family

ID=60946385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016133656A Active JP6729095B2 (ja) 2016-07-05 2016-07-05 情報処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6729095B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102041783B1 (ko) * 2018-03-02 2019-11-07 신성대학교 산학협력단 물리치료 환자 기록 관리 서비스 제공 방법
JP7172497B2 (ja) * 2018-11-22 2022-11-16 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP6882372B2 (ja) * 2019-05-23 2021-06-02 ヤフー株式会社 決定装置、決定方法、および決定プログラム
US12086174B2 (en) * 2020-04-10 2024-09-10 Nippon Telegraph And Telephone Corporation Sentence data analysis information generation device using ontology, sentence data analysis information generation method, and sentence data analysis information generation program
KR102560521B1 (ko) * 2020-11-19 2023-07-27 주식회사 티맥스알지 지식 그래프 생성 방법 및 장치
JP7552864B2 (ja) 2021-03-19 2024-09-18 日本電気株式会社 分析条件生成装置、分析システム、分析条件生成プログラム、分析プログラム、分析条件生成方法、及び分析方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2948159B2 (ja) * 1996-12-06 1999-09-13 株式会社日立製作所 データベース装置
JP2005157823A (ja) * 2003-11-27 2005-06-16 Nippon Telegr & Teleph Corp <Ntt> 知識ベースシステム、および同システムにおける単語間の意味関係判別方法、ならびにそのコンピュータプログラム
JP2009080624A (ja) * 2007-09-26 2009-04-16 Toshiba Corp 情報表示装置、方法及びプログラム
KR101083313B1 (ko) * 2011-06-03 2011-11-15 한국과학기술정보연구원 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치

Also Published As

Publication number Publication date
JP2018005690A (ja) 2018-01-11

Similar Documents

Publication Publication Date Title
US11537820B2 (en) Method and system for generating and correcting classification models
US11651279B2 (en) LAT based answer generation using anchor entities and proximity
JP6729095B2 (ja) 情報処理装置及びプログラム
Grishman Information extraction
US10282468B2 (en) Document-based requirement identification and extraction
CN111401077B (zh) 语言模型的处理方法、装置和计算机设备
US9373086B1 (en) Crowdsource reasoning process to facilitate question answering
RU2686000C1 (ru) Извлечение информационных объектов с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки
US9183285B1 (en) Data clustering system and methods
WO2015135455A1 (en) Natural language question answering method and apparatus
RU2679988C1 (ru) Извлечение информационных объектов с помощью комбинации классификаторов
KR101136007B1 (ko) 문서 감성 분석 시스템 및 그 방법
US20070016863A1 (en) Method and apparatus for extracting and structuring domain terms
CN107315734B (zh) 一种基于时间窗口和语义的变体词规范化的方法和系统
KR20190015797A (ko) 인공지능(ai)을 통한 딥러닝훈련모듈과, 순위화프레임워크모듈을 활용하여, 법률전문가에게 최적화된 모범답안을 제시하는 한편, 법률정보를 의미 벡터로 변환하여, 데이터베이스에 저장하고, 이에 대한 문자열 사전모듈을 활용한 온라인 법률정보사전을 제공하는 시스템 및 그 방법
JP6663826B2 (ja) 計算機及び応答の生成方法
JP2015505082A (ja) 情報ドメインに対する自然言語処理モデルの生成
US9613133B2 (en) Context based passage retrieval and scoring in a question answering system
US20190317986A1 (en) Annotated text data expanding method, annotated text data expanding computer-readable storage medium, annotated text data expanding device, and text classification model training method
Sabeti et al. LexiPers: An ontology based sentiment lexicon for Persian
CN109783806A (zh) 一种利用语义解析结构的文本匹配方法
JP2014120053A (ja) 質問応答装置、方法、及びプログラム
CN109271624A (zh) 一种目标词确定方法、装置及存储介质
Garrido et al. The GENIE project-a semantic pipeline for automatic document categorisation
Zouaoui et al. Ontological Approach Based on Multi-Agent System for Indexing and Filtering Arabic Docu-ments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200615

R150 Certificate of patent or registration of utility model

Ref document number: 6729095

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350