(57)【要約】  一実施形態に係る文書分類装置は生成部および更新部を備える。生成部は、各ノードが文書カテゴリを示す木構造における正解パスが付与された対象文書を入力データとして第１の機械学習を実行することで、該対象文書についての末端ノードまでの正しいパスを示す分類モデルを生成する。更新部は、正解パスが付与されていない対象文書を分類モデルに適用する第２の機械学習を実行し、Ｎ階層ノードからＮ＋１階層ノードへのパスが正解パスと異なる場合に、正解パスに基づいて、該Ｎ＋１階層ノードから、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノードへの修正パスを設定することで分類モデルを更新する。
2017149911.tif 000002
【特許請求の範囲】
【請求項１】
各ノードが文書カテゴリを示す木構造における正解パスが付与された対象文書を入力データとして第１の機械学習を実行することで、該対象文書についての末端ノードまでの正しいパスを示す分類モデルを生成する生成部と、
前記正解パスが付与されていない前記対象文書を前記分類モデルに適用する第２の機械学習を実行し、Ｎ階層ノードからＮ＋１階層ノードへのパスが前記正解パスと異なる場合に、前記正解パスに基づいて、該Ｎ＋１階層ノードから、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノードへの修正パスを設定することで前記分類モデルを更新する更新部と
を備える文書分類装置。
【請求項２】
前記更新部が、前記Ｎ＋１階層ノードから、前記正解パスに含まれる前記Ｎ＋２階層ノードへの前記修正パスを設定する、
請求項１に記載の文書分類装置。
【請求項３】
前記更新部が、前記正しいパスを返す方策を用いることなく前記第２の機械学習を実行する、
請求項１または２に記載の文書分類装置。
【請求項４】
前記更新部が、前記正しいパスを返す方策と訓練した方策との混合を用いて前記第２の機械学習を実行する、
請求項１または２に記載の文書分類装置。
【請求項５】
前記更新部により更新された分類モデルを用いて文書を分類して該分類モデルを評価する評価部をさらに備える請求項１〜４のいずれか一項に記載の文書分類装置。
【請求項６】
前記評価部による評価を示す評価値が所定の基準を満たさない場合に、前記更新部が、前記正解パスが付与されていない前記対象文書を前記更新された分類モデルに適用する前記第２の機械学習を実行することで前記分類モデルの更新を再実行する、
請求項５に記載の文書分類装置。
【請求項７】
前記所定の基準が、前記文書に記載されたオブジェクトの属性に従って設定された、
請求項６に記載の文書分類装置。
【請求項８】
プロセッサを備える文書分類装置により実行される文書分類方法であって、
各ノードが文書カテゴリを示す木構造における正解パスが付与された対象文書を入力データとして第１の機械学習を実行することで、該対象文書についての末端ノードまでの正しいパスを示す分類モデルを生成する生成ステップと、
前記正解パスが付与されていない前記対象文書を前記分類モデルに適用する第２の機械学習を実行し、Ｎ階層ノードからＮ＋１階層ノードへのパスが前記正解パスと異なる場合に、前記正解パスに基づいて、該Ｎ＋１階層ノードから、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノードへの修正パスを設定することで前記分類モデルを更新する更新ステップと
を含む文書分類方法。
【請求項９】
各ノードが文書カテゴリを示す木構造における正解パスが付与された対象文書を入力データとして第１の機械学習を実行することで、該対象文書についての末端ノードまでの正しいパスを示す分類モデルを生成する生成ステップと、
前記正解パスが付与されていない前記対象文書を前記分類モデルに適用する第２の機械学習を実行し、Ｎ階層ノードからＮ＋１階層ノードへのパスが前記正解パスと異なる場合に、前記正解パスに基づいて、該Ｎ＋１階層ノードから、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノードへの修正パスを設定することで前記分類モデルを更新する更新ステップと
をコンピュータに実行させるための文書分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一側面は、木構造を用いて文書を分類する装置、方法、およびプログラムに関する。
【背景技術】
【０００２】
木構造を用いて文書を分類する手法が知られている。例えば下記特許文献１には、文書の階層型分類において、情報のカテゴリを、検索に関連する情報を含むバイナリツリーのノードを含むバイナリツリーとして構成する自動分類生成が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０１８８２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
木構造を用いた分類では、いったん、ある階層で文書が誤ったノードに分類されてしまうと、その誤りが改められることなく下層に向かって処理が進んでしまう。そこで、木構造を用いた文書の分類の精度を高めることが望まれている。
【課題を解決するための手段】
【０００５】
本発明の一側面に係る文書分類装置は、各ノードが文書カテゴリを示す木構造における正解パスが付与された対象文書を入力データとして第１の機械学習を実行することで、該対象文書についての末端ノードまでの正しいパスを示す分類モデルを生成する生成部と、正解パスが付与されていない対象文書を分類モデルに適用する第２の機械学習を実行し、Ｎ階層ノードからＮ＋１階層ノードへのパスが正解パスと異なる場合に、正解パスに基づいて、該Ｎ＋１階層ノードから、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノードへの修正パスを設定することで分類モデルを更新する更新部とを備える。【０００６】
本発明の一側面に係る文書分類方法は、プロセッサを備える文書分類装置により実行される文書分類方法であって、各ノードが文書カテゴリを示す木構造における正解パスが付与された対象文書を入力データとして第１の機械学習を実行することで、該対象文書についての末端ノードまでの正しいパスを示す分類モデルを生成する生成ステップと、正解パスが付与されていない対象文書を分類モデルに適用する第２の機械学習を実行し、Ｎ階層ノードからＮ＋１階層ノードへのパスが正解パスと異なる場合に、正解パスに基づいて、該Ｎ＋１階層ノードから、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノードへの修正パスを設定することで分類モデルを更新する更新ステップとを含む。【０００７】
本発明の一側面に係る文書分類プログラムは、各ノードが文書カテゴリを示す木構造における正解パスが付与された対象文書を入力データとして第１の機械学習を実行することで、該対象文書についての末端ノードまでの正しいパスを示す分類モデルを生成する生成ステップと、正解パスが付与されていない対象文書を分類モデルに適用する第２の機械学習を実行し、Ｎ階層ノードからＮ＋１階層ノードへのパスが正解パスと異なる場合に、正解パスに基づいて、該Ｎ＋１階層ノードから、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノードへの修正パスを設定することで分類モデルを更新する更新ステップとをコンピュータに実行させる。【０００８】
このような側面においては、まず、正解が付与された対象文書を用いた機械学習（いわゆる教師あり学習）により分類モデルが生成される。そして、正解を与えることなく対象文書をその分類モデルに適用する機械学習においてパスが正解パスと異なる場合に、そのまま下層ノードへと進むのではなく、正解パスに基づいて別の部分木のノードへの修正パスが生成される。この修正パスの存在により、分類処理が間違った方向に進んだ場合でも正解に近づく方向に戻ることが可能になる。このように処理された分類モデルを用いることで、木構造を用いた文書の分類の精度を高めることができる。
【発明の効果】
【０００９】
本発明の一側面によれば、木構造を用いた文書の分類の精度を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る文書分類装置に用いられるコンピュータのハードウェア構成を示す図である。
【図２】実施形態に係る文書分類装置の機能構成を示す図である。
【図３】カテゴリツリーの例を示す図である。
【図４】分類モデルの生成の例を示す図である。
【図５】分類モデルの更新の例を示す図である。
【図６】分類モデルの更新の例を示す図である。
【図７】実施形態に係る文書分類装置の動作を示すフローチャートである。
【図８】実施形態に係る文書分類プログラムの構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
【００１２】
図１〜図６を参照しながら、実施形態に係る文書分類装置１０の機能および構成を説明する。文書分類装置１０は、個々の電子文書に文書カテゴリを関連付けることで複数の電子文書を分類するコンピュータ・システムである。電子文書とは、データベースやメモリなどの任意の記録媒体上に記録され且つコンピュータにより読み取り可能なデータであり、テキストまたは文字列を含む。本明細書では電子文書を単に「文書」ともいう。文書カテゴリとは、文書の性質を区分するための分類である。本明細書では文書カテゴリを単に「カテゴリ」ともいう。「関連付ける」とは、オブジェクトと他のオブジェクトとを結び付けることを意味し、この関連付けにより一方のオブジェクトから他方のオブジェクトを導くことができる。
【００１３】
本実施形態では、複数のカテゴリが木構造で体系付けられる。木構造とは、一つの要素が複数の子要素を持ち一つの子要素が複数の孫要素を持つというような階層構造により、複数の要素の階層関係を表現するデータ構造である。木構造における個々の要素をノードといい、二つのノード間はリンクという線でつなげられる。本明細書では、カテゴリの階層構造をこの木構造で表現したものを「カテゴリツリー」という。カテゴリツリーの各ノードはカテゴリを示す。このカテゴリツリーは人手により予め用意されて所定の記憶装置（例えば文書分類装置１０内の記憶部）に記憶される。文書分類装置１０はこのカテゴリツリーに従って最上層（根ノード）から最下層（末端ノード）へと逐次的に文書を処理することで該文書のカテゴリを判定する。なお、本明細書では、根ノードを第１階層とし、下位の層に向かうに従って第２階層、第３階層、…というように階層の番号が一つずつ増えていくものとする。カテゴリツリーにおける階層の番号は自然数で表される。
【００１４】
カテゴリ数が膨大な場合には木構造を用いて分類する方が全体として計算およびメモリ利用を効率化できる。一方で、木構造を用いた分類は局所的に実行される。そのため、いったん誤ったノード（カテゴリ）に到達してしまうと、その後はこの誤ったノードより下のノードに向かって分類が進んで関連性の低いカテゴリに文書が分類されてしまう（誤り伝播）。
【００１５】
文書分類装置１０は模倣学習（Ｉｍｉｔａｔｉｏｎ  Ｌｅａｒｎｉｎｇ）を用いた処理を実行することでその誤り伝播の防止を図る。模倣学習とは、理想的な行動を取る主体であるエキスパートの行動を真似ることでそのエキスパートと同様の行動ができるように方策（ｐｏｌｉｃｙ）を学習する方法である。方策とは、現在の状態から次の行動への写像であり、分類器により近似することができる。模倣学習そのものは周知であり、その一つにＤａｔａｓｅｔ  Ａｇｇｒｅｇａｔｉｏｎ（ＤＡＧＧＥＲ）がある。文書分類装置１０は模倣学習を用いて分類モデルを生成する。分類モデルは、処理対象の文書（本明細書ではこれを「対象文書」という）を始点（例えば根ノード）から末端ノードまで導くためのパス（経路）が定義された方策である。
【００１６】
文書分類装置１０は分類モデルを生成するために文書データベース２０を参照する。文書データベース２０は多数の文書を記憶する装置である。ここで、「データベース」とは、プロセッサまたは外部のコンピュータからの任意のデータ操作（例えば、抽出、追加、削除、上書きなど）に対応できるようにデータ集合を記憶する装置（記憶部）である。文書データベース２０の実装方法は限定されず、例えばデータベース管理システムでもよいし、テキストファイルでもよい。文書分類装置１０は任意の通信ネットワークを介して文書データベース２０にアクセスして文書を読み出すことが可能である。なお、文書分類装置１０と文書データベース２０とを分けることは必須ではなく、文書分類装置１０が文書データベース２０を備えてもよい。
【００１７】
文書データベース２０に蓄積される文書の収集方法は限定されない。例えば、文書データベース２０はクローリングによりインターネット上から収集されたウェブページを文書として記憶してもよいし、人手により登録された文書を記憶してもよい。文書の内容も限定されず、例えばニュース（例えば、タイトルまたは本文）、ソーシャル・ネットワーキング・サービス（ＳＮＳ）内のコメント、あるいはオンライン・ショッピング・サイト内の商品ページ（例えば、商品タイトルまたは商品説明文）などでもよい。
【００１８】
文書データベース２０に記憶される文書の少なくとも一部には、カテゴリツリーにおける正解パスが予め付与される。正解パスとは、カテゴリツリーの視点（根ノード）から、文書と本来関連付けられるべき正しい末端ノード（末端カテゴリ）までの理想的な（または正しい）パスである。この正解パスは人手により付与される。
【００１９】
本実施形態では、文書データベース２０は生成された分類モデルを評価するための文書も記憶する。
【００２０】
図１は、文書分類装置１０として機能するコンピュータ１００の一般的なハードウェア構成を示す。コンピュータ１００はプロセッサ１０１、主記憶部１０２、補助記憶部１０３、通信制御部１０４、入力装置１０５、および出力装置１０６を備える。プロセッサ１０１は、オペレーティングシステムおよびアプリケーション・プログラムを実行する電子部品である。主記憶部１０２は、実行されるプログラムおよびデータを一時的に記憶する電子部品であり、例えばＲＯＭおよびＲＡＭで構成される。補助記憶部１０３は、これから処理されるデータまたは処理されたデータを恒久的に記憶する電子部品であり、例えばハードディスクやフラッシュメモリなどの記憶装置で構成される。通信制御部１０４は、有線または無線を介して他の装置との間でデータを送受信する電子部品であり、例えばネットワークカードまたは無線通信モジュールで構成される。入力装置１０５はユーザからの入力を受け付ける装置であり、例えばキーボードおよびマウスである。出力装置１０６は、プロセッサ１０１により指定または処理されたデータを人が認識可能な態様で出力する装置であり、例えばモニタおよびプリンタである。
【００２１】
文書分類装置１０は１台のコンピュータで構成されてもよいし、複数台のコンピュータで構成されてもよい。複数台のコンピュータを用いる場合には、これらのコンピュータがインターネットやイントラネットなどの通信ネットワークを介して接続されることで、論理的に一つの文書分類装置１０が構築される。
【００２２】
図２は文書分類装置１０の機能構成を示す。文書分類装置１０は機能的構成要素として生成部１１、更新部１２、および評価部１３を備える。生成部１１および更新部１２は分類器に相当する。これらの機能要素は、プロセッサ１０１または主記憶部１０２の上に所定のソフトウェア（後述する文書分類プログラムＰ１）を読み込ませてそのソフトウェアを実行させることで実現される。プロセッサ１０１はそのソフトウェアに従って通信制御部１０４、入力装置１０５、または出力装置１０６を動作させ、主記憶部１０２または補助記憶部１０３におけるデータの読み出し及び書き込みを行う。処理に必要なデータまたはデータベースは主記憶部１０２または補助記憶部１０３内に格納される。
【００２３】
生成部１１は、正解パスが付与された対象文書を入力データ（トレーニングデータ）として機械学習（第１の機械学習）を実行することで分類モデルを生成する機能要素である。生成部１１は正解パスが付与された文書を文書データベース２０から読み出す。そして、生成部１１は正解パス付きの文書を入力データとして機械学習を実行することで、その文書についての末端ノード（正解の末端ノード）までの正しいパスを示す分類モデルを生成する。生成部１１は、それぞれに正解パスが付与された複数の対象文書（例えば多数の対象文書）についてこの処理を実行し、これにより、該複数の対象文書のそれぞれについての正しいパスを示す分類モデルが生成される。生成部１１での処理は「教師あり学習」であるといえる。生成部１１は、生成した分類モデルを「初期の分類モデル」として、処理した対象文書の集合と共に更新部１２に出力する。
【００２４】
更新部１２は、正解パスが付与されていない対象文書を初期の分類モデルに適用する機械学習（第２の機械学習）を実行することで分類モデルを更新する機能要素である。更新部１２は生成部１１から入力された対象文書、すなわち初期の分類モデルの生成に用いた対象文書を用いる。
【００２５】
まず、更新部１２は正解パスが付与されていない対象文書を入力データ（トレーニングデータ）として機械学習を実行する。これは、正解パスを参照することなく機械学習することを意味する。その一方で、更新部１２は、その機械学習によりＮ階層からＮ＋１階層へのパスが得られる度に、正解パスを参照して、機械学習から得られたパスが正解パスと異なるか否かを判定する。なお、Ｎは自然数である。そして、双方のパスが異なる場合、すなわち機械学習の結果が誤りである場合には、更新部１２はその誤りを正すための修正パスを正解パスに基づいて設定する。この修正パスは、Ｎ＋１階層における誤ったノードから、Ｎ＋２階層における正解ノード（この正解ノードは正解パスに含まれる。）へのパスである。更新部１２はその修正パスを前提として、Ｎ＋１階層からＮ＋２階層に進むパスを学習する。この学習の結果、パスは正解パスに戻るかもしれないし、Ｎ＋１階層における誤ったノードの子ノードに進むかもしれない。
【００２６】
更新部１２は、それぞれが正解パスを付与されていない複数の対象文書についてこの処理を実行する。ある一つの対象文書の処理において、Ｎ階層ノードからＮ＋１階層ノードへのパスが正解パスと異なったとする。この場合に、更新部１２はその対象文書の正解パスに基づいて、該Ｎ＋１階層ノード（不正解のノード）から、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノード（これは正解パスに含まれる）へのパスを設定することで分類モデルを更新する可能性がある。このような模倣学習により、間違った方向にいったん進んだパスを正解パスへと戻すパスが生成される。
【００２７】
複数の対象文書を処理するうちに、更新部１２が既存の修正パスを再び辿ってその後の処理を進めることがあり得る。当然ながらこの場合には、更新部１２は修正パスを新たに生成することなくその修正パスを再利用すればよい。
【００２８】
一方、機械学習から得られたパスが正解パスと一致する場合、すなわち機械学習の結果が正解である場合には、更新部１２は修正パスを設定することなくさらに処理を進める。
【００２９】
更新部１２は複数の対象文書について上記の処理を実行することで得られた分類モデルを、「更新された分類モデル」として評価部１３に出力する。
【００３０】
更新部１２は、評価部１３からの指示に応じて、初期の分類モデルに対して実行した処理（すなわち、第２の機械学習）を、更新された分類モデルに対して実行する可能性がある。この再実行により、更新された分類モデルに対して更なる修正パスが設定される可能性がある。
【００３１】
評価部１３は、更新された分類モデルを評価する機能要素である。分類モデルの評価とは、分類モデルが一定以上の水準で文書を正しいカテゴリに分類することができるか否かを判定する処理である。
【００３２】
評価部１３は、評価用のデータ（評価のための文書の集合）を文書データベース２０から読み出し、そのデータを更新された分類モデルに適用することで、個々の文書にカテゴリを関連付ける。そして、評価部１３は所定の評価方法でその処理結果を評価し、評価値が所定の基準を満たすか否かを判定する。なお、評価方法は限定されない。例えば、階層的文書分類で一般的に用いられるＭｉｃｒｏ  Ｆ１を用いてもよいし、このＭｉｃｒｏ  Ｆ１に加えて収益損失率（ＡＲＬ：Ａｖｅｒａｔｅ  Ｒｅｖｅｎｕｅ  Ｌｏｓｓ）を用いてもよい。評価値が満たすべき基準は限定されない。例えば、評価部１３は評価値が所定の閾値以上である場合に評価値が基準を満たすと判定してもよい。あるいは、評価部１３は評価値の収束度が所定の範囲内である場合（前回の評価値との差が所定の閾値以下である場合）に評価値が基準を満たすと判定してもよい。
【００３３】
評価値が基準を満たす場合には、評価部１３は更新された分類モデルを最終結果として採用して出力する。なお、出力先は限定されない。例えば、評価部１３はその分類モデルを他の装置に送信してもよいし、出力装置１０６（例えばモニタまたはプリンタ）から出力することでその分類モデルを可視化してもよいし、所定のデータベースにその分類モデルを格納してもよい。出力された分類モデルは任意の文書を分類するために用いることができる。
【００３４】
一方、評価値が基準を満たさない場合には、評価部１３は更新部１２に再度の処理を指示する。上述したように、更新部１２はこの指示に応じて、更新された分類モデルに対して第２の機械学習を実行する。
【００３５】
評価部１３が用いる基準は、文書に記載されたオブジェクトの属性に従って設定されてもよい。オブジェクトの種類は限定されるものではなく、任意の有体物、無体物、または事象であってもよい。オブジェクトは文書の内容の少なくとも一部であるともいえる。オブジェクトの属性は文書に記載されたものであってもよいし、記載されていなくてもよい。例えば、オブジェクトが、オンライン・ショッピング・サイトで販売される商品であれば、オブジェクトの属性は、商品の値段、商品の販売数、商品の売上金額などであり得る。
【００３６】
上述した生成部１１、更新部１２、および評価部１３の機能は、以下のアルゴリズムで表すことができる。
１：  Ｉｎｉｔｉａｌｉｚｅ：Ｄ←｛｝
２：  ｆｏｒ  ｋ＝１，２，…，Ｋ  ｄｏ
３：    πｋ←βｋπ＊＋（１−βｋ）π＾ｋ
４：    Ｓａｍｐｌｅ  Ｔ−ｓｔｅｐ  ｔｒａｊｅｃｔｏｒｉｅｓ  ｕｓｉｎｇ  πｋ
５：    Ｇｅｔ  ｄａｔａｓｅｔ  Ｄｋ＝（φ（ｓπｋ），π＊（ｓπｋ））
６：    Ａｇｇｒｅｇａｔｅ  ｄａｔａｓｅｔｓ：Ｄ←Ｄ∪Ｄｋ
７：    Ｔｒａｉｎ  ｃｌａｓｓｉｆｉｅｒ  π＾ｋ＋１  ｏｎ  Ｄ
８：  ｅｎｄ  ｆｏｒ
９：  Ｒｅｔｕｒｎ  ｂｅｓｔ  π＾ｋ  ｏｎ  ｖａｌｉｄａｔｉｏｎ
【００３７】
１行目は、分類モデルを示すデータセットＤに空集合を代入することでデータセットＤを初期化することを示す。
【００３８】
２〜８行目は、分類モデルの生成および１回以上の更新に相当するループ処理を示す。３行目は、ｋ回目の処理において用いる混合方策πｋの設定を示す。π＊は、正しいパス（理想的なパス）を返す、「オラクル」という方策を示す。π＾ｋは、現在の方策（後述する７行目の処理で訓練した方策）を示す。βｋは、オラクルと現在の方策との混合率（言い換えると、オラクルの寄与率）を示す。この混合率は、Ｎ→∞の時に
【数１】
2017149911.tif 000003
を満たす数列である。この混合率はβ１＝１、βｋ＝０（ｋ＞１）としてもよく、これは、初回はオラクルのみを用い、２回目以降はオラクルを用いることなく現在の方策のみを用いることを意味する。あるいは、β１＝１とし、ｋ＞１においてβｋを０より大きく１より小さい数値に設定してもよい（ただし、上記の式（１）を満たす必要がある）。
【００３９】
４行目は、混合方策πｋを用いた機械学習により、カテゴリツリー上でのパスをサンプリングすることを示す。５行目は、その機械学習で新たに得られたパスの集合であるデータセットＤｋを取得することを示す。６行目はそのデータセットＤｋをデータセットＤに追加することでそのデータセットＤ（分類モデル）を更新することを示す。７行目は、更新されたデータセットＤを用いて方策π＾ｋ＋１を学習することを示す。
【００４０】
初回のループ処理は生成部１１に対応する。生成部１１はオラクルπ＊に従って正しいパスの集合（データセットＤ１）を得て、その集合をそのままデータセットＤ（分類モデル）とする。そして、生成部１１はこのデータセットＤに対応する方策π＾２を得る。
【００４１】
２回目以降のループ処理は更新部１２に相当する。２回目のループ処理では、更新部１２は所定の混合率β２を用いて計算された混合方策π２を用いる。この混合方策は現在の方策が考慮されたものなので、オラクルとは異なる行動を取る可能性があり、従って修正パスが生成される可能性がある。更新部１２はその修正パスの集合（データセットＤ２）を得て、この集合を、正しいパスの集合を示すデータセットＤに追加する。そして、更新部１２は更新されたデータセットＤ（分類モデル）に対応する方策π＾３を得る。３回目以降の処理は２回目と同様である。
【００４２】
９行目は、評価により採用された分類モデルを出力する評価部１３に対応する。
【００４３】
図３〜図６を参照しながら、文書分類装置１０および上記アルゴリズムについてさらに説明する。図３は家電に関するカテゴリツリーを示す。この例では「家電」を第１階層ノード（根ノード）とし、第２階層に３ノードが存在する。それぞれの第２階層ノードは子ノード（第３階層ノード）を持つ。さらに、一部の第３階層ノードが子ノード（第４階層ノード）を有する。すべての第４階層ノード、および子ノードを持たない第３階層ノードが末端ノードである。以下では、第４階層にある末端ノード「フィルムカメラ」についての処理の例を説明する。
【００４４】
図４は、初回のループ処理に相当する生成部１１が［“家電”→“カメラ＆写真”→“カメラ”→“フィルムカメラ”］という正解パスＲｃを得たことを示す。当然ながら、この正解パスＲｃは所与のカテゴリツリーのリンクに沿ったものである。
【００４５】
図５は、２回目のループ処理に相当する更新部１２が以下の二つのパスＲ１，Ｒ２を得たことを示す。
Ｒ１：［“家電”→“テレビ＆アクセサリ”→“カメラ”→“フィルムカメラ”］
Ｒ２：［“家電”→“カメラ＆写真”→“フラッシュ”→“フィルムカメラ”］
【００４６】
パスＲ１に関して言うと、第１階層ノード「家電」から第２階層ノード「テレビ＆アクセサリ」へのパスが正解パスＲｃと異なる。しかし、更新部１２の処理により、その第２階層ノード「テレビ＆アクセサリ」から、第２階層ノード「テレビ＆アクセサリ」の子ノードではない第３階層ノード「カメラ」への修正パスが生成され得る。この場合には、パスＲ１は正解パスＲｃに戻って末端ノード「フィルムカメラ」に至ることができる。
【００４７】
パスＲ２についてもパスＲ１と同様のことがいえる。すなわち、第２階層ノード「カメラ＆写真」から第３階層ノード「フラッシュ」へのパスが正解パスＲｃと異なる。しかし、更新部１２の処理により、その第３階層ノード「フラッシュ」から、第３階層ノード「フラッシュ」の子ノードではない第４階層ノード「フィルムカメラ」への修正パスが生成され得る。この場合には、パスＲ２は最終的に正解パスＲｃの終点である末端ノード「フィルムカメラ」に至る。
【００４８】
図６は、評価部１３からの指示に基づく更新部１２の再実行により以下の二つのパスＲ３，Ｒ４が得られたことを示す。
Ｒ３：［“家電”→“個人向け家電”→“カメラ”→“フィルムカメラ”］
Ｒ４：［“家電”→“個人向け家電”→“ラジオ”→“フィルムカメラ”］
【００４９】
パスＲ３に関して言うと、第１階層ノード「家電」から第２階層ノード「個人向け家電」へのパスが正解パスＲｃと異なる。しかし、更新部１２の処理により、その第２階層ノード「個人向け家電」から、第２階層ノード「個人向け家電」の子ノードではない第３階層ノード「カメラ」への修正パスが生成され得る。この場合には、パスＲ３は正解パスＲｃに戻って末端ノード「フィルムカメラ」に至ることができる。
【００５０】
パスＲ４のように、第１階層ノード「家電」から第２階層ノード「個人向け家電」および第３階層ノード「ラジオ」へと至る誤ったパスが得られるかもしれない。しかし、更新部１２の処理により、その第３階層ノード「ラジオ」から、第３階層ノード「ラジオ」の子ノードではない第４階層ノード「フィルムカメラ」への修正パスが生成される可能性がある。この場合には、パスＲ４は最終的に正解パスＲｃの終点である末端ノード「フィルムカメラ」に至る。
【００５１】
図５および図６からわかるように、修正パスは所与のカテゴリツリーのリンクに沿ったものではない。図６におけるパスＲ１〜Ｒ４のような、学習の誤りを想定したパスが分類モデルに追加されることで、予測の誤りを低減して文書分類の精度を上げることができる。
【００５２】
次に、図７を参照しながら、文書分類装置１０の動作を説明するとともに本実施形態に係る文書分類方法について説明する。まず、生成部１１が、いわゆる教師あり学習により（すなわち、オラクルを用いて）、正しいパスを示す分類モデルを生成する（ステップＳ１１）。続いて、更新部１２が、上記アルゴリズムで示される模倣学習により分類モデルを更新する（ステップＳ１２）。そして、評価部１３が更新された分類モデルを評価する（ステップＳ１３）。その評価値が基準を満たせば（ステップＳ１４においてＹＥＳ）、評価部１３はその分類モデルを出力する（ステップＳ１５）。一方、評価値が基準を満たさない場合には（ステップＳ１４においてＮＯ）、処理はステップＳ１２に戻り、分類モデルの更なる更新が行われる。
【００５３】
次に、図８を参照しながら、文書分類装置１０を実現するための文書分類プログラムＰ１を説明する。文書分類プログラムＰ１は、メインモジュールＰ１０、生成モジュールＰ１１、更新モジュールＰ１２、および評価モジュールＰ１３を備える。メインモジュールＰ１０は、分類モデルの生成を統括的に制御する部分である。生成モジュールＰ１１、更新モジュールＰ１２、および評価モジュールＰ１３を実行することにより実現される機能はそれぞれ、上記の生成部１１、更新部１２、および評価部１３の機能と同様である。
【００５４】
文書分類プログラムＰ１は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、文書分類プログラムＰ１は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
【００５５】
以上説明したように、本発明の一側面に係る文書分類装置は、各ノードが文書カテゴリを示す木構造における正解パスが付与された対象文書を入力データとして第１の機械学習を実行することで、該対象文書についての末端ノードまでの正しいパスを示す分類モデルを生成する生成部と、正解パスが付与されていない対象文書を分類モデルに適用する第２の機械学習を実行し、Ｎ階層ノードからＮ＋１階層ノードへのパスが正解パスと異なる場合に、正解パスに基づいて、該Ｎ＋１階層ノードから、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノードへの修正パスを設定することで分類モデルを更新する更新部とを備える。
【００５６】
本発明の一側面に係る文書分類方法は、プロセッサを備える文書分類装置により実行される文書分類方法であって、各ノードが文書カテゴリを示す木構造における正解パスが付与された対象文書を入力データとして第１の機械学習を実行することで、該対象文書についての末端ノードまでの正しいパスを示す分類モデルを生成する生成ステップと、正解パスが付与されていない対象文書を分類モデルに適用する第２の機械学習を実行し、Ｎ階層ノードからＮ＋１階層ノードへのパスが正解パスと異なる場合に、正解パスに基づいて、該Ｎ＋１階層ノードから、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノードへの修正パスを設定することで分類モデルを更新する更新ステップとを含む。
【００５７】
本発明の一側面に係る文書分類プログラムは、各ノードが文書カテゴリを示す木構造における正解パスが付与された対象文書を入力データとして第１の機械学習を実行することで、該対象文書についての末端ノードまでの正しいパスを示す分類モデルを生成する生成ステップと、正解パスが付与されていない対象文書を分類モデルに適用する第２の機械学習を実行し、Ｎ階層ノードからＮ＋１階層ノードへのパスが正解パスと異なる場合に、正解パスに基づいて、該Ｎ＋１階層ノードから、該Ｎ＋１階層ノードの子ノードではないＮ＋２階層ノードへの修正パスを設定することで分類モデルを更新する更新ステップとをコンピュータに実行させる。
【００５８】
このような側面においては、まず、正解が付与された対象文書を用いた機械学習（いわゆる教師あり学習）により分類モデルが生成される。そして、正解を与えることなく対象文書をその分類モデルに適用する機械学習においてパスが正解パスと異なる場合に、そのまま下層ノードへと進むのではなく、正解パスに基づいて別の部分木のノードへの修正パスが生成される。この修正パスの存在により、分類処理が間違った方向に進んだ場合でも正解に近づく方向に戻ることが可能になる。このように処理された分類モデルを用いることで、木構造を用いた文書の分類の精度を高めることができる。例えば、誤った方向に進んだ分類処理を、最終的に正しい末端ノード（末端カテゴリ）へと案内することができる。もし正しい末端ノードへと案内することができないとしても、該末端ノードとの関連性または類似性が高い別の末端ノード（正しい末端ノードと兄弟関係にあるような末端ノード）へと分類処理を案内することができる。
【００５９】
他の側面に係る文書分類装置では、更新部が、Ｎ＋１階層ノードから、正解パスに含まれるＮ＋２階層ノードへの修正パスを設定してもよい。いったん間違った方向に進んだパスを正解パスに戻すことで、文書の分類の精度を高めることができる。
【００６０】
他の側面に係る文書分類装置では、更新部が、正しいパスを返す方策を用いることなく第２の機械学習を実行してもよい。正解パスの手掛かりを与えることなく機械学習を実行することで、得られるパスが間違う蓋然性が高まる。しかし、可能性のあるすべての間違いに対して修正パスを設定する機会が生まれるので、その分、文書の分類の精度を高めることができる。
【００６１】
他の側面に係る文書分類装置では、更新部が、正しいパスを返す方策と訓練した方策との混合を用いて第２の機械学習を実行してもよい。混合方策が正解パスの手掛かりを含むので、第２の機械学習におけるパスの間違いが減る可能性がある。その結果、修正パスの設定の回数が減り、分類モデルの生成に掛かる全体的な時間の短縮が期待できる。
【００６２】
他の側面に係る文書分類装置では、更新部により更新された分類モデルを用いて文書を分類して該分類モデルを評価する評価部をさらに備えてもよい。これにより分類モデルを評価することができる。
【００６３】
他の側面に係る文書分類装置では、評価部による評価を示す評価値が所定の基準を満たさない場合に、更新部が、正解パスが付与されていない対象文書を更新された分類モデルに適用する第２の機械学習を実行することで分類モデルの更新を再実行してもよい。この場合には、一定の水準を満たす分類モデルを提供することができる。
【００６４】
他の側面に係る文書分類装置では、所定の基準が、文書に記載されたオブジェクトの属性に従って設定されてもよい。この場合には、分類モデルの評価の厳格さを文書の内容に応じて設定できる。
【００６５】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
【００６６】
上記実施形態では、Ｎ階層ノードからＮ＋１階層ノードへのパスが正解パスと異なる場合に、更新部１２が該Ｎ＋１階層ノードから、正解パスに含まれるＮ＋２階層ノードへの修正パスを設定した。しかし、修正パスの終点は正解パスに含まれるノードでなくてもよい。例えば、更新部１２は、誤ったＮ＋１階層ノードを根ノードとする部分木と、正解パスを含む部分木との間に位置する部分木に含まれるＮ＋２階層ノードへの修正パスを設定してもよい。この場合には、たとえ正しいカテゴリに文書が分類されない場合でも、その正しいカテゴリと兄弟の関係にあるようなカテゴリ（正しいカテゴリとの関連性または類似性が高いカテゴリ）にその文書が分類される確率が高くなる。
【００６７】
評価部を省略してもよい。更新部は分類モデルの更新を無条件に所定の回数だけ繰り返した上で最終的な分類モデルを出力してもよい。あるいは、更新部は分類モデルの更新を一回だけ実行した後に分類モデルを出力してもよい。
【００６８】
文書分類装置は、最終的に得られた分類モデルを用いて任意の文書を分類する分類部を備えてもよい。この分類部は分類モデルの実用段階であるといえる。
【００６９】
少なくとも一つのプロセッサにより実行される文書分類方法の処理手順は上記実施形態での例に限定されない。例えば、文書分類装置は上述したステップ（処理）の一部を省略してもよいし、別の順序で各ステップを実行してもよい。また、上述したステップのうちの任意の２以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、文書分類装置は上記の各ステップに加えて他のステップを実行してもよい。
【００７０】
文書分類装置内で二つの数値の大小関係を比較する際には、「以上」および「よりも大きい」という二つの基準のどちらを用いてもよく、「以下」および「未満」の二つの基準のうちのどちらを用いてもよい。このような基準の選択は、二つの数値の大小関係を比較する処理についての技術的意義を変更するものではない。
【符号の説明】
【００７１】
１０…文書分類装置、１１…生成部、１２…更新部、１３…評価部、Ｐ１…文書分類プログラム、Ｐ１０…メインモジュール、Ｐ１１…生成モジュール、Ｐ１２…更新モジュール、Ｐ１３…評価モジュール。
【図１】
2017149911.tif 000004
【図２】
2017149911.tif 000005
【図３】
2017149911.tif 000006
【図４】
2017149911.tif 000007
【図５】
2017149911.tif 000008
【図６】
2017149911.tif 000009
【図７】
2017149911.tif 000010
【図８】
2017149911.tif 000011
【国際調査報告】
2017149911.tif 000012
2017149911.tif 000013