以下、図面を参照して、本発明の実施形態について説明する。
図1は、本実施形態に係る文書分類装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、文書分類装置30を構成する。
この文書分類装置30は、単語を含む複数の文書を、例えば階層構造を構成する複数のカテゴリに分類する機能を有する。
図2は、図1に示す文書分類装置30の主として機能構成を示すブロック図である。図2に示すように、文書分類装置30は、カテゴリ操作部31、クラスタリング制御部32、カテゴリ分類方法設定部33および自動分類制御部34を含む。本実施形態において、これらの各部31乃至34は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が、例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
また、文書分類装置30は、文書記憶部22およびカテゴリ記憶部23を含む。本実施形態において、文書記憶部22およびカテゴリ記憶部23は、例えば図1に示す外部記憶装置20に格納される。
文書記憶部22には、文書分類装置30における分類処理の対象となる複数の文書が記憶されている。文書記憶部22に記憶されている複数の文書の各々には、単語が含まれる。また、文書記憶部22に記憶されている複数の文書の各々には、当該文書を識別するための文書番号が付与されている。
なお、文書記憶部22は、一般的にはファイルシステムまたは文書データベース等によって実現されるが、例えば計算機ネットワークによって接続された複数の記憶部(図示せず)によって構成されてもよい。
カテゴリ記憶部23には、文書記憶部22に記憶されている複数の文書が分類される階層構造を構成する複数のカテゴリに関する情報(複数のカテゴリのデータ)が記憶される。
カテゴリ記憶部23には、階層構造を構成する複数のカテゴリの各々を識別するカテゴリ識別子(例えば、カテゴリ番号)に対応づけて当該カテゴリに文書を分類するための分類方法(カテゴリの分類方法)および当該カテゴリに文書を分類する基準となる分類基準(カテゴリの分類基準)が設定される。分類方法としては、後述するルールベース自動分類および事例ベース自動分類が設定される。また、分類基準としては、後述する分類ルールおよび教師文書が設定される。
カテゴリ記憶部23には、各カテゴリに分類されている文書を識別するための文書識別子(例えば、文書番号)および当該カテゴリの階層構造、すなわち当該各カテゴリ間の上位下位関係を表すデータ(例えば、上位の関係にあるカテゴリを識別するための上位カテゴリ番号)が記憶される。
カテゴリ操作部31は、例えば文書が分類されるカテゴリの階層構造をユーザに対して表示する。ユーザは、例えばカテゴリ操作部31による表示上にて、後述するカテゴリに対する編集操作とクラスタリングおよび自動分類の実行指示操作とを行うことができる。
カテゴリ操作部31は、ユーザの操作に応じて、カテゴリ記憶部23に設定(記憶)されているカテゴリに文書を分類するための分類方法(以下、単にカテゴリの分類方法と表記)または当該カテゴリに文を分類する基準となる分類基準(以下、単にカテゴリの分類基準と表記)を変更する操作(要求)を受け付ける。また、カテゴリ操作部31は、ユーザの操作に応じて、カテゴリに対する編集操作(要求)を受け付ける。これにより、カテゴリ操作部31は、当該カテゴリ操作部31による表示上においてカテゴリに対する編集処理を実行する。このカテゴリに対する編集処理には、例えばカテゴリの統合、移動、複製および削除が含まれる。
なお、カテゴリ操作部31は、一般的にはグラフィカル・ユーザ・インタフェース(GUI:Graphical User Interface)によって実現される。
クラスタリング制御部32は、カテゴリ操作部31を用いてユーザが行う操作に従って、文書記憶部22に記憶されている文書に対して実行されるクラスタリング処理を制御する。
ここで、本実施形態に係る文書分類装置30は、文書のクラスタリング処理を実行する処理部として、文書クラスタリング部321および単語クラスタリング部322を備える。
文書クラスタリング部321は、文書集合の文書の各々の特徴を表す特徴ベクトルに基づいて、互いに類似し合う文書からなる文書集合中の部分集合(クラスタ)を生成する文書クラスタリング処理を実行する。
単語クラスタリング部322は、文書集合の文書の各々に含まれる複数の単語から当該各単語の出現頻度および当該各単語間の共起頻度に基づいて当該文書集合の内容を表す特徴的な単語を抽出し、当該抽出された単語を含む文書からなる文書集合中の部分集合(クラスタ)を生成する単語クラスタリング処理を実行する。
クラスタリング制御部32は、この文書クラスタリング部321による文書クラスタリング処理および単語クラスタリング部322による単語クラスタリング処理を実行することにより、新たなカテゴリ(当該処理によって生成される文書集合中の部分集合が分類されるカテゴリ)を作成することができる。
クラスタリング制御部32は、ユーザの操作に応じて、文書記憶部22に記憶されている複数の文書のうち当該ユーザによって指定された文書からなる文書集合に対して文書クラスタリング部321による文書クラスタリング処理または単語クラスタリング部322による単語クラスタリング処理を実行する。つまり、クラスタリング制御部32は、文書クラスタリング部321および単語クラスタリング部322を制御することによって、ユーザによって指定された文書からなる文書集合に対して文書クラスタリング処理または単語クラスタリング処理を当該文書クラスタリング部321または単語クラスタリング部322に実行させる。
なお、ユーザは、カテゴリ操作部31を操作することによって、文書クラスタリング処理または単語クラスタリング処理のいずれかを選択して実行させることができる。また、ユーザは、カテゴリ操作部31を用いてカテゴリを指定することによって、当該カテゴリに分類されている文書の集合をクラスタリング処理の対象となる文書集合として指定することができる。
カテゴリ分類方法設定部33は、ユーザによって指定されたカテゴリまたはクラスタリング制御部32によって作成されたカテゴリ(文書クラスタリング処理または単語クラスタリング処理によって生成された文書集合中の部分集合が分類されるカテゴリ)に対して、当該カテゴリの分類方法および分類基準を設定する。このカテゴリの分類方法および分類基準は、上記したようにカテゴリ記憶部23に設定される。
カテゴリ分類方法設定部33は、クラスタリング制御部32によって文書クラスタリング処理が実行された場合、当該クラスタリング制御部32によって作成されたカテゴリ(当該文書クラスタリング処理によって生成された文書集合中の部分集合が分類されるカテゴリ)を識別するためのカテゴリ番号に対応づけて、当該カテゴリの分類方法として事例ベース自動分類をカテゴリ記憶部23に設定し、当該カテゴリの分類基準として当該部分集合の文書のうちの少なくとも1つである教師文書をカテゴリ記憶部23に設定する。
また、カテゴリ分類方法設定部33は、クラスタリング制御部32によって単語クラスタリング処理が実行された場合、当該クラスタリング制御部32によって作成されたカテゴリを識別するためのカテゴリ番号に対応づけて、当該カテゴリの分類方法としてルールベース自動分類をカテゴリ記憶部23に設定し、当該カテゴリの分類基準として当該単語クラスタリング処理において抽出された単語(ユーザによって指定された文書集合の内容を表す特徴的な単語)が文書中に出現することを条件とする分類ルールをカテゴリ記憶部23に設定する。
自動分類制御部34は、カテゴリ操作部31を用いてユーザが行う操作に従って、当該ユーザによって指定されたカテゴリおよび階層構造において、当該カテゴリと直接的または間接的に上位または下位の関係にあるカテゴリの集合を分類先候補カテゴリ集合として決定する。また、自動分類制御部34は、決定された分類先候補カテゴリに分類されている文書の集合を分類対象文書集合として決定する。
自動分類制御部34は、上記したように決定された分類対象文書集合(の各文書)を分類先候補カテゴリ集合(の各カテゴリ)に分類する自動分類処理を制御する。
ここで、本実施形態に係る文書分類装置30は、文書をカテゴリに分類する自動分類処理を実行する処理部として、事例ベース自動分類部341およびルールベース自動分類部342を備える。
事例ベース自動分類部341は、カテゴリ記憶部23に設定されたカテゴリの教師文書および文書に含まれる単語に基づいて、当該カテゴリの教師文書に類似する文書を当該カテゴリ(カテゴリ記憶部23において当該教師文書に対応づけられているカテゴリ番号によって識別されるカテゴリ)に分類する事例ベース自動分類処理を実行する。つまり、事例ベース自動分類部341による事例ベース自動分類処理は、カテゴリ記憶部23に分類方法として設定されている事例ベース自動分類に対応する。
ルールベース自動分類部342は、カテゴリ記憶部23に設定されたカテゴリの分類ルールを満たす(分類ルールに合致する)文書を、当該カテゴリ(カテゴリ記憶部23において当該分類ルールに対応づけられているカテゴリ番号によって識別されるカテゴリ)に分類するルールベース自動分類処理を実行する。つまり、ルールベース自動分類部342によるルールベース自動分類処理は、カテゴリ記憶部23に分類方法として設定されているルールベース自動分類に対応する。
自動分類制御部34は、決定された分類先候補カテゴリ集合(の各カテゴリ)の分類方法(当該分類先候補カテゴリ集合の各カテゴリを識別するためのカテゴリ番号に対応づけてカテゴリ記憶部23に設定されている分類方法)に基づいて、分類先候補カテゴリ集合および分類対象文書集合を対象に、事例ベース自動分類部341による事例ベース自動分類処理およびルールベース自動分類部342によるルールベース自動分類処理を制御する。これにより、自動分類制御部34は、当該分類対象文書集合の文書の各々を当該分類先候補カテゴリ集合の各カテゴリに分類する。つまり、自動分類制御部34は、分類対象文書の自動分類処理が適切かつ効率的に行われるように、2つの自動分類部(事例ベース自動分類部341およびルールベース自動分類部342)の処理順序または処理対象等を制御する。
なお、自動分類制御部34は、分類先候補カテゴリ集合の各カテゴリに分類対象文書集合の各文書を分類するにあたり、当該カテゴリに分類する文書は、当該カテゴリにの分類方法および分類基準を満たし、かつ、階層構造において当該カテゴリと直接的または間接的に上位の関係にある全てのカテゴリの分類方法および分類基準を満たす文書となるように、自動分類処理を制御する。
図3は、図2に示す文書記憶部22に記憶されている文書のデータ構造の一例を示す。ここでは、文書記憶部22には、文書220が記憶されているものとする。
図3に示すように、文書記憶部22に記憶されている文書には、当該文書を識別するためのユニークな識別子である文書番号が付与されている。図3に示す例では、文書220には、文書番号「D101」が付与されている。
また、文書記憶部22に記憶されている文書は、その目的または形式に従った属性およびテキストを持つ。図3に示す例では、文書220は、例えば自動車の不具合情報が記述された文書の一例である。この場合、文書220は、例えば「報告日」、「製造元」および「車種」の属性を持つ。また、文書220は、文書のテキスト、すなわち、日本語または英語等の自然言語で記述されたデータとして、「問題」および「対策」のテキストを持つ。
なお、文書記憶部22に記憶される文書は、例えば図4に示すように当該文書のデータをXML(eXtensible Markup Language)の形式で記述して記憶管理することも可能である。この場合は、図3で説明した属性またはテキストに相当するデータは、XMLの要素(タグ)または属性を用いて記述される。
図5〜図8は、図2に示すカテゴリ記憶部23に記憶されているカテゴリのデータ(当該カテゴリに関する情報)の一例を示す。図5〜図8に示すように、カテゴリ記憶部23に記憶されているカテゴリのデータには、カテゴリ番号に対応づけて上位カテゴリ番号、カテゴリ名、文書番号、分類方法および分類基準が含まれる。
カテゴリ番号は、カテゴリに付与される当該カテゴリを識別するためのユニークな識別子である。
上位カテゴリ番号は、例えば複数のカテゴリによって構成されるツリー形式の階層構造においてカテゴリ番号によって識別されるカテゴリと上位の関係にあるカテゴリ(上位カテゴリ)に付与されるカテゴリ番号である。上位カテゴリ番号は、階層構造における各カテゴリ間の上位下位関係を表すデータである。
カテゴリ名は、カテゴリ番号によって識別されるカテゴリの名称である。文書番号は、カテゴリ番号によって識別されるカテゴリに分類されている文書に付与された文書番号である。
分類方法は、カテゴリ番号によって識別されるカテゴリに文書を分類するための分類方法であり、事例ベース自動分類およびルールベース自動分類を含む。つまり、分類方法には、事例ベース自動分類およびルールベース自動分類という異なる2つの分類方法のいずれかを選択して設定することができる。なお、この事例ベース自動分類は上記した図1に示す事例ベース自動分類部341(による事例ベース自動分類処理)に対応するものであり、ルールベース自動分類はルールベース自動分類部342(によるルールベース自動分類処理)に対応するものである。
分類基準は、カテゴリ番号によって識別されるカテゴリに文書を分類するための基準であり、教師文書および分類ルールを含む。教師文書には、カテゴリ番号によって識別されるカテゴリに分類されている文書(を識別するための文書番号)のいずれかが設定される。分類ルールには、例えば所定の単語が文書中に出現することを示す条件等が設定される。
なお、カテゴリの分類方法として事例ベース自動分類が設定されている場合には、分類基準として教師文書が設定される。同様に、カテゴリの分類方法としてルールベース自動分類が設定されている場合には、分類基準として分類ルールが設定される。
図5は、カテゴリの階層構造におけるルートのカテゴリのデータの一例を示す。図5に示すカテゴリのデータには、カテゴリ番号「C001」に対応づけて上位カテゴリ番号「(なし)」、カテゴリ名「ルート」、文書番号「D001,D002,D003,D004,D005,D006,D007,…」、分類方法「ルールベース自動分類」および分類基準として分類ルール「true」が含まれている。
これによれば、カテゴリ番号「C001」によって識別されるカテゴリには文書番号「D001」〜「D007」等によって識別される文書が分類されていることが示される。なお、上記したようにカテゴリ番号「C001」によって識別されるカテゴリはルートのカテゴリであるため、上位カテゴリは存在しない。このため、上位カテゴリ番号は「(なし)」である。また、分類ルール「true(恒真)」は、全ての文書が条件を満足する(満たす)ルールである。
図6は、カテゴリの階層構造における図5に示すカテゴリと下位の関係にあるカテゴリ(図5に示すカテゴリの下位カテゴリ)のデータの一例を示す。図6に示すカテゴリのデータには、カテゴリ番号「C101」に対応づけて上位カテゴリ番号「C001」、カテゴリ名「燃料」、文書番号「D101,D105,D113,D116,D117,D122,D129,…」、分類方法「ルールベース自動分類」および分類基準として分類ルール「contains(./(問題|対策)//text(),””)」が含まれている。
これによれば、カテゴリ番号「C101」によって識別されるカテゴリには文書番号「D101」、「D105」、「D113」、「D116」、「D117」、「D122」および「D129」等によって識別される文書が分類されていることが示される。また、カテゴリ番号「C101」によって識別されるカテゴリの上位カテゴリが上位カテゴリ番号「C001」によって識別されるカテゴリであることが示される。また、分類ルール「contains(./(問題|対策)//text(),””)」は、上述したXML形式で記述された文書についての条件を示す。ここでは、XQuery(またはXPath)と呼ばれる問い合わせ言語を用いて記述されている。この分類ルール「contains(./(問題|対策)//text(),””)」は、例えば文書が持つテキスト「問題」または「対策」が「燃料」という語句(単語)を含むことを条件としたルールである。
なお、分類ルールの記述形式は、上記した文書記憶部22の実現方法または文書のデータの形式に応じて定めればよく、例えばSQL等が用いられてもよい。
図7は、カテゴリの階層構造における図5に示すカテゴリの下位カテゴリのデータの一例を示す。図7に示すカテゴリのデータには、カテゴリ番号「C203」に対応づけて上位カテゴリ番号「C001」、カテゴリ名「2008年」、文書番号「D101,D102,D103,D104,D105,D106,D107,…」、分類方法「ルールベース自動分類」および分類基準として分類ルール「./報告日 >= ”2008/01/01” and ./報告日 <= “2008/12/31”」が含まれている。
これによれば、カテゴリ番号「C203」によって識別されるカテゴリには文書番号「D101」〜「D107」等によって識別される文書が分類されていることが示される。また、カテゴリ番号「C203」によって識別されるカテゴリの上位カテゴリが上位カテゴリ番号「C001」によって識別されるカテゴリであることが示される。また、分類ルール「./報告日 >= ”2008/01/01” and ./報告日 <= “2008/12/31”」は、上記した図6に示す分類ルールと同様に、XQueryの条件式を用いて記述されており、文書の「報告日」が「2008年(の1/1〜12/31)」であることを条件としたルールである。
図8は、カテゴリの階層構造における図5に示すカテゴリの下位カテゴリのデータの一例を示す。図6に示すカテゴリのデータには、カテゴリ番号「C305」に対応づけて上位カテゴリ番号「C001」、カテゴリ名「タンク」、文書番号「D101,D113,D117,D129,…」、分類方法「事例ベース自動分類」および分類基準として教師文書「D101,D117,…」が含まれている。
これによれば、カテゴリ番号「C305」によって識別されるカテゴリには文書番号「D101」、「D113」、「D117」および「D129」等によって識別される文書が分類されていることが示される。また、カテゴリ番号「C305」によって識別されるカテゴリの上位カテゴリが上位カテゴリ番号「C001」によって識別されるカテゴリであることが示される。また、ここでは、教師文書としてカテゴリ番号「C305」によって識別されるカテゴリに分類されている文書のうちの文書番号「D101」および「D117」によって識別される文書等が設定されている。
なお、上記した図6に示すカテゴリ番号「C101」によって識別されるカテゴリは、上位カテゴリ番号「C001」によって識別されるカテゴリと階層構造において直接的に下位の関係にあるカテゴリである。同様に、図7に示すカテゴリ番号「C203」および図8に示すカテゴリ番号「C305」によって識別されるカテゴリは、上位カテゴリ番号「C001」によって識別されるカテゴリと階層構造において直接的に下位の関係にあるカテゴリである。
一方、例えば図6に示すカテゴリ番号「C101」によって識別されるカテゴリと直接的に下位の関係にあるカテゴリは、カテゴリ番号「C001」によって識別されるカテゴリと階層構造において間接的に下位の関係にあるカテゴリである。また、カテゴリ番号「C101」によって識別されるカテゴリと階層構造において間接的に下位の関係にあるカテゴリと更に直接的または間接的に下位の関係にあるカテゴリも、カテゴリ番号「C001」によって識別されるカテゴリと階層構造において間接的に下位の関係にあるカテゴリである。
ここでは、階層構造において直接的または間接的に下位の関係にあるカテゴリについて説明したが、階層構造において直接的または間接的に上位の関係にあるカテゴリについても同様である。
次に、図9のフローチャートを参照して、本実施形態に係る文書分類装置30の全体的な処理手順について説明する。
まず、カテゴリ操作部31は、ユーザの操作に応じて、当該ユーザからの各種要求(操作)を受け付ける。
このユーザからの各種要求には、例えばカテゴリの階層構造において新たなカテゴリの生成を要求するためのカテゴリ生成要求が含まれる。この場合、ユーザは、カテゴリ操作部31を用いて、実行すべきクラスタリング処理(文書クラスタリング処理または単語クラスタリング処理)および当該クラスタリング処理の対象となる文書集合を指定することができる。ユーザは、例えばカテゴリを指定することによって、当該カテゴリに分類されている文書を文書集合として指定することができる。
また、ユーザからの各種要求には、例えばカテゴリの分類方法(または分類基準)の変更を要求するための分類方法変更要求が含まれる。この場合、ユーザは、カテゴリ操作部31を用いて、分類方法を変更すべきカテゴリおよび当該分類方法(または分類基準)の変更内容を指定(選択)することができる。
また、ユーザからの各種要求には、例えばカテゴリの階層構造(分類構造)の編集を要求するためのカテゴリ編集要求が含まれる。この場合、ユーザは、カテゴリ操作部31を用いて、編集すべきカテゴリおよび当該編集内容(例えば、カテゴリの統合、移動、複製または削除等)を指定することができる。
また、ユーザからの各種要求には、例えば処理の終了を要求するための終了要求が含まれる。
カテゴリ操作部31は、ユーザからの要求(カテゴリ操作部31によって受け付けられた要求)がカテゴリ生成要求であるか否かを判定する(ステップS1)。
カテゴリ生成要求であると判定された場合(ステップS1のYES)、クラスタリング制御部32は、当該カテゴリ生成要求においてユーザによって指定された文書集合に対して、当該ユーザによって指定されたクラスタリング処理を実行する(ステップS2)。つまり、クラスタリング制御部32は、文書クラスタリング部321または単語クラスタリング部322を用いてクラスタリング処理(文書クラスタリング部321による文書クラスタリング処理または単語クラスタリング部322による単語クラスタリング処理)を実行する。このクラスタリング処理においては、文書集合中の部分集合(クラスタ)が生成される。
文書クラスタリング部321による文書クラスタリング処理においては、文書集合の文書の各々の特徴を表す特徴ベクトルに基づいて、互いに類似し合う文書からなる文書集合中の部分集合が生成される。
単語クラスタリング部322による単語クラスタリング処理においては、文書集合の文書の各々に含まれる複数の単語から当該各単語の出現頻度および当該各単語間の共起頻度に基づいて当該文書集合の内容を表す特徴的な単語が抽出され、当該抽出された単語を含む文書からなる文書集合中の部分集合が生成される。
なお、文書クラスタリング部321による文書クラスタリング処理および単語クラスタリング部322による単語クラスタリング処理の詳細については後述する。
次に、クラスタリング制御部32は、実行されたクラスタリング処理によって生成された文書集合中の部分集合(クラスタリング結果)をもとに、当該部分集合(の文書)が分類されるカテゴリを作成(生成)する(ステップS3)。この場合、クラスタリング制御部32によって作成されたカテゴリを識別するためのカテゴリ番号等がカテゴリ記憶部23に記憶される。
カテゴリ分類方法設定部33は、クラスタリング制御部32によって作成されたカテゴリの分類方法および分類基準を設定する(ステップS4)。なお、このステップS4におけるカテゴリの分類方法および分類基準の設定処理の詳細については後述する。ステップS4の処理が実行されると、ステップS1に戻って処理が繰り返される。
一方、上記したステップS1においてカテゴリ生成要求でないと判定された場合、カテゴリ操作部31は、ユーザからの要求が分類方法変更要求であるか否かを判定する(ステップS5)。
分類方法変更要求であると判定された場合(ステップS5のYES)、カテゴリ分類方法設定部33は、当該分類方法変更要求においてユーザによって指定されたカテゴリの変更内容および当該カテゴリに分類されている文書に基づいて、当該カテゴリの分類方法および分類基準をカテゴリ記憶部23に設定する(ステップS6)。具体的には、ユーザによって指定されたカテゴリを識別するためのカテゴリ番号に対応づけて、当該カテゴリの分類方法および分類基準がカテゴリ記憶部23に設定される。
これにより、カテゴリ分類方法設定部33は、ユーザによって指定されたカテゴリの分類方法および分類基準を変更する。
なお、ステップS6におけるカテゴリの分類方法および分類基準の設定処理の詳細については後述する。
次に、自動分類制御部34は、カテゴリ操作部31によって受け付けられた分類方法変更要求においてユーザによって指定されたカテゴリ(つまり、分類方法が変更されたカテゴリ)と直接的または間接的に上位または下位の関係(上位下位関係)にあるカテゴリの集合を分類先候補カテゴリ集合として決定し、当該分類先候補カテゴリ集合(のカテゴリの各々)に分類されている文書の集合を分類対象文書集合として決定する(ステップS7)。
自動分類制御部34は、決定された分類先候補カテゴリ集合および分類対象文書集合を対象に、ルールベース自動分類部342によるルールベース自動分類処理を実行する(ステップS8)。なお、ルールベース自動分類処理の詳細については後述する。
自動分類制御部34は、決定された分類先候補カテゴリ集合および分類対象文書集合を対象に、事例ベース自動分類部341による事例ベース自動分類処理を実行する(ステップS9)。このとき、自動分類制御部34は、ステップS8におけるルールベース自動分類処理結果に基づいて事例ベース自動分類処理を実行する。なお、事例ベース自動分類処理の詳細については後述する。
つまり、上記したようにユーザからの要求が分類方法変更要求である場合には、文書の自動分類処理(ルールベース自動分類処理および事例ベース自動分類処理)が実行される。ここでは、ユーザからの要求が分類方法変更要求である場合の大まかな流れとして、分類先候補カテゴリ集合および分類対象文書集合に対してルールベース自動分類処理が実行された後に事例ベース自動分類処理が実行されるものとして説明したが、このステップS8およびステップS9の処理の流れの詳細については後述する。
なお、上記したステップS9の処理が実行されると、ステップS1に戻って処理が繰り返される。
一方、上記したステップS5において分類方法変更要求でないと判定された場合、カテゴリ操作部31は、ユーザからの要求がカテゴリ編集要求であるか否かを判定する(ステップS10)。
カテゴリ編集要求であると判定された場合(ステップS10のYES)、カテゴリ分類方法設定部33は、当該カテゴリ編集要求においてユーザによって指定されたカテゴリの編集内容、当該カテゴリの分類方法および分類基準に基づいて、当該カテゴリに対する編集処理(具体的には、カテゴリの統合、移動、複製または削除等)を実行する。この場合、カテゴリ分類方法設定部33は、カテゴリ編集要求においてユーザによって指定されたカテゴリの分類方法および分類基準等を、当該カテゴリ編集要求における編集内容に応じてカテゴリ記憶部23に設定する。なお、カテゴリ編集処理の詳細については後述する。
次に、上記したステップS7〜ステップS9の処理と同様のステップS12〜ステップS14の処理が実行される。つまり、ユーザからの要求がカテゴリ編集要求である場合には、上記したユーザからの要求が分類方法変更要求である場合と同様に、文書の自動分類処理が実行される。なお、ステップS14の処理が実行されるとステップS1に戻って処理が繰り返される。
一方、上記したステップS10においてカテゴリ編集要求でないと判定された場合、カテゴリ操作部31は、ユーザからの要求が終了要求であるか否かを判定する(ステップS15)。
終了要求であると判定された場合(ステップS15のYES)、文書分類装置30の処理は終了される。一方、終了要求でないと判定された場合(ステップS15のNO)、ステップS1に戻って処理が繰り返される。
次に、図10のフローチャートを参照して、上述した文書クラスタリング部321による文書クラスタリング処理において用いられる文書の特徴を表す特徴ベクトル(以下、文書の特徴ベクトルと表記)を算出する処理手順について説明する。
なお、後述するが、図10に示す処理において算出される文書の特徴ベクトルは、事例ベース自動分類部341による事例ベース自動分類処理においても用いられる。
つまり、図10に示す処理は、主に文書クラスタリング部321および事例ベース自動分類部341によって実行される汎用的な処理である。ここでは、図10に示す処理は、文書クラスタリング部321によって実行されるものとして説明する。
以下、図10に示す処理の対象となる文書(つまり、特徴ベクトルを算出する文書)を文書dとする。また、文書dを含む文書集合を文書集合Dとする。また、図10に示す処理において算出される文書dの特徴ベクトルを特徴ベクトルvdと称する。なお、文書dは、文書記憶部22に記憶されている文書であるものとする。
まず、文書クラスタリング部321は、文書記憶部22から文書dを取得する。文書クラスタリング部321は、取得された文書dから特徴ベクトルvdを算出する対象となるテキストを(以下、対象テキストと表記)を取得する(ステップS21)。図3に示す文書220においては、対象テキストとして例えば「問題」および「対策」のテキストが取得される。
次に、文書クラスタリング部321は、取得された対象テキストを形態素解析する(ステップS22)。文書クラスタリング部321は、形態素解析結果に基づいて、取得された対象テキストに含まれる単語および当該単語の品詞を取得する。
文書クラスタリング部321は、取得された各単語(以下、単語tと表記)について以下のステップS24〜ステップS29の処理を繰り返し実行する(ステップS23)。
文書クラスタリング部321は、単語tの品詞が所定の品詞に該当するか否かを判定する(ステップS24)。ここで、所定の品詞とは、例えば名詞、サ変名詞および固有名詞をいう。つまり、例えば接続詞および副詞等は所定の品詞には該当しないものとする。
単語tの品詞が所定の品詞であると判定された場合(ステップS24のYES)、文書クラスタリング部321は、単語tが予め定められた不要語に該当するか否かを判定する(ステップS25)。例えば図3に示す文書220のような自動車の不具合に関する文書を処理対象とする場合には、例えば「自動車」および「不具合」のような単語は当該文書の特徴を表さないため、予め不要語として設定されている。
単語tが予め定められた不要語に該当しないと判定された場合(ステップS25のNO)、文書クラスタリング部321は、取得された対象テキスト中で単語tが出現する頻度(出現頻度tf)を算出する(ステップS26)。
次に、文書クラスタリング部321は、文書集合D(に含まれる文書)の中で単語tが出現する文書数dfを算出する(ステップS27)。
文書クラスタリング部321は、算出された出現頻度tfおよび文書数dfを用いて、計算式「tf*(log(|D|/df)+1)」の値を算出する(ステップS28)。ここで、|D|は、文書集合Dの文書数である。
この計算式は、TF/IDFと呼ばれ、例えば情報検索または文書分類の分野において広く使用されているものである。このTF/IDFによれば、単語tが文書dに出現する頻度が多い(つまり、tfの値が大きい)ほど、また、文書集合Dの全文書のうち単語tを含む文書(単語tが出現する文書)が少ない(つまり、dfの値が小さい)ほど、TF/IDFの値が大きくなり、当該単語tは文書dの特徴を適切に表す単語であるとみなされる。
文書クラスタリング部321は、単語tを文書dの特徴ベクトルvdにおける1つの次元としステップS28において算出された値(TF/IDFの値)を当該次元の値とする(ステップS29)。
次に、上記した形態素解析により得られた各単語t(対象テキストに含まれる単語t)について繰り返し処理が実行されると、文書クラスタリング部321は、算出された文書dの特徴ベクトルvdの各次元の値を、当該特徴ベクトルvdのノルム|vd|で割ることによって正規化する(ステップS30)。つまり、正規化された特徴ベクトルvd(t)=vd(t)/|vd|となる。この結果、文書dの特徴ベクトルvdは、文書dによらず、ノルムが1のベクトルとなる。
なお、ステップS24において単語tの品詞が所定の品詞でないと判定された場合、およびステップS25において単語tが予め定められた不要語に該当すると判定された場合、ステップS23に戻って処理が繰り返される。
上記したように図10に示す処理が実行されることにより、文書dに対する形態素解析により得られた全ての単語のうち、所定の品詞であり、かつ、不要語でない単語を次元とする文書dの特徴ベクトルvdが算出(生成)される。
なお、上記したステップS27における単語tが出現する文書数dfを算出する処理においては、例えば情報検索における転置ファイルのような手段を用いることにより処理の効率を向上させる構成であっても構わない。
ここで、図11は、上述した図3に示す文書220に対して図10に示す処理が実行されることにより算出された当該文書220の特徴ベクトルの一例を示す。図11に示す文書220の特徴ベクトル221おいては、便宜的に、値が0である次元(すなわち、文書220には出現していない単語)は示されておらず、また、単語の重み(次元の値)の大きい順に記述されている。
図3に示す文書220(の「問題」および「対策」のテキスト)において、例えば「タンク」という単語は3回と他の単語と比較して多く出現している(つまり、出現頻度tf=3)。この場合、図11に示す文書220の特徴ベクトル221における単語「タンク」の重みは0.51である。
一方、文書220において、例えば「底板」という単語の出現回数は2回(つまり、出現頻度tf=2)であるが、ここでは、文書集合D中において単語「底板」が出現する文書数dfが単語「タンク」の文書数dfよりも小さいものとしているため、文書220の特徴ベクトル221における当該単語「底板」の重みは0.52と最も大きくなっている。
また、文書220において、例えば「おそれ」という単語は1回だけ出現し(つまり、出現頻度tf=1)、また、文書数dfも大きいものとしているため、文書220の特徴ベクトル221における単語「おそれ」の重みは0.08と最小になっている。
次に、図12のフローチャートを参照して、カテゴリ(またはクラスタ)の特徴を表す特徴ベクトル(以下、カテゴリの特徴ベクトルと表記)を算出する処理手順について説明する。
図12の処理において算出されるカテゴリの特徴ベクトルは、文書クラスタリング部321による文書クラスタリング処理および事例ベース自動分類部341による事例ベース自動分類処理において用いられる。
つまり、図12に示す処理は、主に文書クラスタリング部321および事例ベース自動分類部341によって実行される汎用的な処理である。ここでは、図12に示す処理は、文書クラスタリング部321によって実行されるものとして説明する。
以下、図12に示す処理の対象となるカテゴリ(つまり、特徴ベクトルを算出するカテゴリ)をカテゴリcとする。なお、図12に示す処理において算出されるカテゴリの特徴ベクトルを特徴ベクトルvcと称する。
まず、文書クラスタリング部321は、カテゴリ記憶部23を参照して、上記したカテゴリcに分類されている文書の集合(カテゴリcの文書集合)を文書集合Dcとする(ステップS31)。カテゴリcに分類されている文書は、カテゴリcを識別するためのカテゴリ番号に対応づけてカテゴリ記憶部23に記憶されている文書番号によって識別される文書である。例えば図8に示すカテゴリのデータによれば、カテゴリ番号「C305」によって識別されるカテゴリに分類されている文書は、文書番号「D101」および「D113」等によって識別される文書である。
なお、ステップS31においては、カテゴリcに分類されている文書の集合を文書集合Dcとするが、後述する事例ベース自動分類処理のように例えばカテゴリcの教師文書を対象とする場合には、当該カテゴリcを識別するためのカテゴリ番号に対応づけてカテゴリ記憶部23に設定されている教師文書の集合が文書集合Dcとされる。
文書クラスタリング部321は、カテゴリcの特徴ベクトルvcの初期値を空(つまり、全ての次元の値を0)とする(ステップS32)。
次に、文書クラスタリング部321は、文書集合Dc中の各文書(以下、文書dと表記)について、以下のステップS34およびステップS35の処理を繰り返し実行する(ステップS33)。
文書クラスタリング部321は、文書集合Dcにおける文書dの特徴ベクトルvdを算出する(ステップS34)。この場合、文書クラスタリング部321は、上述した図10に示す処理を実行することにより、文書dの特徴ベクトルvdを算出する。
文書クラスタリング部321は、算出された文書dの特徴ベクトルvdをカテゴリcの特徴ベクトルvcに加算する(ステップS35)。つまり、カテゴリcの特徴ベクトルvc=vc+vdとする。
次に、文書集合Dc中の各文書dについて繰り返し処理が実行されると、カテゴリcの特徴ベクトルvcが算出される。つまり、カテゴリcの単語ベクトルvcは、文書集合Dcに含まれる文書(カテゴリcに分類されている文書)毎に生成された特徴ベクトルvdを合計することによって算出される。
以下、文書集合に対するクラスタリング処理の流れについて説明する。本実施形態に係る文書分類装置30においては、文書クラスタリング部321および単語クラスタリング部322が備えられており、上述した図9に示すステップS2において文書クラスタリング処理または単語クラスタリング処理が実行される。
なお、以下の説明では、クラスタリング処理によって生成されるデータ(文書集合中の部分集合)をクラスタと称する。このクラスタは、文書集合を表す点ではカテゴリと同等であるが、以下では両者を区別して説明する。すなわち、カテゴリは、分類階層を表す要素として例えば図3において説明した形式でカテゴリ記憶部23に記憶されるデータであるものとする。これに対して、クラスタは、クラスタリング処理の結果として生成される一時的なデータである。
まず、図13および図14のフローチャートを参照して、図2に示す文書クラスタリング部321による文書クラスタリング処理の処理手順について説明する。
本実施形態に係る文書分類装置30においては、文書クラスタリング処理の手法として、例えばleader−follower法と呼ばれる比較的単純なクラスタリング手法が用いられるものとする。なお、このクラスタリング手法以外の手法が用いられても構わない。
まず、文書クラスタリング部321は、文書クラスタリング処理の対象となる文書の集合を文書集合D、分類先となるクラスタの集合をクラスタ集合Cとする(ステップS41)。後述するように、文書クラスタリング処理の対象となる文書集合Dは、例えばユーザによって指定されたカテゴリに分類されている文書の集合である。なお、クラスタ集合Cの初期値は空集合とする。
次に、文書クラスタリング部321は、文書集合D中の各文書(以下、文書dと表記)について以下のステップS43〜ステップS58の処理を繰り返し実行する(ステップS42)。
文書クラスタリング部321は、文書集合Dにおける文書dの特徴ベクトルvdを算出する(ステップS43)。この場合、文書クラスタリング部321は、上述した図10に示す処理を実行することにより、文書dの特徴ベクトルvdを算出する。
文書クラスタリング部321は、後述するsmaxの初期値を0(つまり、smax=0)とする(ステップS44)。
文書クラスタリング部321は、クラスタ集合C中の各クラスタ(以下、クラスタcと表記)について以下のステップS46〜ステップS51の処理を繰り返し実行する(ステップS45)。このとき、後述する文書dの分類先となるクラスタcmaxの初期値を「なし」とする。
文書クラスタリング部321は、クラスタcの特徴ベクトルvcを算出する(ステップS46)。この場合、文書クラスタリング部321は、上述した12に示す処理を実行することにより、クラスタcの特徴ベクトルvcを算出する。
文書クラスタリング部321は、ステップS43において算出された文書dの特徴ベクトルvdおよびステップS46において算出されたクラスタcの特徴ベクトルvcに基づいて、当該文書dとクラスタcとの類似度(以下、類似度sと表記)を算出する(ステップS47)。
ここで、文書クラスタリング部321は、文書dとクラスタcとの類似度sとして、文書dの特徴ベクトルvdとクラスタcの特徴ベクトルvcとの類似度sを算出する。文書dの特徴ベクトルvdとクラスタcの特徴ベクトルvcとの類似度sは、当該ベクトルの余弦、すなわち、(vd・vc)/(|vd|*|vc|)によって算出される。vd・vcは、ベクトルの内積を表す。|vd|等は、ベクトルのノルムを表す。
次に、文書クラスタリング部321は、算出された類似度sが予め定められた値(以下、閾値sminと表記)以上(つまり、smin≦s)であるか否かを判定する(ステップS48)。
類似度sが閾値smin以上であると判定された場合(ステップS48のYES)、文書クラスタリング部321は、当該類似度sが上記したsmaxより大きいか否かを判定する(ステップS49)。
類似度sがsmaxより大きいと判定された場合(ステップS49のYES)、文書クラスタリング部321は、文書dの分類先となるクラスタcmaxをクラスタc(つまり、cmax=c)とする(ステップS50)。
また、文書クラスタリング部321は、smax=s(ステップS47において算出された類似度s)とする(ステップS51)。
なお、上記したステップS48において類似度sが閾値smin以上でないと判定された場合、およびステップS49において類似度sがsmax以下であると判定された場合には、ステップS45に戻って処理が繰り返される。
このように、クラスタ集合Cに含まれるクラスタcについて処理が繰り返されると、文書dとの類似度sが最大、かつ、当該類似度sが閾値smin以上であるクラスタがクラスタcmax(文書dの分類先)とされる。
クラスタ集合C中の各クラスタcについて繰り返し処理が実行されると、文書クラスタリング部321は、クラスタcmaxが存在するか否かを判定する(ステップS52)。なお、上記したようにクラスタ集合Cが空集合(つまり、初期値)である場合には、処理すべきクラスタcが存在しないため上記したステップS46〜ステップS51の処理は実行されず、クラスタcmaxは存在しないと判定される。また、例えばクラスタ集合Cに含まれるクラスタcと文書dとの類似度sが全て閾値smin未満である場合には、クラスタcmaxは存在しないと判定される。
クラスタcmaxが存在すると判定された場合(ステップS52のYES)、文書クラスタリング部321は、文書dを当該クラスタcmaxに分類する(ステップS53)。
次に、文書クラスタリング部321は、クラスタcmaxの特徴ベクトル(以下、クラスタcmaxの特徴ベクトルvcmaxと表記)を再計算する(ステップS54)。この場合、文書クラスタリング部321は、文書dを分類する前のクラスタcmaxの特徴ベクトルvcmaxに、文書dの特徴ベクトルvdを加算することで、クラスタcmaxの特徴ベクトルvcmaxを再計算する。すなわち、上述した図12で説明したように、クラスタの特徴ベクトルは、当該クラスタに分類された文書の特徴ベクトルの和であるため、クラスタcmaxの特徴ベクトルvcmaxに文書dの特徴ベクトルvdを加えた結果が、文書dの分類後のクラスタcmaxの特徴ベクトルvcmaxとなる。
一方、クラスタcmaxが存在しないと判定された場合(ステップS52のNO)、文書クラスタリング部321は、文書dの分類先となるクラスタ(以下、クラスタcnewと表記)を新規に作成する(ステップS55)。
文書クラスタリング部321は、作成されたクラスタcnewをクラスタ集合Cに追加する(ステップS56)。
文書クラスタリング部321は、文書dをクラスタcnewに分類する(ステップS57)。
文書クラスタリング部321は、クラスタcnewの特徴ベクトル(以下、クラスタcnewの特徴ベクトルvcnewと表記)を文書dの特徴ベクトルvd(つまり、クラスタcnewの特徴ベクトルvcnew=vd)とする(ステップS58)。この時点では、クラスタcnewに分類されている文書は文書dただ1つであるため、この場合のクラスタcnewの特徴ベクトルvcnewは、文書dの特徴ベクトルvdと等しい。
文書集合D中の各文書dについて繰り返し処理が実行されると、後述するステップS59の処理が実行される。
例えば上記したステップS55において新規に作成されたクラスタであっても、ただ1つの文書しか分類されていないようなクラスタは、クラスタとして意味をなさない。このため、文書クラスタリング部321は、上記したステップS55において新規に作成されたクラスタであって、当該クラスタに分類されている文書数が予め定められた数(以下、閾値nminと表記)未満であるクラスタを削除する(ステップS59)。この閾値nminは、例えば2としてもよいし、文書数が5未満のクラスタ(カテゴリ)が不要であるとする場合には5としてもよい。
上記したように、文書クラスタリング部321による文書クラスタリング処理においては、文書集合Dに含まれる文書が分類されるクラスタが新たに生成される。
次に、図15〜図17のフローチャートを参照して、図2に示す単語クラスタリング部322による単語クラスタリング処理の処理手順について説明する。
本実施形態に係る文書分類装置30においては、単語クラスタリング処理の手法として、例えば単語の共起頻度に基づいた比較的高速な手法が用いられるものとする。なお、このクラスタリング手法以外の手法が用いられても構わない。
単語クラスタリング部322は、単語クラスタリング処理の対象となる文書集合D中の少なくとも1つの文書dに出現する単語の集合を単語集合Tとする(ステップS61)。つまり、単語集合Tは、文書集合D中の各文書dのテキストを形態素解析した結果(得られた単語)の和集合である。後述するように、単語クラスタリング処理の対象となる文書集合Dは、例えばユーザによって指定されたカテゴリに分類されている文書の集合である。
単語クラスタリング部322は、単語集合T中の単語の各々(以下、単語tと表記)について以下のステップS63〜ステップS67の処理を実行する(ステップS62)。
単語クラスタリング部322は、単語tの品詞が所定の品詞に該当するか否かを判定する(ステップS63)。ここで、所定の品詞とは、例えば名詞、サ変名詞および固有名詞をいう。
単語tの品詞が所定の品詞であると判定された場合(ステップS63のYES)、単語クラスタリング部322は、単語tが予め定められた不要語に該当するか否かを判定する(ステップS64)。上記した文書集合Dに含まれる文書dの特徴を表さないような単語が不要語として設定されている。
単語tが予め定められた不要語に該当しないと判定された場合(ステップS64のNO)、単語クラスタリング部322は、文書集合Dの中で単語tが出現する文書数dfを算出する(ステップS65)。
次に、単語クラスタリング部322は、算出された文書数dfが予め定められた所定の範囲内(dfmin≦df≦dfmax)であるか否かを判定する(ステップS66)。
文書数dfが所定の範囲内でないと判定された場合(ステップS66のNO)、単語クラスタリング部322は、単語tを単語集合Tから除く(ステップS67)。
一方、文書数dfが所定の範囲内であると判定された場合(ステップS66のYES)、ステップS67の処理は実行されず、ステップS62に戻って処理が繰り返される。
一般に、文書数dfが小さい単語は、文書集合の主要な内容を表す単語ではなく、また、他の単語と共起して出現することも稀である。あるいは、その共起性は統計的に有意なものではない。逆に文書数dfが極度に大きい単語は、どの文書にもよく出現する単語であるため、文書集合の内容を適切に表す特徴的な(峻別性のある)単語ではない場合が多い。このため、ステップS66およびステップS67においては、採用すべき単語ではない可能性の高い単語が大まかに除かれる。
なお、ステップS63において単語tの品詞が所定の品詞でないと判定された場合、およびステップS64において単語tが予め定められた不要語に該当すると判定された場合、ステップS62に戻って処理が繰り返される。
単語集合T中の各単語tについて繰り返し処理が実行されると、単語クラスタリング部322は、単語集合T中の各単語(以下、単語tiと表記)について以下のステップS69〜ステップS77の処理を繰り返し実行する(ステップS68)。
単語クラスタリング部322は、単語tiのスコアsiの初期値を0(つまり、si=0)とする(ステップS69)。
単語クラスタリング部322は、上記した文書集合D(に含まれる文書)の中で単語tiが出現する文書集合中の部分集合(以下、部分集合Diと表記)を算出する(ステップS70)。
次に、単語クラスタリング部322は、単語集合Tの単語であって単語tiとは異なる単語tj(ただし、i≠j)の各々について以下のステップS71〜ステップS77の処理を繰り返し実行する(ステップS71)。
単語クラスタリング部322は、文書集合Dの中で単語tjが出現する文書集合D中の部分集合(以下、部分集合Djと表記)を算出する(ステップS72)。
単語クラスタリング部322は、ステップS70において算出された部分集合DiおよびステップS72において算出された部分集合Djの積集合(以下、積集合Dijと表記)を算出する(ステップS73)。すなわち、積集合Dijは、文書集合Dの中で単語tiおよび単語tj(の両方)が出現する文書集合D中の部分集合である。
以下の処理においては、このようにして算出された部分集合Di、部分集合Djおよび積集合Dijを用いて、単語tiおよび単語tjの関連度(以下、関連度rijと表記)が算出される。
まず、単語クラスタリング部322は、単語tiおよび単語tjの関連度rijの初期値を0(つまり、関連度rij=0)とする(ステップS74)。
次に、単語クラスタリング部322は、文書集合D中における単語tiおよび単語tjの出現頻度に有意な相関があるか否かを判定する(ステップS75)。
この場合、単語クラスタリング部322は、例えば次式(1)で示すように、X二乗検定等の検定手法を用いて判定処理を実行する。
この式(1)における例えば|Dij|は上記した積集合(文書集合)Dijの文書数であり、例えばDi−Djは上記した部分集合Diおよび部分集合Djの差集合を表す。
式(1)の計算結果xijが、例えば1自由度のX二乗分布の5%水準での値である7.88以上であれば、単語tiおよび単語tjの文書集合D中での出現頻度には統計的に有意な相関があるものとする。
上記した式(1)を用いることにより単語tiおよび単語tjの出現頻度に有意な相関がないと判定された場合(ステップS75のNO)、ステップS71に戻って処理が繰り返される。
一方、単語tiおよび単語tjの出現頻度に有意な相関があると判定された場合(ステップS75のYES)、単語クラスタリング部322は、単語tiおよび単語tjの関連度rijとして相互情報量(の値)を算出する(ステップS76)。この相互情報量は、次式(2)によって計算される。
次に、単語クラスタリング部322は、上記した単語tiのスコアsiに、算出された関連度rijを加算する(ステップS77)。つまり、スコアsi=スコアsi+関連度rijとされる。
なお、上記したステップS77においては、単語tiおよび単語tjに正の相関がある場合も、負の相関がある場合も、スコアsiに正の値(関連度rij)を加算する。すなわち、このスコアsiが大きい単語は、他の多くの単語と共起して出現することから、それらの単語群によって、文書集合中の部分集合の内容を適切に表すような単語であるとみなすことができるとともに、他の多くの単語と排他的に出現することから別の文書集合中の部分集合に対して峻別性の高い単語であるともみなすことができる。
単語集合T中の各単語tjについて繰り返し処理が実行されると、単語集合T中の単語tiの1つについての処理が終了される。
単語集合T中の各単語tiについて繰り返し処理が実行されると、単語クラスタリング部322は、上記したように単語集合Tの各単語のスコアsiを参照して、当該スコアsiの大きさが上位m位以内の単語を採用し、残りの単語(スコアsiが上位m位以内でない単語)は単語集合Tから除く(ステップS78)。つまり、ステップS78の処理後の単語集合Tは、m個の単語の集合となる。
以上のステップS68〜ステップS78の処理により、単語同士の共起頻度に基づいて、採用すべき単語がより詳細に選別され、かつ、各単語間の関係(つまり、関連度)が算出される。
以下の処理においては、このようにして選別された単語集合T(の各単語)を用いて、新たにクラスタが生成される。
単語クラスタリング部322は、単語集合T中の各単語(単語ti)について以下のステップS80〜ステップS86の処理を繰り返し実行する(ステップS79)。
単語クラスタリング部322は、単語tiに対応するクラスタとして、文書集合Dの中で単語tiが出現する文書集合D中の部分集合Diを有するクラスタ(当該部分集合Diの文書が分類されたクラスタ)ciを作成する(ステップS80)。この部分集合Diは、上記したステップS70において算出された部分集合Diと同一である。
次に、単語クラスタリング部322は、単語tiのスコアsiよりスコアが小さい単語(以下、単語tjと表記)を、単語集合Tの中から特定する(ステップS81)。つまり、単語tjのスコアをスコアsjとすると、スコアがsj<siである単語tjを特定する。このsj<siの条件は、単語tjとして、単語tiよりも詳細な話題または下位の概念を表す単語を選ぶ目的で設けられている。
単語クラスタリング部322は、特定された各単語tjについて以下のステップS83〜ステップS86の処理を繰り返し実行する(ステップS82)。
単語クラスタリング部322は、単語tiおよび単語tjの出現に正の相関があるか否かを判定する(ステップS83)。正の相関があるとは、次式(3)で示すように、文書集合Dにおいて単語tiが出現する割合よりも、部分集合Dj(文書集合Dの中で単語tjが出現する文書集合D中の部分集合)において単語tiが出現する割合の方が大きい場合をいう。
なお、相関の有意性については、上記したステップS75において判定済みである(相関がなければ関連度rij=0)。
上記した式(3)を用いて単語tiおよび単語tjの出現に正の相関があると判定された場合(ステップS83のYES)、単語クラスタリング部322は、単語tiおよび単語tjの関連度rijが他の単語tj(との関連度)と比較して上位n位以内であるか否かを判定する(ステップS84)。
単語tiおよび単語tjの関連度rijが上位n位以内であると判定された場合(ステップS84のYES)、単語クラスタリング部322は、単語tiおよび単語tjがともに出現する文書集合D中の部分集合Dijを持つクラスタcijを作成する(ステップS85)。この部分集合Dijは、上記したステップS71において算出された積集合Dijと同一である。
次に、単語クラスタリング部322は、ステップS85において作成されたクラスタcijをステップS79において作成されたクラスタciの下位クラスタとする(ステップS86)。
ステップS80において特定された各単語tjについて繰り返し処理が実行されると、単語集合T中の単語tiの1つについての処理が終了される。
単語集合T中の各単語tiの全てについて繰り返し処理が実行されると、単語クラスタリング処理は終了される。
なお、上記したステップS83において単語tiおよび単語tjの出現に正の相関がないと判定された場合、およびステップS84において単語tiおよび単語tjの関連度rijが上位n位以内でないと判定された場合、ステップS82に戻って処理が繰り返される。
ここでは、ステップS79〜ステップS86の処理によりクラスタciおよび当該クラスタciの下位クラスタであるクラスタcijの2階層のクラスタが作成されるものとして説明したが、例えばこの処理を変形することで、例えば3階層以上のクラスタを再帰的に作成することも可能であるし、ステップS82〜ステップS86の処理を省略することによって1階層のみのクラスタを作成することも容易に行うことができる。
以下、文書集合に対する自動分類処理の流れについて説明する。本実施形態に係る文書分類装置30においては、事例ベース自動分類部341およびルールベース自動分類部342が備えられており、上述した図9に示すステップS13においてルールベース自動分類処理が実行され、ステップS14において事例ベース自動分類処理が実行される。
まず、図18のフローチャートを参照して、図2に示す事例ベース自動分類部341による事例ベース自動分類処理の処理手順について説明する。
事例ベース自動分類部341は、事例ベース自動分類処理における分類先候補カテゴリの集合を分類先候補カテゴリ集合C、分類対象となる文書(分類対象文書)の集合を分類対象文書集合Dとする(ステップS91)。分類先候補カテゴリ集合は、分類方法として事例ベース自動分類が設定され、分類基準として教師文書が設定されているカテゴリの集合であって、ユーザの操作に応じて自動分類制御部34によって決定される。この分類先候補カテゴリの決定処理の詳細については、後述する。また、分類対象文書集合は、自動分類制御部34によって決定された分類先候補カテゴリ集合の各分類先候補カテゴリに分類されている文書の集合である。
次に、事例ベース自動分類部341は、分類先候補カテゴリ集合C中の各分類先候補カテゴリ(以下、分類先候補カテゴリcと表記)について以下のステップS93およびステップS94の処理が繰り返し実行される(ステップS92)。
事例ベース自動分類部341は、カテゴリ記憶部23を参照して、分類先候補カテゴリcの教師文書(当該分類先候補カテゴリcを識別するためのカテゴリ番号に対応づけてカテゴリ記憶部23に設定されている教師文書)および当該分類先候補カテゴリcと直接的または間接的に下位の関係にあるカテゴリの教師文書(当該カテゴリを識別するためのカテゴリ番号に対応づけてカテゴリ記憶部23に設定されている教師文書)の和集合を教師文書集合Dcとする(ステップS93)。すなわち、事例ベース自動分類処理においては、分類先候補カテゴリcの下位カテゴリの教師文書も、当該分類先候補カテゴリc自体の教師文書とみなして自動分類が行われる。
事例ベース自動分類部341は、教師文書集合Dcを用いて、分類先候補カテゴリcの特徴ベクトルvcを算出する(ステップS94)。事例ベース自動分類部341は、図12に示す処理を実行することにより、分類先候補カテゴリcの特徴ベクトルvcを算出する。具体的には、教師文書集合Dcの教師文書の各々の特徴ベクトルが加算されることにより、分類先候補カテゴリcの特徴ベクトルvcが算出される。
つまり、ステップS93およびステップS94の処理が繰り返されることにより、分類先候補カテゴリ集合C中の各分類先候補カテゴリcの特徴ベクトル(vc)が算出される。
分類先候補カテゴリ集合C中の各分類先候補カテゴリcについて繰り返し処理が実行されると、事例ベース自動分類部341は、分類対象文書集合D中の各分類対象文書(以下、分類対象文書dと表記)について以下のステップS95〜ステップS101の処理を繰り返し実行する(ステップS95)。
以下の処理においては、分類対象文書dを分類すべき適切なカテゴリを求めることができる。
事例ベース自動分類部341は、分類対象文書dの分類先となるカテゴリの集合(以下、分類先カテゴリ集合Cdと表記)の初期値を空集合とする(ステップS96)。
事例ベース自動分類部341は、分類対象文書dの特徴ベクトルvdを算出する(ステップS97)。この場合、事例ベース自動分類部341は、上述した図10に示す処理を実行することにより、分類対象文書dの特徴ベクトルvdを算出する。
次に、事例ベース自動分類部341は、分類先候補カテゴリ集合C中の各分類先候補カテゴリ(分類先候補カテゴリc)について以下のステップS99〜ステップS101の処理を繰り返し実行する(ステップS98)。
事例ベース自動分類部341は、上記したステップS94において算出された分類先候補カテゴリcの特徴ベクトルvcおよびステップS97において算出された分類対象文書dの特徴ベクトルvdに基づいて、当該分類先候補カテゴリcと分類対象文書dとの類似度(以下、類似度sと表記)を算出する(ステップS99)。この場合、上述した図13に示すステップS47と同様に、ベクトルの余弦等を用いて類似度sが算出される。
次に、事例ベース自動分類部341は、算出された類似度sが閾値smin以上(つまり、smin≦s)であるか否かを判定する(ステップS100)。
類似度sが閾値smin以上でないと判定された場合(ステップS100のNO)、ステップS98に戻って処理が繰り返される。
一方、類似度sが閾値smin以上であると判定された場合(ステップS100のYES)、事例ベース自動分類部341は、分類先カテゴリ集合Cdに分類先候補カテゴリcを追加する(ステップS101)。
分類先候補カテゴリ集合C中の各分類先候補カテゴリcについて繰り返し処理が実行されると、分類対象文書集合D中の分類対象文書dの1つについての処理が終了される。
分類対象文書集合D中の各分類対象文書dの全てについて繰り返し処理が実行されると、事例ベース自動分類処理は終了される。
上記したように事例ベース自動分類処理が実行されると、分類対象文書集合D中の各文書に対して、当該文書が分類されるべきカテゴリの集合(分類先カテゴリ集合Cd)を求めることができる。
なお、分類対象文書集合Dに含まれる各文書を、上記した事例ベース自動分類処理で求められた当該文書に対する分類先カテゴリ集合Cdに含まれるカテゴリの全てに分類するのが適切であるとは限らない。そのため、後述するように、自動分類制御部34においては適切な分類がなされるような制御が実行される。
次に、図19のフローチャートを参照して、図2に示すルールベース自動分類部342によるルールベース自動分類処理の処理手順について説明する。
ルールベース自動分類部342は、ルールベース自動分類処理における分類先候補カテゴリの集合のうち、階層構造における最上位の分類先候補カテゴリをc(分類先候補カテゴリc)とし、分類対象文書の集合を分類対象文書集合Dとする(ステップS111)。分類先候補カテゴリ(の集合)および分類対象文書(の集合)は、ユーザの操作に応じて自動分類制御部34によって決定され、当該自動分類制御部34から与えられる。
次に、ルールベース自動分類部342は、分類先候補カテゴリcに分類される文書集合(分類対象文書の集合)Dcの初期値を空集合とする(ステップS112)。
ルールベース自動分類部342は、カテゴリ記憶部23を参照して、分類先候補カテゴリcの分類方法がルールベース自動分類であるか否かを判定する(ステップS113)。ルールベース自動分類部342は、分類先候補カテゴリcを識別するためのカテゴリ番号に対応づけてカテゴリ記憶部23に設定されている分類方法を参照することにより判定処理を実行する。
分類先候補カテゴリcの分類方法がルールベース自動分類であると判定された場合(ステップS113のYES)、ルールベース自動分類部342は、分類対象文書集合Dにおいて、当該分類先候補カテゴリcの分類基準である分類ルールを満たす(当該分類ルールに合致する)文書集合D中の部分集合(分類対象となる文書集合Dの部分集合)を文書集合Dcとする(ステップS114)。
一方、分類先候補カテゴリcの分類方法がルールベース自動分類でない(つまり、事例ベース自動分類である)と判定された場合(ステップS113のNO)、ルールベース自動分類部342は、ルールベース自動分類処理においては当該分類先候補カテゴリcに分類すべき文書集合を求めず、暫定的に分類対象文書集合D(すなわち、現在対象としている全ての文書の集合)を文書集合Dcとする(ステップS115)。
ステップS114またはステップS115の処理が実行されると、ルールベース自動分類部342は、文書集合Dcが空集合であるか否かを判定する(ステップS116)。ここで、文書集合Dcが空集合であると判定される場合とは、ステップS114において分類対象文書集合Dに含まれる全ての文書が分類ルールを満たさない場合である。
文書集合Dcが空集合であると判定された場合(ステップS116のYES)、分類先候補カテゴリcの下位カテゴリに分類すべき文書が存在しないことになるため、ルールベース自動分類処理は終了される。
一方、文書集合Dcが空集合でないと判定された場合(ステップS116のNO)、ルールベース自動分類部342は、カテゴリ記憶部23を参照して、分類先候補カテゴリcの各下位カテゴリ(分類先候補カテゴリcと直接的に下位の関係にあるカテゴリ)(以下、下位カテゴリccと表記)についてステップS118の処理を繰り返し実行する(ステップS117)。
ルールベース自動分類部342は、下位カテゴリccを分類先候補カテゴリc、上記した文書集合Dcを分類対象文書集合Dとして、上記した処理(ステップS112〜ステップS116の処理)を再帰的に実行する(ステップS118)。
なお、分類先候補カテゴリcの各下位カテゴリccについて繰り返し処理が実行されると、ルールベース自動分類処理は終了される。
上記したように、ルールベース自動分類処理においては、ステップS111における分類先候補カテゴリの最上位のカテゴリおよび当該カテゴリと直接的または間接的に下位の関係にあるカテゴリの各々について、当該カテゴリに分類すべき文書の集合が求まることになる。ただし、ステップS115においては、事例ベース自動分類によって分類すべき文書をこのルールベース自動分類処理で決定することは留保している。
以下、ユーザがカテゴリ操作部31を用いてカテゴリ階層構造に対して種々の操作を行った場合の文書分類装置30の処理の流れについて説明する。
まず、図20のフローチャートを参照して、カテゴリ操作部31によってユーザからのカテゴリ生成要求が受け付けられた場合の文書分類装置30の処理手順の詳細について説明する。つまり、図20は、前述した図9に示すステップS1〜ステップS4の処理の詳細を示す。図20に示す処理は、カテゴリ操作部31、クラスタリング制御部32およびカテゴリ分類方法設定部33によって実行される。
クラスタリング制御部31は、カテゴリ操作部31においてカテゴリ生成要求が受け付けられると、ユーザが当該カテゴリ操作部31を用いて指定したカテゴリを対象カテゴリcとする(ステップS121)。つまり、以下の処理においては対象カテゴリcの下位カテゴリが自動生成される。
ここで、ユーザは、カテゴリ操作部31に対する操作により、対象カテゴリcに対するクラスタリング処理を選択することができる。具体的には、カテゴリ操作部31にクラスタリング処理の選択画面が表示され、ユーザは、当該選択画面を介して文書クラスタリング処理または単語クラスタリング処理のいずれかを選択することができる。
ここで、図21および図22は、カテゴリ操作部31に表示されるクラスタリング処理の選択画面の一例を示す。
図21は、ユーザが例えば「ルート」カテゴリを対象カテゴリとして指定し、当該「ルート」カテゴリに対するクラスタリング処理として単語クラスタリング(処理)を選択する場合の選択画面の一例を示す。
一方、図22は、ユーザが例えば「ルート」カテゴリを対象カテゴリとして指定し、当該「ルート」カテゴリに対するクラスタリング処理として文書クラスタリング(処理)を選択する場合の選択画面の一例を示す。
カテゴリ操作部31に表示される選択画面においては、図21および図22に示すようなダイアログ・ウィンドウがユーザに対して提示される。
クラスタリング制御部32は、カテゴリ操作部31を用いてユーザによって選択されたクラスタリング処理が文書クラスタリング処理であるか否かを判定する(ステップS122)。
ユーザによって選択されたクラスタリング処理が文書クラスタリング処理であると判定された場合(ステップS122のYES)、クラスタリング制御部32は、対象カテゴリcに分類されている文書の集合(以下、文書集合Dcと表記)を対象として文書クラスタリング部321による文書クラスタリング処理を実行する(ステップS123)。
この場合、前述した図13および図14に示す処理が実行され、その結果、クラスタの集合が得られる。以下、文書クラスタリング処理において得られたクラスタの集合をクラスタ集合Cdとする(ステップS124)。
次に、クラスタリング制御部32は、クラスタ集合Cd中の各クラスタ(以下、クラスタcdと表記)について以下のステップS126〜ステップS128の処理を繰り返し実行する(ステップS125)。
クラスタリング制御部32は、クラスタcdに対応するカテゴリ(以下、カテゴリccと表記)を作成する(ステップS126)。クラスタリング制御部32によって作成されたカテゴリccのカテゴリ名は、自動的に設定される。例えば上記した文書クラスタリング処理におけるクラスタcdの特徴ベクトル中で、重みが最大の単語がクラスタ名とされる。このカテゴリ名は、カテゴリccを識別するためのカテゴリ番号に対応づけてカテゴリ記憶部23に記憶(設定)される。
また、クラスタリング制御部32は、作成されたカテゴリccを対象カテゴリcの下位カテゴリ(対象カテゴリcと直接的に下位の関係にあるカテゴリ)とする。この場合、カテゴリccを識別するためのカテゴリ番号に対応づけて対象カテゴリcを識別するためのカテゴリ番号が上位カテゴリ番号としてカテゴリ記憶部23に記憶(設定)される。
次に、カテゴリ分類方法設定部33は、カテゴリccの分類方法をカテゴリ記憶部23に設定する。
ここで、クラスタcdは、文書クラスタリング処理、すなわち、文書の特徴ベクトルの類似性に基づいた方法によって生成されたものであるため、当該クラスタcdに対応するカテゴリccに設定される分類方法としては、文書の類似性に基づいた分類方法である事例ベース自動分類が適切である。
したがって、カテゴリ分類方法設定部33は、カテゴリccの分類方法を事例ベース自動分類とする(ステップS127)。つまり、カテゴリ分類方法設定部33は、カテゴリccのデフォルトの分類方法として事例ベース自動分類をカテゴリ記憶部23に設定する。
また、カテゴリ分類方法設定部33は、クラスタcdに分類されている文書のいずれかを選択し、当該文書をカテゴリccの分類基準(である教師文書)としてカテゴリ記憶部23に設定する(ステップS128)。
教師文書を自動的に選択する方法としては、クラスタcdの特徴ベクトルを用いて、当該クラスタcdと類似度の大きい文書を所定数選択して教師文書とする方法がある。このクラスタcdの特徴ベクトルは、前述した図12に示す処理によって算出される特徴ベクトルであり、図14に示す(ステップS54の)処理によって常に再計算されるものである。なお、教師文書は、ユーザによって明示的に手作業で選択されてもよい。
次に、クラスタ集合Cd中の各クラスタcdについて繰り返し処理が実行されると、処理は終了される。
上記したステップS122において、ユーザによって選択されたクラスタリング処理が文書クラスタリング処理でない(つまり、単語クラスタリング処理である)と判定された場合、クラスタリング制御部32は、対象カテゴリに分類されている文書集合Dcを対象として単語クラスタリング部322による単語クラスタリング処理を実行する(ステップS129)。
この場合、前述した図15〜図17に示す処理が実行され、その結果、クラスタの集合が得られる。以下、単語クラスタリング処理において得られたクラスタの集合をクラスタ集合Ctとする(ステップS130)。
次に、クラスタリング制御部32は、クラスタ集合Ct中の各クラスタ(以下、クラスタctと表記)について以下のステップS132〜ステップS134の処理を繰り返し実行する(ステップS131)。
クラスタリング制御部32は、クラスタctに対応するカテゴリccを作成する(ステップS132)。クラスタリング制御部32によって作成されたカテゴリccのカテゴリ名は、自動的に設定される。この場合、上記した単語クラスタリング処理におけるクラスタctに対応する単語または単語間の関係をそのまま用いてカテゴリ名とする。このカテゴリ名は、カテゴリccを識別するためのカテゴリ番号に対応づけてカテゴリ記憶部23に記憶(設定)される。
また、クラスタリング制御部32は、作成されたカテゴリccを対象カテゴリcの下位カテゴリとする。この場合、カテゴリccを識別するためのカテゴリ番号に対応づけて対象カテゴリcを識別するためのカテゴリ番号が上位カテゴリ番号としてカテゴリ記憶部23に記憶(設定)される。
次に、カテゴリ分類方法設定部33は、カテゴリccの分類方法をカテゴリ記憶部23に設定する。
ここで、クラスタctは、単語クラスタリング、すなわち、文書中での単語あるいは単語間の関係の出現頻度に基づいて方法によって生成されたものであるため、当該クラスタctに対応するカテゴリccに設定される分類方法としては、文書中での単語あるいは単語間の関係の出現の有無によって文書を分類するルールベース自動分類が適切である。
したがって、カテゴリ分類方法設定部33は、カテゴリccの分類方法をルールベース自動分類とする(ステップS133)。つまり、カテゴリ分類方法設定部33は、カテゴリccのデフォルトの分類方法としてルールベース自動分類をカテゴリ記憶部23に設定する。
また、カテゴリ分類方法設定部33は、クラスタctに対応する単語または単語間の関係の、文書中での出現の有無を条件とした分類ルールを作成し、当該分類ルールをカテゴリccの分類基準としてカテゴリ記憶部23に設定する(ステップS134)。なお、分類ルールは、ユーザが手作業で設定あるいは変更してもよい。
クラスタ集合Ct中の各クラスタctについて繰り返し処理が実行されると、処理は終了される。
なお、上述した図15〜図17において説明したように、単語クラスタリング処理においては複数段の階層構造を構成するクラスタを生成することが可能であるが、この場合には、当該クラスタに対応したカテゴリが当該クラスタと同様の階層構造を構成するように対象カテゴリcの下位に作成される。
ここで、図21〜図26を参照して、上述した図20に示す処理によって作成されたカテゴリ(の階層構造)について具体的に説明する。
なお、図21〜図26においては、分類方法としてルールベース自動分類が設定されたカテゴリを矩形で表し、分類方法として事例ベース自動分類が設定されたカテゴリを角丸矩形で表す。また、図21〜図26において「ルート」カテゴリの件数(3000件)は、カテゴリの階層構造全体に分類されている文書数を表す。また、「ルート」カテゴリ以外のカテゴリの件数は、当該カテゴリに分類されている文書数を表す。
まず、図21に示すように、ユーザによって指定された「ルート」カテゴリに対して単語クラスタリング処理が実行された場合を想定する。この場合には、例えば図23に示すように、「燃料」および「ブレーキ」等の新しいカテゴリ集合が自動的に作成され、これらは「ルート」カテゴリの下位カテゴリとなる。なお、ここで作成されたカテゴリ集合は、単語クラスタリング処理によって作成されたクラスタに対応するカテゴリであるため、分類方法としてはルールベース自動分類が設定され、分類基準としては分類ルールが設定される。例えば、図23に示す「燃料」カテゴリの分類基準(分類ルール)には、例えば前述した図6に示す分類ルール、すなわち、「燃料」という単語を文書のテキスト「問題」または「対策」に含むことを条件とした分類ルールが設定される。
一方、図22に示すように、ユーザが指定した「ルート」カテゴリに対して文書クラスタリング処理が実行された場合を想定する。この場合には、例えば図24に示すように、「ランプ」および「ワイパー」の新しいカテゴリ集合が自動的に作成され、これらは「ルート」カテゴリの下位カテゴリとなる。なお、ここで作成されたカテゴリ集合は、文書クラスタリング処理によって作成されたクラスタに対応するカテゴリであるため、分類方法としては事例ベース自動分類が設定され、分類基準として教師文書が設定される。
なお、クラスタリング処理によるカテゴリに自動生成は、カテゴリの階層構造の任意の部分(カテゴリ)を対象に実行することができる。
例えば図24に示すカテゴリ「燃料」を対象に文書クラスタリングが実行された場合を想定する。この場合、図25に示すように、分類方法として事例ベース自動分類が設定されたカテゴリ「タンク」および「ポンプ」がカテゴリ「燃料」の下位カテゴリとして作成される。
また、図25に示すカテゴリ「タンク」を対象に単語クラスタリングを行うことで、図26に示すように、分類方法としてルールベース自動分類が設定されたカテゴリ「亀裂」および「変形」がカテゴリ「タンク」の下位カテゴリとして作成される。
なお、カテゴリの作成は、クラスタリングによって自動的に作成するだけでなく、ユーザが例えばカテゴリ操作部31を操作することによって手作業により作成することも可能である。例えば図26に示すカテゴリ「2007年」および「2008年」は、カテゴリ「ランプ」の下位カテゴリとしてユーザが手作業で作成したカテゴリの例である。これらのカテゴリは、例えば図7に示すような文書の属性「報告日」を条件とした分類ルールが設定されたカテゴリである。
文書クラスタリング処理または単語クラスリング処理によって作成されたカテゴリは、文書のテキストの内容に応じて分類を行うのに向いている一方、このように、文書の属性に応じた分類にも有用な場合がある。
このように、複数の異なるクラスタリング処理を使い分けることにより、複数の異なる分類方法のカテゴリを自由に組み合わせた階層構造を作成することが可能となる。
次に、図27のフローチャートを参照して、カテゴリ操作部31によってユーザからの分類方法変更要求が受け付けられた場合の文書分類装置30の処理手順の詳細について説明する。つまり、図27は、前述した図9に示すステップS5〜ステップS9の処理の詳細を示す。図27に示す処理は、カテゴリ操作部31、カテゴリ分類方法設定部33および自動分類制御部34によって実行される。
カテゴリ分類方法設定部33は、カテゴリ操作部31において分類方法変更要求が受け付けられると、ユーザが当該カテゴリ操作部31を用いて指定したカテゴリ(つまり、分類方法を変更するカテゴリ)を対象カテゴリcとする(ステップS141)。すなわち、以下の処理では、この対象カテゴリcを対象として、当該対象カテゴリcの分類方法または分類基準を設定または変更する処理が実行される。
なお、ユーザは、カテゴリ操作部31を用いて、対象カテゴリcの分類方法を事例ベース自動分類からルールベース自動分類へ変更(以下、第1の変更と表記)、当該対象カテゴリcの分類方法をルールベース自動分類から事例ベース自動分類へ変更(以下、第2の変更と表記)または当該対象カテゴリcの分類基準(分類ルールまたは教師文書)の変更のいずれかを分類方法変更要求において指定することができる。なお、対象カテゴリcの分類基準の変更が指定される場合には、当該変更後の分類基準がユーザによって指定される。
カテゴリ分類方法設定部33は、カテゴリ操作部31において受け付けられた分類方法変更要求において上記した第1の変更がユーザによって指定されたか否かを判定する(ステップS142)。
第1の変更がユーザによって指定されたと判定された場合(ステップS142のYES)、カテゴリ分類方法設定部33は、対象カテゴリcの分類方法としてルールベース自動分類をカテゴリ記憶部23に設定する。
次に、カテゴリ分類方法設定部33は、対象カテゴリcに分類されている文書に多く出現する単語または当該単語間の関係を用いて、分類ルールを作成する。この処理では、例えば事例ベース自動分類処理のために算出されている対象カテゴリcの特徴ベクトルを用いて重みの大きい単語を選択してもよいし、前述した単語クラスタリング処理における単語の関係(単語tiおよび単語tjの関係)を用いても構わない。
カテゴリ分類方法設定部33は、作成された分類ルールを対象カテゴリcの分類基準としてカテゴリ記憶部23に設定する(ステップS143)。
ここでは、カテゴリ分類方法設定部33が自動的に分類ルールを設定する場合について説明したが、ユーザが分類ルールを手作業で設定する構成であっても構わない。
一方、第1の変更がユーザによって指定されていないと判定された場合(ステップS142のNO)、カテゴリ分類方法設定部33は、カテゴリ操作部31において受け付けられた分類方法変更要求において上記した第2の変更がユーザによって指定されたか否かを判定する(ステップS144)。
第2の変更がユーザによって指定されたと判定された場合(ステップS144のYES)、カテゴリ分類方法設定部33は、対象カテゴリの分類方法として事例ベース自動分類をカテゴリ記憶部23に設定する。
次に、カテゴリ分類方法設定部33は、対象カテゴリcに分類されている文書のいずれかを当該対象カテゴリcの教師文書としてカテゴリ記憶部23に設定する(ステップS145)。この場合、上述した図20に示すステップS128において説明したような方法を用いて教師文書とする文書を選択する。
一方、ステップS144において第2の変更がユーザによって指定されていないと判定された場合(ステップS144のNO)、カテゴリ分類方法設定部33は、カテゴリ操作部31において受け付けられた分類方法変更要求において上記した対象カテゴリcの分類基準の変更がユーザによって指定されたか否かを判定する(ステップS146)。
対象カテゴリcの分類基準の変更がユーザによって指定された場合(ステップS146のYES)、カテゴリ分類方法設定部33は、当該ユーザによって指定された変更後の分類基準(分類ルールまたは教師文書)を対象カテゴリcの分類基準としてカテゴリ記憶部23に設定する。
上記したように、カテゴリの分類方法または分類基準が変更された場合、その結果を分類階層(カテゴリの階層構造)に反映するために文書の自動分類(再分類)を行う必要がある。このため、自動分類制御部34によって以下のステップS148〜ステップS150の処理が実行される。
自動分類制御部34は、対象カテゴリcおよび当該対象カテゴリcと直接的または間接的に上位または下位の関係にあるカテゴリの集合を分類先候補カテゴリ集合Ccとして決定する(ステップS148)。
すなわち、対象カテゴリcの分類方法または分類基準が変更された結果、例えば対象カテゴリcの上位カテゴリ(当該対象カテゴリcと直接的または間接的に上位の関係にあるカテゴリ)に分類されている文書には、当該対象カテゴリcまたは当該対象カテゴリcの下位カテゴリ(当該対象カテゴリcと直接的または間接的に下位の関係にあるカテゴリ)に分類しなおすべき文書が含まれている可能性がある。また、対象カテゴリcまたは当該対象カテゴリcの下位カテゴリに分類されている文書には、分類基準の変更等により当該カテゴリにそのまま分類させ続けることができず、別のカテゴリ、特に対象カテゴリcの上位カテゴリに分類しなおす必要がある文書が含まれている場合がある。このような観点から、分類先候補カテゴリ集合Ccは、上記したステップS148のように決定される。
次に、自動分類制御部34は、決定された分類先候補カテゴリ集合Cc(に含まれる各カテゴリ)に分類されている文書の集合を、分類対象文書集合Dcとして決定する(ステップS149)。
自動分類制御部34は、上記したように決定された分類先候補カテゴリ集合Ccおよび分類対象文書集合Dcを対象として、自動分類処理を実行する(ステップS150)。この自動分類処理においては、上述した事例ベース自動分類部341による事例ベース自動分類処理およびルールベース自動分類部342によるルールベース自動分類処理が実行される。なお、この自動分類処理の詳細については後述する。
なお、上記したステップS146において、対象カテゴリcの分類基準の変更がユーザによって指定されていないと判定された場合には処理は終了される。
ここで、図28および図29は、ユーザが対象カテゴリcの分類方法の設定(変更)を行うためのカテゴリ操作部31に表示される設定画面の一例を示す。
図28に示す設定画面において、例えばユーザが対象カテゴリcとしてカテゴリ「ポンプ」を指定した場合、当該カテゴリ「ポンプ」の分類方法および分類基準の設定内容がダイアログ・ウィンドウ等の形でユーザに対して提示される。
ここでは、カテゴリ「ポンプ」の分類方法には事例ベース自動分類が設定されている。また、カテゴリ「ポンプ」の分類基準である教師文書は、例えば上述した図20に示すステップS128の処理または図27に示すステップS145の処理において自動的に設定された文書である。なお、図28に示すように、教師文書の一覧は、その候補も含めてユーザに対して表示される。ユーザは、この教師文書の設定を手作業により変更する場合には、手動設定を選択し、教師文書の一覧表示上で教師文書とすべき文書を選択することで所望とする教師文書を設定することができる。
また、上記したように設定画面においては分類方法自体を変更することも可能である。ここでは、図28に示すカテゴリ「ポンプ」の分類方法を、事例ベース自動分類からルールベース自動分類へ変更する場合について説明する。図28に示す設定画面において、分類方法としてルールベース自動分類を選択すると、図29に示す設定画面に遷移する。これにより、カテゴリ「ポンプ」の分類方法がルールベース自動分類に変更できる。このカテゴリ「ポンプ」の分類ルールを自動で設定する場合には、図29に示す設定画面上の自動設定を選択することで、上記した図27に示すステップS143において説明したように分類ルールが自動的に作成される。図29に示す設定画面上の分類ルールは、文書テキスト「問題」または「対策」のテキストに「ポンプ」または「噴射」の語句を含むことを条件とした分類ルールである。ユーザが分類ルールを手作業によって変更(または追加)したい場合には、図29に示す設定画面上の手動設定を選択し、当該設定方法を切り替えた上で、手動で所望の形のルールを入力することができる。
次に、カテゴリ操作部31によってユーザからのカテゴリ編集要求が受け付けられた場合の文書分類装置30の処理手順の詳細について説明する。ユーザは、カテゴリ操作部31を用いてカテゴリの階層構造に対してカテゴリ編集操作を行うことによってカテゴリ編集要求を行う。
ここで、図30を参照して、カテゴリ操作部31を用いてユーザがカテゴリの階層構造に対して行うカテゴリ編集操作について説明する。ここでは、前述した図23に示すカテゴリの階層構造に対してカテゴリ編集操作が行われるものとして説明する。
ユーザが、図23に示すカテゴリの階層構造を所望の形(構造)に編集するために行う代表的な操作としては、前述したように「統合」、「移動」、「複製」および「削除」が挙げられる。
図30に示すように、ユーザは、カテゴリ操作部31を操作することによって、例えばカテゴリ「ガソリン」をカテゴリ「燃料」に統合する操作(以下、統合操作と表記)を行うことができる。
また、ユーザは、カテゴリ操作部31を操作することによって、例えばカテゴリ「ペダル」をカテゴリ「ブレーキ」の下位カテゴリに移動する操作(以下、移動操作と表記)を行うことができる。
また、ユーザは、カテゴリ操作部31を操作することによって、例えばカテゴリ「ブレーキ」の下位カテゴリ「ペダル」をカテゴリ「アクセル」の下位カテゴリの位置に複製する操作(以下、複製操作と表記)を行うことができる。
更に、ユーザは、カテゴリ操作部31を操作することによって、例えばカテゴリ「配線」を削除する操作(以下、削除操作と表記)を行うことができる。
なお、図31は、図23に示すカテゴリの階層構造において、図30に示す統合、移動、複製および削除等の操作がユーザによって行われた後のカテゴリの階層構造を示す。
このように、ユーザによるカテゴリ編集操作によって分類構造(カテゴリの階層構造)が変更された場合には、上記したカテゴリの分類方法または分類基準が変更された場合と同様に、文書を分類しなおすことが必要となる。
具体的には、図30に示すように、分類方法としてルールベース自動分類が設定されているカテゴリ「ペダル」がカテゴリ「ブレーキ」の下位に移動された場合、これらのカテゴリの分類ルール自体に変化はなくても、カテゴリの階層構造が変化されるため、分類ルールの適用のされ方が変化する。つまり、カテゴリ「ブレーキ」の下位に移動されたカテゴリ「ペダル」に分類されるべき文書は、カテゴリ「ブレーキ」およびカテゴリ「ペダル」の両方の分類ルールを満足する文書である。したがって、図30に示すように、移動前のカテゴリ「ペダル」に分類されている文書数は95件であるが、移動後のカテゴリ「ペダル」に分類される文書数は62件となる。このように、カテゴリの階層構造が変更された場合には、当該変更に伴って、文書を分類しなおす処理(つまり、再分類処理)を自動的に行うことが必要となる。
以下、図32〜図35のフローチャートを参照して、カテゴリ操作部l31によってユーザからのカテゴリ編集要求が受け付けられた場合の文書分類装置30の処理手順の詳細について説明する。つまり、図32〜図35は、前述した図9に示すステップS10〜ステップS14の処理の詳細を示す。
図32〜図35に示す処理は、カテゴリ操作部31によってユーザの操作が受け付けられことで開始され、当該処理の結果、すなわち、ユーザによって編集が行われ、文書分類装置30によって自動分類が行われた結果のカテゴリの階層構造(分類構造)は、当該カテゴリ操作部31によってユーザに提示される。
まず、図32のフローチャートを参照して、上記したようにカテゴリ操作部31を用いてカテゴリの統合操作が行われた場合の処理手順について説明する。
まず、カテゴリ分類方法設定部33は、ユーザによってカテゴリの統合操作が行われた場合、当該ユーザによって指定されたカテゴリの集合を統合対象カテゴリ集合Cとし、当該統合対象カテゴリ集合Cの中の1つのカテゴリ(統合後も削除されない代表のカテゴリ)を統合結果カテゴリcとする(ステップS151)。図30に示す例では、カテゴリ「燃料」および「ガソリン」が統合対象カテゴリ集合Cであり、カテゴリ「燃料」が統合結果カテゴリcである。この場合、カテゴリ「ガソリン」は、図31に示すように統合操作の結果、削除されることになる。
なお、統合操作においては、分類方法が同一である複数のカテゴリが統合されるものとする。
次に、カテゴリ分類方法設定部33は、統合対象カテゴリ集合Cに含まれるカテゴリの分類基準(教師文書または分類ルール)の内容を統合し、当該統合された分類基準を統合結果カテゴリcの分類基準としてカテゴリ記憶部23に設定する(ステップS152)。
この場合、カテゴリ分類方法設定部33は、統合対象カテゴリ集合Cに含まれる各カテゴリの分類方法が事例ベース自動分類である場合には、統合結果カテゴリcの教師文書として、当該統合対象カテゴリ集合C中の全カテゴリの教師文書の和集合をカテゴリ記憶部23に設定する。
また、カテゴリ分類方法設定部33は、統合対象カテゴリ集合Cに含まれる各カテゴリの分類方法がルールベース自動分類である場合には、統合結果カテゴリcの分類ルールとして、当該対象カテゴリ集合C中の全カテゴリの分類ルールの論理和をカテゴリ記憶部23に設定する。
統合結果カテゴリcの分類基準をこのようにすることで、当該統合結果カテゴリcには、統合前の各カテゴリに自動分類されるであろう文書が分類されやすくなる。なお、統合結果カテゴリの分類方法は変更されない。
以下のステップS153およびステップS154は、後述するステップS156の自動分類処理において対象とするカテゴリおよび文書の集合を決定する処理である。この処理は、上述した図27に示すステップS148およびステップS149の処理と同様の考え方に基づいて実行される。
自動分類制御部34は、統合対象カテゴリ集合C中の各カテゴリおよびこれらと直接的または間接的に上位下位関係にある(上位または下位の関係にある)カテゴリの集合を分類先候補カテゴリ集合Ccとして決定する(ステップS153)。
また、自動分類制御部34は、決定された分類先候補カテゴリ集合Cc中の各カテゴリに分類されている文書の集合を分類対象文書集合Dcとして決定する(ステップS154)。
次に、実際に統合対象カテゴリ集合C中の各カテゴリを統合する処理が実行される(ステップS155)。すなわち、統合対象カテゴリ集合C中の統合結果カテゴリc以外の各カテゴリ(カテゴリci)について、当該各カテゴリciの各下位カテゴリ(カテゴリcj)が統合結果カテゴリcの下位に移動される。その後、統合対象カテゴリ集合C中の統合結果カテゴリc以外の各カテゴリciが削除される。
ステップS155の処理が実行されると、自動分類制御部34は、ステップS153において決定された分類先候補カテゴリCcおよびステップS154において決定された分類対象文書集合Dcを対象として、自動分類処理を実行する(ステップS156)。この自動分類処理は、上述した図27に示すステップS150と同様の処理であり、その詳細については後述する。
次に、図33のフローチャートを参照して、上記したようにカテゴリ操作部31を用いてカテゴリの移動操作が行われた場合の処理手順について説明する。
まず、カテゴリ分類方法設定部33は、ユーザによってカテゴリの移動操作が行われた場合、当該ユーザによって指定されたカテゴリを移動対象カテゴリCとし、当該移動対象カテゴリCの移動先の上位カテゴリを移動先上位カテゴリcとする(ステップS161)。図30に示す例では、カテゴリ「ペダル」が移動対象カテゴリCであり、カテゴリ「ブレーキ」が移動先上位カテゴリcである。
なお、複数のカテゴリを同一のカテゴリの下位に移動させる場合には、当該複数のカテゴリを移動対象カテゴリ集合Cとすることができる。
次に、自動分類制御部34は、移動対象カテゴリC、移動先上位カテゴリcおよびこれらと直接的または間接的に上位下位関係にあるカテゴリの集合を分類先候補カテゴリ集合Ccとして決定する(ステップS162)。
また、自動分類制御部34は、決定された分類先候補カテゴリ集合Cc中の各カテゴリに分類されている文書の集合を分類対象文書集合Dcとして決定する(ステップS163)。
次に、移動対象カテゴリCが移動先上位カテゴリcの下位に移動される(ステップS163)。
このように変更されたカテゴリの階層構造(分類構造)のもとで、自動分類制御部34は、自動分類処理を実行する(ステップS164)。この自動分類処理は、上述した図27に示すステップS150と同様の処理であり、その詳細については後述する。
次に、図34のフローチャートを参照して、上記したようにカテゴリ操作部31を用いてカテゴリの複製操作が行われた場合の処理手順について説明する。
まず、カテゴリ分類方法設定部33は、ユーザによってカテゴリの複製操作が行われた場合、当該ユーザによって指定されたカテゴリを複製対象カテゴリCとし、当該複製対象カテゴリCの複製先の上位カテゴリを複製先上位カテゴリcとする(ステップS171)。図30に示す例では、カテゴリ「ペダル」が複製対象カテゴリCであり、カテゴリ「アクセル」が複製先上位カテゴリcである。
なお、複数のカテゴリを同一のカテゴリの下位に複製する場合には、当該複数のカテゴリを複製対象カテゴリ集合Cとすることができる。
次に、複製対象カテゴリCが複製され、当該複製結果のカテゴリ(以下、複製結果カテゴリcjと表記)が複製先上位カテゴリcの下位カテゴリに設定される(ステップS172)。図30に示す例では、複製先上位カテゴリcの下位カテゴリであるカテゴリ「ペダル」が複製結果カテゴリcjである。
ここで、カテゴリの複製処理では、カテゴリ名をはじめ、分類方法および分類基準等の設定内容についても複製される。
自動分類制御部34は、複製先上位カテゴリcおよび当該複製先上位カテゴリcと直接的または間接的に上位下位関係にあるカテゴリの集合を分類先候補カテゴリ集合Ccとして決定する(ステップS173)。
また、自動分類制御部34は、複製対象カテゴリCまたはステップS173において決定された分類先候補カテゴリ集合Cc中の各カテゴリに分類されている文書の集合を分類対象文書集合Dcとして決定する(ステップS174)。
このように変更されたカテゴリの階層構造(分類構造)のもとで、自動分類制御部34は、自動分類処理を実行する(ステップS175)。この自動分類処理は、上述した図27に示すステップS150と同様の処理であり、その詳細については後述する。
次に、図35のフローチャートを参照して、上記したようにカテゴリ操作部31を用いてカテゴリの削除操作が行われた場合の処理手順について説明する。
まず、カテゴリ分類方法設定部33は、ユーザによってカテゴリの削除操作が行われた場合、当該ユーザによって指定されたカテゴリを削除対象カテゴリCとする(ステップS181)。図30に示す例では、カテゴリ「配線」が削除対象カテゴリCである。
なお、複数のカテゴリを削除する場合には、当該複数のカテゴリを削除対象カテゴリ集合Cとすることができる。
次に、自動分類制御部34は、削除対象カテゴリCと直接的または間接的に上位下位関係にあるカテゴリの集合を分類先候補カテゴリ集合Ccとして決定する(ステップS183)。なお、分類先候補カテゴリ集合Ccには、削除対象カテゴリCは含まれない。
また、自動分類制御部34は、削除対象カテゴリCまたはステップS183において決定された分類先候補カテゴリ集合Cc中の各カテゴリに分類されている文書の集合を分類対象文書集合Dcとして決定する(ステップS184)。
次に、削除対象カテゴリCが削除される(ステップS184)。このとき、削除対象カテゴリCの下位カテゴリ(例えば、カテゴリcj)が当該削除対象カテゴリCの上位カテゴリ(例えば、カテゴリck)の下位に移動される。すなわち、削除対象カテゴリCの下位カテゴリcjを当該削除対象カテゴリCの上位カテゴリckの下位に付け替える処理を行った上で、削除対象カテゴリは削除される。
このように変更されたカテゴリの階層構造(分類構造)のもとで、自動分類制御部34は、自動分類処理を実行する(ステップS185)。この自動分類処理は、上述した図27に示すステップS150と同様の処理であり、その詳細については後述する。
次に、図36および図37のフローチャートを参照して、前述した自動分類処理の処理手順について説明する。図36および図37に示す自動分類処理は、上述した図27に示すステップS150、図32に示すステップS156、図33に示すステップS164、図34に示すステップS175および図35に示すステップS185において自動分類制御部34によって実行される処理である。
なお、前述した図9に示すステップS8およびステップS9(ステップS13およびステップS14)において説明したが、自動分類処理においてはルールベース自動分類処理が実行され、その後に事例ベース自動分類処理が実行される。
ここで、図36および図37に示す自動分類処理の概念(考え方)について、図38〜図40を用いて説明する。なお、図38〜図40は、カテゴリの階層構造を示すものとする。
また、図38〜図40に示すカテゴリ階層構造においては、前述した図21〜図26と同様に、分類方法としてルールベース自動分類が設定されたカテゴリは矩形で表され、分類方法として事例ベース自動分類が設定されたカテゴリは角丸矩形で表されているものとする。
つまり、図38〜図40においては、カテゴリcr(cr01、cr04、cr09、cr12)は分類方法としてルールベース自動分類が設定されたカテゴリを表し、カテゴリce(ce02、ce03、ce05、ce06、ce07、ce08、ce10、ce11、ce13、ce14)は分類方法として事例ベース自動分類が設定されたカテゴリを表す。
例えば図38に示すカテゴリの階層構造(分類構造)が存在するものとする。この図38に示すカテゴリの階層構造において、例えば文書d1が、ルールベース自動分類が分類方法として設定されているカテゴリのうち、カテゴリcr01およびcr04の分類ルールを満たし、カテゴリcr09およびcr12の分類ルールを満たさないものとする。なお、正確に言えば、文書d1がカテゴリcr04の分類ルールを満たすとは、カテゴリcr04の上位カテゴリであるカテゴリcr01の分類ルールと当該カテゴリcr04の分類ルールの両方、つまり論理積の条件を満たすことをいう。
この場合、文書d1が事例ベース自動分類によって分類され得るカテゴリの候補(分類先候補)は、カテゴリce02、ce03、ce05、ce06、ce07、ce08、ce11の7つである。文書d1は、例えばカテゴリcr09の分類ルールを満たさない場合には、当該カテゴリcr09および当該カテゴリcr09の下位カテゴリには分類され得ないため、カテゴリce10は分類先候補とはならない。同様に、カテゴリce13およびce14は分類先候補とはならない。その結果、文書d1の分類先候補となるカテゴリは、図38において網掛けで示されているカテゴリ(つまり、カテゴリcr01、ce02、ce03、cr04、ce05、ce06、ce07、ce08、ce11)となる。
同様に、例えば文書d2がカテゴリcr01およびcr09の分類ルールを満たし、カテゴリcr04およびcr12の分類ルールを満たさない場合には、文書d2の分類先候補となるカテゴリは、図39において網掛けで示されているカテゴリ(つまり、cr01、ce02、ce03、ce08、cr09、ce10、ce11)となる。
また、図38および図39に示すように、文書d1および文書d2の両方ともカテゴリcr12、ce13およびce14には分類され得ない。
このように、ルールベース自動分類によって分類先候補のカテゴリを絞る(限定する)ことにより、後に実行される事例ベース自動分類の処理を効率化することができ、不適切なカテゴリに文書が分類されることを回避することができる。
一方、事例ベース自動分類によって、文書d1が例えばカテゴリce06に分類された場合を想定すると、当該カテゴリce06と直接的または間接的に上位の関係にあるカテゴリ(上位カテゴリ)には、文書d1を分類する必要はない。すなわち、この場合には、例えばカテゴリce02またはce05には、既に文書d1が間接的に分類されていることになるため、これらのカテゴリに文書d1を分類すべきか否かを判定する必要はない(逆にもし、文書d1を例えばカテゴリce05に直接分類するのが適切であるのならば、当該文書d1をカテゴリce06に分類するのは適切でないということになる)。したがって、この場合に文書d1をカテゴリce06に分類した場合、当該カテゴリce06の他に文書d1の分類先候補となるカテゴリは、図38に示す分類先候補となるカテゴリから更に、図40において網掛けで示されているカテゴリ(つまり、ce03、ce06、ce08、ce11)に絞ることができる。
図36および図37に示す自動分類処理は、以上のような考えに基づいて、実行される。以下、図36および図37に示す自動分類処理について説明する。
まず、自動分類制御部34は、分類先候補となるカテゴリの集合を分類先候補カテゴリ集合C、当該分類対象となる文書の集合を分類対象文書集合Dとする(ステップS191)。
なお、この分類先候補カテゴリ集合Cは、上述した図27に示すステップS148、図32に示すステップS153、図33に示すステップS162、図34に示すステップS173および図35に示すステップS182において決定された分類先候補カテゴリ集合(Cc)である。
また、この分類対象文書集合Dは、図27に示すステップS149、図32に示すステップS154、図33に示すステップS163、図34に示すステップS174および図35に示すステップS183において決定された分類対象文書集合(Dc)である。
次に、自動分類制御部34は、分類先候補カテゴリ集合Cおよび分類対象文書集合Dを対象に、ルールベース自動分類部342によるルールベース自動分類処理を実行する(ステップS192)。この場合、前述した図19に示すルールベース自動分類処理が実行される。
以下のステップS192〜ステップS200においては、ルールベース自動分類処理の結果を用いて、事例ベース自動分類処理の対象とすべきカテゴリおよび文書を求める処理が行われる。
自動分類制御部34は、事例ベース自動分類処理における分類先候補となるカテゴリの集合(分類先候補カテゴリ)Ceの初期値を空集合とする(ステップS193)。
また、自動分類制御部34は、事例ベース自動分類処理における分類対象となる文書の集合(分類対象文書集合)Deの初期値を空集合とする(ステップS194)。
次に、自動分類制御部34は、分類先候補カテゴリC中の各カテゴリについて以下のステップS196〜ステップS200の処理を繰り返し実行する(ステップS195)。
自動分類制御部34は、カテゴリ記憶部23を参照して、カテゴリcの分類方法が事例ベース自動分類であるか否かを判定する(ステップS196)。この場合、自動分類制御部34は、カテゴリ記憶部23においてカテゴリcを識別するためのカテゴリ番号に対応づけられている分類方法が事例ベース自動分類である場合には、当該カテゴリcの分類方法が事例ベース自動分類であると判定する。
カテゴリcの分類方法が事例ベース自動分類でないと判定された場合(ステップS196のNO)、ステップS200に戻って処理が繰り返される。
一方、カテゴリcの分類方法が事例ベース自動分類であると判定された場合(ステップS196のYES)、自動分類制御部34は、カテゴリcの直接または間接の上位カテゴリ(カテゴリcと直接的または間接的に上位の関係にあるカテゴリ)のうち、分類方法がルールベース自動分類であって階層構造において最も下位(の位置)のカテゴリ(以下、カテゴリcrと表記)を特定する(ステップS197)。なお、このカテゴリcrは、ルートカテゴリである場合もある。
次に、自動分類制御部34は、特定されたカテゴリcrに分類された文書の集合および分類対象文書集合Dの積集合(以下、積集合Dcrと表記)を算出する(ステップS198)。
なお、カテゴリcrに分類された文書の集合とは、上記したステップS192において実行されたルールベース自動分類処理において当該カテゴリcrに分類された文書の集合である。なお、このルールベース自動分類処理において分類された文書には、当該ルールベース自動分類処理(上述した図19に示すステップS115)において暫定的に分類された文書も含まれる。
自動分類制御部34は、算出された積集合Dcrが空集合であるか否かを判定する(ステップS199)。
積集合Dcrが空集合であると判定された場合(ステップS199のNO)、ステップS195に戻って処理が繰り返される。
一方、積集合Dcrが空集合でないと判定された場合(ステップS199のNO)、カテゴリcには、文書集合である当該積集合Dcr中のいずれかの文書が分類される可能性がある。したがって、自動分類制御部34は、カテゴリcを分類先候補カテゴリ集合Ce(事例ベース自動分類処理における分類先候補カテゴリ集合)に追加し、積集合(文書集合)Dcrを分類対象文書集合De(事例ベース自動分類処理における分類対象文書集合)に追加する(ステップS200)。
分類先候補カテゴリ集合C中の各カテゴリcについて繰り返し処理が実行されると、自動分類制御部34は、ステップS201の処理を実行する。
上記したように分類先候補カテゴリ集合C中の各カテゴリについて上記したステップS196〜ステップS200の処理が実行されることによって求められた分類先候補カテゴリ集合Ceおよび分類対象文書集合Deは、事例ベース自動分類の対象として必要十分な集合となる。なお、この分類先候補カテゴリ集合Ceは、上述した図38において網掛けで示されているカテゴリおよび図39において網掛けで示されているカテゴリの和集合となる。
自動分類制御部34は、分類先候補カテゴリ集合Ceおよび分類対象文書集合Deを対象に、事例ベース自動分類部341による事例ベース自動分類処理を実行する(ステップS201)。この場合、前述した図18に示す事例ベース自動分類処理が実行される。この事例ベース自動分類処理の結果としては、分類対象文書集合De中の各文書に対して、当該文書を分類すべきカテゴリの集合(図18において説明した分類先カテゴリ集合Cd)が求まる。
以下のステップS202〜ステップS207においては、事例ベース自動分類処理によって求められた文書を分類すべきカテゴリの集合の各カテゴリに当該文書を実際に分類すべきか否かを判定する処理が実行される。
自動分類制御部34は、分類対象文書集合De中の各文書について以下のステップS203〜ステップS207の処理を繰り返し実行する(ステップS202)。
自動分類制御部34は、上記した事例ベース自動分類処理によって求められた文書dを分類すべきカテゴリの集合を分類先カテゴリ集合Cdとする(ステップS203)。
次に、自動分類制御部34は、分類先カテゴリ集合Cdから、文書dを分類し得ないカテゴリを除く(ステップS204)。
具体的には、上述したように階層構造において上位下位関係にある2つのカテゴリ(上位カテゴリおよび下位カテゴリ)においては、上位カテゴリの分類方法がルールベース自動分類であり文書dが当該上位カテゴリの分類ルールを満たさない場合には、当該文書dはその下位カテゴリに分類することはできない。
したがって、自動分類制御部34は、分類先カテゴリ集合Cdのうち、文書dが分類ルールを満たさない上位カテゴリ(分類方法がルールベース自動分類である上位カテゴリ)が存在するカテゴリを、当該分類先カテゴリ集合Cdから除く。つまり、自動分類制御部34は、文書dが分類先カテゴリ集合Cdのカテゴリの上位カテゴリの分類ルールを満たさない場合、当該上位カテゴリと直接的または間接的に下位の関係にあるカテゴリには文書dを分類しない。
つまり、上述した図38に示す例で分類先カテゴリ集合Cdにカテゴリce10が含まれている場合においては、文書dがカテゴリcr09の分類ルールを満たさないときは、カテゴリce10は分類先カテゴリ集合Cdから除かれる(つまり、文書dはカテゴリce10には分類されない)。
自動分類制御部34は、分類先カテゴリCd中に互いに直接的または間接的に上位下位関係にある複数のカテゴリが存在する場合、当該複数のカテゴリのうち文書dとの類似度が最大のカテゴリのみを採用し、当該類似度が最大のカテゴリ以外のカテゴリを当該分類先カテゴリCdから除く(ステップS205)。つまり、分類先カテゴリCd中に互いに直接的または間接的に上位下位関係にある複数のカテゴリが存在する場合には、文書dは、当該複数のカテゴリ(カテゴリの部分集合)のうちのいずれか1つのカテゴリにのみ分類されることになる。
この処理は、上記した図40に示す例では例えばカテゴリce02、ce05およびce06のうち、文書dを分類すべきカテゴリとしてカテゴリce06のみを採用し、カテゴリce02およびce05は分類先カテゴリ集合Cdから除くという処理である。
自動分類制御部34は、分類先カテゴリCdのうち、文書dとの類似度が上位n位以内のカテゴリを採用し、当該上位n位以外のカテゴリを当該分類先カテゴリCdから除く(ステップS206)。
この処理は、例えば1つの文書を複数のカテゴリに分類する場合における当該カテゴリ数の上限nが定められている場合の処理であり、適切なカテゴリに優先的に文書を分類ために行われる。
なお、ステップS205およびステップS206における類似度は、前述した図18に示すステップS99の処理と同様に、分類先カテゴリCd中のカテゴリの特徴ベクトルおよび文書dの特徴ベクトルから算出される。
次に、自動分類制御部34は、上記したステップS204〜ステップS206の処理後の分類先カテゴリCd中の各カテゴリに文書dを分類する(ステップS207)。この場合、文書dを識別するための文書番号が、分類先カテゴリCd中の各カテゴリを識別するためのカテゴリ番号に対応づけてカテゴリ記憶部23に記憶(設定)される。
分類対象文書集合De中の各文書dについて繰り返し処理が実行されると、自動分類処理は終了される。
以上の処理により、ルールベース自動分類および事例ベース自動分類という異なる複数の分類方法が設定されたカテゴリを自由に組み合わせて、1つの分類構造を構成することが可能となる。これにより、このような分類構造が構成された場合であっても、効率よく、かつ、適切に、文書を自動的に分類することが可能となる。
上記したように本実施形態においては、ユーザの操作に応じて文書クラスタリング処理または単語クラスタリング処理が実行され、当該クラスタリング処理によって作成された文書集合中の部分集合(クラスタ)に対応するカテゴリの分類方法および分類基準が当該実行されたクラスタリング処理に応じてカテゴリ記憶部23に設定される。また、本実施形態においては、例えばユーザによるカテゴリの分類方法(または分類基準)を変更する操作または当該カテゴリの編集操作(統合、移動、複製、削除等)に応じて分類先候補カテゴリ集合および分類対象文書集合が決定され、当該分類先候補カテゴリ集合および分類対象文書集合に対してルールベース自動分類処理および事例ベース自動分類処理が実行される。
これにより、本実施形態においては、複数の異なるクラスタリング方法および自動分類方法を1つの分類階層(カテゴリの階層構造)の中で自由に組み合わせて用いることが可能となる。
また、本実施形態においては、ユーザによって選択されたクラスタリング処理(文書クラスタリング処理または単語クラスタリング処理)によりカテゴリを自動生成し、かつ、当該生成されたカテゴリに適した分類方法および分類基準を自動的に設定することが可能となる。
また、本実施形態においては、ユーザによってカテゴリの分類方法および分類基準が変更された場合には、当該変更に応じて文書の再分類が実行される。これにより、本実施形態においては、文書を適切かつ効率よく自動分類することが可能となる。
また、本実施形態においては、階層構造において互いに上位下位関係にある複数のカテゴリのうちのいずれかの1つのカテゴリにのみ分類対象文書が分類される。このため、本実施形態においては、冗長かつ一貫性のない分類を防止し、自動分類処理の効率を向上させることが可能となる。
また、本実施形態においては、自動分類処理において一般的に処理が単純で計算量の少ないルールベース自動分類処理を先に実行させるように制御を行うことで、分類先候補となるカテゴリを効率よく限定し、自動分類処理の効率を向上させることが可能となる。
また、本実施形態においては、ユーザによってカテゴリの階層構造に対してカテゴリの統合、移動、複製または削除等の編集操作が行われた場合には、当該編集操作に応じて文書の再分類が実行される。これにより、本実施形態においては、文書を適切、かつ、効率よく自動分類することが可能となる。
つまり、本実施形態においては、複数のクラスタリング方法(文書クラスタリングおよび単語クラスタリング)および自動分類方法(事例ベース自動分類およびルールベース自動分類)を自由に組み合わせて利用することが可能となるため、ユーザは単一の分類方法では構成することができないような階層構造(分類構造)を所望の形に構成することが可能となる。また、クラスタリング処理によってカテゴリを自動生成することができるため、ユーザは、全てのカテゴリを1つ1つ手作業で作成する必要はなく、分類作業の労力を軽減することが可能となる。さらに、ユーザは、分類階層の構造、すなわちカテゴリ間の上位下位関係および各カテゴリの分類方法を自由に変更できるため、文書の追加または分類の目的の変化等に柔軟に対応することができる。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。