以下に添付図面を参照して、この発明にかかる生成装置、生成方法、および生成プログラムの実施の形態を詳細に説明する。また、本明細書において、「化学式」とは物質を原子の記号と数字で表記した式である。たとえば、エタノールの場合、C2H6Oである。また、「示性式」とは化学式をさらに官能基ごとにまとめて表記した式である。たとえば、エタノールの場合、CH3CH2OHである。以下、本実施の形態では、示性式を例に挙げて説明するが、化学式にも適用することができる。
本実施の形態にかかる生成装置は、ある物質名とその示性式の組を生成元とし、化学反応のルールを適用することで、あらたに物質名とその示性式の組を生成する。また、生成装置は、あらたに生成された物質名とその示性式の組についても、同様に化学反応のルールを適用することで、再帰的にあらたに物質名とその示性式の組を生成する。このように、生成装置は、化学反応に応じたルールを適用したうえで示性式を生成しているため、化学物質データベースに依存することなく、物質名とその示性式を高精度に生成することができる。
また、本実施の形態では、生成装置は、このように生成された物質名とその示性式の組をデータベース化する。これにより、生成装置は、化学物質データベースに依存することなく、物質名やその示性式を検索することができる。たとえば、特許文書や学術論文には、新規な物質名やその示性式が記載されることがあるが、生成装置は、そのような新規な物質名やその示性式が化学物質データベースに収録されていなくても、生成装置が生成したデータベースから検索することができる。以下、示性式の生成から順に説明する。
<示性式の生成例>
図1は、生成装置による示性式の生成例を示す説明図である。図1中、「≒」は物質名と示性式との対応関係を示している。図1では、一例として、物質名「プロパン」および示性式「CH3CH2CH3」を生成元とする。
(1)では、物質名「プロパン」および示性式「CH3CH2CH3」に対し、『炭化水素CHの結合の場合に化学反応として水素が外される』というルールが適用されている。プロパンの示性式「CH3CH2CH3」には、水素Hが3箇所(計8個)存在し、いずれの箇所にもルール適用可能であるが、ここでは説明の便宜上、末尾の「CH3」から水素Hが1つ外されたこととする。これにより、物質名「プロパン」、示性式「CH3CH2CH2」が得られる。本明細書では、ルールが適用された適用後の示性式を「部分示性式」と称す。また、ルールが適用された適用後の物質名を「部分名」と称す。
(2)では、(1)で得られた部分名「プロパン」および部分示性式「CH3CH2CH2」に対し、『水素Hが「OH」に置換され、部分名の語尾に「ノール」が追加される』というルールが適用されている。部分示性式「CH3CH2CH2」には、水素Hが3箇所(計7個)存在するが、ここでは、中央の「CH2」の水素HがOHに置換されたこととする。これにより、部分示性式「CH3CHOHCH2」が得られる。また、部分名「プロパン」の語尾には「ノール」が追加されるが、語尾追加の場合は、語幹「プロパ」に語尾「ノール」が追加され、部分名「プロパノール」が得られる。
(3)では、(1)で得られた部分名「プロパン」および部分示性式「CH3CH2CH2」に対し、『水素Hがフッ素「F」に置換され、部分名の語頭に「フルオロ」が追加される』というルールが適用されている。部分示性式「CH3CH2CH2」には、水素Hが3箇所(計7個)存在するが、ここでは、先頭の「CH3」の水素Hがフッ素Fに置換されたこととする。これにより、部分示性式「CH2FCH2CH2」が得られる。また、部分名「プロパン」の語頭には「フルオロ」が追加され、部分名「フルオロプロパン」が得られる。
(4)では、(2)で得られた部分名「プロパノール」および部分示性式「CH3CHOHCH2」に対し、『水素Hが塩素Clに置換され、部分名の語頭に「クロロ」が追加される』というルールが適用されている。部分示性式「CH3CHOHCH2」には、水素Hが4箇所(計7個)存在するが、ここでは、先頭の「CH3」の水素Hが塩素Clに置換されたこととする。これにより、部分示性式「CH2ClCHOHCH2」が得られる。また、部分名「プロパノール」の語頭には「クロロ」が追加され、部分名「クロロプロパノール」が得られる。
(5)では、(2)で得られた部分名「プロパノール」および部分示性式「CH3CHOHCH2」に対し、『水素Hがフッ素Fに置換され、部分名の語頭に「フルオロ」が追加される』というルールが適用されている。当該ルールは、上記(3)で適用されているが、同一ルールを複数回適用してもよい。部分示性式「CH3CHOHCH2」には、水素Hが4箇所(計7個)存在するが、ここでは、先頭の「CH3」の水素Hがフッ素Fに置換されたこととする。これにより、部分示性式「CH2FCHOHCH2」が得られる。また、部分名「プロパノール」の語頭には「フルオロ」が追加され、部分名「フルオロプロパノール」が得られる。
(6)では、(5)で得られた部分名「フルオロプロパノール」および部分示性式「CH2FCHOHCH2」に対し、『水素Hがフッ素Fに置換され、部分名の語頭に「フルオロ」が追加される』というルールが適用されている。この場合、先頭の「CH2」の水素Hがフッ素Fに置換されると、生成後の部分名および部分示性式が、生成済みの部分名「クロロフルオロプロパノール」の部分示性式「CHClFCHOHCH2」と一致することになる。このような場合は、生成処理が停止される。したがって、生成装置は、部分名および部分示性式の重複生成を抑制することができ、生成処理の負荷低減を図ることができる。
つぎに、図1で適用されたルールについて説明する。本実施の形態において、ルールとは、適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定した情報である。ルールの集合であるルール群は、ルールDB(Data Base)に記憶されている。ルールDBは、たとえば、ROM(Read Only Memory)やRAM(Random Access Memory)、フラッシュメモリ、ディスクなどの記憶装置により実現される。
<ルールDB>
図2は、ルールDBの記憶内容の一例を示す説明図である。ルールDB200は、ルールID項目と、適用条件項目と、変換内容項目と、を有する。ルールDB200は、ルールごとに各項目が設定されレコードを構成する。ルールDB200で規定されたルールは、部分示性式を生成する際に生成装置から選択される。
ルールID項目には、ルールIDがレコードごとに格納される。ルールIDとは、ルールを一意に特定する情報である。適用条件項目には、適用条件がレコードごとに格納される。適用条件とは、ルールを適用するために示性式や部分示性式が満たすべき化学反応に関する条件である。たとえば、エタノールの示性式は「CH3CH2OH」であるため、ルールID=R1の適用条件を満たすことになる。
変換内容項目は、示性式項目と物質名項目とを含む。示性式項目には、示性式や部分示性式に適用される化学反応がレコードごとに格納されている。また、物質名項目には、物質名や部分名に適用される名称変更内容がレコードごとに格納されている。名称変更内容には、「変更なし」と「語頭の追加」と「語尾の追加」の3種類がある。
図3は、生成装置による示性式生成例(その1)を示す説明図である。図3では、図2に示したルールDB200のルールID=R1を適用した場合の例である。図3では、生成元を、物質名「プロパン」、示性式「CH3CH2CH3」とする。
ルールR1が適用されると、示性式「CH3CH2CH3」から、「CH2CH2CH3」,「CH3CHCH3」,「CH3CH2CH2」という3種類の部分示性式が生成される。また、物質名「プロパン」は変更されず、「プロパン」はそのまま部分名となる。
図4は、生成装置による示性式生成例(その2)を示す説明図である。図4では、図2に示したルールDB200のルールID=R2を適用した場合の例である。図4では、生成元を、部分名「プロパン」、部分示性式「CH2CH2CH3」とする。
ルールR2が適用されると、部分示性式「CH2CH2CH3」から、「CHOHCH2CH3」,「CH2CHOHCH3」,「CH2CH2CH2OH」という3種類の部分示性式が生成される。また、部分名「プロパン」はいずれの部分示性式についても、部分名「プロパノール」となる。なお、部分名「プロパン」に語尾「ノール」がそのまま追加されると、「プロパンノール」となるが、語尾追加の場合は、「プロパン」の語幹「プロパ」に語尾「ノール」が追加されて、「プロパノール」になる。
図5は、生成装置による示性式生成例(その3)を示す説明図である。図5では、図2に示したルールDB200のルールID=R3を適用した場合の例である。図5では、生成元を、部分名「プロパノール」、部分示性式「CHOHCH2CH3」とする。
ルールR3が適用されると、部分示性式「CHOHCH2CH3」から、「CClOHCH2CH3」,「CHOClCH2CH3」,「CHOHCHClCH3」,「CHOHCH2CH2Cl」という4種類の部分示性式が生成される。また、部分名「プロパン」はいずれの部分示性式についても、部分名「クロロプロパノール」となる。
<示性式辞書および語幹辞書>
つぎに、示性式辞書および語幹辞書の記憶内容の一例について説明する。
図6は、示性式辞書の記憶内容の一例を示す説明図である。示性式辞書600とは、既知の物質名とその示性式とを対応付けて記憶したデータベースである。示性式辞書600は、物質名項目と、示性式項目と、を有する。示性式辞書600は、物質ごとに各項目が設定されレコードを構成する。物質名項目には物質名が登録されている。また、示性式項目には示性式が登録されている。示性式辞書600で規定された物質名および示性式の組は、部分示性式を生成する際に生成装置から選択される。
示性式辞書600内の物質名および示性式の組は、たとえば、部分名および部分示性式の生成元として生成装置から選択される。示性式辞書600は、たとえば、ROMやRAM、フラッシュメモリ、ディスクなどの記憶装置により実現される。
図7は、語幹辞書の記憶内容の一例を示す説明図である。語幹辞書700とは、物質名や部分名の語幹を特定するためのデータベースである。語幹辞書700には既知の物質名の語幹が登録されている。ルールの変換内容において語尾が追加される場合、生成装置は語幹辞書700を参照する。そして、生成装置は、語幹辞書700を最長一致検索することにより、最長一致した語幹を抽出し、適用されるルールに規定されている語尾を、抽出した語幹の末尾に追加することになる。
たとえば、図4の例では、部分名「プロパン」については、「プロパ」が最長一致されるため、語幹「プロパ」が語幹辞書700から読み出される。そして、読み出された語幹「プロパ」に語尾「ノール」が追加されて、「プロパノール」になる。語幹辞書700は、たとえば、ROMやRAM、フラッシュメモリ、ディスクなどの記憶装置により実現される。
<部分示性式DB>
図8は、部分示性式DBの記憶内容の一例を示す説明図である。部分示性式DB800とは、生成装置によって生成された部分名およびその部分示性式の組を登録するデータベースである。部分示性式DB800は、部分名項目と、部分示性式項目と、を有する。部分示性式DB800は、部分名で特定される物質ごとに各項目が設定されレコードを構成する。部分名項目には部分名が登録される。また、部分示性式項目には部分示性式が登録される。たとえば、部分示性式DB800の初期状態は空であり、部分名およびその部分示性式の組が生成される都度、レコードに追加されることになる。図8では、すでに、メタンやメタノールなどの物質について部分示性式が登録済みの状態を示している。
また、部分示性式DB800に部分名およびその部分示性式の組が登録されている場合には、生成装置は、部分示性式DB800から部分名およびその部分示性式の組を検索することができる。たとえば、特許文書や学術論文には、新規な物質名やその示性式が記載されることがあるが、生成装置は、そのような新規な物質名やその示性式が化学物質データベースに収録されていなくても、生成装置が生成したデータベースから検索することができる。
<生成装置のハードウェア構成例>
図9は、実施の形態にかかる生成装置のハードウェア構成例を示すブロック図である。図9において、生成装置は、CPU(Central Processing Unit)901と、ROM902と、RAM903と、磁気ディスクドライブ904と、磁気ディスク905と、光ディスクドライブ906と、光ディスク907と、ディスプレイ908と、I/F(Interface)909と、キーボード910と、マウス911と、スキャナ912と、プリンタ913と、を有している。また、各構成部はバス900によってそれぞれ接続されている。
ここで、CPU901は、生成装置の全体の制御を司る。ROM902は、ブートプログラムなどのプログラムを記憶している。RAM903は、CPU901のワークエリアとして使用される。磁気ディスクドライブ904は、CPU901の制御にしたがって磁気ディスク905に対するデータのリード/ライトを制御する。磁気ディスク905は、磁気ディスクドライブ904の制御で書き込まれたデータを記憶する。
光ディスクドライブ906は、CPU901の制御にしたがって光ディスク907に対するデータのリード/ライトを制御する。光ディスク907は、光ディスクドライブ906の制御で書き込まれたデータを記憶したり、光ディスク907に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ908は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ908は、たとえば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
インターフェース(以下、「I/F」と略する。)909は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク914に接続され、このネットワーク914を介して他の装置に接続される。そして、I/F909は、ネットワーク914と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F909には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード910は、文字、数字、各種指示などの入力のためのキーを有し、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス911は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ912は、画像を光学的に読み取り、生成装置内に画像データを取り込む。なお、スキャナ912は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ913は、画像データや文書データを印刷する。プリンタ913には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ906、光ディスク907、ディスプレイ908、キーボード910、マウス911、スキャナ912、およびプリンタ913の少なくともいずれか1つは、なくてもよい。
<生成装置の機能的構成例>
図10は、生成装置の機能的構成例を示すブロック図である。生成装置1000は、ルールDB200と、示性式辞書600と、語幹辞書700と、文書情報DB1020と、を有する。文書情報DB1020とは、特許文書や論文、雑誌、書籍などのテキストを含む文書情報を記憶するデータベースである。文書情報DB1020は、たとえば、ROMやRAM、フラッシュメモリ、ディスクなどの記憶装置により実現される。
また、生成装置1000は、取得部1001と、抽出部1002と、判断部1003と、変換部1004と、出力部1005と、登録部1006と、判定部1007と、特定部1008と、分割部1009と、検索部1010と、生成部1011と、計数部1012と、を有している。取得部1001〜計数部1012は、具体的には、たとえば、図9に示したROM902、RAM903、磁気ディスク905、光ディスク907などの記憶装置に記憶されたプログラムをCPU901に実行させることにより、または、I/F909により、その機能を実現する。
取得部1001は、物質名および当該物質名の化学式を取得する。具体的には、たとえば、取得部1001は、示性式辞書600のあるレコードを選択することにより、選択されたレコードでの物質名および当該物質名の示性式の組を読み出す。また、取得部1001は、示性式辞書600に限らず、ユーザ操作により物質名および当該物質名の示性式の組の入力を受け付けてもよい。
抽出部1002は、適用すべき条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出する。具体的には、たとえば、抽出部1002は、ルールDB200のいずれかのルールを抽出する。抽出部1002は、どのルールを抽出するかについては、ランダムでもよく、ルールID順でもよい。また抽出されるルールは、重複してもよい。
判断部1003は、取得部1001によって取得された化学式が、抽出部1002によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断する。具体的には、たとえば、判断部1003は、取得部1001によって取得された示性式が、ルールDB200から抽出されたルールの適用条件を満たすか否かを判断する。たとえば、図3〜図5の例では、抽出されたルールR1〜R3の適用条件を満たしていることになる。一方、エタノールについて、『炭化水素CHの結合』という適用条件(図1を参照)のルールが抽出された場合は、適用条件を満たしていないことになる。
変換部1004は、判断部1003によって満たすと判断された場合、化学式および物質名を変換内容にしたがって変換する。具体的には、たとえば、変換部1004は、抽出されたルールの適用条件を示性式が満たすと判断された場合、抽出されたルールの変換内容に従って、物質名およびその示性式を変換し、部分名およびその部分示性式を出力する。また、変換された部分名およびその部分示性式は、抽出部1002にフィードバックされる。これにより、変換された部分名およびその部分示性式について、抽出部1002による抽出処理、判断部1003による判断処理、および変換部1004による変換処理が、再帰的に実行されることになる。
なお、変換部1004による変換例については、図3〜図5に示したように、示性式または部分示性式は、化学反応に応じた変換が行われる。また、物質名または部分名については、変更なし、語頭の追加、または語尾の追加が実行される。抽出されたルールに語尾の追加が規定されている場合には、語幹辞書700に対する最長一致検索により、変換部1004は、物質名または部分名の語幹を抽出する。そして、変換部1004は、抽出した語幹に、ルール規定されている語尾を追加することで、あらたな部分名を生成することになる。
また、変換部1004では、図3〜図5に示したように、複数の変換候補が得られるが、いずれの変換候補について変換をおこなってもよく、いずれか1つについて変換をおこなってもよい。すなわち、少なくとも1つ変換すればよい。変換候補が複数ある場合については、ユーザは、予め変換すべき数の上限を設定しておくこととしてもよい。たとえば、部分示性式DB800の構築を早期に実現したい場合には、ユーザは、当該上限を低く(たとえば、上限=1)に設定すればよく、多くの部分示性式を得たい場合には、ユーザは、当該上限を高く設定すればよい。
出力部1005は、変換部1004による変換結果となる部分名とその部分示性式を出力する。具体的には、たとえば、出力部1005は、変換結果を、ディスプレイ908に表示出力したり、プリンタ913に印刷出力したり、外部の装置に送信したりする。
登録部1006は、変換済みの化学式および物質名をデータベースに登録する。具体的には、たとえば、登録部1006は、変換結果である部分名とその示性式を、部分示性式DB800に登録する。これにより、図8に示したように、部分示性式DB800が構築されることになる。なお、変換結果である部分名とその示性式がすでに部分示性式DB800に登録済みである場合は、登録部1006は、登録処理を実行しない。これにより、レコード数の増加が抑制され、部分示性式DB800の省メモリ化を図ることができる。
判定部1007は、変換済みの化学式および物質名が登録部1006において新規登録された化学式および物質名であるか否かを判定する。具体的には、たとえば、判定部1007は、変換結果である部分名とその示性式の部分示性式DB800への登録が新規登録であるか否かを判定する。新規登録である場合、抽出部1002は、ルール群の中からいずれかのルールを抽出する。すなわち、変換部1004から変換結果が抽出部1002にフィードバックされるが、判定部1007によって新規登録と判定された場合に限り、ルールDB200からルールが抽出されることになる。これにより、登録済みの部分名とその部分示性式についての抽出処理、判断処理、および変換処理が抑制され、部分示性式DB800の構築作業の効率化を図ることができる。
特定部1008は、文書情報の中に変換済みの化学式または当該化学式を含む化学式が存在をするかを特定する。具体的には、たとえば、特定部1008は、変換結果として得られた部分示性式または当該部分示性式を含む示性式を、文書情報DB1020から特定する。たとえば、特定部1008は、文書情報DB1020の各文書情報を検索する。この場合、登録部1006は、部分示性式または当該部分示性式を含む示性式が特定された場合に、変換結果として得られた部分名とその部分示性式を、部分示性式DB800に登録する。このように、文書情報での存在が判明した部分示性式について登録を許可することにより、有用な部分名とその部分示性式が部分示性式DB800に蓄積されることになる。
分割部1009は、文書情報からの抽出物質名から、当該抽出物質名と一致するデータベース内の第1の物質名を抽出し、抽出物質名から第1の物質名を除いた残余の文字列から、当該残余の文字列と一致するデータベース内の第2の物質名を抽出することにより、抽出物質名を第1の物質名と第2の物質名とに分割する。ここでは、一例として、文書情報DB1020から抽出された抽出物質名を「メトキシプロパノール」とする。具体的には、たとえば、分割部1009は、部分示性式DB800を検索して、部分示性式DB800内の部分名が抽出物質名「メトキシプロパノール」の先頭から最長一致する部分名を抽出する。この場合、部分名「メトキシ」が抽出されたとする。
つぎに、分割部1009は、抽出物質名「メトキシプロパノール」から、抽出された部分名「メトキシ」を除いた残余の文字列「プロパノール」について、同様に、部分示性式DB800を検索する。その結果、部分名「プロパノール」が最長一致検索された場合、分割部1009は、残余の文字列「プロパノール」から部分名「プロパノール」を抽出する。その結果、残余の文字列がなくなるため、分割部1009による分割は、分割成功となる。これにより、分割部1009は、抽出物質名「メトキシプロパノール」を、部分名「メトキシ」と部分名「プロパノール」に分割することができる。
またこの場合、取得部1001は、第1の物質名および第1の物質名の第1の化学式と、第2の物質名および第2の物質名の第2の化学式と、を取得する。具体的には、たとえば、取得部1001は、分割で得られた部分名「メトキシ」の示性式「CH3O」と、分割で得られた「プロパノール」の示性式「CH3CH2CH2OH」とを、示性式辞書600から読み出す。
このあと、読み出された部分名「メトキシ」とその示性式「CH3O」の組と、「プロパノール」とその示性式「CH3CH2CH2OH」の組、それぞれについて、抽出部1002による抽出処理、判断部1003による判断処理、変換部1004による変換処理、および登録部1006による登録処理が実行される。このように、生成装置1000は、文書情報DB1020から得られた示性式を手がかりにして、その部分名や部分示性式を生成して登録することができる。
特に、文書情報DB1020が特許情報や論文などのデータベースである場合、文書情報DB1020から得られた示性式は有用な物質の新規な示性式と考えられる。したがって、このような有用な物質の示性式から派生して部分名とその部分示性式を得ることにより、生成装置1000は、部分示性式DB800での部分示性式の登録種類数の向上を図ることができる。
なお、上述した分割部1009による抽出物質名の分割例では、成功例について説明したが、部分示性式DB800の最長一致検索で検索されなかった場合は、分割失敗となる。また、上述した分割部1009による抽出物質名の分割例では、第1の部分名「メトキシ」と第2の部分名「プロパノール」とに分割した例を説明したが、残余の文字列がまだ残されている場合は、残余の文字列がなくなるまで再帰的に部分示性式DB800の最長一致検索がおこなわれることになる。その結果、分割成功の場合は、3以上の部分名に分割されることになり、得られた部分名ごとに、示性式が取得されることになる。
検索部1010は、分割部1009によって分割された第1の物質名の第1の化学式をデータベースから検索するとともに、分割部1009によって分割された第2の物質名の第2の化学式をデータベースから検索する。ここでは、上述のように、分割部1009が、抽出物質名「メトキシプロパノール」を、部分名「メトキシ」と部分名「プロパノール」に分割した場合を例にあげて説明する。検索部1010は、分割で得られた部分名「メトキシ」の示性式「CH3O」を部分示性式DB800から検索する。また、検索部1010は、分割で得られた「プロパノール」の示性式「CH2CH2CH2OH」を部分示性式DB800から検索する。また、分割部1009で3以上の部分名が得られた場合には、検索部1010は、部分名ごとに検索をおこなうことになる。
生成部1011は、検索部1010によって検索された第1の化学式および第2の化学式を連結した連結化学式を生成する。上述の分割例を用いて説明すると、生成部1011は、部分示性式DB800から検索された部分名「メトキシ」の示性式「CH3O」と、部分示性式DB800から検索された「プロパノール」の示性式「CH2CH2CH2OH」と、を連結する。連結の順序は、部分名の順序となる。したがって、部分名「メトキシ」の示性式「CH3O」が先頭となり、「プロパノール」の示性式「CH2CH2CH2OH」が末尾となる。この連結により、生成部1011は、連結示性式として「CH3OCH2CH2CH2OH」を生成する。
また、検索部1010において示性式が複数検索される場合がある。たとえば、「プロパノール」の示性式として、「CH2CH2CH2OH」のほか、部分示性式DB800から部分示性式「CHOHCH2CH3」,「CH2CHOHCH3」が検索されたとする。この場合、上述した連結示性式「CH3OCH2CH2CH2OH」のほか、「CH3OCHOHCH2CH3」,「CH3OCH2CHOHCH3」が生成される。
すなわち、分割された一方の部分名からm1個の部分示性式が検索され、他方の部分示性式からm2個の部分示性式が検索された場合、m1×m2個の連結示性式が生成されることになる。なお、検索部1010で3以上の示性式が検索された場合は、生成部1011は、検索された示性式を連結して連結示性式を生成する。すなわち、分割された部分名がk個、各部分名から検索された部分示性式の数が、m1,m2,…,mk個とすると、m1×m2×…×mk個の連結示性式が生成されることになる。なお、検索により部分示性式が得られなかった場合、生成装置1000は、たとえば、「XXXX」といった不明であることを示す文字列として扱うことにする。上記の例で、プロパノールの示性式が検索で得られない場合は、「CH3OXXXX」となる。
このようにして、生成装置1000は、目的とする抽出物質名の示性式候補となる連結示性式を自動生成することができる。これにより、ユーザは、文書情報からは知ることができなかった抽出物質名の示性式を把握することができる。なお、登録部1006は、生成部1011によって生成された連結示性式とその抽出物質名を部分示性式DB800に登録してもよい。これにより、生成装置1000は、部分示性式DB800での部分示性式の登録種類数の向上を図ることができる。
計数部1012は、文書情報において生成部1011によって生成された連結化学式の出現回数を計数し、出現回数順に各連結化学式をソートする。具体的には、たとえば、文書情報DB1020から抽出物質名が得られる都度、上述したように生成部1011により連結示性式が生成される。同一の連結示性式が生成された場合には、出現回数をインクリメントすることで、計数部1012は出現回数を更新する。
図11は、計数部1012による計数結果の一例を示す説明図である。図11に示すように、計数結果は出現回数の降順にソートされる。ソートされた計数結果は、出力部1005により出力される。これにより、ユーザは、連結示性式ごとの出現回数の多さを参照することで、文書情報からは知ることができなかった抽出物質名の示性式がどのくらい有用であるかを把握することができる。
<部分示性式DB800作成処理手順>
図12は、生成装置1000による部分示性式DB800の作成処理手順を示すフローチャートである。まず、生成装置1000は、示性式辞書600に未選択項目があるか否かを判断する(ステップS1201)。未選択項目がある場合(ステップS1201:Yes)、生成装置1000は、未選択項目を示性式辞書600から選択する(ステップS1202)。そして、生成装置1000は、示性式部品化処理を実行する(ステップS1203)。
示性式部品化処理(ステップS1203)とは、ステップS1202で選択された項目の物質名とその示性式を部品化して、部分示性式DB800に登録する処理である。示性式部品化処理(ステップS1203)の詳細については、図13で説明する。示性式部品化処理(ステップS1203)のあと、ステップS1201に戻る。生成装置1000は、ステップS1201において、未選択項目がない場合(ステップS1201:No)、部分示性式DB800の作成処理を終了する。これにより、部分示性式DB800が構築されることになる。
<示性式部品化処理(その1)>
図13は、図12に示した示性式部品化処理(ステップS1203)の詳細な処理手順を示すフローチャート(その1)である。まず、生成装置1000は、ステップS1202で選択された項目の物質名とその示性式の組を読み込み(ステップS1301)、示性式部品化ルール適用処理を実行する(ステップS1302)。示性式部品化ルール適用処理(ステップS1302)は、物質名とその示性式の組に対しルールDB200のルールを適用することにより、部分名とその部分示性式の組を生成する処理である。示性式部品化ルール適用処理(ステップS1302)の詳細については後述する。
このあと、生成装置1000は、示性式部品化ルール適用処理(ステップS1302)で得られた部分名とその部分示性式の組を部分示性式DB800に登録する(ステップS1303)。そして、生成装置1000は、当該登録が部分名とその部分示性式の組について新規登録であるか否かを判断する(ステップS1304)。新規登録である場合(ステップS1304:Yes)、生成装置1000は、当該登録が部分名とその部分示性式の組についてルール適用が可能か否かを判断する(ステップS1305)。たとえば、適用したルール数が予め設定された上限を超えた場合や、未適用のルールがない場合、生成された部分示性式の数が予め設定された上限を超えた場合、示性式部品化処理(ステップS1203)を開始してから所定時間経過した場合などが挙げられる。
適用可能である場合(ステップS1305:Yes)、生成装置1000は、新規登録された部分名とその部分示性式の組を読み込み(ステップS1306)、示性式部品化処理を実行する。これにより、生成装置1000は、部分名とその部分示性式の組を再帰的に生成することができる。また、ステップS1306では、新規登録された部分名とその部分示性式の組が複数ある場合には、生成装置1000は、それぞれ読み込みをおこない、それぞれについて、示性式部品化処理(ステップS1306)を再帰的におこなうことになる。
また、ステップS1304において、新規登録でない場合(ステップS1304:No)、すでに部分示性式DB800に登録済みであるため、生成装置1000は、示性式部品化処理を終了し示性式部品化処理を呼び出したステップへ戻ることになる。また、ステップS1305において適用不可と判断された場合も(ステップS1305:No)、生成装置1000は、示性式部品化処理を終了し示性式部品化処理を呼び出したステップへ戻ることになる。このようにして、示性式部品化処理(ステップS1203)により、部分名とその部分示性式の組が再帰的に生成されて部分示性式DB800に登録されることになる。
<示性式部品化ルール適用処理>
図14は、図13に示した示性式部品化ルール適用処理(ステップS1302)の詳細な処理手順を示すフローチャートである。まず、生成装置1000は、適用条件がマッチするルールがルールDB200にあるか否かを判断する(ステップS1401)。適用条件がマッチするルールがある場合(ステップS1401:Yes)、生成装置1000は、適用条件がマッチするルールのうち1つを選択する(ステップS1402)。つぎに、生成装置1000は、示性式を選択ルールにしたがって変更する(ステップS1403)。対象となる示性式が部分示性式である場合も同様である。
そして、生成装置1000は、選択ルールに物質名の変更が規定されているか否かを判断する(ステップS1404)。規定されていない場合(ステップS1404:No)、ステップS1401に戻る。一方、規定されている場合(ステップS1404:Yes)、生成装置1000は、規定されている変更が語尾の追加であるか否かを判断する(ステップS1405)。語尾の追加である場合(ステップS1405:Yes)、生成装置1000は、語幹辞書700から物質名の語幹を特定して(ステップS1406)、ステップS1407に移行する。
一方、生成装置1000は、ステップS1405において語尾の追加でない場合(ステップS1405:No)、語頭の追加になるため、ステップS1407に移行する。ステップS1407では、語尾または語頭を追加することで、生成装置1000は、部分名を生成し(ステップS1407)、ステップS1401に戻る。ステップS1401において、適用条件がマッチするルールがない場合(ステップS1401:No)、生成装置1000は、示性式部品化ルール適用処理(ステップS1302)で得られた部分名とその部分示性式の組を部分示性式DB800に登録する(ステップS1303)。なお、ステップS1404〜S1407の処理は、対象となる物質名が部分名である場合も同様である。このようにして、示性式部品化ルール適用処理(ステップS1302)により、部分名とその部分示性式が生成されることになる。
<示性式部品化処理(その2)>
図15は、図12に示した示性式部品化処理(ステップS1203)の詳細な処理手順を示すフローチャート(その2)である。図13との違いは、示性式部品化ルール適用処理(ステップS1302)で得られた部分示性式が、文書情報DB1020に存在するか否かを確認する点である。生成された部分示性式が文書情報DB1020に存在していれば、客観的に有用な示性式であることがわかるため、生成装置1000は、そのような部分示性式とその部分名の組についてのみ部分示性式DB800に登録することになる。なお、図13と同一ステップには同一ステップ番号を付し、その説明を省略する。
生成装置1000は、示性式部品化ルール適用処理(ステップS1302)のあと、示性式部品化ルール適用処理(ステップS1302)で得られた部分示性式が、文書情報DB1020を検索し、文書情報DB1020に存在するか否かを判断する(ステップS1500)。存在する場合(ステップS1500:Yes)、生成装置1000は、ステップS1303に移行して、示性式部品化ルール適用処理(ステップS1302)で得られた部分名とその部分示性式の組を部分示性式DB800に登録する(ステップS1303)。
一方、存在しない場合(ステップS1500:No)、部分示性式DB800に登録せずに、示性式部品化処理を終了する。このようにして、示性式部品化処理(ステップS1203)により、再帰的に生成された部分示性式のうち文書情報DB1020に存在する部分示性式とその部分名の組が部分示性式DB800に登録されることになる。
<連結示性式生成処理>
図16は、連結示性式生成処理手順を示すフローチャートである。生成装置1000は、文書情報DB1020内の文書情報を読み込み(ステップS1601)、該当箇所の切り出しをおこなう(ステップS1602)。たとえば、生成装置1000は、文書情報から書誌的事項やXMLのタグの削除をおこなう。
つぎに、生成装置1000は、切り出し後の文書情報から物質名の文字列があるか否かを判断する(ステップS1603)。たとえば、所定文字数カタカナが連続している場合は、生成装置1000は、そのカタナカ文字列を物質名の文字列とみなす。そして、物質名の文字列があると判断された場合(ステップS1603:Yes)、生成装置1000は、当該物質名の文字列を文書情報から抽出する(ステップS1604)。抽出された物質名の文字列を「抽出文字列」と称す。このあと、生成装置1000は、抽出文字列分割処理を実行する(ステップS1605)。抽出文字列分割処理(ステップS1605)とは、抽出文字列を2以上の部分名に分割する処理である。抽出文字列分割処理(ステップS1605)の詳細については図17で後述する。
抽出文字列分割処理(ステップS1605)のあと、生成装置1000は、分割された部分名のうち未選択の部分名があるか否かを判断する(ステップS1606)。未選択の部分名がある場合(ステップS1606:Yes)、生成装置1000は、未選択の部分名を1つ選択する(ステップS1607)。選択された部分名を「選択部分名」と称す。
生成装置1000は、選択部分名の部分示性式を部分示性式DB800から検索して(ステップS1608)、ステップS1606に戻る。ステップS1606において、未選択の部分名がない場合(ステップS1606:No)、生成装置1000は、検索で得られた部分示性式を連結して、連結示性式を生成する(ステップS1609)。
連結示性式の生成後は、ステップS1603に戻り、生成装置1000は、再度物質名の文字列があるか否かを判断することになる(ステップS1603)。そして、ステップS1603において、物質名の文字列がない場合(ステップS1603:No)、生成装置1000は、これまでに得られた連結示性式を出力する(ステップS1610)。これにより、連結示性式生成処理の一連の処理を終了する。このようにして、文書情報から連結示性式が得られることになる。
<抽出文字列分割処理>
図17は、図16に示した抽出文字列分割処理(ステップS1605)の詳細な処理手順を示すフローチャートである。まず、生成装置1000は、部分示性式DB800に未選択の部分名があるか判断する(ステップS1701)。未選択の部分名がある場合(ステップS1701:Yes)、生成装置1000は、部分示性式DB800から未選択の部分名を1つ選択する(ステップS1702)。選択された部分名を「選択部分名」と称す。
そして、生成装置1000は、選択部分名が抽出文字列に含まれているか否かを判断する(ステップS1703)。たとえば、生成装置1000は、抽出文字列の先頭からの最長一致検索をおこなうことにより判断する。たとえば、選択部分名が「メトキシ」、抽出文字列が「メトキシプロパノール」である場合、最長一致した選択部分名「メトキシ」が抽出文字列「メトキシプロパノール」に含まれている。含まれていない場合(ステップS1703:No)、生成装置1000はあらたに部分名を選択するため、ステップS1701に戻る。
一方、含まれている場合(ステップS1703:Yes)、生成装置1000は、選択部分名を抽出文字列の分割部分名として保持する(ステップS1704)。上述の場合、選択部分名「メトキシ」を分割部分名として保持する。このあと、生成装置1000は、選択部分名を除いた残余文字列をあらたに抽出文字列に設定する(ステップS1705)。たとえば、上述の場合、生成装置1000は、抽出文字列「メトキシプロパノール」から選択部分名「メトキシ」を除いた残余文字列「プロパノール」をあらたに抽出文字列に設定する。そして、ステップS1701に戻る。
このようにして、抽出文字列がなくなるまでステップS1701〜S1705を繰り返すことになる。上述の場合、あらたな抽出文字列「プロパノール」について、選択文字列として「プロパノール」が出現した場合、選択文字列「プロパノール」は抽出文字列「プロパノール」に含まれる。したがって、生成装置1000は、選択文字列「プロパノール」を分割部分名として保持する。一方、部分示性式DB800に「プロパノール」が登録されていない場合、抽出文字列「プロパノール」は、分割部分名として保持されないことになる。
このあと、ステップS1701において、未選択の部分名がない場合(ステップS1706:No)、生成装置1000は分割成功か否かを判断する(ステップS1706)。たとえば、分割部分名として保持されていない抽出文字列が残ってない場合は、分割部分名が複数保持されているため、分割成功となる。上述の例では、「プロパノール」が分割部分名として保持された場合は、抽出文字列が残らなくなるため、生成装置1000は分割成功と判断する。一方、「プロパノール」が分割部分名として保持されなかった場合は、「プロパノール」が抽出文字列として残るため、生成装置1000は分割失敗と判断する。
分割成功の場合(ステップS1706:Yes)、生成装置1000は、保持された分割部分名を関連付けて保存する(ステップS1707)。そして、ステップS1606に移行し、関連付けられた分割部分名は、ステップS1606での選択対象となる。一方、分割失敗の場合(ステップS1706:No)、ステップS1604での抽出文字列では分割できなかったことになるため、ステップS1603に移行し、生成装置1000は、別の物質名の文字列があるか否かを判断することになる。このようにして、抽出文字列分割処理(ステップS1605)では、生成装置1000は、物質名の文字列を複数の部分名に分割することができる。
なお、生成装置1000は、図16に示した連結示性式生成処理で生成される連結示性式の出現回数を計数し、ランキング表示することとしてもよい。以下、図18および図19を用いて詳細に説明する。
図18は、ランキング表示する場合の連結示性式群の生成処理手順を示すフローチャートである。まず、生成装置1000は、文書情報DB1020から未選択の文書情報があるか否かを判断する(ステップS1801)。未選択の文書情報がある場合(ステップS1801:Yes)、未選択の文書情報を1つ選択する(ステップS1802)。そして、生成装置1000は、連結示性式生成処理を実行する(ステップS1803)。連結示性式生成処理(ステップS1803)は、図16に示したように、連結示性式を生成する処理である。詳細は、図19で説明する。
連結示性式生成処理(ステップS1803)の後、ステップS1801に戻る。ステップS1801において、未選択の文書情報がない場合(ステップS1801:No)、生成装置1000は、ランキング情報を出力する(ステップS1804)。これにより、一連の処理を終了する。
図19は、図18に示した連結示性式生成処理(ステップS1803)の詳細な処理手順を示すフローチャートである。なお、図16と同一ステップには同一ステップ番号を付し、その説明を省略する。図16との違いは、ステップS1609において、連結示性式を生成したあと、生成した連結示性式についてランキング情報を更新する点である。
生成装置1000は、ステップS1609のあと、ランキング情報を更新する(ステップS1900)。ランキング情報とは、図11に示した計数結果のことである。具体的には、たとえば、生成装置1000は、生成された部分示性式がランキング情報に未登録の場合は登録し、出願回数を「1」とする。
また、登録済みの場合は、生成装置1000は、ランキング情報において、該当する部分示性式の出現回数をインクリメントする。ステップS1900のあと、ステップS1603に戻り、生成装置1000は、物質名の文字列があるかを判断することになる。そして、物質名の文字列がない場合(ステップS1603:No)、図18のステップS1801に移行する。これにより、最終的に図11に示したようなランキング情報が出力される。これにより、ユーザは、連結示性式ごとの出現回数の多さを参照することで、文書情報からは知ることができなかった抽出物質名の示性式がどのくらい有用であるかを把握することができる。
以上説明したように、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、化学反応のルールを適用することにより、化学式から派生した化学式の生成精度の向上を図ることができる。
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、生成された化学式についてさらにルールを適用することで、化学式とその部分名を再帰的に生成することができる。したがって、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、データベースに依存することなく、多種多様な化学式を生成することができる。
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、ルールが適用されて生成された化学式とその部分名の組をデータベースに登録することにより、データベースを自動的に生成することができる。
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、再帰的に生成された化学式とその部分名をデータベースに登録することにより、データベースへの登録種類数の増加を図ることができる。
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、データベースに新規登録された場合のみ再帰的な生成対象とすることにより、重複登録を抑制して、データベースの省メモリ化を図ることができる。
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、生成された化学式または当該化学式を含む化学式の存在を、文書情報の中から特定することにより、有用な化学式についてデータベースに蓄積していくことができる。
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、文書情報からの抽出物質名を分割して、分割した物質名とその化学式の組ごとに、ルールの適用をおこなってあらたな物質名とその化学式を生成する。したがって、ユーザは、目的とする文書情報を与えることにより、文書情報からの抽出物質名に由来する化学式やその物質名を知ることができる。
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、文書情報からの抽出物質名を分割して、分割した物質名ごとに対応する化学式をデータベースから検索することにより、検索された化学式を連結した連結化学式を生成することができる。
具体的には、化学物質の場合、分子同士が結合する時に外れる原子などがあり、単純に部分々々の示性式を組み合わせても正しい示性式が生成できるとは限らない。たとえば、メトキシの示性式「CH3O」であり、プロパノールの示性式が「CH3CH(OH)CH3」である。そして、単純にメトキシプロパノールの示性式を生成しようとすると「CH3OCH3CH(OH)CH3」となるが、これは誤りである。正しくは「CH3OCH2CH(OH)CH3」である。
したがって、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、単に示性式を結合させるのではなく、化学反応に応じたルールに従って部分示性式を生成することにより、連結示性式の生成精度の向上を図ることができる。またこれにより、ユーザは、物質名と示性式との対応関係がわからない場合でも、多様な部分示性式を生成し連結することで、目的の物質の示性式を得ることができる。
また、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、連結化学式の出現回数を計数してランキング化することにより、ユーザはどの連結化学式が有用であるか、存在しうるかなどの指標として用いることができる。
このように、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、部分々々の示性式を組み合わせることができる。これにより、本実施の形態にかかる生成装置、生成方法、および生成プログラムは、明示的に示性式が書かれていない物質についても示性式を得ることができ、特許文書などの文書情報を読む人の理解を助けることができる。
また、通常の物質名では、意味のある物質名の切れ方がわからないが、本実施の形態にかかる生成装置、生成方法、および生成プログラムを利用することで、1つの物質名を意味のある単位に分割し、部分的な示性式も生成することができる。これにより、ユーザは、物質の成り立ち方や部分的な性質を知ることができるようになる。例えば、「メトシキプロパノール」は「メトシキ基」と「プロパノール」が結合してできているということがわかる。
なお、本実施の形態で説明した生成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本生成プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本生成プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)物質名および当該物質名の化学式を取得する取得部と、
適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出する抽出部と、
前記取得部によって取得された化学式が、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断する判断部と、
前記判断部によって満たすと判断された場合、前記化学式および前記物質名を前記変換内容にしたがって変換する変換部と、
を有することを特徴とする生成装置。
(付記2)前記抽出部は、
前記変換部による変換済みの化学式および物質名について、ルール群の中からいずれかのルールを抽出し、
前記判断部は、
前記変換部による変換済みの化学式が、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記変換部は、
前記判断部によって満たすと判断された場合、前記変換部による変換済みの化学式および物質名を前記変換内容にしたがって変換することを特徴とする付記1に記載の生成装置。
(付記3)前記変換済みの化学式および物質名をデータベースに登録する登録部を有することを特徴とする付記1に記載の生成装置。
(付記4)前記抽出部は、
前記変換部による変換済みの化学式および物質名について、前記ルール群の中からいずれかのルールを抽出し、
前記判断部は、
前記変換部による変換済みの化学式が、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記変換部は、
前記判断部によって満たすと判断された場合、前記変換部による変換済みの化学式および物質名を前記変換内容にしたがって変換し、
前記登録部は、
前記変換部による変換済みの化学式および物質名を前記データベースに登録することを特徴とする付記3に記載の生成装置。
(付記5)前記変換済みの化学式および物質名が前記登録部において新規登録された化学式および物質名であるか否かを判定する判定部を有し、
前記抽出部は、
前記判定部によって新規登録であると判定された場合、前記変換部による変換済みの化学式および物質名について、前記ルール群の中からいずれかのルールを抽出することを特徴とする付記4に記載の生成装置。
(付記6)文書情報の中に前記変換済みの化学式または当該化学式を含む化学式が存在をするかを特定する特定部を有し、
前記登録部は、
前記特定部によって前記変換済みの化学式または当該化学式を含む化学式の存在が特定された場合、前記変換済みの化学式および物質名を前記データベースに登録することを特徴とする付記3〜5のいずれか一つに記載の生成装置。
(付記7)文書情報から物質名と見なす文字列を抽出物質名として抽出し、前記データベースから該抽出をした抽出物質名と最長一致する第1の物質名を抽出し、該抽出物質名から該第1の物質名を除いた残余の文字列から、当該残余の文字列と一致する前記データベース内の第2の物質名を抽出することにより、前記抽出物質名を前記第1の物質名と前記第2の物質名とに分割する分割部を有し、
前記取得部は、
物質名と該物質名に関する化学式とを対応付けて持つ辞書を参照して、前記第1の物質名の第1の化学式と、前記第2の物質名の第2の化学式と、を取得し、
前記抽出部は、
前記第1の物質名および前記第1の物質名の第1の化学式と前記第2の物質名および前記第2の物質名の第2の化学式のそれぞれについて、前記ルール群の中からいずれかのルールを抽出し、
前記判断部は、
前記第1の化学式と前記第2の化学式のそれぞれについて、前記抽出部によって抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記変換部は、
前記第1の物質名および前記第1の物質名の第1の化学式と前記第2の物質名および前記第2の物質名の第2の化学式のそれぞれについて、前記判断部によって満たすと判断された場合、前記変換内容にしたがって変換し、
前記登録部は、
前記第1の物質名および前記第1の物質名の第1の化学式と前記第2の物質名および前記第2の物質名の第2の化学式のそれぞれについて、前記変換部による変換済みの化学式および物質名を前記データベースに登録することを特徴とする付記3〜6のいずれか一つに記載の生成装置。
(付記8)文書情報からの抽出物質名から、当該抽出物質名と一致する前記データベース内の第1の物質名を抽出し、前記抽出物質名から前記第1の物質名を除いた残余の文字列から、当該残余の文字列と一致する前記データベース内の第2の物質名を抽出することにより、前記抽出物質名を前記第1の物質名と前記第2の物質名とに分割する分割部と、
前記分割部によって分割された第1の物質名の第1の化学式を前記データベースから検索するとともに、前記分割部によって分割された第2の物質名の第2の化学式を前記データベースから検索する検索部と、
前記検索部によって検索された前記第1の化学式および前記第2の化学式を連結した連結化学式を生成する生成部と、
を有することを特徴とする3〜6のいずれか一つに記載の生成装置。
(付記9)前記文書情報において前記生成部によって生成された連結化学式の出現回数を計数し、出現回数順に各連結化学式をソートする計数部と、
前記計数部によって計数された出現回数順の各連結化学式を出力する出力部と、
を有することを特徴とする付記8に記載の生成装置。
(付記10)前記変換部は、
前記物質名についての前記変換内容が、特定の語頭の追加を規定した変換内容である場合、前記物質名に前記特定の語頭を追加することを特徴とする付記1〜9のいずれか一つに記載の生成装置。
(付記11)前記変換部は、
前記物質名についての前記変換内容が、特定の語尾の追加を規定した変換内容である場合、前記物質名の語幹に前記特定の語尾を追加することを特徴とする付記1〜9のいずれか一つに記載の生成装置。
(付記12)コンピュータが、
物質名および当該物質名の化学式を取得し、
適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出し、
取得された化学式が、抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記判断によって満たすと判断された場合、前記化学式および前記物質名を前記変換内容にしたがって変換する、
ことを特徴とする生成方法。
(付記13)物質名および当該物質名の化学式を取得し、
適用すべき化学反応に関する条件と当該条件を満たした場合の変換内容を規定したルール群の中からいずれかのルールを抽出し、
取得された化学式が、抽出されたいずれかのルールでの適用すべき条件を満たすか否かを判断し、
前記判断によって満たすと判断された場合、前記化学式および前記物質名を前記変換内容にしたがって変換する、
処理をコンピュータに実行させることを特徴とする生成プログラム。