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