(57)【要約】【課題】手書き文書の自動的な分類を支援する。【解決手段】実施の形態によれば、文書入力部と、抽出部と、特徴量抽出変換部と、類似性検出部と、算定部と、格納部と、を備えている。文書入力部は、ストローク情報を入力文書として複数の文書を取得する。抽出部は、前記ストローク情報から、図形情報、アノテーション情報、及びテキスト情報のうちの１以上を抽出する。特徴量抽出変換部は、抽出された前記情報から、文書間の類似性を比較可能にする特徴量を算出する。類似性検出部は、クラスタの特徴を示す、前記特徴量を含む代表ベクトルをそれぞれ含む複数のクラスタを設定し、前記複数の文書のそれぞれがどのクラスタに属するかを算出する。算定部は、前記代表ベクトルのそれぞれに含まれる該代表ベクトルを特徴づける１以上の特徴量を分類ルールとして算定する。格納部は、前記分類ルールを格納する。【選択図】図１
2014067154.tif 000002
【特許請求の範囲】
【請求項１】
ストローク情報を入力文書として複数の文書を取得する文書入力部と、
前記ストローク情報から、図形情報、アノテーション情報、及びテキスト情報のうちの１以上を抽出する抽出部と、
抽出された前記情報から、文書間の類似性を比較可能にする特徴量を算出する特徴量抽出変換部と、
クラスタの特徴を示す、前記特徴量を含む代表ベクトルをそれぞれ含む複数のクラスタを設定し、前記複数の文書のそれぞれがどのクラスタに属するかを算出する類似性検出部と、
前記代表ベクトルのそれぞれに含まれる該代表ベクトルを特徴づける１以上の特徴量を分類ルールとして算定する算定部と、
前記分類ルールを格納する格納部と、を具備する文書分類支援装置。
【請求項２】
前記算定部は、
前記１以上の特徴量をユーザに提示する提示部と、
ユーザが選択した特徴量を分類ルールとして設定する選択部と、を具備する請求項１に記載の文書分類支援装置。
【請求項３】
前記提示部は、文書間、及び１以上の文書を含む文書グループ間のうちの１以上の類似性の度合いを、それぞれ文書間の距離及び文書グループ間の距離で示し、ユーザによって前記距離の大きさを調整することが可能な請求項２に記載の文書分類支援装置。
【請求項４】
前記文書入力部が１文書を入力し、前記特徴量抽出変換部が該１文書から第１特徴量を算出し、
前記第１特徴量と前記分類ルールとを比較し、第１特徴量に適合する度合いの大きいカテゴリを１以上推定する推定部をさらに具備する請求項１から請求項３のいずれか１項に記載の文書分類支援装置。
【請求項５】
前記推定部は、算出したカテゴリにアクションが紐づけられている場合、該アクションの実行可否を検証し、実行可能であれば該アクションを実行する請求項４に記載の文書分類支援装置。
【請求項６】
前記特徴量は、ベクトルで表現される請求項１から請求項５のいずれか１項に記載の文書分類支援装置。
【請求項７】
前記特徴量抽出変換部は、前記複数の文書から得られる統計量に応じて、図形情報、アノテーション情報、及びテキスト情報の１以上を新たに抽出して該情報から特徴量を算出する請求項１から請求項６のいずれか１項に記載の文書分類支援装置。
【請求項８】
ストローク情報を入力文書として複数の文書を取得し、
前記ストローク情報から、図形情報、アノテーション情報、及びテキスト情報のうちの１以上を抽出し、
抽出された前記情報から、文書間の類似性を比較可能にする特徴量を算出し、
クラスタの特徴を示す、前記特徴量を含む代表ベクトルをそれぞれ含む複数のクラスタを設定し、前記複数の文書のそれぞれがどのクラスタに属するかを算出し、
前記代表ベクトルのそれぞれに含まれる該代表ベクトルを特徴づける１以上の特徴量を分類ルールとして算定し、
前記分類ルールを格納部に格納する文書分類支援方法。
【請求項９】
コンピュータを、
ストローク情報を入力文書として複数の文書を取得する文書入力手段と、
前記ストローク情報から、図形情報、アノテーション情報、及びテキスト情報のうちの１以上を抽出する抽出手段と、
抽出された前記情報から、文書間の類似性を比較可能にする特徴量を算出する特徴量抽出変換手段と、
クラスタの特徴を示す、前記特徴量を含む代表ベクトルをそれぞれ含む複数のクラスタを設定し、前記複数の文書のそれぞれがどのクラスタに属するかを算出する類似性検出手段と、
前記代表ベクトルのそれぞれに含まれる該代表ベクトルを特徴づける１以上の特徴量を分類ルールとして算定する算定手段と、
前記分類ルールを格納する格納手段として機能させるための文書分類支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書きの文書に対する文書分類支援装置、方法及びプログラムに関する。
【背景技術】
【０００２】
近年、タブレット型端末が普及し始めており、これに伴って入力デバイスとしてのペン入力装置が注目されている。こうした環境が用意されれば、ユーザは慣れ親しんだ紙とペンを電子的に模倣した直感的な入力装置によって、いつでも手軽に文書を作成できる。しかし、従来のテキストデータとは異なり、作成した文書を簡単に検索したりコピーペーストなどで再利用することが難しくなっている。
【０００３】
特に情報が、筆跡データ（ストロークデータ）として保存されるため、テキスト文書で活用されていた全文検索などが適用できないことや、仮にストローク認識技術を適用しても、テキスト認識には誤りが存在するためユーザの意図している文書を正しく探すことが困難である。
【０００４】
こうした状況に対応して文書分類を実現するために、タブレットに入力された手書き文書に対して、ストロークの方向及び長さ、又は曲線の有無などのストロークデータを検出し、対応する事前登録済みキーワード（“図形主体の文書”、“書き手は子供”など）をファジイ推論で割り当てることが提案されている。その結果、ストロークからの文字認識結果を必要とせずに、文書特徴を活用しながらの文書分類が可能になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−３１９７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしこのような、事前定義されたストローク長や方向、曲線の有無などをパターン化して判断する方法では、設計時に想定しなかったようなユーザの自由な書式で書かれたバリエーションを吸収できない。さらに、ユーザのニーズに沿った、きめ細かな分類カテゴリの新設や追加が困難である。
【０００７】
一方、ストロークからの手書文字認識結果の利用を試みた場合にも、単純なクラスタリング手法などでは、元のデータに認識誤りテキストが含まれているため、各クラスタの代表語が、ユーザにとってわかりにくい場合がある。さらに、一般的なクラスタリング手法を用いてしまうと、使い始めなどの初期段階では、大量の文書が存在しないため、分類精度が出にくいという問題もある。
【０００８】
そこで、発明が解決しようとする課題は、上記の事情に鑑みてなされてものであり、手書き文書の自動的な分類を支援するための文書分類支援装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
実施の形態によれば、文書入力部と、抽出部と、特徴量抽出変換部と、類似性検出部と、算定部と、格納部と、を備えている。文書入力部は、ストローク情報を入力文書として複数の文書を取得する。抽出部は、前記ストローク情報から、図形情報、アノテーション情報、及びテキスト情報のうちの１以上を抽出する。特徴量抽出変換部は、抽出された前記情報から、文書間の類似性を比較可能にする特徴量を算出する。類似性検出部は、クラスタの特徴を示す、前記特徴量を含む代表ベクトルをそれぞれ含む複数のクラスタを設定し、前記複数の文書のそれぞれがどのクラスタに属するかを算出する。算定部は、前記代表ベクトルのそれぞれに含まれる該代表ベクトルを特徴づける１以上の特徴量を分類ルールとして算定する。格納部は、前記分類ルールを格納する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態に係る文書分類支援装置のブロック図。
【図２】図１の候補算定部を候補提示・選択部に変更した場合での実施の形態に係る文書分類支援装置のブロック図。
【図３】ルール構築をする場合での図２の文書分類支援装置の動作の一例を示すフローチャート。
【図４】文書の分類を行う場合での実施の形態に係る文書分類支援装置の動作の一例を示すフローチャート。
【図５】図１及び図２の図形特徴抽出部の動作の一例を示すフローチャート。
【図６】図１及び図２の文書特徴量抽出・変換部の動作の一例を示すフローチャート。
【図７】図１及び図２の類似性検出部の動作の一例を示すフローチャート。
【図８】文書間の類似度の定義の一例について示した図。
【図９】図形特徴の類似性の定義を説明するための文書の一例を示す図。
【図１０】類似度重み付けの調整ユーザインタフェースの一例を示した図。
【図１１】図１の候補算定部の動作の一例を示すフローチャート。
【図１２】図２の候補提示・選択部の動作の一例を示すフローチャート。
【図１３】図２の候補提示・選択部での分類候補の提示画面の一例を示す図。
【図１４】図１の分類推定部の動作の一例を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら実施形態に係る文書分類支援装置、方法及びプログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
【００１２】
実施の形態に係る文書分類支援装置について図１を参照して説明する。  
本実施の形態の文書分類支援装置は、文書入力部１０１、図形特徴抽出部１０２、文書特徴量抽出・変換部１０３、類似性検出部１０４、候補算定部１０５、分類ルール格納部１０６、及び分類推定部１０７を備えている。文書分類支援装置は、（１）ルール構築を行う場合と、（２）新規文書を入力して文書の分類を行う場合とで使用される。（１）の場合には、文書入力部１０１、図形特徴抽出部１０２、文書特徴量抽出・変換部１０３、類似性検出部１０４、候補算定部１０５、分類ルール格納部１０６が使用され、（２）の場合には、文書入力部１０１、図形特徴抽出部１０２、文書特徴量抽出・変換部１０３、分類ルール格納部１０６、分類推定部１０７が使用される。（１）に代わって、（３）ユーザに候補提示をしてルール構築をする場合もあるが、この場合については図２を参照して後に説明する。
【００１３】
文書入力部１０１は、手書き文書を取得する。上記（１）または（３）の場合には文書入力部１０１は、学習用の蓄積された大量の手書き文書からなる手書き文書集合（例えばユーザの作成した文書集合）を取得する。上記（２）の場合には文書入力部１０１は、分類されるべき新たな文書を取得する。ここで、新たな文書とは、テキスト文書ではなく、文字認識される前の、筆跡データ（ストロークデータ）の集合、すなわち、ストローク情報である。
【００１４】
図形特徴抽出部１０２は、（１）、（２）及び（３）のいずれの場合でも使用され、文書入力部１０１で取得した文書から、この文書に含まれる図形の特徴量や文字認識結果を抽出する。文字認識結果は、アノテーション情報、テキスト文字列を含む。アノテーション情報には例えば、二重線・囲みなどのアノテーション記号に関する情報である。図形特徴抽出部１０２は、抽出した、図形特徴量と文字認識結果を文書（または文書中のページ）に対応づける。図形特徴抽出部１０２は、各文書での図形や表の有無、二重線・囲みなどのアノテーション記号のバリエーション、出現する文字列や単語などを抽出する。
【００１５】
文書特徴量抽出・変換部１０３は、（１）、（２）及び（３）のいずれの場合でも使用され、図形特徴抽出部１０２で抽出された情報から、文書間の類似度を比較可能にするための特徴量を算出する。文書特徴量抽出・変換部１０３はここまでの抽出結果を比較可能な特徴量として変換する。文書特徴量抽出・変換部１０３は例えば、テキスト領域の論理要素（例えば文書のレイアウトに関する要素）を抽出するとともに、図形特徴抽出部１０２で抽出された文字認識結果からの文書特徴量と、図形特徴抽出部１０２で抽出した図形の特徴量とを比較しやすい特徴量に変換する。文書特徴量抽出・変換部１０３は、例えば文書ベクトルに変換する。
【００１６】
類似性検出部１０４は、上記（１）または（３）の場合にのみ機能し、文書特徴量抽出・変換部１０３で変換された大量の文書に対応する複数の特徴量に基づいて、文書間の類似性を算出する。類似性検出部１０４は、これまで抽出された全ての特徴量を使用して類似性を算出する。
【００１７】
候補算定部１０５は、上記（１）の場合にのみ機能し、類似性検出部１０４で類似性に基づいてグルーピングされた結果から、その軸を分類候補とし最も高いランクの候補を算定する。候補算定部１０５は、この最も高いランクの候補を分類ルールとして決定し、分類ルール格納部１０６に格納する。分類ルールとは、選択した（複数の）候補とそれらの関係を示し、例えば特徴量と比較可能な数値が対応づけてある関係である。
【００１８】
分類ルール格納部１０６は、上記（１）または（３）の場合には、分類条件を組み合わせて分類ルールとして格納する。分類ルール格納部１０６は、上記（２）の場合には分類推定部１０７に参照される。
【００１９】
分類推定部１０７は、上記（２）の場合のみ機能し、変換された特徴量と、分類ルール格納部１０６に蓄積されている分類ルールとを照合する。そして分類推定部１０７は、照合の結果、新規文書を予め定められているカテゴリへ分類する。
【００２０】
ここで、図１の文書分類支援装置の候補算定部１０５を候補提示・選択部２０１に変更した場合の一例について図２を参照して説明する。図２は、（１）に代わって、（３）ユーザに候補提示をしてルール構築をする場合のブロック図である。  
候補提示・選択部２０１は、類似性検出部１０４で類似性に基づいてグルーピングされた結果から、その軸を分類候補として提示する。ユーザがこの提示された分類候補を参照して分類ルールを決定し、候補提示・選択部２０１が決定された分類ルールを分類ルール格納部１０６に格納する。
【００２１】
次に、（３）候補提示をしてルール構築をする場合の文書分類支援装置の動作の一例について図３を参照して説明する。  
まず、文書入力部１０１が手書き文書集合を入力する。図形特徴抽出部１０２が、図形の特徴量、アノテーション情報、テキスト文字列を抽出する（ステップＳ３０１）。
【００２２】
文書特徴量抽出・変換部１０３が、テキスト領域の論理要素を抽出するとともに、各抽出結果を特徴量に変換する（ステップＳ３０２）。
【００２３】
類似性検出部１０４が、全ての文書間の類似性（より具体的には類似度）を算定する（ステップＳ３０３）。
【００２４】
候補提示・選択部２０１が、算定した類似度に基づき文書をグルーピングし、グルーピングの手がかりとなっている特徴量を提示する（ステップＳ３０４）。
【００２５】
続いて、候補提示・選択部２０１が、提示した複数の候補から少なくとも１つの候補をユーザに選択させる（ステップＳ３０５）。そして、選択した（通常は複数の）候補とそれらの関係を分類ルール格納部１０６に分類ルールとして蓄積してゆく（ステップＳ３０６）。
【００２６】
次に、（２）文書の分類を行う場合での動作の一例について図４を参照して説明する。  
まず、文書入力部１０１が新たに分類対象とする新規文書を読み込む（ステップＳ４０１）。
【００２７】
図形特徴抽出部１０２が、新規文書から図形特徴、アノテーション情報、テキスト文字列を抽出する（ステップＳ４０２）。
【００２８】
文書特徴量抽出・変換部１０３が、テキスト領域の論理要素を抽出するとともに、この論理要素を含みここまでに得られた各抽出結果を類似度演算可能な特徴量に変換する（ステップＳ４０３）。
【００２９】
分類推定部１０７が、分類ルール格納部１０６に蓄積されている分類ルールを読み込み（ステップＳ４０４）、分類推定部１０７が、分類対象となる新規文書の特徴量と分類ルールとを照らしあわせて、最も適切なカテゴリへ分類する（ステップＳ４０５）。
【００３０】
次に、図形特徴抽出部１０２の動作の一例について図５を参照して説明する。  
まず、文書入力部１０１から入力した文書から、書かれている内容をストローク情報として取り出し（ステップＳ５０１）、大局的領域判定を行う（ステップＳ５０２）。大局的領域判定では、ページ全体に対してストロークが存在する領域を検出し、各セグメント領域に文字列が含まれているか否かを簡易検出しながら対象領域を拡大して、ページ全体に対し、文字列が含まれているセグメント群、及び文字列が含まれていないセグメント群（図形領域と仮定する）を区別する検出をする（ステップＳ５０３）。図形領域が存在するかどうかを判定し、図形領域が存在すると判定した場合にはステップＳ５０５へ進み、図形領域が存在しないと判定した場合にはステップＳ５０６へ進む（ステップＳ５０４）。
【００３１】
図形領域が存在する場合には、図形領域に対し、線の交差や閉路の有無などの図形特徴情報と、事前に定義されているモデルとを参照して、該当する図形があればそれらを抽出し特定する（ステップＳ５０５）。図形領域が存在しないと判定した場合またはステップＳ５０５の後にはテキスト領域が存在するかどうかを判定し、テキスト領域が存在すると判定した場合にはステップＳ５０７へ進み、テキスト領域が存在しないと判定した場合にはステップＳ５０８へ進む（ステップＳ５０６）。
【００３２】
テキスト領域が存在すると判定した場合には、テキスト領域に文字認識処理を適用する（ステップＳ５０７）。手書き文字認識処理も図形抽出と同様に、ストロークの特徴量と文字認識用のモデルを照らしあわせて最も尤度の高い文字列を認識結果として出力する。テキスト領域が存在しない場合は、この処理はスキップする。
【００３３】
最後に、抽出された基本図形と、テキスト情報とを入力文書（ページ情報）に対応づけて保存し、処理を終える（ステップＳ５０８）。テキスト情報は文字列のみからなる情報を示す。
【００３４】
次に、文書特徴量抽出・変換部１０３の動作の一例について図６を参照して説明する。  
まず、図形特徴抽出部１０２までの処理の結果として得られた文書（ページ）内の特徴抽出結果を読み込む（ステップＳ６０１）。
【００３５】
テキスト情報に基づいて、論理要素、及びストロークの位置情報を検出する（ステップＳ６０２）。ここでの論理要素とは、主に行を粒度とする属性情報であり、隣接行との関係から、見出しや小見出し（タイトルやサブタイトル）の特徴、箇条書き（リスト）の要素であること、それらの組み合わせから章・節・小節などを想定した複数階層からなる階層構造、などの属性を意味している。
【００３６】
論理要素を検出するための方法はいくつか考えられるが、ここではその一例として、手書き文字認識結果を利用して、文字列により隣接行の類似性や独立性を判定することで、見出しやパラグラフの論理要素を検出する方法を述べる。  
まず、見出し表記を特定する。ページ内に含まれる各行の平均的な文字列数と分散を求めておき、見出し行と見なせる適当なしきい値をヒューリスティックに設定しておく。また、前行や前々行に出現する空行の有無も条件として、判定の場合の重み付け係数として用いてもよい。次に、見出しとして判定された各行の関係性をみる。具体的には、見出し行冒頭の文字列が記号や数字の場合に、それらが類似しているか否かを見る。
【００３７】
以下、集合の各要素は見出し行と判定された各行の冒頭記号を枚挙したものとする。（例：｛・，・｝＝黒中点で完全一致（類似性「高」），｛（１），（２），（３）｝＝各行の冒頭記号で、３つの文字で２つ（小括弧）が一致（類似性「中」），｛（１）、［Ａ］｝＝０／３の記号が一致（類似性なし））
これらの類似性の判断には、単純な文字列距離を用いて一致率に応じて類似度の大中小をヒューリスティックに定めるなどの方法がある。さらに、比較対象文字列中に数字が出現している場合は、ページ冒頭からの順序を考慮し、その数字の変化が、カウンタとして増えているような場合は類似性が高いという補正を掛けてもよい。（例：｛（１），（２），（３）｝＝数字がカウンタとして増えているため、類似度は「中」ではなく、「高」とする。）
以上のような見出しを検出し、それぞれの見出しの間隔（見出し間が、何行離れているか）によって、例えば２行以内であれば、それぞれの見出しとその間のテキスト要素を箇条書きリストとしておく、あるいは３行以上離れていれば、それぞれを章立て構造の見出しとして、見出し間の各行はパラグラフを示す領域としてまとめておく。以上の処理によって、各行の論理要素の、見出しやパラグラフ、箇条書きなどの検出と割り当て、が可能になる。
【００３８】
ここから図６に戻る。次に、文書内ではなく、複数文書間における情報を用いて明らかになる特徴量を抽出する（ステップＳ６０３）。具体的には、全文書（ページ）に対して、ページごとの文字数をカウントしたり、文字列ｎ−ｇｒａｍ、単語ｎ−ｇｒａｍ、それぞれのｔｆ／ｉｄｆ値などを算出する。特徴量は例えば、タイトルがいくつあるか、箇条書きがいくつあるかを示す。
【００３９】
全体の統計量に基づいて、個別の文書に対する特徴量を算出する（ステップＳ６０４）。文書特徴量抽出・変換部１０３は、複数の文書から得られる統計量に応じて、図形情報、アノテーション情報、及びテキスト情報の１以上を新たに抽出してこれらの情報から特徴量を算出する。具体的には例えば、ページあたりに平均文字数を参考に、各ページの文字出現密度の偏りなどの統計量がこれに該当する。
【００４０】
最後に、ここまでに獲得した特徴量を文書ベクトルとして表現して処理を終える（ステップＳ６０５）。
【００４１】
次に、類似性検出部１０４の動作の一例について図７を参照して説明する。  
まず、類似性検出のための初期パラメータを読み込む（ステップＳ７０１）。具体的には、初期クラスタ数の設定や、更新繰り返し処理の上限数などを設定する。
【００４２】
初期パラメータに基づいてランダムにｎ個の文書をピックアップする（ステップＳ７０２）。ここでは初期クラスタ数としてｎ個を定義していたものとする。
【００４３】
ｎ個のそれぞれの文書を初期クラスタとして設定するとともにクラスタ重心として設定する（ステップＳ７０３）。
【００４４】
続いて、各クラスタの代表値と、すべての文書との類似度を計算し、各文書を最も類似度の高かったクラスタに割り当てる（ステップＳ７０４）。ここでクラスタの代表値は、代表的なベクトル（以下、代表ベクトルとも称す）を示す。後の図８に説明する例では、この代表ベクトルは３種類あり、図形特徴ベクトル、単語特徴ベクトル、論理要素特徴ベクトルである。この場合ステップＳ７０４では、これら３種類の代表ベクトルそれぞれによって類似度を算出して、これらの類似度を後述する式のようにα、β、γで重み付した値を最終的な類似度として、この類似度が最も大きいクラスタに文書を割り当てる。
【００４５】
次に、すべての文書のクラスタ割り当てが終了したら、各クラスタの重心を再計算する（ステップＳ７０５）。
【００４６】
そして、再計算されたクラスタ重心に基づいて、各クラスタの代表ベクトルと各文書の文書ベクトルとの類似度を計算し、各文書のクラスタ割り当てを再計算する（ステップＳ７０６）。ここで文書ベクトルとは、図８の例では図形特徴ベクトル、単語特徴ベクトル、論理要素特徴ベクトルの組を示す。各クラスタの代表ベクトルと各文書の文書ベクトルとの類似度を計算するとは、これら３種類の代表ベクトルそれぞれによって類似度を算出して、これらの類似度を後述する式のようにα、β、γで重み付した値を最終的な類似度として、この類似度を計算することである。
【００４７】
その結果、クラスタ割り当ての更新前後を通じて、各クラスタに含まれる文書集合に変更がない、または事前に指定された特定回数の更新処理が行われたかどうかを判定する（ステップＳ７０７）。文書集合に変更がないまたは特定回数の更新処理が行われたと判定した場合には、処理を完了する。文書集合に変更がないまたは特定回数の更新処理が行われたと判定されなかった場合には、ステップＳ７０５に戻りクラスタ重心の計算と各文書のクラスタ割り当て更新作業を繰り返す。
【００４８】
この各文書間での類似度の定義について図８を参照して説明する。  
今、類似度を比較したい文書をＡ，Ｂとした場合に、この文書間の類似度は、ＤｏｃＳｉｍ（Ａ，Ｂ）と表すものとして、図８に示すようにこの右辺はそれぞれ出現する図形特徴に基づく類似度、出現する文字列特徴に基づく類似度、出現する論理要素特徴に基づく類似度、で構成されるものとする。
【００４９】
図形特徴に基づく類似度を定める前に、まずある文書で抽出された基本図形の種別と大きさを次のように対応付けておくものとする。
【００５０】
基底の表現例：００００→上位二桁は個数、最下位は図形種別ＩＤ、十の位は大きさＩＤ
基本図形種別ＩＤ：｛○，□，△｝→｛１，２，３｝
大きさ定義ＩＤ：｛行内，３行以内，５行以内，半ページ，全ページ｝→｛１，２，３，４，５｝
さらに、図形特徴をベクトル表記するために、下記の９次元ベクトルを定義する。
【００５１】
中心位置：{左上,中央上,右上,左中央,中央,右中央,左下,中央下,右下}
この９次元ベクトルに対して、上記の基底情報を記述することで文書の図形特徴ベクトルを表現できる。ここで図９に示した図形特徴の類似性の定義のための文書例を元に説明する。例えば文書Ａは、ページの左上に○、右中央付近に△が出現していると仮定すると、
文書Ａの図形特徴ベクトル＝｛０１２１，０，０，０，０，０１２３，０，０，０｝
と表現される。
【００５２】
また、文書Ｂは、ページ左上に△、右中央に△、ページ左下に□が記載されていると仮定すると、
文書Ｂの図形特徴ベクトル＝｛０１２３，０，０，０，０，０１２３，０１２２，０，０｝
と表現できることになる。
【００５３】
ＦｉｇＳｉｍ（Ａ，Ｂ）は、文書Ａ，Ｂおいて、出現する図形特徴ベクトルの間で定義される類似度である。ここではＦｉｇＳｉｍ（Ａ，Ｂ）は例えばこれらの特徴ベクトルのコサイン類似度を算定することとすると、
ＦｉｇＳｉｍ（Ａ，Ｂ）＝（０１２１×０１２３＋０＋０＋０＋０＋０１２３×０１２３＋０×０１２２＋０＋０）／（０１２１２＋０１２３２）１／２×（０１２３２＋０１２３２＋０１２２２）１／２
＝３００１２／（１７２．５４×２１２．４７）
＝０．８２
となりＦｉｇＳｉｍによる類似度が０．８２であると算出できる。
【００５４】
同様にしてＴｅｒｍＳｉｍ（Ａ，Ｂ）は、文書Ａ，Ｂおいて、出現する文字列特徴の単語特徴ベクトルの間に定義される類似度である。ＴｅｒｍＳｉｍ（Ａ，Ｂ）は、文書内に含まれる単語や複合語、もしくは文字列ｎ−ｇｒａｍなどの出現を特徴ベクトルとして、文書間の類似性を定義するものである。具体的に、文書ＡとＢとの間の類似度ＴｅｒｍＳｉｍ（Ａ，Ｂ）について考える。今、文書Ａのテキストに形態素解析を適用し、名詞（複合語）として取り出されたものに、“議事録”、“特許調査”、“プロジェクト”、“アイディア”、があるとする（文書Ａから名詞として取り出されたもの＝“議事録”，“特許調査”，“プロジェクト”，“アイディア”）。同様に、文書Ｂからは、“報告書”、“プロジェクト”、“納期”、“プロセス管理”、という単語が取り出されたものとする(文書Ｂから名詞として取り出されたもの＝“報告書”,“プロジェクト”,“納期”,“プロセス管理”)。
【００５５】
これらの出現単語を、単語出現リストとして適当な順序に並べると以下のようになる。  
単語出現リスト＝{納期、報告書、議事録、特許調査、アイディア、プロジェクト、プロセス管理}
このリスト中に沿って、各文書でこれらの単語が出現するか否かを、なし（０）かあり（１）で示したベクトルで表現すると、単語特徴ベクトルは以下のように表現できる。
【００５６】
文書Ａの単語特徴ベクトル＝｛０，０，１，１，１，１，０｝
文書Ｂの単語特徴ベクトル＝｛１，１，０，０，０，１，１｝
この単語特徴ベクトルを用いて、文書間の類似度は、例えばコサイン類似度ｃｏｓ（Ａ，Ｂ）＝Ａ・Ｂ／｜Ａ｜｜Ｂ｜を用いて求めることができる。（“・”はベクトルの内積、｜｜は絶対値を示すものとする）。
【００５７】
実際のこの例での値を計算すると、
ＴｅｒｍＳｉｍ（Ａ，Ｂ）＝（０＋０＋０＋０＋０＋１＋０）／（√４）（√４）＝１／（２×２）＝１／４＝０．２５
となる。この場合、類似度は０から１までの値で表現され、１が最も類似している（同一）ものとされるため、これらの文書はあまり似ていないことがわかる。
【００５８】
また、ＬａｙｏｕｔＳｉｍ（Ａ，Ｂ）は、文書Ａ，Ｂにおいて、出現する論理要素特徴ベクトルの間で定義される類似度である。この類似度は、文書内に含まれる論理要素の出現をＤＯＭ表現（木構造）として表現することにより、木構造間の類似度を編集距離などの観点で計算する。
【００５９】
この構造間類似度は、単語特徴ベクトルなどのように一般的な定義が確立されている訳ではないが、一例として下記のように定義を考える。単語特徴ベクトルと同様に、文書の属性を定義する。
【００６０】
ここでは以下のような属性種類があるものとする。
【００６１】
構造情報の定義リスト＝{タイトル、小見出し、本文、パラグラフ、箇条書き、キャプション、アノテーション、セル}
ここで、文書Ａには、“タイトル”、“小見出し”の出現が、フォントサイズや文字列の位置、一行に含まれるテキスト長などに属する事前定義されたルールマッチングなどで、検出できたものとする。また、文書Ｂには、小見出しの他、上下に隣接する行のインデント位置や行冒頭の出現単語／文字列などの一致性から、“箇条書き”、表記述である“セル”の出現が検出できたものとする。この場合には、文書Ａ、Ｂがそれぞれ以下のように表現できる。
【００６２】
文書Ａの論理要素特徴ベクトル＝｛１，１，０，０，０，０，０，０｝
文書Ｂの論理要素特徴ベクトル＝｛０，１，０，０，１，０，０，１｝
これらについて、前段のコサイン類似度で定義される類似度が計算できる。具体的には、これら文書Ａ，Ｂ間の類似度を、
ＬａｙｏｕｔＳｉｍ（Ａ，Ｂ）＝Ａ・Ｂ／｜Ａ｜｜Ｂ｜＝（０＋１＋０＋０＋０＋０＋０＋０）／√２×√３＝１／√６＝０．４０８２．．．＝約０．４
と求めることができる。
【００６３】
なお、各構造情報については、それぞれの論理要素(タイトルや小見出し、パラグラフ)を等しい重みで扱う必要はなく、例えばタイトルや小見出しは重みを大きくするなどのバイアスを掛けてもよい。また、これらの論理要素の出現有無だけの一致を見るのではなく、論理要素の内部に含まれるテキスト文字列の一致度合いを考慮してもよい。
【００６４】
以上から、ページ全体の類似度を上記の各類似度にそれぞれ適当な係数を適用して組み合わせるものとする。ここでは、これまでに述べた類似度を和で表現するものとする。各係数は、異なる特徴量に関する類似度重みのための係数であり、実験的に初期の固定値を定めてもよいし、ユーザの蓄積する文書データの特徴の偏りに応じてバイアスをかけてもよい。各係数をデフォルトでα＝１／３，β＝１／３，γ＝１／３とした場合、ここまでに計算した値を代入すると、
ＤｏｃＳｉｍ（Ａ，Ｂ）＝α・ＦｉｇＳｉｍ（Ａ，Ｂ）＋β・ＴｅｒｍＳｉｍ（Ａ，Ｂ）＋γ・ＬａｙｏｕｔＳｉｍ（Ａ，Ｂ）
として、
ＤｏｃＳｉｍ（Ａ，Ｂ）＝α・０．８２＋β・０．２５＋γ・０．４＝（１／３）×０．８２＋（１／３）×０．２５＋（１／３）×０．４
＝０．４９
となることがわかる。同様に、蓄積されている任意の２つの文書に対して類似度が計算できる。重み付けに関しては、ユーザが個別に調節可能な調整手段を用意してもよい。  
以上のように、図形特徴ベクトルと、単語特徴ベクトルと、論理要素特徴ベクトルとの組合せが文書ベクトルに対応する。図形特徴ベクトル、単語特徴ベクトル、及び論理要素特徴ベクトルそれぞれでの類似度を重み付けした和を取ることによって、２つの文書間の類似度を計算する。
【００６５】
次に、この調整手段の具体的な例について図１０を参照して説明する。ここで図１０の類似度重み付けの調整ユーザインタフェース例について説明する。図１０は候補提示・選択部２０１の表示例である。  
ある時点での分類結果が、後段の処理結果を踏まえて左上のような二軸で表現される２次元平面上にマッピングされているものとする。これに対して、ユーザは、例えばＸ軸、及びＹ軸方向のスライダを調整することが可能であるとする。このＸ軸及びＹ軸は、後段の処理で述べるように複数の要素の線形結合で構成されているものとして、ユーザがスライダを調節することによって、その結合重みが変化し、その結果、文書間の類似度を示している平面上での文書（サムネイル）間の距離または文書グループ間の距離が変化する。例えば、Ｘ軸はβ／αの大きさを示し、Ｙ軸はγ／αの大きさを示す。
【００６６】
ユーザは、この変化として、例えばある２つの文書が同一グループとして扱われていることを確認したり、あるいは特定の文書同士が異なるグループに分別されていることが確認できていることを手がかりとして、類似性の重み付けの妥当性を決定することができる。  
この結果、ユーザがスライダによって更新した重み付けは、システムが文書間の類似度を計算する場合の各素性の重み付け値に反映することができる。
【００６７】
次に、候補算定部１０５の動作の一例について図１１を参照して説明する。   
まず、各クラスタ情報を読み込む（ステップＳ１１０１）。すなわち、各クラスタの代表ベクトルを読み込む。
【００６８】
各クラスタ重心（各クラスタの代表ベクトルに対応）に対してＰＣＡ（Principle Component Analysis）を適用し、第１主成分と第２主成分（ｘ軸、ｙ軸に対応）を設定する（ステップＳ１１０２）。
【００６９】
各ｘ，ｙ軸を構成する属性の重み付け値を元に、候補の順序をランクづけし、最も高いランクの候補を算定する（ステップＳ１１０３）。
【００７０】
その算定結果を分類ルールとして分類ルール格納部１０６に格納しておく（ステップＳ１１０４）。
【００７１】
次に、ユーザに候補を提示する場合の動作の一例、すなわち、候補提示・選択部２０１の動作の一例について図１２を参照して説明する。  
まず、各クラスタ情報を読み込む（ステップＳ１１０１）。
【００７２】
各クラスタ重心（各クラスタの代表ベクトルに対応）に対してＰＣＡを適用し、第１主成分と第２主成分で２次元表示する（ステップＳ１２０２）。
【００７３】
二次元表示された各ｘ，ｙ軸を構成する属性の重み付け値を元に、提示候補の順序をランクづけする（ステップＳ１２０３）。
【００７４】
続いて、そのランク付け結果を元にユーザの候補提示・選択部２０１の選択メニュー順序を並び替えてユーザに提示する（ステップＳ１２０４）。
【００７５】
その提示結果を元に、ユーザによる各ルールの選択・確定作業が終了すれば、選択結果を分類ルールとして格納しておく（ステップＳ１２０５）。作業が未完了であれば、メニューの提示と選択作業を繰り返す。
【００７６】
また、候補提示・選択部２０１での分類候補の提示画面の一例について図１３を参照して説明する。  
ここでは、ユーザがＩＦ−ＴＨＥＮ形式のルールをカスタマイズすることによって、ユーザ所望の分類ルールをきめ細かく構築することが目的である。
【００７７】
ユーザは、複数の条件から候補を選択したり定義することができ、それぞれの条件を「全ての条件に一致（ＡＮＤ）」や「いずれかの条件に一致（ＯＲ）」などの指定で組み合わせることができる。
【００７８】
各条件は、「エリア指定」「インスタンス指定」「詳細例」（詳細属性）とユーザが自由に入力可能な文字列で定義される。「エリア指定」での範囲は、その制約条件として、その指定領域に含む、その指定領域以外に含まれる、一致する、などが指定できるものとする。「エリア指定」では、図形特徴抽出部１０２や文書特徴量抽出・変換部１０３での出力属性として、見出し小見出しや、図形の内部、表の内部などの指定の他、ページ本文の内／外、テキスト内、ページの上部／中部／下部など文書の属性を定義することができる。「インスタンス指定」では、蓄積されている文書群から自動抽出された図や表、基本パーツ、などのほか、テキスト文字列を指定する。これらは、蓄積されている文書に書かれている内容によって異なる候補が提示される。そのため、分類ルールを構築する上で、対象文書に応じた意味のある適切な属性が表示されることになる。
【００７９】
「インスタンス指定」での各インスタンスはさらに詳細な属性を定義できるものがある。例えば、図形であれば丸、矩形、三角形など、表であればその規模（大まかに大小を指定したり、詳細に行や列数などの値や範囲の指定）、テキスト情報であればユーザが指定した文字列そのものや、分量、テキストに対する形態素解析結果などを踏まえて、日時や数値列、人名や組織名などの固有表現などに制約を書けることができるものとする。
【００８０】
さらに、基本パーツであれば、下線や二重線、矩形囲みや丸囲み記号、矢印、などのほか、蓄積されている文書で頻度が高く用いられる記号や文字列（星印やマークなどユーザ独自の表記）などがあれば、それらを提示する。
【００８１】
以上のような候補を用いて条件を組み合わせることにより、ユーザはきめ細かな分類ルールを構築することが可能となる。
【００８２】
次に、分類推定部１０７の動作の一例について図１４を参照して説明する。  
まず新規入力文書に対する文書特徴量抽出・変換部１０３の解析結果を読み込む（ステップＳ１４０１）。
【００８３】
カテゴリごとに分類ルールを読み込んでいく（ステップＳ１４０２）。
【００８４】
現在の入力文書に対し、読み込んだカテゴリに対するルール適合度を算定する（ステップＳ１４０３）。ここでのルール適合度はさまざまな算定方法が考えられるが、簡単にはルールごとに対応するスコアを事前に定義しておき、マッチングしたルールのスコアを加算しておく方法がある。例えば、「議事録」カテゴリに分類するルール定義群の中には以下のようなルールがあるとする。  
１）「見出し」に「議事録」の文字列が含まれる→スコア０．８  
２）「文書要素」に「箇条書き」が含まれる→スコア０．４  
３）「本文」に「ＴＯＤＯ」が含まれる→スコア０．６  
これに対し、現在の入力文書とのマッチングを取った場合に、１）と３）が適合したとすると、この入力文書が「議事録」カテゴリであるスコアは１）と３）とを足して０．８＋０．６＝１．４であると算定される。
【００８５】
ここから図１４のフローチャートに戻る。算定したルール適合度を保存する（ステップＳ１４０４）。
【００８６】
全てのカテゴリについて適合度を算定したかどうかを判定する（ステップＳ１４０５）。未処理のカテゴリがある場合には、ステップＳ１４０２に戻り、その未処理の分類ルールの読み込みを繰り返す。
【００８７】
このようにして、全てのカテゴリについて適合度の算定を終えたら、適合度の高い順にカテゴリをソートする（ステップＳ１４０６）。
【００８８】
ソートされたカテゴリ順に、紐づけられているアクションの実行可否を検証し、実行可能であればそのアクションを実行する（ステップＳ１４０７）。なお、ここでの“アクション”とは、図１３に記載の「次の動作を実行する」の「動作」に対応し、条件を満たす場合に分類ルールが最終的に行う動作定義のことで、例えば、入力文書を特定フォルダに格納したり、文書のプロパティとして特定の分類ラベルを付与しておく、などといった動作を表す。
【００８９】
以上に説明した実施の形態の文書分類支援装置、方法及びプログラムによれば、タブレットから入力された手書き文書に対して、システム固定の分類カテゴリだけではなく、ユーザの文書バリエーションに応じて自動的に文書を分類することができ、さらにカテゴリ更新や追加ができる。また、フィルタリングルールとして、ユーザは、システムが提示した条件候補を自由に選択して組み合わせることができるため、分類の基準と各カテゴリ内容がユーザにとってわかりやすく、さらにＩＦ−ＴＨＥＮ形式のルールベースとクラスタリングベースの組み合わせのため、使い始めなどの初期状態からユーザの意図に沿った分類が可能となる。
【００９０】
また、実施の形態の文書分類支援装置、方法及びプログラムによれば、ユーザの作成した文書集合から、図形や表の有無、二重線・囲みなどのアノテーション記号のバリエーション、出現する文字列や単語、レイアウト（論理要素）の統計量を抽出してクラスタリングし、分類の手がかりとなる複数の項目を自動提示することで、ユーザが組み合わせて自由に分類ルールを作成可能とすることができる。
【００９１】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の文書分類支援装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の電力管理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本願発明における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００９２】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【００９３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００９４】
１０１・・・文書入力部、１０２・・・図形特徴抽出部、１０３・・・文書特徴量抽出・変換部、１０４・・・類似性検出部、１０５・・・候補算定部、１０６・・・分類ルール格納部、１０７・・・分類推定部、２０１・・・候補提示・選択部。
【図１】
2014067154.tif 000003
【図２】
2014067154.tif 000004
【図３】
2014067154.tif 000005
【図４】
2014067154.tif 000006
【図５】
2014067154.tif 000007
【図６】
2014067154.tif 000008
【図７】
2014067154.tif 000009
【図８】
2014067154.tif 000010
【図９】
2014067154.tif 000011
【図１０】
2014067154.tif 000012
【図１１】
2014067154.tif 000013
【図１２】
2014067154.tif 000014
【図１３】
2014067154.tif 000015
【図１４】
2014067154.tif 000016