(57)【特許請求の範囲】
【請求項１】
化合物の母核となる部分構造の名称を記憶する記憶部を参照して、構造式の生成対象となる対象化合物の化合物名の中から、前記対象化合物の母核となる部分構造の名称を表す文字列を検出する検出部と、
前記対象化合物の化合物名のうち前記検出部によって検出された前記対象化合物の母核を表す文字列を除く残余の文字列の中から、前記対象化合物の置換基となる部分構造の名称を表す文字列を抽出する抽出部と、
前記対象化合物の母核を表す文字列と、前記抽出部によって抽出された前記対象化合物の置換基を表す文字列とを関連付ける関連付け部と、
前記関連付け部によって関連付けられた関連付け結果を出力する出力部と、
を有することを特徴とする情報提供装置。
【請求項２】
前記対象化合物の置換基を表す文字列に基づいて、前記対象化合物の置換基が別の置換基を含む複合置換基か否かを判定する判定部と、
前記判定部によって前記複合置換基であると判定された場合、前記対象化合物の置換基を表す文字列を前記対象化合物の化合物名に設定する設定部と、をさらに有し、
前記検出部は、
前記記憶部を参照して、前記設定部によって設定された前記対象化合物の化合物名の中から前記対象化合物の母核となる部分構造の名称を表す文字列を検出することを特徴とする請求項１に記載の情報提供装置。
【請求項３】
前記関連付け部は、
さらに、前記検出部によって検出された前記対象化合物の母核を表す文字列と、前記複合置換基であると判定された置換基を表す文字列とを関連付けることを特徴とする請求項２に記載の情報提供装置。
【請求項４】
前記記憶部に、化合物の母核となる部分構造の名称と前記母核の構造式とが対応付けて記憶されている場合、前記記憶部を参照して前記検出部によって検出された前記対象化合物の母核を表す文字列に対応する構造式を特定する特定部をさらに有し、
前記関連付け部は、
さらに、前記対象化合物の母核を表す文字列と、前記特定部によって特定された前記対象化合物の母核の構造式と、を関連付けることを特徴とする請求項１〜３のいずれか一つに記載の情報提供装置。
【請求項５】
前記特定部は、
前記記憶部に、化合物の置換基となる部分構造の名称と前記置換基の構造式とが対応付けて記憶されている場合、前記記憶部を参照して前記抽出部によって抽出された前記対象化合物の置換基を表す文字列に対応する構造式を特定し、
前記関連付け部は、
さらに、前記対象化合物の置換基を表す文字列と、前記特定部によって特定された前記対象化合物の置換基の構造式と、を関連付けることを特徴とする請求項４に記載の情報提供装置。
【請求項６】
前記抽出部は、
さらに、前記残余の文字列の中から、前記対象化合物の置換基が結合する前記対象化合物の母核の結合位置を表す文字列を抽出し、
前記関連付け部は、
さらに、前記対象化合物の置換基を表す文字列と、前記結合位置を表す文字列と、を関連付けることを特徴とする請求項５に記載の情報提供装置。
【請求項７】
前記対象化合物は、炭素を構造の基本骨格に持つ化合物であり、
前記結合位置を表す文字列に基づいて、前記対象化合物の母核の構造式の中から、前記対象化合物の母核に含まれる炭素のうち前記対象化合物の置換基が結合する炭素に結合している水素の元素数を修正する修正部をさらに有し、
前記関連付け部は、
さらに、前記対象化合物の母核を表す文字列と、前記修正部によって前記水素の元素数が修正された修正後の前記対象化合物の母核の構造式と、を関連付けることを特徴とする請求項６に記載の情報提供装置。
【請求項８】
前記対象化合物の化合物名は、置換命名法により命名された化合物名であることを特徴とする請求項１〜７のいずれか一つに記載の情報提供装置。
【請求項９】
コンピュータに、
化合物の母核となる部分構造の名称を記憶する記憶部を参照して、構造式の生成対象となる対象化合物の化合物名の中から、前記対象化合物の母核となる部分構造の名称を表す文字列を検出し、
前記対象化合物の化合物名のうち、検出した前記対象化合物の母核を表す文字列を除く残余の文字列の中から、前記対象化合物の置換基となる部分構造の名称を表す文字列を抽出し、
前記対象化合物の母核を表す文字列と、抽出した前記対象化合物の置換基を表す文字列とを関連付け、
関連付けた関連付け結果を出力する、
処理を実行させることを特徴とする情報提供プログラム。
【請求項１０】
コンピュータが、
化合物の母核となる部分構造の名称を記憶する記憶部を参照して、構造式の生成対象となる対象化合物の化合物名の中から、前記対象化合物の母核となる部分構造の名称を表す文字列を検出し、
前記対象化合物の化合物名のうち、検出した前記対象化合物の母核を表す文字列を除く残余の文字列の中から、前記対象化合物の置換基となる部分構造の名称を表す文字列を抽出し、
前記対象化合物の母核を表す文字列と、抽出した前記対象化合物の置換基を表す文字列とを関連付け、
関連付けた関連付け結果を出力する、
処理を実行することを特徴とする情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報提供装置、情報提供プログラムおよび情報提供方法に関する。
【背景技術】
【０００２】
化学系や薬学系などの特許文献や学術論文などの文書において、化合物の化合物名のみが示されている場合がある。ところが、化合物の化合物名から、例えば、化合物の全体構造や化合物の化学的属性、化学反応性などに注目した原子団を把握することが困難な場合がある。
【０００３】
従来、分子名から化学構造式を推定する技術がある。具体的には、例えば、不完全な記述の分子名を入力するための手段と、入力された分子名から化学構造式を推定する手段と、推定した化学構造式から分子名を決定する手段とを具備したシステムが開示されている（例えば、下記特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０１−１４２８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術によれば、化合物の化合物名に含まれる各々の原子団の名称を区別することができず、化合物に含まれる原子団同士の接続関係を特定することができない場合があるという問題がある。
【０００６】
本発明は、上述した従来技術による問題点を解消するため、化合物の化合物名から、化合物の母核と置換基との関係を特定することができる情報提供装置、情報提供プログラムおよび情報提供方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、化合物の母核となる部分構造の名称を記憶する記憶部を参照して、構造式の生成対象となる対象化合物の化合物名の中から、前記対象化合物の母核となる部分構造の名称を表す文字列を検出し、前記対象化合物の化合物名のうち、検出した前記対象化合物の母核を表す文字列を除く残余の文字列の中から、前記対象化合物の置換基となる部分構造の名称を表す文字列を抽出し、前記対象化合物の母核を表す文字列と、抽出した前記対象化合物の置換基を表す文字列とを関連付け、関連付けた関連付け結果を出力する情報提供装置、情報提供プログラムおよび情報提供方法が提案される。
【発明の効果】
【０００８】
本発明の一側面によれば、化合物の化合物名から、化合物の母核と置換基との関係を特定することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる情報提供方法の一実施例を示す説明図である。
【図２】図２は、情報提供システム２００のシステム構成例を示す説明図である。
【図３】図３は、情報提供装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、構造解析ルールＤＢ２２０の記憶内容の一例を示す説明図である。
【図５】図５は、構造式ＤＢ２３０の記憶内容の一例を示す説明図である。
【図６】図６は、階層構造テーブル２４０のデータ構造の一例を示す説明図である。
【図７】図７は、情報提供装置１００の機能的構成を示すブロック図である。
【図８】図８は、階層構造テーブル２４０の記憶内容の変遷例を示す説明図（その１）である。
【図９】図９は、階層構造テーブル２４０の記憶内容の変遷例を示す説明図（その２）である。
【図１０】図１０は、階層構造テーブル２４０の記憶内容の変遷例を示す説明図（その３）である。
【図１１】図１１は、階層構造テーブル２４０の記憶内容の変遷例を示す説明図（その４）である。
【図１２】図１２は、階層構造テーブル２４０の記憶内容の変遷例を示す説明図（その５）である。
【図１３】図１３は、階層構造テーブル２４０の記憶内容の変遷例を示す説明図（その６）である。
【図１４】図１４は、対象化合物の構造式の表示例を示す説明図である。
【図１５】図１５は、複数の対象化合物の構造式の表示例を示す説明図である。
【図１６】図１６は、情報提供装置１００の情報提供処理手順の一例を示すフローチャートである。
【図１７】図１７は、構造式登録処理の具体的処理手順の一例を示すフローチャートである。
【図１８】図１８は、母核構造式登録処理の具体的処理手順の一例を示すフローチャート（その１）である。
【図１９】図１９は、母核構造式登録処理の具体的処理手順の一例を示すフローチャート（その２）である。
【図２０】図２０は、置換基構造式登録処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかる情報提供装置、情報提供プログラムおよび情報提供方法の実施の形態を詳細に説明する。
【００１１】
（化合物の命名法）
まず、本実施の形態において使用する化合物の命名法について説明する。ここで、化合物とは、２種類以上の元素からできている化学物質のことである。化合物は、例えば、有機化合物と無機化合物とに分類される。
【００１２】
有機化合物は、炭素原子を構造の基本骨格に持つ化合物の総称である。有機化合物は、分子構造の違いによって、例えば、直鎖炭化水素、芳香族炭化水素、脂環式炭化水素などに分類することができる。なお、骨格を形成する炭素以外の元素として、ケイ素や酸素があり、無機分子と呼ばれる。
【００１３】
また、無機化合物は、有機化合物以外の化合物であり、炭素以外の元素で構成される化合物である。ただし、炭素化合物のうち、例えば、炭素の同素体（例えば、グラファイト、ダイヤモンド）や二酸化炭素は、無機化合物に分類される。以下の説明では、化合物として有機化合物を例に挙げて説明する。
【００１４】
有機化合物は、例えば、炭素骨格の長さや分岐により多様な構造をとる。炭素骨格は、有機化合物において炭素同士が結合している部分である。炭素骨格の長さは、炭素の数によって表される。また、有機化合物は、窒素（Ｎ）、酸素（Ｏ）、硫黄（Ｓ）、燐（Ｐ）、ハロゲン（Ｆ、Ｃｌ、Ｂｒ、Ｉ）などが炭素に結合した多様な官能基が生成される。官能基は、有機化合物のおおよその性質を決める原子団である。
【００１５】
ここで、有機化合物の化合物名は、例えば、ＩＵＰＡＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｕｎｉｏｎ  ｏｆ  Ｐｕｒｅ  ａｎｄ  Ａｐｐｌｉｅｄ  Ｃｈｅｍｉｓｔｒｙ）が定める命名法によって命名される。ＩＵＰＡＣが定める命名法としては、例えば、置換命名法、基官能命名法、付加命名法、減去命名法、接合命名法、代置命名法などがある。
【００１６】
本実施の形態では、有機化合物の化合物名が、ＩＵＰＡＣが定める置換命名法（ｓｕｂｓｔｉｔｕｔｅ  ｎｏｍｅｎｃｌａｔｕｒｅ）によって命名されている場合を想定する。置換命名法において、有機化合物の化合物名は、例えば「結合位置−接頭語−（語頭＋語幹＋語尾）」という形式で表現される。
【００１７】
また、置換命名法において、（語頭＋語幹＋語尾）は「母核」と呼ばれ、接頭語は「置換基」と呼ばれる。すなわち、置換命名法では、有機化合物の化合物名は、例えば、「置換基＋母核」というルールのもと記述される。母核および置換基は、化合物の部分構造を表す原子団である。
【００１８】
置換基は、有機化合物の系統や命名に使う部分構造であり、母核と対になって使用される概念である。また、母核と置換基は、母核を「親」、置換基を「子」とする親子関係にある。結合位置は、母核の何番目の炭素に置換基が結合しているのかを表している。ただし、結合位置は省略されている場合がある。
【００１９】
また、置換基の中に別の置換基を持つものは「複合置換基」と呼ばれる。複合置換基には、置換基と母核とが含まれる。すなわち、有機化合物の化合物名は、子の中に別の親子関係が存在するという複数世代の親子関係を含む場合がある。有機化合物の化合物名において、複合置換基を表す文字列は、例えば、括弧やかぎ括弧で囲まれている。
【００２０】
本実施の形態では、各世代の親子関係を「１階層」とし、複数世代の親子関係を「階層構造」と表現する場合がある。また、最上位の階層を「第１階層」と表記し、階層が下位になるにしたがって順に「第２階層」、「第３階層」、…、「第ｎ階層」と表記する（ｎ：１以上の自然数）。また、第１〜第ｎ階層のうち任意の階層を「第ｉ階層」と表記する（ｉ＝１，２，…，ｎ）。
【００２１】
第ｉ階層には、１つの母核と、１つ以上の置換基が含まれる。ここでは、第ｉ階層に含まれる１つ以上の置換基を「第１置換基」、「第２置換基」、…、「第ｍ置換基」と表記する（ｍ：１以上の自然数）。また、第１〜第ｍ置換基のうち任意の置換基を「第ｊ置換基」と表記する（ｊ＝１，２，…，ｍ）。
【００２２】
なお、第ｉ階層に含まれる１つ以上の置換基の番号（１，２，…，ｍ）を、どのような順序で付けるかは任意である。例えば、各置換基の名称のアルファベット順に番号を付けてもよく、また、各置換基が結合する母核の炭素の番号が若い順に番号を付けてもよい。
【００２３】
ここで、有機化合物の化合物名として『２−（３−メチル−４−ヒドロキシフェニル）プロパン』を例に挙げて説明する。この化合物名において、第１階層の母核は「プロパン」、第１置換基は「３−メチル−４−ヒドロキシフェニル」、第１置換基の結合位置は「２」である。
【００２４】
また、第１置換基は括弧で囲まれている複合置換基である。このため、この化合物名には第２階層が存在する。具体的には、第２階層の母核は「フェニル」、第１置換基は「メチル」、第１置換基の結合位置は「３」、第２置換基は「ヒドロキシ」、第２置換基の結合位置は「４」である。第２階層を構成する複合置換基では、表記上、第１階層の母核に近い置換基が親、すなわち、第２階層の母核となり、母核に遠い置換基が子、すなわち、第２階層の置換基となる。
【００２５】
（情報提供方法の一実施例）
つぎに、実施の形態にかかる情報提供方法の一実施例について説明する。図１は、実施の形態にかかる情報提供方法の一実施例を示す説明図である。図１において、情報提供装置１００は、化合物の構造式を生成するための情報を提供するコンピュータである。構造式とは、化合物内での原子の結合状態を図示した化学式である。
【００２６】
以下、構造式の生成対象となる対象化合物の化合物名として、ある有機化合物の化合物名「ＸＸＸＹＹＹＺＺＺ」を例に挙げて、情報提供装置１００の情報提供処理例について説明する。
【００２７】
（１）情報提供装置１００は、記憶部１１０を参照して、対象化合物の化合物名の中から、対象化合物の母核となる部分構造の名称を表す文字列を検出する。ここで、記憶部１１０は、情報提供装置１００がアクセス可能な記憶装置であり、化合物の母核となる部分構造の名称を記憶している。
【００２８】
具体的には、例えば、置換命名法では母核を表す文字列が最後方にくることを利用して、情報提供装置１００が、対象化合物の化合物名の末尾からｔ（ｔ＝１，２，３，…）文字の文字列と、記憶部１１０に記憶されている各々の名称との一致判定を行う。ここでは、対象化合物の化合物名の末尾から３文字の文字列「ＺＺＺ」、記憶部１１０に記憶されている文字列「ＺＺＺ」と一致する。このため、対象化合物の第１階層の母核を表す文字列「ＺＺＺ」が検出されている。
【００２９】
（２）情報提供装置１００は、対象化合物の化合物名のうち、検出した対象化合物の母核を表す文字列を除く残余の文字列の中から、対象化合物の置換基となる部分構造の名称を表す文字列を抽出する。ここでは、対象化合物の化合物名「ＸＸＸＹＹＹＺＺＺ」のうち、第１階層の母核を表す文字列「ＺＺＺ」を除く残余の文字列「ＸＸＸＹＹＹ」が、第１階層の置換基を表す文字列として抽出されている。
【００３０】
この結果、情報提供装置１００は、第１階層の母核を表す文字列「ＺＺＺ」と、第１階層の置換基を表す文字列「ＸＸＸＹＹＹ」とを関連付ける。これにより、第１階層の母核（親）「ＺＺＺ」と置換基（子）「ＸＸＸＹＹＹ」との親子関係が明らかになる。ここで、第１階層の置換基は、別の置換基を含む複合置換基とする。
【００３１】
（３）情報提供装置１００は、記憶部１１０を参照して、複合置換基を表す文字列の中から、対象化合物の母核を表す文字列を検出する。ここでは、複合置換基を表す文字列の末尾から３文字の文字列「ＹＹＹ」が、記憶部１１０に記憶されている文字列「ＹＹＹ」と一致する。このため、対象化合物の第２階層の母核を表す文字列「ＹＹＹ」が検出されている。
【００３２】
（４）情報提供装置１００は、複合置換基を表す文字列のうち、検出した対象化合物の母核を表す文字列を除く残余の文字列の中から、対象化合物の置換基を表す文字列を抽出する。ここでは、複合置換基を表す文字列「ＸＸＸＹＹＹ」のうち、第２階層の母核を表す文字列「ＹＹＹ」を除く残余の文字列「ＸＸＸ」が、第２階層の置換基を表す文字列として抽出されている。
【００３３】
この結果、情報提供装置１００は、第２階層の母核を表す文字列「ＹＹＹ」と、第２階層の置換基を表す文字列「ＸＸＸ」とを関連付ける。これにより、第２階層の母核（親）「ＹＹＹ」と置換基（子）「ＸＸＸ」との親子関係が明らかになる。また、情報提供装置１００は、第２階層の母核を表す文字列「ＹＹＹ」と、複合置換基であると判定された第１階層の置換基を表す文字列「ＸＸＸＹＹＹ」とを関連付ける。これにより、第１階層と第２階層との階層構造を辿ることができる。
【００３４】
（５）情報提供装置１００は、関連付けた関連付け結果を出力する。関連付け結果によれば、第１および第２階層の母核と置換基との親子関係を特定することができる。また、第２階層の母核と、複合置換基であると判定された第１階層の置換基との関連付けにより、第１階層と第２階層との階層構造を辿ることができる。
【００３５】
この結果、例えば、図１中（６）に示すように、対象化合物の化合物名から、対象化合物に含まれる各々の原子団（母核、置換基）を表す文字列を区別して、原子団同士の階層構造を構築することができる。
【００３６】
このように、情報提供装置１００によれば、対象化合物の化合物名と記憶部１１０に記憶されている母核名とを比較することにより、化合物名の最後方にくる母核を表す文字列を検出することができる。また、情報提供装置１００によれば、化合物名のうち母核を表す文字列を除く残余の文字列の中から置換基を表す文字列を抽出することができる。
【００３７】
これにより、対象化合物の化合物名に含まれる母核を表す文字列と置換基を表す文字列とを区別して、第１階層の母核（親）を表す化合物と置換基（子）を表す化合物との親子関係を特定することができる。
【００３８】
また、情報提供装置１００によれば、置換基が複合置換基の場合、複合置換基を表す文字列と記憶部１１０に記憶されている母核名とを比較することにより、第２階層の母核を表す文字列を検出することができる。また、情報提供装置１００によれば、複合置換基を表す文字列のうち第２階層の母核を表す文字列を除く残余の文字列の中から第２階層の置換基を表す文字列を抽出することができる。
【００３９】
これにより、第２階層の母核（親）を表す化合物と置換基（子）を表す化合物との親子関係を特定することができる。また、情報提供装置１００によれば、第２階層の母核を表す文字列と、複合置換基であると判定された第１階層の置換基を表す文字列とを関連付けることにより、第１階層と第２階層との階層構造を構築することができる。
【００４０】
（情報提供システム２００のシステム構成例）
つぎに、実施の形態にかかる情報提供システム２００のシステム構成例について説明する。図２は、情報提供システム２００のシステム構成例を示す説明図である。図２において、情報提供システム２００は、情報提供装置１００と、複数のクライアント装置２０１（図面では、３台）と、を含む。
【００４１】
情報提供システム２００において、情報提供装置１００およびクライアント装置２０１は、有線または無線のネットワーク２１０を介して接続されている。ネットワーク２１０は、例えば、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などである。
【００４２】
ここで、情報提供装置１００は、構造解析ルールＤＢ（データベース）２２０、構造式ＤＢ２３０および階層構造テーブル２４０を有し、クライアント装置２０１に情報を提供するコンピュータである。なお、構造解析ルールＤＢ２２０、構造式ＤＢ２３０および階層構造テーブル２４０についての詳細な説明は、図４〜図６を用いて後述する。
【００４３】
クライアント装置２０１は、情報提供システム２００のユーザが使用するＰＣ（パーソナル・コンピュータ）、ノートＰＣなどである。例えば、情報提供システム２００において、クライアント装置２０１から情報提供装置１００に対象化合物の化合物名を表すテキストデータが送信されると、対象化合物の構造式を生成するための情報が情報提供装置１００からクライアント端末２０１に送信される。
【００４４】
（情報提供装置１００のハードウェア構成例）
図３は、情報提供装置１００のハードウェア構成例を示すブロック図である。図３において、情報提供装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０８と、ディスプレイ３０９と、キーボード３１０と、マウス３１１と、を有している。また、各構成部はバス３００によってそれぞれ接続されている。
【００４５】
ここで、ＣＰＵ３０１は、情報提供装置１００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００４６】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。
【００４７】
Ｉ／Ｆ３０８は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、Ｉ／Ｆ３０８は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０８には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４８】
ディスプレイ３０９は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ３０９は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４９】
キーボード３１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００５０】
なお、情報提供装置１００は、上述した構成部のうち、例えば、光ディスクドライブ３０６、光ディスク３０７、ディスプレイ３０９、キーボード３１０、マウス３１１などを有していなくてもよい。また、クライアント装置２０１は、上述した情報提供装置１００と同様のハードウェア構成により実現することができる。
【００５１】
（構造解析ルールＤＢ２２０の記憶内容）
つぎに、構造解析ルールＤＢ２２０の記憶内容について説明する。構造解析ルールＤＢ２２０は、例えば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００５２】
図４は、構造解析ルールＤＢ２２０の記憶内容の一例を示す説明図である。図４において、構造解析ルールＤＢ２２０は、ルールＩＤ、ルール名、ルール内容および付記のフィールドを有する。各フィールドに情報を設定することで、ルール情報（例えば、ルール情報４００−１〜４００−８）がレコードとして記憶されている。
【００５３】
ここで、ルールＩＤは、構造解析ルールの識別子である。構造解析ルールは、化合物の構造を解析するための決まりごとを規定したものである。ルール名は、構造解析ルールの名称である。ルール内容は、構造解析ルールの内容である。付記は、構造解析ルールのルール内容の補足である。
【００５４】
ルール情報４００−１を例に挙げると、ルール１のルール名「有機化合物」およびルール内容「親子関係が基本である。親は母核、子は置換基となる。」が示されている。ルール情報４００−１によれば、情報提供装置１００は、有機化合物は親子関係が基本であり、親は母核、子は置換基となることを認識することができる。
【００５５】
また、ルール情報４００−２を例に挙げると、ルール２のルール名「母核」、ルール内容「語頭＋語幹＋語尾の構成である。炭素鎖が第１階層の母核となる。後ろの炭素から番号をつける。」および付記「母核炭素鎖は構造式ＤＢを参照」が示されている。ルール情報４００−２によれば、情報提供装置１００は、母核は語頭＋語幹＋語尾の構成であることを認識することができる。また、情報提供装置１００は、炭素鎖が第１階層の母核となることを認識することができる。また、情報提供装置１００は、炭素番号は後ろの炭素から順に番号をつけることを認識することができる。また、情報提供装置１００は、母核炭素鎖は構造式ＤＢ２３０を参照して特定できることを認識することができる。
【００５６】
（構造式ＤＢ２３０の記憶内容）
つぎに、構造式ＤＢ２３０の記憶内容について説明する。構造式ＤＢ２３０は、例えば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００５７】
図５は、構造式ＤＢ２３０の記憶内容の一例を示す説明図である。図５において、構造式ＤＢ２３０は、化合物ＩＤ、化合物の種類、環フラグ、化合物名、構造式、原子間結合なし構造式および備考のフィールドを有する。各フィールドに情報を設定することで、化合物ごとの構造式情報５１０−１〜５１０−Ｋ，５２０−１〜５２０−Ｐがレコードとして記憶されている。具体的には、構造式情報５１０−１〜５１０−Ｋは、母核を表す化合物の構造式情報である。また、構造式情報５２０−１〜５２０−Ｐは、置換基を表す化合物の構造式情報である。
【００５８】
ここで、化合物ＩＤは、母核または置換基を表す化合物の識別子である。以下の説明では、母核Ｂ１〜ＢＫのうち任意の母核を「母核Ｂｋ」と表記する場合がある（例えば、ｋ＝１，２，…，Ｋ）。また、置換基Ｃ１〜ＣＰのうち任意の置換基を「置換基Ｃｐ」と表記する場合がある（例えば、ｐ＝１，２，…，Ｐ）。
【００５９】
化合物の種類は、母核または置換基を表す化合物の種類である。環フラグは、母核または置換基を表す化合物が環構造であるか否かを示すフラグである。環フラグは、環構造の場合「Ｙｅｓ」、環構造ではない場合「Ｎｏ」となる。化合物名は、母核または置換基を表す化合物の名称である。
【００６０】
構造式は、母核または置換基を表す化合物の構造式である。構造式に含まれる各々の炭素元素には、炭素番号が付されている。原子間結合なし構造式は、構造式から原子間の結合を示す価標を除外したものである。備考は、構造式に関する補足情報である。備考フィールドには、例えば、構造式を略記法で表したものなどが設定される。
【００６１】
構造式情報５１０−１を例に挙げると、母核Ｂ１を表す化合物の種類「直鎖炭化水素」、環フラグ「Ｎｏ」、化合物名「メタン」、構造式「ＣＨ４」および原子間結合なし構造式「ＣＨ４」が示されている。また、構造式「ＣＨ４」に含まれる炭素元素「Ｃ」には炭素番号「１」が付されている。
【００６２】
構造式情報５２０−１を例に挙げると、置換基Ｃ１を表す化合物の環フラグ「Ｎｏ」、化合物名「メチル」、構造式「ＣＨ３−」および原子間結合なし構造式「ＣＨ３−」が示されている。また、構造式「ＣＨ３−」に含まれる炭素元素「Ｃ」には炭素番号「１」が付されている。
【００６３】
なお、図５に示した構造式ＤＢ２３０のデータ構造では、母核Ｂ１〜ＢＫの構造式情報５１０−１〜５１０−Ｋと、置換基Ｃ１〜ＣＰの構造式情報５２０−１〜５２０−Ｐと、を区別して示したが、これに限らない。例えば、第２階層以降は、置換基Ｃ１〜ＣＰも母核となり得るため、構造式ＤＢ２３０において、母核と置換値とを区別することなく、化合物ごとに構造式情報を管理することにしてもよい。
【００６４】
（階層構造テーブル２４０のデータ構造）
つぎに、階層構造テーブル２４０のデータ構造について説明する。階層構造テーブル２４０は、例えば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置により実現される。
【００６５】
図６は、階層構造テーブル２４０のデータ構造の一例を示す説明図である。図６において、階層構造テーブル２４０は、階層名、母核の化合物名、母核の構造式、結合位置、第ｊ置換基の化合物名および第ｊ置換基の構造式のフィールドを有する。各フィールドに情報を設定することで、各階層の階層情報がレコードとして記憶される。なお、図面では、第１置換基および第２置換基のフィールドを表示している。
【００６６】
ここで、階層名は、第ｉ階層の名称である。例えば、第１階層の名称は「第１」である。母核の化合物名は、第ｉ階層の母核を表す化合物の名称である。母核の構造式は、第ｉ階層の母核を表す化合物の構造式である。なお、構造式フィールドには、構造式とともに、構造式に含まれる各々の炭素元素に付されている炭素番号も設定される。
【００６７】
結合位置は、第ｉ階層の母核の何番目の炭素に第ｊ置換基が結合しているのかを表す情報である。第ｊ置換基の化合物名は、第ｉ階層の第ｊ置換基を表す化合物の名称である。第ｊ置換基の構造式は、第ｉ階層の第ｊ置換基を表す化合物の構造式である。なお、初期状態では、階層構造テーブル２４０内の各フィールドには不明フラグ「不明」が設定されている。不明フラグは、各フィールドに設定される情報が不明であることを示している。
【００６８】
（情報提供装置１００の機能的構成例）
つぎに、情報提供装置１００の機能的構成について説明する。図７は、情報提供装置１００の機能的構成を示すブロック図である。図７において、情報提供装置１００は、受付部７０１と、検出部７０２と、抽出部７０３と、特定部７０４と、関連付け部７０５と、修正部７０６と、判定部７０７と、設定部７０８と、生成部７０９と、出力部７１０と、を含む構成である。受付部７０１〜出力部７１０は制御部となる機能であり、具体的には、例えば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０８により、その機能を実現する。また、各機能部の処理結果は、例えば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００６９】
受付部７０１は、構造式の生成対象となる対象化合物の化合物名を受け付ける機能を有する。具体的には、例えば、受付部７０１が、対象化合物の化合物名を表すテキストデータをクライアント装置２０１から受信することにより、対象化合物の化合物名を受け付ける。また、受付部７０１が、図３に示したキーボード３１０やマウス３１１を用いたユーザの操作入力により、対象化合物の化合物名を受け付けることにしてもよい。
【００７０】
また、受付部７０１が、電子文書の中から化合物名を検出することにより、対象化合物の化合物名を受け付けることにしてもよい。電子文書は、例えば、特許文献や論文などの技術文書である。電子文書は、例えば、情報提供装置１００に入力されてＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００７１】
検出部７０２は、構造式ＤＢ２３０を参照して、受け付けられた対象化合物の化合物名の中から、対象化合物の母核となる部分構造の名称を表す文字列を検出する機能を有する。ここで、文字列とは、対象化合物の化合物名において連続する１以上の文字の集合である。上述したように、置換命名法において、化合物の母核を表す文字列は、化合物の化合物名の最後方に記述される。検出部７０２は、この置換命名法の特徴を利用して、対象化合物の化合物名の中から、対象化合物の母核を表す文字列を検出することができる。
【００７２】
具体的には、例えば、検出部７０２が、構造式ＤＢ２３０の中から母核Ｂｋの化合物名を選択する。つぎに、検出部７０２が、選択した母核Ｂｋの化合物名の文字数ｔを特定する。そして、検出部７０２が、対象化合物の化合物名の末尾からｔ文字の文字列と、母核Ｂｋの化合物名とが一致するか否かを判断する。ここで、母核Ｂｋの化合物名と一致する場合、検出部７０２が、対象化合物の化合物名の末尾からｔ文字の文字列を、対象化合物の母核を表す文字列として検出する。
【００７３】
また、例えば、検出部７０２が、「ｔ＝１」として、対象化合物の化合物名の末尾からｔ文字の文字列を検出する。そして、検出部７０２が、構造式ＤＢ２３０の中から、検出したｔ文字の文字列と化合物名が一致する母核Ｂｋを検出する。ここで、母核Ｂｋが検出された場合、検出部７０２が、対象化合物の化合物名の末尾からｔ文字の文字列を、対象化合物の母核を表す文字列として検出する。一方、母核Ｂｋが検出されなかった場合、検出部７０２が、「ｔ」をインクリメントして、対象化合物の化合物名の末尾からｔ文字の文字列を検出することにより処理を繰り返す。なお、「ｔ」が、構造式ＤＢ２３０に登録されている母核を表す化合物の化合物名の最大文字数を超えた場合、対象化合物の母核を表す文字列は非検出となる。
【００７４】
抽出部７０３は、対象化合物の化合物名のうち、検出された対象化合物の母核を表す文字列を除く残余の文字列の中から、対象化合物の置換基となる部分構造の名称を表す文字列を抽出する機能を有する。また、抽出部７０３は、対象化合物の母核を表す文字列を除く残余の文字列の中から、対象化合物の置換基が結合する対象化合物の母核の結合位置を表す文字列を抽出することにしてもよい。
【００７５】
ここで、置換命名法において、化合物の置換基は、例えば「結合位置−置換基」という形式で記述される。そこで、まず、抽出部７０３が、対象化合物の母核を表す文字列を除く残余の文字列を「数字−文字列」の組に分割する。文字列については、括弧に囲まれた部分も一つの文字列とする。そして、抽出部７０３が、各組の文字列を先頭から順番に第１〜第ｍ置換基の名称として抽出する。また、抽出部７０３が、各組の数字を先頭から順番に第１〜第ｍ置換基の結合位置として抽出する。
【００７６】
また、第ｊ置換基を表す文字列に倍数接頭辞が含まれている場合、第ｊ置換基が結合する母核の結合位置を表す文字列は、例えば、「数字，数字−文字列」というようにハイフン（−）の前の数字がカンマ（，）で区切られた形となることがある。ここで、倍数接頭辞とは、置換基の名称の前に付いて、置換基の数を示す接頭語である。
【００７７】
例えば、「ジ」は、置換基が２つであることを示す倍数接頭辞である。また、「トリ」は、置換基が３つであることを示す倍数接頭辞である。この場合、抽出部７０３は、対象化合物の母核を表す文字列を除く残余の文字列を、例えば「数字，数字−文字列」を一組として分割する。すなわち、抽出部７０３が、第ｊ置換基が結合する母核の結合位置を表す文字列として「数字，数字−」を抽出する。
【００７８】
また、抽出部７０３は、置換基を表す文字列に倍数接頭辞が含まれている場合、置換基が結合する母核の結合位置を表す文字列と、置換基を表す文字列とを展開することにしてもよい。ここで、展開とは、倍数接頭辞を用いて集約されていた複数の置換基を各々の置換基に分解することである。
【００７９】
具体的には、例えば、抽出部７０３が、置換基が結合する母核の結合位置を表す文字列に含まれる「数字，」の「，」を「−」に変換する。そして、抽出部７０３が、「，」が「−」に変換された変換後の文字列を「数字−」ごとに分割するとともに、分割後の「数字−」のうち２番目以降の「数字−」の先頭に「−」を追加する。
【００８０】
この結果、１番目の「数字−」が、１番目の置換基が結合する母核の結合位置となる。また、２番目以降の「−数字−」が、それぞれ２番目以降の置換基が結合する母核の結合位置となる。また、各置換基を表す文字列は、展開前の置換基を表す文字列から倍数接頭辞を削除した文字列となる。なお、倍数接頭辞を含む置換基を表す文字列の展開例については、図１２を用いて後述する。
【００８１】
特定部７０４は、構造式ＤＢ２３０を参照して、検出された対象化合物の母核を表す文字列に対応する構造式を特定する機能を有する。具体的には、例えば、特定部７０４が、構造式ＤＢ２３０内の構造式情報５１０−１〜５１０−Ｋの中から、対象化合物の母核を表す文字列が化合物名フィールドに設定されている構造式情報５１０−ｋを特定する。そして、特定部７０４が、構造式情報５１０−ｋの構造式フィールドに設定されている構造式を特定する。これにより、対象化合物の母核を表す化合物の構造式を特定することができる。
【００８２】
また、特定部７０４は、構造式ＤＢ２３０を参照して、抽出された対象化合物の置換基を表す文字列に対応する構造式を特定することにしてもよい。具体的には、例えば、特定部７０４が、構造式ＤＢ２３０内の構造式情報５２０−１〜５２０−Ｐの中から、対象化合物の第ｊ置換基を表す文字列が化合物名フィールドに設定されている構造式情報５２０−ｐを特定する。そして、特定部７０４が、構造式情報５２０−ｐの構造式フィールドに設定されている構造式を特定する。これにより、対象化合物の第ｊ置換基を表す化合物の構造式を特定することができる。
【００８３】
関連付け部７０５は、検出された対象化合物の母核を表す文字列と、抽出された対象化合物の置換基を表す文字列とを関連付ける機能を有する。具体的には、例えば、関連付け部７０５が、対象化合物の母核を表す文字列と、第ｊ置換基を表す文字列とを対応付けて階層構造テーブル２４０に登録する。これにより、階層構造テーブル２４０を参照することにより、対象化合物の母核を表す化合物と置換基を表す化合物との接続関係（親子関係）を特定することができる。
【００８４】
また、関連付け部７０５は、対象化合物の母核を表す文字列と、特定された対象化合物の母核の構造式とを関連付けることにしてもよい。具体的には、例えば、関連付け部７０５が、対象化合物の母核を表す文字列と、対象化合物の母核の構造式とを対応付けて階層構造テーブル２４０に登録する。これにより、階層構造テーブル２４０を参照することにより、対象化合物の母核を表す化合物の構造式を特定することができる。
【００８５】
また、関連付け部７０５は、対象化合物の置換基を表す文字列と、特定された対象化合物の置換基の構造式とを関連付けることにしてもよい。具体的には、例えば、関連付け部７０５が、対象化合物の置換基を表す文字列と、対象化合物の置換基の構造式とを対応付けて階層構造テーブル２４０に登録する。これにより、階層構造テーブル２４０を参照することにより、対象化合物の置換基を表す化合物の構造式を特定することができる。
【００８６】
また、関連付け部７０５は、対象化合物の置換基を表す文字列と、対象化合物の置換基が結合する母核の結合位置を表す文字列とを関連付けることにしてもよい。具体的には、例えば、関連付け部７０５が、対象化合物の置換基を表す文字列と、対象化合物の置換基が結合する母核の結合位置を表す文字列とを対応付けて階層構造テーブル２４０に登録する。これにより、階層構造テーブル２４０を参照することにより、対象化合物の第ｊ置換基が母核の何番目の炭素に結合しているのか特定することができる。なお、階層構造テーブル２４０の記憶内容については、図８〜図１３を用いて後述する。
【００８７】
修正部７０６は、対象化合物の置換基が結合する母核の結合位置を表す文字列に基づいて、対象化合物の母核の構造式の中から、対象化合物の母核に含まれる炭素のうち置換基が結合する炭素に結合している水素の元素数を修正する機能を有する。対象化合物は、例えば、炭素を構造の基本骨格に持つ有機化合物である。また、母核の構造式に含まれる各々の炭素には、表記上の後ろの炭素から順番に炭素番号が付されている。
【００８８】
ここで、対象化合物の置換基が結合する母核の結合位置を表す文字列を「Ｎ」とする。この場合、修正部７０６が、例えば、母核の構造式に含まれる炭素のうち、Ｎ番の炭素番号が付された炭素に結合している水素の元素数を一つ減らす、すなわち、母核の構造式の中から水素を一つ削除する。これにより、母核の構造式のうち置換基の構造式が結合する結合位置の水素を引き抜くことができる。
【００８９】
この場合、関連付け部７０５は、対象化合物の母核を表す文字列と、水素の元素記号が修正された修正後の対象化合物の母核の構造式とを関連付けることにしてもよい。具体的には、例えば、関連付け部７０５が、対象化合物の母核を表す文字列と、水素の元素記号が修正された修正後の対象化合物の母核の構造式とを対応付けて階層構造テーブル２４０に登録する。
【００９０】
なお、上述した説明では、水素の元素数を、母核の構造式から削除する例を述べたが、置換基の結合位置が多重（２または３）結合の場合、修正部７０６は、開いた結合で置換基と結合しない炭素に水素を１つ付加することにしてもよい。すなわち、修正部７０６は、置換基の結合位置が単結合の場合、水素を１つ引き抜く（削除）が、多重（２または３）結合の場合、開いた結合で置換基と結合しない炭素に水素を１つ付加する。
【００９１】
例えば、水素を引き抜く場合、修正部７０６は、置換基の結合位置が「ＣＨ」であったら、「Ｈ」を削除して「Ｃ」とする。また、修正部７０６は、置換基の結合位置が「ＣＨ２」であったら、「２−１＝１」のため、「Ｈ」を削除して「ＣＨ」とする。また、修正部７０６は、置換基の結合位置が「ＣＨ３」であったら、「３−１＝１」のため、「Ｈ」を削除して「ＣＨ２」とする。
【００９２】
例えば、水素を一つ付加する場合、修正部７０６は、置換基の結合位置が「Ｃ」であったら、「Ｈ」を追加して「ＣＨ」とする。修正部７０６は、置換基の結合位置が「ＣＨ」であったら、「１＋１＝２」のため、「Ｈ」を追加して「ＣＨ２」とする。また、修正部７０６は、置換基の結合位置が「ＣＨ２」であったら、「２＋１＝３」のため、「Ｈ」を追加して「ＣＨ３」とする。
【００９３】
判定部７０７は、対象化合物の置換基を表す文字列に基づいて、対象化合物の置換基が別の置換基を含む複合置換基か否かを判定する機能を有する。上述したように、有機化合物の化合物名において、複合置換基を表す文字列は、例えば、括弧やかぎ括弧で囲まれている。このため、判定部７０７が、対象化合物の置換基を表す文字列が、括弧やかぎ括弧で囲まれた文字列か否かを判定することにより、対象化合物の置換基が複合置換基か否かを判定することができる。
【００９４】
設定部７０８は、複合置換基であると判定された場合、対象化合物の置換基を表す文字列を対象化合物の化合物名に設定する機能を有する。この場合、検出部７０２は、構造式ＤＢ２３０を参照して、設定された対象化合物の化合物名の中から、対象化合物の母核となる部分構造の名称を表す文字列を検出することにしてもよい。
【００９５】
これにより、別の置換基を含む複合置換基を新たな構造式の生成対象となる対象化合物として、上記抽出部７０３、特定部７０４および関連付け部７０５等の一連の処理が再帰的に実行され、複合置換基を表す文字列を解析することができる。
【００９６】
ただし、第２階層以降は、検出部７０２は、例えば、構造式ＤＢ２３０の中から置換基Ｃｐの化合物名を選択する。そして、検出部７０２が、選択した置換基Ｃｐの化合物名の文字数ｔを特定する。つぎに、検出部７０２が、対象化合物の化合物名の末尾からｔ文字の文字列と、置換基Ｃｐの化合物名とが一致するか否かを判断する。ここで、置換基Ｃｐの化合物名と一致する場合、検出部７０２が、対象化合物の化合物名の末尾からｔ文字の文字列を、対象化合物の母核を表す文字列として検出する。
【００９７】
この場合、関連付け部７０５は、検出された対象化合物の母核を表す文字列と、複合置換基であると判定された置換基を表す文字列とを関連付けることにしてもよい。具体的には、例えば、関連付け部７０５が、第（ｉ＋１）階層の母核を表す文字列と、第ｉ階層の複合置換基を表す文字列とを対応付けて階層構造テーブル２４０に登録する。これにより、階層構造テーブル２４０を参照することにより、第ｉ階層の複合置換基と、第（ｉ＋１）階層の母核との対応関係を特定して、第ｉ階層と第（ｉ＋１）階層との階層構造を構築することができる。
【００９８】
生成部７０９は、関連付けられた関連付け結果に基づいて、対象化合物の構造式を生成する機能を有する。対象化合物の構造式とは、例えば、対象化合物内での原子または原子団の結合状態を図示した化学式である。具体的には、例えば、生成部７０９が、階層構造テーブル２４０に記憶されている階層情報に基づいて、対象化合物の構造式を生成する。
【００９９】
より具体的には、例えば、生成部７０９が、階層構造テーブル２４０内の第ｉ階層の母核の構造式と第ｊ置換基の構造式とを参照することにより、第ｉ階層における母核と第ｊ置換基との親子関係を表す構造式を生成することができる。また、生成部７０９が、階層構造テーブル２４０内の第ｊ置換基の結合位置を参照することにより、母核の構造式と第ｊ置換基の構造式とを適切な結合位置で結合することができる。
【０１００】
また、例えば、生成部７０９が、階層構造テーブル２４０内の第ｉ階層の母核の構造式と、第（ｉ＋１）階層の母核の構造式と第ｊ置換基の構造式とを参照することにより、第ｉ階層と第（ｉ＋１）階層との階層構造を表す構造式を生成することができる。なお、対象化合物の構造式の具体例については、図１４および図１５を用いて後述する。
【０１０１】
出力部７１０は、関連付けられた関連付け結果を出力する機能を有する。出力形式としては、例えば、ディスプレイ３０９への表示、プリンタ（不図示）への印刷出力、Ｉ／Ｆ３０８による外部装置への送信がある。また、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶することとしてもよい。
【０１０２】
具体的には、例えば、出力部７１０が、階層構造テーブル２４０に記憶されている階層情報を、対象化合物の化合物名を表すテキストデータの送信元となるクライアント装置２０１に送信することにしてもよい。これにより、対象化合物の構造式を生成するための階層情報をクライアント装置２０１に提供することができる。
【０１０３】
また、出力部７１０は、生成された対象化合物の構造式を出力することにしてもよい。具体的には、例えば、出力部７１０が、生成された対象化合物の構造式を表示するための画像情報を、対象化合物の化合物名を表すテキストデータの送信元となるクライアント装置２０１に送信することにしてもよい。この結果、クライアント装置２０１において、生成された対象化合物の構造式がディスプレイ（不図示）に表示される。なお、対象化合物の構造式の表示例については、図１４および図１５を用いて後述する。
【０１０４】
上述した説明では、対象化合物の化合物名の中から母核を表す文字列が検出される場合について説明したが、対象化合物の母核を表す化合物の化合物名が構造式ＤＢ２３０に未登録のため、対象化合物の母核を表す文字列が検出されない場合がある。
【０１０５】
この場合、抽出部７０３は、対象化合物の化合物名の中から、対象化合物の母核を表す文字列と置換基を表す文字列とが連結された連結文字列を抽出することにしてもよい。具体的には、例えば、まず、抽出部７０３が、対象化合物の化合物名を「数字−文字列」の組に分割する。そして、抽出部７０３が、各組の文字列を先頭から順番に第１〜第ｍ置換の名称として抽出する。この際、抽出部７０３が、第ｍ置換の名称として抽出した文字列を連結文字列として抽出する。
【０１０６】
この場合、検出部７０２は、構造式ＤＢ２３０を参照して、抽出された連結文字列の中から、対象化合物の置換基を表す文字列を検出することにしてもよい。具体的には、例えば、検出部７０２が、構造式ＤＢ２３０の中から置換基Ｃｐの化合物名を選択する。つぎに、検出部７０２が、選択した置換基Ｃｐの化合物名の文字数ｓを特定する。そして、検出部７０２が、連結文字列の先頭からｓ文字の文字列と、置換基Ｃｐの化合物名とが一致するか否かを判断する。ここで、置換基Ｃｐの化合物名と一致する場合、検出部７０２が、連結文字列の先頭からｓ文字の文字列を、対象化合物の第ｍ置換基を表す文字列として検出する。
【０１０７】
また、例えば、検出部７０２が、「ｓ＝１」として、連結文字列の先頭からｓ文字の文字列を検出する。そして、検出部７０２が、構造式ＤＢ２３０の中から、検出したｓ文字の文字列と化合物名が一致する置換基Ｃｐを検出する。ここで、置換基Ｃｐが検出された場合、検出部７０２が、連結文字列の先頭からｓ文字の文字列を、対象化合物の第ｍ置換基を表す文字列として検出する。一方、置換基Ｃｐが検出されなかった場合、検出部７０２が、「ｓ」をインクリメントして、連結文字列の先頭からｓ文字の文字列を検出することにより処理を繰り返す。なお、「ｓ」が、構造式ＤＢ２３０に登録されている置換基を表す化合物の化合物名の最大文字数を超えた場合、第ｍ置換基を表す文字列は非検出となる。
【０１０８】
ここで、連結文字列のうち、検出された第ｍ置換基を表す文字列を除く残余の文字列は、対象化合物の母核を表す文字列と推定することができる。このため、関連付け部７０５は、連結文字列のうち第ｍ置換基を表す文字列を除く残余の文字列を対象化合物の母核を表す文字列として、第ｍ置換基を表す文字列と関連付けることにしてもよい。
【０１０９】
このように、対象化合物の母核を表す文字列が非検出となっても、第ｍ置換基を表す化合物の化合物名が構造式ＤＢ２３０に登録されていれば、連結文字列から第ｍ置換基を表す文字列を除くことで、対象化合物の母核を表す文字列を特定することができる。
【０１１０】
（階層構造テーブル２４０の記憶内容の変遷例）
つぎに、図８〜図１３を用いて、階層構造テーブル２４０の記憶内容の変遷例について説明する。図８〜図１３は、階層構造テーブル２４０の記憶内容の変遷例を示す説明図である。ここでは、対象化合物の化合物名として「２−（３，４−ジメチルフェニル）プロパン」が受け付けられた場合を例に挙げて説明する。
【０１１１】
図８の（８−１）において、対象化合物の化合物名「２−（３，４−ジメチルフェニル）プロパン」の末尾から４文字（ｔ＝４）の文字列と、構造式ＤＢ２３０内の母核Ｂ３の化合物名「プロパン」とが一致する。このため、第１階層の母核を表す末尾から４文字の文字列「プロパン」が、母核の化合物名フィールドに登録されている。なお、「プロパン」は語頭がない「語幹＋語尾」の場合の例である。この結果、第１階層の階層情報８００−１がレコードとして記憶されている。
【０１１２】
図８の（８−２）において、構造式ＤＢ２３０の中から第１階層の母核を表す文字列「プロパン」に対応する母核Ｂ３の構造式が特定された結果、母核Ｂ３の構造式が、第１階層の母核の構造式フィールドに登録されている。この構造式に含まれる各々の炭素元素には炭素番号が付されている。なお、母核Ｂ３の環フラグが「Ｙｅｓ」の場合、階層構造テーブル２４０に登録された母核Ｂ３の構造式の前に環情報（例えば、「環」という文字）が挿入される。ここでは、母核Ｂ３の環フラグが「Ｎｏ」のため環情報は挿入されていない。
【０１１３】
図９の（８−３）において、対象化合物の化合物名のうち第１階層の母核を表す文字列を除く残余の文字列が「数字−文字列」の組に分割された結果、文字列「３，４−ジメチルフェニル」が、第１階層の第１置換基の化合物名フィールドに登録されている。また、数字「２−」が、第１階層の第１置換基の結合位置フィールドに登録されている。
【０１１４】
図９の（８−４）において、第１階層の母核の構造式に含まれる炭素のうち、第１置換基が結合する２番目の炭素に結合している水素の元素記号が１つ削除されている。なお、ここでは階層構造テーブル２４０に登録されている母核の構造式の中から水素の元素記号を修正する場合について説明したが、水素の元素記号が修正された修正後の構造式を、母核の構造式フィールドに登録することにしてもよい。
【０１１５】
図１０の（８−５）において、第１階層の第１置換基は、対象化合物の化合物名において第１置換基を表す文字列が括弧で囲まれた複合置換基である。また、第１置換基の化合物名「３，４−ジメチルフェニル」の末尾から４文字（ｔ＝４）の文字列と、構造式ＤＢ２３０内の置換基Ｃ２の化合物名「フェニル」とが一致する。このため、第２階層の母核を表す末尾から４文字の文字列「フェニル」が、母核の化合物名フィールドに登録されている。この結果、第２階層の階層情報８００−２がレコードとして記憶されている。
【０１１６】
図１０の（８−６）において、構造式ＤＢ２３０の中から第２階層の母核を表す文字列「フェニル」に対応する置換基Ｃ２の構造式が特定された結果、置換基Ｃ２の構造式が、第２階層の母核の構造式フィールドに登録されている。この構造式に含まれる各々の炭素元素には炭素番号が付されている。また、置換基Ｃ２の環フラグが「Ｙｅｓ」のため、置換基Ｃ２の構造式の前に環情報「環」が挿入されている。
【０１１７】
図１１の（８−７）において、複合置換基を表す文字列のうち第２階層の母核を表す文字列を除く残余の文字列が「数字−文字列」の組に分割された結果、文字列「ジメチル」が、第２階層の第１置換基の化合物名フィールドに登録されている。また、数字「３，４−」が、第２階層の第１置換基の結合位置フィールドに登録されている。
【０１１８】
図１１の（８−８）において、第２階層の母核の構造式に含まれる炭素のうち、第１置換基が結合する３番目の炭素に結合している水素の元素記号が１つ削除されている。また、第２階層の母核の構造式に含まれる炭素のうち、第１置換基が結合する４番目の炭素に結合している水素の元素記号が１つ削除されている。
【０１１９】
図１２の（８−９）において、第２階層の第１置換基を表す文字列「ジメチル」に倍数接頭辞「ジ」が含まれているため、第１置換基の結合位置フィールドに登録されている数字「３，４−」が数字「３−４−」に変換される。そして、数字「３−４−」が数字「３−」と数字「４−」とに分割された結果、１番目の数字「３−」が、第２階層の第１置換基の結合位置フィールドに登録されている。また、２番目の数字「４−」の先頭に「−」が追加された結果、数字「−４−」が、第２階層の第２置換基の結合位置フィールドに登録されている。
【０１２０】
図１２の（８−１０）において、第２階層の第１置換基を表す文字列「ジメチル」から倍数接頭辞「ジ」が削除された削除後の文字列「メチル」が、第２階層の第１置換基および第２置換基の化合物名フィールドに登録されている。
【０１２１】
図１３の（８−１１）において、構造式ＤＢ２３０の中から第２階層の第１置換基を表す文字列「メチル」に対応する置換基Ｃ１の構造式が特定された結果、置換基Ｃ１の構造式が、第２階層の第１置換基の構造式フィールドに登録されている。同様に、置換基Ｃ１の構造式が、第２階層の第２置換基の構造式フィールドに登録されている。なお、置換基Ｃ１の環フラグは「Ｎｏ」のため環情報は挿入されていない。
【０１２２】
この結果、階層情報８００−１によれば、第１階層における母核「プロパン」と第１置換基「３，４−ジメチルフェニル」との親子関係を特定することができる。また、母核「プロパン」の構造式を特定することができる。また、第１置換基「３，４−ジメチルフェニル」の構造式が不明であることを特定することができる。また、第１置換基「３，４−ジメチルフェニル」が母核「プロパン」の２番目の炭素に結合していることを特定することができる。
【０１２３】
この結果、階層情報８００−２によれば、第２階層における母核「フェニル」と、第１置換基「メチル」および第２置換基「メチル」との親子関係を特定することができる。また、母核「フェニル」の構造式を特定することができるとともに、母核「フェニル」の構造式が環構造であることを特定することができる。また、第１置換基「メチル」および第２置換基「メチル」の構造式を特定することができる。また、第１置換基「メチル」が母核「フェニル」の３番目の炭素に結合しており、第２置換基「メチル」が母核「フェニル」の４番目の炭素に結合していることを特定することができる。また、階層情報８００−１，８００−２によれば、第１階層と第２階層との階層間のつながりを特定することができ、第１階層および第２階層の階層構造を構築することができる。
【０１２４】
（対象化合物の構造式の表示例）
つぎに、図１４および図１５を用いて、対象化合物の構造式の表示例について説明する。図１４および図１５に示す表示例１〜表示例７は、クライアント装置２０１のディスプレイ（不図示）や情報提供装置１００のディスプレイ３０９に表示される対象化合物の構造式の一例である。
【０１２５】
図１４は、対象化合物の構造式の表示例を示す説明図である。図１４において、図１３に示した階層構造テーブル２４０に記憶されている階層情報８００−１，８００−２に基づいて生成された対象化合物（化合物名：２−（３，４−ジメチルフェニル）プロパン）の構造式の表示例１〜５が示されている。
【０１２６】
表示例１において、構造式１４１０は、対象化合物の構造式であり、構造式１４１１〜１４１４から構成されている。構造式１４１１は、第１階層の母核を表す「プロパン」の構造式である。構造式１４１２は、第２階層の母核を表す「フェニル」の構造式である。構造式１４１３は、第２階層の第１置換基を表す「メチル」の構造式である。構造式１４１４は、第２階層の第２置換基を表す「メチル」の構造式である。
【０１２７】
構造式１４１０によれば、対象化合物の基礎となる第１階層の母核を表す構造式１４１１を基点として、上から下に向かって構造式１４１２〜１４１４が表示されるため、ユーザが、対象化合物の構造の成り立ちを理解し易くなる。また、各構造式１４１１〜１４１４に含まれる官能基を区別し易くなり、対象化合物の特性を把握し易くなる。
【０１２８】
また、構造式１４１０によれば、構造式１４１１の２番目の炭素に構造式１４１２が結合されていることを認識することができる。また、構造式１４１２の３番目の炭素に構造式１４１３が結合されていることを認識することができる。また、構造式１４１２の４番目の炭素に構造式１４１４が結合されていることを認識することができる。また、構造式１４１２の前に挿入されている環情報「環」から、構造式１４１２が環構造であることを認識することができる。
【０１２９】
表示例２において、構造式１４２０は、対象化合物の構造式であり、表示例１に示した構造式１４１０を反転表示したものである。
【０１３０】
表示例３において、構造式１４２０は、対象化合物の構造式であり、構造式１４３１〜１４３４から構成されている。構造式１４３１は、第１階層の母核を表す「プロパン」の構造式であり、炭素間の結合を表す価標が省略されたものである。構造式１４３２は、第２階層の母核を表す「フェニル」の構造式であり、炭素間の結合を表す価標が省略されたものである。構造式１４３３は、第２階層の第１置換基を表す「メチル」の構造式である。構造式１４３４は、第２階層の第２置換基を表す「メチル」の構造式である。
【０１３１】
構造式１４３０によれば、対象化合物の基礎となる第１階層の母核を表す構造式１４３１を基点として、上から下に向かって構造式１４３２〜１４３４が表示されるため、ユーザが、対象化合物の構造の成り立ちを理解し易くなる。
【０１３２】
表示例４において、構造式１４４０は、対象化合物の構造式であり、構造式１４４１〜１４４４から構成されている。構造式１４４１は、第１階層の母核を表す「プロパン」の構造式である。構造式１４４２は、第２階層の母核を表す「フェニル」の構造式である。構造式１４４３は、第２階層の第１置換基を表す「メチル」の構造式である。構造式１４４４は、第２階層の第２置換基を表す「メチル」の構造式である。
【０１３３】
構造式１４４０によれば、同一階層で親子関係を構築する母核と置換基とをそれぞれ表す構造式が同一円内に表示されるため、ユーザが各階層の親子関係を把握し易くなる。例えば、第２階層で親子関係を構築する母核「フェニル」、第１置換基「メチル」および第２置換基「メチル」をそれぞれ表す構造式１４４２〜１４４４が同一円内に表示されるため、第２階層の親子関係を把握し易くなる。
【０１３４】
表示例５において、構造式１４５０は、対象化合物の構造式であり、構造式１４５１〜１４５４から構成されている。構造式１４５１は、第１階層の母核を表す「プロパン」の構造式であり、炭素間の結合を表す価標が省略されたものである。構造式１４５２は、第２階層の母核を表す「フェニル」の構造式であり、炭素間の結合を表す価標が省略されたものである。構造式１４５３は、第２階層の第１置換基を表す「メチル」の構造式である。構造式１４５４は、第２階層の第２置換基を表す「メチル」の構造式である。
【０１３５】
構造式１４５０によれば、同一階層で親子関係を構築する母核と置換基とをそれぞれ表す構造式が同一円内に表示されるため、ユーザが各階層の親子関係を把握し易くなる。なお、構造式が不明な母核や置換基については、ブラックボックス化して表示されることにしてもよい。例えば、母核の構造式の代わりに、構造式が不明な母核を表す化合物の化合物名が示されたボックスが表示されることにしてもよい。
【０１３６】
化合物名が不明な母核や置換基についてもブラックボックス化して表示することにより、対象化合物の全体の構造から化合物名が不明な母核や置換基を推定できた場合などに、対象化合物の化合物名に含まれる母核や置換基を表す化合物名の誤記を判別し易くなる。
【０１３７】
図１５は、複数の対象化合物の構造式の表示例を示す説明図である。図１５において、表示例６は、第１〜第４の対象化合物の各々の構造式１５１１〜１５１４を示す表示例である。表示例６において、第２〜第４の対象化合物の構造式１５１２〜１５１４のうち、第１の対象化合物の構造式１５１１との差分を表す構造式１５１５〜１５１８が強調表示されている。表示例６によれば、第１の対象化合物の構造式１５１１との差分を表す構造式１５１５〜１５１８が強調表示されているため、ユーザが、第１の対象化合物と、第２〜第４の対象化合物との構造の違いを把握し易くなる。
【０１３８】
また、表示例７は、第１の対象化合物の構造式１５１１、および第１の対象化合物の構造式１５１１と第２〜第４の対象化合物の構造式１５１２〜１５１４（表示例６参照）との差分を表す構造式１５１５〜１５１８を示す表示例である。表示例７によれば、構造式１５１１との差分を表す構造式１５１５〜１５１８のみが表示されているため、ユーザが、第１の対象化合物と、第２〜第４の対象化合物との構造の違いを把握し易くなる。
【０１３９】
なお、図示は省略するが、構造式が不明な部分をブラックボックス化してハイライト表示したり、対象化合物間において同一または差分となる部分を同心円から切り出して表示することにしてもよい。
【０１４０】
（情報提供装置１００の情報提供処理手順）
つぎに、情報提供装置１００の情報提供処理手順について説明する。図１６は、情報提供装置１００の情報提供処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、ＣＰＵ３０１により、構造式の生成対象となる対象化合物の化合物名を受け付けたか否かを判断する（ステップＳ１６０１）。
【０１４１】
ここで、ＣＰＵ３０１により、対象化合物の化合物名を受け付けるのを待つ（ステップＳ１６０１：Ｎｏ）。そして、ＣＰＵ３０１により、対象化合物の化合物名を受け付けた場合（ステップＳ１６０１：Ｙｅｓ）、ＣＰＵ３０１により、構造解析ルールＤＢ２２０を読み込む（ステップＳ１６０２）。
【０１４２】
つぎに、ＣＰＵ３０１により、構造式登録処理を実行する（ステップＳ１６０３）。つぎに、ＣＰＵ３０１により、対象化合物の構造式を生成する（ステップＳ１６０４）。そして、ＣＰＵ３０１により、階層構造テーブル２４０の記憶内容と対象化合物の構造式とを出力して（ステップＳ１６０５）、本フローチャートによる一連の処理を終了する。
【０１４３】
これにより、対象化合物の構造の成り立ちを把握するための情報を出力することができる。
【０１４４】
つぎに、図１６に示したステップＳ１６０３の構造式登録処理の具体的な処理手順について説明する。以下の説明において、第ｉ階層の「ｉ」は、初期状態では「ｉ＝１」とする。
【０１４５】
図１７は、構造式登録処理の具体的処理手順の一例を示すフローチャートである。図１７のフローチャートにおいて、まず、ＣＰＵ３０１により、第ｉ階層の母核構造式登録処理を実行する（ステップＳ１７０１）。
【０１４６】
つぎに、ＣＰＵ３０１により、第ｉ階層の第ｊ置換基の「ｊ」を「ｊ＝１」として（ステップＳ１７０２）、第１〜第ｍ置換基の中から第ｊ置換基を選択する（ステップＳ１７０３）。そして、ＣＰＵ３０１により、第ｊ置換基が複合置換基か否かを判定する（ステップＳ１７０４）。
【０１４７】
ここで、第ｊ置換基が複合置換基ではない場合（ステップＳ１７０４：Ｎｏ）、ＣＰＵ３０１により、置換基構造式登録処理を実行する（ステップＳ１７０５）。そして、ＣＰＵ３０１により、第ｊ置換基の「ｊ」をインクリメントして（ステップＳ１７０６）、「ｊ」が「ｍ」より大きくなったか否かを判断する（ステップＳ１７０７）。
【０１４８】
ここで、「ｊ」が「ｍ」以下の場合（ステップＳ１７０７：Ｎｏ）、ステップＳ１７０３に戻る。一方、「ｊ」が「ｍ」より大きくなった場合（ステップＳ１７０７：Ｙｅｓ）、構造式登録処理を終了し、構造式登録処理を呼び出したステップへ戻る。第１階層の構造式登録処理が終わった場合には、図１６に示したステップＳ１６０４に移行する。
【０１４９】
また、ステップＳ１７０４において、第ｊ置換基が複合置換基の場合（ステップＳ１７０４：Ｙｅｓ）、ＣＰＵ３０１により、第（ｉ＋１）階層の対象化合物の化合物名として、第ｊ置換基の化合物名を設定する（ステップＳ１７０８）。そして、ＣＰＵ３０１により、第（ｉ＋１）階層の構造式登録処理を実行して（ステップＳ１７０９）、ステップＳ１７０６に移行する。
【０１５０】
これにより、第ｊ置換基が複合置換基の場合、第ｊ置換基の化合物名を第（ｉ＋１）階層の対象化合物の化合物名として構造式登録処理を再帰的に実行することができる。
【０１５１】
つぎに、図１７に示したステップＳ１７０１の母核構造式登録処理の具体的な処理手順について説明する。
【０１５２】
図１８および図１９は、母核構造式登録処理の具体的処理手順の一例を示すフローチャートである。図１８のフローチャートにおいて、まず、ＣＰＵ３０１により、母核Ｂｋの「ｋ」を「ｋ＝１」とする（ステップＳ１８０１）。
【０１５３】
つぎに、ＣＰＵ３０１により、構造式ＤＢ２３０の中から母核Ｂｋの化合物名を選択する（ステップＳ１８０２）。そして、ＣＰＵ３０１により、母核Ｂｋの化合物名の文字数ｔを特定する（ステップＳ１８０３）。
【０１５４】
つぎに、ＣＰＵ３０１により、対象化合物の化合物名の末尾からｔ文字の文字列と、母核Ｂｋの化合物名とが一致するか否かを判断する（ステップＳ１８０４）。ここで、母核Ｂｋの化合物名と一致する場合（ステップＳ１８０４：Ｙｅｓ）、ＣＰＵ３０１により、第ｉ階層の母核の化合物名として母核Ｂｋの化合物名を階層構造テーブル２４０に登録する（ステップＳ１８０５）。
【０１５５】
つぎに、ＣＰＵ３０１により、構造式ＤＢ２３０に母核Ｂｋの構造式と炭素番号とがあるか否かを判断する（ステップＳ１８０６）。ここで、母核Ｂｋの構造式と炭素番号とがない場合（ステップＳ１８０６：Ｎｏ）、ステップＳ１８０８に移行する。
【０１５６】
一方、構造式ＤＢ２３０に母核Ｂｋの構造式と炭素番号とがある場合（ステップＳ１８０６：Ｙｅｓ）、ＣＰＵ３０１により、第ｉ階層の母核の構造式と炭素番号として、母核Ｂｋの構造式と炭素番号とを階層構造テーブル２４０に登録する（ステップＳ１８０７）。
【０１５７】
つぎに、ＣＰＵ３０１により、対象化合物の化合物名のうち第ｉ階層の母核の化合物名を除く残余の文字列を「数字−文字列」の組に分割する（ステップＳ１８０８）。そして、ＣＰＵ３０１により、各組の文字列を先頭から順番に第１〜第ｍ置換基の化合物名として階層構造テーブル２４０に登録する（ステップＳ１８０９）。
【０１５８】
つぎに、ＣＰＵ３０１により、各組の数字を先頭から順番に第１〜第ｍ置換基の結合位置として階層構造テーブル２４０に登録する（ステップＳ１８１０）。そして、ＣＰＵ３０１により、母核の構造式から各置換基の結合位置の水素の元素記号を一つ修正して（ステップＳ１８１１）、図１７に示したステップＳ１７０２に移行する。
【０１５９】
また、ステップＳ１８０４において、母核Ｂｋの化合物名と不一致の場合（ステップＳ１８０４：Ｎｏ）、ＣＰＵ３０１により、母核Ｂｋの「ｋ」をインクリメントして（ステップＳ１８１２）、「ｋ」が「Ｋ」より大きくなったか否かを判断する（ステップＳ１８１３）。
【０１６０】
ここで、「ｋ」が「Ｋ」以下の場合（ステップＳ１８１３：Ｎｏ）、ステップＳ１８０２に戻る。一方、「ｋ」が「Ｋ」より大きくなった場合（ステップＳ１８１３：Ｙｅｓ）、図１９に示すステップＳ１９０１に移行する。
【０１６１】
図１９のフローチャートにおいて、まず、ＣＰＵ３０１により、対象化合物の化合物名を「数字−文字列」の組に分割する（ステップＳ１９０１）。そして、ＣＰＵ３０１により、各組の文字列を先頭から順番に第１〜第ｍ置換基の化合物名として階層構造テーブル２４０に登録する（ステップＳ１９０２）。
【０１６２】
つぎに、ＣＰＵ３０１により、各組の数字を先頭から順番に第１〜第ｍ置換基の結合位置として階層構造テーブル２４０に登録する（ステップＳ１９０３）。そして、ＣＰＵ３０１により、置換基Ｃｐの「ｐ」を「ｐ＝１」として（ステップＳ１９０４）、構造式ＤＢ２３０の中から置換基Ｃｐの化合物名を選択する（ステップＳ１９０５）。
【０１６３】
つぎに、ＣＰＵ３０１により、置換基Ｃｐの化合物名の文字数ｓを特定する（ステップＳ１９０６）。そして、ＣＰＵ３０１により、第ｍ置換基の化合物名の先頭からｓ文字の文字列と、置換基Ｃｐの化合物名とが一致するか否かを判断する（ステップＳ１９０７）。
【０１６４】
ここで、置換基Ｃｐの化合物名と一致する場合（ステップＳ１９０７：Ｙｅｓ）、ＣＰＵ３０１により、第ｉ階層の母核の化合物名として、第ｍ置換基の化合物名のうち先頭からｓ文字を除く残余の文字列を階層構造テーブル２４０に登録する（ステップＳ１９０８）。
【０１６５】
そして、ＣＰＵ３０１により、階層構造テーブル２４０内の第ｍ置換基の化合物名のうち先頭からｓ文字を、第ｍ置換基の化合物名として（ステップＳ１９０９）、図１７に示したステップＳ１７０２に移行する。
【０１６６】
また、ステップＳ１９０７において、置換基Ｃｐの化合物名と不一致の場合（ステップＳ１９０７：Ｎｏ）、ＣＰＵ３０１により、置換基Ｃｐの「ｐ」をインクリメントして（ステップＳ１９１０）、「ｐ」が「Ｐ」より大きくなったか否かを判断する（ステップＳ１９１１）。
【０１６７】
ここで、「ｐ」が「Ｐ」以下の場合（ステップＳ１９１１：Ｎｏ）、ステップＳ１９０５に戻る。一方、「ｐ」が「Ｐ」より大きくなった場合（ステップＳ１９１１：Ｙｅｓ）、図１７に示したステップＳ１７０２に移行する。
【０１６８】
これにより、第ｉ階層の母核の化合物名、構造式および炭素番号と、第１〜第ｍ置換基の化合物名および配置位置とを階層構造テーブル２４０に登録することができる。なお、第（ｉ＋１）階層において、対象化合物の化合物名の末尾からｔ文字との一致判定を行う対象となる化合物は、例えば、構造式ＤＢ２３０内の置換基Ｃｐの化合物名となる。
【０１６９】
つぎに、図１７に示したステップＳ１７０５の置換基構造式登録処理の具体的な処理手順について説明する。
【０１７０】
図２０は、置換基構造式登録処理の具体的処理手順の一例を示すフローチャートである。図２０のフローチャートにおいて、まず、ＣＰＵ３０１により、第ｊ置換基の化合物名に倍数接頭辞があるか否かを判断する（ステップＳ２００１）。ここで、倍数接頭辞がない場合（ステップＳ２００１：Ｎｏ）、ステップＳ２００５に移行する。
【０１７１】
一方、倍数接頭辞がある場合（ステップＳ２００１：Ｙｅｓ）、ＣＰＵ３０１により、第ｊ置換基の結合位置を表す文字列を変換して変換後の文字列を分割する（ステップＳ２００２）。つぎに、ＣＰＵ３０１により、各置換基の結合位置を表す文字列を階層構造テーブル２４０に登録する（ステップＳ２００３）。
【０１７２】
そして、ＣＰＵ３０１により、第ｊ置換基の化合物名から倍数接頭辞を削除した文字列を、各置換基の化合物名として階層構造テーブル２４０に登録する（ステップＳ２００４）。つぎに、ＣＰＵ３０１により、置換基Ｃｐの「ｐ」を「ｐ＝１」として（ステップＳ２００５）、構造式ＤＢ２３０の中から置換基Ｃｐの化合物名を選択する（ステップＳ２００６）。
【０１７３】
そして、ＣＰＵ３０１により、置換基の化合物名と置換基Ｃｐの化合物名とが一致するか否かを判断する（ステップＳ２００７）。なお、ここでの置換基は、第ｊ置換基、または、ステップＳ２００４において化合物名が登録された置換基である。
【０１７４】
ここで、置換基Ｃｐの化合物名と一致する場合（ステップＳ２００７：Ｙｅｓ）、ＣＰＵ３０１により、構造式ＤＢ２３０に置換基Ｃｐの構造式があるか否かを判断する（ステップＳ２００８）。ここで、置換基Ｃｐの構造式がない場合（ステップＳ２００８：Ｎｏ）、図１７に示したステップＳ１７０６に移行する。
【０１７５】
一方、置換基Ｃｐの構造式がある場合（ステップＳ２００８：Ｙｅｓ）、ＣＰＵ３０１により、置換基の構造式として、置換基Ｃｐの構造式を階層構造テーブル２４０に登録して（ステップＳ２００９）、図１７に示したステップＳ１７０６に移行する。
【０１７６】
また、ステップＳ２００７において、置換基Ｃｐの化合物名と不一致の場合（ステップＳ２００７：Ｎｏ）、ＣＰＵ３０１により、置換基Ｃｐの「ｐ」をインクリメントして（ステップＳ２０１０）、「ｐ」が「Ｐ」より大きくなったか否かを判断する（ステップＳ２０１１）。
【０１７７】
ここで、「ｐ」が「Ｐ」以下の場合（ステップＳ２０１１：Ｎｏ）、ステップＳ２００６に戻る。一方、「ｐ」が「Ｐ」より大きくなった場合（ステップＳ２０１１：Ｙｅｓ）、図１７に示したステップＳ１７０６に移行する。
【０１７８】
これにより、第ｊ置換基の構造式を階層構造テーブル２４０に登録することができる。また、第ｊ置換の化合物名に倍数接頭辞が含まれる場合、第ｊ置換の配置位置を分割して、第ｊ置換基の化合物名を、倍数接頭辞を含まない化合物名に変換することができる。
【０１７９】
以上説明したように、実施の形態にかかる情報提供装置１００によれば、構造式ＤＢ２３０を参照して、対象化合物の化合物名の中から、第ｉ階層の母核を表す文字列を検出することができる。また、情報提供装置１００によれば、対象化合物の化合物名のうち、母核を表す文字列を除く残余の文字列の中から、第ｉ階層の第１〜第ｍ置換基の各々を表す文字列を抽出することができる。また、情報提供装置１００によれば、第ｉ階層の母核を表す文字列と第１〜第ｍ置換基の各々を表す文字列とを関連付けて階層構造テーブル２４０に登録することができる。
【０１８０】
これにより、対象化合物の化合物名に含まれる、対象化合物の母核を表す文字列と対象化合物の置換基を表す文字列とを区別して、対象化合物の母核を表す化合物と置換基を表す化合物との接続関係を特定することができる。
【０１８１】
また、情報提供装置１００によれば、構造式ＤＢ２３０を参照して、母核を表す文字列に対応する構造式を特定して、母核を表す文字列と母核の構造式とを関連付けて階層構造テーブル２４０に登録することができる。これにより、対象化合物の第ｉ階層の母核を表す化合物の構造式を特定することができる。
【０１８２】
また、情報提供装置１００によれば、構造式ＤＢ２３０を参照して、対象化合物の第ｊ置換基を表す文字列に対応する構造式を特定して、第ｊ置換基を表す文字列と第ｊ置換基の構造式とを関連付けて階層構造テーブル２４０に登録することができる。これにより、対象化合物の第ｉ階層の第ｊ置換基を表す化合物の構造式を特定することができる。
【０１８３】
また、情報提供装置１００によれば、対象化合物の化合物名のうち母核を表す文字列を除く残余の文字列の中から、第ｊ置換基が結合する母核の結合位置を表す文字列を抽出することができる。また、情報提供装置１００によれば、第ｊ置換基を表す文字列と、第ｊ置換基が結合する母核の結合位置とを関連付けて階層構造テーブル２４０に登録することができる。これにより、第ｊ置換基が母核の何番目の炭素に結合しているのかを特定することができる。
【０１８４】
また、情報提供装置１００によれば、母核の構造式の中から第ｊ置換基が結合する炭素に結合している水素の元素数を修正することができる。これにより、母核の構造式のうち第ｊ置換基の構造式が結合する結合位置が単結合の場合、水素を引き抜くことができ、多重（２または３）結合の場合、開いた結合で置換基と結合しない方の炭素に水素を付加することができる。
【０１８５】
また、情報提供装置１００によれば、第ｊ置換基が別の置換基を含む複合置換基か否かを判定し、第ｊ置換基が複合置換基の場合、第ｊ置換基を表す文字列を、対象化合物の化合物名に設定することができる。また、情報提供装置１００によれば、構造式ＤＢ２３０を参照して、新たに設定された対象化合物の化合物名の中から、第（ｉ＋１）階層の母核を表す文字列を検出することができる。
【０１８６】
これにより、別の置換基を含む複合置換基を新たな構造式の生成対象となる対象化合物として、上記抽出部７０３、特定部７０４および関連付け部７０５等の一連の処理が再帰的に実行され、複合置換基を表す文字列を解析することができる。
【０１８７】
また、情報提供装置１００によれば、第（ｉ＋１）階層の母核を表す文字列と、第ｉ階層の複合置換基であると判定された第ｊ置換の文字列とを関連付けて階層構造テーブル２４０に登録することができる。これにより、第ｉ階層の複合置換基と、第（ｉ＋１）階層の母核との対応関係を特定して、第ｉ階層と第（ｉ＋１）階層との階層構造を構築することができる。
【０１８８】
また、情報提供装置１００によれば、母核を表す文字列が検出されなかった場合、対象化合物の化合物名の中から、母核を表す文字列と第ｍ置換基を表す文字列とが連結された連結文字列を抽出することができる。また、情報提供装置１００によれば、構造式ＤＢ２３０を参照して、連結文字列の中から第ｍ置換基を表す文字列を検出することにより、連結文字列のうち第ｍ置換基を表す文字列を除く残余の文字列を、母核を表す文字列として特定することができる。
【０１８９】
これらのことから、実施の形態にかかる情報提供装置、情報提供プログラムおよび情報提供方法によれば、化合物の化合物名から、化合物の構造の成り立ちを理解し易くすることができる。また、化合物に含まれる原子団同士の結合を表す価標を用いた構造式により、化合物を表現することができる。また、化合物に含まれる各々の原子団の構造式から官能基を区別し易くなり、化合物の特性を把握し易くすることができる。また、構造式ＤＢ２３０等のデータベースに登録されていない未知の化合物についても、既知の化合物の部分構造から未知の化合物の構造式を構築することができる。
【０１９０】
なお、本実施の形態で説明した情報提供方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報提供プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報提供プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１９１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９２】
（付記１）化合物の母核となる部分構造の名称を記憶する記憶部を参照して、構造式の生成対象となる対象化合物の化合物名の中から、前記対象化合物の母核となる部分構造の名称を表す文字列を検出する検出部と、
前記対象化合物の化合物名のうち前記検出部によって検出された前記対象化合物の母核を表す文字列を除く残余の文字列の中から、前記対象化合物の置換基となる部分構造の名称を表す文字列を抽出する抽出部と、
前記対象化合物の母核を表す文字列と、前記抽出部によって抽出された前記対象化合物の置換基を表す文字列とを関連付ける関連付け部と、
前記関連付け部によって関連付けられた関連付け結果を出力する出力部と、
を有することを特徴とする情報提供装置。
【０１９３】
（付記２）前記対象化合物の置換基を表す文字列に基づいて、前記対象化合物の置換基が別の置換基を含む複合置換基か否かを判定する判定部と、
前記判定部によって前記複合置換基であると判定された場合、前記対象化合物の置換基を表す文字列を前記対象化合物の化合物名に設定する設定部と、をさらに有し、
前記検出部は、
前記記憶部を参照して、前記設定部によって設定された前記対象化合物の化合物名の中から前記対象化合物の母核となる部分構造の名称を表す文字列を検出することを特徴とする付記１に記載の情報提供装置。
【０１９４】
（付記３）前記関連付け部は、
さらに、前記検出部によって検出された前記対象化合物の母核を表す文字列と、前記複合置換基であると判定された置換基を表す文字列とを関連付けることを特徴とする付記２に記載の情報提供装置。
【０１９５】
（付記４）前記記憶部に、化合物の母核となる部分構造の名称と前記母核の構造式とが対応付けて記憶されている場合、前記記憶部を参照して前記検出部によって検出された前記対象化合物の母核を表す文字列に対応する構造式を特定する特定部をさらに有し、
前記関連付け部は、
さらに、前記対象化合物の母核を表す文字列と、前記特定部によって特定された前記対象化合物の母核の構造式と、を関連付けることを特徴とする付記１〜３のいずれか一つに記載の情報提供装置。
【０１９６】
（付記５）前記特定部は、
前記記憶部に、化合物の置換基となる部分構造の名称と前記置換基の構造式とが対応付けて記憶されている場合、前記記憶部を参照して前記抽出部によって抽出された前記対象化合物の置換基を表す文字列に対応する構造式を特定し、
前記関連付け部は、
さらに、前記対象化合物の置換基を表す文字列と、前記特定部によって特定された前記対象化合物の置換基の構造式と、を関連付けることを特徴とする付記４に記載の情報提供装置。
【０１９７】
（付記６）前記抽出部は、
さらに、前記残余の文字列の中から、前記対象化合物の置換基が結合する前記対象化合物の母核の結合位置を表す文字列を抽出し、
前記関連付け部は、
さらに、前記対象化合物の置換基を表す文字列と、前記結合位置を表す文字列と、を関連付けることを特徴とする付記５に記載の情報提供装置。
【０１９８】
（付記７）前記対象化合物は、炭素を構造の基本骨格に持つ化合物であり、
前記結合位置を表す文字列に基づいて、前記対象化合物の母核の構造式の中から、前記対象化合物の母核に含まれる炭素のうち前記対象化合物の置換基が結合する炭素に結合している水素の元素数を修正する修正部をさらに有し、
前記関連付け部は、
さらに、前記対象化合物の母核を表す文字列と、前記修正部によって前記水素の元素数が修正された修正後の前記対象化合物の母核の構造式と、を関連付けることを特徴とする付記６に記載の情報提供装置。
【０１９９】
（付記８）前記記憶部には、化合物の置換基となる部分構造の名称が記憶されており、
前記抽出部は、
前記検出部によって前記対象化合物の母核を表す文字列が検出されなかった場合、前記対象化合物の化合物名の中から、前記対象化合物の母核を表す文字列と前記対象化合物の置換基を表す文字列とが連結された連結文字列を抽出し、
前記検出部は、
前記記憶部を参照して、前記抽出部によって抽出された前記連結文字列の中から、前記対象化合物の置換基を表す文字列を検出し、
前記関連付け部は、
前記連結文字列のうち前記検出部によって検出された前記対象化合物の置換基を表す文字列を除く残余の文字列を前記対象化合物の母核を表す文字列として、前記対象化合物の置換基を表す文字列と関連付けることを特徴とする付記１〜７のいずれか一つに記載の情報提供装置。
【０２００】
（付記９）前記対象化合物の化合物名は、置換命名法により命名された化合物名であることを特徴とする付記１〜８のいずれか一つに記載の情報提供装置。
【０２０１】
（付記１０）コンピュータに、
化合物の母核となる部分構造の名称を記憶する記憶部を参照して、構造式の生成対象となる対象化合物の化合物名の中から、前記対象化合物の母核となる部分構造の名称を表す文字列を検出し、
前記対象化合物の化合物名のうち、検出した前記対象化合物の母核を表す文字列を除く残余の文字列の中から、前記対象化合物の置換基となる部分構造の名称を表す文字列を抽出し、
前記対象化合物の母核を表す文字列と、抽出した前記対象化合物の置換基を表す文字列とを関連付け、
関連付けた関連付け結果を出力する、
処理を実行させることを特徴とする情報提供プログラム。
【０２０２】
（付記１１）コンピュータが、
化合物の母核となる部分構造の名称を記憶する記憶部を参照して、構造式の生成対象となる対象化合物の化合物名の中から、前記対象化合物の母核となる部分構造の名称を表す文字列を検出し、
前記対象化合物の化合物名のうち、検出した前記対象化合物の母核を表す文字列を除く残余の文字列の中から、前記対象化合物の置換基となる部分構造の名称を表す文字列を抽出し、
前記対象化合物の母核を表す文字列と、抽出した前記対象化合物の置換基を表す文字列とを関連付け、
関連付けた関連付け結果を出力する、
処理を実行することを特徴とする情報提供方法。
【符号の説明】
【０２０３】
１００  情報提供装置
２００  情報提供システム
２０１  クライアント装置
７０１  受付部
７０２  検出部
７０３  抽出部
７０４  特定部
７０５  関連付け部
７０６  修正部
７０７  判定部
７０８  設定部
７０９  生成部
７１０  出力部
【図１】
0005741387.tif 000002
【図２】
0005741387.tif 000003
【図３】
0005741387.tif 000004
【図４】
0005741387.tif 000005
【図５】
0005741387.tif 000006
【図６】
0005741387.tif 000007
【図７】
0005741387.tif 000008
【図８】
0005741387.tif 000009
【図９】
0005741387.tif 000010
【図１０】
0005741387.tif 000011
【図１１】
0005741387.tif 000012
【図１２】
0005741387.tif 000013
【図１３】
0005741387.tif 000014
【図１４】
0005741387.tif 000015
【図１５】
0005741387.tif 000016
【図１６】
0005741387.tif 000017
【図１７】
0005741387.tif 000018
【図１８】
0005741387.tif 000019
【図１９】
0005741387.tif 000020
【図２０】
0005741387.tif 000021