以下、特許情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、検索式を用いて検索した特許を自動的に分類する特許情報処理装置1について説明する。
図1は、本実施の形態における特許情報処理装置1のブロック図である。
特許情報処理装置1は、格納部11、検索部12、分類部13、分類器性能情報取得部14、学習候補決定部15、および出力部16を備える。また、格納部11は、分類器格納部111、SDI情報格納部112、未分類特許情報格納部113、および既学習特許情報格納部114を備える。また、出力部16は、分類識別子出力部161、分類器性能情報出力部162、および学習候補出力部163を備える。
格納部11には、種々の情報が格納されている。種々の情報は、例えば、後述する分類器、後述するSDI情報、後述する未分類特許情報、後述する既学習特許情報である。
分類器格納部111は、検索式情報に対応付けられた分類器情報が格納される。なお、分類器情報は、単に分類器と言っても良い。
ここで、検索式情報とは、検索式を示す情報である。検索式情報は、特許検索が可能な検索式の情報であればどのような形式であっても良い。検索式は、例えば、検索条件を論理演算子(多くの場合はANDもしくはOR)で結合したものである。検索条件は、例えば、特許分類コード(例えば、IPC、Fターム、FI等)の指定でも良く、特許書類の特定の位置([要約]や[発明の効果]等)に現れるキーワードの指定でも良く、出願や公開された期間の指定でも良い。また、検索式は、検索式を複数組み合わせ(論理演算子で結合した)検索式であっても良い。なお、特許書類の特定の位置は、特許書類の特定の箇所、領域と言っても良い。また、検索式情報が示す検索式は、期間の情報(例えば、公開日、登録日などを含む期間の情報)を有さないことは好適である。
また、分類器は、検索式情報によって検索された特許を分類した結果を学習した情報である。分類器は、通常、検索式情報によって検索された特許を人手によって分類した結果を学習した分類器の情報であるが、他の分類器によって分類した結果を学習した情報でも良い。
具体的には、予め検索式に基づいて検索された1以上の各特許書類に対して、例えば、人手で一以上の分類識別子を付与する。ここで、分類識別子とは、例えば、2値分類ならば、「○」と「×」、多値分類ならば「A」、「B」、「C」などである。また、分類識別子は、階層関係を持っても良い。例えば、大分類「A」の下位に小分類「a」、「b」、「c」が存在する場合、分類識別子は、予め定めた分類の階層を区切る特殊な文字列(例えば「/」)を用いて、各小分類を「A/a」、「A/b」、「A/c」としても良い。また、分類識別子は、空文字(空白)であっても良い。分類識別子を人手で付与する際は、2以上の分類識別子である分類識別子集合のうちの少なくとも一の分類識別子を付与する。その後、分類識別子を付与した特許書類の特徴を、機械学習等により学習し、未知の特許(分類識別子が付与されていない特許)に対して付与されるべき分類識別子を予測する分類器を作成する。
分類器情報は、通常、分類器のモデル、用いる素性、パラメータ、付与する分類識別子、モデルへの入出力方法など、特許書類に対して分類識別子を付与するために必要な情報をすべて含む。また、分類器情報は、ランダムフォレストにおけるOOBエラーのような分類器の性能を表す指標を含んでも良く、分類器を作成する際に用いた特許書類とその分類識別子を含んでも良い。さらに、分類器情報は1以上の分類器の情報を含んでも良い。例えば、一の特許に対して複数の特許識別子を付与する場合、特許識別子ごとに分類器を学習させ、分類器情報は、学習した全ての分類器と分類器の適用方法を含んでも良い。ここで、分類器の適用方法とは、例えば、分類器を適用する順番である。また、例えば、分類器の適用方法とは、分類器の出力する値に基づいて分類識別子を付与する方法である。例えば、「A」(高関連特許)、「B」(低関連特許)、「C」(無関連特許)という3つの分類識別子のいずれか1つを付与する目的で、「○」(関連)と「×」(無関連)の2値の分類を行うランダムフォレストを分類器として使用する場合において、ランダムフォレストが「○」である確率も出力するものとする。このとき、予め2つのしきい値を定めておき、前記確率をしきい値に基づいて分割することで「A」、「B」、「C」の3つのいずれかの分類識別子を付与しても良い。具体的には、ランダムフォレストの出力する確率が第一しきい値(例えば0.8)以上のとき「A」、同確率が第二しきい値(例えば0.5)以上のとき「B」、それ以外のとき「C」というように分類識別子を付与する。なお、ランダムフォレストやOOBエラーについては公知であるため説明を省略する。
また、分類器情報を構成するための学習機能のアルゴリズムは問わない。かかる学習機能として、例えば、ランダムフォレスト、SVM、深層学習、決定木等の機械学習のアルゴリズムが利用可能である。
図示しない学習部は、例えば、以下のように分類器情報を生成し、分類器格納部111に蓄積する。つまり、学習部は、例えば、特許書類からベクトルを取得する。そして、当該ベクトルと、当該特許に対して付与された分類識別子との組の集合を取得する。次に、学習部は、機械学習のアルゴリズムを用いて、ベクトルと分類識別子との組を複数、学習処理し、分類器情報を生成する。次に、学習部は、当該分類器情報を分類器格納部111に蓄積する。
なお、学習部は、例えば、以下のように、特許書類からベクトルを取得する。つまり、学習部は、例えば、特許書類の全部または一部に対して、自然言語処理を行い、ベクトルを取得する。学習部は、例えば、特許書類の全部または一部を自然言語処理技術によって解析し、特許書類に含まれるテキストから単語n−gramを抽出する。次に、抽出したn−gramのパターンの各々を次元とし、処理対象の特許書類がn−gramを含む場合は1、含まない場合は0を値として設定することでベクトル化することができる。なお、特許書類の全部または一部は、特許分類コード(例えば、IPC、Fタームなど)を含んでも良く、かかる場合、学習部は、1以上の各特許分類コードを含む場合は、その次元(要素)を「1」、特許分類コードを含まない場合は、その次元(要素)を「0」として、ベクトルを取得する。なお、テキストをベクトル化する(テキストからベクトルを取得する)自然言語処理については、各種の方法があり、公知のため説明を省略する。また、ベクトルを構成する要素は、特許書類の全部または一部から取得され得る種々の情報が考えられることを言うまでもない。
SDI情報格納部112は、2以上のSDI情報が格納される。ここで、SDI情報とは、検索式情報とその検索結果に対する分類に関する情報を含む。検索結果に対する分類に関する情報とは、各特許書類を識別する特許識別子(例えば、出願番号、公開番号、特許番号)と、各特許識別子に対応する分類識別子である。SDI情報は、同一の検索式情報であっても、各特許に異なる分類識別子が付与される場合、異なるSDI情報として扱う。
未分類特許情報格納部113は、2以上の未分類特許情報が格納される。未分類特許情報は、未分類の特許の特許情報である。未分類特許情報は、特許書類の特許識別子を有する。未分類特許情報は、例えば、特許識別子と特許書類とを有する。未分類特許情報は、例えば、特許識別子と、特許書類を構成する一部の書類(例えば、要約書、または特許請求の範囲)または特許書類を構成する一部の箇所の情報(例えば、発明の名称と効果と課題解決手段等)とを有する。未分類特許情報格納部113には、あくまで、人手による分類が行われていない特許書類とその特許識別子が格納されているため、分類器がまだ学習していない特許書類も含まれる場合がある。
既学習特許情報格納部114は、1または2以上の既学習特許情報が格納される。既学習特許情報は、既に分類した特許書類の特許情報である。既学習特許情報は、通常、特許書類の特許識別子とその特許に対応する分類識別とを有する。既学習特許情報は、例えば、特許書類とその特許に対応する分類識別子を有する。また、既学習特許情報は、ベクトル化した特許書類とそのベクトルに対応する分類識別子であっても良い。ここで、ベクトル化とは、通常、分類器格納部111に格納された分類器へ入力することが可能なように特許書類をベクトルに変換することである。例えば、すべての既学習特許書類を自然言語処理技術によって解析し、特許書類に含まれるテキストから単語n−gramを抽出する。次に、抽出したn−gramのパターンの各々を次元とし、特許書類がn−gramを含む場合は1、含まない場合は0を値として設定することでベクトル化することができる。また、この際、特許に付与された特許分類コードに関する次元を含んでも良い。テキストをベクトル化する自然言語処理については公知のため説明を省略する。
検索部12は、検索式情報を用いて1以上の特許書類を取得する。検索部12は、通常、新たに公開された1以上の特許書類の中から、検索式情報を用いて1以上の特許書類を取得する。検索部12は、例えば、分類器格納部111に格納された検索式に対応する分類器が用いる情報(例えば、[要約]と[発明の名称]と[IPC]など)をすべて取得する。なお、ここでの検索式情報は、分類器情報に対応付けられた検索式情報である。また、「検索式情報を用いて」とは、検索式情報の一部を用いることも含む。検索式情報の一部とは、例えば、検索式情報から公開日に関する条件を除いた検索式を特定する情報である。また、1以上の特許書類を取得することは、1以上の各特許書類を特定する情報(特許識別子)を取得することでも良い。
分類部13は、検索部12が取得した1以上の各特許書類に対して、2以上の分類識別子のうちの少なくとも一の分類識別子を決定する。この際、分類部13は、通常、分類器格納部111に格納された分類器情報に従い、当該分類器情報を各特許へ適用し、分類識別子を取得する。具体的には、分類部13は、各特許書類を分類器へ入力可能な状態へ変換し(通常、ベクトル化し)、当該変換して得られた情報(通常、ベクトル)に対して分類器情報を適用し、分類識別子を取得し、当該分類識別子を各特許書類に対応付けて、蓄積する。
また、分類部13は、例えば、各特許書類をベクトル化し、当該ベクトルを分類器情報に適用し、2以上の分類識別子ごとにスコアを取得し、最もスコアが高い(該当する尤度が大きい)分類識別子を収録し、当該分類識別子を各特許書類に対応付けて、蓄積する。かかる場合、分類部13は、分類識別子ごとにスコアを取得するアルゴリズムを用いる。
分類部13は、例えば、SDI情報によって異なる分類識別子集合の中の少なくとも一の分類識別子を決定する。つまり、分類部13は、例えば、分類のために使用した分類器情報を作成した際に使用された2以上の分類識別子のうちの一の分類識別子を決定する。 分類器性能情報取得部14は、分類器性能情報を取得する。分類器性能情報は、分類器情報の性能に関する情報であり、分類結果の学習が十分であるか否かに関する情報である。分類器性能情報は、例えば、さらに学習させるべきことを示す情報、または学習する必要が無いことを示す情報である。また、分類器性能情報は、例えば、精度情報、数情報、程度情報のいずれか1以上の情報を含む。
ここで、精度情報とは、分類器の精度(性能)に関する情報であり、通常、適合率と再現率(またはこれらの調和平均であるF値)である。精度情報は、例えば、後述する程度情報を求める際に得られた適合率と再現率の平均値を用いても良い。また、精度情報は、例えば、ランダムフォレストのOOBエラーのように、学習時に精度情報が得られる分類器を用いる場合、その情報を分類器格納部111に格納しておき、その情報をそのまま用いても良い。ランダムフォレストとOOBエラーについては、公知のため説明を省略する。
分類器性能情報取得部14は、例えば、以下のように精度情報を取得する。
分類器性能情報取得部14は、例えば、SDI情報格納部112に格納された特許識別子とそれに対応する分類識別子(以下、学習特許群と呼ぶ)を対象に、K−Cross Validation(K分割交差検証)を行い、精度情報を取得しても良い(分類器格納部111が分類器の学習に用いた特許を格納している場合は、そちらでも学習特許群としても良い)。具体的には、分類器性能情報取得部14は、学習特許群をK個(Kのグループと言っても良い)に分割(Kは2〜学習特許群のサイズ)する。次に、分類器性能情報取得部14は、K個に分割された特許群のうち1つの取り除き、残りのK−1個の特許群を用いて分類器を作成する。次に、作成した分類器を先程取り除いた1つの特許群に適用し、その適合率(分類器がノイズではないと判定した特許のうち、実際にノイズではなかったものの割合)と再現率(実際にノイズではない特許のうち、分類器が正しくノイズではないと判定したものの割合)を算出する。以上の分類器作成から適合率と再現率の算出までの処理を、適合率と再現率の算出に用いる特許群を変えながら合計K回繰り返す。最後に、K回算出した適合率と再現率の統計値(例えば、平均値や中央値など)を求めることで精度情報を取得する(さらに、分類器性能情報取得部14は、平均適合率と平均再現率の調和平均を求めて平均F値を算出しても良い)。また、分類器性能情報取得部14は、分類器がランダムフォレストのような分類器の学習と同時にOOBエラーのような精度に関する情報を有する場合、その値を精度情報としても良い。例えば、分類器がランダムフォレストの場合、(1−OOBエラー)を先の平均F値の代わりとしても良い。
また、数情報とは、分類器が十分に性能を発揮するためには、学習特許群(人手で分類する特許書類)を、さらに何件行う必要があるかに関する情報である。
分類器性能情報取得部14は、例えば、以下のように数情報を取得する。
分類器性能情報取得部14は、例えば、学習特許群の数が予め定めた一定のしきい値以下の場合に、そのしきい値と学習特許群との数の差を数情報として取得しても良い。また、学習特許群のサイズを徐々に大きくしていき、サイズごとに学習結果を評価することで、十分に学習が行われたか否かを判定しても良い。この数情報の取得方法については、その求め方の一例を後述する。
また、程度情報とは、分類器が出力する分類識別子がどの程度信頼できるかを表す(頑健性)情報である。
分類器性能情報取得部14は、例えば、以下のように程度情報を取得する。
分類器性能情報取得部14は、例えば、学習特許群が予め定めた一定の数以下の場合に、分類器が出力する分類識別子は信頼できないとする程度情報を取得しても良い。また、分類器性能情報取得部14は、例えば、先の精度情報の取得で用いたK−Cross Validationを用いて、それぞれK個の適合率と再現率を取得し、適合率と再現率のそれぞれについて、最大値と最小値が予め定めた一定の値以下である場合に、分類器が出力する分類識別子は信頼できるとする程度情報を取得しても良い。また、前記2つの方法を組み合わせ、学習特許群が予め定めた一定の数以下の場合は常に「信頼できない」とし、一定の数を超えた場合にK−Cross Validationによる判定を行い、程度情報を取得しても良い。
分類器性能情報取得部14は、通常、分類器を作成するために用いた1以上の各特許書類の全部または一部の情報を用いて、分類器性能情報を取得する。例えば、分類器性能情報取得部14は、分類器を作成するために用いた1以上の各特許書類の全部または一部の情報から取得した1以上のベクトルを用いて、分類器性能情報を取得する。なお、特許書類の全部または一部には、1または2種類以上の特許分類コードを有することは好適である。また、特許書類の全部または一部の情報から取得したベクトルの要素の一部は、特許分類コードに関する情報であることは好適である。
また、分類器性能情報取得部14は、分類器を作成するために用いた1以上の各特許書類の全部または一部の情報、および分類対象の1以上の各特許の特許書類の全部または一部の情報を用いて、分類器性能情報を取得しても良い。
分類器性能情報取得部14は、例えば、分類器を作成する際に使用した1以上の各特許情報からベクトルを取得し、当該1以上のベクトルを代表する代表ベクトル(第一代表ベクトルという。)を取得する。次に、分類器情報を用いた分類対象の1以上の各特許情報からベクトルを取得し、当該1以上のベクトルを代表する代表ベクトル(第二代表ベクトルという。)を取得する。そして、分類器性能情報取得部14は、第一代表ベクトルと第二代表ベクトルとの距離を算出し、当該距離が予め決められた条件を満たすほど大きい場合(閾値以上、または閾値より大きいなど)、分類器性能情報取得部14は、当該分類器にとって学習がさらに必要である旨の情報を取得する。
学習候補決定部15は、2以上の特許情報の中から、人手によりさらに分類すべき特許情報を決定する。
学習候補決定部15は、例えば、1以上の特許情報に対して、予め決められた条件を満たすほど距離が遠い特許情報を未分類特許情報格納部113から決定する。学習候補決定部15は、例えば、分類器が分類識別子と共に同分類に属する確率を出力する場合、分類器が判断に迷った確率(予め定めた一定の値の範囲、例えば、0.4〜0.6)を人手によってさらに分類するべき特許と判定する。
学習候補決定部15は、例えば、はじめに、既学習特許情報格納部114に格納された特許情報群(ベクトルの集合)を分類識別子ごとに分割し、分類識別子ごとに、平均ベクトルを求める。その後、未分類の特許情報(ベクトル)と各分類識別子のベクトルとの距離を求め、その最大値が予め定めた値を超えた場合に、「人手によってさらに分類すべき特許」と決定する。ここで、特許情報の間の距離は、通常、各特許情報から取得されるベクトル間の距離である。また、距離とは、学習に用いた特許書類との「異なり具合」を測る値ならば何でも良い。例えば、距離は、ユークリッド距離でも良く、コサイン距離でも良い。また、この距離は、前述のように、異なり具合を測るものならば、距離の公理を満たす必要な無い。各距離については公知のため説明を省略する。
学習候補決定部15は、例えば、2以上の特許情報の中から、任意に、数情報が示す数の分類すべき特許情報を取得しても良い。
また、学習候補決定部15は、例えば、2以上の特許情報の中から、数情報が示す数の特許情報であり、当該特許情報に含まれる1以上の特許分類コードの分散度合いが予め決められた条件を満たすほど大きい特許情報を取得しても良い。
出力部16は、各特許の分類識別子、分類器性能情報、および学習候補決定部15が決定した特許を出力する。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
分類識別子出力部161は、検索部12が取得した1以上の各特許書類に対応付けて、分類部13が決定した分類識別子を出力する。
分類器性能情報出力部162は、分類器性能情報取得部14が取得した分類器性能情報を出力する。
学習候補出力部163は、学習候補決定部15が決定した特許情報が認識可能なように出力する。
なお、特許情報処理装置1において、格納部11は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
また、格納部11に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11で記憶されるようになってもよい。
また、検索部12は、分類部13、分類器性能情報取得部14、および学習候補決定部15、通常、MPUやメモリ等から実現され得る。検索部12の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
また、出力部16は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部16は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、特許情報処理装置1の動作について図2のフローチャートを用いて説明する。なお、以下、所定の情報におけるi番目の情報は、「情報[i]」と記載するものとする。
(ステップS201)検索部12は、カウンタiに1を代入する。
(ステップS202)検索部12は、i番目の検索式情報が存在する場合、ステップS203へ進む。そうでない場合、処理を終了する。
(ステップS203)分類器性能情報取得部14は、検索式情報[i]に対応付けられた分類器の分類器性能情報を取得する。分類器性能情報は、分類器格納部111に分類器性能情報が格納されている場合は、その分類器性能情報をそのまま用いても良い。また、後の具体例に後述する、分類器性能情報の求め方の一例のような方法で分類器性能情報を取得しても良い。
(ステップS204)検索部12は、検索式情報[i]の検索式を用いて特許群を取得する。なお、ここで、検索部12は、検索式情報[i]の検索式の一部(例えば、公開日の条件を除いた検索式)に、公開日の条件を加えた検索式を構成し、当該構成した検索式を用いて特許群を取得しても良い。なお、加える公開日の条件は、例えば、最新の公開日、または以前の検索式情報[i]に含まれる公開日の条件が示す公開日より近い日以降の公開日である。
(ステップS205)検索部12は、ステップS204で取得した特許群について、検索式情報[i]に対応付けられた分類器に対して適用されるすべての特許情報を取得する。さらに、例えば、検索部12は、既学習特許情報格納部114を用いて特許群のうち既に学習した特許を記憶し、未学習の特許は、未分類特許情報格納部113にその情報を記憶しても良い。
(ステップS206)分類部13は、ステップS205で取得した特許情報を用いて各特許に分類識別子を付与する。かかる処理を分類処理と呼ぶ。分類処理の詳細については、図3のフローチャートを用いて説明する。
(ステップS207)学習候補決定部15は、ステップS205で取得した特許情報とステップS206の分類処理の結果を用いて、新たに学習するべき(人手で分類を行うべき)特許を決定する。かかる処理を学習候補決定処理と呼ぶ。学習候補決定処理の詳細については、図4のフローチャートを用いて説明する。
(ステップS208)分類識別子出力部161は、ステップS206で取得した各特許の分類識別子を出力する。
(ステップS209)学習候補出力部163は、ステップS207で決定した学習候補を出力する。
(ステップS210)分類器性能情報出力部162は、ステップS203で取得した分類器性能情報を出力する。
(ステップS211)検索部12は、カウンタiを1だけ増加させ、ステップS202に戻る。
なお、図2のフローチャートにおいて、ステップS208からステップS210の処理はどの順番で行っても良い。
また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS206の分類処理の詳細について、図3のフローチャートを用いて説明する。
(ステップS301)分類部13は、カウンタiに1を代入する。
(ステップS302)分類部13は、特許[i]が存在する場合、ステップS303ヘ進む。そうでない場合、上位処理へリターンする。
(ステップS303)分類部13は、特許[i]が、未分類特許情報格納部113に格納され、かつ既学習特許情報格納部114に格納されていない特許の場合、ステップS304へ進む。そうでない場合、ステップS305へ進む。
(ステップS304)分類部13は、現在の検索式情報に対応する分類器を用いて特許[i]を分類する。つまり、分類部13は、例えば、特許[i]の特許書類からベクトルを構成し、機械学習のアルゴリズムにより、当該ベクトルを、現在の検索式情報に対応する分類器情報に適用し、分類識別子を得て、当該分類識別子を特許[i]に対応付ける。
(ステップS305)分類部13は、特許[i]に対して、人手で付与された分類の分類識別子を対応付ける。なお、特許[i]に対して分類識別子を対応付けることを、分類を付与する、と言っても良い。
(ステップS306)分類部13は、カウンタiを1だけ増加させ、ステップS302へ戻る。
次に、ステップS207の学習候補決定処理について、図4のフローチャートを用いて説明する。
(ステップS401)学習候補決定部15は、カウンタiに1を代入する。
(ステップS402)学習候補決定部15は、特許[i]が存在す場合、ステップS403へ進む。そうでない場合、上位処理へリターンする。
(ステップS403)学習候補決定部15は、特許[i]が既学習特許情報格納部114に格納された特許の場合、ステップS411へ進む。そうでない場合、ステップS404へ進む。
(ステップS404)学習候補決定部15は、カウンタjに1を代入する。
(ステップS405)学習候補決定部15は、分類[j]が存在する場合、ステップS406へ進む。そうでない場合、ステップS408へ進む。なお、分類[j]とは、j番目の分類識別子に対応付けられている1または2以上の特許書類のベクトルを代表する代表ベクトルである。代表ベクトルは、1または2以上の特許書類のベクトルの重心のベクトルでも良いし、1または2以上の特許書類のベクトルの各要素の平均値を要素とするベクトルでも良いし、1または2以上の特許書類のベクトルの各要素の中央値を要素とするベクトル等でも良い。また、分類[j]は、例えば、上述した図示しない学習部が、分類識別子に対応付けて、蓄積している、とする。
(ステップS406)学習候補決定部15は、特許[i]と分類[j]の距離を算出する。
(ステップS407)学習候補決定部15は、カウンタjを1だけ増加させステップS405へ戻る。
(ステップS408)学習候補決定部15は、ステップS406で求めた距離の中から最小の距離を取得する。
(ステップS409)学習候補決定部15は、ステップS408で求めた最小距離が予め定めたしきい値以上の場合、ステップS410へ進む。そうでない場合、ステップS411へ進む。
(ステップS410)学習候補決定部15は、特許[i]を学習候補に追加する。
(ステップS411)学習候補決定部15は、カウンタiを1だけ増加させ、ステップS402へ戻る。
なお、図4フローチャートは、学習候補を決定する場合の一例である。学習候補決定部15は、例えば、特許[i]に対して、機械学習機能を用いて取得された分類識別子と対になるスコアが予め決められた条件を満たすほど小さい場合、当該特許[i]を学習候補として選択する等しても良い。
以下、本実施の形態における特許情報処理装置1の具体的な動作について説明する。
本具体例では、分類器格納部111は、図5のような検索式情報と分類器の対応を格納しているとし、本具体例では、ID3の検索(SDI)を行う場合について説明する。ID3の検索式情報である「1 and 2」とは、ID1の検索式とID2の検索式とのand演算を行う検索式であることを示す。また、「1 and 2」とは、「公開日が2010年3月1日〜2010年3月31日までに公開され、かつ、IPCセクションがA、B、G、またはHの特許」を意味する。
また、本具体例では、SDI情報格納部112は、図6の検索式情報とSDI情報(特許1から特許4は2010年3月1日以前の特許と仮定)を格納しているものとする。
なお、図5のID3ならびに図6のID3のように、分類器Cは、関連する特許に「○」と、非関連特許(ノイズ)に空文字に分類する分類器である。
また、本具体例では、分類器Cに関して、既学習特許情報格納部114は、図7のように、既学習の特許書類とその分類識別子を格納しているものとする。なお、図7において、空白の分類は、分類識別子が空文字であることを意味する。
また、本具体例では、分類器Cへの入力および学習候補決定処理はすべてベクトルで行うものとし、分類器Cを学習する際に用いた各特許ベクトルを用いて、特許識別子ごとにその重心を事前に算出してあるものとする。
また、本具体例では、学習候補決定部15は、コサイン距離を用いるものとし、最短距離が0.8を超えた特許について「次に学習するべき特許」と判定するものとする。
先にも述べたように、特許情報処理装置1は、検索式情報ID1とID2について、処理を終えたものとする(ステップS201からステップS211)。
図5のID3の検索式情報に対するはじめの処理として、分類器性能情報取得部14は、分類器Cの性能を取得する。なお、この方法についてはより具体的な例を後述する。
次に、検索部12は、図5のID3の検索式を用いて特許を検索し(ステップS204)、分類を行うために必要な情報と、既学習特許情報格納部114より学習済みの特許の分類識別子を取得する(ステップS205)。その結果、図8のような特許情報が取得できたものとする。なお、図8において、分類とは人手によって付与された分類識別子を表し「−」は人手による分類が行われていないことを意味し、これらの特許は未分類特許情報格納部113に格納する。
次に、分類部13は図8の各特許に対して分類識別子を付与する(ステップS206)。
具体的には、分類部13は、図8の各特許に対して(ステップS301、ステップS302、ステップS306)、未分類特許情報格納部113に含まれ、かつ既学習特許情報格納部114に含まれない特許に対して(ステップS303)分類器Cを適用し(ステップS304)、推定された分類識別子を取得する。人手による分類が行われた特許については、人手によって付与された分類識別子を取得する(ステップS305)。
次に、学習候補決定部15は、図8の各特許から次に学習するべき特許を決定する(ステップS207)。
具体的には、学習候補決定部15は、図8の各特許のうち、人手による分類が行われていない特許から(ステップS401、ステップS402、ステップS403、ステップS411)、以下に示すように、次に学習するべき特許を決定する。ここで、人手による分類が行われたか否かについての判定は、ステップS303と同じである。
学習候補決定部15は、分類器Cの各分類(○と空文字)に対して(ステップS404、ステップS405、ステップS407)、特許[i]との距離を算出する。距離の算出では、事前に算出した各特許識別子の重心と、特許[i]のベクトルのコサイン距離を算出する。例えば、図8のID1の特許に対して、○との距離0.15、空文字との距離0.19が取得されたとする(ステップS406)。
学習候補決定部15は、ステップS406で取得した各距離から最も小さい値(最短距離)を選択する(ID1の場合は0.15、ステップS408)。その後、最短距離が予め定められた条件(距離が0.8以上)を満たすか否か判定し(ステップS409)、条件を満たす場合、学習候補に特許[i]を追加する。先のID1の例の場合、最長距離0.15は条件を満たさないため、ID1の特許は学習候補に追加されない。
次に、分類識別子出力部161および学習候補出力部163は、図9のように、各特許について、分類識別子と学習候補の情報を加えて出力を行う(ステップS208、ステップS209)。なお、図9では、学習候補の距離をそのまま出力し、予め定めた条件(しきい値0.8以上)を満たす学習候補については下線を引くことで次に学習するべき特許を示している。
最後に、分類性能情報出力部162は、図10のような分類器性能情報取得部14が取得した分類器性能を出力する(ステップS210)。
以上のように特許情報処理装置1は動作する。
(分類器性能情報の求め方の一例)
さらに、ここで、分類識別子を直接出力するような一般的な分類器を用いた分類器性能情報の求め方の具体例を説明する。なお、簡単のために、本説明では、2値分類を行う分類器の分類器性能情報を取得する方法について説明する。
はじめに、SDI情報格納部112(学習に用いたデータを分類器格納部111が格納していたらそちらでも代用可能)から、分類器の学習に用いたすべての特許情報を取得する(以下、学習データと呼ぶ)。
次に、20件、40件、60件、……と徐々に数を増やしながらランダムに学習データを取得し、その各々で、先述したK分割交差検証を行い学習データの数と評価値(適合率と再現率)を取得する。
その結果、図11のような学習データサイズと評価値の関係が得られる(K=5として交差検証を行った結果)。図11のように、一般的に、学習データ件数を増やすことで性能(評価値)は向上するとともに安定していく。
例えば、図11の各値の平均値をみると、式1のような形状の関数に近い形で値が向上していくことが確認できる。
数1において、vは評価値(適合率もしくは再現率)を、Mは最大評価値を、λは係数、sは学習データサイズを表す。
図11のデータと上記式1との誤差(例えば二乗誤差)が最小になるようなMとλを求めることで、達成可能な最大性能と必要な学習データ量が予測することができる。
以上の情報を用いて、分類器性能情報取得部14は、現在の学習データ量で十分最大性能を達成可能か否か(評価値が最大性能に近い値に収束しているか否か)を判定することができる。
以上、本実施の形態によれば、自動的に特許書類を分類できる。
また、本実施の形態によれば、特許検索時に含まれるノイズを効果的に削減することができる。
また、以上、本実施の形態によれば、ユーザは、ノイズを削減する分類器の性能を把握することができる。
また、本実施の形態によれば、ユーザは、分類器が十分に性能を発揮するために必要なデータを把握することができる。
また、本実施の形態によれば、ユーザは、効率的に頑健な分類器の学習を行うことができる。
なお、本実施の形態によれば、一度求めた分類器性能情報は、図示しない分類器格納部111に格納しても良い。この場合、人手による分類が新たに行われるまでは、ステップS203の分類器性能情報取得処理では、格納した分類器性能情報を用いても良い。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、コンピュータがアクセス可能な記録媒体は、検索式を示す検索式情報に対応付けて、前記検索式に基づいて検索された1以上の各特許書類に対して、2以上の分類識別子である分類識別子集合のうちの少なくとも一の分類識別子を付与することにより、人手により分類された分類結果を学習した結果である分類器が格納される分類器格納部を具備し、コンピュータを、前記分類の対象となった特許書類が公開された以降に、新たに公開された1以上の特許書類の中から、前記検索式情報を用いて、1以上の特許書類を取得する検索部と、前記分類器を用いて、前記検索部が取得した1以上の各特許書類に対して、前記2以上の分類識別子のうちの少なくとも一の分類識別子を決定する分類部と、前記検索部が取得した1以上の各特許書類に対応付けて、前記分類部が決定した分類識別子を出力する分類識別子出力部として機能させるためのプログラム、である。
図12は、上記プログラムを実行して、上記実施の形態による特許情報処理装置1等を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図12において、コンピュータシステム3000は、CD−ROMドライブ3005を含むコンピュータ3001と、キーボード3002と、マウス3003と、モニタ3004とを備える。
図13は、コンピュータシステム3000の内部構成を示す図である。図13において、コンピュータ3001は、CD−ROMドライブ3005に加えて、MPU(Micro Processing Unit)3011と、ブートアッププログラム等のプログラムを記憶するためのROM3012と、MPU3011に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM3013と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク3014と、MPU3011、ROM3012等を相互に接続するバス3015とを備える。なお、コンピュータ3001は、LANやWAN等への接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム3000に、上記実施の形態による特許情報処理装置1等の機能を実行させるプログラムは、CD−ROM3021に記憶されて、CD−ROMドライブ3005に挿入され、ハードディスク3014に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ3001に送信され、ハードディスク3014に記憶されてもよい。プログラムは実行の際にRAM3013にロードされる。なお、プログラムは、CD−ROM3021、またはネットワークから直接、ロードされてもよい。また、CD−ROM3021に代えて他の記録媒体(例えば、USBメモリ等)を介して、プログラムがコンピュータシステム3000に読み込まれてもよい。
プログラムは、コンピュータ3001に、上記実施の形態による特許情報処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム3000がどのように動作するのかについては周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(端末情報送信部、端末情報受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。