(57)【要約】【課題】抽象的な化合物名を示すノード同士をリンク付けすること。【解決手段】情報処理装置１００は、ノード１０１が示す化合物名「１−エトキシ−２−プロパノール」を基に、抽象名「１−エトキシプロパノール」を示すノード１０３を生成する。情報処理装置１００は、ノード１０２が示す化合物名「３−エトキシ−１−プロパノール」を基に、抽象名「３−エトキシプロパノール」を示すノード１０４を生成する。情報処理装置１００は、抽象名「１−エトキシプロパノール」を示す示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」と、抽象名「３−エトキシプロパノール」を示す示性式「Ｃ２Ｈ５−Ｏ−Ｃ３Ｈ６ＯＨ」とを特定する。情報処理装置１００は、特定した２つの示性式に基づいて、２つの抽象名の間に同義関係が成立するか否かを判定する。情報処理装置１００は、同義関係が成立する場合、生成したノード１０３とノード１０４とをリンク付けする。【選択図】図１
2020035172.tif 000002
【特許請求の範囲】
【請求項１】
第１のノードが示す第１の化合物名から置換基の結合位置を示す文字列を除去した第１の抽象名を特定し、
第２のノードが示す第２の化合物名から置換基の結合位置を示す文字列を除去した第２の抽象名を特定し、
特定した前記第１の抽象名を示す第３のノードを生成し、
特定した前記第２の抽象名を示す第４のノードを生成し、
前記第１の抽象名に対応する第１の構造情報と、前記第２の抽象名に対応する第２の構造情報とに基づいて、前記第１の抽象名と、前記第２の抽象名との間に、同義関係が成立するか否かを判定し、
同義関係が成立すると判定した場合には、生成した前記第３のノードと、生成した前記第４のノードとをリンク付けする、
処理をコンピュータが実行することを特徴とする生成方法。
【請求項２】
前記判定する処理は、前記第１の構造情報と、前記第２の構造情報とが一致する場合に、同義関係が成立すると判定する、ことを特徴とする請求項１に記載の生成方法。
【請求項３】
前記判定する処理は、前記第１の構造情報と、前記第２の構造情報を原子団単位で並べ替えた第３の示性式とが一致する場合に、同義関係が成立すると判定する、ことを特徴とする請求項１または２に記載の生成方法。
【請求項４】
文章集合から、化合物名としての条件を満たす複数の文字列を抽出し、
化合物名を記憶する辞書情報を参照して、抽出した前記複数の文字列のうち、化合物名であると判定した文字列を示すノードを生成し、
生成した前記ノードの中から、前記第１のノードと、前記第２のノードとを選択する、処理を前記コンピュータが実行することを特徴とする請求項１〜３のいずれか一つに記載の生成方法。
【請求項５】
前記第３のノードを生成する処理は、生成した前記ノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、前記第１の抽象名と同じ抽象名になる化合物名が、所定の数以上存在する場合に、前記第３のノードを生成し、
前記第４のノードを生成する処理は、生成した前記ノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、前記第２の抽象名と同じ抽象名になる化合物名が、前記所定の数以上存在する場合に、前記第４のノードを生成する、ことを特徴とする請求項４に記載の生成方法。
【請求項６】
前記第３のノードを生成する処理は、文章集合に、前記第１の抽象名が閾値以上出現する場合に、前記第３のノードを生成し、
前記第４のノードを生成する処理は、前記文章集合に、前記第２の抽象名が前記閾値以上出現する場合に、前記第４のノードを生成する、ことを特徴とする請求項１〜５のいずれか一つに記載の生成方法。
【請求項７】
前記第１のノードの上位に前記第３のノードをリンク付け、前記第２のノードの上位に前記第４のノードをリンク付けする、処理を前記コンピュータが実行することを特徴とする請求項１〜６のいずれか一つに記載の生成方法。
【請求項８】
前記リンク付けする処理は、同義関係が成立すると判定した場合には、生成した前記第３のノードと、生成した前記第４のノードとを、同義関係を示すエッジを用いてリンク付けする、ことを特徴とする請求項１〜７のいずれか一つに記載の生成方法。
【請求項９】
第１のノードが示す第１の化合物名から置換基の結合位置を示す文字列を除去した第１の抽象名を特定し、
第２のノードが示す第２の化合物名から置換基の結合位置を示す文字列を除去した第２の抽象名を特定し、
特定した前記第１の抽象名を示す第３のノードを生成し、
特定した前記第２の抽象名を示す第４のノードを生成し、
前記第１の抽象名に対応する第１の構造情報と、前記第２の抽象名に対応する第２の構造情報とに基づいて、前記第１の抽象名と、前記第２の抽象名との間に、同義関係が成立するか否かを判定し、
同義関係が成立すると判定した場合には、生成した前記第３のノードと、生成した前記第４のノードとをリンク付けする、
処理をコンピュータに実行させることを特徴とする生成プログラム。
【請求項１０】
第１のノードが示す第１の化合物名から置換基の結合位置を示す文字列を除去した第１の抽象名を特定し、
第２のノードが示す第２の化合物名から置換基の結合位置を示す文字列を除去した第２の抽象名を特定し、
特定した前記第１の抽象名を示す第３のノードを生成し、
特定した前記第２の抽象名を示す第４のノードを生成し、
前記第１の抽象名に対応する第１の構造情報と、前記第２の抽象名に対応する第２の構造情報とに基づいて、前記第１の抽象名と、前記第２の抽象名との間に、同義関係が成立するか否かを判定し、
同義関係が成立すると判定した場合には、生成した前記第３のノードと、生成した前記第４のノードとをリンク付けする、
制御部を有することを特徴とする生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成方法、生成プログラム、および生成装置に関する。
【背景技術】
【０００２】
従来、情報検索、情報解析、または、読解支援などに、化学分野に関するナレッジグラフが利用されることがある。ナレッジグラフは、例えば、化合物名を示すノード、化合物の分子式や分子量を示すノード、または、化合物の機能や用途を示すノードなどを含む。例えば、人が、化学分野の特許文献や技術論文などの技術文書を読解する際に、ナレッジグラフを利用し、技術文書に記載された化合物名から、化合物の分子式や分子量、または、化合物の機能や用途などを検索可能にすることが考えられる。
【０００３】
先行技術としては、例えば、化学反応のルールを適用することにより、化学式から派生した化学式を生成するものがある。また、例えば、電子文書から物質名と化学式との組み合わせの候補を自動で見つけ出す技術がある。また、例えば、化合物の示性式から分割した各々のブロックについて特定した部分構造を表す元素または原子団を、示性式におけるブロックの位置と対応付けて出力する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１０１５０８号公報
【特許文献２】特開２０１３−１０１５０９号公報
【特許文献３】特開２０１４−９１７２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、構造が一意に特定されない粒度で表現された抽象的な化合物名を示すノードを含むナレッジグラフを生成することは難しい。例えば、既存の辞書を参照してナレッジグラフを生成することが考えられるが、既存の辞書には、抽象的な化合物名は登録されておらず、抽象的な化合物名を示すノードを含むナレッジグラフを生成することはできない。さらに、既存の辞書に登録された化合物名に基づいて特定された抽象的な化合物名を示すノードを含むようにナレッジグラフを生成することも考えられるが、抽象的な化合物名同士の関係性が明確ではなく、ノード同士が適切にリンク付けされない場合がある。
【０００６】
１つの側面では、本発明は、抽象的な化合物名を示すノード同士をリンク付けすることを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様によれば、第１のノードが示す第１の化合物名から置換基の結合位置を示す文字列を除去した第１の抽象名を特定し、第２のノードが示す第２の化合物名から置換基の結合位置を示す文字列を除去した第２の抽象名を特定し、特定した前記第１の抽象名を示す第３のノードを生成し、特定した前記第２の抽象名を示す第４のノードを生成し、前記第１の抽象名に対応する第１の構造情報と、前記第２の抽象名に対応する第２の構造情報とに基づいて、前記第１の抽象名と、前記第２の抽象名との間に、同義関係が成立するか否かを判定し、同義関係が成立すると判定した場合には、生成した前記第３のノードと、生成した前記第４のノードとをリンク付けする生成方法、生成プログラム、および生成装置が提案される。
【発明の効果】
【０００８】
一態様によれば、抽象的な化合物名を示すノード同士をリンク付けすることが可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる生成方法の一実施例を示す説明図である。
【図２】図２は、サービス提供システム２００の一例を示す説明図である。
【図３】図３は、情報処理装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、グラフ情報テーブル４００のデータ構造の一例を示す説明図である。
【図５】図５は、辞書テーブル５００のデータ構造の一例を示す説明図である。
【図６】図６は、クライアント装置２０１のハードウェア構成例を示すブロック図である。
【図７】図７は、情報処理装置１００の機能的構成例を示すブロック図である。
【図８】図８は、化合物名の候補を抽出する一例を示す説明図である。
【図９】図９は、化合物名の候補にＵＲＩを付与する一例を示す説明図である。
【図１０】図１０は、抽象名を特定する一例を示す説明図（その１）である。
【図１１】図１１は、抽象名を特定する一例を示す説明図（その２）である。
【図１２】図１２は、抽象名にＵＲＩを付与する一例を示す説明図である。
【図１３】図１３は、化合物名を示すノードと抽象名を示すノードとをリンク付けする一例を示す説明図である。
【図１４】図１４は、示性式を生成する一例を示す説明図である。
【図１５】図１５は、抽象名を示すノード同士をリンク付けする一例を示す説明図である。
【図１６】図１６は、ナレッジグラフ１６００を利用する一例を示す説明図である。
【図１７】図１７は、全体処理手順の一例を示すフローチャート（その１）である。
【図１８】図１８は、全体処理手順の一例を示すフローチャート（その２）である。
【図１９】図１９は、判定処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる生成方法、生成プログラム、および生成装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる生成方法の一実施例）
図１は、実施の形態にかかる生成方法の一実施例を示す説明図である。情報処理装置１００は、化学分野に関するナレッジグラフを生成しやすくするコンピュータである。
【００１２】
ナレッジグラフは、化合物に関する種々の情報を示すノードを含む。ナレッジグラフは、例えば、化合物名を示すノード、化合物の分子式や分子量を示すノード、または、化合物の機能や用途を示すノードなどを含む。化合物は、２種類以上の元素からなる化学物質である。化合物は、例えば、有機化合物と無機化合物とである。
【００１３】
ここで、ナレッジグラフは、例えば、情報検索、情報解析、または、読解支援などに利用される。例えば、人が、化学分野の特許文献や技術論文などの技術文書を読解する際に、ナレッジグラフを利用し、技術文書に記載された化合物名から、化合物の分子式や分子量、または、化合物の機能や用途などを検索可能にすることが考えられる。
【００１４】
技術文書には、構造が一意に特定可能な粒度で表現された具体的な化合物名ではなく、構造が一意に特定されない粒度で表現された抽象的な化合物名が記載されていることがある。具体的な化合物名は、例えば、置換基の結合位置が明示された化合物名である。一方で、抽象的な化合物名は、例えば、置換基の結合位置が特定されない粒度で表現された化合物名である。抽象的な化合物名は、例えば、置換基の結合位置を示す文字列が省略された化合物名である。
【００１５】
例えば、化合物名「１−エトキシ−２−プロパノール」、および、化合物名「２−エトキシ−２−プロパノール」などが、エトキシ基とヒドロキシ基との結合位置が明示された具体的な化合物名である。一方で、化合物名「１−エトキシプロパノール」、および、化合物名「２−エトキシプロパノール」などが、ヒドロキシ基の結合位置が特定されない粒度で表現された抽象的な化合物名である。
【００１６】
したがって、ナレッジグラフが、具体的な化合物名を示すノードの他、抽象的な化合物名を示すノードを含むようにすることが、ナレッジグラフを、情報検索、情報解析、または、読解支援などに利用する観点から好ましいと考えられる。しかしながら、抽象的な化合物名を示すノードを含むナレッジグラフを生成することは難しい。
【００１７】
例えば、ナレッジグラフを生成する方法として、既存の辞書を参照し、既存の辞書に登録された化合物に関する種々の情報を示すノードを含むナレッジグラフを生成する第１の方法が考えられる。既存の辞書は、例えば、ＣｈＥＢＩ（Ｃｈｅｍｉｃａｌ  Ｅｎｔｉｔｉｅｓ  ｏｆ  Ｂｉｏｌｏｇｉｃａｌ  Ｉｎｔｅｒｅｓｔ）、および、日本化学物質辞書などである。
【００１８】
ところが、既存の辞書に、抽象的な化合物名が登録されているとは限らない。例えば、既存の辞書には、置換基の結合位置が明示された具体的な化合物名「１−エトキシ−２−プロパノール」、および、具体的な化合物名「１−エトキシ−２−プロパノール」の上位概念「ｈｙｄｒｏｘｙ  ｅｔｈｅｒ」などは登録されていることがある。一方で、既存の辞書には、置換基の結合位置が特定されない粒度で表現された、抽象的な化合物名「１−エトキシプロパノール」などは登録されていない。
【００１９】
このため、第１の方法では、抽象的な化合物名を示すノードを含むナレッジグラフを生成することは難しい。第１の方法では、例えば、抽象的な化合物名「１−エトキシプロパノール」などを示すノードを含むナレッジグラフを生成することができない。
【００２０】
これに対し、ナレッジグラフを生成する方法として、既存の辞書に登録された化合物名に基づいて、抽象的な化合物名を特定して抽象的な化合物名を示すノードを生成し、抽象的な化合物名を示すノードを含むナレッジグラフを生成する第２の方法も考えられる。例えば、具体的な化合物名「１−エトキシ−２−プロパノール」から、ヒドロキシ基の結合位置を示す文字列「−２−」を除去し、抽象的な化合物名「１−エトキシプロパノール」を特定することが考えられる。
【００２１】
第２の方法では、抽象的な化合物名を示すノードを生成しても、抽象的な化合物名同士の関係性、および、抽象的な化合物名と具体的な化合物名との関係性を、ナレッジグラフに適切に反映することができない場合がある。例えば、抽象的な化合物名同士の関係性、および、抽象的な化合物名と具体的な化合物名との関係性が明確になるように、ナレッジグラフ内のノード同士を適切にリンク付けすることができない。
【００２２】
具体的には、表記が異なる２つの抽象的な化合物名が、実質的に同じ構造を示す場合があり、それぞれの抽象的な化合物名を示すノードをリンク付けすることが好ましい状況でも、それぞれの抽象的な化合物名を示すノードがリンク付けされない場合がある。表記が異なるが、実質的に同じ構造を示す、抽象的な化合物名の組み合わせとしては、例えば、化合物名「１−エトキシプロパノール」と、化合物名「３−エトキシプロパノール」との組み合わせがある。
【００２３】
また、現実に存在する化合物の数は、１億４千万を超えるが、既存の辞書に登録された化合物の数は、数万程度である。このため、既存の辞書を参照して、人手で、抽象的な化合物名を示すノードを含むナレッジグラフを生成し、ナレッジグラフを生成することも難しい。
【００２４】
そこで、本実施の形態では、抽象的な化合物名に対応する構造情報を参照することにより、抽象的な化合物名を示すノードを生成し、抽象的な化合物名を示すノード同士を適切にリンク付けすることができる生成方法について説明する。
【００２５】
以下の説明では、構造が一意に特定可能な粒度で表現された具体的な化合物名を、単に「化合物名」と表記する場合がある。そして、抽象的な化合物名を、「抽象名」と表記する場合がある。構造情報は、例えば、示性式である。
【００２６】
図１において、情報処理装置１００は、第１のノードが示す第１の化合物名を取得する。図１の例では、ノード１０１が、第１のノードに対応する。情報処理装置１００は、例えば、ノード１０１が示す化合物名「１−エトキシ−２−プロパノール」を取得する。
【００２７】
ここで、化合物名「１−エトキシ−２−プロパノール」のうち、文字列「１−」は、エトキシ基が、プロパノールの１番目の「Ｃ」に繋がることを示す。化合物名「１−エトキシ−２−プロパノール」のうち、文字列「−２−」は、ヒドロキシ基が、プロパンの２番目の「Ｃ」に繋がり、プロパノールを形成することを示す。
【００２８】
情報処理装置１００は、第１のノードが示す第１の化合物名から置換基の結合位置を示す文字列を除去した第１の抽象名を特定する。情報処理装置１００は、例えば、ノード１０１が示す化合物名「１−エトキシ−２−プロパノール」から、ヒドロキシ基の結合位置を示す文字列「−２−」を除去した抽象名「１−エトキシプロパノール」を特定する。
【００２９】
情報処理装置１００は、第２のノードが示す第２の化合物名を取得する。図１の例では、ノード１０２が、第２のノードに対応する。情報処理装置１００は、例えば、ノード１０２が示す化合物名「３−エトキシ−１−プロパノール」を取得する。
【００３０】
情報処理装置１００は、第２のノードが示す第２の化合物名から置換基の結合位置を示す文字列を除去した第２の抽象名を特定する。情報処理装置１００は、例えば、ノード１０２が示す化合物名「３−エトキシ−１−プロパノール」から、ヒドロキシ基の結合位置を示す文字列「−１−」を除去した抽象名「３−エトキシプロパノール」を特定する。
【００３１】
情報処理装置１００は、特定した第１の抽象名を示す第３のノードを生成する。情報処理装置１００は、例えば、抽象名「１−エトキシプロパノール」を示すノード１０３を生成する。
【００３２】
情報処理装置１００は、特定した第２の抽象名を示す第４のノードを生成する。情報処理装置１００は、例えば、抽象名「３−エトキシプロパノール」を示すノード１０４を生成する。
【００３３】
情報処理装置１００は、第１の抽象名に対応する第１の示性式と、第２の抽象名に対応する第２の示性式とに基づいて、第１の抽象名と、第２の抽象名との間に、同義関係が成立するか否かを判定する。情報処理装置１００は、例えば、２つの示性式が一致する場合に、同義関係が成立すると判定する。また、情報処理装置１００は、例えば、２つの示性式の一方の示性式と、他方の示性式を原子団単位で並べ替えた示性式とが一致する場合に、同義関係が成立すると判定する。原子団は、１以上の原子の集合である。
【００３４】
情報処理装置１００は、具体的には、抽象名「１−エトキシプロパノール」を示す示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」と、抽象名「３−エトキシプロパノール」を示す示性式「Ｃ２Ｈ５−Ｏ−Ｃ３Ｈ６ＯＨ」とを特定する。そして、情報処理装置１００は、示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」と、示性式「Ｃ２Ｈ５−Ｏ−Ｃ３Ｈ６ＯＨ」とに基づいて、抽象名「１−エトキシプロパノール」と、抽象名「３−エトキシプロパノール」との間に、同義関係が成立するか否かを判定する。
【００３５】
図１の例では、示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」と、示性式「Ｃ２Ｈ５−Ｏ−Ｃ３Ｈ６ＯＨ」を原子団単位で逆順に並べ替えた示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」とが一致する。このため、情報処理装置１００は、抽象名「１−エトキシプロパノール」と、抽象名「３−エトキシプロパノール」との間に、同義関係が成立すると判定する。
【００３６】
情報処理装置１００は、同義関係が成立すると判定した場合には、生成した第３のノードと、生成した第４のノードとをリンク付けする。情報処理装置１００は、例えば、同義関係が成立すると判定したため、生成したノード１０３と、生成したノード１０４とをリンク付けする。情報処理装置１００は、具体的には、生成したノード１０３と、生成したノード１０４とを、同義関係を示すエッジを用いてリンク付けする。
【００３７】
これにより、情報処理装置１００は、抽象名を示すノードをリンク付けすることができる。このため、情報処理装置１００は、抽象名を示すノードを含むナレッジグラフを生成可能にすることができる。また、情報処理装置１００は、生成されるナレッジグラフに、抽象名同士の関係性を反映することができる。
【００３８】
結果として、情報処理装置１００は、情報検索、情報解析、または、読解支援などのサービスに利用する観点から好ましいと判断されるナレッジグラフを生成可能にすることができる。そして、情報処理装置１００は、ナレッジグラフを利用し、情報検索、情報解析、または、読解支援などを効果的に実施可能にすることができる。情報処理装置１００は、例えば、人が、化学分野の特許文献や技術論文などの技術文書を読解する際に、技術文書に記載された抽象名から、化合物の分子式や分子量、または、化合物の機能や用途などを検索可能にすることができる。
【００３９】
ここでは、構造情報が、示性式である場合について説明したが、これに限らない。例えば、構造情報が、構造を表す表記法、例えば、ＳＭＩＬＥＳ、ＩｎＣｈＩなどに基づく情報である場合があってもよい。
【００４０】
（サービス提供システム２００の一例）
次に、図２を用いて、図１に示した情報処理装置１００を適用し、ナレッジグラフを利用して、情報検索、情報解析、または、読解支援などのサービスを提供するサービス提供システム２００の一例について説明する。
【００４１】
図２は、サービス提供システム２００の一例を示す説明図である。図２において、サービス提供システム２００は、情報処理装置１００と、１以上のクライアント装置２０１とを含む。
【００４２】
サービス提供システム２００において、情報処理装置１００とクライアント装置２０１とは、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００４３】
情報処理装置１００は、ナレッジグラフを生成し、図４に後述するグラフ情報テーブル４００を用いて記憶するコンピュータである。グラフ情報テーブル４００は、例えば、ＲＤＦ（Ｒｅｓｏｕｒｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ）の形式で、ナレッジグラフを記憶する。情報処理装置１００は、例えば、図５に後述する辞書情報を参照し、化合物名を示すノードを生成する。また、情報処理装置１００は、例えば、化合物名から抽象名を特定し、抽象名を示すノードを生成する。
【００４４】
情報処理装置１００は、生成した化合物名を示すノード、および、抽象名を示すノードについて、ノード間をリンク付けすることにより、ナレッジグラフを生成する。そして、情報処理装置１００は、ナレッジグラフを利用し、情報検索、情報解析、または、読解支援などのサービスを、クライアント装置２０１を介して、サービス利用者に提供する。情報処理装置１００は、例えば、サーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。
【００４５】
クライアント装置２０１は、サービス利用者が用いるコンピュータである。クライアント装置２０１は、例えば、サービス利用者の操作入力に基づいて、情報処理装置１００と通信し、化合物に関する情報を表示する。クライアント装置２０１は、例えば、ＰＣ、タブレット端末、または、スマートフォンなどである。
【００４６】
具体的には、サービス利用者が、複数の技術文書の中から、所定の抽象名が記載された技術文書を検索しようとする場合が考えられる。この場合、情報処理装置１００は、所定の抽象名の他に、所定の抽象名と同義関係が成立する他の抽象名が記載された技術文書も検索して、クライアント装置２０１を介して、サービス利用者に提供することができる。
【００４７】
具体的には、サービス利用者が、技術文書に記載された所定の抽象名に関する情報を検索しようとする場合が考えられる。この場合、情報処理装置１００は、所定の抽象名に関する情報の他に、所定の抽象名と同義関係が成立する他の抽象名に関する情報も、クライアント装置２０１を介して、サービス利用者に提供することができる。抽象名に関する情報は、抽象名が包含する化合物名、抽象名が包含する化合物名に対応する化合物の分子式や分子量、または、化合物の機能や用途などである。
【００４８】
具体的には、情報処理装置が、自動で、技術文書に記載された所定の抽象名に関する情報を解析し、所定の抽象名に対応付けて記憶する場合が考えられる。この場合、情報処理装置１００は、所定の抽象名に関する情報として、所定の抽象名と同義関係が成立する他の抽象名に関する情報も解析することができる。このため、情報処理装置１００は、所定の抽象名に関する情報として、抽象名が包含する化合物名、抽象名が包含する化合物名に対応する化合物の分子式や分子量、または、化合物の機能や用途などを、精度よく特定して記憶しておくことができる。
【００４９】
ここでは、情報処理装置１００が、クライアント装置２０１とは別の装置である場合について説明したが、これに限らない。例えば、情報処理装置１００が、クライアント装置２０１と一体である場合があってもよい。
【００５０】
ここでは、情報処理装置１００が、ナレッジグラフを生成し、サービスを提供する場合について説明したが、これに限らない。例えば、情報処理装置１００が、ナレッジグラフを生成し、情報処理装置１００とは異なる装置が、ナレッジグラフを取得して、サービスを提供する場合があってもよい。
【００５１】
（情報処理装置１００のハードウェア構成例）
次に、図３を用いて、情報処理装置１００のハードウェア構成例について説明する。
【００５２】
図３は、情報処理装置１００のハードウェア構成例を示すブロック図である。図３において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、記録媒体Ｉ／Ｆ３０４と、記録媒体３０５とを有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００５３】
ここで、ＣＰＵ３０１は、情報処理装置１００の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００５４】
ネットワークＩ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ３０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ３０３は、例えば、モデムやＬＡＮアダプタなどである。
【００５５】
記録媒体Ｉ／Ｆ３０４は、ＣＰＵ３０１の制御に従って記録媒体３０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ３０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体３０５は、記録媒体Ｉ／Ｆ３０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体３０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体３０５は、情報処理装置１００から着脱可能であってもよい。
【００５６】
情報処理装置１００は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ３０４や記録媒体３０５を複数有していてもよい。また、情報処理装置１００は、記録媒体Ｉ／Ｆ３０４や記録媒体３０５を有していなくてもよい。
【００５７】
（グラフ情報テーブル４００のデータ構造）
次に、図４を用いて、グラフ情報テーブル４００のデータ構造の一例について説明する。グラフ情報テーブル４００は、例えば、図３に示した情報処理装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００５８】
図４は、グラフ情報テーブル４００のデータ構造の一例を示す説明図である。図４に示すように、グラフ情報テーブル４００は、主語と、述語と、目的語とのフィールドを有する。グラフ情報テーブル４００は、各フィールドに情報が設定されることにより、グラフ情報をレコードとして記憶する。
【００５９】
主語のフィールドには、ナレッジグラフに含まれるノードを識別するラベルが設定される。ラベルは、化学分野に関する単語である。ラベルは、例えば、具体的な化合物名、または、抽象名に付与されたＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）である。ラベルは、例えば、化合物の分子式や分子量、または、化合物の機能や用途などであってもよい。目的語のフィールドには、ナレッジグラフに含まれるノードを識別するラベルが設定される。
【００６０】
述語のフィールドには、ノード間の関係性を示す述語が設定される。述語は、主語のフィールドに設定されたラベルと、目的語のフィールドに設定されたラベルとの関係性を示す。述語は、例えば、「ｉｓ−ａ」や「ｓａｍｅ−ａｓ」などである。「ｉｓ−ａ」は、主語のフィールドのラベルが、目的語のフィールドのラベルの下位に包含されることを示す。「ｓａｍｅ−ａｓ」は、ラベル間に同義関係が成立することを示す。
【００６１】
（辞書テーブル５００のデータ構造）
次に、図５を用いて、辞書テーブル５００のデータ構造の一例について説明する。辞書テーブル５００は、例えば、図３に示した情報処理装置１００のメモリ３０２や記録媒体３０５などの記憶領域により実現される。
【００６２】
図５は、辞書テーブル５００のデータ構造の一例を示す説明図である。図５に示すように、辞書テーブル５００は、化合物名と、ＵＲＩとのフィールドを有する。辞書テーブル５００は、各フィールドに情報が設定されることにより、辞書情報をレコードとして記憶する。
【００６３】
化合物名のフィールドには、化合物名が設定される。ＵＲＩのフィールドには、化合物名に予め付与されたＵＲＩが設定される。情報処理装置１００は、辞書テーブル５００ではなく、既存のナレッジグラフを記憶してもよい。
【００６４】
（クライアント装置２０１のハードウェア構成例）
次に、図６を用いて、図２に示したサービス提供システム２００に含まれるクライアント装置２０１のハードウェア構成例について説明する。
【００６５】
図６は、クライアント装置２０１のハードウェア構成例を示すブロック図である。図６において、クライアント装置２０１は、ＣＰＵ６０１と、メモリ６０２と、ネットワークＩ／Ｆ６０３と、記録媒体Ｉ／Ｆ６０４と、記録媒体６０５と、ディスプレイ６０６と、入力装置６０７とを有する。また、各構成部は、バス６００によってそれぞれ接続される。
【００６６】
ここで、ＣＰＵ６０１は、クライアント装置２０１の全体の制御を司る。メモリ６０２は、例えば、ＲＯＭ、ＲＡＭおよびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ６０１のワークエリアとして使用される。メモリ６０２に記憶されるプログラムは、ＣＰＵ６０１にロードされることで、コーディングされている処理をＣＰＵ６０１に実行させる。
【００６７】
ネットワークＩ／Ｆ６０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ６０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ６０３は、例えば、モデムやＬＡＮアダプタなどである。
【００６８】
記録媒体Ｉ／Ｆ６０４は、ＣＰＵ６０１の制御に従って記録媒体６０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ６０４は、例えば、ディスクドライブ、ＳＳＤ、ＵＳＢポートなどである。記録媒体６０５は、記録媒体Ｉ／Ｆ６０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体６０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体６０５は、クライアント装置２０１から着脱可能であってもよい。
【００６９】
ディスプレイ６０６は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ６０６は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、液晶ディスプレイ、有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどである。入力装置６０７は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置６０７は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
【００７０】
クライアント装置２０１は、上述した構成部の他、例えば、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、クライアント装置２０１は、記録媒体Ｉ／Ｆ６０４や記録媒体６０５を複数有していてもよい。また、クライアント装置２０１は、記録媒体Ｉ／Ｆ６０４や記録媒体６０５を有していなくてもよい。
【００７１】
（情報処理装置１００の機能的構成例）
次に、図７を用いて、情報処理装置１００の機能的構成例について説明する。
【００７２】
図７は、情報処理装置１００の機能的構成例を示すブロック図である。情報処理装置１００は、記憶部７００と、取得部７０１と、第１特定部７０２と、第１生成部７０３と、第２特定部７０４と、第２生成部７０５と、判定部７０６と、接続部７０７と、出力部７０８とを含む。
【００７３】
記憶部７００は、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域によって実現される。以下では、記憶部７００が、情報処理装置１００に含まれる場合について説明するが、これに限らない。例えば、記憶部７００が、情報処理装置１００とは異なる装置に含まれ、記憶部７００の記憶内容が情報処理装置１００から参照可能である場合があってもよい。
【００７４】
取得部７０１〜出力部７０８は、制御部の一例として機能する。取得部７０１〜出力部７０８は、具体的には、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、ネットワークＩ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、図３に示したメモリ３０２や記録媒体３０５などの記憶領域に記憶される。
【００７５】
記憶部７００は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部７００は、例えば、ナレッジグラフを記憶可能である。記憶部７００は、具体的には、図４に示したグラフ情報テーブル４００を用いて、ナレッジグラフを記憶する。記憶部７００は、より具体的には、図４に示したグラフ情報テーブル４００を用いて、ナレッジグラフに含まれるノードに付与されたラベルと、ラベル間の関係性とを記憶する。
【００７６】
また、記憶部７００は、例えば、化合物名を示す辞書を記憶してもよい。記憶部７００は、具体的には、図５に示した辞書テーブル５００を記憶する。また、記憶部７００は、例えば、文章集合を記憶してもよい。文章集合は、例えば、コーパスである。
【００７７】
取得部７０１は、各機能部の処理に用いられる各種情報を取得する。取得部７０１は、取得した各種情報を、記憶部７００に記憶し、または、各機能部に出力する。また、取得部７０１は、記憶部７００に記憶しておいた各種情報を、各機能部に出力してもよい。取得部７０１は、例えば、利用者の操作入力に基づき、各種情報を取得する。取得部７０１は、例えば、情報処理装置１００とは異なる装置から、各種情報を受信してもよい。
【００７８】
取得部７０１は、具体的には、辞書および文章集合を取得する。取得部７０１は、より具体的には、辞書テーブル５００と、コーパスとを取得する。これにより、取得部７０１は、化合物名を示すノードを自動生成するための指標となる情報を取得し、各機能部に提供することができる。取得部７０１は、例えば、第１生成部７０３で化合物名を示すノードを生成可能に、第１特定部７０２および第１生成部７０３に辞書および文章集合を提供することができる。また、取得部７０１は、例えば、第２生成部７０５で抽象名を示すノードを生成可能に、第２特定部７０４および第２生成部７０５に文章集合を提供することができる。
【００７９】
また、取得部７０１は、具体的には、第１生成部７０３で化合物名を示すノードを生成しない場合には、既存のナレッジグラフから、化合物名を示すノードを取得してもよい。これにより、取得部７０１は、第１特定部７０２および第１生成部７０３で化合物名を示すノードを生成しなくても、第２特定部７０４で抽象名を特定可能に、第２特定部７０４に化合物名を示すノードを提供することができる。
【００８０】
第１特定部７０２は、文章集合から、化合物名としての条件を満たす複数の文字列を抽出する。第１特定部７０２は、例えば、コーパスから、カタカナ、アルファベット、数字、記号、および、一部の漢字などの特定の文字が連続する文字列を、化合物名の候補として抽出する。第１特定部７０２は、具体的には、文字列「１−エトキシ−２−プロパノール」などを、化合物名の候補として抽出する。化合物名の候補として抽出する一例については、図８を用いて後述する。これにより、第１特定部７０２は、化合物名の候補を抽出し、化合物名を示すノードを生成する指標を取得することができる。
【００８１】
第１生成部７０３は、化合物名を記憶する辞書情報を参照して、抽出した複数の文字列のうち、化合物名であると判定した文字列を示すノードを生成する。第１生成部７０３は、例えば、抽出した化合物名の候補のうち、辞書テーブル５００に登録された化合物名と一致する候補を化合物名と判定し、辞書テーブル５００に登録されたＵＲＩを付与する。そして、第１生成部７０３は、化合物名に付与したＵＲＩを、グラフ情報テーブル４００を用いて記憶し、化合物名を示すノードを生成する。
【００８２】
第１生成部７０３は、具体的には、化合物名の候補「１−エトキシ−２−プロパノール」を化合物名と判定し、ＵＲＩ「ｌｃ：ＣＩＤ１５２８７」を付与する。化合物名の候補にＵＲＩを付与する一例については、図９を用いて後述する。これにより、第１生成部７０３は、ナレッジグラフに含める化合物名を示すノードを生成することができる。また、第１生成部７０３は、例えば、コーパスに基づき化合物名を示すノードを生成するため、化合物名を示すノードの数の膨大化を抑制することができる。第１生成部７０３は、具体的には、サービス利用者が技術文書を閲覧する際に技術文書に出現しやすいと判断される化合物名を示すノードであり、サービスに利用する観点からナレッジグラフに含むことが好ましい化合物名を示すノードを生成することができる。
【００８３】
第２特定部７０４は、ノードが示す化合物名から置換基の結合位置を示す文字列を除去した抽象名を特定する。第２特定部７０４は、例えば、第１生成部７０３が生成したノードの中から、第１のノードと第２のノードとを選択する。次に、第２特定部７０４は、選択した第１のノードが示す第１の化合物名から置換基の結合位置を示す文字列を除去した第１の抽象名を特定する。また、第２特定部７０４は、選択した第２のノードが示す第２の化合物名から置換基の結合位置を示す文字列を除去した第２の抽象名を特定する。
【００８４】
第２特定部７０４は、具体的には、化合物名「１−エトキシ−２−プロパノール」から、ヒドロキシ基の結合位置を示す文字列「−２−」を除去した抽象名「１−エトキシプロパノール」を特定する。また、第２特定部７０４は、化合物名「３−エトキシ−１−プロパノール」から、ヒドロキシ基の結合位置を示す文字列「−１−」を除去した抽象名「３−エトキシプロパノール」を特定する。抽象名を特定する一例については、図１０および図１１を用いて後述する。これにより、第２特定部７０４は、抽象名を示すノードを生成可能に、抽象名を特定することができる。
【００８５】
ここでは、第２特定部７０４が、第１生成部７０３が生成したノードの中から、第１のノードと第２のノードとを選択する場合について説明したが、これに限らない。例えば、第２特定部７０４が、取得部７０１が取得したノードの中から、第１のノードと第２のノードとを選択する場合があってもよい。
【００８６】
第２生成部７０５は、特定した抽象名を示すノードを生成する。第２生成部７０５は、例えば、特定した第１の抽象名を示す第３のノードを生成する。また、第２生成部７０５は、特定した第２の抽象名を示す第４のノードを生成する。第２生成部７０５は、具体的には、抽象名「１−エトキシプロパノール」にＵＲＩ「ｌｃ：ＮＥＷ００１」を付与し、グラフ情報テーブル４００を用いて記憶し、抽象名「１−エトキシプロパノール」を示すノードを生成する。これにより、第２生成部７０５は、ナレッジグラフに含める抽象名を示すノードを生成することができる。
【００８７】
第２生成部７０５は、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、特定した抽象名と同じ抽象名になる化合物名が、所定の数以上存在するか否かを判定してもよい。所定の数は、例えば、２である。第２生成部７０５は、所定の数以上存在する場合に、特定した抽象名を示すノードを生成する。一方で、第２生成部７０５は、所定の数以上存在しない場合には、特定した抽象名を示すノードを生成しなくてよい。
【００８８】
第２生成部７０５は、例えば、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、第１の抽象名と同じ抽象名になる化合物名が、所定の数以上存在する場合に、第３のノードを生成する。また、第２生成部７０５は、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、第２の抽象名と同じ抽象名になる化合物名が、所定の数以上存在する場合に、第４のノードを生成する。これにより、第２生成部７０５は、抽象名を示すノードの数の膨大化を抑制することができる。
【００８９】
ここで、例えば、抽象名の下位に包含される化合物名が１つである場合、第２生成部７０５が、抽象名を示すノードを生成しても、サービスに活用されにくいことが考えられる。このため、第２生成部７０５は、サービスに活用されにくい抽象名を示すノードを生成せず、ナレッジグラフのサイズの増大化を抑制し、サービスを効率よく提供可能にすることができる。
【００９０】
第２生成部７０５は、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、特定した抽象名との間で、対応する構造情報に同義関係が成立する抽象名になる化合物名が、所定の数以上存在するか否かを判定してもよい。構造情報は、例えば、示性式である。構造情報は、構造を表す表記法、例えば、ＳＭＩＬＥＳ、ＩｎＣｈＩなどに基づく情報であってもよい。所定の数は、例えば、２である。第２生成部７０５は、所定の数以上存在する場合に、特定した抽象名を示すノードを生成する。一方で、第２生成部７０５は、所定の数以上存在しない場合には、特定した抽象名を示すノードを生成しなくてよい。
【００９１】
第２生成部７０５は、例えば、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、特定した抽象名との間で示性式に同義関係が成立する抽象名になる化合物名が、所定の数以上存在するか否かを判定してもよい。第２生成部７０５は、所定の数以上存在する場合に、特定した抽象名を示すノードを生成する。一方で、第２生成部７０５は、所定の数以上存在しない場合には、特定した抽象名を示すノードを生成しなくてよい。
【００９２】
第２生成部７０５は、具体的には、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、第１の示性式と同義関係が成立する示性式に対応する抽象名になる化合物名が、所定の数以上存在する場合に、第３のノードを生成する。また、第２生成部７０５は、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、第２の示性式と同義関係が成立する示性式に対応する抽象名になる化合物名が、所定の数以上存在する場合に、第４のノードを生成する。これにより、第２生成部７０５は、抽象名を示すノードの数の膨大化を抑制することができる。
【００９３】
ここで、例えば、抽象名の下位に包含される化合物名が１つである場合、第２生成部７０５が、抽象名を示すノードを生成しても、サービスに活用されにくいことが考えられる。このため、第２生成部７０５は、サービスに活用されにくい抽象名を示すノードを生成せず、ナレッジグラフのサイズの増大化を抑制し、サービスを効率よく提供可能にすることができる。
【００９４】
第２生成部７０５は、文章集合に、特定した抽象名が閾値以上出現する場合に、特定した抽象名を示すノードを生成する。閾値は、例えば、１である。第２生成部７０５は、例えば、文章集合に、第１の抽象名が閾値以上出現する場合に、第３のノードを生成する。また、第２生成部７０５は、文章集合に、第２の抽象名が閾値以上出現する場合に、第４のノードを生成する。これにより、第２生成部７０５は、抽象名を示すノードの数の膨大化を抑制することができる。第２生成部７０５は、例えば、サービス利用者が技術文書を閲覧する際に技術文書に出現しやすいと判断される抽象名を示すノード、サービスに利用する観点からナレッジグラフに含むことが好ましい抽象名を示すノードを生成しやすくすることができる。
【００９５】
判定部７０６は、構造情報に基づいて抽象名間に同義関係が成立するか否かを判定する。構造情報は、例えば、示性式である。判定部７０６は、例えば、第１の抽象名に対応する第１の示性式と、第２の抽象名に対応する第２の示性式とに基づいて、第１の抽象名と、第２の抽象名との間に、同義関係が成立するか否かを判定する。判定部７０６は、具体的には、第１の示性式と、第２の示性式とが一致する場合に、同義関係が成立すると判定する。また、判定部７０６は、第１の示性式と、第２の示性式を原子団単位で並べ替えた第３の示性式とが一致する場合に、同義関係が成立すると判定してもよい。
【００９６】
判定部７０６は、より具体的には、示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」と、示性式「Ｃ２Ｈ５−Ｏ−Ｃ３Ｈ６ＯＨ」を原子団単位で逆順に並べ替えた示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」とが一致するか否かを判定する。判定部７０６は、一致するため、抽象名「１−エトキシプロパノール」と、抽象名「３−エトキシプロパノール」との間に、同義関係が成立すると判定する。同義関係が成立するか否かを判定する一例については、図１４を用いて後述する。これにより、判定部７０６は、抽象名同士の関係性を特定することができ、抽象名を示すノード同士をリンク付けすることが好ましいか否かを判断可能にすることができる。判定部で用いる構造情報は示性式に限らない。構造を表す表記法、例えば、ＳＭＩＬＥＳ、ＩｎＣｈＩなどを用いることもできる。
【００９７】
接続部７０７は、化合物名を示すノードの上位に、抽象名を示すノードをリンク付けする。接続部７０７は、例えば、第１のノードの上位に第３のノードをリンク付け、第２のノードの上位に第４のノードをリンク付けする。接続部７０７は、例えば、第１のノードの上位に第３のノードをリンク付け、第２のノードの上位に第４のノードをリンク付けする。
【００９８】
接続部７０７は、具体的には、化合物名「１−エトキシ−２−プロパノール」に付与されたＵＲＩ「ｌｃ：ＣＩＤ１５２８７」に、「ｉｓ−ａ」の関係性で、抽象名「１−エトキシプロパノール」に付与されたＵＲＩ「ｌｃ：ＮＥＷ００１」をリンク付けする。そして、接続部７０７は、リンク付けした結果を、グラフ情報テーブル４００を用いて記憶する。化合物名を示すノードと、抽象名を示すノードとをリンク付けする一例については、図１３を用いて後述する。これにより、接続部７０７は、ナレッジグラフ上でノード間を適切にリンク付けすることができる。
【００９９】
接続部７０７は、同義関係が成立すると判定した抽象名を示すノード同士をリンク付けする。接続部７０７は、例えば、同義関係が成立すると判定した場合には、生成した第３のノードと、生成した第４のノードとを、同義関係を示すエッジを用いてリンク付けする。接続部７０７は、具体的には、同義関係が成立すると判定した抽象名に付与されたＵＲＩ同士を、「ｓａｍｅ−ａｓ」の関係性でリンク付けし、グラフ情報テーブル４００を用いて記憶する。これにより、接続部７０７は、ナレッジグラフ上でノード間を適切にリンク付けすることができる。
【０１００】
接続部７０７は、例えば、同義関係が成立すると判定した場合には、生成した第３のノードと、生成した第４のノードとを統合し、第１の抽象名を示すラベルと、第２の抽象名を示すラベルとを付与してもよい。これにより、接続部７０７は、抽象名を示すノードの数の膨大化を抑制することができる。
【０１０１】
また、接続部７０７は、例えば、同義関係が成立すると判定した場合には、生成した第３のノードと、生成した第４のノードとを統合し、第１の抽象名と、第２の抽象名とのうち、文章集合で出現率が高い方の抽象名を示すラベルを付与してもよい。これにより、接続部７０７は、抽象名を示すノードの数の膨大化を抑制することができる。
【０１０２】
出力部７０８は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークＩ／Ｆ３０３による外部装置への送信、または、メモリ３０２や記録媒体３０５などの記憶領域への記憶である。これにより、出力部７０８は、各機能部の処理結果を利用者に通知可能にすることができる。
【０１０３】
出力部７０８は、例えば、接続部７０７の接続結果を出力する。出力部７０８は、具体的には、図４に示したグラフ情報テーブル４００を出力する。これにより、出力部７０８は、情報検索、情報解析、または、読解支援などのサービスに、ナレッジグラフを利用可能にすることができる。また、出力部７０８は、例えば、接続部７０７の接続結果をクライアント装置２０１に表示させてもよい。出力部７０８は、具体的には、ナレッジグラフをクライアント装置２０１に表示させる。これにより、出力部７０８は、ナレッジグラフをサービス利用者が閲覧可能にすることができる。
【０１０４】
ここでは、情報処理装置１００が、第１特定部７０２および第１生成部７０３により、化合物名を示すノードを生成する場合について説明したが、これに限らない。例えば、情報処理装置１００が、第１特定部７０２および第１生成部７０３を有さず、化合物名を示すノードを生成せず、化合物名を示すノードを取得する場合があってもよい。
【０１０５】
（情報処理装置１００の動作例）
次に、図８〜図１６を用いて、情報処理装置１００の動作例について説明する。まず、図８を用いて、情報処理装置１００が、コーパスに基づいて化合物名の候補を抽出する一例について説明する。
【０１０６】
図８は、化合物名の候補を抽出する一例を示す説明図である。図８において、情報処理装置１００は、特許文献などを含むコーパスから、化合物名の候補を抽出する。ここで、例えば、日本語の文章では、化合物名が、カタカナ、アルファベット、数字、記号、および、一部の漢字などの特定の文字により記述される傾向がある。このため、情報処理装置１００は、特定の文字が連続する文字列を、化合物名の候補として抽出する。
【０１０７】
抽出される化合物名の候補は、具体的には、「２−プロパノール」、「１−エトキシ−２−プロパノール」、「２−エトキシ−２−プロパノール」、「３−エトキシ−１−プロパノール」、「１−エトキシプロパノール」、「３−エトキシプロパノール」などである。次に、図９の説明に移行する。
【０１０８】
図９は、化合物名の候補にＵＲＩを付与する一例を示す説明図である。図９において、情報処理装置１００は、化合物名の候補にＵＲＩを付与する。情報処理装置１００は、例えば、化合物名の候補のうち、辞書テーブル５００に登録された化合物名と一致する候補を、ノードを生成する対象になる化合物名として特定する。そして、情報処理装置１００は、特定した化合物名に対応付けて辞書テーブル５００に登録されたＵＲＩを検索し、特定した化合物名に付与する。ＵＲＩは、ノードのラベルに対応する。
【０１０９】
情報処理装置１００は、具体的には、化合物名の候補「２−プロパノール」を、ノードを生成する対象になる化合物名として特定し、ＵＲＩ「ｌｃ：ＣＩＤ３７７６」を付与する。また、情報処理装置１００は、具体的には、化合物名の候補「１−エトキシ−２−プロパノール」を、ノードを生成する対象になる化合物名として特定し、ＵＲＩ「ｌｃ：ＣＩＤ１５２８７」を付与する。そして、情報処理装置１００は、化合物名に付与されたＵＲＩを、ノードの情報として記憶することにより、ＵＲＩをラベルとし、ＵＲＩに対応する化合物名を示すノードを生成する。
【０１１０】
ここで、抽出した化合物名の候補の中には、化合物名の他に、抽象名が含まれることがあり、化合物とは関係ない文字列が含まれることもある。これに対し、情報処理装置１００は、辞書テーブル５００を参照して、抽象名や化合物とは関係ない文字列を示すノードを、化合物名を示すノードとして誤って生成しないようにすることができる。
【０１１１】
また、情報処理装置１００は、辞書テーブル５００に登録された化合物名でも、抽出した化合物名の候補の中に存在しなければ、化合物名を示すノードを生成しないようにすることができる。このため、情報処理装置１００は、技術文書に出現しやすい化合物名を示すノードであるため、サービスに利用する観点からナレッジグラフに含むことが好ましい化合物名を示すノードを生成することができる。また、情報処理装置１００は、技術文書に出現しにくい化合物名を示すノードであるため、サービスに利用する観点からナレッジグラフに含まなくてもよい化合物名を示すノードを生成しないようにすることができる。
【０１１２】
結果として、情報処理装置１００は、化合物名を示すノードの数の膨大化を抑制することができる。そして、情報処理装置１００は、ナレッジグラフのサイズの増大化を抑制することができ、ナレッジグラフを利用する際のパフォーマンスの低下を抑制することができる。情報処理装置１００は、例えば、ナレッジグラフを利用する際に、ナレッジグラフから所定の化合物名を示すノードを検索する所要時間などの低減化を図ることができる。次に、図１０および図１１の説明に移行する。
【０１１３】
図１０および図１１は、抽象名を特定する一例を示す説明図である。図１０において、情報処理装置１００は、ＵＲＩを付与した化合物名から抽象名の候補を特定する。情報処理装置１００は、例えば、化合物名「４−メチル−２，６−ビス（１，１−ジメチルエチル）フェノール」から、置換基の結合位置を示す文字列を除去し、抽象名の候補を特定する。
【０１１４】
特定される抽象名の候補は、具体的には、「メチル−２，６−ビス（１，１−ジメチルエチル）フェノール」、「４−メチル−６−ビス（１，１−ジメチルエチル）フェノール」などである。特定される抽象名の候補は、具体的には、「４−メチル−２−ビス（１，１−ジメチルエチル）フェノール」、「４−メチル−２，６−ビス（１−ジメチルエチル）フェノール」などである。
【０１１５】
ここで、化合物名「４−メチル−２，６−ビス（１，１−ジメチルエチル）フェノール」には、置換基の結合位置を示す文字列が５個存在するため、特定される抽象名の候補は、２＾５個になる。このように、化合物名に含まれる置換基の結合位置を示す文字列が多いほど、抽象名の候補が多くなり、抽象名を示すノードの数が多くなりやすい。このため、図１１に示すように、情報処理装置１００は、抽象名の候補の中から、ノードを生成する対象になる抽象名を特定する。
【０１１６】
図１１において、情報処理装置１００は、抽象名の候補の中から、ノードを生成する対象になる抽象名を特定する。情報処理装置１００は、例えば、化合物名「２−プロパノール」から、ヒドロキシ基の結合位置を示す文字列「２−」を除去した抽象名の候補「プロパノール」が、化合物名の候補として抽出されているか否かを判定する。換言すれば、情報処理装置１００は、抽象名の候補「プロパノール」がコーパスに出現しているか否かを判定する。
【０１１７】
ここで、抽象名の候補「プロパノール」が、化合物名の候補として抽出済みであり、コーパスに出現していれば、サービスに利用する観点からノードを生成することが好ましいと判断される。このため、情報処理装置１００は、抽象名の候補「プロパノール」が、化合物名の候補として抽出済みであれば、ノードを生成する対象になる抽象名として特定する。一方で、情報処理装置１００は、抽象名の候補「プロパノール」が、化合物名の候補として抽出されていなければ、ノードを生成する対象になる抽象名としない。また、情報処理装置１００は、抽象名の候補「プロパノール」が、ＵＲＩを付与された化合物名であれば、ノードの重複を防止するため、ノードを生成する対象になる抽象名としない。次に、図１２の説明に移行する。
【０１１８】
図１２は、抽象名にＵＲＩを付与する一例を示す説明図である。図１２において、情報処理装置１００は、ノードを生成する対象になる抽象名に、新規ＵＲＩを付与する。新規ＵＲＩは、ノードのラベルに対応する。情報処理装置１００は、例えば、抽象名「１−エトキシプロパノール」に、新規ＵＲＩ「ｌｃ：ＮＥＷ００１」を付与する。そして、情報処理装置１００は、抽象名に付与された新規ＵＲＩを、ノードの情報として記憶することにより、新規ＵＲＩをラベルとし、新規ＵＲＩに対応する抽象名を示すノードを生成する。
【０１１９】
これにより、情報処理装置１００は、技術文書に出現しやすい抽象名を示すノードであるため、サービスに利用する観点からナレッジグラフに含むことが好ましい抽象名を示すノードを生成することができる。また、情報処理装置１００は、技術文書に出現しにくい抽象名を示すノードであるため、サービスに利用する観点からナレッジグラフに含まなくてもよい抽象名を示すノードを生成しないようにすることができる。
【０１２０】
結果として、情報処理装置１００は、抽象名を示すノードの数の膨大化を抑制することができる。そして、情報処理装置１００は、ナレッジグラフのサイズの増大化を抑制することができ、ナレッジグラフを利用する際に、ナレッジグラフから所定の抽象名を示すノードを検索する所要時間などの低減化を図ることができる。次に、図１３の説明に移行する。
【０１２１】
図１３は、化合物名を示すノードと抽象名を示すノードとをリンク付けする一例を示す説明図である。図１３において、情報処理装置１００は、化合物名を示すノードの上位に、化合物名から置換基の結合位置を示す文字列を除去した抽象名を示すノードをリンク付けする。情報処理装置１００は、例えば、化合物名に付与されたＵＲＩに、「ｉｓ−ａ」の関係性で、抽象名に付与された新規ＵＲＩをリンク付けする。
【０１２２】
情報処理装置１００は、具体的には、化合物名「１−エトキシ−２−プロパノール」に付与されたＵＲＩ「ｌｃ：ＣＩＤ１５２８７」に、「ｉｓ−ａ」の関係性で、抽象名「１−エトキシプロパノール」に付与されたＵＲＩ「ｌｃ：ＮＥＷ００１」をリンク付けする。ここで、情報処理装置１００は、リンク付けした結果を、グラフ情報テーブル４００を用いて記憶する。
【０１２３】
これにより、情報処理装置１００は、ナレッジグラフに、化合物名と抽象名との関係性を反映することができる。また、情報処理装置１００は、化合物名を示すノードから上位となる抽象名を示すノードを生成することができる。このため、情報処理装置１００は、化合物名の上位概念を示すノードがある場合には、化合物名を示すノードと、化合物名の上位概念を示すノードとの中間に、抽象名を示すノードを追加することができる。
【０１２４】
ここで、情報処理装置１００は、いずれかの抽象名に付与された新規ＵＲＩに、「ｉｓ−ａ」の関係性でリンク付けされた、化合物名に付与されたＵＲＩの数を計数し、ＵＲＩの数が閾値以上であるか否かを判定してもよい。閾値は、例えば、２である。そして、情報処理装置１００は、ＵＲＩの数が閾値未満である場合には、いずれかの抽象名に付与された新規ＵＲＩを削除してもよい。
【０１２５】
例えば、いずれかの抽象名に付与された新規ＵＲＩに、「ｉｓ−ａ」の関係性でリンク付けされた、化合物名に付与されたＵＲＩの数が、１つである場合が考えられる。この場合、いずれかの抽象名は、１つの化合物名しか包含しないことになるため、いずれかの抽象名を示すノードを生成しても、サービスに利用する観点から有用ではない可能性がある。そこで、情報処理装置１００は、いずれかの抽象名を示すノードを生成せず、抽象名を示すノードの数の膨大化を抑制するようにしてもよい。次に、図１４の説明に移行する。
【０１２６】
図１４は、示性式を生成する一例を示す説明図である。図１４において、情報処理装置１００は、抽象名同士の関係性を特定するために、抽象名に対応する示性式を生成する。示性式の生成には、例えば、特許文献１および特許文献２などを参照することができる。
【０１２７】
情報処理装置１００は、例えば、抽象名「１−エトキシプロパノール」を示す示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」と、抽象名「３−エトキシプロパノール」を示す示性式「Ｃ２Ｈ５−Ｏ−Ｃ３Ｈ６ＯＨ」とを生成する。そして、情報処理装置１００は、示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」と、示性式「Ｃ２Ｈ５−Ｏ−Ｃ３Ｈ６ＯＨ」とに基づいて、抽象名「１−エトキシプロパノール」と、抽象名「３−エトキシプロパノール」との間に、同義関係が成立するか否かを判定する。
【０１２８】
ここで、示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」と、示性式「Ｃ２Ｈ５−Ｏ−Ｃ３Ｈ６ＯＨ」を原子団単位で逆順に並べ替えた示性式「Ｃ３Ｈ６ＯＨ−Ｏ−Ｃ２Ｈ５」とが一致する。このため、情報処理装置１００は、抽象名「１−エトキシプロパノール」と、抽象名「３−エトキシプロパノール」との間に、同義関係が成立すると判定する。次に、図１５の説明に移行する。
【０１２９】
図１５は、抽象名を示すノード同士をリンク付けする一例を示す説明図である。図１５において、情報処理装置１００は、同義関係が成立する抽象名を示すノード同士をリンク付けする。情報処理装置１００は、例えば、同義関係が成立する抽象名に付与されたＵＲＩ同士を、「ｓａｍｅ−ａｓ」の関係性でリンク付けする。
【０１３０】
情報処理装置１００は、具体的には、抽象名「１−エトキシプロパノール」に付与されたＵＲＩ「ｌｃ：ＮＥＷ００１」と、抽象名「３−エトキシプロパノール」に付与されたＵＲＩ「ｌｃ：ＮＥＷ００２」とを、「ｓａｍｅ−ａｓ」の関係性でリンク付けする。ここで、情報処理装置１００は、リンク付けした結果を、グラフ情報テーブル４００を用いて記憶する。これにより、情報処理装置１００は、抽象名を示すノード同士を適切にリンク付けすることができ、ナレッジグラフに抽象名同士の関係性を反映することができる。
【０１３１】
ここで、情報処理装置１００は、同義関係が成立する各抽象名に付与された新規ＵＲＩに、「ｉｓ−ａ」の関係性でリンク付けされた、化合物名に付与されたＵＲＩの数を計数し、ＵＲＩの数が閾値以上であるか否かを判定してもよい。閾値は、例えば、３である。そして、情報処理装置１００は、ＵＲＩの数が閾値未満である場合には、同義関係が成立する各抽象名に付与された新規ＵＲＩを削除してもよい。
【０１３２】
例えば、同義関係が成立する各抽象名に付与された新規ＵＲＩに、「ｉｓ−ａ」の関係性でリンク付けされた、化合物名に付与されたＵＲＩの数が、２つである場合が考えられる。この場合、同義関係が成立する各抽象名は、それぞれ、１つの化合物名しか包含しないことになるため、同義関係が成立する各抽象名を示すノードを生成しても、サービスに利用する観点から有用ではない可能性がある。そこで、情報処理装置１００は、同義関係が成立する各抽象名を示すノードを生成せず、抽象名を示すノードの数の膨大化を抑制するようにしてもよい。次に、図１６の説明に移行する。
【０１３３】
図１６は、ナレッジグラフ１６００を利用する一例を示す説明図である。図１６の例では、情報処理装置１００は、図８〜図１５に示したように各種ノードを生成し、ノード間をリンク付けした結果、ナレッジグラフ１６００を生成したとする。
【０１３４】
また、クライアント装置２０１は、技術文書１６０１をディスプレイ６０６に表示する。サービス利用者は、技術文書１６０１を閲覧する。サービス利用者は、技術文書内の文字列「３−エトキシプロパノール」をクリックする。クライアント装置２０１は、文字列「３−エトキシプロパノール」のクリックに応じて、文字列「３−エトキシプロパノール」に関する情報を、情報処理装置１００に問い合わせる。
【０１３５】
情報処理装置１００は、生成したナレッジグラフ１６００を参照して、文字列「３−エトキシプロパノール」を示すノードを検索し、抽象名「３−エトキシプロパノール」を示すノードを特定する。次に、情報処理装置１００は、抽象名「３−エトキシプロパノール」を示すノードにリンク付けられた、化合物名「３−エトキシ−１−プロパノール」を示すノードを特定する。さらに、情報処理装置１００は、抽象名「３−エトキシプロパノール」と同義関係が成立する抽象名「１−エトキシプロパノール」にリンク付けられた抽象名「１−エトキシ−２−プロパノール」を示すノードも特定する。
【０１３６】
そして、情報処理装置１００は、特定したノードに基づいて、問い合わせの文字列に一致する抽象名「３−エトキシプロパノール」に関する情報をクライアント装置２０１に提供する。情報処理装置１００は、具体的には、解説文「３−エトキシプロパノールは、３−エトキシ−１−プロパノールや、１−エトキシ−２−プロパノールなどを含む抽象概念です。」を生成し、クライアント装置２０１に表示させる。
【０１３７】
これにより、情報処理装置１００は、問い合わせの文字列に一致する抽象名に直接的に関係する情報を、サービス利用者が参照可能にすることができる。また、情報処理装置１００は、問い合わせの文字列に一致する抽象名と同義関係が成立する抽象名に関する情報であり、問い合わせの文字列に一致する抽象名に間接的に関連する情報も、サービス利用者が参照可能にすることができる。
【０１３８】
このため、情報処理装置１００は、情報検索、情報解析、または、読解支援などのサービスを効果的に実施することができる。情報処理装置１００は、ナレッジグラフに、化合物の分子式や分子量、または、化合物の機能や用途などを示すノードが含まれていれば、化合物の分子式や分子量、または、化合物の機能や用途などを、サービス利用者が参照可能にしてもよい。
【０１３９】
一方で、同義関係が成立する抽象名を示すノード同士がリンク付けされていない場合には、サービス利用者は、問い合わせの文字列に一致する抽象名と同義関係が成立する抽象名に関する情報を参照することができない場合がある。このため、サービス利用者が、問い合わせにより得られる情報が少なくなり、サービスが効果的に提供されないことが考えられる。
【０１４０】
以上の説明では、情報処理装置１００が、関係性を特定する抽象名の組み合わせを限定しない場合について説明したが、これに限らない。例えば、情報処理装置１００が、関係性を特定する抽象名の組み合わせを限定する場合があってもよい。具体的には、情報処理装置１００が、特定の文字列を含む抽象名の組み合わせに限定して、抽象名同士の関係性を特定する場合があってもよい。特定の文字列は、例えば、「プロパノール」などである。これにより、情報処理装置１００は、示性式を生成する処理量の低減化を図ることができる。
【０１４１】
以上の説明では、情報処理装置１００が、コーパスから化合物名の候補を抽出する場合について説明したが、これに限らない。例えば、情報処理装置１００が、辞書テーブル５００に登録された化合物名を抽出し、化合物名から抽象名の候補を特定してから、抽象名の候補がコーパスに出現するか否かを判定する場合があってもよい。
【０１４２】
（全体処理手順）
次に、図１７および図１８を用いて、情報処理装置１００が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０１４３】
図１７および図１８は、全体処理手順の一例を示すフローチャートである。図１７において、情報処理装置１００は、コーパスから化合物名の候補を抽出する（ステップＳ１７０１）。次に、情報処理装置１００は、抽出した候補のうち、辞書テーブル５００に記憶された化合物名と一致する候補のそれぞれの候補に対して、当該候補と一致した化合物名に対応付けて辞書テーブル５００に記憶されたＵＲＩを付与する（ステップＳ１７０２）。そして、情報処理装置１００は、ステップＳ１７０３の処理に移行する。
【０１４４】
ステップＳ１７０３では、情報処理装置１００は、抽出した候補のうち未処理の候補を選択する（ステップＳ１７０３）。
【０１４５】
次に、情報処理装置１００は、選択した候補が、ＵＲＩが付与され、かつ、数字を含む候補であるか否かを判定する（ステップＳ１７０４）。ここで、ＵＲＩが付与されていない候補、または、数字を含まない候補である場合（ステップＳ１７０４：Ｎｏ）、情報処理装置１００は、ステップＳ１７０９の処理に移行する。一方で、ＵＲＩが付与され、かつ、数字を含む候補である場合（ステップＳ１７０４：Ｙｅｓ）、情報処理装置１００は、ステップＳ１７０５の処理に移行する。
【０１４６】
ステップＳ１７０５では、情報処理装置１００は、選択した候補から数字を除去した文字列を生成する（ステップＳ１７０５）。
【０１４７】
次に、情報処理装置１００は、生成した文字列が、コーパスから所定の数以上抽出された候補と一致するか否かを判定する（ステップＳ１７０６）。ここで、コーパスから所定の数以上抽出された候補と一致しない場合（ステップＳ１７０６：Ｎｏ）、情報処理装置１００は、ステップＳ１７０９の処理に移行する。一方で、コーパスから所定の数以上抽出された候補と一致する場合（ステップＳ１７０６：Ｙｅｓ）、情報処理装置１００は、ステップＳ１７０７の処理に移行する。
【０１４８】
ステップＳ１７０７では、情報処理装置１００は、生成した文字列に、新規ＵＲＩを付与する（ステップＳ１７０７）。次に、情報処理装置１００は、選択した候補に付与されたＵＲＩと、生成した文字列に付与された新規ＵＲＩとを、「ｉｓ−ａ」の関係性でリンク付けする（ステップＳ１７０８）。そして、情報処理装置１００は、ステップＳ１７０９の処理に移行する。
【０１４９】
ステップＳ１７０９では、情報処理装置１００は、すべての候補を処理したか否かを判定する（ステップＳ１７０９）。ここで、未処理の候補がある場合（ステップＳ１７０９：Ｎｏ）、情報処理装置１００は、ステップＳ１７０３の処理に戻る。一方で、すべての候補を処理している場合（ステップＳ１７０９：Ｙｅｓ）、情報処理装置１００は、図１８のステップＳ１８０１の処理に移行する。
【０１５０】
図１８において、情報処理装置１００は、図１９に後述する判定処理を実行し、新規ＵＲＩが付与された候補に対応する示性式同士に、同義関係が成立するか否かを特定する（ステップＳ１８０１）。そして、情報処理装置は、新規ＵＲＩごとに「ｉｓ−ａ」の関係性でリンク付けされたＵＲＩの数を算出する（ステップＳ１８０２）。
【０１５１】
次に、情報処理装置１００は、新規ＵＲＩのうち、リンク付けされたＵＲＩの数が閾値未満である新規ＵＲＩを削除する（ステップＳ１８０３）。そして、情報処理装置１００は、全体処理を終了する。これにより、情報処理装置１００は、抽象名を示すノードを含むナレッジグラフを生成することができ、抽象名を示すノード同士を適切にリンク付けすることができる。
【０１５２】
（判定処理手順）
次に、図１９を用いて、情報処理装置１００が実行する、判定処理手順の一例について説明する。判定処理は、例えば、図３に示したＣＰＵ３０１と、メモリ３０２や記録媒体３０５などの記憶領域と、ネットワークＩ／Ｆ３０３とによって実現される。
【０１５３】
図１９は、判定処理手順の一例を示すフローチャートである。図１９において、情報処理装置１００は、新規ＵＲＩが付与された候補を取得する（ステップＳ１９０１）。次に、情報処理装置１００は、取得した候補に対応する示性式を生成する（ステップＳ１９０２）。そして、情報処理装置１００は、ステップＳ１９０３の処理に移行する。
【０１５４】
ステップＳ１９０３では、情報処理装置１００は、２つの示性式の組み合わせのうち、未処理の組み合わせを選択する（ステップＳ１９０３）。
【０１５５】
次に、情報処理装置１００は、選択した組み合わせの２つの示性式が一致するか否かを判定する（ステップＳ１９０４）。ここで、一致する場合（ステップＳ１９０４：Ｙｅｓ）、情報処理装置１００は、ステップＳ１９０７の処理に移行する。一方で、一致しない場合（ステップＳ１９０４：Ｎｏ）、情報処理装置１００は、ステップＳ１９０５の処理に移行する。
【０１５６】
ステップＳ１９０５では、情報処理装置１００は、選択した組み合わせの一方の示性式を「−」の前後で分割して並び順を反転した示性式を生成する（ステップＳ１９０５）。
【０１５７】
次に、情報処理装置１００は、反転した示性式と、選択した組み合わせの他方の示性式とが一致するか否かを判定する（ステップＳ１９０６）。ここで、一致する場合（ステップＳ１９０６：Ｙｅｓ）、情報処理装置１００は、ステップＳ１９０７の処理に移行する。一方で、一致しない場合（ステップＳ１９０６：Ｎｏ）、情報処理装置１００は、ステップＳ１９０８の処理に移行する。
【０１５８】
ステップＳ１９０７では、情報処理装置１００は、選択した組み合わせの２つの示性式の生成元である２つのＵＲＩを、「ｓａｍｅ−ａｓ」の関係性でリンク付けする（ステップＳ１９０７）。そして、情報処理装置１００は、ステップＳ１９０８の処理に移行する。
【０１５９】
ステップＳ１９０８では、情報処理装置１００は、すべての組み合わせを処理したか否かを判定する（ステップＳ１９０８）。ここで、未処理の組み合わせがある場合（ステップＳ１９０８：Ｎｏ）、情報処理装置１００は、ステップＳ１９０３の処理に戻る。一方で、すべての組み合わせを処理している場合（ステップＳ１９０８：Ｙｅｓ）、情報処理装置１００は、判定処理を終了する。
【０１６０】
以上説明したように、情報処理装置１００によれば、第１のノードが示す第１の化合物名から置換基の結合位置を示す文字列を除去した第１の抽象名を特定することができる。情報処理装置１００によれば、第２のノードが示す第２の化合物名から置換基の結合位置を示す文字列を除去した第２の抽象名を特定することができる。情報処理装置１００によれば、特定した第１の抽象名を示す第３のノードを生成することができる。情報処理装置１００によれば、特定した第２の抽象名を示す第４のノードを生成することができる。情報処理装置１００によれば、第１の抽象名に対応する第１の示性式と、第２の抽象名に対応する第２の示性式とに基づいて、第１の抽象名と、第２の抽象名との間に、同義関係が成立するか否かを判定することができる。情報処理装置１００によれば、同義関係が成立すると判定した場合には、生成した第３のノードと、生成した第４のノードとをリンク付けすることができる。これにより、情報処理装置１００は、抽象名を示すノードを生成し、抽象名を示すノード同士を適切にリンク付けすることができる。
【０１６１】
情報処理装置１００によれば、第１の示性式と、第２の示性式とが一致する場合に、同義関係が成立すると判定することができる。これにより、情報処理装置１００は、示性式同士が一致する抽象名同士に、同義関係が成立すると判定することができる。
【０１６２】
情報処理装置１００によれば、第１の示性式と、第２の示性式を原子団単位で並べ替えた第３の示性式とが一致する場合に、同義関係が成立すると判定することができる。これにより、情報処理装置１００は、一方の示性式を並べ替えると示性式同士が一致する抽象名同士に、同義関係が成立すると判定することができる。
【０１６３】
情報処理装置１００によれば、文章集合から、化合物名としての条件を満たす複数の文字列を抽出することができる。情報処理装置１００によれば、化合物名を記憶する辞書情報を参照して、抽出した複数の文字列のうち、化合物名であると判定した文字列を示すノードを生成することができる。情報処理装置１００によれば、生成したノードの中から、第１のノードと、第２のノードとを選択することができる。これにより、情報処理装置１００は、化合物名を示すノードを生成することができる。また、情報処理装置１００は、化合物名を示すノードの数の膨大化を抑制することができる。
【０１６４】
情報処理装置１００によれば、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、第１の抽象名と同じ抽象名になる化合物名が、所定の数以上存在する場合に、第３のノードを生成することができる。情報処理装置１００によれば、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、第２の抽象名と同じ抽象名になる化合物名が、所定の数以上存在する場合に、第４のノードを生成することができる。これにより、情報処理装置１００は、抽象名を示すノードの数の膨大化を抑制することができる。
【０１６５】
情報処理装置１００によれば、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると第１の示性式と同義関係が成立する示性式に対応する抽象名になる化合物名が所定の数以上存在する場合に、第３のノードを生成することができる。情報処理装置１００によれば、生成したノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると第２の示性式と同義関係が成立する示性式に対応する抽象名になる化合物名が所定の数以上存在する場合に、第４のノードを生成することができる。これにより、情報処理装置１００は、抽象名を示すノードの数の膨大化を抑制することができる。
【０１６６】
情報処理装置１００によれば、文章集合に、第１の抽象名が閾値以上出現する場合に、第３のノードを生成することができる。情報処理装置１００によれば、第４のノードを生成する処理は、文章集合に、第２の抽象名が閾値以上出現する場合に、第４のノードを生成することができる。これにより、情報処理装置１００は、抽象名を示すノードの数の膨大化を抑制することができる。
【０１６７】
情報処理装置１００によれば、第１のノードの上位に第３のノードをリンク付け、第２のノードの上位に第４のノードをリンク付けすることができる。これにより、情報処理装置１００は、ノード間を適切にリンク付けしたナレッジグラフを生成することができる。
【０１６８】
情報処理装置１００によれば、同義関係が成立すると判定した場合には、生成した第３のノードと、生成した第４のノードとを、同義関係を示すエッジを用いてリンク付けすることができる。これにより、情報処理装置１００は、ノード間を適切にリンク付けしたナレッジグラフを生成することができる。
【０１６９】
情報処理装置１００によれば、同義関係が成立すると判定した場合には、生成した第３のノードと、生成した第４のノードとを統合し、第１の抽象名を示すラベルと、第２の抽象名を示すラベルとを付与することができる。これにより、情報処理装置１００は、抽象名を示すノードの数の膨大化を抑制することができる。
【０１７０】
なお、本実施の形態で説明した生成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した生成プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した生成プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１７１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１７２】
（付記１）第１のノードが示す第１の化合物名から置換基の結合位置を示す文字列を除去した第１の抽象名を特定し、
第２のノードが示す第２の化合物名から置換基の結合位置を示す文字列を除去した第２の抽象名を特定し、
特定した前記第１の抽象名を示す第３のノードを生成し、
特定した前記第２の抽象名を示す第４のノードを生成し、
前記第１の抽象名に対応する第１の構造情報と、前記第２の抽象名に対応する第２の構造情報とに基づいて、前記第１の抽象名と、前記第２の抽象名との間に、同義関係が成立するか否かを判定し、
同義関係が成立すると判定した場合には、生成した前記第３のノードと、生成した前記第４のノードとをリンク付けする、
処理をコンピュータが実行することを特徴とする生成方法。
【０１７３】
（付記２）前記判定する処理は、前記第１の構造情報と、前記第２の構造情報とが一致する場合に、同義関係が成立すると判定する、ことを特徴とする付記１に記載の生成方法。
【０１７４】
（付記３）前記判定する処理は、前記第１の構造情報と、前記第２の構造情報を原子団単位で並べ替えた第３の構造情報とが一致する場合に、同義関係が成立すると判定する、ことを特徴とする付記１または２に記載の生成方法。
【０１７５】
（付記４）文章集合から、化合物名としての条件を満たす複数の文字列を抽出し、
化合物名を記憶する辞書情報を参照して、抽出した前記複数の文字列のうち、化合物名であると判定した文字列を示すノードを生成し、
生成した前記ノードの中から、前記第１のノードと、前記第２のノードとを選択する、処理を前記コンピュータが実行することを特徴とする付記１〜３のいずれか一つに記載の生成方法。
【０１７６】
（付記５）前記第３のノードを生成する処理は、生成した前記ノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、前記第１の抽象名と同じ抽象名になる化合物名が、所定の数以上存在する場合に、前記第３のノードを生成し、
前記第４のノードを生成する処理は、生成した前記ノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、前記第２の抽象名と同じ抽象名になる化合物名が、前記所定の数以上存在する場合に、前記第４のノードを生成する、ことを特徴とする付記４に記載の生成方法。
【０１７７】
（付記６）前記第３のノードを生成する処理は、生成した前記ノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、前記第１の構造情報と同義関係が成立する構造情報に対応する抽象名になる化合物名が、所定の数以上存在する場合に、前記第３のノードを生成し、
前記第４のノードを生成する処理は、生成した前記ノードが示す化合物名のうち、置換基の結合位置を示す文字列を除去すると、前記第２の構造情報と同義関係が成立する構造情報に対応する抽象名になる化合物名が、前記所定の数以上存在する場合に、前記第４のノードを生成する、ことを特徴とする付記４に記載の生成方法。
【０１７８】
（付記７）前記第３のノードを生成する処理は、文章集合に、前記第１の抽象名が閾値以上出現する場合に、前記第３のノードを生成し、
前記第４のノードを生成する処理は、前記文章集合に、前記第２の抽象名が前記閾値以上出現する場合に、前記第４のノードを生成する、ことを特徴とする付記１〜６のいずれか一つに記載の生成方法。
【０１７９】
（付記８）前記第１のノードの上位に前記第３のノードをリンク付け、前記第２のノードの上位に前記第４のノードをリンク付けする、処理を前記コンピュータが実行することを特徴とする付記１〜７のいずれか一つに記載の生成方法。
【０１８０】
（付記９）前記リンク付けする処理は、同義関係が成立すると判定した場合には、生成した前記第３のノードと、生成した前記第４のノードとを、同義関係を示すエッジを用いてリンク付けする、ことを特徴とする付記１〜８のいずれか一つに記載の生成方法。
【０１８１】
（付記１０）前記リンク付けする処理は、同義関係が成立すると判定した場合には、生成した前記第３のノードと、生成した前記第４のノードとを統合し、前記第１の抽象名を示すラベルと、前記第２の抽象名を示すラベルとを付与する、ことを特徴とする付記１〜９のいずれか一つに記載の生成方法。
【０１８２】
（付記１１）第１のノードが示す第１の化合物名から置換基の結合位置を示す文字列を除去した第１の抽象名を特定し、
第２のノードが示す第２の化合物名から置換基の結合位置を示す文字列を除去した第２の抽象名を特定し、
特定した前記第１の抽象名を示す第３のノードを生成し、
特定した前記第２の抽象名を示す第４のノードを生成し、
前記第１の抽象名に対応する第１の構造情報と、前記第２の抽象名に対応する第２の構造情報とに基づいて、前記第１の抽象名と、前記第２の抽象名との間に、同義関係が成立するか否かを判定し、
同義関係が成立すると判定した場合には、生成した前記第３のノードと、生成した前記第４のノードとをリンク付けする、
処理をコンピュータに実行させることを特徴とする生成プログラム。
【０１８３】
（付記１２）第１のノードが示す第１の化合物名から置換基の結合位置を示す文字列を除去した第１の抽象名を特定し、
第２のノードが示す第２の化合物名から置換基の結合位置を示す文字列を除去した第２の抽象名を特定し、
特定した前記第１の抽象名を示す第３のノードを生成し、
特定した前記第２の抽象名を示す第４のノードを生成し、
前記第１の抽象名に対応する第１の構造情報と、前記第２の抽象名に対応する第２の構造情報とに基づいて、前記第１の抽象名と、前記第２の抽象名との間に、同義関係が成立するか否かを判定し、
同義関係が成立すると判定した場合には、生成した前記第３のノードと、生成した前記第４のノードとをリンク付けする、
制御部を有することを特徴とする生成装置。
【符号の説明】
【０１８４】
１００  情報処理装置
１０１〜１０４  ノード
２００  サービス提供システム
２０１  クライアント装置
２１０  ネットワーク
３００，６００  バス
３０１，６０１  ＣＰＵ
３０２，６０２  メモリ
３０３，６０３  ネットワークＩ／Ｆ
３０４，６０４  記録媒体Ｉ／Ｆ
３０５，６０５  記録媒体
４００  グラフ情報テーブル
５００  辞書テーブル
６０６  ディスプレイ
６０７  入力装置
７００  記憶部
７０１  取得部
７０２  第１特定部
７０３  第１生成部
７０４  第２特定部
７０５  第２生成部
７０６  判定部
７０７  接続部
７０８  出力部
１６００  ナレッジグラフ
１６０１  技術文書
【図１】
2020035172.tif 000003
【図２】
2020035172.tif 000004
【図３】
2020035172.tif 000005
【図４】
2020035172.tif 000006
【図５】
2020035172.tif 000007
【図６】
2020035172.tif 000008
【図７】
2020035172.tif 000009
【図８】
2020035172.tif 000010
【図９】
2020035172.tif 000011
【図１０】
2020035172.tif 000012
【図１１】
2020035172.tif 000013
【図１２】
2020035172.tif 000014
【図１３】
2020035172.tif 000015
【図１４】
2020035172.tif 000016
【図１５】
2020035172.tif 000017
【図１６】
2020035172.tif 000018
【図１７】
2020035172.tif 000019
【図１８】
2020035172.tif 000020
【図１９】
2020035172.tif 000021