以下、図面を参照して、各実施形態について説明する。
(第1の実施形態)
まず、図1および図2を参照して、第1の実施形態について説明する。図1は、本実施形態に係る文書分析装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、文書分析装置30を構成する。
図2は、図1に示す文書分析装置30の主として機能構成を示すブロック図である。図2に示すように、文書分析装置30は、ユーザインタフェース部31および分析軸生成部32を含む。本実施形態において、これらの各部31および32は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が、例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
また、文書分析装置30は、文書格納部22およびカテゴリ格納部23を含む。本実施形態において、文書格納部22およびカテゴリ格納部23は、例えば外部記憶装置20に格納される。
文書格納部22には、文書分析装置30による分析の対象となる複数の文書(データ)が格納される。文書格納部22に格納される文書の各々は、例えば単語(文字列)を含み、階層構造を構成するカテゴリに属している(分類されている)。
カテゴリ格納部23には、文書が属する階層構造を構成するカテゴリ毎に、当該カテゴリに関する情報(カテゴリ情報)が格納される。カテゴリに関するカテゴリ情報には、例えば階層構造において当該カテゴリの上位に位置するカテゴリ(上位カテゴリ)、当該カテゴリに属する文書および当該カテゴリのカテゴリ名等を示す情報が含まれる。
なお、文書格納部22およびカテゴリ格納部23は、ファイルシステムまたは文書データベース等によって実現されるが、例えば計算機ネットワークによって接続された複数の格納部(図示せず)によって構成されても構わない。
ユーザインタフェース部31は、カテゴリ提示部311を含む。カテゴリ提示部311は、例えばカテゴリ格納部23に格納されているカテゴリ情報を用いて、カテゴリの階層構造をユーザに対して提示する。なお、ユーザは、カテゴリ提示部311によって提示されたカテゴリの中から分析の対象(分析軸)となるカテゴリを指定することができる。
分析軸生成部32は、階層構造においてユーザによって指定されたカテゴリ(第1のカテゴリ)の下位に位置するカテゴリ(第2のカテゴリ)の内容を相互に比較するための特徴語を抽出する機能を有する。分析軸生成部32は、単語抽出部321および特徴語抽出部322を含む。以下の説明においては、ユーザによって指定されたカテゴリを分析軸カテゴリCtgtと称する。
単語抽出部321は、カテゴリ格納部23に格納されているカテゴリ情報を参照して、文書格納部22に格納されている分析軸カテゴリCtgtに属する複数の文書を例えば形態素解析する。これにより、単語抽出部321は、分析軸カテゴリCtgtに属する複数の文書に含まれる単語を、当該複数の文書から抽出する。
単語抽出部321は、抽出された単語が分析軸カテゴリCtgtに属する複数の文書において出現する文書の数(第1の文書数)を、文書格納部22およびカテゴリ格納部23を参照して算出する。
また、単語抽出部321は、抽出された単語が階層構造において分析軸カテゴリCtgtの下位に位置するカテゴリに属する複数の文書において出現する文書の数(第2の文書数)を、文書格納部22およびカテゴリ格納部23を参照して算出する。
特徴語抽出部322は、分析軸カテゴリCtgtに属する文書の数、階層構造において分析軸カテゴリCtgtの下位に位置するカテゴリに属する文書の数、当該カテゴリの数、単語抽出部321によって算出された文書数(第1および第2の文書数)に基づいて、分析軸カテゴリCtgtに対する単語抽出部321によって抽出された単語の特徴度を算出する。
特徴語抽出部322は、算出された単語の特徴度に基づいて、単語抽出部321によって抽出された単語を分析軸カテゴリCtgtに対する特徴語として抽出する。
なお、特徴語抽出部322によって抽出された特徴語は、例えばユーザインタフェース部31を介してユーザに提示される。
図3は、図2に示す文書格納部22に格納されている文書のデータ構造の一例を示す。図2に示す文書221は、特許に関する情報が記述された文書(特許文書)であるものとする。
図3に示すように、文書221には、当該文書221を一意に識別するための識別子である文書番号が含まれる。また、文書221には、当該文書221に関するテキスト、すなわち、例えば自然言語で記述された文書名および本文が含まれる。更に、文書221には、当該文書221の目的または形式に従った属性情報が含まれる。図3に示す文書221には、属性情報として、特許出願に係る出願日および当該特許出願をした出願人が含まれる。
なお、図4に示すように、文書格納部22に格納される文書221は、例えばXML(eXtensible Markup Language)形式で記述して管理することも可能である。この場合、文書221に含まれるテキスト(文書名および本文)および属性情報(出願日および出願人)は、XMLの要素(タグ)等を用いて記述される。
図5〜図9は、図2に示すカテゴリ格納部23に格納されているカテゴリ情報のデータ構造の一例を示す。カテゴリ情報は、階層構造を構成するカテゴリ毎にカテゴリ格納部23に格納されている。
図5〜図9に示すように、カテゴリ情報には、カテゴリ番号、上位カテゴリ番号、カテゴリ名および分類ルールが含まれる。
カテゴリ番号は、カテゴリを一意に識別するための識別子である。上位カテゴリ番号は、階層構造においてカテゴリ番号によって識別されるカテゴリの上位に位置するカテゴリ(上位カテゴリ)を識別するためのカテゴリ番号を示す。カテゴリ名は、カテゴリ番号によって識別されるカテゴリの名称を示す。分類ルールは、カテゴリ番号によって識別されるカテゴリに属する文書を示す。
図5は、カテゴリの階層構造におけるルートのカテゴリ(以下、ルートカテゴリと表記)に関するカテゴリ情報のデータ構造の一例を示す。
図5に示す例では、カテゴリ情報231には、カテゴリ番号「C000」、カテゴリ名「ルート」および分類ルール「true(恒真)」が含まれている。これによれば、カテゴリ番号「C000」によって識別されるルートカテゴリのカテゴリ名が「ルート」であることが示されている。ここで、分類ルール「true(恒真)」は、全ての文書が条件を満足することを表す。すなわち、カテゴリ情報231に含まれるカテゴリ番号「C000」によって識別されるカテゴリ(ルートカテゴリ)には、文書格納部22に格納されている全ての文書が属することが示されている。なお、カテゴリ番号「C000」によって識別されるカテゴリはルートカテゴリであり、階層構造において当該カテゴリの上位カテゴリは存在しないため、カテゴリ情報231に含まれる上位カテゴリ番号は「(なし)」とされている。
図6は、カテゴリの階層構造においてルートカテゴリの下位に位置するカテゴリに関するカテゴリ情報のデータ構造の一例を示す。
図6に示す例では、カテゴリ情報232には、カテゴリ番号「C001」、上位カテゴリ番号「C000」、カテゴリ名「出願人別」および分類ルール「true(恒真)」が含まれている。これによれば、カテゴリ番号「C001」によって識別されるカテゴリの上位カテゴリが上位カテゴリ番号「C000」によって識別されるカテゴリ(つまり、ルートカテゴリ)であることが示されている。また、カテゴリ番号「C001」によって識別されるカテゴリのカテゴリ名が「出願人別」であり、当該カテゴリには文書格納部22に格納されている全ての文書が属することが示されている。
図7は、カテゴリの階層構造においてルートカテゴリの下位に位置するカテゴリに関するカテゴリ情報のデータ構造の一例を示す。
図7に示す例では、カテゴリ情報233には、カテゴリ番号「C002」、上位カテゴリ番号「C000」、カテゴリ名「出願年別」および分類ルール「true(恒真)」が含まれている。これによれば、カテゴリ番号「C002」によって識別されるカテゴリの上位カテゴリが上位カテゴリ番号「C000」によって識別されるカテゴリ(つまり、ルートカテゴリ)であることが示されている。また、カテゴリ番号「C002」によって識別されるカテゴリのカテゴリ名が「出願年別」であり、当該カテゴリには文書格納部22に格納されている全ての文書が属することが示されている。
図8は、カテゴリの階層構造において図6に示すカテゴリ情報232に含まれるカテゴリ番号「C001」によって識別されるカテゴリの下位に位置するカテゴリに関するカテゴリ情報のデータ構造の一例を示す。
図8に示す例では、カテゴリ情報234には、カテゴリ番号「C101」、上位カテゴリ番号「C001」、カテゴリ名「A社」および分類ルール「./出願人=”A社”」が含まれている。これによれば、カテゴリ番号「C101」によって識別されるカテゴリの上位カテゴリが上位カテゴリ番号「C001」によって識別されるカテゴリであることが示されている。また、カテゴリ番号「C101」によって識別されるカテゴリのカテゴリ名が「A社」であることが示されている。
ここで、カテゴリ情報234に含まれている分類ルール「./出願人=”A社”」は、文書に含まれる属性情報である出願人がA社であることを条件とするルールである。つまり、この分類ルール「./出願人=”A社”」によれば、カテゴリ番号「C101」によって識別されるカテゴリには、出願人がA社である文書(つまり、属性情報として出願人「A社」を含む文書)が属することが示されている。
なお、この分類ルール「./出願人=”A社”」は、上記したXML形式で記述された文書についての条件が記述された例である。ここでは、XQuery(またはXPath)と呼ばれる問合せ言語を用いて記述されている。
図9は、カテゴリの階層構造において図7に示すカテゴリ情報233に含まれるカテゴリ番号「C002」によって識別されるカテゴリの下位に位置するカテゴリに関するカテゴリ情報のデータ構造の一例を示す。
図9に示す例では、カテゴリ情報235には、カテゴリ番号「C206」、上位カテゴリ番号「C002」、カテゴリ名「2008年」および分類ルール「./出願日>=”2008/01/01” and ./出願日<=”2008/12/31”」が含まれている。これによれば、カテゴリ番号「C206」によって識別されるカテゴリの上位カテゴリが上位カテゴリ番号「C002」によって識別されるカテゴリであることが示されている。また、カテゴリ番号「C206」によって識別されるカテゴリのカテゴリ名が「2008年」であることが示されている。
ここで、カテゴリ情報235に含まれている分類ルール「./出願日>=”2008/01/01” and ./出願日<=”2008/12/31”」は、文書に含まれる属性情報である出願日が2008年(つまり、2008年1月1日〜2008年12月31)であることを条件とするルールである。つまり、この分類ルール「./出願日>=”2008/01/01” and ./出願日<=”2008/12/31”」によれば、カテゴリ番号「C206」によって識別されるカテゴリには、出願日が2008年である文書(つまり、属性情報として出願日「2008/01/01」〜「2008/12/31」を含む文書)が属することが示されている。なお、この分類ルール「./出願日>=”2008/01/01” and ./出願日<=”2008/12/31”」は、上記したXQueryと呼ばれる問合せ言語を用いて記述されている。
ここで、例えば図7に示すカテゴリ情報235がカテゴリ番号「C101」によって識別されるカテゴリの下位に位置するカテゴリに関するカテゴリ情報である場合、つまり、カテゴリ情報235に含まれる上位カテゴリ番号が「C101」である場合を想定する。この場合、カテゴリ情報235に含まれるカテゴリ番号「C206」によって識別されるカテゴリには、出願人がA社であり、かつ、出願日が2008年である文書が属する。つまり、階層構造において下位の位置にあるカテゴリには、当該カテゴリに関するカテゴリ情報に含まれる分類ルールと、当該カテゴリの上位カテゴリに関するカテゴリ情報に含まれる分類ルールとのAND条件に合致する文書が属する。換言すれば、カテゴリ情報に含まれる分類ルールは、カテゴリの階層構造に対してAND条件として作用する。これによれば、階層構造において下位の位置にあるカテゴリには、当該カテゴリの上位に位置するカテゴリに属する文書が属することになる。
なお、上記した図8および図9に示すカテゴリ情報234および235に含まれる分類ルールはXQueryと呼ばれる問合せ言語を用いて記述されるものとして説明したが、当該分類ルールの記述形式は、上述した文書格納部22の実現方法または当該文書格納部22に格納される文書のデータ形式に応じて定めればよく、例えばSQL等が用いられても構わない。
次に、図10のフローチャートを参照して、本実施形態に係る文書分析装置30の処理手順について説明する。
まず、ユーザインタフェース部31に含まれるカテゴリ提示部311は、カテゴリ格納部23に格納されているカテゴリ情報を取得する(ステップS1)。
次に、カテゴリ提示部311は、取得されたカテゴリ情報に含まれるカテゴリ番号、上位カテゴリ番号およびカテゴリ名に基づいて、カテゴリの階層構造をユーザに提示(表示)する(ステップS2)。
ここで、図11は、カテゴリ提示部311によってカテゴリの階層構造が提示された場合の画面(以下、カテゴリ階層構造提示画面と表記)の一例を示す。
図11に示すように、カテゴリ階層構造提示画面100には、階層構造を構成するカテゴリのカテゴリ名がツリー状(カテゴリツリー)で表示される。以下、例えばカテゴリ名が出願人別であるカテゴリを単にカテゴリ「出願人別」と称する。なお、他のカテゴリについても同様とする。
図11に示すカテゴリ階層構造提示画面100おいては、カテゴリ「出願人別」がルートカテゴリの下位に位置するカテゴリであることが示されている。また、カテゴリ階層構造提示画面100においては、カテゴリ「A社」、「B社」、「C社」、…、「J社」がカテゴリ「出願人別」の下位に位置するカテゴリであることが示されている。
同様に、カテゴリ階層構造提示画面100においては、カテゴリ「出願年別」がルートカテゴリの下位に位置するカテゴリであることが示されている。また、カテゴリ階層構造提示画面100においては、カテゴリ「2004年」、「2005年」、「2006年」、「2007年」および「2008年」がカテゴリ「出願年別」の下位に位置するカテゴリであることが示されている。
なお、図11に示すカテゴリ階層構造提示画面100において、「ルート(3000件)」が表示されているが、当該「3000件」は、ルートカテゴリに属する文書(つまり、文書格納部22に格納されている文書)の数を表す。
ここで、上記したカテゴリ階層構造提示画面100がカテゴリ提示部311によって提示されると、ユーザは、当該カテゴリ階層構造提示画面100を参照することによって、当該カテゴリ階層構造提示画面100に表示されている複数のカテゴリの中から分析の対象(分析軸)となるカテゴリ(以下、分析軸カテゴリCtgtと表記)を指定することができる。
カテゴリ階層構造提示画面100において分析軸カテゴリCtgtとして例えばカテゴリ「出願人別」が指定されたものとすると、図12に示すような画面(以下、特徴語抽出要求画面と表記)110が表示される。
図12に示すように、特徴語抽出要求画面110には、カテゴリの階層構造に加えてサブ画面111が表示されている。このサブ画面111には、例えば「カテゴリ「出願人別」を分析軸として特徴語を抽出します。」が表示されている。
また、このサブ画面111には、実行ボタン111aおよびキャンセルボタン111bが設けられている。
文書分析装置30に対するユーザの操作に応じてサブ画面111に設けられている実行ボタン111aが選択されると、分析軸カテゴリCtgt(ここでは、カテゴリ「出願人別」)に対する特徴語の抽出が文書分析装置30に対して要求される。
一方、文書分析装置30に対するユーザの操作に応じてサブ画面111に設けられているキャンセルボタン111bが選択されると、分析軸カテゴリCtgtを選択し直すための画面として例えば図11に示すカテゴリ階層構造提示画面100が表示される。
なお、サブ画面111には、抽出される特徴語の数を設定する欄111cが設けられており、この欄111cに対してユーザは所望の数値を入力することができる。
再び図10に戻ると、ユーザの操作に応じて上記した特徴語の抽出が要求されたか否かが判定される(ステップS3)。
特徴語の抽出が要求されたと判定された場合(ステップS3のYES)、分析軸生成部32に含まれる単語抽出部321は、分析軸カテゴリCtgt(の下位に位置するカテゴリの集合)に属する文書に含まれる単語を抽出し、当該抽出された単語の出現頻度等を算出する処理(以下、単語抽出処理と表記)を実行する。なお、単語抽出処理の詳細については後述する。
次に、特徴語抽出部322は、単語抽出部321によって抽出された単語の中から分析軸カテゴリCtgt(の下位に位置するカテゴリの集合)に対する特徴語を抽出する処理(以下、特徴語抽出処理と表記)を実行する(ステップS5)。この特徴語抽出処理においては、単語抽出部321によって算出された単語の出現頻度等に基づいて当該単語抽出部321によって抽出された単語の特徴度が算出され、当該特徴度に基づいて特徴語が抽出される。なお、特徴語抽出処理の詳細については後述する。
ユーザインタフェース部31(に含まれるカテゴリ提示部311)は、特徴語抽出部322によって抽出された特徴語をユーザに対して提示する(ステップS6)。
これにより、階層構造において分析軸カテゴリCtgtの下位に位置するカテゴリの内容を相互に比較するのに適した特徴語をユーザに対して提示することができる。
次に、図13のフローチャートを参照して、上述した単語抽出部321によって実行される単語抽出処理(図10に示すステップS4の処理)の処理手順について説明する。
まず、単語抽出部321は、階層構造においてユーザによって指定された分析軸カテゴリCtgtの下位に位置するカテゴリ(当該分析軸カテゴリCtgtを上位カテゴリとするカテゴリ)の集合(以下、カテゴリ集合CSと表記)を特定する(ステップS11)。つまり、このカテゴリ集合CSには、階層構造において分析軸カテゴリCtgtの下位に位置するカテゴリが含まれる。
なお、カテゴリ集合CSに含まれるカテゴリ(分析軸カテゴリCtgtを上位カテゴリとするカテゴリ)は、分析軸カテゴリCtgtを識別するためのカテゴリ番号を上位カテゴリ番号として含むカテゴリ情報のカテゴリ番号によって識別されるカテゴリである。
ここで、単語抽出部321によって特定されたカテゴリ集合CSには、カテゴリC1、C2、…、Caのa個のカテゴリが含まれているものとする。
単語抽出部321は、以下の処理において用いられる空の文書集合Dallを用意する(ステップS12)。
次に、単語抽出部321は、カテゴリ集合CSに含まれるカテゴリCi(i=1、2、…、a)について以下のステップS13およびS14の処理を実行する。
単語抽出部321は、カテゴリCiに関するカテゴリ情報をカテゴリ格納部23から取得する。ここで、単語抽出部321は、カテゴリCiを識別するためのカテゴリ番号を含むカテゴリ情報を取得する。
単語抽出部321は、取得されたカテゴリ情報に基づいて、カテゴリCiに属する文書の集合(以下、文書集合Diと表記)を文書格納部22から取得する(ステップS13)。この場合、単語抽出部321は、取得されたカテゴリ情報に含まれる分類ルールによって示される条件に合致する文書の集合を文書集合Diとして取得する。
単語抽出部321は、取得された文書集合Diおよび文書集合Dallの和集合を後の処理における文書集合Dallとする(ステップS14)。
次に、単語抽出部321は、カテゴリ集合CSに含まれる全てのカテゴリ(つまり、カテゴリC1、C2、…、Ca)についてステップS13およびS14の処理が実行されたか否かを判定する(ステップS15)。
全てのカテゴリについて処理が実行されていないと判定された場合(ステップS15のNO)、上記したステップS13に戻って処理が繰り返される。
このようにカテゴリ集合CSに含まれる全てのカテゴリについてステップS13およびS14の処理が繰り返されることによって、単語抽出部321は、当該カテゴリ集合CSに属する全ての文書を含む文書集合Dallを取得する。
ステップS15において全てのカテゴリについて処理が実行されたと判定された場合、単語抽出部321は、取得された文書集合Dallに含まれる全ての文書のテキスト情報(当該文書に含まれる文書名および本文)を形態素解析する(ステップS16)。これにより、単語抽出部321は、文書集合Dallに含まれる文書の各々に含まれる単語(形態素)を抽出する。
次に、単語抽出部321は、抽出された単語の各々について以下のステップS17〜S21の処理を実行する。このステップS17〜S21の処理の対象となる単語を単語tと称する。
この場合、単語抽出部321は、文書集合Dallにおいて出現する単語tの数(当該文書集合Dallにおける当該単語tの単語頻度)を示すtf(t,Dall)および当該文書集合Dallにおいて単語tが出現する文書の数(当該文書集合Dallにおける当該単語tの文書頻度)を示すdf(t,Dall)を算出する(ステップS17)。
単語抽出部321は、算出されたtf(t,Dall)およびdf(t,Dall)を例えば分析軸生成部32の内部の図示しない格納部(以下、単語データ格納部と表記)に格納する(ステップS18)。
次に、単語抽出部321は、カテゴリ集合CSに含まれるカテゴリCiについて以下のステップS19およびS20の処理を実行する。
この場合、単語抽出部321は、文書集合Di(カテゴリCiに属する文書集合)において出現する単語tの数(当該文書集合Diにおける単語tの単語頻度)を示すtf(t,Di)および当該文書集合Diにおいて単語tが出現する文書の数(当該文書集合Diにおける当該単語tの文書頻度)を示すdf(t,Di)を算出する(ステップS19)。
単語抽出部321は、算出されたtf(t,Di)およびdf(t,Di)を単語データ格納部に格納する(ステップS20)。
次に、単語抽出部321は、カテゴリ集合CSに含まれる全てのカテゴリ(つまり、カテゴリC1、C2、…、Ca)についてステップS19およびS20の処理が実行されたか否かを判定する(ステップS21)。
全てのカテゴリについて処理が実行されていないと判定された場合(ステップS21のNO)、上記したステップS19に戻って処理が繰り返される。
一方、全てのカテゴリについて処理が実行されたと判定された場合(ステップS21のYES)、単語抽出部321は、抽出された全ての単語についてステップS17〜ステップS21の処理が実行されたか否かを判定する(ステップS22)。
全ての単語について処理が実行されていないと判定された場合(ステップS22のNO)、上記したステップS17に戻って処理が繰り返される。この場合、ステップS17〜ステップS21の処理が実行されていない単語を単語tとして処理が実行される。
一方、全ての単語について処理が実行されたと判定された場合(ステップS22のYES)、単語抽出処理は終了される。
このように単語抽出処理が実行されると、単語データ格納部には、単語抽出部321によって抽出された単語tおよびカテゴリ集合CSに含まれるカテゴリCi(の組)毎に、当該カテゴリCiに属する文書集合Diにおける当該単語tの単語頻度TF(tf(t,Di))および文書頻度DF(df(t,Di))が格納される。また、単語データ格納部には、単語抽出部321によって抽出された単語t毎に、当該カテゴリ集合CSに属する文書集合Dallにおける当該単語tの単語頻度TF(tf(t,Dall))および文書頻度DF(df(t,Dall))が格納される。
なお、図13に示す単語抽出処理においては、単語抽出部321によって抽出された全ての単語についてステップS17〜S21の処理が実行されるものとして説明したが、例えば所定の品詞の単語のみを当該処理の対象とする、または、当該抽出された単語から不要語を除くことによって、当該処理の対象となる単語の絞り込みを行っても構わない。具体的には、品詞がサ変名詞および固有名詞を含む名詞である単語のみを対象とし、接続詞および副詞等は処理の対象としない構成であってもよい。また、文書格納部22に格納されている文書が特許文書である場合には、例えば「装置」および「手段」のような単語は文書の特徴を表さないため、不要語として除去しても構わない。
ここで、図14は、単語抽出処理が実行された後の単語データ格納部のデータ構造の一例を示す。
図14に示すように、単語データ格納部には、単語抽出部321によって抽出された単語およびカテゴリ集合CSに含まれるカテゴリ(の組)に対応づけて当該単語の文書頻度DFおよび単語頻度TFが格納されている。なお、図14に示す例では、便宜的に、単語抽出部321によって抽出された単語として「操作」、「通信」、「パネル」、「レンジ」、「フィルム」および「表示」のみが示されており、カテゴリ集合CSに含まれるカテゴリとしてカテゴリ「A社」、「B社」、「C社」および「D社」のみが示されている。
具体的には、単語データ格納部には、単語「操作」およびカテゴリ「A社」に対応づけて文書頻度DF(当該単語「操作」が単語tであり、カテゴリ「A社」に属する文書集合が文書集合Diである場合のdf(t,Di))として「34」が格納されている。これによれば、単語「操作」は、カテゴリ「A社」に属する文書集合において34の文書に出現することが示されている。
同様に、単語データ格納部には、単語「操作」およびカテゴリ「A社」に対応づけて単語頻度TF(当該単語「操作」が単語tであり、「A社」カテゴリに属する文書集合が文書集合Diである場合のtf(t,Di))として「117」が格納されている。これによれば、単語「操作」は、カテゴリ「A社」に属する文書集合において117回出現することが示されている。
ここでは、単語「操作」およびカテゴリ「A社」に対応づけて単語データ格納部に格納されている文書頻度DFおよび単語頻度TFについてのみ説明したが、他の文書頻度DFおよび単語頻度TFについても同様であるため、その詳しい説明を省略する。
また、単語データ格納部には、単語抽出部321によって抽出された各単語の全文書(カテゴリ集合CSに属する文書集合Dall)における文書頻度DFおよび単語頻度TFが格納されている。
図14に示す例では、単語データ格納部には、全文書における単語「操作」の文書頻度DF(当該単語「操作」が単語tである場合のdf(t,Dall))として「169」が格納されている。これによれば、単語「操作」は、カテゴリ集合CSに属する文書集合Dallにおいて169の文書に出現することが示されている。
同様に、単語データ格納部には、全文書における単語「操作」の単語頻度TF(当該単語「操作」が単語tである場合のtf(t,Dall))として「525」が格納されている。これによれば、単語「操作」は、カテゴリ集合CSに属する文書集合Dallにおいて525回出現することが示されている。
なお、図14においては図示されていないが、単語データ格納部には、カテゴリ集合CSに含まれるカテゴリ毎に当該カテゴリに属する文書の数(つまり、カテゴリCiに属する文書集合Diに含まれる文書の数)および当該カテゴリ集合CSに属する文書の数(つまり、カテゴリ集合CSに属する文書集合Dallに含まれる文書の数)等の情報が格納されている。
次に、図15のフローチャートを参照して、上述した特徴語抽出部322によって実行される特徴語抽出処理(図10に示すステップS5の処理)の処理手順について説明する。なお、上記した単語データ格納部に格納されている情報を、便宜的に単語データと称する。
まず、特徴語抽出部322は、上記した単語データ格納部に格納されている単語データを取得する(ステップS31)。
次に、特徴語抽出部322は、取得された単語データ中の単語の各々について以下のステップS32およびS33の処理を実行する。このステップS32およびS33の処理の対象となる単語を単語tと称する。
特徴語抽出部322は、取得された単語データを用いて、分析軸カテゴリCtgt(カテゴリ集合CS)に対する単語tの特徴度を算出する(ステップS32)。
ここで、分析軸カテゴリCtgtに対する単語tの特徴度の算出について詳細に説明する。以下の説明においては、カテゴリ集合CS(分析軸カテゴリCtgt)に属する全ての文書の集合を上記したように文書集合Dallとする。また、カテゴリ集合CSにはカテゴリC1、C2、…、Caが含まれるものとし、当該カテゴリ集合CSに含まれるカテゴリの数をaとする。更に、カテゴリ集合CSに含まれるカテゴリのうちのi番目のカテゴリをカテゴリCi(i=1,2,…,a)とする。また、カテゴリCiに属する文書の集合を文書集合Diとする。また、文書集合Dallに含まれる文書の数を文書数|Dall|とし、文書集合Diに含まれる文書の数を文書数|Di|とする。
まず、特徴語抽出部322は、文書数|Dall|および文書集合Dallにおける単語tの文書頻度DF(つまり、df(t,Dall))に基づいて、当該文書集合Dallにおける単語tの出現確率に対する当該文書毎の偏りs
tおよび当該偏りs
tの自由度φ
tを算出する。具体的には、偏りs
tおよび自由度φ
tは、以下の式(1)および(2)により算出される。
また、特徴語抽出部322は、カテゴリ集合CSに含まれるカテゴリの数a、文書数|Di|および文書集合Diにおける単語tの文書頻度DF(つまり、df(t,Di))に基づいて、文書集合Dallにおける単語tの出現確率に対するカテゴリ毎の偏りs
aおよび当該偏りs
aの自由度φ
aを算出する。具体的には、偏りs
aおよび自由度φ
aは、以下の式(3)および(4)により算出される。
次に、特徴語抽出部322は、上記したように算出された偏りs
t、偏りs
a、文書数|Dall|およびカテゴリ集合CSに含まれるカテゴリの数aに基づいて、当該カテゴリ毎の平均に対する偏りs
eおよび当該偏りs
eの自由度φ
eを算出する。具体的には、偏りs
eおよび自由度φ
eは、以下の式(5)および(6)により算出される。
更に、特徴語抽出部322は、上記したように算出された偏りs
a、自由度φ
a、偏りs
eおよび自由度φ
eに基づいて、カテゴリ集合CSに含まれるカテゴリ間の分散v
aおよび誤差の分散v
eを算出する。具体的には、カテゴリ間の分散v
aおよび誤差の分散v
eは、以下の式(7)および(8)により算出される。
最後に、特徴語抽出部322は、上記したように算出されたカテゴリ間の分散v
aおよび誤差の分散v
eに基づいて、カテゴリ集合CSに対する単語tの特徴度score(t,CS)を算出する。具体的には、特徴度score(t,CS)は、以下の式(9)により算出される。
カテゴリ集合CSに含まれるカテゴリを比較する上では、当該比較するカテゴリ集合CSの中で特定のカテゴリに偏って出現する単語が重要となる。このため、特徴語抽出部322では、上記したように分散分析手法を応用し、カテゴリ集合CS(分析軸カテゴリCtgt)についてカテゴリ間での出現確率の偏りの有意性が単語tの特徴度として算出される。
ステップS32の処理が実行されると、特徴語抽出部322は、算出された単語tの特徴度を単語データ格納部に格納する(ステップS33)。
次に、特徴語抽出部322は、単語データ中の全ての単語についてステップS32およびS33の処理が実行されたか否かを判定する(ステップS34)。
全ての単語について処理が実行されていないと判定された場合(ステップS34のNO)、上記したステップS32に戻って処理が繰り返される。この場合、ステップS32およびS33の処理が実行されていない単語を単語tとして処理が実行される。
このように単語データ中の全ての単語についてステップS32およびS33の処理が繰り返されることによって、当該単語の各々について特徴度が算出され、当該特徴度が当該単語毎に単語データ格納部に格納される。
ここで、図16は、単語データ中の単語毎に算出された特徴度が格納された後の単語データ格納部のデータ構造の一例を示す。
図16に示すように、単語データ格納部には、単語データ中の単語毎に特徴度が格納されている。
図16に示す例では、単語データ格納部には、例えば単語「操作」の特徴度として「1.50」が格納されている。
ここでは、単語「操作」について説明したが、単語データ格納部には他の単語についても同様に特徴度が格納されている。
ステップS34において全ての単語について処理が実行されたと判定された場合、特徴語抽出部322は、単語データ格納部に単語毎に格納された特徴度を参照して、単語データ中の単語の中から分析軸カテゴリCtgt(カテゴリ集合CS)に対する特徴語を抽出する(ステップS25)。
この場合、特徴語抽出部322は、例えば単語データ中の単語のうち特徴度が上位n位までの単語を特徴語として抽出する。ここで、nは、例えば図12に示す特徴語抽出要求画面110のサブ画面111に設けられている欄111cにおいてユーザによって指定された数である。なお、nは、例えば文書分析装置30の内部で予め設定されていても構わない。
また、特徴語抽出部322は、特徴度が予め定められた値(閾値)以上である単語を特徴語として抽出する構成であっても構わない。
このように特徴語抽出部322によって抽出されたカテゴリ集合CSに対する特徴語は、上述したようにユーザに対して提示される。この場合、特徴語抽出部322によって抽出された特徴語に加えて、カテゴリ集合CSに含まれる各カテゴリ(つまり、階層構造において分析軸カテゴリCtgtの下位に位置するカテゴリ)に属する文書集合における当該特徴語の文書頻度DF等がともに提示されても構わない。
上記したように本実施形態においては、ユーザによって指定された分析軸カテゴリCtgt(の下位に位置するカテゴリを含むカテゴリ集合CS)に属する文書集合から単語を抽出し、当該文書集合において当該単語が出現する文書の数を示す文書頻度(第1の文書数)および階層構造において分析軸カテゴリCtgtの下位に位置するカテゴリに属する文書集合において当該単語が出現する文書の数を示す文書頻度(第2の文書数)を算出し、当該分析軸カテゴリCtgtに属する文書集合に含まれる文書の数、当該分析軸カテゴリCtgtの下位に位置するカテゴリの数、当該算出された文書頻度(第1および第2の文書数)に基づいて分析軸カテゴリCtgtに対する当該単語の特徴度を算出し、当該算出された単語の特徴度に基づいて当該単語を分析軸カテゴリCtgtに対する特徴語として抽出する。
このように本実施形態においては、分散分析の手法を応用し、分析軸カテゴリCtgt(カテゴリ集合CS)について各単語のカテゴリ間での出現確率の偏りの有意性を単語の特徴度として算出し、当該算出された特徴度に基づいて当該分析軸カテゴリCtgtに対する特徴語を抽出するため、階層構造において当該分析軸カテゴリCtgtの下位に位置する複数のカテゴリ(カテゴリ集合CSに含まれる複数のカテゴリ)の内容を相互に比較するのに好適な特徴語を抽出することが可能となる。
(第2の実施形態)
次に、図17を参照して、第2の実施形態について説明する。図17は、本実施形態に係る文書分析装置の主として機能構成を示すブロック図である。なお、前述した図2と同様の部分には同一参照符号を付してその詳しい説明を省略する。ここでは、図2と異なる部分について主に述べる。
また、本実施形態に係る文書分析装置のハードウェア構成は前述した第1の実施形態にと同様であるため、適宜図1を用いて説明する。
本実施形態においては、前述した第1の実施形態において説明した処理によって抽出された特徴語を用いて文書が属するカテゴリ(以下、特徴語カテゴリと表記)を生成し、階層構造においてユーザによって指定されたカテゴリ(分析軸カテゴリCtgt)の下位に位置するカテゴリと当該特徴語カテゴリとでクロス集計を行う点が、前述した第1の実施形態とは異なる。
図17に示すように、本実施形態に係る文書分析装置50は、ユーザインタフェース部51および分析軸生成部52を含む。本実施形態において、これらの各部51および52は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。
ユーザインタフェース部51は、クロス集計部511を含む。クロス集計部512は、分析軸カテゴリCtgtと特徴語カテゴリとをクロス集計する。なお、特徴語カテゴリとは、後述するように分析軸カテゴリCtgtに対する特徴語を用いて生成されたカテゴリである。
クロス集計部511によるクロス集計結果は、ユーザインタフェース部51によってユーザに提示される。なお、クロス集計結果には、階層構造において分析軸カテゴリCtgtの下位に位置するカテゴリ(分析軸カテゴリCtgtを上位カテゴリとするカテゴリ)および特徴語カテゴリの両方に属する文書の数(第3の文書数)が含まれる。
分析軸生成部52は、特徴語特性算出部521および特徴語カテゴリ生成部522を含む。
特徴語特性算出部521は、分析軸カテゴリCtgt(階層構造において当該分析対象カテゴリCtgtの下位に位置するカテゴリを含むカテゴリ集合CS)に対する特徴語抽出部322によって抽出された特徴語の共通度を算出する。この分析軸カテゴリCtgtに対する特徴語の共通度は、例えば分析軸カテゴリCtgt(カテゴリ集合CS)での共通点/相違点を表す尺度として用いられる。分析軸カテゴリCtgtに対する特徴語の共通度は、カテゴリ集合CSに属する文書の数、カテゴリ集合CSに含まれる各カテゴリに属する文書の数、カテゴリ集合CSに属する文書集合における当該特徴語の文書頻度(第1の文書数)およびカテゴリ集合CSに含まれるカテゴリに属する文書集合における当該特徴語の文書頻度(第2の文書数)に基づいて算出される。
特徴語カテゴリ生成部522は、特徴語抽出部322によって抽出された特徴語を用いて当該特徴語をカテゴリ名とするカテゴリ(特徴語カテゴリ)を生成する。この特徴語を用いて生成された特徴語カテゴリには、当該特徴語を含む文書が属する。この場合、特徴語カテゴリ生成部522は、例えば特徴語特性算出部521によって算出された特徴語の共通度が高い順に特徴語を用いて特徴語カテゴリを生成する。なお、特徴語カテゴリ生成部522は、生成された特徴語カテゴリに関するカテゴリ情報をカテゴリ格納部23に格納する。
次に、図18のフローチャートを参照して、本実施形態に係る文書分析装置50の処理手順について説明する。
まず、前述した図10に示すステップS1〜S6の処理に相当するステップS41〜S46の処理が実行される。
次に、分析部生成部52に含まれる特徴語特性算出部521は、特徴語抽出部322によって抽出された特徴語について、分析軸カテゴリCtgt(カテゴリ集合CS)での共通点/相違点を表す尺度として共通度を算出する処理(以下、特徴語特性算出処理と表記)を実行する(ステップS47)。この特徴語特性算出処理は、前述した単語データ格納部に格納されている単語データに基づいて実行される。なお、特徴語特性算出処理の詳細については後述する。
特徴語特性算出処理が実行されると、特徴語カテゴリ生成部522は、特徴語抽出部322によって抽出された特徴語の各々を用いて特徴語カテゴリ(当該特徴語のカテゴリ)を生成する処理(以下、特徴語カテゴリ生成処理と表記)を実行する(ステップS48)。この特徴語カテゴリ生成処理においては、例えば特徴語特性算出部521によって算出された特徴語の共通度が高い順に当該特徴語をカテゴリ名とするカテゴリ(つまり、特徴語カテゴリ)が生成される。なお、特徴語カテゴリ生成部522によって生成された特徴語カテゴリは、後述するように階層構造において便宜上配置された中間カテゴリの下位に位置するカテゴリとする。
特徴語カテゴリ生成部522によって生成された特徴語カテゴリに関するカテゴリ情報は、カテゴリ格納部23に格納される。なお、特徴語カテゴリ生成処理の詳細については後述する。
特徴語カテゴリ生成処理が実行されると、例えばユーザインタフェース部51に含まれるカテゴリ提示部311は、カテゴリ格納部23に格納されているカテゴリ情報に基づいて、当該特徴語カテゴリが追加されたカテゴリの階層構造をユーザに提示(表示)する。
ここで、図19は、カテゴリ提示部311によってカテゴリの階層構造が提示された場合の画面(カテゴリ階層構造提示画面)の一例を示す。
図19に示すように、カテゴリ階層構造提示画面200には、階層構造を構成するカテゴリのカテゴリ名がツリー上(カテゴリツリー)で表示される。
図19に示すカテゴリ階層構造提示画面200においては、前述した図11に示すカテゴリ階層構造提示画面100に表示されているカテゴリと比較して、特徴語カテゴリが追加されている。
具体的には、カテゴリ階層構造提示画面200においては、カテゴリ「『出願人』分析軸」がルートカテゴリの下位に位置するカテゴリであることが示されている。また、カテゴリ階層構造提示画面200においては、カテゴリ「表示」、「操作」、「調理」、「システム」および「通信」を含む複数のカテゴリがカテゴリ「『出願人』分析軸」の下位に位置するカテゴリであることが示されている。
なお、カテゴリ階層構造提示画面200におけるカテゴリ「表示」、「操作」、「調理」、「システム」および「通信」を含む複数のカテゴリが特徴語カテゴリ生成部522によって生成された特徴語カテゴリである。このカテゴリ「表示」、「操作」、「調理」、「システム」および「通信」は、特徴語抽出部322によって抽出された特徴語「表示」、「操作」、「調理」、「システム」および「通信」を用いて生成された特徴語カテゴリである。
ここで、上記したカテゴリ階層構造提示画面200がカテゴリ提示部311によって提示されると、ユーザは、当該カテゴリ階層構造提示画面200を参照することによって、当該カテゴリ階層構造提示画面200に表示されている複数のカテゴリの中からクロス集計の対象(分析軸)となる2つのカテゴリ(以下、クロス集計対象カテゴリCtgt1および2と表記)を指定することができる。ここでは、クロス集計対象カテゴリCtgt1および2として、前述した分析軸カテゴリCtgtおよび階層構造において特徴語カテゴリの上位に位置するカテゴリ(中間カテゴリ)が指定されるものとする。
カテゴリ階層構造提示画面200においてクロス集計対象カテゴリCtgt1および2として例えばカテゴリ「出願人別」および「『出願人』分析軸」が指定されたものとすると、図20に示すような画面(以下、クロス集計要求画面と表記)210が表示される。
図20に示すように、クロス集計要求画面210には、カテゴリの階層構造に加えてサブ画面211が表示されている。このサブ画面211には、例えば「カテゴリ「出願人別」と「『出願人』分析軸」で2軸マップを表示します。縦軸とするカテゴリを選択して下さい。」が表示されている。ユーザは、このようなサブ画面211を確認することによって、指定されたカテゴリ「出願人別」および「『出願人』分析軸」のうちクロス集計において縦軸とするカテゴリを選択することができる。
また、このサブ画面211には、実行ボタン211aおよびキャンセルボタン211bが設けられている。
文書分析装置50に対するユーザの操作に応じてサブ画面211に設けられている実行ボタン211aが選択されると、クロス集計対象カテゴリCtgt1および2(ここでは、カテゴリ「出願人別」および「『出願人』分析軸」)のクロス集計が文書分析装置50に対して要求される。
一方、文書分析装置50に対するユーザの操作に応じてサブ画面211に設けられているキャンセルボタン211bが選択されると、クロス集計対象カテゴリCtgt1および2を選択し直すための画面として例えば図19に示すカテゴリ階層構造提示画面200が表示される。
再び図18に戻ると、ユーザの操作に応じて上記したクロス集計が要求されたか否かが判定される(ステップS49)。
クロス集計が要求されたと判定された場合(ステップS49のYES)、ユーザインタフェース部51に含まれるクロス集計部511は、上記したカテゴリ階層構造提示画面200においてユーザによって指定されたクロス集計対象カテゴリCtgt1および2に対するクロス集計処理を実行する(ステップS50)。このクロス集計処理においては、例えばクロス集計対象カテゴリCtgt1を縦軸、クロス集計対象カテゴリCtgt2を横軸とする2軸マップ(クロス集計結果)が生成(取得)される。このクロス集計結果には、階層構造においてクロス集計対象カテゴリCtgt1の下位に位置するカテゴリ(カテゴリ集合CSに含まれるカテゴリ)およびクロス集計対象カテゴリCtgt2の下位に位置するカテゴリ(特徴語カテゴリ)の両方に属する文書の数が含まれる。なお、クロス集計処理およびクロス集計結果の詳細については後述する。
クロス集計処理が実行されると、ユーザインタフェース部51は、クロス集計部511によって生成(取得)されたクロス集計結果をユーザに提示する(ステップS51)。
上記したようにクロス集計対象カテゴリCtgt1および2として、分析対象カテゴリCtgtおよび特徴語カテゴリ生成部522によって生成された特徴語カテゴリの1階層上位のカテゴリが指定されることによって、当該分析対象カテゴリCtgtに対して特徴語の共通性と相違性が明確になるようなクロス集計結果をユーザに対して提示することができる。
次に、図21のフローチャートを参照して、上述した特徴語特性算出部521によって実行される特徴語特性算出処理(図18に示すステップS47の処理)の処理手順について説明する。
ここで、特徴語抽出部322によって抽出された特徴語は、分析軸カテゴリCtgt(の下位に位置するカテゴリを含むカテゴリ集合CS)に対して有意な単語であるものの、当該分析軸カテゴリCtgtにおいて共通点を表す特徴語と相違点を表す特徴語とが混在している。したがって、特徴語特性算出処理においては、分析軸カテゴリCtgtでの共通点/相違点を表す尺度として共通度という指標が算出される。
なお、分析軸カテゴリCtgt(カテゴリ集合CS)において共通点を表す特徴語とは、当該カテゴリ集合CSに含まれる複数のカテゴリにおいて出現確率が有意に高い特徴語である。具体的には、特許文書において分析軸カテゴリCtgtがカテゴリ「出願人」である場合、当該出願人である例えば企業(つまり、分析軸カテゴリCtgtの下位に位置するカテゴリ「A社」、「B社」等)の共通点(つまり、当該企業が共通して取り組んでいる共通の技術)を表す特徴語が当該分析軸カテゴリCtgtにおいて共通点を表す特徴語である。
一方、分析軸カテゴリCtgt(カテゴリ集合CS)において相違点を表す特徴語とは、当該カテゴリ集合CSに含まれる特定のカテゴリ(1つまたは少数のカテゴリ)において出現確率が有意に高い特徴語である。具体的には、上記したように特許文書において分析軸カテゴリCtgtがカテゴリ「出願人」である場合、当該出願人である企業(分析軸カテゴリCtgtの下位に位置するカテゴリ「A社」、「B社」等)の相違点(つまり、特定の企業のみが集中的に取り組んでいる技術)を表す特徴語が当該分析軸カテゴリCtgtにおいて相違点を表す特徴語である。
まず、特徴語特性算出部521は、特徴語抽出部322によって抽出された特徴語を含む特徴語集合(以下、特徴語集合KSと表記)を取得する(ステップS61)。
次に、特徴語特性算出部521は、取得された特徴語集合KSに含まれる特徴語の各々について以下のステップS62およびS63の処理を実行する。このステップS62およびS63の処理の対象となる特徴語を特徴語kと称する。
特徴語特性算出部521は、分析軸カテゴリCtgt(カテゴリ集合CS)に対する特徴語kの共通度を算出する(ステップS62)。この特徴語kの共通度は、上記したように分析軸カテゴリCtgtでの共通点/相違点を表す尺度として用いられる。
ここで、特徴語kの共通度は、カテゴリ集合CSに属する文書の数、カテゴリ集合CSに含まれる各カテゴリに属する文書の数、カテゴリ集合CSに属する文書集合において特徴語kが出現する文書の数およびカテゴリ集合CSに含まれる各カテゴリに属する文書集合において特徴語kが出現する文書の数に基づいて算出される。具体的には、特徴語kの共通度は、以下の式(10)により算出される。
なお、以下の説明において、カテゴリ集合CSに属する文書の集合を文書集合Dallとする。また、カテゴリ集合CSに含まれるカテゴリの数をa、当該カテゴリ集合CSに含まれるカテゴリのうちのi番目のカテゴリをカテゴリCi(i=1,2,…a)、当該カテゴリCiに属する文書の集合を文書集合Diとする。
なお、式(10)におけるc(k、Di,Dall)は、以下の式(11)のように定義される。
この式(11)におけるdf(k,Di)は、カテゴリ集合CSに含まれるカテゴリCi(i=1,2,…,a)に属する文書集合Di(i=1,2,…,a)において特徴語kが出現する文書の数(つまり、文書集合Diにおける特徴語kの文書頻度)である。また、df(k,Dall)は、カテゴリ集合CSに属する文書集合Dallにおいて特徴語kが出現する文書の数(つまり、文書集合Dallにおける特徴語kの文書頻度)である。なお、df(k,Di)およびdf(k,Dall)は、前述したように単語データ格納部に格納されている単語データから取得される。
また、式(11)における|Di|は、文書集合Diに含まれる文書の数(つまり、カテゴリCiに属する文書の数)である。同様に、|Dall|は、文書集合Dallに含まれる文書の数(つまり、カテゴリCSに属する文書の数)である。
また、式(11)におけるγは、特徴語kの共通度を算出する上での閾値であり、文書集合Dall全体における出現確率との倍率として指定される。なお、このγ(の値)は、文書分析装置50内で予め設定されていてもよいし、特徴語特性算出処理の度にユーザによって指定されても構わない。
上記したように算出される特徴語kの共通度が大きいほど、当該特徴語kが分析軸カテゴリCtgt(カテゴリ集合CS)において共通点をよく表す特徴語であることを表す。一方、特徴語kの共通度が小さいほど、当該特徴語kが当該分析軸カテゴリCtgt(カテゴリ集合CS)において相違点をよく表す特徴語であることを表す。
ステップS62の処理が実行されると、特徴語特性算出部521は、算出された特徴語kの共通度を単語データ格納部に格納する(ステップS63)。
次に、特徴語特性算出部321は、特徴語集合KSに含まれる全ての特徴語についてステップS62およびステップS63の処理が実行されたか否かを判定する(ステップS64)。
全ての特徴語について処理が実行されていないと判定された場合(ステップS64のNO)、上記したステップS62に戻って処理が繰り返される。この場合、ステップS62およびS63の処理が実行されていない特徴語を特徴語kとして処理が実行される。
このように特徴語集合KSに含まれる全ての特徴語についてステップS62およびS63の処理が繰り返されることによって、当該特徴語の各々について共通度が算出され、当該特徴度が当該特徴語毎に単語データ格納部に格納される。
ここで、図22は、特徴語毎に算出された共通度が格納された後の単語データ格納部のデータ構造の一例を示す。ここでは、単語データ格納部に格納されている単語データ中の単語のうちの「操作」、「通信」、「パネル」、「フィルム」および「表示」が特徴語であるものとする。
図22に示すように、単語データ格納部には、特徴語毎に共通度が格納されている。図22に示す例では、単語データ格納部には、例えば特徴語「操作」の共通度として「6」が格納されている。なお、単語データ格納部には、他の特徴語についても同様に共通度が格納されている。
また、上記したように共通度は特徴語について算出されるため、例えば特徴語として抽出されていない単語「レンジ」については、カテゴリ集合CSに対する共通度は格納(算出)されない。したがって、図22に示すように、「レンジ」の共通度の項目は空である。
ステップS64において全ての特徴語について処理が実行されたと判定された場合、特徴語特性算出部521は、単語データ格納部に格納されている単語データ(特徴語毎の共通度)を参照して、当該共通度(降順)で特徴語集合KSに含まれる特徴語をソートする(ステップS65)。例えば上記した図22に示す例では、特徴語集合KSに含まれる特徴語は、特徴語「表示」、「操作」、「通信」、「フィルム」および「パネル」の順にソートされる。
ステップS65の処理が実行されると、特徴語特性算出処理は終了される。この際、特徴語特性算出部521は、共通度でソートされた特徴語を含む特徴語集合KSを特徴語カテゴリ生成部522に渡す。
なお、特徴語カテゴリ生成部522に渡された特徴語集合KSに含まれる特徴語は、共通度について降順でソートされているため、上位であるほど共通点をよく表す特徴語であり、下位であるほど相違点をよく表す特徴語である。
次に、図23のフローチャートを参照して、上述した特徴語カテゴリ生成部522によって実行される特徴語カテゴリ生成処理(図18に示すステップS48の処理)の処理手順について説明する。この特徴語カテゴリ生成処理においては、上記した共通度でソートされた特徴語を用いて特徴語カテゴリが生成される。
まず、特徴語カテゴリ生成部522は、特徴語特性算出部521から渡された特徴語集合KSを取得する(ステップS71)。なお、この特徴語集合KSには、上述した共通度でソートされた特徴語(つまり、当該共通度順の特徴語)が含まれる。
次に、特徴語カテゴリ生成部522は、階層構造において特徴語カテゴリ生成処理において生成される特徴語カテゴリの上位に位置するカテゴリ(以下、中間カテゴリCpと表記)を生成する(ステップS72)。なお、ここで生成される中間カテゴリCpは、階層構造において特徴語カテゴリを便宜上配置し、上述したようにクロス集計処理のために当該特徴語カテゴリを指定するための中間カテゴリである。この中間カテゴリCpは、階層構造においてルートカテゴリの下位に位置するカテゴリであるものとする。
特徴語カテゴリ生成部522は、生成された中間カテゴリCpに関するカテゴリ情報をカテゴリ格納部23に格納する(ステップS73)。この場合、特徴語カテゴリ生成部522は、中間カテゴリCpを識別するためのカテゴリ番号、中間カテゴリCpの上位に位置するルートカテゴリを識別するための上位カテゴリ番号、中間カテゴリCpのカテゴリ名および中間カテゴリCpに属する文書を示す分類ルールを含むカテゴリ情報をカテゴリ格納部23に格納する。
ここで、図24は、中間カテゴリCpに関するカテゴリ情報のデータ構造の一例を示す。図24に示すように、カテゴリ情報236には、カテゴリ番号「C003」、上位カテゴリ番号「C000」、カテゴリ名「『出願人』分類軸」および分類ルール「true(恒真)」が含まれる。
カテゴリ番号「C003」は、中間カテゴリCpを一意に識別するための識別子であり、例えば特徴語カテゴリ生成部522によって中間カテゴリCpが生成される際に自動的に発行される。
上位カテゴリ番号「C000」は、階層構造において中間カテゴリCpの上位に位置するルートカテゴリを識別するためのカテゴリ番号である。
カテゴリ名「『出願人』分類軸」は、中間カテゴリCpのカテゴリ名である。なお、中間カテゴリCpのカテゴリ名は、例えば分析対象カテゴリCtgtのカテゴリ名(例えば、カテゴリ名「出願人」)等に基づいて自動的に決定されてもよいし、ユーザによって指定されても構わない。
また、分類ルール「true(恒真)」は、中間カテゴリCpに属する文書(の条件)を示す。この分類ルール「true(恒真)」によれば、前述したように全ての文書が条件を満足することが示されている。なお、中間カテゴリCpに属する文書を示す分類ルールは、例えば分析対象カテゴリCtgtに関するカテゴリ情報に含まれる分類ルールと同様の分類ルールが自動的に設定されてもよい。
ここでは、中間カテゴリCpがルートカテゴリの下位に位置するカテゴリであるものとして説明したが、当該中間カテゴリCpは、例えば分析対象カテゴリCtgtの下位に位置するカテゴリとしても構わない。
再び図23に戻ると、特徴語カテゴリ生成部522は、取得された特徴語集合KSに含まれる特徴語の各々について以下のステップS74およびS75の処理を実行する。なお、特徴語カテゴリ生成部522は、特徴語集合KSに含まれる特徴語の順(つまり共通度で降順にソートされた順)に処理する。このステップS74およびS75の処理の対象となる特徴語を特徴語kと称する。
この場合、特徴語カテゴリ生成部522は、特徴語kを用いて特徴語カテゴリ(以下、特徴語カテゴリKCと表記)を生成する(ステップS74)。なお、この特徴語カテゴリKCは、階層構造において上記した中間カテゴリCpの下位に位置するカテゴリである。
次に、特徴語カテゴリ生成部522は、生成された特徴語カテゴリKCに関するカテゴリ情報をカテゴリ格納部23に格納する(ステップS75)。この場合、特徴語カテゴリ生成部522は、特徴語カテゴリKCを識別するためのカテゴリ番号、特徴語カテゴリKCの上位に位置する中間カテゴリCpを識別するための上位カテゴリ番号、特徴語カテゴリKCのカテゴリ名および特徴語カテゴリKCに属する文書を示す分類ルールを含むカテゴリ情報をカテゴリ格納部23に格納する。
なお、特徴語カテゴリKCのカテゴリ名は、例えば特徴語kとする。また、特徴語カテゴリKCに属する文書を示す分類ルールは、特徴語kを含む文書を示す分類ルール、つまり、特徴語kを含むことを条件とした分類ルールとする。換言すれば、特徴語カテゴリ生成部522によって生成された特徴語カテゴリKCは、特徴語kをテキスト(例えば、本文)に含む文書が属する(分類される)カテゴリである。
次に、特徴語カテゴリ生成部522は、上記したように共通度で降順にソートされた順に処理が実行された結果、特徴語集合KSに含まれる最後の特徴語までステップS74およびS75の処理が実行されたか否かを判定する(ステップS76)。つまり、特徴語カテゴリ生成部522は、特徴語集合KSに含まれる特徴語のうち共通度が最も小さい特徴語まで処理が実行されたか否かを判定する。
最後の特徴語まで処理が実行されていないと判定されると(ステップS76のNO)、上記したステップS74に戻って処理が繰り返される。この場合、共通度でソートされた特徴語において、ステップS73およびS74の処理が実行された特徴語kの次の特徴語(次に共通度が高い特徴語)を特徴語kとして処理が実行される。
このように特徴語集合KSに含まれる共通度でソートされた最後の特徴語までステップS74およびS75の処理が実行されると、特徴語の共通度順に生成された特徴語カテゴリに関するカテゴリ情報がカテゴリ格納部23に格納された状態となる。
なお、ステップS76において最後の特徴語について処理が実行されたと判定された場合、特徴語カテゴリ生成処理は終了される。
このように特徴語カテゴリ生成処理が実行されることによって、後述するクロス集計処理においてユーザによって指定された分析軸(分析軸カテゴリCtgt)のカテゴリ間を比較するのに好適な他方の分析軸となるカテゴリを生成することができる。
ここで、図25および図26を参照して、カテゴリ格納部23に格納された特徴語カテゴリに関するカテゴリ情報について具体的に説明する。
図25は、例えば特徴語「表示」を用いて生成された特徴語カテゴリ(以下、特徴語カテゴリ1と表記)に関するカテゴリ情報のデータ構造の一例を示す。
図25に示すように、カテゴリ情報237には、カテゴリ番号「C301」、上位カテゴリ番号「C003」、カテゴリ名「表示」および分類ルール「contains(./本文,”表示”)」が含まれる。
カテゴリ情報237に含まれるカテゴリ番号「C301」は、特徴語カテゴリ1を一意に識別するための識別子であり、例えば特徴語カテゴリ生成部522によって特徴語カテゴリ1が生成される際に自動的に発行される。
カテゴリ情報237に含まれる上位カテゴリ番号「C003」は、特徴語カテゴリ1の上位に位置する中間カテゴリCp(図23に示すステップS72において生成された中間カテゴリ)を識別するためのカテゴリ番号である。
カテゴリ情報237に含まれるカテゴリ名「表示」は、特徴語カテゴリ1のカテゴリ名である。なお、上記したように特徴語カテゴリ1のカテゴリ名には特徴語「表示」が用いられる。
また、カテゴリ情報237に含まれる分類ルール「contains(./本文,”表示”)」は、特徴語カテゴリ1に属する文書(の条件)を示す。この分類ルール「contains(./本文,”表示”)」によれば、特徴語カテゴリ1には本文に特徴語「表示」が含まれる文書が属することが示されている。
図26は、例えば特徴語「操作」を用いて生成された特徴語カテゴリ(以下、特徴語カテゴリ2と表記)に関するカテゴリ情報のデータ構造の一例を示す。
図26に示すように、カテゴリ情報238には、カテゴリ番号「C302」、上位カテゴリ番号「C003」、カテゴリ名「操作」および分類ルール「contains(./本文,”操作”)」が含まれる。
カテゴリ情報238に含まれるカテゴリ番号「C302」は、特徴語カテゴリ2を一意に識別するための識別子であり、例えば特徴語カテゴリ生成部522によって特徴語カテゴリ2が生成される際に自動的に発行される。
カテゴリ情報238に含まれる上位カテゴリ番号「C003」は、特徴語カテゴリ2の上位に位置する中間カテゴリCpを識別するためのカテゴリ番号である。
カテゴリ情報238に含まれるカテゴリ名「操作」は、特徴語カテゴリKC2のカテゴリ名である。なお、上記したように特徴語カテゴリ2のカテゴリ名には特徴語「操作」が用いられる。
また、カテゴリ情報238に含まれる分類ルール「contains(./本文,”操作”)」は、特徴語カテゴリ2に属する文書(の条件)を示す。この分類ルール「contains(./本文,”表示”)」によれば、特徴語カテゴリ2には本文に特徴語「操作」が含まれる文書が属することが示されている。
次に、図27のフローチャートを参照して、上述したクロス集計部511によって実行されるクロス集計処理(図18に示すステップS50の処理)の処理手順について説明する。
ここでは、上述したようにユーザによって指定されたクロス集計(処理)の対象となる2つのカテゴリをクロス集計対象カテゴリCtgt1および2と称する。なお、クロス集計対象カテゴリCtgt1は前述した分析対象カテゴリCtgt(例えば、カテゴリ「出願人別」)であり、クロス集計対象カテゴリCtgt2は上述した特徴語カテゴリ生成処理において生成された特徴語カテゴリの上位に位置する中間カテゴリCp(例えば、カテゴリ「『出願人』分類軸」)であるものとする。また、上述した図20に示すクロス集計要求画面210のサブ画面211においてクロス集計対象カテゴリCtgt1が縦軸として選択されているものとする。
まず、クロス集計部511は、階層構造においてクロス集計対象カテゴリCtgt1の下位に位置するカテゴリ(クロス集計対象カテゴリCtgt1を上位カテゴリとするカテゴリ)を含むカテゴリ集合(以下、カテゴリ集合CS1と表記)およびクロス集計対象カテゴリCtgt2の下位に位置するカテゴリ(クロス集計対象カテゴリCtgt2を上位カテゴリとするカテゴリ)を含むカテゴリ集合(以下、カテゴリ集合CS2と表記)を特定する(ステップS81)。
なお、カテゴリ集合CS1に含まれるカテゴリ(クロス集計対象カテゴリCtgt1の下位に位置するカテゴリ)は、当該クロス集計対象カテゴリCtgt1を識別するためのカテゴリ番号を上位カテゴリ番号として含むカテゴリ情報に含まれるカテゴリ番号によって識別されるカテゴリである。同様に、カテゴリ集合CS2に含まれるカテゴリ(クロス集計対象カテゴリCtgt2の下位に位置するカテゴリ)は、当該クロス集計対象カテゴリCtgt2を識別するためのカテゴリ番号を上位カテゴリ番号として含むカテゴリ情報のカテゴリ番号によって識別されるカテゴリである。
ここで、カテゴリ集合CS1には、カテゴリC11、C12、…、C1aのa個のカテゴリが含まれているものとする。また、カテゴリ集合CS2には、カテゴリC21、C22、…、C2bのb個のカテゴリが含まれているものとする。
次に、クロス集計部511は、特定されたカテゴリ集合CS1に含まれるカテゴリC1i(i=1,2,…,a)について以下のステップS82〜S86の処理を実行する。
この場合、クロス集計部511は、カテゴリC1iに関するカテゴリ情報を取得する(ステップS82)。
次に、クロス集計部511は、特定されたカテゴリ集合CS2に含まれるカテゴリC2j(j=1,2,…,b)について以下のステップS83〜S85の処理を実行する。なお、カテゴリ集合CS2に含まれるカテゴリC21〜C2bは、例えば上述した特徴語カテゴリ生成部522によって生成された順(つまり、共通度順)で処理されるものとする。
この場合、クロス集計部511は、カテゴリC2jに関するカテゴリ情報を取得する(ステップS83)。
クロス集計部511は、取得されたカテゴリC1iに関するカテゴリ情報およびカテゴリC2jに関するカテゴリ情報に含まれる分類ルールに基づいて、当該カテゴリC1iおよびC2jの両方に属する文書を含む文書集合Dcmn(C1i,C2j)を取得する(ステップS84)。
クロス集計部511は、クロス集計結果のi行j列(のセル)の値を、文書集合Dcmn(C1i,C2j)に含まれる文書の数(以下、文書数|Dcmn(C1i,C2j)|と表記)とする(ステップS85)。
次に、クロス集計部511は、カテゴリ集合CS2に含まれる全てのカテゴリ(つまり、カテゴリC21、C22、…、C2b)について処理が実行されたか否かを判定する(ステップS86)。
カテゴリ集合CS2に含まれる全てのカテゴリについて処理が実行されていないと判定された場合(ステップS86のNO)、上記したステップS83に戻って処理が繰り返される。
一方、カテゴリ集合CS2に含まれる全てのカテゴリについて処理が実行されたと判定された場合(ステップS86のYES)、クロス集計部511は、カテゴリ集合CS1に含まれる全てのカテゴリ(つまり、カテゴリC11、C12、…、C1a)について処理が実行されたか否かを判定する(ステップS87)。
カテゴリ集合CS1に含まれる全てのカテゴリについて処理が実行されていないと判定された場合(ステップS87のNO)、上記したステップS82に戻って処理が繰り返される。
一方、カテゴリ集合CS1に含まれる全てのカテゴリについて処理が実行されたと判定された場合(ステップS87のYES)、クロス集計処理は終了される。
このようにクロス集計処理が実行されることによって、カテゴリ集合CS1に含まれるカテゴリ(C1i)およびカテゴリ集合CS2に含まれるカテゴリ(C2j)の両方に属する文書の数(文書数|Dcmn(C1i,C2j)|)を含むクロス集計結果を得ることができる。
クロス集計処理によって得られたクロス集計結果は、ユーザインタフェース部51によってユーザに提示される。
ここで、図28は、ユーザインタフェース部51によってユーザに提示されたクロス集計結果の一例を示す。ここでは、上記したようにクロス集計対象カテゴリCtgt1はカテゴリ「出願人別」(つまり、カテゴリ集合CS1は当該カテゴリ「出願人別」の下位に位置するカテゴリ「A社」〜「J社」の集合)であるものとし、クロス集計対象カテゴリCtgt2はカテゴリ「『出願人』分類軸」(つまり、カテゴリ集合CS2の下位に位置するカテゴリ「表示」、「操作」、「システム」、「通信」、「樹脂」、「フィルム」、「可塑」、「パネル」、「液晶」、「組成」、「光学」、「重合」、「包装」、「偏光」および「セル」の集合)であるものとする。
図28に示すように、クロス集計結果においては、カテゴリ集合CS1に含まれるカテゴリ(C1i)およびカテゴリCS2に含まれるカテゴリ(C2j)に対応づけられているセルの値(つまり、当該カテゴリC1iおよびカテゴリC2jの両方に属する文書の数|Dcmn(C1i,C2j)|)に応じた大きさのバブル(円)が表示されている。
なお、クロス集計結果において、クロス集計対象カテゴリCtgt2であるカテゴリ「『出願人』分類軸」の下位に位置するカテゴリ集合(CS2)に含まれる各カテゴリ(C2j)は、共通度順(特徴語生成カテゴリ部522によって生成された順)に表示される。つまり、クロス集計結果は、クロス集計対象カテゴリCtgt1(ユーザによって指定されたカテゴリ)に対する共通度に応じて提示される。
このようなクロス集計結果がユーザに提示されることによって、クロス集計の対象となるカテゴリの下位に位置するカテゴリ間の共通点または相違点を可視化することができるため、ユーザは、当該カテゴリ間の共通点および相違点を容易に把握することができる。
また、図28に示すクロス集計結果においては横軸の特徴語カテゴリ(カテゴリ「『出願人』分析軸」の下位に位置するカテゴリ)のカテゴリ名(つまり、特徴語)が共通度順に並べられているため、横軸において左側に多くの出願人(企業)で扱われる共通性の高い技術に関する特徴語「表示」、「操作」および「システム」等が提示されており、右側に特定の出願人によって集中的に扱われている独自性の高い技術に関する特徴語「包装」、「偏光」および「セル」等が提示されている。
したがって、このようなクロス集計結果により、ユーザは、例えば「出願人別」という分析軸(カテゴリ)を見たときに、より具体的にその技術傾向を把握することができる。
なお、図28においてはクロス集計結果がバブルチャートとして提示されるものとして説明したが、クロス集計結果として例えば各セルの値自身が提示されてもよいし、または棒グラフ等が提示されても構わない。
上記したように本実施形態においては、特徴語抽出部322によって抽出された特徴語を用いて特徴語カテゴリが生成され、ユーザによって指定されたカテゴリの下位に位置するカテゴリおよび当該生成された特徴語カテゴリの両方に属する文書の数を含むクロス集計結果がユーザに提示される。また、本実施形態においては、ユーザによって指定されたカテゴリ(分析軸カテゴリCtgt)に対する特徴語の共通度が算出され、当該算出された特徴語の共通度に基づいて特徴語カテゴリが並べられたクロス集計結果が提示される。
これにより、本実施形態においては、ユーザが着目する分析軸(ユーザによって指定されたカテゴリ)に対して特徴語の共通点および相違点が明確になるようなクロス集計結果(集計マップ)を提示することができるため、ユーザは、当該分析軸について効率的に適切な分析を行うことができる。つまり、本実施形態においては、特徴語の共通度に基づいてクロス集計結果を提示することによってユーザが指定した分析軸での共通点または相違点を明確にし、ユーザのカテゴリ間の比較を支援することができる。
なお、本実施形態においては上述した図18に示すように処理が実行されるものとして説明したが、例えば既に特徴語カテゴリが生成されているような場合等においては、ステップS42においてカテゴリの階層構造が提示された後に、特徴語の抽出が要求されることなくクロス集計が要求されても構わない。
以上説明した少なくとも1つの実施形態によれば、複数のカテゴリの内容を相互に比較するのに好適な特徴語を抽出することができる文書分析装置を提供することができる。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。