(57)【特許請求の範囲】
【請求項１】
物質名および当該物質名の化学式を取得する取得部と、
適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出する抽出部と、
前記取得部によって取得された化学式が、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断する判断部と、
前記判断部によって満たすと判断された場合、前記化学式および前記物質名を前記変換内容にしたがって変換する変換部と、
を有することを特徴とする生成装置。
【請求項２】
前記抽出部は、
前記変換部による変換済みの化学式および物質名について、ルール群の中からいずれかのルールを抽出し、
前記判断部は、
前記変換部による変換済みの化学式が、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記変換部は、
前記判断部によって満たすと判断された場合、前記変換部による変換済みの化学式および物質名を前記変換内容にしたがって変換することを特徴とする請求項１に記載の生成装置。
【請求項３】
前記変換済みの化学式および物質名をデータベースに登録する登録部を有することを特徴とする請求項１に記載の生成装置。
【請求項４】
前記抽出部は、
前記変換部による変換済みの化学式および物質名について、前記ルール群の中からいずれかのルールを抽出し、
前記判断部は、
前記変換部による変換済みの化学式が、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記変換部は、
前記判断部によって満たすと判断された場合、前記変換部による変換済みの化学式および物質名を前記変換内容にしたがって変換し、
前記登録部は、
前記変換部による変換済みの化学式および物質名を前記データベースに登録することを特徴とする請求項３に記載の生成装置。
【請求項５】
前記変換済みの化学式および物質名が前記登録部において新規登録された化学式および物質名であるか否かを判定する判定部を有し、
前記抽出部は、
前記判定部によって新規登録であると判定された場合、前記変換部による変換済みの化学式および物質名について、前記ルール群の中からいずれかのルールを抽出することを特徴とする請求項４に記載の生成装置。
【請求項６】
文書情報の中に前記変換済みの化学式または当該化学式を含む化学式が存在をするかを特定する特定部を有し、
前記登録部は、
前記特定部によって前記変換済みの化学式または当該化学式を含む化学式の存在が特定された場合、前記変換済みの化学式および物質名を前記データベースに登録することを特徴とする請求項３〜５のいずれか一つに記載の生成装置。
【請求項７】
文書情報から物質名と見なす文字列を抽出物質名として抽出し、前記データベースから該抽出をした抽出物質名と最長一致する第１の物質名を抽出し、該抽出物質名から該第１の物質名を除いた残余の文字列から、当該残余の文字列と一致する前記データベース内の第２の物質名を抽出することにより、前記抽出物質名を前記第１の物質名と前記第２の物質名とに分割する分割部を有し、
前記取得部は、
物質名と該物質名に関する化学式とを対応付けて持つ辞書を参照して、前記第１の物質名の第１の化学式と、前記第２の物質名の第２の化学式と、を取得し、
前記抽出部は、
前記第１の物質名および前記第１の物質名の第１の化学式と前記第２の物質名および前記第２の物質名の第２の化学式のそれぞれについて、前記ルール群の中からいずれかのルールを抽出し、
前記判断部は、
前記第１の化学式と前記第２の化学式のそれぞれについて、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記変換部は、
前記第１の物質名および前記第１の物質名の第１の化学式と前記第２の物質名および前記第２の物質名の第２の化学式のそれぞれについて、前記判断部によって満たすと判断された場合、前記変換内容にしたがって変換し、
前記登録部は、
前記第１の物質名および前記第１の物質名の第１の化学式と前記第２の物質名および前記第２の物質名の第２の化学式のそれぞれについて、前記変換部による変換済みの化学式および物質名を前記データベースに登録することを特徴とする請求項３〜６のいずれか一つに記載の生成装置。
【請求項８】
文書情報からの抽出物質名から、当該抽出物質名と一致する前記データベース内の第１の物質名を抽出し、前記抽出物質名から前記第１の物質名を除いた残余の文字列から、当該残余の文字列と一致する前記データベース内の第２の物質名を抽出することにより、前記抽出物質名を前記第１の物質名と前記第２の物質名とに分割する分割部と、
前記分割部によって分割された第１の物質名の第１の化学式を前記データベースから検索するとともに、前記分割部によって分割された第２の物質名の第２の化学式を前記データベースから検索する検索部と、
前記検索部によって検索された前記第１の化学式および前記第２の化学式を連結した連結化学式を生成する生成部と、
を有することを特徴とする請求項３〜６のいずれか一つに記載の生成装置。
【請求項９】
前記生成部によって生成された連結化学式の出現回数を計数し、出現回数順に各連結化学式をソートする計数部と、
前記計数部によって計数された出現回数順の各連結化学式を出力する出力部と、
を有することを特徴とする請求項８に記載の生成装置。
【請求項１０】
コンピュータが、
物質名および当該物質名の化学式を取得し、
適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出し、
取得された化学式が、抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記判断によって満たすと判断された場合、前記化学式および前記物質名を前記変換内容にしたがって変換する、
ことを特徴とする生成方法。
【請求項１１】
物質名および当該物質名の化学式を取得し、
適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出し、
取得された化学式が、抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記判断によって満たすと判断された場合、前記化学式および前記物質名を前記変換内容にしたがって変換する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を生成する生成装置、生成方法、および生成プログラムに関する。
【背景技術】
【０００２】
化学物質名の命名規則を利用して物質名から化学構造式を作図する従来技術が開示されている。当該従来技術は、作図するための部品は辞書に登録されていることを前提としている。当該従来技術は、水素欠損を表す語尾「ｅｎｅ」や、２か所あることを示す「ｄｉ」を想定して作図している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０１−１４２８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＣＡＳ（Ｃｈｅｍｉｃａｌ  Ａｂｓｔｒａｃｔｓ  Ｓｅｒｖｉｃｅ）などの化学物質データベースでは、収録される物質の数は数秒間に１件の割合で増加しており、その収録物質をカバーする辞書を整備することは困難である。このような化学物質データベースを用いた場合であっても、上述した従来技術では、収録済みの化学式から派生した未収録の化学式を得ることは困難である。
【０００５】
本発明は、上述した従来技術による問題点を解消するため、化学反応のルールを適用することにより、化学式から派生した化学式の生成精度の向上を図ることができる生成装置、生成方法、および生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、物質名および当該物質名の化学式を取得し、適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出し、取得された化学式が、抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、満たすと判断された場合、前記化学式および前記物質名を前記変換内容にしたがって変換する生成装置、生成方法、および生成プログラムが提案される。
【発明の効果】
【０００７】
本発明の一側面によれば、化学反応のルールを適用することにより、化学式から派生した化学式の生成精度の向上を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、生成装置による示性式の生成例を示す説明図である。
【図２】図２は、ルールＤＢの記憶内容の一例を示す説明図である。
【図３】図３は、生成装置による示性式生成例（その１）を示す説明図である。
【図４】図４は、生成装置による示性式生成例（その２）を示す説明図である。
【図５】図５は、生成装置による示性式生成例（その３）を示す説明図である。
【図６】図６は、示性式辞書の記憶内容の一例を示す説明図である。
【図７】図７は、語幹辞書の記憶内容の一例を示す説明図である。
【図８】図８は、部分示性式ＤＢの記憶内容の一例を示す説明図である。
【図９】図９は、実施の形態にかかる生成装置のハードウェア構成例を示すブロック図である。
【図１０】図１０は、生成装置の機能的構成例を示すブロック図である。
【図１１】図１１は、計数部１０１２による計数結果の一例を示す説明図である。
【図１２】図１２は、生成装置１０００による部分示性式ＤＢ８００の作成処理手順を示すフローチャートである。
【図１３】図１３は、図１２に示した示性式部品化処理（ステップＳ１２０３）の詳細な処理手順を示すフローチャート（その１）である。
【図１４】図１４は、図１３に示した示性式部品化ルール適用処理（ステップＳ１３０２）の詳細な処理手順を示すフローチャートである。
【図１５】図１５は、図１２に示した示性式部品化処理（ステップＳ１２０３）の詳細な処理手順を示すフローチャート（その２）である。
【図１６】図１６は、連結示性式生成処理手順を示すフローチャートである。
【図１７】図１７は、図１６に示した抽出文字列分割処理（ステップＳ１６０５）の詳細な処理手順を示すフローチャートである。
【図１８】図１８は、ランキング表示する場合の連結示性式群の生成処理手順を示すフローチャートである。
【図１９】図１９は、図１８に示した連結示性式生成処理（ステップＳ１８０３）の詳細な処理手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかる生成装置、生成方法、および生成プログラムの実施の形態を詳細に説明する。また、本明細書において、「化学式」とは物質を原子の記号と数字で表記した式である。たとえば、エタノールの場合、Ｃ２Ｈ６Ｏである。また、「示性式」とは化学式をさらに官能基ごとにまとめて表記した式である。たとえば、エタノールの場合、ＣＨ３ＣＨ２ＯＨである。以下、本実施の形態では、示性式を例に挙げて説明するが、化学式にも適用することができる。
【００１０】
本実施の形態にかかる生成装置は、ある物質名とその示性式の組を生成元とし、化学反応のルールを適用することで、あらたに物質名とその示性式の組を生成する。また、生成装置は、あらたに生成された物質名とその示性式の組についても、同様に化学反応のルールを適用することで、再帰的にあらたに物質名とその示性式の組を生成する。このように、生成装置は、化学反応に応じたルールを適用したうえで示性式を生成しているため、化学物質データベースに依存することなく、物質名とその示性式を高精度に生成することができる。
【００１１】
また、本実施の形態では、生成装置は、このように生成された物質名とその示性式の組をデータベース化する。これにより、生成装置は、化学物質データベースに依存することなく、物質名やその示性式を検索することができる。たとえば、特許文書や学術論文には、新規な物質名やその示性式が記載されることがあるが、生成装置は、そのような新規な物質名やその示性式が化学物質データベースに収録されていなくても、生成装置が生成したデータベースから検索することができる。以下、示性式の生成から順に説明する。
【００１２】
＜示性式の生成例＞
図１は、生成装置による示性式の生成例を示す説明図である。図１中、「≒」は物質名と示性式との対応関係を示している。図１では、一例として、物質名「プロパン」および示性式「ＣＨ３ＣＨ２ＣＨ３」を生成元とする。
【００１３】
（１）では、物質名「プロパン」および示性式「ＣＨ３ＣＨ２ＣＨ３」に対し、『炭化水素ＣＨの結合の場合に化学反応として水素が外される』というルールが適用されている。プロパンの示性式「ＣＨ３ＣＨ２ＣＨ３」には、水素Ｈが３箇所（計８個）存在し、いずれの箇所にもルール適用可能であるが、ここでは説明の便宜上、末尾の「ＣＨ３」から水素Ｈが１つ外されたこととする。これにより、物質名「プロパン」、示性式「ＣＨ３ＣＨ２ＣＨ２」が得られる。本明細書では、ルールが適用された適用後の示性式を「部分示性式」と称す。また、ルールが適用された適用後の物質名を「部分名」と称す。
【００１４】
（２）では、（１）で得られた部分名「プロパン」および部分示性式「ＣＨ３ＣＨ２ＣＨ２」に対し、『水素Ｈが「ＯＨ」に置換され、部分名の語尾に「ノール」が追加される』というルールが適用されている。部分示性式「ＣＨ３ＣＨ２ＣＨ２」には、水素Ｈが３箇所（計７個）存在するが、ここでは、中央の「ＣＨ２」の水素ＨがＯＨに置換されたこととする。これにより、部分示性式「ＣＨ３ＣＨＯＨＣＨ２」が得られる。また、部分名「プロパン」の語尾には「ノール」が追加されるが、語尾追加の場合は、語幹「プロパ」に語尾「ノール」が追加され、部分名「プロパノール」が得られる。
【００１５】
（３）では、（１）で得られた部分名「プロパン」および部分示性式「ＣＨ３ＣＨ２ＣＨ２」に対し、『水素Ｈがフッ素「Ｆ」に置換され、部分名の語頭に「フルオロ」が追加される』というルールが適用されている。部分示性式「ＣＨ３ＣＨ２ＣＨ２」には、水素Ｈが３箇所（計７個）存在するが、ここでは、先頭の「ＣＨ３」の水素Ｈがフッ素Ｆに置換されたこととする。これにより、部分示性式「ＣＨ２ＦＣＨ２ＣＨ２」が得られる。また、部分名「プロパン」の語頭には「フルオロ」が追加され、部分名「フルオロプロパン」が得られる。
【００１６】
（４）では、（２）で得られた部分名「プロパノール」および部分示性式「ＣＨ３ＣＨＯＨＣＨ２」に対し、『水素Ｈが塩素Ｃｌに置換され、部分名の語頭に「クロロ」が追加される』というルールが適用されている。部分示性式「ＣＨ３ＣＨＯＨＣＨ２」には、水素Ｈが４箇所（計７個）存在するが、ここでは、先頭の「ＣＨ３」の水素Ｈが塩素Ｃｌに置換されたこととする。これにより、部分示性式「ＣＨ２ＣｌＣＨＯＨＣＨ２」が得られる。また、部分名「プロパノール」の語頭には「クロロ」が追加され、部分名「クロロプロパノール」が得られる。
【００１７】
（５）では、（２）で得られた部分名「プロパノール」および部分示性式「ＣＨ３ＣＨＯＨＣＨ２」に対し、『水素Ｈがフッ素Ｆに置換され、部分名の語頭に「フルオロ」が追加される』というルールが適用されている。当該ルールは、上記（３）で適用されているが、同一ルールを複数回適用してもよい。部分示性式「ＣＨ３ＣＨＯＨＣＨ２」には、水素Ｈが４箇所（計７個）存在するが、ここでは、先頭の「ＣＨ３」の水素Ｈがフッ素Ｆに置換されたこととする。これにより、部分示性式「ＣＨ２ＦＣＨＯＨＣＨ２」が得られる。また、部分名「プロパノール」の語頭には「フルオロ」が追加され、部分名「フルオロプロパノール」が得られる。
【００１８】
（６）では、（５）で得られた部分名「フルオロプロパノール」および部分示性式「ＣＨ２ＦＣＨＯＨＣＨ２」に対し、『水素Ｈがフッ素Ｆに置換され、部分名の語頭に「フルオロ」が追加される』というルールが適用されている。この場合、先頭の「ＣＨ２」の水素Ｈがフッ素Ｆに置換されると、生成後の部分名および部分示性式が、生成済みの部分名「クロロフルオロプロパノール」の部分示性式「ＣＨＣｌＦＣＨＯＨＣＨ２」と一致することになる。このような場合は、生成処理が停止される。したがって、生成装置は、部分名および部分示性式の重複生成を抑制することができ、生成処理の負荷低減を図ることができる。
【００１９】
つぎに、図１で適用されたルールについて説明する。本実施の形態において、ルールとは、適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定した情報である。ルールの集合であるルール群は、ルールＤＢ（Ｄａｔａ  Ｂａｓｅ）に記憶されている。ルールＤＢは、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ディスクなどの記憶装置により実現される。
【００２０】
＜ルールＤＢ＞
図２は、ルールＤＢの記憶内容の一例を示す説明図である。ルールＤＢ２００は、ルールＩＤ項目と、適用条件項目と、変換内容項目と、を有する。ルールＤＢ２００は、ルールごとに各項目が設定されレコードを構成する。ルールＤＢ２００で規定されたルールは、部分示性式を生成する際に生成装置から選択される。
【００２１】
ルールＩＤ項目には、ルールＩＤがレコードごとに格納される。ルールＩＤとは、ルールを一意に特定する情報である。適用条件項目には、適用条件がレコードごとに格納される。適用条件とは、ルールを適用するために示性式や部分示性式が満たすべき化学反応に関する条件である。たとえば、エタノールの示性式は「ＣＨ３ＣＨ２ＯＨ」であるため、ルールＩＤ＝Ｒ１の適用条件を満たすことになる。
【００２２】
変換内容項目は、示性式項目と物質名項目とを含む。示性式項目には、示性式や部分示性式に適用される化学反応がレコードごとに格納されている。また、物質名項目には、物質名や部分名に適用される名称変更内容がレコードごとに格納されている。名称変更内容には、「変更なし」と「語頭の追加」と「語尾の追加」の３種類がある。
【００２３】
図３は、生成装置による示性式生成例（その１）を示す説明図である。図３では、図２に示したルールＤＢ２００のルールＩＤ＝Ｒ１を適用した場合の例である。図３では、生成元を、物質名「プロパン」、示性式「ＣＨ３ＣＨ２ＣＨ３」とする。
【００２４】
ルールＲ１が適用されると、示性式「ＣＨ３ＣＨ２ＣＨ３」から、「ＣＨ２ＣＨ２ＣＨ３」，「ＣＨ３ＣＨＣＨ３」，「ＣＨ３ＣＨ２ＣＨ２」という３種類の部分示性式が生成される。また、物質名「プロパン」は変更されず、「プロパン」はそのまま部分名となる。
【００２５】
図４は、生成装置による示性式生成例（その２）を示す説明図である。図４では、図２に示したルールＤＢ２００のルールＩＤ＝Ｒ２を適用した場合の例である。図４では、生成元を、部分名「プロパン」、部分示性式「ＣＨ２ＣＨ２ＣＨ３」とする。
【００２６】
ルールＲ２が適用されると、部分示性式「ＣＨ２ＣＨ２ＣＨ３」から、「ＣＨＯＨＣＨ２ＣＨ３」，「ＣＨ２ＣＨＯＨＣＨ３」，「ＣＨ２ＣＨ２ＣＨ２ＯＨ」という３種類の部分示性式が生成される。また、部分名「プロパン」はいずれの部分示性式についても、部分名「プロパノール」となる。なお、部分名「プロパン」に語尾「ノール」がそのまま追加されると、「プロパンノール」となるが、語尾追加の場合は、「プロパン」の語幹「プロパ」に語尾「ノール」が追加されて、「プロパノール」になる。
【００２７】
図５は、生成装置による示性式生成例（その３）を示す説明図である。図５では、図２に示したルールＤＢ２００のルールＩＤ＝Ｒ３を適用した場合の例である。図５では、生成元を、部分名「プロパノール」、部分示性式「ＣＨＯＨＣＨ２ＣＨ３」とする。
【００２８】
ルールＲ３が適用されると、部分示性式「ＣＨＯＨＣＨ２ＣＨ３」から、「ＣＣｌＯＨＣＨ２ＣＨ３」，「ＣＨＯＣｌＣＨ２ＣＨ３」，「ＣＨＯＨＣＨＣｌＣＨ３」，「ＣＨＯＨＣＨ２ＣＨ２Ｃｌ」という４種類の部分示性式が生成される。また、部分名「プロパン」はいずれの部分示性式についても、部分名「クロロプロパノール」となる。
【００２９】
＜示性式辞書および語幹辞書＞
つぎに、示性式辞書および語幹辞書の記憶内容の一例について説明する。
【００３０】
図６は、示性式辞書の記憶内容の一例を示す説明図である。示性式辞書６００とは、既知の物質名とその示性式とを対応付けて記憶したデータベースである。示性式辞書６００は、物質名項目と、示性式項目と、を有する。示性式辞書６００は、物質ごとに各項目が設定されレコードを構成する。物質名項目には物質名が登録されている。また、示性式項目には示性式が登録されている。示性式辞書６００で規定された物質名および示性式の組は、部分示性式を生成する際に生成装置から選択される。
【００３１】
示性式辞書６００内の物質名および示性式の組は、たとえば、部分名および部分示性式の生成元として生成装置から選択される。示性式辞書６００は、たとえば、ＲＯＭやＲＡＭ、フラッシュメモリ、ディスクなどの記憶装置により実現される。
【００３２】
図７は、語幹辞書の記憶内容の一例を示す説明図である。語幹辞書７００とは、物質名や部分名の語幹を特定するためのデータベースである。語幹辞書７００には既知の物質名の語幹が登録されている。ルールの変換内容において語尾が追加される場合、生成装置は語幹辞書７００を参照する。そして、生成装置は、語幹辞書７００を最長一致検索することにより、最長一致した語幹を抽出し、適用されるルールに規定されている語尾を、抽出した語幹の末尾に追加することになる。
【００３３】
たとえば、図４の例では、部分名「プロパン」については、「プロパ」が最長一致されるため、語幹「プロパ」が語幹辞書７００から読み出される。そして、読み出された語幹「プロパ」に語尾「ノール」が追加されて、「プロパノール」になる。語幹辞書７００は、たとえば、ＲＯＭやＲＡＭ、フラッシュメモリ、ディスクなどの記憶装置により実現される。
【００３４】
＜部分示性式ＤＢ＞
図８は、部分示性式ＤＢの記憶内容の一例を示す説明図である。部分示性式ＤＢ８００とは、生成装置によって生成された部分名およびその部分示性式の組を登録するデータベースである。部分示性式ＤＢ８００は、部分名項目と、部分示性式項目と、を有する。部分示性式ＤＢ８００は、部分名で特定される物質ごとに各項目が設定されレコードを構成する。部分名項目には部分名が登録される。また、部分示性式項目には部分示性式が登録される。たとえば、部分示性式ＤＢ８００の初期状態は空であり、部分名およびその部分示性式の組が生成される都度、レコードに追加されることになる。図８では、すでに、メタンやメタノールなどの物質について部分示性式が登録済みの状態を示している。
【００３５】
また、部分示性式ＤＢ８００に部分名およびその部分示性式の組が登録されている場合には、生成装置は、部分示性式ＤＢ８００から部分名およびその部分示性式の組を検索することができる。たとえば、特許文書や学術論文には、新規な物質名やその示性式が記載されることがあるが、生成装置は、そのような新規な物質名やその示性式が化学物質データベースに収録されていなくても、生成装置が生成したデータベースから検索することができる。
【００３６】
＜生成装置のハードウェア構成例＞
図９は、実施の形態にかかる生成装置のハードウェア構成例を示すブロック図である。図９において、生成装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１と、ＲＯＭ９０２と、ＲＡＭ９０３と、磁気ディスクドライブ９０４と、磁気ディスク９０５と、光ディスクドライブ９０６と、光ディスク９０７と、ディスプレイ９０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）９０９と、キーボード９１０と、マウス９１１と、スキャナ９１２と、プリンタ９１３と、を有している。また、各構成部はバス９００によってそれぞれ接続されている。
【００３７】
ここで、ＣＰＵ９０１は、生成装置の全体の制御を司る。ＲＯＭ９０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ９０３は、ＣＰＵ９０１のワークエリアとして使用される。磁気ディスクドライブ９０４は、ＣＰＵ９０１の制御にしたがって磁気ディスク９０５に対するデータのリード／ライトを制御する。磁気ディスク９０５は、磁気ディスクドライブ９０４の制御で書き込まれたデータを記憶する。
【００３８】
光ディスクドライブ９０６は、ＣＰＵ９０１の制御にしたがって光ディスク９０７に対するデータのリード／ライトを制御する。光ディスク９０７は、光ディスクドライブ９０６の制御で書き込まれたデータを記憶したり、光ディスク９０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３９】
ディスプレイ９０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ９０８は、たとえば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４０】
インターフェース（以下、「Ｉ／Ｆ」と略する。）９０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク９１４に接続され、このネットワーク９１４を介して他の装置に接続される。そして、Ｉ／Ｆ９０９は、ネットワーク９１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ９０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００４１】
キーボード９１０は、文字、数字、各種指示などの入力のためのキーを有し、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス９１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００４２】
スキャナ９１２は、画像を光学的に読み取り、生成装置内に画像データを取り込む。なお、スキャナ９１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ９１３は、画像データや文書データを印刷する。プリンタ９１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ９０６、光ディスク９０７、ディスプレイ９０８、キーボード９１０、マウス９１１、スキャナ９１２、およびプリンタ９１３の少なくともいずれか１つは、なくてもよい。
【００４３】
＜生成装置の機能的構成例＞
図１０は、生成装置の機能的構成例を示すブロック図である。生成装置１０００は、ルールＤＢ２００と、示性式辞書６００と、語幹辞書７００と、文書情報ＤＢ１０２０と、を有する。文書情報ＤＢ１０２０とは、特許文書や論文、雑誌、書籍などのテキストを含む文書情報を記憶するデータベースである。文書情報ＤＢ１０２０は、たとえば、ＲＯＭやＲＡＭ、フラッシュメモリ、ディスクなどの記憶装置により実現される。
【００４４】
また、生成装置１０００は、取得部１００１と、抽出部１００２と、判断部１００３と、変換部１００４と、出力部１００５と、登録部１００６と、判定部１００７と、特定部１００８と、分割部１００９と、検索部１０１０と、生成部１０１１と、計数部１０１２と、を有している。取得部１００１〜計数部１０１２は、具体的には、たとえば、図９に示したＲＯＭ９０２、ＲＡＭ９０３、磁気ディスク９０５、光ディスク９０７などの記憶装置に記憶されたプログラムをＣＰＵ９０１に実行させることにより、または、Ｉ／Ｆ９０９により、その機能を実現する。
【００４５】
取得部１００１は、物質名および当該物質名の化学式を取得する。具体的には、たとえば、取得部１００１は、示性式辞書６００のあるレコードを選択することにより、選択されたレコードでの物質名および当該物質名の示性式の組を読み出す。また、取得部１００１は、示性式辞書６００に限らず、ユーザ操作により物質名および当該物質名の示性式の組の入力を受け付けてもよい。
【００４６】
抽出部１００２は、適用すべき条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出する。具体的には、たとえば、抽出部１００２は、ルールＤＢ２００のいずれかのルールを抽出する。抽出部１００２は、どのルールを抽出するかについては、ランダムでもよく、ルールＩＤ順でもよい。また抽出されるルールは、重複してもよい。
【００４７】
判断部１００３は、取得部１００１によって取得された化学式が、抽出部１００２によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断する。具体的には、たとえば、判断部１００３は、取得部１００１によって取得された示性式が、ルールＤＢ２００から抽出されたルールの適用条件を満たすか否かを判断する。たとえば、図３〜図５の例では、抽出されたルールＲ１〜Ｒ３の適用条件を満たしていることになる。一方、エタノールについて、『炭化水素ＣＨの結合』という適用条件（図１を参照）のルールが抽出された場合は、適用条件を満たしていないことになる。
【００４８】
変換部１００４は、判断部１００３によって満たすと判断された場合、化学式および物質名を変換内容にしたがって変換する。具体的には、たとえば、変換部１００４は、抽出されたルールの適用条件を示性式が満たすと判断された場合、抽出されたルールの変換内容に従って、物質名およびその示性式を変換し、部分名およびその部分示性式を出力する。また、変換された部分名およびその部分示性式は、抽出部１００２にフィードバックされる。これにより、変換された部分名およびその部分示性式について、抽出部１００２による抽出処理、判断部１００３による判断処理、および変換部１００４による変換処理が、再帰的に実行されることになる。
【００４９】
なお、変換部１００４による変換例については、図３〜図５に示したように、示性式または部分示性式は、化学反応に応じた変換が行われる。また、物質名または部分名については、変更なし、語頭の追加、または語尾の追加が実行される。抽出されたルールに語尾の追加が規定されている場合には、語幹辞書７００に対する最長一致検索により、変換部１００４は、物質名または部分名の語幹を抽出する。そして、変換部１００４は、抽出した語幹に、ルール規定されている語尾を追加することで、あらたな部分名を生成することになる。
【００５０】
また、変換部１００４では、図３〜図５に示したように、複数の変換候補が得られるが、いずれの変換候補について変換をおこなってもよく、いずれか１つについて変換をおこなってもよい。すなわち、少なくとも１つ変換すればよい。変換候補が複数ある場合については、ユーザは、予め変換すべき数の上限を設定しておくこととしてもよい。たとえば、部分示性式ＤＢ８００の構築を早期に実現したい場合には、ユーザは、当該上限を低く（たとえば、上限＝１）に設定すればよく、多くの部分示性式を得たい場合には、ユーザは、当該上限を高く設定すればよい。
【００５１】
出力部１００５は、変換部１００４による変換結果となる部分名とその部分示性式を出力する。具体的には、たとえば、出力部１００５は、変換結果を、ディスプレイ９０８に表示出力したり、プリンタ９１３に印刷出力したり、外部の装置に送信したりする。
【００５２】
登録部１００６は、変換済みの化学式および物質名をデータベースに登録する。具体的には、たとえば、登録部１００６は、変換結果である部分名とその示性式を、部分示性式ＤＢ８００に登録する。これにより、図８に示したように、部分示性式ＤＢ８００が構築されることになる。なお、変換結果である部分名とその示性式がすでに部分示性式ＤＢ８００に登録済みである場合は、登録部１００６は、登録処理を実行しない。これにより、レコード数の増加が抑制され、部分示性式ＤＢ８００の省メモリ化を図ることができる。
【００５３】
判定部１００７は、変換済みの化学式および物質名が登録部１００６において新規登録された化学式および物質名であるか否かを判定する。具体的には、たとえば、判定部１００７は、変換結果である部分名とその示性式の部分示性式ＤＢ８００への登録が新規登録であるか否かを判定する。新規登録である場合、抽出部１００２は、ルール群の中からいずれかのルールを抽出する。すなわち、変換部１００４から変換結果が抽出部１００２にフィードバックされるが、判定部１００７によって新規登録と判定された場合に限り、ルールＤＢ２００からルールが抽出されることになる。これにより、登録済みの部分名とその部分示性式についての抽出処理、判断処理、および変換処理が抑制され、部分示性式ＤＢ８００の構築作業の効率化を図ることができる。
【００５４】
特定部１００８は、文書情報の中に変換済みの化学式または当該化学式を含む化学式が存在をするかを特定する。具体的には、たとえば、特定部１００８は、変換結果として得られた部分示性式または当該部分示性式を含む示性式を、文書情報ＤＢ１０２０から特定する。たとえば、特定部１００８は、文書情報ＤＢ１０２０の各文書情報を検索する。この場合、登録部１００６は、部分示性式または当該部分示性式を含む示性式が特定された場合に、変換結果として得られた部分名とその部分示性式を、部分示性式ＤＢ８００に登録する。このように、文書情報での存在が判明した部分示性式について登録を許可することにより、有用な部分名とその部分示性式が部分示性式ＤＢ８００に蓄積されることになる。
【００５５】
分割部１００９は、文書情報からの抽出物質名から、当該抽出物質名と一致するデータベース内の第１の物質名を抽出し、抽出物質名から第１の物質名を除いた残余の文字列から、当該残余の文字列と一致するデータベース内の第２の物質名を抽出することにより、抽出物質名を第１の物質名と第２の物質名とに分割する。ここでは、一例として、文書情報ＤＢ１０２０から抽出された抽出物質名を「メトキシプロパノール」とする。具体的には、たとえば、分割部１００９は、部分示性式ＤＢ８００を検索して、部分示性式ＤＢ８００内の部分名が抽出物質名「メトキシプロパノール」の先頭から最長一致する部分名を抽出する。この場合、部分名「メトキシ」が抽出されたとする。
【００５６】
つぎに、分割部１００９は、抽出物質名「メトキシプロパノール」から、抽出された部分名「メトキシ」を除いた残余の文字列「プロパノール」について、同様に、部分示性式ＤＢ８００を検索する。その結果、部分名「プロパノール」が最長一致検索された場合、分割部１００９は、残余の文字列「プロパノール」から部分名「プロパノール」を抽出する。その結果、残余の文字列がなくなるため、分割部１００９による分割は、分割成功となる。これにより、分割部１００９は、抽出物質名「メトキシプロパノール」を、部分名「メトキシ」と部分名「プロパノール」に分割することができる。
【００５７】
またこの場合、取得部１００１は、第１の物質名および第１の物質名の第１の化学式と、第２の物質名および第２の物質名の第２の化学式と、を取得する。具体的には、たとえば、取得部１００１は、分割で得られた部分名「メトキシ」の示性式「ＣＨ３Ｏ」と、分割で得られた「プロパノール」の示性式「ＣＨ３ＣＨ２ＣＨ２ＯＨ」とを、示性式辞書６００から読み出す。
【００５８】
このあと、読み出された部分名「メトキシ」とその示性式「ＣＨ３Ｏ」の組と、「プロパノール」とその示性式「ＣＨ３ＣＨ２ＣＨ２ＯＨ」の組、それぞれについて、抽出部１００２による抽出処理、判断部１００３による判断処理、変換部１００４による変換処理、および登録部１００６による登録処理が実行される。このように、生成装置１０００は、文書情報ＤＢ１０２０から得られた示性式を手がかりにして、その部分名や部分示性式を生成して登録することができる。
【００５９】
特に、文書情報ＤＢ１０２０が特許情報や論文などのデータベースである場合、文書情報ＤＢ１０２０から得られた示性式は有用な物質の新規な示性式と考えられる。したがって、このような有用な物質の示性式から派生して部分名とその部分示性式を得ることにより、生成装置１０００は、部分示性式ＤＢ８００での部分示性式の登録種類数の向上を図ることができる。
【００６０】
なお、上述した分割部１００９による抽出物質名の分割例では、成功例について説明したが、部分示性式ＤＢ８００の最長一致検索で検索されなかった場合は、分割失敗となる。また、上述した分割部１００９による抽出物質名の分割例では、第１の部分名「メトキシ」と第２の部分名「プロパノール」とに分割した例を説明したが、残余の文字列がまだ残されている場合は、残余の文字列がなくなるまで再帰的に部分示性式ＤＢ８００の最長一致検索がおこなわれることになる。その結果、分割成功の場合は、３以上の部分名に分割されることになり、得られた部分名ごとに、示性式が取得されることになる。
【００６１】
検索部１０１０は、分割部１００９によって分割された第１の物質名の第１の化学式をデータベースから検索するとともに、分割部１００９によって分割された第２の物質名の第２の化学式をデータベースから検索する。ここでは、上述のように、分割部１００９が、抽出物質名「メトキシプロパノール」を、部分名「メトキシ」と部分名「プロパノール」に分割した場合を例にあげて説明する。検索部１０１０は、分割で得られた部分名「メトキシ」の示性式「ＣＨ３Ｏ」を部分示性式ＤＢ８００から検索する。また、検索部１０１０は、分割で得られた「プロパノール」の示性式「ＣＨ２ＣＨ２ＣＨ２ＯＨ」を部分示性式ＤＢ８００から検索する。また、分割部１００９で３以上の部分名が得られた場合には、検索部１０１０は、部分名ごとに検索をおこなうことになる。
【００６２】
生成部１０１１は、検索部１０１０によって検索された第１の化学式および第２の化学式を連結した連結化学式を生成する。上述の分割例を用いて説明すると、生成部１０１１は、部分示性式ＤＢ８００から検索された部分名「メトキシ」の示性式「ＣＨ３Ｏ」と、部分示性式ＤＢ８００から検索された「プロパノール」の示性式「ＣＨ２ＣＨ２ＣＨ２ＯＨ」と、を連結する。連結の順序は、部分名の順序となる。したがって、部分名「メトキシ」の示性式「ＣＨ３Ｏ」が先頭となり、「プロパノール」の示性式「ＣＨ２ＣＨ２ＣＨ２ＯＨ」が末尾となる。この連結により、生成部１０１１は、連結示性式として「ＣＨ３ＯＣＨ２ＣＨ２ＣＨ２ＯＨ」を生成する。
【００６３】
また、検索部１０１０において示性式が複数検索される場合がある。たとえば、「プロパノール」の示性式として、「ＣＨ２ＣＨ２ＣＨ２ＯＨ」のほか、部分示性式ＤＢ８００から部分示性式「ＣＨＯＨＣＨ２ＣＨ３」，「ＣＨ２ＣＨＯＨＣＨ３」が検索されたとする。この場合、上述した連結示性式「ＣＨ３ＯＣＨ２ＣＨ２ＣＨ２ＯＨ」のほか、「ＣＨ３ＯＣＨＯＨＣＨ２ＣＨ３」，「ＣＨ３ＯＣＨ２ＣＨＯＨＣＨ３」が生成される。
【００６４】
すなわち、分割された一方の部分名からｍ１個の部分示性式が検索され、他方の部分示性式からｍ２個の部分示性式が検索された場合、ｍ１×ｍ２個の連結示性式が生成されることになる。なお、検索部１０１０で３以上の示性式が検索された場合は、生成部１０１１は、検索された示性式を連結して連結示性式を生成する。すなわち、分割された部分名がｋ個、各部分名から検索された部分示性式の数が、ｍ１，ｍ２，…，ｍｋ個とすると、ｍ１×ｍ２×…×ｍｋ個の連結示性式が生成されることになる。なお、検索により部分示性式が得られなかった場合、生成装置１０００は、たとえば、「ＸＸＸＸ」といった不明であることを示す文字列として扱うことにする。上記の例で、プロパノールの示性式が検索で得られない場合は、「ＣＨ３ＯＸＸＸＸ」となる。
【００６５】
このようにして、生成装置１０００は、目的とする抽出物質名の示性式候補となる連結示性式を自動生成することができる。これにより、ユーザは、文書情報からは知ることができなかった抽出物質名の示性式を把握することができる。なお、登録部１００６は、生成部１０１１によって生成された連結示性式とその抽出物質名を部分示性式ＤＢ８００に登録してもよい。これにより、生成装置１０００は、部分示性式ＤＢ８００での部分示性式の登録種類数の向上を図ることができる。
【００６６】
計数部１０１２は、文書情報において生成部１０１１によって生成された連結化学式の出現回数を計数し、出現回数順に各連結化学式をソートする。具体的には、たとえば、文書情報ＤＢ１０２０から抽出物質名が得られる都度、上述したように生成部１０１１により連結示性式が生成される。同一の連結示性式が生成された場合には、出現回数をインクリメントすることで、計数部１０１２は出現回数を更新する。
【００６７】
図１１は、計数部１０１２による計数結果の一例を示す説明図である。図１１に示すように、計数結果は出現回数の降順にソートされる。ソートされた計数結果は、出力部１００５により出力される。これにより、ユーザは、連結示性式ごとの出現回数の多さを参照することで、文書情報からは知ることができなかった抽出物質名の示性式がどのくらい有用であるかを把握することができる。
【００６８】
＜部分示性式ＤＢ８００作成処理手順＞
図１２は、生成装置１０００による部分示性式ＤＢ８００の作成処理手順を示すフローチャートである。まず、生成装置１０００は、示性式辞書６００に未選択項目があるか否かを判断する（ステップＳ１２０１）。未選択項目がある場合（ステップＳ１２０１：Ｙｅｓ）、生成装置１０００は、未選択項目を示性式辞書６００から選択する（ステップＳ１２０２）。そして、生成装置１０００は、示性式部品化処理を実行する（ステップＳ１２０３）。
【００６９】
示性式部品化処理（ステップＳ１２０３）とは、ステップＳ１２０２で選択された項目の物質名とその示性式を部品化して、部分示性式ＤＢ８００に登録する処理である。示性式部品化処理（ステップＳ１２０３）の詳細については、図１３で説明する。示性式部品化処理（ステップＳ１２０３）のあと、ステップＳ１２０１に戻る。生成装置１０００は、ステップＳ１２０１において、未選択項目がない場合（ステップＳ１２０１：Ｎｏ）、部分示性式ＤＢ８００の作成処理を終了する。これにより、部分示性式ＤＢ８００が構築されることになる。
【００７０】
＜示性式部品化処理（その１）＞
図１３は、図１２に示した示性式部品化処理（ステップＳ１２０３）の詳細な処理手順を示すフローチャート（その１）である。まず、生成装置１０００は、ステップＳ１２０２で選択された項目の物質名とその示性式の組を読み込み（ステップＳ１３０１）、示性式部品化ルール適用処理を実行する（ステップＳ１３０２）。示性式部品化ルール適用処理（ステップＳ１３０２）は、物質名とその示性式の組に対しルールＤＢ２００のルールを適用することにより、部分名とその部分示性式の組を生成する処理である。示性式部品化ルール適用処理（ステップＳ１３０２）の詳細については後述する。
【００７１】
このあと、生成装置１０００は、示性式部品化ルール適用処理（ステップＳ１３０２）で得られた部分名とその部分示性式の組を部分示性式ＤＢ８００に登録する（ステップＳ１３０３）。そして、生成装置１０００は、当該登録が部分名とその部分示性式の組について新規登録であるか否かを判断する（ステップＳ１３０４）。新規登録である場合（ステップＳ１３０４：Ｙｅｓ）、生成装置１０００は、当該登録が部分名とその部分示性式の組についてルール適用が可能か否かを判断する（ステップＳ１３０５）。たとえば、適用したルール数が予め設定された上限を超えた場合や、未適用のルールがない場合、生成された部分示性式の数が予め設定された上限を超えた場合、示性式部品化処理（ステップＳ１２０３）を開始してから所定時間経過した場合などが挙げられる。
【００７２】
適用可能である場合（ステップＳ１３０５：Ｙｅｓ）、生成装置１０００は、新規登録された部分名とその部分示性式の組を読み込み（ステップＳ１３０６）、示性式部品化処理を実行する。これにより、生成装置１０００は、部分名とその部分示性式の組を再帰的に生成することができる。また、ステップＳ１３０６では、新規登録された部分名とその部分示性式の組が複数ある場合には、生成装置１０００は、それぞれ読み込みをおこない、それぞれについて、示性式部品化処理（ステップＳ１３０６）を再帰的におこなうことになる。
【００７３】
また、ステップＳ１３０４において、新規登録でない場合（ステップＳ１３０４：Ｎｏ）、すでに部分示性式ＤＢ８００に登録済みであるため、生成装置１０００は、示性式部品化処理を終了し示性式部品化処理を呼び出したステップへ戻ることになる。また、ステップＳ１３０５において適用不可と判断された場合も（ステップＳ１３０５：Ｎｏ）、生成装置１０００は、示性式部品化処理を終了し示性式部品化処理を呼び出したステップへ戻ることになる。このようにして、示性式部品化処理（ステップＳ１２０３）により、部分名とその部分示性式の組が再帰的に生成されて部分示性式ＤＢ８００に登録されることになる。
【００７４】
＜示性式部品化ルール適用処理＞
図１４は、図１３に示した示性式部品化ルール適用処理（ステップＳ１３０２）の詳細な処理手順を示すフローチャートである。まず、生成装置１０００は、適用条件がマッチするルールがルールＤＢ２００にあるか否かを判断する（ステップＳ１４０１）。適用条件がマッチするルールがある場合（ステップＳ１４０１：Ｙｅｓ）、生成装置１０００は、適用条件がマッチするルールのうち１つを選択する（ステップＳ１４０２）。つぎに、生成装置１０００は、示性式を選択ルールにしたがって変更する（ステップＳ１４０３）。対象となる示性式が部分示性式である場合も同様である。
【００７５】
そして、生成装置１０００は、選択ルールに物質名の変更が規定されているか否かを判断する（ステップＳ１４０４）。規定されていない場合（ステップＳ１４０４：Ｎｏ）、ステップＳ１４０１に戻る。一方、規定されている場合（ステップＳ１４０４：Ｙｅｓ）、生成装置１０００は、規定されている変更が語尾の追加であるか否かを判断する（ステップＳ１４０５）。語尾の追加である場合（ステップＳ１４０５：Ｙｅｓ）、生成装置１０００は、語幹辞書７００から物質名の語幹を特定して（ステップＳ１４０６）、ステップＳ１４０７に移行する。
【００７６】
一方、生成装置１０００は、ステップＳ１４０５において語尾の追加でない場合（ステップＳ１４０５：Ｎｏ）、語頭の追加になるため、ステップＳ１４０７に移行する。ステップＳ１４０７では、語尾または語頭を追加することで、生成装置１０００は、部分名を生成し（ステップＳ１４０７）、ステップＳ１４０１に戻る。ステップＳ１４０１において、適用条件がマッチするルールがない場合（ステップＳ１４０１：Ｎｏ）、生成装置１０００は、示性式部品化ルール適用処理（ステップＳ１３０２）で得られた部分名とその部分示性式の組を部分示性式ＤＢ８００に登録する（ステップＳ１３０３）。なお、ステップＳ１４０４〜Ｓ１４０７の処理は、対象となる物質名が部分名である場合も同様である。このようにして、示性式部品化ルール適用処理（ステップＳ１３０２）により、部分名とその部分示性式が生成されることになる。
【００７７】
＜示性式部品化処理（その２）＞
図１５は、図１２に示した示性式部品化処理（ステップＳ１２０３）の詳細な処理手順を示すフローチャート（その２）である。図１３との違いは、示性式部品化ルール適用処理（ステップＳ１３０２）で得られた部分示性式が、文書情報ＤＢ１０２０に存在するか否かを確認する点である。生成された部分示性式が文書情報ＤＢ１０２０に存在していれば、客観的に有用な示性式であることがわかるため、生成装置１０００は、そのような部分示性式とその部分名の組についてのみ部分示性式ＤＢ８００に登録することになる。なお、図１３と同一ステップには同一ステップ番号を付し、その説明を省略する。
【００７８】
生成装置１０００は、示性式部品化ルール適用処理（ステップＳ１３０２）のあと、示性式部品化ルール適用処理（ステップＳ１３０２）で得られた部分示性式が、文書情報ＤＢ１０２０を検索し、文書情報ＤＢ１０２０に存在するか否かを判断する（ステップＳ１５００）。存在する場合（ステップＳ１５００：Ｙｅｓ）、生成装置１０００は、ステップＳ１３０３に移行して、示性式部品化ルール適用処理（ステップＳ１３０２）で得られた部分名とその部分示性式の組を部分示性式ＤＢ８００に登録する（ステップＳ１３０３）。
【００７９】
一方、存在しない場合（ステップＳ１５００：Ｎｏ）、部分示性式ＤＢ８００に登録せずに、示性式部品化処理を終了する。このようにして、示性式部品化処理（ステップＳ１２０３）により、再帰的に生成された部分示性式のうち文書情報ＤＢ１０２０に存在する部分示性式とその部分名の組が部分示性式ＤＢ８００に登録されることになる。
【００８０】
＜連結示性式生成処理＞
図１６は、連結示性式生成処理手順を示すフローチャートである。生成装置１０００は、文書情報ＤＢ１０２０内の文書情報を読み込み（ステップＳ１６０１）、該当箇所の切り出しをおこなう（ステップＳ１６０２）。たとえば、生成装置１０００は、文書情報から書誌的事項やＸＭＬのタグの削除をおこなう。
【００８１】
つぎに、生成装置１０００は、切り出し後の文書情報から物質名の文字列があるか否かを判断する（ステップＳ１６０３）。たとえば、所定文字数カタカナが連続している場合は、生成装置１０００は、そのカタナカ文字列を物質名の文字列とみなす。そして、物質名の文字列があると判断された場合（ステップＳ１６０３：Ｙｅｓ）、生成装置１０００は、当該物質名の文字列を文書情報から抽出する（ステップＳ１６０４）。抽出された物質名の文字列を「抽出文字列」と称す。このあと、生成装置１０００は、抽出文字列分割処理を実行する（ステップＳ１６０５）。抽出文字列分割処理（ステップＳ１６０５）とは、抽出文字列を２以上の部分名に分割する処理である。抽出文字列分割処理（ステップＳ１６０５）の詳細については図１７で後述する。
【００８２】
抽出文字列分割処理（ステップＳ１６０５）のあと、生成装置１０００は、分割された部分名のうち未選択の部分名があるか否かを判断する（ステップＳ１６０６）。未選択の部分名がある場合（ステップＳ１６０６：Ｙｅｓ）、生成装置１０００は、未選択の部分名を１つ選択する（ステップＳ１６０７）。選択された部分名を「選択部分名」と称す。
【００８３】
生成装置１０００は、選択部分名の部分示性式を部分示性式ＤＢ８００から検索して（ステップＳ１６０８）、ステップＳ１６０６に戻る。ステップＳ１６０６において、未選択の部分名がない場合（ステップＳ１６０６：Ｎｏ）、生成装置１０００は、検索で得られた部分示性式を連結して、連結示性式を生成する（ステップＳ１６０９）。
【００８４】
連結示性式の生成後は、ステップＳ１６０３に戻り、生成装置１０００は、再度物質名の文字列があるか否かを判断することになる（ステップＳ１６０３）。そして、ステップＳ１６０３において、物質名の文字列がない場合（ステップＳ１６０３：Ｎｏ）、生成装置１０００は、これまでに得られた連結示性式を出力する（ステップＳ１６１０）。これにより、連結示性式生成処理の一連の処理を終了する。このようにして、文書情報から連結示性式が得られることになる。
【００８５】
＜抽出文字列分割処理＞
図１７は、図１６に示した抽出文字列分割処理（ステップＳ１６０５）の詳細な処理手順を示すフローチャートである。まず、生成装置１０００は、部分示性式ＤＢ８００に未選択の部分名があるか判断する（ステップＳ１７０１）。未選択の部分名がある場合（ステップＳ１７０１：Ｙｅｓ）、生成装置１０００は、部分示性式ＤＢ８００から未選択の部分名を１つ選択する（ステップＳ１７０２）。選択された部分名を「選択部分名」と称す。
【００８６】
そして、生成装置１０００は、選択部分名が抽出文字列に含まれているか否かを判断する（ステップＳ１７０３）。たとえば、生成装置１０００は、抽出文字列の先頭からの最長一致検索をおこなうことにより判断する。たとえば、選択部分名が「メトキシ」、抽出文字列が「メトキシプロパノール」である場合、最長一致した選択部分名「メトキシ」が抽出文字列「メトキシプロパノール」に含まれている。含まれていない場合（ステップＳ１７０３：Ｎｏ）、生成装置１０００はあらたに部分名を選択するため、ステップＳ１７０１に戻る。
【００８７】
一方、含まれている場合（ステップＳ１７０３：Ｙｅｓ）、生成装置１０００は、選択部分名を抽出文字列の分割部分名として保持する（ステップＳ１７０４）。上述の場合、選択部分名「メトキシ」を分割部分名として保持する。このあと、生成装置１０００は、選択部分名を除いた残余文字列をあらたに抽出文字列に設定する（ステップＳ１７０５）。たとえば、上述の場合、生成装置１０００は、抽出文字列「メトキシプロパノール」から選択部分名「メトキシ」を除いた残余文字列「プロパノール」をあらたに抽出文字列に設定する。そして、ステップＳ１７０１に戻る。
【００８８】
このようにして、抽出文字列がなくなるまでステップＳ１７０１〜Ｓ１７０５を繰り返すことになる。上述の場合、あらたな抽出文字列「プロパノール」について、選択文字列として「プロパノール」が出現した場合、選択文字列「プロパノール」は抽出文字列「プロパノール」に含まれる。したがって、生成装置１０００は、選択文字列「プロパノール」を分割部分名として保持する。一方、部分示性式ＤＢ８００に「プロパノール」が登録されていない場合、抽出文字列「プロパノール」は、分割部分名として保持されないことになる。
【００８９】
このあと、ステップＳ１７０１において、未選択の部分名がない場合（ステップＳ１７０６：Ｎｏ）、生成装置１０００は分割成功か否かを判断する（ステップＳ１７０６）。たとえば、分割部分名として保持されていない抽出文字列が残ってない場合は、分割部分名が複数保持されているため、分割成功となる。上述の例では、「プロパノール」が分割部分名として保持された場合は、抽出文字列が残らなくなるため、生成装置１０００は分割成功と判断する。一方、「プロパノール」が分割部分名として保持されなかった場合は、「プロパノール」が抽出文字列として残るため、生成装置１０００は分割失敗と判断する。
【００９０】
分割成功の場合（ステップＳ１７０６：Ｙｅｓ）、生成装置１０００は、保持された分割部分名を関連付けて保存する（ステップＳ１７０７）。そして、ステップＳ１６０６に移行し、関連付けられた分割部分名は、ステップＳ１６０６での選択対象となる。一方、分割失敗の場合（ステップＳ１７０６：Ｎｏ）、ステップＳ１６０４での抽出文字列では分割できなかったことになるため、ステップＳ１６０３に移行し、生成装置１０００は、別の物質名の文字列があるか否かを判断することになる。このようにして、抽出文字列分割処理（ステップＳ１６０５）では、生成装置１０００は、物質名の文字列を複数の部分名に分割することができる。
【００９１】
なお、生成装置１０００は、図１６に示した連結示性式生成処理で生成される連結示性式の出現回数を計数し、ランキング表示することとしてもよい。以下、図１８および図１９を用いて詳細に説明する。
【００９２】
図１８は、ランキング表示する場合の連結示性式群の生成処理手順を示すフローチャートである。まず、生成装置１０００は、文書情報ＤＢ１０２０から未選択の文書情報があるか否かを判断する（ステップＳ１８０１）。未選択の文書情報がある場合（ステップＳ１８０１：Ｙｅｓ）、未選択の文書情報を１つ選択する（ステップＳ１８０２）。そして、生成装置１０００は、連結示性式生成処理を実行する（ステップＳ１８０３）。連結示性式生成処理（ステップＳ１８０３）は、図１６に示したように、連結示性式を生成する処理である。詳細は、図１９で説明する。
【００９３】
連結示性式生成処理（ステップＳ１８０３）の後、ステップＳ１８０１に戻る。ステップＳ１８０１において、未選択の文書情報がない場合（ステップＳ１８０１：Ｎｏ）、生成装置１０００は、ランキング情報を出力する（ステップＳ１８０４）。これにより、一連の処理を終了する。
【００９４】
図１９は、図１８に示した連結示性式生成処理（ステップＳ１８０３）の詳細な処理手順を示すフローチャートである。なお、図１６と同一ステップには同一ステップ番号を付し、その説明を省略する。図１６との違いは、ステップＳ１６０９において、連結示性式を生成したあと、生成した連結示性式についてランキング情報を更新する点である。
【００９５】
生成装置１０００は、ステップＳ１６０９のあと、ランキング情報を更新する（ステップＳ１９００）。ランキング情報とは、図１１に示した計数結果のことである。具体的には、たとえば、生成装置１０００は、生成された部分示性式がランキング情報に未登録の場合は登録し、出願回数を「１」とする。
【００９６】
また、登録済みの場合は、生成装置１０００は、ランキング情報において、該当する部分示性式の出現回数をインクリメントする。ステップＳ１９００のあと、ステップＳ１６０３に戻り、生成装置１０００は、物質名の文字列があるかを判断することになる。そして、物質名の文字列がない場合（ステップＳ１６０３：Ｎｏ）、図１８のステップＳ１８０１に移行する。これにより、最終的に図１１に示したようなランキング情報が出力される。これにより、ユーザは、連結示性式ごとの出現回数の多さを参照することで、文書情報からは知ることができなかった抽出物質名の示性式がどのくらい有用であるかを把握することができる。
【００９７】
以上説明したように、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、化学反応のルールを適用することにより、化学式から派生した化学式の生成精度の向上を図ることができる。
【００９８】
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、生成された化学式についてさらにルールを適用することで、化学式とその部分名を再帰的に生成することができる。したがって、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、データベースに依存することなく、多種多様な化学式を生成することができる。
【００９９】
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、ルールが適用されて生成された化学式とその部分名の組をデータベースに登録することにより、データベースを自動的に生成することができる。
【０１００】
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、再帰的に生成された化学式とその部分名をデータベースに登録することにより、データベースへの登録種類数の増加を図ることができる。
【０１０１】
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、データベースに新規登録された場合のみ再帰的な生成対象とすることにより、重複登録を抑制して、データベースの省メモリ化を図ることができる。
【０１０２】
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、生成された化学式または当該化学式を含む化学式の存在を、文書情報の中から特定することにより、有用な化学式についてデータベースに蓄積していくことができる。
【０１０３】
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、文書情報からの抽出物質名を分割して、分割した物質名とその化学式の組ごとに、ルールの適用をおこなってあらたな物質名とその化学式を生成する。したがって、ユーザは、目的とする文書情報を与えることにより、文書情報からの抽出物質名に由来する化学式やその物質名を知ることができる。
【０１０４】
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、文書情報からの抽出物質名を分割して、分割した物質名ごとに対応する化学式をデータベースから検索することにより、検索された化学式を連結した連結化学式を生成することができる。
【０１０５】
具体的には、化学物質の場合、分子同士が結合する時に外れる原子などがあり、単純に部分々々の示性式を組み合わせても正しい示性式が生成できるとは限らない。たとえば、メトキシの示性式「ＣＨ３Ｏ」であり、プロパノールの示性式が「ＣＨ３ＣＨ（ＯＨ）ＣＨ３」である。そして、単純にメトキシプロパノールの示性式を生成しようとすると「ＣＨ３ＯＣＨ３ＣＨ(ＯＨ)ＣＨ３」となるが、これは誤りである。正しくは「ＣＨ３ＯＣＨ２ＣＨ(ＯＨ)ＣＨ３」である。
【０１０６】
したがって、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、単に示性式を結合させるのではなく、化学反応に応じたルールに従って部分示性式を生成することにより、連結示性式の生成精度の向上を図ることができる。またこれにより、ユーザは、物質名と示性式との対応関係がわからない場合でも、多様な部分示性式を生成し連結することで、目的の物質の示性式を得ることができる。
【０１０７】
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、連結化学式の出現回数を計数してランキング化することにより、ユーザはどの連結化学式が有用であるか、存在しうるかなどの指標として用いることができる。
【０１０８】
このように、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、部分々々の示性式を組み合わせることができる。これにより、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、明示的に示性式が書かれていない物質についても示性式を得ることができ、特許文書などの文書情報を読む人の理解を助けることができる。
【０１０９】
また、通常の物質名では、意味のある物質名の切れ方がわからないが、本実施の形態にかかる生成装置、生成方法、および生成プログラムを利用することで、１つの物質名を意味のある単位に分割し、部分的な示性式も生成することができる。これにより、ユーザは、物質の成り立ち方や部分的な性質を知ることができるようになる。例えば、「メトシキプロパノール」は「メトシキ基」と「プロパノール」が結合してできているということがわかる。
【０１１０】
なお、本実施の形態で説明した生成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本生成プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本生成プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１１１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１１２】
（付記１）物質名および当該物質名の化学式を取得する取得部と、
適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出する抽出部と、
前記取得部によって取得された化学式が、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断する判断部と、
前記判断部によって満たすと判断された場合、前記化学式および前記物質名を前記変換内容にしたがって変換する変換部と、
を有することを特徴とする生成装置。
【０１１３】
（付記２）前記抽出部は、
前記変換部による変換済みの化学式および物質名について、ルール群の中からいずれかのルールを抽出し、
前記判断部は、
前記変換部による変換済みの化学式が、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記変換部は、
前記判断部によって満たすと判断された場合、前記変換部による変換済みの化学式および物質名を前記変換内容にしたがって変換することを特徴とする付記１に記載の生成装置。
【０１１４】
（付記３）前記変換済みの化学式および物質名をデータベースに登録する登録部を有することを特徴とする付記１に記載の生成装置。
【０１１５】
（付記４）前記抽出部は、
前記変換部による変換済みの化学式および物質名について、前記ルール群の中からいずれかのルールを抽出し、
前記判断部は、
前記変換部による変換済みの化学式が、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記変換部は、
前記判断部によって満たすと判断された場合、前記変換部による変換済みの化学式および物質名を前記変換内容にしたがって変換し、
前記登録部は、
前記変換部による変換済みの化学式および物質名を前記データベースに登録することを特徴とする付記３に記載の生成装置。
【０１１６】
（付記５）前記変換済みの化学式および物質名が前記登録部において新規登録された化学式および物質名であるか否かを判定する判定部を有し、
前記抽出部は、
前記判定部によって新規登録であると判定された場合、前記変換部による変換済みの化学式および物質名について、前記ルール群の中からいずれかのルールを抽出することを特徴とする付記４に記載の生成装置。
【０１１７】
（付記６）文書情報の中に前記変換済みの化学式または当該化学式を含む化学式が存在をするかを特定する特定部を有し、
前記登録部は、
前記特定部によって前記変換済みの化学式または当該化学式を含む化学式の存在が特定された場合、前記変換済みの化学式および物質名を前記データベースに登録することを特徴とする付記３〜５のいずれか一つに記載の生成装置。
【０１１８】
（付記７）文書情報から物質名と見なす文字列を抽出物質名として抽出し、前記データベースから該抽出をした抽出物質名と最長一致する第１の物質名を抽出し、該抽出物質名から該第１の物質名を除いた残余の文字列から、当該残余の文字列と一致する前記データベース内の第２の物質名を抽出することにより、前記抽出物質名を前記第１の物質名と前記第２の物質名とに分割する分割部を有し、
前記取得部は、
物質名と該物質名に関する化学式とを対応付けて持つ辞書を参照して、前記第１の物質名の第１の化学式と、前記第２の物質名の第２の化学式と、を取得し、
前記抽出部は、
前記第１の物質名および前記第１の物質名の第１の化学式と前記第２の物質名および前記第２の物質名の第２の化学式のそれぞれについて、前記ルール群の中からいずれかのルールを抽出し、
前記判断部は、
前記第１の化学式と前記第２の化学式のそれぞれについて、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記変換部は、
前記第１の物質名および前記第１の物質名の第１の化学式と前記第２の物質名および前記第２の物質名の第２の化学式のそれぞれについて、前記判断部によって満たすと判断された場合、前記変換内容にしたがって変換し、
前記登録部は、
前記第１の物質名および前記第１の物質名の第１の化学式と前記第２の物質名および前記第２の物質名の第２の化学式のそれぞれについて、前記変換部による変換済みの化学式および物質名を前記データベースに登録することを特徴とする付記３〜６のいずれか一つに記載の生成装置。
【０１１９】
（付記８）文書情報からの抽出物質名から、当該抽出物質名と一致する前記データベース内の第１の物質名を抽出し、前記抽出物質名から前記第１の物質名を除いた残余の文字列から、当該残余の文字列と一致する前記データベース内の第２の物質名を抽出することにより、前記抽出物質名を前記第１の物質名と前記第２の物質名とに分割する分割部と、
前記分割部によって分割された第１の物質名の第１の化学式を前記データベースから検索するとともに、前記分割部によって分割された第２の物質名の第２の化学式を前記データベースから検索する検索部と、
前記検索部によって検索された前記第１の化学式および前記第２の化学式を連結した連結化学式を生成する生成部と、
を有することを特徴とする３〜６のいずれか一つに記載の生成装置。
【０１２０】
（付記９）前記文書情報において前記生成部によって生成された連結化学式の出現回数を計数し、出現回数順に各連結化学式をソートする計数部と、
前記計数部によって計数された出現回数順の各連結化学式を出力する出力部と、
を有することを特徴とする付記８に記載の生成装置。
【０１２１】
（付記１０）前記変換部は、
前記物質名についての前記変換内容が、特定の語頭の追加を規定した変換内容である場合、前記物質名に前記特定の語頭を追加することを特徴とする付記１〜９のいずれか一つに記載の生成装置。
【０１２２】
（付記１１）前記変換部は、
前記物質名についての前記変換内容が、特定の語尾の追加を規定した変換内容である場合、前記物質名の語幹に前記特定の語尾を追加することを特徴とする付記１〜９のいずれか一つに記載の生成装置。
【０１２３】
（付記１２）コンピュータが、
物質名および当該物質名の化学式を取得し、
適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出し、
取得された化学式が、抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記判断によって満たすと判断された場合、前記化学式および前記物質名を前記変換内容にしたがって変換する、
ことを特徴とする生成方法。
【０１２４】
（付記１３）物質名および当該物質名の化学式を取得し、
適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出し、
取得された化学式が、抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記判断によって満たすと判断された場合、前記化学式および前記物質名を前記変換内容にしたがって変換する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
【符号の説明】
【０１２５】
２００  ルールＤＢ
６００  示性式辞書
７００  語幹辞書
８００  部分示性式ＤＢ
１０００  生成装置
１００１  取得部
１００２  抽出部
１００３  判断部
１００４  変換部
１００５  出力部
１００６  登録部
１００７  判定部
１００８  特定部
１００９  分割部
１０１０  検索部
１０１１  生成部
１０１２  計数部
１０２０  文書情報ＤＢ
【図１】
0005741386.tif 000002
【図２】
0005741386.tif 000003
【図３】
0005741386.tif 000004
【図４】
0005741386.tif 000005
【図５】
0005741386.tif 000006
【図６】
0005741386.tif 000007
【図７】
0005741386.tif 000008
【図８】
0005741386.tif 000009
【図９】
0005741386.tif 000010
【図１０】
0005741386.tif 000011
【図１１】
0005741386.tif 000012
【図１２】
0005741386.tif 000013
【図１３】
0005741386.tif 000014
【図１４】
0005741386.tif 000015
【図１５】
0005741386.tif 000016
【図１６】
0005741386.tif 000017
【図１７】
0005741386.tif 000018
【図１８】
0005741386.tif 000019
【図１９】
0005741386.tif 000020