以下、本発明による情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、発明情報中の構成要素情報を基に、構成要素対応情報から不足している構成要素情報を補完し、出願文書情報を生成する情報処理装置について説明する。
[構成要素の説明]
図1は、本実施の形態における情報処理装置1のブロック図である。
情報処理装置1は、発明情報記憶部101、構成要素対応情報記憶部102、最上位構成要素指定情報受付部103、最上位構成要素指定情報蓄積部104、構成要素分類情報受付部105、構成要素分類情報蓄積部106、構成要素情報抽出パターン記憶部107、構成要素情報抽出部108、構成要素情報取得部109、出願文書情報作成部110、出願文書情報出力部111、を備える。
発明情報記憶部101は、発明情報を記憶する。
ここで、発明情報とは、1以上の発明に関する情報であって、発明を特定する情報である。なお、発明情報は、発明特定情報を構成する情報を含む情報であってもよい。この発明特定情報は、1以上の発明に関する情報であって、発明を特定する情報であってもよい。また、発明特定情報は、発明を構成する構成要素の名称を示す情報である構成要素情報と、その構成要素の動作についての説明文を示す情報である構成要素説明情報から構成される。また、発明情報は、発明特定情報が含む構成要素情報間の関係を示す情報を含んでいてもよい。この情報は、例えば、階層を示す情報であってもよいし、親子関係を示す情報であってもよい。
また、発明情報の形式は、発明特定情報が含まれていればよく、例えば、請求項の形式になっているものでもよいし、表形式になっているものでもよいし、箇条書きの形式になっているものでもよいし、その形式は問わない。
請求項の形式になっている発明情報は、例えば、特許出願のための出願文書における[特許請求の範囲]に記載されている内容と同様のものであってもよい。また、表形式になっている発明情報は、例えば、1行の構成が、「≪請求項番号≫|≪発明の概要≫|≪実施の形態番号≫|≪構成要素名≫|≪構成要素説明≫」のような形式になっているものであってもよい。ここで、「≪請求項番号≫」は、請求項番号を示す情報を意味する。また、「≪発明の概要≫」は、発明の概要を示す情報を意味する。また、「≪実施の形態番号≫」は、実施の形態番号を示す情報を意味する。また、「≪構成要素名≫」は、構成要素情報を意味する。また、「≪構成要素説明≫」は、構成要素説明情報を意味する。また、箇条書きの形式になっている発明情報は、例えば、「≪構成要素名≫:≪構成要素説明≫」のような形式で箇条書きになっているものであってもよい。ここでの「≪構成要素名≫」と「≪構成要素説明≫」は、上記と同様の意味である。
発明情報は、1つの発明を表現する請求項を1つの単位としてもよいし、複数の請求項から構成される情報を1つの単位としてもよい。
発明情報記憶部101は、揮発性の一時メモリ(いわゆるメインメモリなど)でもハードディスクやCD−ROMなどの不揮発性のメモリでもよい。また、発明情報記憶部101に発明情報が記憶される過程は問わない。例えば、記録媒体を介して発明情報が発明情報記憶部101で記憶されるようになってもよいし、通信回線などを介して送信された発明情報が発明情報記憶部101で記憶されるようになってもよいし、あるいは、入力デバイスを介して入力された発明情報が発明情報記憶部101で記憶されるようになってもよい。
構成要素対応情報記憶部102は、構成要素対応情報を記憶する。
ここで、構成要素対応情報とは、構成要素情報と、この構成要素情報に関連する構成要素情報を階層的に対応付けた情報である。また、構成要素情報とは、発明の構成要素を示す情報である。また、「関連する」とは、例えば、発明を構成する構成要素と、その構成要素を構成する構成要素との関係などである。「関連する」とは、例えば、発明を構成する構成要素と、その構成要素の上位概念の構成要素、下位概念の構成要素との関係などであってもよい。
構成要素対応情報は、例えば、構成要素情報の親子関係を示す情報であってもよい。例えば、発明を示す「入力部と、処理部と、出力部と、を備える情報処理装置」という情報であれば、親は「情報処理装置」となり、子は「入力部」、「処理部」、「出力部」となり、これらの親子の情報を、親から子へ、子から親へたどることができるように対応付けられた情報であってもよい。この場合、親の構成要素情報に対応する子の構成要素情報を関連構成要素情報と呼んでもよいし、子の構成要素情報に対応する親の構成要素情報を関連構成要素情報と呼んでもよい。上記の例であれば、親の構成要素情報である「情報処理装置」に対して、子の構成要素情報である「入力部」、「処理部」、および「出力部」が関連構成要素情報となり、子の構成要素情報である「入力部」、「処理部」、または「出力部」に対して、「情報処理装置」が関連構成要素情報となる。
また、構成要素対応情報は、例えば、構成要素情報の複数の階層関係を示す情報であってもよい。例えば、発明を示す「入力部と、処理部と、出力部と、を備える情報処理装置。入力部は、第一入力手段と、第二入力手段と、を備える。処理部は、第一処理部と、第二処理部と、を備える。出力部は、第一出力部と、第二出力部と、を備える。」という情報であれば、1階層目の情報を「情報処理装置」、2階層目の情報を「入力部」、「処理部」、「出力部」、3階層目の情報を「第一入力手段」、「第二入力手段」、「第一処理部」、「第二処理部」、「第一出力部」、「第二出力部」とし、これらの階層の情報を、1階層目、2階層目、3階層目の間で相互にたどることができるように対応付けられた情報であってもよい。この場合、1階層目の構成要素情報に対応する2階層目の構成要素情報を関連構成要素情報と呼んでもよいし、2階層目の構成要素情報に対応する1階層目、3階層目の構成要素情報を関連構成要素情報と呼んでもよいし、3階層目の構成要素情報に対応する2階層目の構成要素情報を関連構成要素情報と呼んでもよい。
上記の例であれば、1階層目の構成要素情報である「情報処理装置」に対して、2階層目の構成要素情報である「入力部」、「処理部」、および「出力部」が関連構成要素情報となる。また、2階層目の構成要素情報である「入力部」に対して、1階層目の構成要素情報である「情報処理装置」と3階層目の構成要素情報である「第一入力手段」と「第二入力手段」が関連構成要素情報となり、2階層目の構成要素情報である「処理部」に対して、1階層目の構成要素情報である「情報処理装置」と、3階層目の構成要素情報である「第一処理手段」と「第二処理手段」が関連構成要素情報となり、2階層目の構成要素情報である「出力部」に対して、1階層目の構成要素情報である「情報処理装置」と、3階層目の構成要素情報である「第一出力手段」と「第二出力手段」が関連構成要素情報となる。さらに、3階層目の構成要素情報である「第一入力手段」、「第二入力手段」に対して、2階層目の構成要素情報である「入力部」が関連構成要素情報となり、3階層目の構成要素情報である「第一処理手段」、「第二処理手段」に対して、2階層目の構成要素情報である「処理部」が関連構成要素情報となり、3階層目の構成要素情報である「第一出力手段」、「第二出力手段」に対して、2階層目の構成要素情報である「出力部」が関連構成要素情報となる。
つまり、上記のように、構成要素対応情報に含まれる2以上の構成要素情報の相対的な関係を表す際に、構成要素情報と呼んだり、関連構成要素情報と呼んだりするということである。
また、上記のように、構成要素対応情報は、任意の構成要素を示す構成要素情報と、その構成要素を構成する構成要素を示す構成要素情報とが相互にたどることができるように対応付けられていればよく、リスト形式であってもよく、表形式であってもよく、そのデータ形式は問わない。
例えば、構成要素対応情報がリスト形式である場合、上記の例では、1階層目の構成要素情報である「情報処理装置」は、2階層目の構成要素情報である「入力部」、「処理部」、および「出力部」を指すポインタを有することになる。また、2階層目の構成要素情報である「入力部」は、1階層目の構成要素情報である「情報処理装置」を指すポインタと、3階層目の構成要素情報である「第一入力手段」と「第二入力手段」を指すポインタを有し、2階層目の構成要素情報である「処理部」は、1階層目の構成要素情報である「情報処理装置」を指すポインタと、3階層目の構成要素情報である「第一処理手段」と「第二処理手段」を指すポインタを有し、2階層目の構成要素情報である「出力部」に対して、1階層目の構成要素情報である「情報処理装置」を指すポインタと、3階層目の構成要素情報である「第一出力手段」と「第二出力手段」を指すポインタを有することになる。さらに、3階層目の構成要素情報である「第一入力手段」、「第二入力手段」は、2階層目の構成要素情報である「入力部」を指すポインタを有し、3階層目の構成要素情報である「第一処理手段」、「第二処理手段」は、2階層目の構成要素情報である「処理部」を指すポインタを有し、3階層目の構成要素情報である「第一出力手段」、「第二出力手段」は、2階層目の構成要素情報である「出力部」を指すポインタを有することになる。以上のようにして、各階層間の構成要素情報の対応関係を示すようにしてもよい。
また、例えば、構成要素対応情報が表形式である場合、1列目に1階層目の構成要素情報が格納され、2列目に2階層目の構成要素情報が格納され、3列目に3階層目の構成要素情報が格納されるという形式であってもよい。この場合、例えば、各行により、格納されている構成要素情報の対応関係を示すようにしてもよい。例えば、表形式である構成要素対応情報の1行目1列目を(1,1)、2行目3列目を(2,3)のような形式で指定するものとした場合、上記の例では、(1,1)に1階層目の構成要素情報である「情報処理装置」を格納し、(1,2)と(2,2)に2階層目の構成要素情報である「入力部」を格納し、(1,3)と(2,3)のそれぞれに3階層目の構成要素情報である「第一入力手段」と「第二入力手段」を格納する。そして、1階層目の構成要素情報である「情報処理装置」に対応する2階層目の構成要素情報は「入力部」であり、その「入力部」に対応する3階層目の構成要素情報は「第一入力手段」と「第二入力手段」であることを示すようにしてもよい。その他の「処理部」や「出力部」についても同様の形式で格納することにより、それぞれの構成要素情報の対応関係を示すようにしてもよい。
また、構成要素対応情報は、最上位構成要素指定情報と構成要素分類情報を含んでいてもよい。この最上位構成要素指定情報と構成要素分類情報については後述する。
構成要素対応情報記憶部102は、揮発性の一時メモリ(いわゆるメインメモリなど)でもハードディスクやCD−ROMなどの不揮発性のメモリでもよい。また、構成要素対応情報記憶部102に構成要素対応情報が記憶される過程は問わない。例えば、記録媒体を介して構成要素対応情報が構成要素対応情報記憶部102で記憶されるようになってもよいし、通信回線などを介して送信された構成要素対応情報が構成要素対応情報記憶部102で記憶されるようになってもよいし、あるいは、入力デバイスを介して入力された構成要素対応情報が構成要素対応情報記憶部102で記憶されるようになってもよい。
最上位構成要素指定情報受付部103は、最上位構成要素指定情報を受け付ける。
ここで、最上位構成要素指定情報とは、構成要素対応情報における各構成要素情報に対応する最上位階層の構成要素情報である最上位構成要素情報を特定するための情報である。つまり、後述する構成要素情報取得部109が構成要素対応情報から構成要素情報を取得するために、1つの構成要素情報から構成要素対応情報をたどっていく際に、どの構成要素情報までたどればそのたどる処理を終了するかを示す情報である。
最上位構成要素指定情報は、どの構成要素情報までたどればそのたどる処理を終了するかを示すことができる情報であればよく、その形式は問わない。つまり、最上位構成要素指定情報は、例えば、1つの構成要素情報からの相対的な指定を示す情報であってもよいし、構成要素情報に関係ない絶対的な指定を示す情報であってもよいし、最上位階層の構成要素情報となる構成要素情報の直接的な指定を示す情報であってもよい。相対的な指定を示す情報であれば、例えば、2階層分たどることを示す情報であってもよいし、絶対的な指定を示す情報であれば、例えば、1階層目までたどることを示す情報であってもよいし、直接的な指定を示す情報であれば、例えば、「情報処理装置」といった情報であってもよい。
ここで、「直接的」とは、任意の構成要素情報に対応する最上位階層の構成要素情報の指定を、構成要素情報そのものにより行うことを意味する。
また、最上位構成要素指定情報受付部103は、最上位構成要素指定情報を受け付ける際に、最上位構成要素指定情報を受け付けるための情報を、外部に対して提示してもよい。この場合、構成要素対応情報記憶部102が記憶している構成要素対応情報を提示してもよいし、構成要素対応情報記憶部102が記憶している構成対応情報に含まれる構成要素情報であって、後述する構成要素情報抽出部108が抽出した構成要素情報に対応した構成要素情報を提示してもよい。前者の場合は、最上位構成要素指定情報受付部103は、後述する構成要素情報抽出部108が構成要素情報を抽出する前に、最上位構成要素指定情報を受け付けるための情報を外部に提示してもよいし、後述する構成要素情報抽出部108が構成要素情報を抽出した後に、最上位構成要素指定情報を受け付けるための情報を外部に提示してもよい。また、後者の場合は、最上位構成要素指定情報受付部103は、後述する構成要素情報抽出部108が構成要素情報を抽出した後に、最上位構成要素指定情報を受け付けるための情報を外部に提示することになる。
また、「受け付け」とは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
入力手段は、テンキーやキーボードやマウスやメニュー画面によるものなど、何でもよい。最上位構成要素指定情報受付部103は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェアなどで実現され得る。
最上位構成要素指定情報蓄積部104は、最上位構成要素指定情報受付部103が受け付けた最上位構成要素指定情報を、構成要素対応情報記憶部102が記憶している構成要素対応情報に蓄積する。
上記、構成要素対応情報が最上位構成要素指定情報を含む場合、その最上位構成要素指定情報は、構成要素対応情報に元々含まれている情報であってもよいし、最上位構成要素指定情報蓄積部104が蓄積した情報であってもよい。
最上位構成要素指定情報が構成要素対応情報に元々含まれているとは、例えば、明示的に、「入力部 ⇒ 情報処理装置まで」や「第二出力手段 ⇒ 2階層目まで」のように、構成要素対応情報に含まれる各構成要素情報に対応付けられていることを意味する。ここで、上記において、左側の「入力部」、「第二出力手段」は構成要素情報を表し、右側の「情報処理装置まで」、「2階層目まで」は最上位構成要素指定情報を表す。
また、構成要素対応情報に最上位構成要素指定情報が含まれる形式は問わない。つまり、最上位構成要素指定情報は、例えば、「入力部 ⇒ 情報処理装置まで」や「第二出力手段 ⇒ 2階層目まで」のように、構成要素対応情報に含まれる各構成要素情報に対応付けられた形式であってもよい。また、例えば、「ALL ⇒ 1階層目まで」や「ALL ⇒ 2階層目まで」のように、すべての構成要素情報に一括で対応付けられた形式であってもよい。この場合、「ALL」は構成要素対応情報に含まれるすべての構成要素情報を示すものとする。さらに、例えば、「1階層目まで」や「2階層目まで」のように、構成要素対応情報に含まれる各構成要素情報に対応付けられていない形式であってもよい。この場合、最上位構成要素指定情報は、例えば、構成要素対応情報に含まれるすべての構成要素情報に対応付けられているものとみなしてもよいし、例えば、特定の階層の構成要素情報に対応付けられているものとみなしてもよい。
最上位構成要素指定情報蓄積部104は、通常、MPUやメモリ等から実現され得る。最上位構成要素指定情報蓄積部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
構成要素分類情報受付部105は、構成要素分類情報を受け付ける。
ここで、構成要素分類情報とは、構成要素対応情報における各構成要素情報の分類を示す情報である。つまり、構成要素対応情報における2以上の構成要素情報に同じ構成要素分類情報が付与されていれば、それら2以上の構成要素情報は、同じ分類に属することを意味する。
構成要素分類情報は、それを示すことができる情報であればよく、その形式は問わない。つまり、構成要素分類情報は、例えば、「*」や「%」のような情報であってもよい。また、構成要素分類情報は、例えば、「制御グループ」、「電源グループ」のような情報であってもよい。さらに、構成要素分類情報は、例えば、「出力部、第一出力手段、第二出力手段」のような形式の情報であってもよい。また、例えば、構成要素対応情報が表形式の情報であれば、構成要素分類情報は、セルの色を示す情報であってもよい。
また、構成要素分類情報受付部105は、構成要素分類情報を受け付ける際に、構成要素分類情報を受け付けるための情報を、外部に対して提示してもよい。この場合、構成要素対応情報記憶部102が記憶している構成要素対応情報を提示してもよいし、構成要素対応情報記憶部102が記憶している構成対応情報に含まれる構成要素情報であって、後述する構成要素情報抽出部108が抽出した構成要素情報に対応した構成要素情報を提示してもよい。前者の場合は、構成要素分類情報受付部105は、後述する構成要素情報抽出部108が構成要素情報を抽出する前に、構成要素分類情報を受け付けるための情報を外部に提示してもよいし、後述する構成要素情報抽出部108が構成要素情報を抽出した後に、構成要素分類情報を受け付けるための情報を外部に提示してもよい。また、後者の場合は、構成要素分類情報受付部105は、後述する構成要素情報抽出部108が構成要素情報を抽出した後に、構成要素分類情報を受け付けるための情報を外部に提示することになる。
入力手段は、テンキーやキーボードやマウスやメニュー画面によるものなど、何でもよい。構成要素分類情報受付部105は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェアなどで実現され得る。
構成要素分類情報蓄積部106は、構成要素分類情報受付部105が受け付けた構成要素分類情報を、構成要素対応情報記憶部102が記憶している構成要素対応情報に蓄積する。
上記、構成要素対応情報が構成要素分類情報を含む場合、その構成要素分類情報は、構成要素対応情報に元々含まれている情報であってもよいし、構成要素分類情報蓄積部106が蓄積した情報であってもよい。
構成要素分類情報が構成要素対応情報に元々含まれているとは、例えば、明示的に、「入力部 ⇒ *」や「第二出力手段 ⇒ %」のように、構成要素対応情報に含まれる各構成要素情報に対応付けられていることを意味する。ここで、上記において、左側の「入力部」、「第二出力手段」は構成要素情報を表し、右側の「*」、「%」は構成要素分類情報を表す。
また、構成要素対応情報に構成要素分類情報が含まれる形式は問わない。つまり、構成要素分類情報は、例えば、「入力部 ⇒ *」や「第二出力手段 ⇒ %」のように、構成要素対応情報に含まれる各構成要素情報に対応付けられた形式であってもよい。また、例えば、「ALL ⇒ *」のように、すべての構成要素情報に一括で対応付けられた形式であってもよい。この場合、「ALL」は構成要素対応情報に含まれるすべての構成要素情報を示すものとする。さらに、例えば、「1階層目」や「出力部、第一出力手段、第二出力手段」のように、構成要素対応情報に含まれる各構成要素情報に対応付けられていない形式であってもよい。この場合、構成要素分類情報は、前者であれば、例えば、指定されている階層の構成要素情報に、同じ構成要素分類情報が対応付けられているものとし、後者であれば、例えば、「出力部 ⇒ 分類1、第一出力手段 ⇒ 分類1、第二出力手段 ⇒ 分類1」のように、指定されている構成要素情報に対して、別途新たに構成要素分類情報が対応付けられているものとみなしてもよい。
構成要素分類情報蓄積部106は、通常、MPUやメモリ等から実現され得る。構成要素分類情報蓄積部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
構成要素情報抽出パターン記憶部107は、構成要素開始語句情報と構成要素終了語句情報を記憶する。
ここで、構成要素開始語句情報とは、構成要素情報の直前の文字列である。この構成要素開始語句情報は、後述する構成要素情報抽出部108が構成要素情報を抽出する際に手掛かり句として使用する情報である。構成要素開始語句情報は、例えば、「する」、「ある」、「いる」、「える」などである。
また、構成要素終了語句情報とは、構成要素情報の直後の文字列である。この構成要素終了語句情報は、後述する構成要素情報抽出部108が構成要素情報を抽出する際に手掛かり句として使用する情報である。構成要素終了語句情報は、例えば、「を備え」、「をもさらに備え」、「と、≪改行≫」などである。ここで、「≪改行≫」は、文字列中の改行を意味する。
構成要素情報抽出パターン記憶部107は、揮発性の一時メモリ(いわゆるメインメモリなど)でもハードディスクやCD−ROMなどの不揮発性のメモリでもよい。また、構成要素情報抽出パターン記憶部107に構成要素開始語句情報と構成要素終了語句情報が記憶される過程は問わない。例えば、記録媒体を介して構成要素開始語句情報と構成要素終了語句情報が構成要素情報抽出パターン記憶部107で記憶されるようになってもよい。また、通信回線などを介して送信された構成要素開始語句情報と構成要素終了語句情報が構成要素情報抽出パターン記憶部107で記憶されるようになってもよい。さらに、入力デバイスを介して入力された構成要素開始語句情報と構成要素終了語句情報が構成要素情報抽出パターン記憶部107で記憶されるようになってもよい。
構成要素情報抽出部108は、発明情報記憶部101が記憶している発明情報から、構成要素情報を抽出する。構成要素情報抽出部108は、例えば、構成要素情報抽出パターン記憶部107が記憶している構成要素開始語句情報と構成要素終了語句情報との間に挟まれた文字列である構成要素情報を、発明情報から1以上抽出してもよい。この場合、構成要素情報抽出部108は、構成要素開始語句情報と構成要素終了語句情報との間に挟まれる文字列が、最短になるように構成要素情報を抽出してもよい。
例えば、発明情報が請求項の形式になっている場合であれば、構成要素情報抽出部108は、例えば、発明情報に含まれる請求項を示す情報を1つの単位とし、その単位ごとに構成要素情報を抽出してもよい。また、この場合、構成要素情報抽出部108は、例えば、発明情報に含まれる文の開始から改行までを1つの単位とし、その単位ごとに構成要素情報を抽出してもよい。また、この場合、構成要素情報抽出部108は、例えば、発明情報に含まれる改行から改行まで、または改行から文の終端までを1つの単位とし、その単位ごとに構成要素情報を抽出してもよい。
また、例えば、発明情報が、前述の例のように構成要素情報と構成要素説明情報が任意の記号により区切られている形式で箇条書きになっている場合であれば、例えば、箇条書きになっている文字列を1つの単位とし、その単位ごとにその記号よりも前にある文字列を構成要素情報として抽出してもよい。
また、例えば、発明情報が表形式になっている場合であれば、構成要素情報抽出部108は、例えば、列情報や行情報を基に構成要素情報を抽出してもよい。
ここで、列情報とは、例えば、「element=Col:5」のような形式の情報などである。これは、構成要素情報が5列目に存在することを示す列情報の例である。また、行情報とは、例えば、「element=Row:10」のような形式の情報などである。これは、構成要素情報が10列目に存在することを示す行情報の例である。
この場合、構成要素情報抽出部108は、例えば、列情報から列番号を抽出し、その列番号に該当する列を走査し、存在する文字列を構成要素情報として抽出してもよい。また、この場合、構成要素情報抽出部108は、例えば、列情報から列番号を抽出し、行情報から行番号を抽出し、その列番号と行番号で示される場所に存在する文字列を構成要素情報として抽出してもよい。
これらの列情報、および行情報は、例えば、任意の記憶領域に蓄積されているものであってもよいし、構成要素情報抽出部108が構成要素情報を抽出する際に、外部から取得するものであってもよい。
構成要素情報抽出部108は、通常、MPUやメモリ等から実現され得る。構成要素情報抽出部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
構成要素情報取得部109は、構成要素対応情報に含まれる情報に応じて、以下の4つの処理のいずれか1つの処理を行ってもよいし、2つ以上の処理を並行して行ってもよい。なお、構成要素情報取得部109は、1つの処理を行う場合でも、2つ以上の処理を並行して行う場合であっても、取得した構成要素情報に重複がある場合は、その重複を削除するようにしてもよい。
構成要素情報取得部109は、通常、MPUやメモリ等から実現され得る。構成要素情報取得部109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
[構成要素対応情報に最上位構成要素指定情報と構成要素分類情報が共に含まれない場合]
構成要素情報取得部109は、構成要素対応情報記憶部102が記憶している構成要素対応情報から、構成要素情報抽出部108が抽出した構成要素情報に対応付けられた構成要素情報を取得する。
この場合、例えば、構成要素情報抽出部108が抽出した構成要素情報が親の構成要素情報であれば、構成要素情報取得部109は、その親の構成要素情報に対応した子の構成要素情報を取得する。また、例えば、構成要素情報抽出部108が抽出した構成要素情報が2階層目の構成要素情報であれば、構成要素情報取得部109は、その2階層目の構成要素情報に対応した1階層目と3階層目の構成要素情報を取得する。
また、構成要素情報取得部109は、例えば、構成要素情報抽出部108が抽出した構成要素情報に対応する親の構成要素情報、および子の構成要素情報を取得し、さらに、それらに対応する親の構成要素情報、および子の構成要素情報を取得する。この処理を繰り返し、対応する親の構成要素情報、および子の構成要素情報が存在しなくなるまで、対応する構成要素情報を取得してもよい。
[構成要素対応情報に最上位構成要素指定情報が含まれる場合]
構成要素情報取得部109は、構成要素対応情報記憶部102が記憶している構成要素対応情報から、構成要素情報抽出部108が抽出した構成要素情報に対応する最上位構成要素指定情報により特定される最上位構成要素情報よりも下位階層の構成要素情報であって、この最上位構成要素情報に直接的にも間接的にも対応付けられた構成要素情報を取得する。
ここで、「直接的」とは、構成要素対応情報において、1以上の階層を隔てることなくたどることのできる2つの構成要素情報間の関係を意味する。
また、「間接的」とは、構成要素対応情報において、1以上の階層を隔ててたどることのできる2つの構成要素情報間の関係を意味する。
また、「たどることのできる」とは、例えば、構成要素対応情報が表形式である場合であれば、例えば、構成要素対応情報に含まれる任意の構成要素情報から上下・左右に移動し、空白のセルを隔てることなく到達できることを意味する。
また、「直接的にも間接的にも対応付けられた構成要素情報」とは、ある1つの構成要素情報から、直接的にたどることができ、かつ間接的にもたどることができる構成要素情報、という意味ではなく、1つの構成要素情報から、直接的にたどることができる構成要素情報と、間接的にたどることができる構成要素情報、という意味である。
構成要素情報取得部109は、例えば、構成要素情報抽出部108が抽出した構成要素情報のうちの1つから構成要素対応情報をたどっていく処理を開始する。そして、その構成要素情報に対応付けられた構成要素情報、その構成要素情報に対応付けられた構成要素情報、・・・、という具合に順に構成要素対応情報をたどっていき、構成要素情報抽出部108が抽出した構成要素情報に対応する最上位構成要素指定情報により特定される最上位構成要素情報までたどれば、一旦たどる処理を終了する。そして、その最上位構成要素情報から、再度、構成要素対応情報をたどっていく処理を開始する。その際、その最上位構成要素よりも下位階層の構成要素情報をたどるようにする。また、一度、上位階層にたどってからたどることのできる下位階層の構成要素情報はたどらないようにする。さらに、その際、次にたどることができる構成要素情報が存在しない構成要素情報までたどれば、たどる処理を終了する。以下、特に指定がない限り、次にたどることができる構成要素情報が存在しない構成要素情報までたどれば、たどる処理を終了するものとする。
そして、その最上位構成要素情報に対応付けられた構成要素情報、その構成要素情報に対応付けられた構成要素情報、・・・、という具合に順に構成要素対応情報をたどっていく。そして、たどった構成要素情報を取得する。構成要素情報取得部109は、上記のようにして関連構成要素情報を取得してもよい。またこの場合、構成要素情報取得部109は、例えば、構成要素情報抽出部108が抽出した構成要素情報のそれぞれから上記処理を開始してもよい。
[構成要素対応情報に構成要素分類情報が含まれる場合]
構成要素情報取得部109は、構成要素対応情報記憶部102が記憶している構成要素対応情報から、構成要素分類情報により、構成要素情報抽出部108が抽出した構成要素情報と同じ分類に属することが示された構成要素情報である同類構成要素情報を取得する。
また、構成要素情報取得部109は、上記同類構成要素情報に加え、当該同類構成要素情報よりも下位階層の構成要素情報であって、この同類構成要素情報に直接的にも間接的にも対応付けられた構成要素情報をも取得してもよい。
ここで、同類構成要素情報とは、構成要素分類情報により、構成要素情報抽出部108が抽出した構成要素情報と同じ分類に属することが示された構成要素情報を、便宜上、指し示すものであって、当該構成要素情報と当該同類構成要素情報は、異なる情報ではない。
上記の後者の場合において、構成要素情報取得部109は、例えば、構成要素情報抽出部108が抽出した構成要素情報のうちの1つから構成要素対応情報をたどっていく処理を開始する。そして、その構成要素情報に対応付けられた構成要素情報、その構成要素情報に対応付けられた構成要素情報、・・・、という具合に順に構成要素対応情報をたどっていく。そして、たどった構成要素情報のうち、各構成要素情報の構成要素分類情報により、構成要素情報抽出部108が抽出した構成要素情報と同じ分類に属することが示された構成要素情報である同類構成要素情報を取得する。
そして、さらに、この同類構成要素情報に対応付けられた構成要素情報、その構成要素情報に対応付けられた構成要素情報、・・・、という具合に順に構成要素情報をたどっていく。そして、たどった構成要素情報を取得する。その際、上記同類構成要素情報よりも下位階層の構成要素情報をたどるようにする。また、一度、上位階層にたどってからたどることのできる下位階層の構成要素情報はたどらないようにする。
構成要素情報取得部109は、上記のようにして構成要素情報を取得してもよい。またこの場合、構成要素情報取得部109は、例えば、構成要素情報抽出部108が抽出した構成要素情報のそれぞれから上記処理を開始してもよい。
[構成要素対応情報に最上位構成要素指定情報と構成要素分類情報が共に含まれる場合]
構成要素情報取得部109は、構成要素対応情報記憶部102が記憶している構成要素対応情報から、構成要素情報抽出部108が抽出した構成要素情報に対応する最上位構成要素指定情報により特定される最上位構成要素情報よりも下位階層の構成要素情報であって、当該最上位構成要素情報に直接的にも間接的にも対応付けられた構成要素情報のうち、構成要素分類情報により、構成要素情報抽出部108が抽出した構成要素情報と同じ分類に属することが示された構成要素情報である同類構成要素情報を取得する。
また、この場合、構成要素情報取得部109は、上記同類構成要素情報に加え、当該同類構成要素情報よりも下位階層の構成要素情報であって、この同類構成要素情報に直接的にも間接的にも対応付けられた構成要素情報をも取得してもよい。
この場合、構成要素情報取得部109は、例えば、構成要素情報抽出部108が抽出した構成要素情報のうちの1つから構成要素対応情報をたどっていく処理を開始する。そして、その構成要素情報に対応付けられた構成要素情報、その構成要素情報に対応付けられた構成要素情報、・・・、という具合に順に構成要素対応情報をたどっていき、構成要素情報抽出部108が抽出した構成要素情報に対応する最上位構成要素指定情報により特定される最上位構成要素情報までたどれば、一旦たどる処理を終了する。
そして、その最上位構成要素情報から、再度、構成要素対応情報をたどっていく処理を開始する。その際、その最上位構成要素よりも下位階層の構成要素情報をたどるようにする。また、一度、上位階層にたどってからたどることのできる下位階層の構成要素情報はたどらないようにする。そして、その最上位構成要素情報に対応付けられた構成要素情報、その構成要素情報に対応付けられた構成要素情報、・・・、という具合に順に構成要素対応情報をたどっていく。そして、たどった構成要素情報のうち、各構成要素情報の構成要素分類情報により、構成要素情報抽出部108が抽出した構成要素情報と同じ分類に属することが示された構成要素情報である同類構成要素情報を取得する。
そして、さらに、この同類構成要素情報に対応付けられた構成要素情報、その構成要素情報に対応付けられた構成要素情報、・・・、という具合に順に構成要素情報をたどっていく。そして、たどった構成要素情報を取得する。その際、上記同類構成要素情報よりも下位階層の構成要素情報をたどるようにする。また、一度、上位階層にたどってからたどることのできる下位階層の構成要素情報はたどらないようにする。
構成要素情報取得部109は、上記のようにして構成要素情報を取得してもよい。またこの場合、構成要素情報取得部109は、例えば、構成要素情報抽出部108が抽出した構成要素情報のそれぞれから上記処理を開始してもよい。
また、構成要素情報取得部109は、構成要素対応情報から取得した構成要素情報に、構成要素情報抽出部108が含まれていない場合は、構成要素情報抽出部108が抽出した構成要素情報を、構成要素対応情報から取得した構成要素情報に含めてもよい。この場合、構成要素情報抽出部108が抽出した構成要素情報は、構成要素情報取得部109が構成要素対応情報から取得した構成要素情報であるものとする。本実施の形態では、この場合について説明する。
出願文書情報作成部110は、出願文書情報を作成する。
ここで、出願文書情報とは、特許出願の文書に関する情報であって、構成要素情報取得部109が取得した構成要素情報を含んだ、発明情報に関する1以上の実施の形態を示す情報を含む情報である。また、出願文書情報は、請求項情報と発明の内容を示す情報である明細書情報の一部から構成される情報であってもよい。さらに、出願文書情報は、明細書情報の一部のみから構成される情報であってもよいし、明細書情報が含む[発明の詳細な説明]の欄の情報のみから構成される情報であってもよい。
請求項情報とは、1以上の請求項を含む特許請求の範囲を示す情報であり、発明情報記憶部101が記憶している発明情報を含む情報である。例えば、発明情報記憶部101が記憶している発明情報の形式が請求項の形式になっている場合は、その発明情報そのものが請求項情報となる。また、例えば、発明情報記憶部101が記憶している発明情報の形式が表の形式になっている場合は、その表の形式の情報に含まれる「≪構成要素の名称≫」と「≪構成要素の説明≫」を、例えば「≪構成要素の説明≫≪構成要素情報≫と、≪構成要素の説明≫≪構成要素情報≫と、≪構成要素の説明≫≪構成要素情報≫と、・・・」のような請求項の形式に成型した情報が、請求項情報となる。つまり、請求項情報には発明情報が含まれていればよく、その発明情報の形式が請求項の形式になっていることが好適ではあるが、その形式は問わない。また、請求項情報は、例えば、公開特許公報などにおける[特許請求の範囲]の欄に含まれる全部、または一部の請求項を示す情報であってもよい。
出願文書情報作成部110は、例えば、共通文章情報と共通文章特定情報を対応付けた情報である共通文章対応情報と、構成要素情報取得部109が取得した構成要素情報と、発明情報記憶部101が記憶している発明情報とを、スタイルファイル情報において示された内容に従い成型していくことで、出願文書情報を作成する。
ここで、共通文章対応情報が含む共通文章情報とは、2以上の出願文書情報において共通する固定的な文言を示す情報である。例えば、共通文章情報は、実施の形態についての説明文の冒頭部分を示す「以下、本発明の実施の形態について説明する。」などであってもよい。また、共通文章対応情報が含む共通文章特定情報とは、共通文章情報を特定するための情報である。例えば、共通文章特定情報は、共通文章情報の意味に合わせた、共通文章情報が出願文書情報中のどこに出力されるべきであるかを示す情報であってもよいし、単に、共通文章情報の意味に関係のない任意の文字列であってもよい。前者であれば、例えば、共通文章情報が上記のように実施の形態についての説明文の冒頭部分を示す情報であれば、「実施の形態ヘッダ」などであってもよいし、後者であれば、例えば、「共通情報1」や「共通情報A」などであってもよい。
また、スタイルファイル情報とは、出願文書情報のフォーマットを指定した情報である。例えば、スタイルファイル情報は、出願文書情報において出力されるべきタグの情報や、共通文章情報を出力するための手掛りとなる共通文章特定情報を含んでいてもよい。前者は、例えば、「[発明の効果]」や「[発明を実施するための最良の形態]」などであってもよい。後者は、例えば、「<<実施の形態ヘッダ>>」などであってもよい。
出願文書情報作成部110は、例えば、構成要素情報取得部109が取得した構成要素情報から、その構成要素情報間の階層関係、および各構成要素の説明を示す情報である階層説明情報を生成し、それをスタイルファイル情報により指定された位置に出力することで、出願文書情報を作成する。また、出願文書情報作成部110は、例えば、スタイルファイル情報に含まれる共通文章特定情報を手掛りに、共通文章対応情報から共通文章情報を検索し、その共通文章情報をスタイルファイル情報に含まれる共通文章特定情報の箇所に出力することで出願文書情報を作成する。出願文書情報作成部110は、上記のようにして出願文書情報を作成してもよい。
また、共通文章対応情報とスタイルファイル情報は、任意の記憶領域に蓄積されている情報であってもよい。
また、出願文書情報作成部110は、例えば、スタイルファイル情報以外のあらかじめ決められた情報に従い、出願文書情報を作成してもよい。
出願文書情報作成部110は、通常、MPUやメモリ等から実現され得る。出願文書情報作成部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
出願文書情報出力部111は、出願文書情報作成部110が作成した出願文書情報を出力する。
ここで、「出力」とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
出願文書情報出力部111は、出願文書情報作成部110が作成した出願文書情報を、例えば、テキスト形式で出力してもよいし、その他、発明情報記憶部101が記憶している発明情報のデータ形式と同様の形式で出力してもよい。
出願文書情報出力部111は、ディスプレイやスピーカーなどの出力デバイスを含むと考えてもよい。出願文書情報出力部111は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイスなどで実現され得る。
[フローチャートの説明]
次に、情報処理装置1の動作について、フローチャートを用いて説明する。
図2は、情報処理装置1の全体動作を示すフローチャートである。
(ステップS101)情報処理装置1は、出願文書情報を作成するかどうか判断する。作成する場合にはステップS102に進み、そうでない場合には出願文書情報を作成すると判断するまでステップS101の処理を繰り返す。情報処理装置1は、例えば、ユーザからのキーボード入力など外部から作成する旨の指示を受け付けた場合などに出願文書情報を作成すると判断する。
(ステップS102)構成要素情報抽出部108は、発明情報記憶部101が記憶している発明情報を読み込む。ここで読み込んだ発明情報は、ステップS103の構成要素情報の抽出処理において使用する。
(ステップS103)構成要素情報抽出部108は、読み込んだ発明情報から構成要素情報を抽出する。この処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS104)最上位構成要素指定情報蓄積部104は、最上位構成要素指定情報受付部103が受け付けた最上位構成要素指定情報を、構成要素対応情報記憶部102が記憶している構成要素対応情報に蓄積する。
(ステップS105)構成要素分類情報蓄積部106は、構成要素分類情報受付部105が受け付けた構成要素分類情報を、構成要素対応情報記憶部102が記憶している構成要素対応情報に蓄積する。
(ステップS106)構成要素情報取得部109は、構成要素対応情報を読み込む。ここで読み込んだ構成要素対応情報は、ステップS108、ステップS109、ステップS110、ステップS111において使用する。
(ステップS107)構成要素情報取得部109は、読み込んだ構成要素対応情報に最上位構成要素指定情報、または構成要素分類情報が含まれているかどうかを判断する。最上位構成要素指定情報が含まれておらず、構成要素分類情報も含まれていない場合はステップS108に進み、最上位構成要素指定情報が含まれており、構成要素分類情報は含まれていない場合はステップS109に進む。また、最上位構成要素指定情報が含まれておらず、構成要素分類情報は含まれている場合はステップS110に進み、最上位構成要素指定情報が含まれており、構成要素分類情報も含まれている場合はステップS111に進む。
(ステップS108)構成要素情報取得部109は、読み込んだ構成要素対応情報から構成要素情報を取得する。この処理の詳細については、図4のフローチャートを用いて後述する。
(ステップS109)構成要素情報取得部109は、読み込んだ構成要素対応情報から構成要素情報を取得する。この処理の詳細については、図5のフローチャートを用いて後述する。
(ステップS110)構成要素情報取得部109は、読み込んだ構成要素対応情報から構成要素情報を取得する。この処理の詳細については、図6のフローチャートを用いて後述する。
(ステップS111)構成要素情報取得部109は、読み込んだ構成要素対応情報から構成要素情報を取得する。この処理の詳細については、図7のフローチャートを用いて後述する。
(ステップS112)出願文書情報作成部110は、構成要素情報取得部109が取得した構成要素情報を含む出願文書を作成する。
(ステップS113)出願文書情報出力部111は、出願文書情報作成部110が作成した出願文書情報を出力する。そして、出願文書を作成する一連の処理は終了となる。
図3は、図2のフローチャートのステップS103の構成要素情報抽出処理を示すフローチャートである。
(ステップS10301)構成要素情報抽出部108は、構成要素情報抽出パターン記憶部107が記憶している構成要素開始語句情報と構成要素終了語句情報を読み込む。この結果、構成要素情報抽出部108は、m個の構成要素開始語句情報とn個の構成要素終了語句情報が読み込めたものとする。
(ステップS10302)構成要素情報抽出部108は、カウンタMに0を設定する。
(ステップS10303)構成要素情報抽出部108は、カウンタIに1を設定する。
(ステップS10304)構成要素情報抽出部108は、カウンタJに1を設定する。
(ステップS10305)構成要素情報抽出部108は、カウンタKに1を設定する。
(ステップS10306)構成要素情報抽出部108は、I番目の発明情報(以下、発明情報(I))から、J番目の構成要素開始語句情報(以下、構成要素開始語句情報(J))が開始文字列で、K番目の構成要素終了語句情報(以下、構成要素終了語句情報(K))が終了文字列となる文字列である構成要素候補情報が抽出できるかどうかを判断する。抽出できる場合は、ステップS10307に進み、そうでない場合は、ステップS10310に進む。
(ステップS10307)構成要素情報抽出部108は、ステップS10306において抽出できると判断した構成要素候補情報を抽出する。
(ステップS10308)構成要素情報抽出部108は、カウンタMを1インクリメントする。
(ステップS10309)構成要素情報抽出部108は、ステップS10306で抽出した構成要素候補情報から構成要素開始語句情報(J)と構成要素終了語句情報(K)を削除することで、構成要素情報を抽出する。
(ステップS10310)構成要素情報抽出部108は、M番目の構成要素情報(以下、構成要素情報(M))に、ステップS10309で抽出した構成要素情報を設定する。
(ステップS10311)構成要素情報抽出部108は、カウンタKの値が構成要素終了語句情報数nであるかどうかを判断する。カウンタKの値がnである場合は、ステップS10313に進み、そうでない場合は、ステップS10312に進む。
(ステップS10312)構成要素情報抽出部108は、カウンタKを1インクリメントし、ステップS10306に戻る。
(ステップS10313)構成要素情報抽出部108は、カウンタJの値が構成要素開始語句情報数mであるかどうかを判断する。カウンタJの値がmである場合は、ステップS10315に進み、そうでない場合は、ステップS10314に進む。
(ステップS10314)構成要素情報抽出部108は、カウンタJを1インクリメントし、ステップS10305に戻る。
(ステップS10315)構成要素情報抽出部108は、カウンタIの値が発明情報数xであるかどうかを判断する。カウンタIの値がxである場合は、図2のフローチャートのステップS103の処理は終了となり、そうでない場合は、ステップS10316に進む。
(ステップS10316)構成要素情報抽出部108は、カウンタIを1インクリメントし、ステップS10304に戻る。
図4は、図2のフローチャートのステップS108の構成要素情報取得処理を示すフローチャートである。
(ステップS10801)構成要素情報取得部109は、カウンタIに1を設定する。
(ステップS10802)構成要素情報取得部109は、構成要素情報(I)が、構成要素対応情報に含まれているかどうかを判断する。含まれる場合は、ステップS10803に進み、そうでない場合は、ステップS10807に進む。
(ステップS10803)構成要素情報取得部109は、構成要素情報(I)の階層を判断する。構成要素情報(I)が「最上位階層」である場合は、ステップS10804に進み、構成要素情報(I)が「中間階層」である場合は、ステップS10805に進み、構成要素情報(I)が「最下位階層」である場合は、ステップS10806に進む。
(ステップS10804)構成要素情報取得部109は、構成要素情報(I)の1つ下の階層の対応する構成要素情報を取得する。
(ステップS10805)構成要素情報取得部109は、構成要素情報(I)の1つ上の階層の対応する構成要素情報と、構成要素情報(I)の1つ下の階層の対応する構成要素情報を取得する。
(ステップS10806)構成要素情報取得部109は、構成要素情報(I)の1つ上の階層の対応する構成要素情報を取得する。
(ステップS10807)構成要素情報取得部109は、カウンタIの値が構成要素情報数xであるかどうかを判断する。カウンタIの値がxである場合は、図2のフローチャートのステップS108の処理は終了となり、そうでない場合は、ステップS10808に進む。
(ステップS10808)構成要素情報取得部109は、カウンタIを1インクリメントし、ステップS10802に戻る。
なお、図4のフローチャートのステップS10803からステップS10805の処理は、ステップS10803で処理を分岐させずに、構成要素情報(I)に対応付けられたすべての構成要素情報を取得する処理を行ってもよい。この場合、後述する図8のフローチャートにおいて、「下位」を「上位」と、「1つ下」を「1つ上」と読み替えた処理を行い、その処理により取得できた構成要素情報のすべてに対して、図8のフローチャートの処理を行うようにしてもよい。
また、上記において、ステップS10803からステップS10805の替わりに行う処理をステップS10851とした場合、後述する図8のフローチャートの説明は、ステップS205を「構成要素情報取得部109は、カウンタIの値が構成要素情報数xであるかどうかを判断する。カウンタIの値がxである場合は、図2のフローチャートのステップS10851の処理は終了となり、そうでない場合は、ステップS206に進む。」と読み替えるものとする。
図5は、図2のフローチャートのステップS109の構成要素情報取得処理を示すフローチャートである。
(ステップS10901)構成要素情報取得部109は、カウンタIに1を設定する。
(ステップS10902)構成要素情報取得部109は、構成要素情報(I)が構成要素対応情報に含まれているかどうかを判断する。含まれる場合は、ステップS10903に進み、そうでない場合は、ステップS10905に進む。
(ステップS10903)構成要素情報取得部109は、構成要素対応情報から、構成要素情報(I)に対応した最上位構成要素指定情報を取得する。
(ステップS10904)構成要素情報取得部109は、ステップS10903で取得した最上位構成要素指定情報により示される構成要素情報の下位階層の対応する構成要素情報を取得する。この処理の詳細については、図8のフローチャートを用いて後述する。
(ステップS10905)構成要素情報取得部109は、カウンタIの値が構成要素情報数xであるかどうかを判断する。カウンタIの値がxである場合は、図2のフローチャートのステップS109の処理は終了となり、そうでない場合は、ステップS10906に進む。
(ステップS10906)構成要素情報取得部109は、カウンタIを1インクリメントし、ステップS10902に戻る。
図6は、図2のフローチャートのステップS110の構成要素情報取得処理を示すフローチャートである。
(ステップS11001)構成要素情報取得部109は、カウンタIに1を設定する。
(ステップS11002)構成要素情報取得部109は、構成要素情報(I)が、構成要素対応情報に含まれているかどうかを判断する。含まれる場合は、ステップS11003に進み、そうでない場合は、ステップS11009に進む。
(ステップS11003)構成要素情報取得部109は、構成要素対応情報から、構成要素情報(I)に対応付けられたすべての構成要素情報を取得する。
(ステップS11004)構成要素情報取得部109は、カウンタJに1を設定する。
(ステップS11005)構成要素情報取得部109は、構成要素分類情報により、構成要素情報(I)とステップS11003で取得した構成要素情報(J)とが同じ分類に属するかどうかを判断する。同じ分類に属する場合はステップS11006に進み、そうでない場合はステップS11007に進む。
(ステップS11006)構成要素情報取得部109は、ステップS11006で同じ分類に属すると判断された構成要素情報(J)の下位階層の対応する構成要素情報を取得する。この処理の詳細については、図8のフローチャートを用いて後述する。
(ステップS11007)構成要素情報取得部109は、カウンタJの値がステップS11003で取得した構成要素情報数yであるかどうかを判断する。カウンタJの値がyである場合は、ステップS11009に進み、そうでない場合は、ステップS11008に進む。
(ステップS11008)構成要素情報取得部109は、カウンタJを1インクリメントし、ステップS11005に戻る。
(ステップS11009)構成要素情報取得部109は、カウンタIの値が構成要素情報数xであるかどうかを判断する。カウンタIの値がxである場合は、図2のフローチャートのステップS110の処理は終了となり、そうでない場合は、ステップS11011に進む。
(ステップS11010)構成要素情報取得部109は、カウンタIを1インクリメントし、ステップS11002に戻る。
なお、図6のフローチャートのステップS11003の構成要素情報(I)に対応付けられたすべての構成要素情報を取得する処理は、後述する図8のフローチャートにおいて、「下位」を「上位」と、「1つ下」を「1つ上」と読み替えた処理を行い、その処理により取得できた構成要素情報のすべてに対して、図8のフローチャートの処理を行うものである。
また、上記において、後述する図8のフローチャートの説明は、ステップS205を「構成要素情報取得部109は、カウンタIの値が構成要素情報数xであるかどうかを判断する。カウンタIの値がxである場合は、図2のフローチャートのステップS11003の処理は終了となり、そうでない場合は、ステップS206に進む。」と読み替えるものとする。
図7は、図2のフローチャートのステップS111の構成要素情報取得処理を示すフローチャートである。
(ステップS11101)構成要素情報取得部109は、カウンタIに1を設定する。
(ステップS11102)構成要素情報取得部109は、構成要素情報(I)が、構成要素対応情報に含まれているかどうかを判断する。含まれる場合は、ステップS11103に進み、そうでない場合は、ステップS11110に進む。
(ステップS11103)構成要素情報取得部109は、構成要素対応情報から、構成要素情報(I)に対応した最上位構成要素指定情報を取得する。
(ステップS11104)構成要素情報取得部109は、ステップS11103で取得した最上位構成要素指定情報により示される構成要素情報の下位階層の対応する構成要素情報を取得する。この処理の詳細については、図8のフローチャートを用いて後述する。
(ステップS11105)構成要素情報取得部109は、カウンタJに1を設定する。
(ステップS11106)構成要素情報取得部109は、構成要素分類情報により、構成要素情報(I)とステップS11104で取得した構成要素情報(J)とが同じ分類に属するかどうかを判断する。同じ分類に属する場合はステップS11107に進み、そうでない場合はステップS11108に進む。
(ステップS11107)構成要素情報取得部109は、ステップS11106で同じ分類に属すると判断された構成要素情報(J)の下位階層の対応する構成要素情報を取得する。この処理の詳細については、図8のフローチャートを用いて後述する。
(ステップS11108)構成要素情報取得部109は、カウンタJの値がステップS11104で取得した構成要素情報数yであるかどうかを判断する。カウンタJの値がyである場合は、ステップS11110に進み、そうでない場合は、ステップS11109に進む。
(ステップS11109)構成要素情報取得部109は、カウンタJを1インクリメントし、ステップS11106に戻る。
(ステップS11110)構成要素情報取得部109は、カウンタIの値が構成要素情報数xであるかどうかを判断する。カウンタIの値がxである場合は、図2のフローチャートのステップS111の処理は終了となり、そうでない場合は、ステップS11111に進む。
(ステップS11111)構成要素情報取得部109は、カウンタIを1インクリメントし、ステップS11102に戻る。
図8は、図5のフローチャートのステップS10904の下位階層の構成要素情報取得処理、図6のフローチャートのステップS11004、ステップS11007の下位階層の構成要素情報取得処理、および図7のフローチャートのステップS11106の下位階層の構成要素情報取得処理、を示すフローチャートである。
(ステップS201)構成要素情報取得部109は、カウンタIに1を設定する。
(ステップS202)構成要素情報取得部109は、構成要素情報(I)に1つ下の階層の対応する構成要素情報が存在するかどうかを判断する。存在する場合は、ステップS203に進み、そうでない場合は、ステップS205に進む。
(ステップS203)構成要素情報取得部109は、構成要素情報(I)の1つ下の階層の対応する構成要素情報を取得する。
(ステップS204)構成要素情報取得部109は、ステップS203で取得した構成要素情報の下位階層の対応する構成要素情報を取得する。この処理は、ステップS201からの処理を再帰的に行うものである。
(ステップS205)構成要素情報取得部109は、カウンタIの値が構成要素情報数xであるかどうかを判断する。カウンタIの値がxである場合は、図5のフローチャートのステップS10904の処理、図6のフローチャートのステップS11004、ステップS11007の処理、および図7のフローチャートのステップS11106の処理は終了となり、そうでない場合は、ステップS206に進む。
(ステップS206)構成要素情報取得部109は、カウンタIを1インクリメントし、ステップS202に戻る。
なお、図8のフローチャートにおけるカウンタIと構成要素情報数xは、図8のフローチャートの処理の呼び出し元である図5のフローチャート、図6のフローチャート、図7のフローチャートにおけるカウンタIと構成要素数xとは異なるものである。この2つの変数は、いわゆる局所変数である。
また、図4から図8のフローチャートでは、取得した構成要素情報に重複がある場合は、その重複した構成要素情報を削除してもよい。
[具体例の説明]
次に、具体的な情報を用いて、動作の具体例について説明する。
まず、構成要素情報抽出部108が、発明情報記憶部101が記憶する発明情報から構成要素情報を抽出する例について説明する。なお、発明情報記憶部101は、例えば、図9の発明情報を記憶しているものとする。
まず、構成要素情報抽出部108は、構成要素情報抽出パターン記憶部107が記憶している構成要素開始語句情報と構成要素終了語句情報を読み込む。これにより、構成要素情報108は、例えば、「ける」、「する」、「行う」の構成要素開始語句情報が読み込めたものとする。また、これにより、構成要素抽出部108は、例えば、「を備え」、「と、」、「と、≪改行≫」の構成要素終了語句情報が読み込めたものとする。なお、「≪改行≫」は、文字列中の改行を意味する。
次に、構成要素情報抽出部108は、発明情報から、構成要素開始語句情報が開始文字列で、構成要素終了語句情報が終了文字列となる文字列を抽出する。図9の発明情報において、構成要素開始語句情報「ける」、「する」、「行う」が開始文字列で、構成要素終了語句情報「を備え」、「と、」、「と、≪改行≫」が終了文字列となる文字列は、「ける第一入力手段と、」、「行う第一処理手段と、」、「する第一出力手段と、」の3つである。
次に、構成要素情報抽出部108は、上記、抽出した3つの文字列から、構成要素開始語句情報と構成要素終了語句情報を除いた文字列を構成要素情報とする。例えば、1つ目の文字列である「ける第一入力手段と、」であれば、構成要素開始語句情報と構成要素終了語句情報を除いた文字列は「第一入力手段」であるので、この「第一入力手段」を構成要素情報として抽出する。この処理を、残りの2つの文字列に対しても行う。その結果、それぞれの文字列から「第一処理手段」、「第一出力手段」が抽出できたものとする。
次に、最上位構成要素指定情報受付部103と最上位構成要素指定情報蓄積部104が、最上位構成要素情報を構成要素対応情報記憶部102が記憶している構成要素対応情報に蓄積する例について説明する。
まず、最上位構成要素指定情報受付部103は、外部から最上位構成要素情報を受け付ける。このとき、最上位構成要素情報を受け付けるための情報を、外部に対して提示してもよい。また、外部からではなく、任意の蓄積領域に蓄積されている最上位構成要素情報を読み込むようにしてもよい。最上位構成要素指定情報受付部103は、例えば、「第一入力手段 ⇒ 1階層目の構成要素情報」、「第一処理手段 ⇒ 処理部」という最上位構成要素情報を外部から受け付けたものとする。
次に、最上位構成要素指定情報蓄積部104は、最上位構成要素指定情報受付部103が受け付けた最上位構成要素情報を取得する。そして、最上位構成要素指定情報蓄積部104は、最上位構成要素指定情報受付部103から取得した最上位構成要素情報を、構成要素対応情報記憶部102が記憶している構成要素対応情報の各構成要素情報に対応付けるように蓄積する。上記より、最上位構成要素指定情報受付部103は、「第一入力手段 ⇒ 1階層目の構成要素情報」、「第一処理手段 ⇒ 処理部」という最上位構成要素情報を受け付けたので、最上位構成要素指定情報蓄積部104は、図10の構成要素対応情報の「第一入力手段」と「第一処理手段」にそれぞれ対応付けるように、「1階層目の構成要素情報」と「処理部」の情報を蓄積する。
また、例えば、最上位構成要素指定情報受付部103が、「1階層目の構成要素情報」のように、対応する構成要素情報を指定していない形式の最上位構成要素情報を受け付けた場合、最上位構成要素指定情報蓄積部104は、この「1階層目の構成要素情報」を、図10の構成要素対応情報に含まれるすべての構成要素情報に対応付けるように蓄積してもよい。
次に、構成要素分類情報受付部105が、構成要素分類情報を受け付け、構成要素分類情報蓄積部106が、構成要素分類情報受付部105が受け付けた構成要素分類情報を、構成要素対応情報記憶部102が記憶している構成要素対応情報に蓄積する例について説明する。
まず、構成要素分類情報受付部105は、外部から構成要素分類情報を受け付ける。このとき、構成要素分類情報を受け付けるための情報を、外部に対して提示してもよい。また、外部からではなく、任意の蓄積領域に蓄積されている構成要素分類情報を読み込むようにしてもよい。構成要素分類情報受付部105は、例えば、「第一入力手段 ⇒ *」、「数式情報入力部 ⇒ *」、「数式情報処理部 ⇒ *」、「計算結果出力部 ⇒ *」という構成要素分類情報を外部から受け付けたものとする。
次に、構成要素分類情報蓄積部106は、構成要素分類情報受付部105が受け付けた構成要素分類情報を取得する。そして、構成要素分類情報蓄積部106は、構成要素分類情報受付部105から取得した構成要素分類情報を、構成要素対応情報記憶部102が記憶している構成要素対応情報の各構成要素情報に対応付けるように蓄積する。上記より、構成要素分類情報受付部105は、「第一入力手段 ⇒ *」、「数式情報入力部 ⇒ *」、「数式情報処理部 ⇒ *」、「計算結果出力部 ⇒ *」という構成要素分類情報を受け付けたので、構成要素分類情報蓄積部106は、図10の構成要素対応情報の「第一入力手段」、「数式情報入力部」、「数式情報処理部」、「計算結果出力部」にそれぞれ対応付けるように、「*」の情報を蓄積する。
また、例えば、構成要素分類情報受付部105が、「第一入力手段、数式情報入力部、数式情報処理部、計算結果出力部」のように、同じ分類に属する構成要素情報のみを指定する形式の構成要素分類情報を受け付けた場合、構成要素分類情報蓄積部106は、この「第一入力手段、数式情報入力部、数式情報処理部、計算結果出力部」の構成要素部類情報を、例えば、「第一入力手段 ⇒ 分類1、数式情報入力部 ⇒ 分類1、数式情報処理部 ⇒ 分類1、計算結果出力部 ⇒ 分類1」となっているものとみなし、図10の構成要素対応情報の「第一入力手段」、「数式情報入力部」、「数式情報処理部」、「計算結果出力部」にそれぞれ対応付けるように、「分類1」の情報を蓄積するようにしてもよい。
最上位構成要素指定情報受付部103と構成要素分類情報受付部105は、図11のような形式で示される画面出力を行うことで、最上位構成要素指定情報、および構成要素分類情報を受け付けてもよい。この場合、図11の画面中段が最上位構成要素指定情報を受け付けるための情報であり、画面下段が構成要素分類情報を受け付けるための情報である。また、これにより受け付けた最上位構成要素情報、および構成要素分類情報が対応付けられる構成要素情報は、図11の画面上段で示されている「数式情報入力部」である。
次に、構成要素情報取得部109が、構成要素対応情報記憶部102が記憶する構成要素対応情報から、構成要素情報を取得する例について説明する。なお、構成要素対応情報記憶部102は、例えば、図10の構成要素対応情報を記憶しているものとする。また、図10において、各セルを指定する際は、1行目1列目であれば(1,1)、2行目3列目であれば(2,3)のような形式で指定するものとする。さらに、図10の構成要素対応情報において、「1階層目」、「2階層目」とある行の次の行を1行目とするものとする。
まず、構成要素対応情報に最上位構成要素指定情報と構成要素分類情報が共に含まれない場合に、構成要素情報取得部109が、構成要素対応情報から構成要素情報を取得する例について説明する。なお、構成要素情報取得部109は、例えば、上記、構成要素情報抽出部108が抽出した構成要素情報である「第一入力手段」を基に構成要素情報を取得するものとする。
図10の構成要素対応情報において、(1,1)、(1,2)、(1,3)、(2,1)、・・・、という具合に走査を行うと、最初に「第一入力手段」が出現するのは(1,3)である。よって、構成要素情報取得部109は、図10の構成要素対応情報の(1,3)から構成要素対応情報をたどっていく。(1,3)からは、左の(1,2)にたどることができるので、構成要素情報取得部109は、(1,3)の「第一入力手段」に対して、2階層目の構成要素情報である「数式情報入力部」を取得する。
次に、構成要素対応情報に最上位構成要素指定情報が含まれる場合に、構成要素情報取得部109が、構成要素対応情報から構成要素情報を取得する例について説明する。なお、構成要素情報取得部109は、例えば、上記、構成要素情報抽出部108が抽出した構成要素情報である「第一入力手段」を基に構成要素情報を取得するものとする。また、この「第一入力手段」に対応する最上位構成要素指定情報は、例えば、「1階層目の列にある構成要素情報」であるものとする。
上記より、「第一入力手段」に対応する最上位構成要素指定情報により特定される最上位構成要素情報は(1,1)の「情報処理装置」である。よって、構成要素情報取得部109は、図10の構成要素対応情報の(1,1)から、構成要素対応情報をたどっていく。(1,1)からは、右の(1,2)にたどることができ、また、この(1,2)からは、その右の(1,3)にたどることができる。また、(1,2)の「数式情報入力部」は(2,2)にも存在するので、(2,2)から、その右の(2,3)にたどることができる。この結果、構成要素情報取得部109は、(1,1)の「情報処理装置」に対して、2階層目の構成要素情報である「数式情報入力部」、3階層目の構成要素情報である「第一入力手段」、「第二入力手段」を取得する。
また、(1,1)の「情報処理装置」は(3,1)にも存在するので、(3,1)から再度、構成要素情報をたどっていく。(3,1)からは、右の(3,2)にたどることができ、また、この(3,2)からは、その右の(3,3)にたどることができる。また、(3,2)の「数式情報処理部」は(4,2)にも存在するので、(4,2)から、その右の(4,3)にたどることができる。この結果、構成要素情報取得部109は、(3,1)の「情報処理装置」に対して、2階層目の構成要素情報である「数式情報処理部」、3階層目の構成要素情報である「第一処理手段」、「第二処理手段」を取得する。
また、(1,1)の「情報処理装置」は(5,1)にも存在するので、(5,1)から再度、構成要素情報をたどっていく。(5,1)からは、右の(5,2)にたどることができ、また、この(5,2)からは、その右の(5,3)にたどることができる。また、(5,2)の「数式情報処理部」は(6,2)にも存在するので、(6,2)から、その右の(6,3)にたどることができる。この結果、構成要素情報取得部109は、(5,1)の「情報処理装置」に対して、2階層目の構成要素情報である「計算結果出力部」、3階層目の構成要素情報である「第一出力手段」、「第二出力手段」を取得する。
以上の結果、構成要素情報取得部109は、構成要素情報抽出部108が抽出した構成要素情報「第一入力手段」を基に、1階層目の構成要素情報「情報処理装置」に対する2階層目の構成要素情報である「数式情報入力部」、「数式情報処理部」、「計算結果出力部」を取得する。また、2階層目の構成要素情報である「数式情報入力部」に対する3階層目の構成要素情報である「第一入力手段」、「第二入力手段」を取得し、2階層目の構成要素情報である「数式情報処理部」に対する3階層目の構成要素情報である「第一処理手段」、「第二処理手段」を取得し、2階層目の構成要素情報である「計算結果出力部」に対する3階層目の構成要素情報である「第一出力手段」、「第二出力手段」を取得する。
次に、構成要素対応情報に構成要素分類情報が含まれる場合に、構成要素情報取得部109が、構成要素対応情報から構成要素情報を取得する例について説明する。なお、構成要素情報取得部109は、例えば、上記、構成要素情報抽出部108が抽出した構成要素情報である「第一出力手段」を基に構成要素情報を取得するものとする。また、図10の構成要素対応情報において、「第一出力手段」、「数式情報入力部」、「数式情報処理部」、「計算結果出力部」に同じ構成要素分類情報が付与されているものとする。
図10の構成要素対応情報において、(1,1)、(1,2)、(1,3)、(2,1)、・・・、という具合に走査を行うと、最初に「第一出力手段」が出現するのは(5,3)である。よって、構成要素情報取得部109は、図10の構成要素対応情報の(5,3)から構成要素対応情報をたどっていく。(5,3)からは、左の(5,2)にたどることができ、また、この(5,2)からは、左の(5,1)にたどることができる。また、(5,2)の「計算結果出力部」は(6,2)にも存在するので、(6.2)から、その右の(6,3)にたどることができる。また、(5,1)の「情報処理装置」は(1,1)と(3,1)にも存在し、それぞれから、右の(2,2)、(3,2)にたどることができる。
以上のように順にたどっていくと、図10の構成要素対応情報では、すべての構成要素情報をたどることができる。これら、たどった構成要素情報のうち、構成要素分類情報により「第一出力手段」と同じ分類に属することが示される構成要素情報は、上記より「数式情報入力部」、「数式情報処理部」、「計算結果出力部」であるので、この結果、構成要素情報取得部109は、(5,3)の「第一出力手段」に対して、2階層目の構成要素情報である「数式情報入力部」、「数式情報処理部」、「計算結果出力部」を取得する。
なお、この具体例では、以降、構成要素情報取得部109が、1階層目の構成要素情報「情報処理装置」に対する2階層目の構成要素情報である「数式情報入力部」、「数式情報処理部」、「計算結果出力部」を取得したものとする。また、2階層目の構成要素情報である「数式情報入力部」に対する3階層目の構成要素情報である「第一入力手段」、「第二入力手段」を取得し、2階層目の構成要素情報である「数式情報処理部」に対する3階層目の構成要素情報である「第一処理手段」、「第二処理手段」を取得し、2階層目の構成要素情報である「計算結果出力部」に対する3階層目の構成要素情報である「第一出力手段」、「第二出力手段」を取得したものとする。
次に、構成要素対応情報に最上位構成要素指定情報と構成要素分類情報が共に含まれる場合に、構成要素情報取得部109が、構成要素対応情報から構成要素情報を取得する例について説明する。なお、構成要素情報取得部109は、例えば、上記、構成要素情報抽出部108が抽出した構成要素情報である「第一処理手段」を基に構成要素情報を取得するものとする。また、この「第一処理手段」に対応する最上位構成要素指定情報は、例えば、「1階層目の列にある構成要素情報」であるものとする。さらに、図10の構成要素対応情報において、「第一入力手段」、「数式情報入力部」、「数式情報処理部」、「計算結果出力部」に同じ構成要素分類情報が付与されているものとする。
上記より、「第一処理手段」に対応する最上位構成要素指定情報により特定される最上位構成要素情報は「情報処理装置」である。よって、構成要素情報取得部109は、図10の構成要素対応情報の(1,1)から、構成要素対応情報をたどっていく。(1,1)からは、右の(1,2)にたどることができ、また、この(1,2)からは、その右の(1,3)にたどることができる。また、(1,2)の「数式情報入力部」は(2,2)にも存在するので、(2,2)から、その右の(2,3)にたどることができる。これら、たどった構成要素情報のうち、構成要素分類情報により「第一処理手段」と同じ分類に属することが示される構成要素情報は、上記より「数式情報入力部」であるので、この結果、構成要素情報取得部109は、(1,1)の「情報処理装置」に対して、2階層目の構成要素情報である「数式情報入力部」を取得する。
また、(1,1)の「情報処理装置」は(3,1)にも存在するので、(3,1)から再度、構成要素情報をたどっていく。(3,1)からは、右の(3,2)にたどることができ、また、この(3,2)からは、その右の(3,3)にたどることができる。また、(3,2)の「数式情報処理部」は(4,2)にも存在するので、(4,2)から、その右の(4,3)にたどることができる。これら、たどった構成要素情報のうち、構成要素分類情報により「第一処理手段」と同じ分類に属することが示される構成要素情報は、上記より「数式情報処理部」であるので、この結果、構成要素情報取得部109は、(1,1)の「情報処理装置」に対して、2階層目の構成要素情報である「数式情報処理部」を取得する。
また、(1,1)の「情報処理装置」は(5,1)にも存在するので、(5,1)から再度、構成要素情報をたどっていく。(5,1)からは、右の(5,2)にたどることができ、また、この(5,2)からは、その右の(5,3)にたどることができる。また、(5,2)の「数式情報処理部」は(6,2)にも存在するので、(6,2)から、その右の(6,3)にたどることができる。これら、たどった構成要素情報のうち、構成要素分類情報により「第一処理手段」と同じ分類に属することが示される構成要素情報は、上記より「計算結果出力部」であるので、この結果、構成要素情報取得部109は、(1,1)の「情報処理装置」に対して、2階層目の構成要素情報である「計算結果出力部」を取得する。
以上の結果、構成要素情報取得部109は、構成要素情報抽出部108が抽出した構成要素情報「第一入力手段」を基に、1階層目の構成要素情報「情報処理装置」に対する2階層目の構成要素情報である「数式情報入力部」、「数式情報処理部」、「計算結果出力部」を取得する。
次に、構成要素情報取得部109は、これら最上位構成要素情報と構成要素分類情報により取得した構成要素情報よりも下位階層の構成要素情報を取得する。
図10の構成要素対応情報において、「数式情報入力部」は(1,2)と(2,2)に存在し、それぞれから、右の(1,3)、(2,3)にたどることができる。また、「数式情報処理部」は(3,2)と(4,2)に存在し、それぞれから、右の(3,3)、(4,3)にたどることができる。さらに、「計算結果出力部」は(5,2)と(6,2)に存在し、それぞれから、右の(5,3)、(6,3)にたどることができる。この結果、構成要素情報取得部109は、(1,2)と(2,2)の「数式情報入力部」に対して、3階層目の構成要素情報である「第一入力手段」、「第二入力手段」を取得する。また、構成要素情報取得部109は、(3,2)と(4,2)の「数式情報処理部」に対して、3階層目の構成要素情報である「第一処理手段」、「第二処理手段」を取得する。さらに、構成要素情報取得部109は、(5,2)と(6,2)の「計算結果出力部」に対して、3階層目の構成要素情報である「第一出力手段」、「第二出力手段」を取得する。
以上の結果、構成要素情報取得部109は、構成要素情報抽出部108が抽出した構成要素情報「第一処理手段」を基に、1階層目の構成要素情報「情報処理装置」に対する2階層目の構成要素情報である「数式情報入力部」、「数式情報処理部」、「計算結果出力部」を取得する。また、2階層目の構成要素情報である「数式情報入力部」に対する3階層目の構成要素情報である「第一入力手段」、「第二入力手段」を取得し、2階層目の構成要素情報である「数式情報処理部」に対する3階層目の構成要素情報である「第一処理手段」、「第二処理手段」を取得し、2階層目の構成要素情報である「計算結果出力部」に対する3階層目の構成要素情報である「第一出力手段」、「第二出力手段」を取得する。
最後に、情報処理装置1が、出願文書情報を作成・出力する例について説明する。
まず、出願文書情報作成部110が、出願文書情報を作成する際に使用する情報を抽出・生成する例について説明する。
出願文書情報作成部110は、任意の記憶領域に蓄積されている共通文章対応情報と、構成要素情報取得部109が取得した構成要素情報とを、スタイルファイル情報において示された内容に従い成型していくことで、出願文書情報を作成する。その他、出願文書情報作成部110は、必要な情報があれば、発明情報記憶部101が記憶している発明情報から抽出し、その情報も使用して出願文書情報を作成する。
なお、共通文章対応情報は、例えば、図12のような情報であるとする。また、スタイルファイル情報は、例えば、図13のような情報であるとする。この2つの情報において、「<*****>」の形式で示される文字列は、例えば、出願文書情報作成部110が生成した情報との置換を意味するものとし、「<<*****>>」の形式で示される文字列は、例えば、共通文章対応情報が含む共通文章情報との置換を意味するものとする。また、図13の情報において、「(実施の形態#)」における「#」は、例えば、対象の数との置換を意味するものとし、この場合は、実施の形態の数との置換を意味するものとする。
まず、出願文書情報作成部110は、任意の記憶領域に蓄積されているスタイルファイル情報から、「<<*****>>」の形式である文字列の「*****」の文字列を抽出し、それを検索キーとし、任意の記憶領域に蓄積されている共通文章対応情報から、共通文章情報を検索する。例えば、図13のスタイルファイル情報において、「<<*****>>」の形式である文字列は、「<<発明を実施するための最良の形態ヘッダ>>」、「<<ブロック図説明ヘッダ>>」、「<<実施の形態フッタ>>」、「<<発明を実施するための最良の形態フッタ>>」であるので、出願文書情報作成部110は、「発明を実施するための最良の形態ヘッダ」、「ブロック図説明ヘッダ」、「実施の形態フッタ」、「発明を実施するための最良の形態フッタ」の4つの文字列を検索キーとし、図12の共通文章対応情報から共通文章情報を検索する。その結果、出願文書情報作成部110は、図12の共通文章対応情報から、「発明を実施するための最良の形態ヘッダ」に対して「 以下、本発明における実施形態について図面を参照して説明する。」が検索でき、「ブロック図説明ヘッダ」に対して「 図(#)は、本実施の形態における<発明の名称>のブロック図である。」が検索でき、「実施の形態フッタ」に対して「 以上、本実施の形態による<発明の名称>によれば、○○○○できる。」が検索でき、「発明を実施するための最良の形態フッタ」に対して「 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。」が検索できたものとする。
次に、出願文書情報作成部110は、発明情報記憶部101が記憶している発明情報から、請求項情報を抽出する。出願文書情報作成部110は、例えば、図9の発明情報における「[請求項1]」の文字列を手掛りに、各請求項の請求項情報を抽出する。なお、請求項1についての請求項情報を請求項情報(1)と表現し、請求項2についての請求項情報を請求項情報(2)と表現し、すべての請求項情報を請求項情報(ALL)と表現するものとする。また、請求項情報(ALL)は、例えば、図13のスタイルファイル情報における「<請求項>」と置換される情報であるとする。
次に、出願文書情報作成部110は、上記で抽出した請求項情報から、発明の名称を抽出する。発明の名称は、例えば、請求項1における最後の名詞句であるとした場合、出願文書情報作成部110は、例えば、図9の発明情報から、発明の名称として「情報処理装置」を抽出する。この発明の名称である「情報処理装置」は、例えば、図13のスタイルファイル情報における「<発明の名称>」と置換される情報であるとする。
次に、出願文書情報作成部110は、実施の形態の数と、各実施の形態に属する請求項を算出する。例えば、図9の発明情報では実施の形態を示す指定がないので、出願文書情報作成部110は、実施の形態数は1であると算出し、実施の形態1に属する請求項は請求項1であると算出する。もし、図9の発明情報において実施の形態を示す情報が含まれる場合は、その情報を基に実施の形態数と、各実施の形態に属する請求項を算出してもよい。
次に、出願文書情報作成部110は、実施の形態ごとに、階層説明情報を生成する。階層説明情報は、構成要素情報の階層構造を示す情報である階層構造情報と、階層構造情報に含まれる構成要素情報についての説明や、その説明文中に含まれる用語の説明などを示す情報である構成要素説明ブロック情報とを含む情報である。
まず、出願文書情報作成部110は、階層構造情報を生成する。例えば、上記において、構成要素情報取得部109は、1階層目の構成要素情報「情報処理装置」に対する2階層目の関連構成要素情報である「数式情報入力部」、「数式情報処理部」、「計算結果出力部」を取得した。また、2階層目の構成要素情報である「数式情報入力部」に対する3階層目の関連構成要素情報である「第一入力手段」、「第二入力手段」を取得し、2階層目の構成要素情報である「数式情報処理部」に対する3階層目の関連構成要素情報である「第一処理手段」、「第二処理手段」を取得し、2階層目の構成要素情報である「計算結果出力部」に対する3階層目の関連構成要素情報である「第一出力手段」、「第二出力手段」を取得した。よって、出願文書情報作成部110は、これらの構成要素情報を基に、階層構造情報を生成してもよい。この場合、出願文書情報作成部110は、各階層の構成要素情報の対応関係より、請求項1について、「情報処理装置−数式情報入力部|数式情報処理部|計算結果出力部」、「数式情報入力部−第一入力手段|第二入力手段」、「数式情報処理部−第一処理手段|第二処理手段」、「計算結果出力部−第一出力手段|第二出力手段」のような形式の情報を生成する。出願文書情報作成部110は、この情報に構成要素情報間の関係がわかるように文言を補い、「情報処理装置1は、数式情報入力部、数式情報処理部、計算結果出力部、を備える。≪改行≫ 数式情報入力部は、第一入力手段、第二入力手段、を備える。≪改行≫ 数式情報処理部は、第一処理手段、第二処理手段、を備える。≪改行≫ 計算結果出力部は、第一出力手段、第二出力手段、を備える。」のような形式の階層構造情報を生成してもよい。このとき、出願文書情報作成部110は、階層順に各構成要素情報に符号を示す情報である符号情報を付与してもよい。この符号情報が付与された階層構造情報は、例えば、「情報処理装置1は、数式情報入力部11、数式情報処理部12、計算結果出力部13、を備える。数式情報入力部11は、第一入力手段111、第二入力手段112、を備える。数式情報処理部12は、第一処理手段121、第二処理手段122、を備える。計算結果出力部13は、第一出力手段131、第二出力手段132、を備える。」のようになる。
次に、出願文書情報作成部110は、階層説明ブロック情報を生成する。出願文書情報作成部110は、例えば、上記、階層構造情報に含まれる構成要素情報のそれぞれに、出願文書情報作成後にユーザがその出願文書情報を編集する際のアドバイスを示す情報を付与し、「 数式情報入力部11は、***数式情報入力部11の説明を記載してください***≪改行≫ 第一入力手段111は、***第一入力手段111の説明を記載してください***≪改行≫ 第二入力手段112は、***第二入力手段112の説明を記載してください***≪改行≫ 数式情報処理部12は、***数式情報処理部12の説明を記載してください***≪改行≫ 第一処理手段121は、***第一処理手段121の説明を記載してください***≪改行≫ 第二処理手段122は、***第二処理手段122の説明を記載してください***≪改行≫ 計算結果出力部13は、***計算結果出力部13の説明を記載してください***≪改行≫ 第一出力手段131は、***第一出力手段131の説明を記載してください***≪改行≫ 第二出力手段132は、***第二出力手段132の説明を記載してください***」のような形式の階層説明ブロック情報を生成してもよい。なお、上記において「≪改行≫」は、文字列中の改行を意味する。
出願文書情報作成部110は、上記の階層構造情報と階層説明ブロック情報を結合し、階層説明情報を生成する。上記の場合、階層説明情報は、図14のような情報となる。なお、出願文書情報作成部110は、図14の階層説明情報を生成したものとする。
次に、出願文書情報作成部110が、抽出・生成した情報から、スタイルファイル情報を基に出願文書情報を作成する例について説明する。
まず、出願文書情報作成部110は、例えば、図13のスタイルファイル情報を出願文書中間情報として複製する。
次に、出願文書情報作成部110は、上記出願文書中間情報における「<<*****>>」の形式の文字列と対応する共通文章情報とを置換する。上記において、出願文書情報作成部110は、「発明を実施するための最良の形態ヘッダ」に対して「 以下、本発明における実施形態について図面を参照して説明する。」が検索でき、「ブロック図説明ヘッダ」に対して「 図(#)は、本実施の形態における<発明の名称>のブロック図である。」が検索でき、「実施の形態フッタ」に対して「 以上、本実施の形態による<発明の名称>によれば、○○○○できる。」が検索でき、「発明を実施するための最良の形態フッタ」に対して「 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。」が検索できたので、出願文書情報作成部110は、上記出願文書中間情報において、例えば、「<<発明を実施するための最良の形態ヘッダ>>」と、「 以下、本発明における実施形態について図面を参照して説明する。」と、を置換し、例えば、「ブロック図説明ヘッダ」と、「 図(#)は、本実施の形態における<発明の名称>のブロック図である。」と、を置換し、例えば、「実施の形態フッタ」と、「 以上、本実施の形態による<発明の名称>によれば、○○○○できる。」と、を置換し、例えば、「発明を実施するための最良の形態フッタ」と、「 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。」と、を置換する。
次に、出願文書情報作成部110は、上記出願文書中間情報における「(実施の形態#)」の「#」と対象の数とを置換する。上記において、出願文書情報作成部110は、実施の形態数は1であると算出したので、出願文書情報作成部110は、上記出願文書中間情報において、例えば、「#」と、「1」と、を置換する。
次に、出願文書情報作成部110は、上記出願文書中間情報における「<*****>」の形式の文字列と対応する情報とを置換する。出願文書情報作成部110は、上記において、例えば、「<請求項>」に対応する情報として、図9の発明情報から請求項情報(ALL)を抽出したので、出願文書情報作成部110は、上記出願文書中間情報における「<請求項>」と、請求項情報(ALL)と、を置換する。また、出願文書情報作成部110は、上記において、例えば、「<発明の名称>」に対応する情報として、図9の発明情報から「情報処理装置」を抽出したので、出願文書情報作成部110は、上記出願文書中間情報における「<発明の名称>」と、「情報処理装置」と、を置換する。また、出願文書情報作成部110は、上記において、例えば、「<構成要素説明>」に対応する情報として、図14の階層説明情報を生成したので、出願文書情報作成部110は、上記出願文書情報における「<構成要素説明>」と図14の階層説明情報とを置換する。
最後に、出願文書情報作成部110は、上記出願文書中間情報を出願文書情報とする。その結果、図15の出願文書情報が作成されたものとする。
最後に、出願文書情報出力部111が、出願文書情報出力する例について説明する。
出願文書情報出力部111は、出願文書情報作成部110が作成した図15の出願文書情報を出力する。この「出力」は、例えば、電子データとしての出力であってもよいし、物理的なものとしての出力であってもよい。前者は、例えば、テキスト形式のファイルデータなどであってもよいし、発明情報記憶部101が記憶している発明情報のデータ形式と同様の形式のファイルデータなどであってもよい。また、後者は、例えば、プリンタなどを使用して紙などに印刷されたものであってもよい。
なお、この具体例では、構成要素情報取得部109が、構成要素対応情報に最上位構成要素指定情報、または構成要素分類情報が含まれる場合と、構成要素対応情報に最上位構成要素指定情報、および構成要素分類情報が含まれない場合とで異なるなる処理を行う例を示したが、構成要素情報取得部109は、構成要素対応情報に最上位構成要素指定情報、または構成要素分類情報が含まれる場合であっても、それらの情報が含まれないものとし、構成要素対応情報に最上位構成要素指定情報、および構成要素分類情報が含まれない場合の処理を行ってもよい。
また、この具体例では、構成要素情報取得部109が、上記、4つの処理のいずれかを行う例を示したが、構成要素情報取得部109は、上記、4つの処理のうちの2つ以上の処理を並列して行ってもよい。この場合、構成要素情報取得部109は、2つ以上の処理により取得した関連構成要素情報を結合したものを取得する。
また、この具体例では、出願文書情報作成部110が階層説明情報を生成する際に、階層構造情報に対して、出願文書情報作成後にユーザがその出願文書情報を編集する際のアドバイスを示す情報を付与する例を示したが、出願文書情報作成部110は、構成要素情報取得部109が取得した構成要素情報に対応する説明情報を、発明情報記憶部101が記憶する発明情報から抽出し、その説明情報を階層構造情報に付与することで、階層説明情報を生成してもよい。
以上、本実施の形態による情報処理装置1によれば、発明情報から出願文書情報を作成する際に、発明情報に含まれる構成要素情報が、出願文書情報を作成する上で不足しており補完する必要がある場合などにおいて、構成要素対応情報に含まれる構成要素情報から補完することができる。
なお、本実施の形態では、最上位構成要素指定情報受付部103、最上位構成要素指定情報蓄積部104、構成要素分類情報受付部105、構成要素分類情報蓄積部106は必須ではない。
また、本実施の形態では、出願文書情報作成部110が、構成要素情報取得部109が抽出した構成要素情報を基に、発明情報記憶部101が記憶している発明情報から、構成要素情報に対応する説明文情報を抽出し、それを階層構造情報に付与することで階層説明情報を生成するようにしてもよい。
この場合、出願文書情報作成部110は、例えば、構成要素情報に対して、構成要素が実現され得る方法、または構成要素の動作が実現され得る方法についての説明文を示す情報を付与したり、構成要素情報に対応する説明文情報に含まれる用語に対して、用語の説明文を示す情報を付与したりするようにしてもよい。
また、本実施の形態では、出願文書情報作成部110が、出願文書情報を使用せずに出願文書情報を作成するようにしてもよい。この場合、出願文書情報作成部110は、例えば、出願文書情報の作成と併せて、発明情報の雛形を作成するようにしてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されてもよいことは言うまでもない。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
また、上記各実施の形態における情報処理装置は、例えば、スタンドアロンの装置であってもよいし、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、例えば、ASP(Application Service Provider)として出願文書情報の生成が行われてもよい。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
また、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、1以上の発明に関する情報であって、発明を特定する情報である発明特定情報を含む情報である発明情報を記憶する発明情報記憶部が記憶している発明情報から、前記構成要素情報の直前の文字列である構成要素開始語句情報と、前記構成要素情報の直後の文字列である構成要素終了語句情報と、を記憶する構成要素情報抽出パターン記憶部が記憶している構成要素開始語句情報と、構成要素終了語句情報との間に挟まれた文字列である構成要素情報を抽出する構成要素情報抽出部と、発明の構成要素を示す情報である構成要素情報と、当該構成要素情報に関連する構成要素情報と、を階層的に対応付けた情報である構成要素対応情報を記憶する構成要素対応情報記憶部が記憶している構成要素対応情報から、前記構成要素情報抽出部が抽出した構成要素情報に対応付けられた構成要素情報を取得する構成要素情報取得部と、特許出願の文書に関する情報であって、前記構成要素情報取得部が取得した構成要素情報を含んだ、発明情報に関する1以上の実施の形態を示す情報を含む情報である出願文書情報を作成する出願文書情報作成部と、前記出願文書情報作成部が作成した出願文書情報を出力する出願文書情報出力部と、として機能させるためのプログラムである。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアでしか行われない処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理は少なくとも含まれない。
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
また、図16は、本明細書で述べたプログラムを実行して、上述した実施の形態の情報端末装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図16は、このコンピュータシステム9の概観図であり、図17は、コンピュータシステム9のブロック図である。
図16において、コンピュータシステム9は、FD(Flexible Disk)ドライブ、CD−ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを含む。
図17において、コンピュータ901は、FDドライブ9011、CD−ROMドライブ9012に加えて、CPU(Central Processing Unit)9013と、CPU9013、CD−ROMドライブ9012及びFDドライブ9011に接続されたバス9014と、ブートアッププログラム等のプログラムを記憶するためのROM(Read−Only Memory)9015と、CPU9013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM(Random Access Memory)9016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク9017とを含む。ここでは、図示しないが、コンピュータ901は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム9に、上述した実施の形態の情報端末装置等の機能を実行させるプログラムは、CD−ROM9101、またはFD9102に記憶されて、CD−ROMドライブ9012またはFDドライブ9011に挿入され、さらにハードディスク9017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク9017に記憶されても良い。プログラムは実行の際にRAM9016にロードされる。プログラムは、CD−ROM9101、FD9102またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ901に、上述した実施の形態の情報端末装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム9がどのように動作するかは周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。