以下、発明展開度生成装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における発明展開度生成装置10のブロック図である。
発明展開度生成装置10は、請求範囲データ格納部101、請求範囲データ取得部102、判断部103、階層情報取得部104、値取得部105、値格納部106、発明展開度取得部107、および出力部108を備えている。
請求範囲データ格納部101には、請求項の番号を示す請求項タグを有する1以上の請求項を含む特許請求の範囲のデータが格納され得る。特許請求の範囲のデータとは、具体的には、特許文書に含まれる特許請求の範囲のデータである。ここで述べるデータは文書のデータと考えても良い。請求範囲データ格納部101には、後述する請求範囲データ取得部102が特許請求の範囲のデータが取得可能なデータが格納されていれば良く、例えば、特許文書のデータが格納されていても良い。特許文書とは、特許の公報や、特許出願の願書に添付される一連の書類等である。通常、特許文書においては、特許請求の範囲には、「特許請求の範囲」等のタグが付与されているため、当該タグを手がかりとして検出することで特許文書から特許請求の範囲のデータを取得可能である。本願における特許請求の範囲は、国際特許出願における請求の範囲や、日本国以外の特許出願書類における特許請求の範囲に相当するデータも含む概念である。請求項タグとは、例えば、特許請求の範囲に含まれる個々の請求項を個別に認識できるようにするための情報である。例えば、墨付きかっこ等の特定のかっこで囲まれた「請求項」という文字列と「数字」との組合せで構成されるタグである。また、パラグラフの先頭に配置された数字を請求項タグと考えても良い。請求項タグは、通常、特許請求の範囲のフォーマット等によって決まっている。なお、特許請求の範囲のデータがXML形式等のマークアップ言語のデータ等である場合、当該マークアップ言語における所望の順番の請求項を指定するタグを請求項タグと考えても良い。請求範囲データ格納部101に特許請求の範囲のデータが記憶される過程は問わない。例えば、記録媒体を介して特許請求の範囲のデータが請求範囲データ格納部101で記憶されるようになってもよく、通信回線等を介して送信された特許請求の範囲のデータが請求範囲データ格納部101で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された特許請求の範囲のデータが請求範囲データ格納部101で記憶されるようになってもよい。また、ここで述べる格納とは一時記憶も含む概念である。なお、特許請求の範囲のデータのデータ形式やフォーマット等は問わない。例えば、特許請求の範囲のデータは表形式のデータであっても良い。請求範囲データ格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
請求範囲データ取得部102は、請求範囲データ格納部101から特許請求の範囲のデータを取得する。請求範囲データ取得部102は、例えば、図示しない受付部等が一の特許請求の範囲についての発明展開度を取得する指示を受け付けた場合に、請求範囲データ格納部101から当該指示に対応する一の特許出願に係る特許請求の範囲のデータを取得する。複数の特許請求の範囲が指定された場合等には、各特許請求の範囲のデータをそれぞれ取得するようにすればよい。なお、請求範囲データ格納部101に格納されているデータが、特許文書のデータである場合、特許文書のデータから、図示しない記憶媒体等に予め格納されている特許請求の範囲の開始位置を示す情報と、図示しない記憶媒体等に予め格納されている特許請求の範囲のデータの次のデータの開始位置を示す情報とを検出し、当該開始位置と終了位置とを示す情報で囲まれた特許請求の範囲のデータを特定し、特定した部分のデータを取得する。特許請求の範囲の開始位置を示す情報は、例えば、例えば墨付き括弧で囲まれた「特許請求の範囲」という文字列を含むタグ等の特許請求の範囲の開始位置を示すタグである。また、特許請求の範囲のデータの次のデータの開始位置を示す情報は、例えば、墨付き括弧で囲まれた「発明の詳細な説明」や「書類名」等の特許請求の範囲のデータの次のデータの開始位置を示すタグである。あるいは、特許文書のデータがXML等のタグが付与されたデータである場合、予め図示しない記憶媒体に蓄積されている特許請求の範囲の開始点を示すタグと、特許請求の範囲の終了点を示すタグとを検出し、これらのタグで挟まれたデータを取得しても良い。取得した特許請求の範囲のデータは、例えば、図示しない記憶媒体等に一時記憶する。請求範囲データ取得部102は、通常、MPUやメモリ等から実現され得る。請求範囲データ取得部102の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
判断部103は、請求範囲データ取得部102が取得した特許請求の範囲のデータを用いて、請求項タグで特定される各請求項が外的付加の請求項であるか否かを判断する。
外的付加の請求項とは、従属請求項であって、被従属項の請求項で挙げられている発明特定事項に対して異なる発明特定事項を付加する請求項である。例えば、被従属項の請求項で挙げられている構成要素に対して、更に新たな構成要素を付加する請求項である。なお、被従属項とは、被従属請求項のことであり、直接の従属関係にある請求項間における上位の請求項を指す。例えば、独立の請求項である請求項1に直接従属している従属請求項2の被従属項は、請求項1となる。直接の従属関係、即ちいわゆる親子関係にある請求項における親請求項が被従属項であり、子請求項が従属項、即ち従属請求項である。
従属請求項とは、他の請求項に従属した請求項である。従属請求項は、1以上の請求項に従属してもよい。従属請求項は、例えば、他の請求項を引用する形式で記載された請求項である。従属請求項は、例えば、引用形式請求項とも呼ばれる。従属請求項のうちの、外的付加の請求項ではない請求項は、内的付加の請求項と考えても良い。
内的付加の請求項とは、従属請求項であって、被従属項の請求項で挙げられている発明特定事項を更に限定する請求項である。例えば、被従属項の請求項で挙げられている構成要素を限定する内容を付加したり、構成要素や用語を下位概念に減縮する従属請求項である。
なお、ここでは、結果的に、外的付加の請求項であるか否かの判断結果が得られる判断部103が行う処理を、外的付加の請求項であるか否かの判断と考えてもよい。例えば、判断部103は、従属請求項が内的付加の請求項でないか否かの判断を行うようにしても良い。内的付加の請求項であるか否かの判断は、例えば、請求項に対して、「前記」や「上記」等の、先行する情報の存在を示す指示用語(例えば接頭語)と、一以上の名詞の連続と、「は」、「が」等の主体を示す助詞とが、この順番で現れる文字列をパターンマッチングにより検出し、このような文字列が検出された場合に、この請求項を内的付加の請求項であると判断する。あるいは、この判断に加えて、同じ請求項に対して、予め図示しない記憶媒体等に蓄積されている外的付加を示す手がかり句を検索し、検出されなかった場合に、この請求項を内的付加の請求項であると判断しても良い。外的付加を示す手がかり句については後述する。また、請求項が外的付加の請求項または内的付加の請求項いずれであるかの判断を行っても良い。この場合において、請求項が外的付加であるとともに内的付加であると判断された場合には、請求項を外的付加の請求項と判断するようにしても良い。
発明特定事項とは、発明を特定するために必要な事項として請求項に記載した事項である。例えば、請求項を構成する「A情報をB情報に変換するC部」という文や、「A情報をB情報に変換するCステップ」という文字列が発明特定事項である。構成要素とは、発明を構成する要素であり、発明を構成する部品や、処理を行う部や手段や、処理を行うステップ等である。構成要素を、発明特定事項と同様のものであると考えてもよい。構成要素名とは、発明を構成する構成要素の名称である。構成要素名は、発明特定事項に含まれる、当該発明特定事項に対応した項目名と考えてもよい。例えば、上記の例においては、「C部」や「Cステップ」等の名称が構成要素名となる。
以下、判断部103の処理について簡単に説明する。判断部103は、例えば、まず、請求範囲データ取得部102が取得した特許請求の範囲のデータに含まれる各請求項を取得し、各請求項について従属請求項であるか否かを判断し、従属請求項である場合、外的付加の請求項であるか否かの判断を行う。
特許請求の範囲からの各請求項の取得は、例えば、各請求項に付与された請求項タグを検出することで、請求項タグで区切られた各請求項を検出し、検出した請求項のデータを個別に取得することで行われる。あるいは、各請求項が、句点等の文字列で区切られている場合、当該請求項を区切るための文字列で区切られた各請求項を検出し取得しても良い。
取得された各請求項が従属請求項であるか否かの判断は、例えば、請求項の文字列に、「請求項」という文字列と、一以上の数字列と、「記載」または「に記載」という文字列の並び、あるいは、「請求項」という文字列と、一以上の数字列と、連続指定文字列と、「請求項」という文字列と、一以上の数字列という文字列の並びが含まれるか否かを検索することで行われる。判断部103は、このような文字列が検索された請求項を、従属請求項であると判断する。連続指定文字列とは、複数の請求項が連続して含まれていることを示す文字列であり、例えば、「〜」、「から」、「乃至」、「ないし」等である。また、「請求項」という文字列と、一以上の数字列と、連続文字列と、「請求項」という文字列と、一以上の数字列と、「記載」または「に記載」という文字列の並びが含まれるか検索し、含まれる場合に従属請求項であると判断してもよい。具体的には、「請求項?*記載」、または「請求項?*または請求項?*記載」、または「請求項?*から請求項?*記載」、または「請求項?*、請求項?*記載」「請求項?*〜請求項?*記載」、または「請求項?*から?*記載」などの請求項の従属を示す文字列が含まれるか否かを検索する。なお、「?」は自然数、「*」は1以上の繰り返しを示す正規表現であるとする。なお、これらの請求項の従属を示す文字列が検出された場合に、従属請求項であると判断する。なお、予め、特許請求の範囲から各請求項のデータを取得する代わりに、判断部103は、これらの請求項の従属を示す文字列を特許請求の範囲から検出して、検出された文字列を含む請求項を、従属請求項であると判断し、当該従属請求項のデータを特許請求の範囲のデータから取得しても良い。
次に、判断部103は、従属請求項と判断された請求項が、外的付加の請求項であるか否かを判断する。この処理の例として、ここでは、(1)予め図示しない格納部に格納されている外的付加を示す手がかり句である外的付加を示す副詞を検出する場合と、(2)被従属項の請求項に含まれない構成要素名を検出する場合との、2つの例を説明する。
(1)外的付加を示す副詞を検出する場合
判断部103は、従属請求項と判断された請求項について、予め指定された外的付加を示す副詞の検索を行い、外的付加を示す副詞が1以上検出された場合に、外的付加の請求項であるとする判断結果を得る。外的付加を示す副詞とは、例えば「更に」や「さらに」等である。これらの副詞をそれぞれ検索キーとして検索を行い、一致する文字列が検出された場合、外的付加の請求項であると判断する。外的付加を示す副詞は、例えば、図示しない記憶媒体等に予め格納しておくようにする。
なお、ここでは、外的付加を示す手がかり句として、外的付加を示す副詞を用いる場合について説明したが、外的付加を示す手がかり句として、外的付加を示す副詞以外の手がかり句を用いても良い。例えば、外的付加を示す手がかり句として、図示しない記憶媒体等に予め蓄積されている、構成要素や、発明特定事項等を包含していることを示す動詞である包含関係動詞、例えば、「備えた」、「具備する」、「有する」等を用いるようにしてもよい。なお、本実施の形態においては、手がかり句となる動詞については、予め各動詞の活用形を用意しておき、これらを手がかり句として用いても良いし、予め、手がかり句となる動詞として動詞の基本形を用意して蓄積しておき、請求項から形態素解析を行って動詞の基本形を抽出し、抽出した動詞の基本形が、外的付加を示す手がかり句と一致するか否かを判断するようにしても良い。なお、外的付加を示す手がかり句として「を新規に」や、「を新たに」等を用いても良い。
(2)被従属項の請求項に含まれない構成要素名を検出する場合
判断部103は、まず、従属請求項であると判断された外的付加の判断対象となる請求項について、直系の上位の
の請求項を特定する。直系の上位の請求項とは、具体的には、請求項間の従属関係を辿って上位方向(即ち階層が浅くなる方向)に向かって遡ることが可能な全ての請求項である。直系の上位の請求項は、外的付加の判断の対象となる請求項が直接従属している請求項でなくても良く、間接的に従属している請求項であっても良い。
具体的には、判断部103は、上述する処理により、請求項を従属請求項であると判断した場合、上記の検索において検出された「請求項?*または請求項?*記載」等の文字列を請求項から取得し、被従属項の請求項の請求項番号を取得する。例えば、まず、判断部103は、上述した上記の「請求項?*または請求項?*記載」等の文字列から「?*」の数字列を取得する。なお、取得した2つの数字列の間に、連続した複数の請求項が含まれていることを示す文字列である連続指定文字列、例えば「乃至」や「ないし」や「〜」等が含まれる場合、「乃至」や「から」や「〜」等の文字列や記号もあわせて取得する。数字列だけが取得された場合、当該数字列が示す請求項番号の請求項に従属していることになる。また、例えば「1乃至3」や「1から3」や「1から3」という数字列と文字列または記号の組合せが取得された場合に、二つの数字の間の文字列や記号を、二つの数字間の間に存在する整数で置き換える。例えば、「1から3」を「1、2、3」に置き換える。この処理から、請求項が従属する請求項番号が取得できる。この請求項番号と一致する番号を含む請求項タグが付与された請求項が、従属請求項の被従属項の請求項となる。例えば、従属請求項の被従属項の請求項番号として「1、2、3」が得られた場合、この請求項は、「1、2、3」の各請求項に従属している、ということになる。
さらに、上記と同様の処理により、従属請求項の被従属項となる請求項が従属請求項であるか否かを判断し、従属請求項である場合、当該従属請求項の被従属項の請求項の請求項番号を取得する。この処理を被従属項の請求項が従属請求項でなくなるまで順次繰り返す。そして、取得した全て請求項番号をマージする。なお、重複が存在する請求項番号については、その請求項番号を一つ残して、残りの請求項番号を削除する。
次に、判断部103は、外的付加であるか否かの判断対象となる従属請求項と、この従属請求項の直系の上位となる全ての請求項とから、それぞれ構成要素名を検出する。そして、判断部103は、外的付加であるか否かの判断対象となる従属請求項に含まれる構成要素名の中に、この従属請求項の直系の上位の請求項のいずれにも含まれない請求項があるか否かを判断する。いずれにも含まれない請求項が検出された場合、当該従属請求項が、外的付加の請求項であると判断される。
判断部103が、どのように請求項のデータから構成要素名を取得するかは問わない。判断部103は、例えば、各請求項のデータから、図示しない記憶媒体等に予め格納されている、構成要素名を抽出するための情報である構成要素抽出情報を用いて構成要素名のデータを取得する。また、判断部103は、特許明細書の符号の説明から、構成要素名を取得しても良い。
構成要素抽出情報は、例えば、「判断する」、「受け付ける」、「対応付ける」等の動詞の基本形を示す文字列である動詞情報や、「と」、「を」、「と、」、「を、」等の文の区切りを示す文字列である区切語句情報などである。この場合、判断部103は、例えば、構成要素抽出情報を検索キーとして用いて、構成要素抽出情報に含まれる動詞情報が開始文字列で、構成要素抽出情報に含まれる区切語句情報が終了文字列となる文字列を、請求項のデータから抽出し、その文字列から動詞情報と区切語句情報を除いた文字列を構成要素名として抽出してもよい。例えば、判断部103は「〜を判断する判断部と、」という文字列を請求項のデータから抽出して、この文字列から「判断部」という構成要素名を取得する。このとき、各請求項に含まれる文の開始から改行まで、または改行から改行まで、または改行から文の終端までを1つの単位とし、その単位ごとに上記キーワードの抽出を行ってもよい。また、区切語句情報と、改行コードとの並びを、検索等により検索し、検出された位置の前の名詞句を、構成要素名として取得しても良い。なお、構成要素抽出情報は、動詞情報や、区切語句情報などの組合せであってもよい。
また、構成要素抽出情報は、例えば、断定や打消しを表す助動詞を示す文字列である助動詞情報や、文の区切りを示す文字列である区切語句情報などであってもよい。前者は、例えば、「である」、「でない」などである。また、後者は、例えば、「と」、「を」、「と、」、「を、」などである。この場合も上記の動詞情報の場合と同様に、構成要素抽出情報を検索キーとして用いて、構成要素抽出情報に含まれる助動詞情報が開始文字列で、構成要素抽出情報に含まれる区切語句情報が終了文字列となる文字列を、構成要素名として請求項のデータから抽出してもよい。例えば、判断部103は「〜である第一光源と、」という文字列を請求項のデータから抽出して、この文字列から「第一光源」という構成要素名を取得する。なお、構成要素抽出情報は、助動詞情報や、区切語句情報などの組合せであってもよい。なお、構成要素抽出情報には、当該構成要素抽出情報を用いて検出した文字列のうちの、構成要素名として抽出する部分を指定するための情報である取得部分指定情報が付与されていても良い。
また、例えば、請求項が、一つの構成要素名が一つのセル内に配置されているような表の形式になっている場合であれば、構成要素抽出情報は、例えば、構成要素名が入力されている列を示す情報である列情報や、構成要素名が入力されている行を示す情報である行情報などであってもよい。前者は、例えば、構成要素名が5列目に入力されていることを示す「element=Col:5」のような形式であってもよい。また、後者は、例えば、構成要素名が10行目に入力されていることを示す「element=Row:10」のような形式であってもよい。また、構成要素抽出情報は、構成要素名が入力されているセルの行と列を示す情報であっても良い。このような場合、判断部103は、例えば、列情報から列番号を抽出し、その列番号に該当する列を走査し、入力されている文字列を構成要素名として抽出してもよい。また、判断部103は、例えば、列情報から列番号を抽出し、行情報から行番号を抽出し、その列番号と行番号で示される場所に入力されている文字列を構成要素名として抽出してもよい。
また、構成要素抽出情報は、例えば、「部」や「手段」など、構成要素名の語尾となる文字列を示す情報であっても良い。このような場合、判断部103は、例えば、語尾が構成要素抽出情報が示す文字列と一致する、漢字から構成される漢字列を構成要素名として取得してもよい。また、構成要素抽出情報は、「格納」や「送信」等の、構成要素名を特定するための、構成要素の動作や、処理や、仕組みや、用途や、目的等を示す名詞等の用語であっても良い。このような場合、判断部103は、構成要素抽出情報が示す文字列を含む漢字列を構成要素名として取得しても良い。また、構成要素抽出情報は、「情報格納部」や、「情報受信部」、「ボルト」、「ナット」等の構成要素名そのものであっても良い。このような場合、判断部103は、構成要素抽出情報と一致する文字列を構成要素名として取得しても良い。ここで述べる一致は、部分一致であっても完全一致であっても良い。なお、漢字列を検出したり、文字列の品詞等を検出したりする技術等は、構文解析、字句解析等の既存の日本語処理技術により可能であるので、詳細な説明は省略する。例えば、形態素解析のシステムとしては、例えば、「Mecab(和布蕪)」(http://mecab.sourceforge.net/)や、「ChaSen(茶筌)」(http://chasen.naist.jp)等が利用可能である。
また、特許請求の範囲の情報において、構成要素名に、HTMLやXML等による特定のタグや下線や他と異なるフォント等の特定の書式情報が、予めユーザや他の装置等により付与されている場合、このようなタグや特定の書式情報により検索やパターンマッチングにより構成要素名を取得しても良い。例えば、下線がついた文字列を検索し、構成要素名として取得しても良い。
なお、構成要素抽出情報は、例えば、判断部103が、構成要素名を抽出する際に、外部から取得するものであってもよい。
また、判断部103が行う、外的付加であるか否かの判断対象となる従属請求項に含まれる構成要素名の中に、この従属請求項の直系の上位の請求項のいずれにも含まれない請求項があるか否かの判断は、従属請求項から検出された各構成要素名と一致する構成要素名が、この従属請求項の直系の上位の全ての請求項から検出した構成要素名内に存在するか否かを検索することで行われる。従属請求項から検出された各構成要素名の中に、一つでも直系の上位の請求項から検出した構成要素名の中に一致するものが検出されなかった構成要素名があった場合、当該従属請求項は、外的付加の請求項であると判断される。また、従属請求項から検出された全ての構成要素名が、直系の上位の全ての請求項から検出した構成要素名の中において検出された場合、外的付加の請求項でないと判断される。
なお、判断部103は、従属請求項から検出された各構成要素名と一致する構成要素名と一致する文字列が、直系の上位の全ての請求項内に存在するか否かを検出し、以上の構成要素名と一致する文字列が検出できなかった場合、この従属請求項を外的付加の請求項であると判断しても良い。
判断部103は、通常は、全ての従属請求項について、外的付加の請求項であるか否かを判断し、判断結果を図示しない記憶媒体等に記憶する。
判断部103は、通常、MPUやメモリ等から実現され得る。判断部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
階層情報取得部104は、請求範囲データ取得部102が取得した特許請求の範囲のデータを用いて、請求項タグで特定される各請求項の階層を示す情報である階層情報を取得する。階層情報取得部104は、例えば、まず、請求範囲データ取得部102が取得した特許請求の範囲のデータに含まれる各請求項を取得し、各請求項の階層情報を取得する。特許請求の範囲からの各請求項の取得は、例えば、請求項タグを検出することで、請求項タグで区切られた各請求項を検出し、検出した請求項のデータを個別に取得することで行われる。具体的には請求項タグから、次の請求項タグの直前までのデータを請求項のデータとして取得する。また、請求項タグから、句点までの範囲のデータを請求項のデータとして取得しても良い。階層情報は、各請求項の階層を示す情報であり、階層の深さを示す情報と考えても良い。ここでは、一例として、階層情報は、階層を示す数字であるとする。例えば、独立形式の請求項である独立請求項の階層情報は第一階層であることを示す「1」であり、この独立形式の請求項に直接従属する請求項の階層情報は第二階層であることを示す「2」であり、階層情報が「2」である請求項に直接従属する請求項の階層情報は第三階層であることを示す「3」であるとする。ただし、階層情報の値は、必ずしも、第一階層に対応する「1」から開始して、階層が深くなるにつれて、値が一ずつ増加するものでなくてもよい。例えば、独立請求項が第0階層であることを示す値(例えば「0」等)であっても良いし、独立請求項が第二階層であることを示す値(例えば「2」等)であっても良い。また、第一階層に従属する請求項の階層が、第二階層でなく、第三階層であってもよい。また、階層情報は、階層が深くなるにつれて、値が減少するものであってもよい。また、階層情報は、必ずしも数字を用いて階層を示すことができるものでなくても良く、数字に準じた階層の順序が判別可能な「a,b,c」等の文字列や記号であってもよい。
なお、階層情報取得部104が特許請求の範囲のデータから請求項のデータを取得する処理および構成は、判断部103が請求項のデータを取得する処理および構成と兼用するようにしても良い。また、判断部103および階層情報取得部104の構成から、それぞれ、特許請求の範囲のデータから請求項のデータを取得する構成を省略するとともに、特許請求の範囲のデータから請求項のデータを取得するための図示しない請求項データ取得部等の処理部とを設けるようにして、判断部103および階層情報取得部104が、この請求項データ取得部から請求項のデータを取得するようにしても良い。
各請求項の階層情報の取得は、例えば以下のように行われる。まず、階層情報取得部104は、上述した判断部103の構成において説明した各請求項が従属請求項であるか否かの判断処理と同様の判断処理を、特許請求の範囲のデータに含まれる各請求項について行う。即ち、請求項の文字列に、「請求項?*記載」、または「請求項?*または請求項?*記載」、または「請求項?*から請求項?*記載」、または「請求項?*、請求項?*記載」「請求項?*〜請求項?*記載」、または「請求項?*から?*記載」などの請求項の従属を示す文字列が含まれるか否かを検索する。これらの請求項の従属を示す文字列が検出された場合に、従属請求項であると判断し、検出されなかった場合、独立請求項であると判断する。
階層情報取得部104は、上述する処理により、従属請求項であると判断された請求項については、それぞれ、例えば、上記の検索において検出された「請求項?*または請求項?*記載」等の文字列を請求項から取得し、被従属項の請求項の請求項番号を取得する。被従属項の請求項の請求項番号とは、請求項が直接従属する請求項番号である。例えば、判断部103は、上述した「請求項?*または請求項?*記載」等の文字列から「?*」の数字列を取得する。なお、取得した2つの数字列の間に、複数の請求項が含まれていることを示す文字列や記号、例えば「乃至」や「〜」等が含まれる場合、「乃至」や「から」や「〜」等の文字列や記号もあわせて取得する。数字列だけが取得された場合、当該数字列が示す請求項番号の請求項に従属していることになる。また、例えば「1乃至3」や「1から3」や「1から3」という数字列と文字列または記号の組合せが取得された場合に、二つの数字の間の文字列や記号を、二つの数字間の間に存在する整数で置き換える。例えば、「1から3」を「1、2、3」に置き換える。この処理から、請求項が従属する請求項番号が取得できる。この請求項番号と一致する番号を含む請求項タグが付与された請求項が、従属請求項の被従属項の請求項となる。例えば、従属請求項の被従属項の請求項番号として「1、2、3」が得られた場合、この請求項は、「1、2、3」の各請求項に従属している、ということになる。また、この従属請求項の被従属項の請求項番号は、従属請求項の請求項番号と対応付けて図示しない記憶媒体等に記憶する。
つぎに、階層情報取得部104は、従属請求項であると判断された各請求項について、各請求項を基点として、当該各請求項の直系の上位の請求項を、上記で取得した被従属項の請求項を示す請求項番号を用いて独立請求項に達するまで順番に辿っていく。そして最終的に独立請求項に達するまでに通過した請求項数の値を、基点となった請求項の階層情報として取得する。この時、基点となる請求項と、終点となる請求項の数も個々では一例としてカウントする。
例えば、請求項1が独立請求項であり、請求項5が請求項1に従属する従属請求項、請求項6が請求項5に従属する従属請求項であったとし、請求項5から取得された被従属項の請求項番号が「1」、請求項6から取得された被従属項の請求項番号が「5」であったとする。この場合において、例えば、請求項6から直系の上位の請求項を辿っていくことを考えると、まず、起点となる請求項6に対応付けられた被従属項の請求項番号「5」を取得する。次に、取得した被従属項の請求項番号「5」が示す請求項5に対応付けられた被従属項の請求項番号「1」を取得する。次に、取得した被従属項の請求項番号「1」が示す請求項1は、独立請求項であるため、被従属項の請求項を辿る処理を終了する。そして、請求項6から請求項1まで、請求項間の従属関係を示す情報を用いて遡った際に通過した請求項の数の値を取得する。この数の値は、例えば図示しないカウンター等の値を、請求項を通過する毎に1インクリメントすることにより取得される。ここで示した例の場合、基点となる請求項6から、請求項5を経て、終点となる請求項1に達したことにより、三つの請求項を通過しているため、階層情報として「3」が取得される。
なお、独立請求項については、上記と同様に、直系の上位の請求項を辿る処理を行っても良いが、直系の上位の請求項は存在しないため、独立請求項の階層情報としては、常に、最上位の階層であることを示す階層情報である「1」を取得するようにしても良い。
なお、上位の請求項を辿る際に、既に、階層情報が取得されている請求項が現れた場合、当該請求項の階層情報の値に、当該請求項に達する直前までに通過した請求項数の値を加算した値を、基点となる請求項の階層情報として取得するようにしても良い。なお、ここで述べる階層の辿り方は、一例であり、他の辿り方をしても良い。例えば、被従属項の請求項番号を用いて、独立請求項から、各請求項の下位の請求項を辿りながら、独立請求項を起点とした各請求項の階層情報を取得しても良い。また、各請求項の被従属項の請求項番号を用いて請求項の樹形図を作成し、当該樹形図から各請求項の階層情報を取得しても良い。
なお、従属請求項が、多項従属請求項と呼ばれる複数項に従属している従属請求項である場合、当該従属請求項に対応する被従属項の請求項番号は、複数取得されることとなるが、このような場合、複数の被従属項の請求項番号をそれぞれ選択して、直系の上位の請求項を辿った場合に得られる階層情報のうちの、最も階層情報の値が大きい、即ち階層が深いことを示す階層情報を、この多項従属請求項の階層情報として取得しても良いし、最も階層情報の値が小さい階層情報を、この多項従属請求項の階層情報として取得しても良い。あるいは、全ての被従属項の請求項番号を辿った場合に得られた階層情報の値の平均値を、切り捨てや、切り上げ等を行って整数化した値をこの多項従属請求項の階層情報として取得しても良い。
階層情報取得部104は、取得した階層情報を、各請求項と対応付けて図示しない記憶媒体等に蓄積する。階層情報取得部104は、通常、MPUやメモリ等から実現され得る。階層情報取得部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
値取得部105は、各請求項について、階層情報取得部104が取得した階層情報に対応した値である階層対応値を取得する。階層対応値は、請求項に対して、階層情報に応じた重み付けを行うための値であり、階層情報に応じた請求項の、発明展開度、あるいは発明展開度に寄与する値と考えても良い。階層対応値は、対応する階層情報の値が、階層が深いことを示すものになるに従って、特許の発明展開度が小さくなることを示す値であることが好ましい。具体的には、階層対応値は、対応する階層情報が示す階層が深くなるほど、値が小さくなるものであることが好ましい。通常、従属請求項は、階層が深くなるほど権利範囲が限定的なものとなり、このような請求項で発明を展開できる範囲は限られており、請求項を展開する効果が大きくないと考えられるからである。例えば、階層情報が、階層が深くなるにつれて値が大きくなる情報である場合、階層対応値は、対応する階層情報の価が大きくなるにつれて、値が小さくなるものであることが好ましい。なお、値の変化率等は問わない。また、この値は、例えば、ユーザが実験結果や研究結果等に応じて適宜設定可能な値であることが好ましい。
階層対応値は、例えば、階層情報に対応して予め用意された値である。値取得部105は、例えば、後述する値格納部106に、階層情報と対応付けて格納されている階層対応値から、階層情報取得部104が取得した階層情報を検索キーとして用いて検索して得られる階層対応値を取得する。ただし、階層対応値は、階層対応値を算出するための、図示しない記憶媒体等に予め指定された算出式に階層情報取得部104が取得した階層情報を代入して算出される値であっても良い。
なお、値取得部105は、各請求項について、階層情報取得部104が取得した階層情報に対応した値であって、各請求項が外的付加の請求項であるか否かに応じた値である階層対応値を取得するようにしてもよい。各請求項が外的付加の請求項であるか否かに応じた値とは、具体的には、上述した判断部103の判断結果が示す各請求項が外的付加の請求項であるか否かの判断結果に応じた値である。この場合、階層対応値は、対応する階層情報の値が、階層が深いことを示すものになるに従って、発明展開度が小さくなることを示す値であって、当該階層情報に対応する請求項が外的付加の請求項である場合の値が、外的付加の請求項でない場合の値に比べて大きくなる値であることが好ましい。外的付加の従属請求項は、外的付加でない従属請求項(即ち、内的付加の請求項)に比べて、発明特定事項が新たに追加される分だけ、権利範囲が広がる可能性があり、発明を展開する効果が大きいと考えられるからである。
なお、値取得部105は、各請求項について、階層情報取得部104が取得した階層情報に対応した値であって、各請求項が内的付加の請求項であるか否かに応じた値である階層対応値を取得するようにしてもよい。また、各請求項について、階層情報取得部104が取得した階層情報に対応した値であって、各請求項が内的付加の請求項と外的付加の請求項とのいずれであるかに応じた値である階層対応値を取得するようにしてもよい。
また、このような場合、値取得部105は、例えば、後述する値格納部106に、階層情報と、外的付加の請求項であるか否かを示す情報と対応付けて格納されている階層対応値から、階層情報取得部104が取得した階層情報と、判断部103の判断結果が示す請求項が外的付加の請求項であるか否かを示す情報とを検索キーとして用いて検索して得られる階層対応値を取得する。ただし、階層対応値は、階層対応値を算出するためにあらかじめ用意された式に、階層情報取得部104が取得した階層情報と、判断部103の判断結果が示す請求項が外的付加の請求項であるか否かを示す情報を数値に変換した値と、を代入して算出した階層対応値を取得しても良い。
値取得部105は、通常、MPUやメモリ等から実現され得る。値取得部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
値格納部106には、階層情報と、階層対応値とが対応付けられて格納されている。あるいは、値格納部106には、階層情報と、外的付加の請求項であるか否かを示す情報と、階層対応値とが対応付けられて格納されている。値格納部106にこれらの情報が蓄積されるタイミング等は問わない。値格納部106において、階層情報と、外的付加の請求項であるか否かを示す情報と、階層対応情報とは、直接対応付けられて格納されていても良いし、間接的に対応付けられて格納されていても良い。間接的に対応付けられているとは、例えば、それぞれに対応する識別情報同士が対応付けられていることや、例えば、それぞれに対応する識別情報同士が対応付けられていることや、一方の情報と他方の情報の識別情報とが対応付けられていること等を意味する。また、階層情報と、外的付加の請求項であるか否かを示す情報と、階層対応情報とは、物理的に同じ記憶媒体に格納されていても良いが、値格納部106が物理的に異なる2以上の記憶媒体により構成される場合、これらの情報のいずれかあるいは全てが、異なる記憶媒体に格納されていても良い。対応付けられた階層情報と、外的付加の請求項であるか否かを示す情報と、階層対応値とは、例えば、これらの情報を一のレコードの複数の項目として管理する管理情報等を用いて管理される。このような管理情報は、例えば、値格納部106は、図示しない格納部等に格納しておくようにすればよい。値格納部106は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
発明展開度取得部107は、判断部103による、外的付加の請求項であるか否かの判断結果に応じて請求項の従属関係に関する発明展開度を取得する。発明展開度とは、発明をいかに展開しているかを示す度合いである。ここで取得される発明展開度は、請求項の従属関係に関する発明展開度である。即ち、請求項の従属関係に注目した発明展開度と考えてもよく、具体的には、請求項の従属関係を、発明展開度を決定する要素として用いて取得した発明展開度である。ここで述べる請求項の従属関係には、従属元となる独立請求項を考慮に入れても良いし、入れなくても良い。請求項の従属関係に関する発明展開度は、クレームツリーに関連した発明展開度と考えても良いし、特許請求の範囲全体の発明展開度や特許請求の範囲の一のカテゴリーについての発明展開度と考えても良いし、最上位の階層の請求項が一つである場合の発明展開度であっても良い。なお、発明展開度は特許の価値や特許文書の品質を構成するので、発明展開度を特許の価値や特許文書の品質と考えても良い。
発明展開度取得部107は、外的付加の請求項であるか否かの判断結果をどのように用いて発明展開度を取得しても良い。例えば、外的付加の請求項数の合計を求め、これを、そのまま、発明展開度を示す値としてもよい。また、外的付加の請求項数の合計に、予め指定された演算を行って得られた値を、発明展開度を示す値としてもよい。例えば、外的付加の請求項数の合計を、全請求項数で除算した値を、発明展開度を示す値としてもよい。また、外的付加の請求項数の合計に予め指定された所定の値を乗算して得られた値を発明展開度を示す値としてもよい。また、外的付加の請求項が所定数以上あるか否かを判断し、その判断結果に応じて予め用意された二値から取得された一の値を、発明展開度の値として取得しても良い。
また、発明展開度取得部107は、値取得部105が各請求項について取得した階層対応値を用いて請求項の従属関係に関する発明展開度を取得してもよい。例えば、値取得部105が一の特許請求の範囲に含まれる全ての請求項についてそれぞれ取得した階層対応値の合計を発明展開度の値として取得しても良い。また、例えば、値取得部105が一の特許請求の範囲に含まれる請求項について取得した階層対応値のうちの、階層が最も深い請求項の階層対応値と、その直系の全ての請求項の階層対応値の合計を発明展開度の値として取得しても良い。これらの階層対応値の合計を用いて、予め指定された所定の演算を行って得られた値を、発明展開度を示す値としてもよい。なお、ここで述べる階層対応値は、請求項についての階層情報に応じて取得された階層対応値であっても良いし、請求項についての階層情報と、請求項が外的付加であるか否かの情報と、に応じて取得された階層対応値であっても良い。
また、発明展開度取得部107は、判断部103の判断結果と、値取得部105が各請求項について取得した階層対応値とを用いて請求項の従属関係に関する発明展開度を取得してもよい。例えば、特許請求の範囲を構成する1以上の請求項の階層対応値を、当該請求項が外的付加の請求項であるか否かの判断結果に応じて補正し、補正後の1以上の請求項の階層対応値を用いて所定の演算(例えば、加算等)を行って得られた値を、発明展開度として取得しても良い。ここで述べる補正は、結果的に、請求項が外的付加の請求項である場合に、当該請求項の階層対応値が、当該請求項が外的付加でないと判断された場合の階層対応値に対して、価値が増加するような補正であれば良い。例えば、外的付加と判断された請求項の階層対応値を増加させる補正であっても良いし、外的付加と判断されなかった請求項の階層対応値を減少させる補正であっても良い。価値が増加するような補正とは、例えば、階層対応値が、値が増加するに従って、最終的に得られる発明展開度が高くなるような値である場合、階層対応値の値を増加させる補正であり、階層対応値が、値が減少するに従って、最終的に得られる発明展開度が高くなるような値である場合、階層対応値の値を減少させる補正である。例えば、予め、請求項が外的付加の請求項である場合の補正値を予め図示しない記憶媒体等に用意しておき、請求項が外的付加の請求項であると判断された場合にのみ、当該請求項の階層対応値を、用意された補正値を用いて補正することで行われる。このときの補正は、例えば、階層対応値に対する補正値の加算や、乗算である。
具体例を挙げると、例えば、予め判断部103が外的付加の請求項であると判断した請求項に関する正の値である補正値を用意しておき、特許請求の範囲を構成する1以上の請求項について、外的付加の請求項であると判断された請求項については、その請求項に対応する階層対応値に対してのみ、階層対応値に補正値を加算し、外的付加の請求項でないと判断された請求項については、その請求項に対応する階層対応値に対して補正値を加算しない。そして、このようにして判断部103の判断結果に応じて補正された階層対応値の合計を算出し、算出により得られた値を発明展開度として取得する。また、ここでは外的付加の請求項であると判断した請求項の階層対応値に、正の値である補正値を加算するようにしたが、ここでの補正は、結果的に外的付加の請求項の階層対応値が示す価値が増加する補正であればよい。例えば、外的付加の請求項ではないと判断された請求項の階層対応値から、正の値である補正値を減算する補正を行っても良い。また、加算や減算の代わりに、適宜、乗算や除算等を行うようにしても良い。
なお、発明展開度取得部107は、特許請求の範囲に含まれる1以上の請求項について、外的付加の請求項数の合計を求め、この合計の値、もしくはこの合計の値に予め指定された演算を行って得られた値と、値取得部105が各請求項について取得した階層対応値の合計の値、もしくはこの合計の値に予め指定された演算を行って得られた値とを加算した値を、発明展開度の値として取得しても良い。
発明展開度取得部107は、通常、MPUやメモリ等から実現され得る。発明展開度取得部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部108は、発明展開度取得部107が取得した値を出力する。ここで述べる出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。なお、プログラムとは、コンピュータの行う処理(演算・動作・通信など)の手順を指示したもののことである。
出力部108は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部108は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、発明展開度生成装置10の動作の一例について図2のフローチャートを用いて説明する。なお、ここでは、値取得部105が、請求項について取得した階層情報を用いて階層対応値を取得し、発明展開度取得部107が、階層対応値と判断部103の判断結果である請求項が外的付加であるか否かの判断結果を示す情報とを用いて発明展開度を取得する場合の例について説明する。また、請求範囲データ取得部102には、特許公報等の特許文書が格納されているものとする。この発明展開度生成装置10は、ここでは例として、図示しない受付部等が、特許文書の指定を含む発明展開度を取得する指示をユーザ等から受け付けた場合に、この指定された特許文書についての発明展開度を取得する処理を行うものとする。
(ステップS201)請求範囲データ取得部102は、請求範囲データ格納部101に格納されている特許文書のうちの、ユーザ等により指定された一の特許文書から、特許請求の範囲のデータを読み出す。例えば、特許請求の範囲を示すタグ等を検索キーとして、特許請求の範囲の情報を検出し、取得する。取得した特許請求の範囲の情報は、図示しない記憶媒体等に一時記憶する。
(ステップS202)判断部103は、ステップS201において取得した特許請求の範囲のデータに含まれる各請求項が、外的付加の請求項であるか否かを判断する。この処理の詳細については後述する。
(ステップS203)階層情報取得部104は、ステップS201において取得した特許請求の範囲のデータに含まれる各請求項の階層情報を取得する。この処理の詳細については後述する。
(ステップS204)値取得部105は、カウンターnの値に1を代入する。
(ステップS205)値取得部105は、n番目の請求項の階層対応値を取得する。具体的には、まず、値格納部106には、予め、階層情報と階層対応値とが対応付けられて格納されているものとする。そして、値取得部105は、ステップS203において取得した階層情報から、n番目の請求項の階層情報を取得し、当該n番目の請求項の階層情報を検索キーとして、値格納部106に格納されている階層情報の中から一致する階層情報を検索する。そして、一致する階層情報に対応付けられた階層対応値のデータを検出し、n番目の請求項の階層対応値として読み出す。読み出した階層対応情報は、n番目の請求項と対応付けて図示しない記憶媒体等に一時記憶する。
(ステップS206)値取得部105は、カウンターnの値を1インクリメントする。
(ステップS207)値取得部105は、ステップS201において読み出した一の特許請求の範囲のデータに、n番目の請求項が存在するか否かを判断する。存在する場合、ステップS205に戻り、存在しない場合、ステップS208に進む。
(ステップS208)発明展開度取得部107は、カウンターmに1を代入する。
(ステップS209)発明展開度取得部107は、ステップS205において取得された階層対応値の中から、m番目の請求項の階層対応値を取得する。
(ステップS210)発明展開度取得部107は、m番目の請求項が外的付加の請求項であるか否かを判断する。具体的には、ステップS202において行われた判断結果の情報が、m番目の請求項が外的付加の請求項であることを示しているか否かを判断する。外的付加の請求項であると判断された場合、ステップS211に進み、外的付加の請求項でないと判断された場合、ステップS212に進む。
(ステップS211)発明展開度取得部107は、予め図示しない記憶媒体等に格納されている外的付加の請求項に対応した補正値を取得し、ステップS209において取得したn番目の請求項の階層対応値に加算する。なお、ここでは、補正値を加算しているが、補正値により補正ができれば加算以外の演算を行ってもよい。
(ステップS212)発明展開度取得部107は、一の特許請求の範囲を構成する各請求項についてそれぞれステップS210において取得される階層対応値またはステップS211において取得される補正後の階層対応値を、順次累積加算する。ここで累積加算した結果として最終的に得られる一の特許請求の範囲を構成する全ての請求項の階層対応値の合計値が、発明展開度取得部107が取得する当該特許請求の範囲を含む特許文書の発明展開度である。
(ステップS213)発明展開度取得部107は、カウンターmの値を1インクリメントする。
(ステップS214)発明展開度取得部107は、ステップS201において読み出した一の特許請求の範囲のデータに、m番目の請求項が存在するか否かを判断する。存在する場合、ステップS209に戻り、存在しない場合、ステップS215に進む。
(ステップS215)出力部108は、発明展開度取得部107がステップS212において取得した発明展開度の値を出力する。そして、処理を終了する。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に判断部103は、ステップS202において示した、請求項が外的付加の請求項であるか否かを判断する処理の詳細の一例について、図3のフローチャートを用いて説明する。なお、ここでは、従属請求項に外的付加を示す文字列が含まれるか否かを判断することで、外的付加の請求項を判断する場合の例について説明する。
(ステップS301)判断部103は、カウンターnに1を代入する。
(ステップS302)判断部103は、ステップS201において取得した特許請求の範囲のデータから、請求項タグを用いてn番目の請求項のデータを取得する。
(ステップS303)判断部103は、図示しない記憶媒体等に予め格納されている請求項の従属を示す1以上の文字列のデータを取得し、当該文字列のデータの少なくとも1以上がステップS302において取得したn番目の請求項のデータに含まれるか否かを判断する。文字列のデータがn番目の請求項に少なくとも1以上含まれるか否かは、検索やパターンマッチング処理等により行われる。請求項の従属を示す文字列が含まれている場合、ステップS304に進み、含まれない場合、ステップS306に進む。
(ステップS304)判断部103は、ステップS302において取得したn番目の請求項のデータに、外的付加の請求項であることを示す文字列があるか否かを判断する。ある場合、ステップS305に進み、ない場合、ステップS306に進む。
(ステップS305)判断部103は、n番目の請求項が、外的付加であることを示す情報を、n番目の請求項と対応付けて、図示しない記憶媒体等に蓄積する。これにより、最終的に外的付加であることを示す情報と対応付けられていない情報は、外的付加でない従属請求項、もしくは独立請求項となる。
(ステップS306)判断部103は、カウンターnの値を1インクリメントする。
(ステップS307)判断部103は、ステップS201において取得した特許請求の範囲のデータにn番目の請求項があるか否かを請求項タグ等から判断する。ある場合、ステップS302に戻り、ない場合、上位の処理にリターンする。
次に、ステップS203において示した、各請求項の階層情報を取得する処理の詳細について、図4に示したフローチャートを用いて説明する。
(ステップS401)階層情報取得部104は、カウンターnに1を代入する。
(ステップS402)階層情報取得部104は、ステップS201において取得した特許請求の範囲のデータから、請求項タグを用いてn番目の請求項のデータを取得する。
(ステップS403)階層情報取得部104は、図示しない記憶媒体等に予め格納されている請求項の従属を示す1以上の文字列のデータを取得し、当該文字列のデータがステップS402において取得したn番目の請求項のデータに少なくとも1以上含まれるか否かを判断する。文字列のデータがn番目の請求項に少なくとも1以上含まれるか否かは、検索やパターンマッチング処理等により行われる。請求項の従属を示す文字列が含まれている場合、ステップS404に進み、含まれない場合、ステップS406に進む。
(ステップS404)階層情報取得部104は、ステップS403の処理において検出された請求項の従属を示す文字列を含む文字列から、被従属項の請求項の請求項番号を取得する。請求項の従属を示す文字列を含む文字列に、複数の請求項が含まれる文字列、例えば「から」や「乃至」等が含まれる場合、当該文字列の前後の請求項間の請求項番号も取得する。
(ステップS405)階層情報取得部104は、取得した被従属項の請求項番号を、n番目の請求項と対応付けて図示しない記憶媒体等に蓄積する。
(ステップS406)階層情報取得部104は、カウンターnの値を1インクリメントする。
(ステップS407)階層情報取得部104は、ステップS201において取得した特許請求の範囲のデータにn番目の請求項があるか否かを請求項タグ等から判断する。ある場合、ステップS402に戻り、ない場合、ステップS408に進む。
(ステップS408)階層情報取得部104は、カウンターnに1を代入する。
(ステップS409)階層情報取得部104は、カウンターkに1を代入する。
(ステップS410)階層情報取得部104は、ステップS405において請求項と対応付けて蓄積した被請求項の請求項番号において、n番目の請求項と対応付けられた被請求項の請求項番号があるか否かを判断する。ある場合、ステップS411に進み、ない場合、ステップS419に進む。対応する請求項番号がない場合とは、n番目の請求項が独立請求項である場合である。
(ステップS411)階層情報取得部104は、n番目の請求項に対応した被請求項の請求項番号を取得する。具体的には、階層情報取得部104は、ステップS405において請求項と対応付けて蓄積した請求項番号の中から、n番目の請求項と対応付けられた請求項番号を取得する。
(ステップS412)階層情報取得部104は、カウンターkに1を代入する。このカウンターkは、請求項の階層をカウントするカウンターであり、このカウンターkの値を、ここでは、階層情報として用いるものとする。
(ステップS413)階層情報取得部104は、カウンターmに1を代入する。
(ステップS414)階層情報取得部104は、ステップS411において取得した被請求項の請求項番号(もしくは、後述するステップS419において1以上の被請求項の請求項番号を取得した場合は、当該ステップS419で取得した1以上の請求項番号)のうちの、m番目の請求項番号を取得する。そして、m番目の請求項番号が示す請求項に対応する被従属項の請求項番号があるか否かを判断する。m番目の請求項番号が示す請求項とは、m番目の請求項番号と一致する請求項の番号を示す請求項タグを有する請求項である。即ち、m番目の請求項番号が示す請求項に対応する被従属項の請求項番号とは、m番目の請求項番号が示す請求項の被従属項となる請求項の請求項番号である。階層情報取得部104は、例えば、ステップS405において請求項と対応付けられて蓄積された請求項番号の中に、m番目の請求項番号が示す請求項と一致する請求項と対応付けられたものがあるか否かを検索し、一致するものがある場合には、対応する被従属項の請求項番号が有ると判断する。この一致する請求項と対応付けて蓄積されている請求項番号が、m番目の請求項番号が示す請求項に対応する被従属項の請求項番号である。また、一致するものがない場合、対応する被従属項の請求項番号がないと判断される。
(ステップS415)階層情報取得部104は、m番目の請求項番号が示す請求項に対応する被従属項の請求項番号を取得し、図示しない記憶媒体等に蓄積する。既に、他の被従属項の請求項番号が蓄積されている場合、追加蓄積する。
(ステップS416)階層情報取得部104は、カウンターmの値を1インクリメントする。
(ステップS417)階層情報取得部104は、ステップS411において取得した被従属項の請求項番号(もしくは、後述するステップS419において1以上の被請求項の請求項番号を取得した場合は、当該ステップS419で取得した1以上の請求項番号)に、m番目の請求項番号があるか否かを判断する。ある場合、ステップS414に戻り、ない場合、ステップS418に進む。
(ステップS418)階層情報取得部104は、ステップS415において蓄積された被請求項の請求項番号が1以上あるか否かを判断する。ある場合、ステップS419に進み、ない場合、ステップS420に進む。
(ステップS419)階層情報取得部104は、ステップS415において蓄積された被従属項の請求項番号を全て取得する。そして、ステップS412に戻る。
(ステップS420)階層情報取得部104は、カウンターkの値を、n番目の請求項の階層情報として取得し、n番目の請求項と対応付けて図示しない記憶媒体等に蓄積する。
(ステップS421)階層情報取得部104は、カウンターnの値を1インクリメントする。
(ステップS422)階層情報取得部104は、特許請求の範囲にn番目の請求項があるか否かを判断する。ある場合、ステップS409に戻り、ない場合、上位の処理に戻る。
なお、上記の処理において、ステップS403において、被従属項を示す文字列がないと判断された請求項については、独立請求項であることを示す情報と対応付けて図示しない記憶媒体等に蓄積するようにしても良い。
なお、本発明においては、ステップS407以降の処理として、以下のような処理を行って、各請求項の階層情報を取得しても良い。
まず、特許請求の範囲に含まれる請求項の中から独立請求項を検出する。例えば、被従属項の請求項番号と対応付けられて格納されていない請求項や、独立請求項であることを示す情報と対応付けられた請求項を検出する。そして、独立請求項と第一階層であることを示す階層情報、例えば「1」を対応付けて、階層情報を管理するための、図示しない記憶媒体等に蓄積する。
次に、ステップS405において請求項と対応付けて蓄積された請求項番号の中から、直前の処理で階層情報「1」が対応付けられた請求項の請求項タグが示す番号を含むものを検索し、検出された請求項番号と対応付けられて蓄積された請求項に対して、第二階層であることを示す階層情報「2」を対応付けて、上述した階層情報を管理するための記憶媒体等に蓄積する。
次に、同様にして、ステップS405において請求項と対応付けて蓄積された請求項番号の中から、直前の処理で階層情報「2」が対応付けられた請求項の請求項タグが示す番号を含むものを検索し、検出された請求項番号と対応付けられて蓄積された請求項に対して、第三階層であることを示す階層情報「3」を対応付けて、上述した階層情報を管理するための記憶媒体等に蓄積する。
このとき、階層情報「3」を対応付けて蓄積しようとする請求項と一致する請求項が、既に、他の階層情報(ここでは、「2」)と対応付けられて蓄積されていた場合、蓄積しようとする階層情報「3」で既に蓄積されている階層情報を上書きする。
以降同様に、上記の処理で述べた階層情報を一ずつ増加させながら上記と同様の処理を繰り返し、ステップS405において請求項と対応付けて蓄積された請求項番号の中に、直前の処理で階層情報が対応付けられた請求項の請求項タグが示す番号を含む請求項番号が検出されなくなった時点で処理の繰り返しを終了する。そして、この時点で、階層情報を管理する記憶媒体に、各請求項と対応付けられている階層情報が、各請求項の階層情報である。
なお、階層情報を対応付けて蓄積しようとする請求項と一致する請求項が、既に、他の階層情報と対応付けられて蓄積されていた場合、既に蓄積されている階層情報と並列して、階層情報を蓄積するようにしても良い。この場合、各請求項と対応付けられている階層情報のうちの、最も値が大きいものを、各請求項の階層情報としてよい。
以下、本実施の形態における発明展開度生成装置10の具体的な動作について説明する。
図5は、請求範囲データ格納部101に予め格納されている特許文書の一例である。
まず、ユーザが、発明展開度生成装置10に、図5に示した特許文書の発明展開度を生成する指示を入力したとする。
請求範囲データ取得部102は、請求範囲データ格納部101に格納されている図5に示した特許文書から、特許請求の範囲のデータを読み出す。具体的には、墨付き括弧が付与された「特許請求の範囲」という文字列を検出し、当該文字列以降から、墨付き括弧が付与された「発明の詳細な説明」という文字列までの間の文字列が出現する直前までの文字列のデータを取得する。
次に、判断部103は、特許請求の範囲の先頭から、墨付き括弧が付与された「請求項?*」という請求項タグを検索により検出し、この請求項タグ以降から最初の句点が現れるまでの文字列を請求項のデータとして取得する。このとき「?*」の値を、請求項の番号として取得する。ここでは、請求項の番号は「1」であったとする。
次に、判断部103は、請求項の文字列のデータから、図示しない記憶媒体等に予め格納されている請求項の従属を示す文字列、例えば「請求項?*記載」や「請求項?*または請求項?*記載」、「請求項?*から請求項?*いずれか記載」等を検索する。
この請求項については、上記のような従属を示す文字列が検出されなかったとする。これにより、この請求項は、従属請求項ではなく、外的付加の請求項でないと判断される。このため、判断部103は、この請求項の番号と、外的付加の請求項でないと判断した判断結果を示す情報とを対応付けて図示しない格納部等に蓄積する。
次に、判断部103は、次の請求項タグを検出し、請求項のデータを取得する。この請求項の番号は「2」であったとする。
次に、判断部103は、請求項の文字列のデータについて、図示しない記憶媒体等に予め格納されている請求項の従属を示す文字列、例えば「請求項?*記載」や「請求項?*または請求項?*記載」、「請求項?*から請求項?*いずれか記載」等を検索する。
この請求項については、上記のような従属を示す文字列が検出されたとする。これにより、この請求項は、従属請求項であることとなる。
次に、判断部103は、この請求項の文字列のデータについて、外的付加であることを示す文字列、例えば「更に」または「さらに」等を検索する。外的付加であることを示す文字列が検出されなかったとすると、判断部103は、この請求項が外的付加の請求項でないと判断し、この請求項の番号と、外的付加の請求項でないと判断した判断結果を示す情報とを対応付けて図示しない記憶媒体等に蓄積する。
逆に、外的付加であることを示す文字列が検出されたとすると、判断部103は、この請求項が外的付加の請求項であると判断し、この請求項の番号と、外的付加の請求項であると判断した判断結果を示す情報とを対応付けて図示しない記憶媒体等に蓄積する。
例えば、請求項5に、「を更に備えた請求項2または請求項3記載の」という文字列が含まれていたとすると、この文字列においては「更に」が検出されるため、外的付加の請求項であると判断され、判断結果を示す情報が請求項5と対応付けられて蓄積される。
判断部103は、上記のような処理を、順次、他の請求項に対して繰り返し行う。
図6は、判断部103が特許請求の範囲を構成する全ての請求項について行った外的付加の請求項であるか否かの判断結果を示す判断結果管理表である。判断結果管理表は、「請求項」と「外的付加」という項目を有する。「請求項」は、特許請求の範囲を構成する請求項の番号である。「外的付加」は、請求項についての、外的付加であるか否かの判断結果を示す情報であり、値「1」は、外的付加の請求項であることを示し、値「0」は、外的付加の請求項でないことを示す。
次に、階層情報取得部104は、判断部103と同様に、最初の請求項タグを検出し、請求項のデータと、請求項の番号「1」を取得する。
次に、階層情報取得部104は、請求項の番号が1である請求項、即ち請求項1が従属する被従属項の請求項番号を取得する処理を行う。具体的には、まず、判断部103は、請求項の文字列のデータから、図示しない記憶媒体等に予め格納されている請求項の従属を示す文字列、例えば「請求項?*記載」や「請求項?*または請求項?*記載」、「請求項?*から請求項?*いずれか記載」等と一致する文字列を検索して取得し、次に、この検索結果を用いて、従属請求項番号を取得する。
ただし、この請求項1からは、従属を示す文字列が検出されないため、この請求項からは、被従属項の請求項番号は取得しない。このため、階層情報取得部104は、請求項の番号「1」と、被従属項の請求項番号がないことを示す情報とを対応付けて、請求項番号を管理するために設けられた図示しない記憶媒体に蓄積される。
次に、判断部103は、次の請求項タグを検出し、請求項のデータと請求項番号を取得する。取得した請求項の番号は「2」であるとする。
次に、階層情報取得部104は、請求項の番号が「2」である請求項2が従属する被従属項の請求項番号を取得する。具体的には、まず、階層情報取得部104は、請求項2の文字列のデータから、図示しない記憶媒体等に予め格納されている請求項の従属を示す文字列、例えば「請求項?*記載」や「請求項?*または請求項?*記載」、「請求項?*から請求項?*いずれか記載」等を検索し、取得する。ここでは、「請求項1記載」が取得される。
次に、階層情報取得部104は、取得した「請求項1記載」の文字列から、数字列「1」を取得する。この数字列「1」が被従属項の請求項の請求項番号である。
階層情報取得部104は、請求項タグから取得した請求項の番号「2」と、取得した請求項の請求項番号「1」とを対応付けて、図示しない請求項番号を管理するための記憶媒体等に蓄積する。
階層情報取得部104は、次以降の請求項タグについても同様の処理を行い、請求項タグから取得した請求項番号と、取得した請求項の請求項番号とを対応付けて、請求項番号を管理するための記憶媒体に蓄積する。
なお、例えば、請求項の番号が「4」である請求項4の文字列データから、「請求項1から請求項3いずれか記載」という文字列が取得されたとすると、階層情報取得部104は、数字列「1」および「3」と、数字列間の文字列「から」を取得して、「1から3」という文字列を取得する。そして、「から」を、その両端の数字列の間の数字列で置き換えて、請求項番号「1,2,3」を得る。そして、階層情報取得部104は、請求項タグから取得した請求項の番号「2」と、取得した請求項の請求項番号「1,2,3」とをそれぞれ対応付けて、図示しない請求項番号を管理するための記憶媒体等に蓄積する。
図7は、請求項番号を管理するための記憶媒体に蓄積された、請求項の番号と、当該請求項の被従属項の請求項番号とを管理する請求項番号管理表である。請求項番号管理表は、「請求項」と「被従属項」という項目を有している。「請求項」は、請求項タグから取得された請求項の番号を示す。「被従属項」は、請求項のデータ内の請求項の従属を示す文字列から取得された被従属項の請求項番号である。この番号を有する請求項タグが付与された請求項は、この「被従属項」に対応する「請求項」の番号を有する請求項タグが付与された請求項の親請求項、即ち被従属項の請求項となる。ただし、対応する「被従属項」の値が「−」である「請求項」は被従属項の請求項がないことを示す。この請求項番号管理表においては、対応付けられた「請求項」と「被従属項」とが、一のレコードを構成している。
つぎに、階層情報取得部104は、各請求項についての階層情報を取得する処理を行う。
まず、図7に示した請求項番号管理表から、最初の「請求項」の値「1」を取得する。この値「1」が、階層情報の取得対象となる請求項の番号である。そして、図7に示した請求項番号管理表において、「請求項」の値が「1」であるレコードの「被従属項」の値である被従属項の請求項番号があるか否かを判断する。ここでは、「被従属項」の値が「−」であるため、階層情報取得部104は、被従属項の請求項番号がないと判断する。そして、階層をカウントするためのカウンターの初期値「1」を、請求項の番号が「1」である請求項、即ち請求項1の階層情報として、請求項の番号「1」と対応付けて、図示しない記憶媒体等に蓄積する。
次に、図7に示した請求項番号管理表において、上から2番目の「請求項」の値「2」を取得する。この値「2」が、階層情報の取得対象となる請求項の番号である。そして、図7に示した請求項番号管理表において、「請求項」の値が「2」であるレコードの「被従属項」の値である被従属項の請求項番号があるか否かを判断する。ここでは、「請求項」の値が「2」であるレコードの「被従属項」の値が「1」であるため、階層情報取得部104は、被従属項の請求項番号があると判断する。そして、この「被従属項」の値「1」を取得する。
つぎに、階層をカウントするためのカウンターの値を、初期値「1」から1インクリメントして「2」とする。そして、図7に示した請求項番号管理表において、「請求項」の番号が、直前に「被従属項」から取得した値「1」であるレコードに、被従属項の請求項番号があるか否かを判断する。ここでは、「請求項」の値が「1」であるレコードの「被従属項」の値が「−」であるため、階層情報取得部104は、被従属項の請求項番号がないと判断する。そして、階層をカウントするためのカウンターの値「2」を、請求項の番号が「2」である請求項、即ち請求項2の階層情報として、請求項の番号「2」と対応付けて、図示しない記憶媒体等に蓄積する。
次に、図7に示した請求項番号管理表において、上から3番目の「請求項」の値「3」を取得する。この値「3」が、階層情報の取得対象となる請求項の番号である。そして、図7に示した請求項番号管理表において、「請求項」の値が「3」であるレコードの「被従属項」の値である被従属項の請求項番号があるか否かを判断する。ここでは、「請求項」の値が「3」であるレコードの「被従属項」の値として「1」,「2」が存在するため、階層情報取得部104は、被従属項の請求項番号があると判断する。そして、この「被従属項」の値「1」および「2」を取得する。
つぎに、階層をカウントするためのカウンターの値を、初期値「1」から1インクリメントして「2」とする。そして、図7に示した請求項番号管理表において、「請求項」の番号が、直前に「被従属項」から取得した値「1」および「2」であるレコードに、被従属項の請求項番号があるか否かを判断する。ここでは、「請求項」の値が「1」であるレコードについては、「被従属項」の値が「−」であるため、階層情報取得部104は、被従属項の請求項番号がないと判断する。しかし、「請求項」の値が「2」であるレコードについては、「被従属項」の値が「1」であるため、階層情報取得部104は、被従属項の請求項番号があると判断する。このため、階層情報取得部104は、この「被従属項」の値「1」を取得する。
つぎに、階層をカウントするためのカウンターの値を、値「2」から1インクリメントして「3」とする。そして、図7に示した請求項番号管理表において、「請求項」の番号が、直前に「被従属項」から取得した値「1」であるレコードに、被従属項の請求項番号があるか否かを判断する。ここでは、「請求項」の値が「1」であるレコードの「被従属項」の値が「−」であるため、階層情報取得部104は、被従属項の請求項番号がないと判断する。そして、階層をカウントするためのカウンターの値「3」を、請求項の番号が「3」である請求項、即ち請求項3の階層情報として、請求項の番号「3」と対応付けて、図示しない記憶媒体等に蓄積する。
以下、同様の処理を図7に示した請求項番号管理表の「請求項」に現れる全ての値について行うことで、全ての請求項についての階層情報が得られる。
図8は、階層情報取得部104が取得して蓄積した階層情報を管理するための階層情報管理表である。階層情報管理表は、「請求項」と「階層情報」という項目を有している。「請求項」は、請求項の番号である。「階層情報」は階層情報である。ここでの階層情報は、各請求項の独立請求項からの階層の深さを示しており、独立請求項の階層情報を「1」とし、そこから階層が一段階深くなる毎に、値が「1」増える値である。
図9は、値格納部106に格納されている階層対応値を管理するための階層対応値管理表である。階層対応値管理表は、「階層情報」および「階層対応値」を有している。「階層情報」は、図8の「階層情報」に対応する。「階層対応値」は階層対応値である。一のレコードを構成する「階層情報」の値と、「階層対応値」の値は、互いに対応付けられている。
値取得部105は、図8に示した階層情報管理表の各レコードについて、「階層情報」の値を読み出し、図9に示した階層対応値管理表の中から、読み出した「階層情報」の値と一致する「階層情報」を含むレコードをそれぞれ検出し、当該レコードの「階層対応値」を読み出す。そして、図8に示した階層情報管理表の「階層情報」の値を読み出したレコードに含まれる「請求項」の値と、図9に示した階層対応値管理表から読み出した「階層対応値」とを対応付けて、図示しない記憶媒体等に蓄積する。
例えば、値取得部105は、図8に示した階層情報管理表の「請求項」項目の値が「5」であるレコードの「階層情報」の値「4」を読み出し、図9に示した階層対応値管理表の中から、「階層情報」の値が「4」であるレコードを検出し、当該レコードの「階層対応値」である「0.3」を取得する。そして、「階層情報」を読み出したレコードの「請求項」の値と、取得した「階層対応値」とを対応付けて蓄積する。
図10は、値取得部105が取得した階層対応値を管理する取得階層対応値管理表である。取得階層対応値管理表は、「請求項」と、「階層対応値」という項目を有している。「請求項」は、図8に示した階層情報管理表の「請求項」に相当する。また、「階層対応値」は、図9に示した階層対応値管理表の「階層対応値」に相当する。
図11は、外的付加であるか否かに応じた請求項の補正値を管理する補正値管理表である。補正値管理表は、「外的付加」と、「補正値」という項目を有する。「外的付加」は、図6の「外的付加」に相当する。「補正値」は、請求項に対応する階層対応値を補正するための値であり、ここでは、階層対応値に対して加算される値であるとする。
発明展開度取得部107は、値取得部105が各請求項について取得した階層対応値、即ち、図10に示した取得階層対応値管理表で管理されている階層対応値を累積加算して発明展開度を算出する。ここでは特に、各請求項の階層対応値を、図6の判断結果管理表が示す各請求項が外的付加であるか否かを判断した判断結果に応じて補正し、補正した階層対応値を累積加算して発明展開度を算出する。
例えば、発明展開度取得部107は、まず、図10に示した取得階層対応値管理表の一行目のレコードについて、「請求項」の値「1」を取得し、図6に示した判断結果管理表において、「請求項」の値が「1」と一致するレコードを検索により検出する。そして、検出したレコードの「外的付加」の値「0」を取得し、「外的付加」の値が当該取得した値「0」と一致するレコードを、図11に示した補正値管理表において検出し、検出したレコードの「補正値」の値「0」を取得する。そして、取得階層対応値管理表の一行目のレコードの「階層対応値」である「1」を読み出し、補正値管理表から取得した補正値「0」を加算して、補正後の階層対応値「1」を得る。そして、補正後の階層対応値を累積加算していく。ここでは、最初に得られた階層対応値であるため、取得した値をそのまま加算値として取得する。なお、「外的付加」の値が「0」である場合、補正を行わないようにしても良い。
以下、同様にして取得階層対応値管理表の二行目以降のレコードについても、同様の処理を繰り返して補正後の階層対応値を取得し、取得した階層対応値を、順次累積加算していく。
例えば、発明展開度取得部107は、図10に示した取得階層対応値管理表の4行目のレコードについて、「請求項」の値「4」を取得し、図6に示した判断結果管理表において、「請求項」の値が「4」と一致するレコードを検索により検出する。そして、検出したレコードの「外的付加」の値「1」を取得し、「外的付加」の値が当該取得した値「1」と一致するレコードを、図11に示した補正値管理表において検出し、検出したレコードの「補正値」の値「0.5」を取得する。そして、取得階層対応値管理表の四行目のレコードの「階層対応値」である「0.3」を読み出し、補正値管理表から取得した補正値「0.5」を加算して、補正後の階層対応値「0.8」を得る。そして、補正後の階層対応値を、その直前までに累積加算された階層対応値の値に、累積加算する。例えば、直前のレコードである三行目のレコード、即ち請求項3までに累積加算された階層対応値の値が「2.3」であったとすると、この値「2.3」に「0.8」が累積加算される。
このようにして、発明展開度取得部107は、値取得部105が取得した全ての請求項について補正後の階層対応値を取得し、取得した階層対応値を累積加算する。この累積加算の結果得られた値が請求項の従属関係についての発明展開度である。
出力部108は、発明展開度取得部107が取得した発明展開度の値を、例えば、モニタ等に表示する。また、出力部108は、取得した発明展開度の値を図示しない記憶媒体等に蓄積する。
図12は、出力部108の表示例を示す図である。
以上、本実施の形態によれば、請求項が従属請求項か否かを判断し、当該判断結果に応じた発明展開度を取得するようにしたことにより、請求項の従属関係に応じた適切な発明展開度を取得することができる。具体的には、請求項が外的付加の請求項であるか否かに応じた発明展開度を取得することができる。
また、本実施の形態によれば、請求項の階層情報に応じた階層対応値を取得し、当該階層対応値を用いて発明展開度を取得するようにしたことにより、請求項の従属関係に応じた適切な発明展開度を取得することができる。具体的には、請求項の階層の深さに応じた発明展開度を取得することができる。
なお、本実施の形態において説明した発明展開度を、上述した引用文献1等において説明されている特許価値を算出する装置等において利用される発明展開度の代わりに用いる用にしても良いことはいうまでもない。
また、本実施の形態において説明した構成を、上述した引用文献1等において説明されている特許価値を算出する装置等の、発明展開度を算出する処理部として用いるようにしても良い。
また、本実施の形態において説明した発明展開度を、上述した引用文献1等において説明されている発明展開度を算出する要素の一つとして用いるようにしても良い。例えば、本実施の形態において説明した発明展開度を、上述した引用文献1等において説明されている発明展開度を算出する式の一つの変数として加えても良いし、上述した引用文献1等において説明されている発明展開度を算出する式の一つの変数の代わりに、本実施の形態において説明した発明展開度を用いても良い。例えば、本実施の形態において算出した発明展開度に所定の定数を乗算した値と、上記引用文献1において説明されているカテゴリー展開の数に所定の定数を乗算した値とを加算した値を、新たな発明展開度として取得しても良い。そして、この発明展開度を、特許価値の評価に用いても良いことはいうまでもない。また、本実施の形態に示した発明展開度において、更に、他の変数等を加えて、新たな発明展開度を算出しても良い。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態では、発明展開度生成装置がスタンドアロンである場合について説明したが、発明展開度生成装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における発明展開度生成装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、請求項の番号を示す請求項タグを有する1以上の請求項を含む特許請求の範囲のデータが格納され得る請求範囲データ格納部から特許請求の範囲のデータを取得する請求範囲データ取得部と、前記請求範囲データ取得部が取得した特許請求の範囲のデータを用いて、前記請求項タグで特定される各請求項が外的付加の請求項であるか否かを判断する判断部と、前記判断部の判断結果に応じて請求項の従属関係に関する発明展開度を取得する発明展開度取得部と、前記発明展開度取得部が取得した値を出力する出力部として機能させるためのプログラムである。
また、このプログラムは、コンピュータを、請求項の番号を示す請求項タグを有する1以上の請求項を含む特許請求の範囲のデータが格納され得る請求範囲データ格納部から特許請求の範囲のデータを取得する請求範囲データ取得部と、前記請求範囲データ取得部が取得した特許請求の範囲のデータを用いて、前記請求項タグで特定される各請求項の階層を示す情報である階層情報を取得する階層情報取得部と、前記各請求項について、前記階層情報取得部が取得した階層情報に対応した値である階層対応値を取得する値取得部と、前記値取得部が各請求項について取得した階層対応値を用いて請求項の従属関係に関する発明展開度を取得する発明展開度取得部と、前記発明展開度取得部が取得した値を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図13は、上記プログラムを実行して、上記実施の形態による発明展開度生成装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図13において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図14は、コンピュータシステム900の内部構成を示す図である。図14において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による発明展開度生成装置の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による発明展開度生成装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。