(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5792747
(24)【登録日】2015年8月14日
(45)【発行日】2015年10月14日
(54)【発明の名称】テキスト分類の方法及びシステム
(51)【国際特許分類】
G06F 17/30 20060101AFI20150928BHJP
【FI】
G06F17/30 210D
G06F17/30 170A
【請求項の数】17
【全頁数】16
(21)【出願番号】特願2012-551962(P2012-551962)
(86)(22)【出願日】2010年11月2日
(65)【公表番号】特表2013-519152(P2013-519152A)
(43)【公表日】2013年5月23日
(86)【国際出願番号】US2010055057
(87)【国際公開番号】WO2011096969
(87)【国際公開日】20110811
【審査請求日】2013年10月4日
(31)【優先権主張番号】201010111365.3
(32)【優先日】2010年2月2日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】510330264
【氏名又は名称】アリババ・グループ・ホールディング・リミテッド
【氏名又は名称原語表記】ALIBABA GROUP HOLDING LIMITED
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】ソン シアン
【審査官】
吉田 誠
(56)【参考文献】
【文献】
特開2006−251975(JP,A)
【文献】
特開平07−114572(JP,A)
【文献】
特開2000−181936(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
テキスト分類のための方法であって、前記方法は、
コンピュータが、テキストの内容を複数の単語に分割するステップと、
前記コンピュータが、前記複数の単語をフィルタにかけることにより、複数の所定の単語を選択するステップであって、前記フィルタは、前記複数の単語の分散係数を得て、所定の閾値より高い前記分散係数を有する単語を選択するものである、ステップと、
前記コンピュータが、複数のベクトル空間を含むベクトル空間群の第1レベルのベクトル空間にて前記複数の所定の単語の複数の単語ベクトルの合計を決定するステップであって、前記複数のベクトル空間の少なくとも1つは、クラス木構造の非葉の子クラスである複数の直接的な子クラスを有し、前記第1レベルのベクトル空間は複数のクラスを有する、ステップと、
前記コンピュータが、前記単語ベクトルの前記合計に対して最短距離を有する前記複数のクラスにおけるクラスに前記テキストを分類するステップと、
前記テキストを前記クラスに分類した後に、前記コンピュータが、前記クラスが前記第1レベルのベクトル空間に相当するかどうかを決定するステップと、
前記クラスが前記第1レベルのベクトル空間に相当するときに、前記コンピュータが、前記複数のベクトル空間の追加クラスにて前記複数の所定の単語の単語ベクトルの合計を決定するステップと、
前記コンピュータが、前記第1レベルのベクトル空間に相当せず、かつ前記単語ベクトルの前記合計の最大合計に対応する前記追加クラスに前記テキストを分類するステップと
を有することを特徴とする方法。
【請求項2】
前記第1レベルのベクトル空間は、前記クラス木構造の最上位レベルのクラスにあることを特徴とする請求項1に記載の方法。
【請求項3】
単語ベクトルは、前記ベクトル空間の様々なクラスでの前記複数の所定の単語の単語頻度ベクトルを含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記単語ベクトルの前記合計に対して前記最短距離を有する前記クラスに前記テキストを分類するステップは、
前記複数の所定の単語の各々に関連した前記複数のクラスでの単語頻度ベクトルに対する合計を決定するステップと、
前記単語頻度ベクトルに対する最大の前記合計に対応するクラスに前記テキストを分類するステップと
を有することを特徴とする請求項1に記載の方法。
【請求項5】
前記単語ベクトルの前記合計に対して前記最短距離を有する前記クラスに前記テキストを分類するステップは、
前記複数のクラスでの前記複数の所定の単語の各々に対する単語頻度ベクトルのうち最大の単語頻度ベクトルと最小の単語頻度ベクトルとの差値を決定するステップと、
所定のフィルタリング閾値より高い前記差値を有する前記複数の所定の単語の各々に対する前記単語頻度ベクトルの合計を決定するステップと、
最大値を有する、前記単語頻度ベクトルの合計に関連した前記複数のクラスにおけるクラスに前記テキストを分類するステップと
を有することを特徴とする請求項1に記載の方法。
【請求項6】
前記単語ベクトルの前記合計に対して前記最短距離を有する前記クラスに前記テキストを分類するステップは、
前記複数のクラスでの前記複数の所定の単語の各々に対する単語頻度ベクトルのうち第1の最大の単語頻度ベクトルと第2の最大の単語頻度ベクトルとの差値を決定するステップと、
所定のフィルタリング閾値より高い前記差値を有する前記複数の所定の単語の各々に対する前記単語頻度ベクトルの合計を決定するステップと、
最大値を有する、前記単語頻度ベクトルの合計に関連した前記複数のクラスにおけるクラスに前記テキストを分類するステップと
を有することを特徴とする請求項1に記載の方法。
【請求項7】
前記単語ベクトルの前記合計に対して前記最短距離を有する前記クラスに前記テキストを分類するステップは、
前記複数のクラスでの前記複数の所定の単語の各々に対する単語頻度ベクトルの平均値を決定するステップと、
第1の所定のフィルタリング閾値より高い前記平均値を有する前記複数の所定の単語の各々に対して、前記単語頻度ベクトルの最大値が第2の所定のフィルタリング閾値より高いかどうかを決定するステップと、
前記第2の所定のフィルタリング閾値より高い前記単語頻度ベクトルの最大値を有する前記複数の所定の単語の各々に対する前記単語頻度ベクトルの合計を決定するステップと、
最大値を有する、前記単語頻度ベクトルの合計に関連したクラスに前記テキストを分類するステップと
を有することを特徴とする請求項1に記載の方法。
【請求項8】
前記テキストを前記クラスに分類した後に、前記コンピュータが、前記単語ベクトルの前記合計の決定に用いられる前記複数の所定の単語の少なくとも幾つかを削除するステップを更に有することを特徴とする請求項4に記載の方法。
【請求項9】
テキストの内容を複数の単語に分割する分割モジュールと、
前記複数の単語をフィルタにかけることにより、複数の所定の単語を選択するフィルタリングモジュールであって、前記フィルタは、前記複数の単語の分散係数を得て、所定の閾値より高い前記分散係数を有する単語を選択するものである、フィルタリングモジュールと、
複数のベクトル空間を含むベクトル空間群の第1レベルのベクトル空間にて複数の所定の単語の単語ベクトルの合計を決定する計算モジュールであって、前記複数のベクトル空間の少なくとも1つは、クラス木構造の非葉の子クラスである複数の直接的な子クラスを有し、前記第1レベルのベクトル空間は複数のクラスを有する、計算モジュールと、
前記単語ベクトルの前記合計に対して最短距離を有する前記複数のクラスにおけるクラスに前記テキストを分類し、
前記テキストを前記クラスに分類した後に、前記クラスが前記第1レベルのベクトル空間に相当するかどうかを決定し、
前記クラスが前記第1レベルのベクトル空間に相当するときに、前記複数のベクトル空間の追加クラスにて前記複数の所定の単語の単語ベクトルの合計を決定し、
前記第1レベルのベクトル空間に相当せず、かつ前記単語ベクトルの前記合計の最大合計に対応する前記追加クラスに前記テキストを分類する
分類モジュールと
を有することを特徴とするテキスト分類用の装置。
【請求項10】
前記第1レベルのベクトル空間は、前記クラス木構造の最上位レベルのクラスにあることを特徴とする請求項9に記載の装置。
【請求項11】
前記計算モジュールは、前記複数の所定の単語の各々に関連した前記第1レベルのベクトル空間の前記複数のクラスでの単語頻度ベクトルの合計を更に決定し、
前記分類モジュールは、前記単語頻度ベクトルの最大の前記合計に対応するクラスに前記テキストを更に分類することを特徴とする請求項9に記載の装置。
【請求項12】
前記分類モジュールは、
前記テキストを前記クラスに分類した後に、前記クラスが前記第1レベルのベクトル空間に相当するかどうかを決定するように、かつ、
前記クラスが前記第1レベルのベクトル空間に相当するときに、前記複数のベクトル空間の追加クラスにて前記複数の所定の単語の単語ベクトルの合計を決定するように、および、前記第1レベルのベクトル空間に相当せず、かつ前記単語ベクトルの最大合計に対応する前記追加クラスに前記テキストを分類するように更に構成されていることを特徴とする請求項9に記載の装置。
【請求項13】
前記計算モジュールは、前記テキストを前記クラスに分類した後に、前記単語ベクトルの前記合計の決定に用いられる前記複数の所定の単語の少なくとも幾つかを削除するように更に構成されていることを特徴とする請求項12に記載の装置。
【請求項14】
前記複数のクラスでの前記複数の所定の単語の各々に対して単語頻度ベクトルの平均値を決定する第1のフィルタリングモジュールと、
第1の所定のフィルタリング閾値より高い前記平均値を有する前記複数の所定の単語の各々に関し、前記単語頻度ベクトルの最大値が第2の所定のフィルタリング閾値より高いかどうかを決定する第2のフィルタリングモジュールと
を更に有し、
前記計算モジュールは、前記第2の所定のフィルタリング閾値より高い前記単語頻度ベクトルの最大値を有する前記複数の所定の単語の各々に対する前記単語頻度ベクトルの合計を更に決定し、前記分類モジュールは、最大値を有する、前記単語頻度ベクトルの合計に関連した前記複数のクラスにおけるクラスに前記テキストを更に分類することを特徴とする請求項9に記載の装置。
【請求項15】
テキスト分類のための方法であって、前記方法は、
コンピュータが、複数のクラスに分類用のテキストを受信させるステップであって、前記複数のクラスの少なくとも1つは、クラス木構造の非葉の子クラスである複数の直接的な子クラスを含む、ステップと、
前記コンピュータが、前記受信したテキストの内容を複数の単語に分割するステップであって、前記複数の単語の各々は単語頻度ベクトルを有する、ステップと、
前記コンピュータが、前記複数の単語をフィルタにかけることにより、複数の所定の単語を選択するステップであって、前記フィルタは、前記複数の単語の分散係数を得て、所定の閾値より高い前記分散係数を有する単語を選択するものである、ステップと、
前記コンピュータが、前記複数の所定の単語の各々に対する前記単語頻度ベクトルの合計を決定するステップと、
前記コンピュータが、最大値を有する、前記合計に関連した前記複数のクラスにおけるクラスに前記テキストを分類するステップと、
前記テキストを前記クラスに分類した後に、前記コンピュータが、前記クラスが複数のベクトル空間を含むベクトル空間群の第1レベルのベクトル空間に相当するかどうかを決定するステップであって、前記複数のベクトル空間の少なくとも1つは、前記子クラスを有し、前記第1レベルのベクトル空間は複数のクラスを有する、ステップと、
前記クラスが前記第1レベルのベクトル空間に相当するときに、前記コンピュータが、前記複数のベクトル空間の追加クラスにて前記複数の所定の単語の単語ベクトルの合計を決定するステップと、
前記コンピュータが、前記第1レベルのベクトル空間に相当せず、かつ前記単語ベクトルの前記合計の最大合計に対応する前記追加クラスに前記テキストを分類するステップと
を有することを特徴とする方法。
【請求項16】
前記テキストを分類するステップは、前記複数のクラスでの前記複数の所定の単語の各々に対する前記単語頻度ベクトルのうち最大の単語頻度ベクトルと最小の単語頻度ベクトルとの差値を決定するステップを含むことを特徴とする請求項15に記載の方法。
【請求項17】
各複数の単語について前記テキストを分類するステップは、前記複数のクラスでの前記複数の所定の単語の各々に対する前記単語頻度ベクトルのうち第1の最大の単語頻度ベクトルと第2の最大の単語頻度ベクトルとの差値を決定するステップを含むことを特徴とする請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願への相互参照)
本願は、2010年2月2日出願、発明の名称「テキスト分類の方法及びシステム」の中国特許出願第201010111365.3号の優先権を主張し、その全体を本明細書に援用する。
【0002】
本開示はコンピュータ及びコミュニケーション分野に関し、特にテキスト分類の方法及びシステムに関する。
【背景技術】
【0003】
テキスト分類はテキストマイニングの重要な一面である。テキストマイニングとは、所定の対象の分類クラスに従って設定されたテキストにおける各テキストの分類を言う。自動テキスト分類システムを用いたテキストの分類によって、ユーザが必要な情報と知識をより上手く位置付けできる。ユーザの観点からすると、分類とは、基本的に文章の情報を認識することである。従来のテキスト分類技術では、公正な分類結果が提供されてきた。しかしながら、文章の情報の利用可能性の増加、特にインターネット上のオンライン文章の情報の急激な増加に従い、自動テキスト分類は、大量のテキストデータの処理と組織化用の主要技術になってきている。現在、テキスト分類は、多様な分野で広く用いられている。文章の情報量の増加に伴って、ユーザは、テキスト分類により高い精度と完全性を求めるようになってきた。したがって、テキスト分類技術の改良の必要性も増してきている。しかしながら、実効性のあるテキスト分類技術の定式化は、テキストマイニングの研究の活動領域のままである。
【発明の概要】
【0004】
そこで、本開示は、テキストのテキスト分類の方法及びシステムを提供することを目的とする。また、本方法及びシステムは、精度を向上でき、かつテキスト分類のプロセスを簡略化できる。
【0005】
一態様では、テキスト分類用の方法が、受け取られたテキストの内容を複数の単語に分割することを含む。第1レベルのベクトル空間にて複数の単語の複数の単語ベクトルの合計を決定する。第1レベルのベクトル空間は、複数のベクトルを含むベクトル空間群の一部である。複数のベクトル空間の少なくとも1つは、木構造の葉の子クラスである1以上の直接的な子クラスを含む。単語ベクトルの合計に対して最短距離を有する複数のクラスにおけるクラスにテキストを分類する。
【0006】
別の態様では、テキスト分類用の装置が、受け取られたテキストの内容を複数の単語に分割する分割モジュールを含む。この装置は、第1レベルのベクトル空間にて複数の単語の複数の単語ベクトルの合計を決定する計算モジュールを更に含む。第1レベルのベクトル空間は、複数のベクトルを含むベクトル空間群の一部である。複数のベクトル空間の少なくとも1つは、木構造の葉の子クラスである1以上の直接的な子クラスを含む。また、この装置は、単語ベクトルの合計に対して最短距離を有する複数のクラスにおけるクラスにテキストを分類する計算モジュールを含む。
【0007】
さらに別の態様では、受け取られたテキストのテキスト内容を複数の単語を得るように分割する。次に、ベクトル空間群の第1レベルのベクトル空間にて複数の単語の単語ベクトルの合計を得る。その後、テキストの単語ベクトルの合計に対して最短距離を有する第1レベルのベクトル空間のクラスにおけるクラスにテキストを分類する。したがって、このような実施形態では、第1レベルのベクトル空間から開始するトップダウン分類方法が実行される。さらに、総計算量は、上位から下位までの経路でのベクトル空間のすべての次元の合計に等しい。
【0008】
これに対し、従来のテキスト分類技術は、テキストを分類する葉の子クラスを含むベクトル空間のみを用いる。言い換えれば、従来のテキスト分類技術は、テキスト分類に親クラスを用いない。その代わりに、従来のテキスト分類技術は、テキスト分類用の葉の子クラスに関連したベクトル空間のみをテキスト分類に使用できる。
【0009】
よって、従来のテキスト分類技術は、初めに、多数の分類クラスを予め形成し、統計と学習アルゴリズムを用いて、各クラスでの一組の単語の各々について単語頻度値を決定することを含み得る。次に、受け取られたテキストの内容を複数の単語を得るように分割する。さらに、従来の分類の技術は、各分類クラスに関し、各クラスにて複数の単語のうちの1以上の単語の単語頻度値の合計を計算し得る。したがって、最大の合計を有する分類クラスが、テキスト用の分類クラスとなる。
【0010】
1つのクラスしかないか、或いは親クラスが1つの子クラスのみを有するときに、本明細書に記載した実施形態の総計算量(すなわち、上位から下位までの経路でのベクトル空間の次元の合計)は、従来の技術を用いたテキスト分類の総計算量(すなわち、すべての葉クラスの次元)より多くなり得る。しかしながら、テキスト分類では、1つのクラスしかないか、或いは親クラスが1つの子クラスのみを有するケースはあり得ない。これは、テキスト分類の実際の適用は、一般にこのような分類スキームを用いないためである。よって、本明細書に記載した実施形態に用いた計算量は、従来のテキスト分類技術で用いた計算量より少なくなる。さらに、本明細書に記載した実施形態での各ベクトル空間の次元は、従来のテキスト分類技術で用いるものよりはるかに少ない。したがって、本明細書に記載した実施形態を用いることで、テキスト分類におけるエラーを低減でき、テキスト分類の精度を向上できる。
【図面の簡単な説明】
【0011】
【
図1】現在の技術を用いたテキスト分類の図を示す。
【
図2】様々な実施形態に係るテキスト分類用の例示的な装置の図を示す。
【
図3】様々な実施形態に係るテキスト分類用の例示的な装置の詳細図を示す。
【
図4】様々な実施形態に係る例示的な計算モジュールの図を示す。
【
図5】様々な実施形態に係る例示的なベクトル空間を示す。
【
図6】様々な実施形態に係る例示的なテキスト分類プロセスのフローチャートを示す。
【
図7】様々な実施形態に係る第1のフィルタリング閾値例によってテキストをフィルタにかける例示的なテキストフィルタリングプロセスのフローチャートを示す。
【
図8】様々な実施形態に係る第2のフィルタリング閾値例によってテキストをフィルタにかける例示的なテキストフィルタリングプロセスのフローチャートを示す。
【
図9】様々な実施形態に係る第1のフィルタリング閾値例と第2のフィルタリング閾値例によってテキストをフィルタにかける例示的なテキストフィルタリングプロセスのフローチャートを示す。
【発明を実施するための形態】
【0012】
本明細書に記載した実施形態は、テキスト分類用のシステム及び方法に関する。このような実施形態では、テキスト分類に用いる各ベクトル空間が、非葉の子クラスである直接的な子クラスを有するクラス木構造を含んでいてもよい。第1レベルのベクトル空間は、クラス木構造の最上位レベルのクラスで構成されている。さらに、所定数のベクトル空間は、ベクトル空間群を構成していてもよい。各ベクトル空間の次元数は、各ベクトル空間のクラス数に等しい。
【0013】
幾つかの実施形態では、受け取られたテキストのテキスト内容を複数の単語を得るように分割する。次に、ベクトル空間群の第1レベルのベクトル空間にて複数の単語の単語ベクトルの合計を得る。その後、テキストの単語ベクトルの合計に対して最短距離を有する第1レベルのベクトル空間のクラスにおけるクラスにテキストを分類する。したがって、このような実施形態では、第1レベルのベクトル空間から開始するトップダウン分類方法が実行される。さらに、総計算量は、上位から下位までの経路でのベクトル空間のすべての次元の合計に等しい。
【0014】
これに対し、従来のテキスト分類技術は、テキストを分類する葉の子クラスを含むベクトル空間のみを用いる。言い換えれば、従来のテキスト分類技術は、テキスト分類に親クラスを用いない。その代わりに、従来のテキスト分類技術は、テキスト分類用の葉の子クラスに関連したベクトル空間のみをテキスト分類に使用できる。
【0015】
よって、従来のテキスト分類技術は、初めに、多数の分類クラスを予め形成し、統計と学習アルゴリズムを用いて、各クラスでの一組の単語の各々について単語頻度値を決定することを含み得る。次に、受け取られたテキストの内容を複数の単語を得るように分割する。さらに、従来の分類の技術は、各分類クラスに関し、各クラスにて複数の単語のうちの1以上の単語の単語頻度値の合計を計算し得る。したがって、最大の合計を有する分類クラスが、テキスト用の分類クラスとなる。
【0016】
しかしながら、
図1に示す状況が起こり得る。
図1に示すように、四角AとBが2つのクラスを表す。四角A1とA2がクラスA下の2つの子クラスを表し、四角B1とB2がクラスB下の2つの子クラスを表す。さらに、各四角の数は、相当する各クラスでの特定の単語の単語頻度値を表す。従来のテキスト分類技術を用いると、特定の単語を含むテキストは、子供分類クラスB1に分類される傾向にある。しかしながら、特定の単語は、子クラスに関してはB1で最大の単語頻度値を有するものの、クラスAでの特定の単語の単語頻度値の方が、クラスBでの単語頻度値よりはるかに大きい。そのため、特定の単語を含むテキストをクラスAかクラスA1に分類する方が、より適切である。
【0017】
したがって、従来のテキスト分類技術を用いるテキスト分類は、十分には正確でない。また、多くのクラスがあるときに、各クラスでの複数の単語の単語頻度値の合計を計算する計算量は膨大であって、テキスト分類エラーを著しく増大させ得る。
【0018】
1つのクラスしかないか、或いは親クラスが1つの子クラスのみを有するときに、本明細書に記載した実施形態の総計算量(すなわち、上位から下位までの経路でのベクトル空間の次元の合計)は、従来の技術を用いたテキスト分類の総計算量(すなわち、すべての葉クラスの次元)より多くなり得る。しかしながら、テキスト分類では、1つのクラスしかないか、或いは親クラスが1つの子クラスのみを有するケースはあり得ない。これは、テキスト分類の実際の適用は、一般にこのような分類スキームを用いないためである。よって、本明細書に記載した実施形態に用いた計算量は、従来のテキスト分類技術で用いた計算量より少なくなる。さらに、本明細書に記載した実施形態での各ベクトル空間の次元は、従来のテキスト分類技術で用いるものよりはるかに少ない。したがって、本明細書に記載した実施形態を用いることで、テキスト分類におけるエラーを低減でき、テキスト分類の精度を向上できる。
【0019】
図2に、様々な実施形態に係るテキスト分類用の例示的な装置の図を示す。
図2に示すように、テキスト分類用の装置は、分割モジュール201、計算モジュール202、及び分類モジュール203を少なくとも含む。
【0020】
分割モジュール201は、受け取られたテキストの内容を複数の単語に分割するための手段である。
【0021】
計算モジュール202は、ベクトル空間群の第1レベルのベクトル空間にて複数の単語の単語ベクトルの合計を決定するための手段である。第1レベルのベクトル空間は、クラス木構造の最上位レベルのクラスで構成されている。ベクトル空間群は、すべてのベクトル空間で構成されているとともに、クラス木構造の非葉の子クラスである1以上の直接的な子クラスで構成された少なくとも1つのベクトル空間を含んでいてもよい。
【0022】
各単語ベクトルは、ベクトル空間のあらゆるクラスに相当する単語の単語頻度ベクトルを含む。各単語頻度ベクトルは、クラスでの相当単語の単語頻度統計量であり、この単語頻度統計量は、クラスでの相当単語の単語頻度統計量の量子化の後に得てもよい。様々なクラス各々での単語の単語頻度統計量の量子化中に、量子化は、1つのプリセットデフォルト量子化機能又は複数の異なったプリセット量子化機能を用いてもよい。
【0023】
分類モジュール203は、第1レベルのベクトル空間の様々なクラスにおけるクラスにテキストを分類するための手段であり、このクラスは、テキストの単語ベクトルの合計に対して最短距離を有する。
【0024】
分類プロセスを簡略化するために、計算モジュール202は、第1レベルのベクトル空間にて複数の単語の各々に関する単語ベクトル成分の合計(すなわち、各単語に関する様々なクラスでの単語頻度ベクトルの合計)を決定してもよい。分類モジュール203は、単語ベクトル成分の最大の合計に相当するクラスにテキストを分類する。たとえば、ベクトル空間の単語の単語ベクトルをWmn={Vmn1、Vmn2、…、VmnN}と表してもよく、ここで、Viはベクトル空間のクラスCi(i=1からN)での単語頻度ベクトルと表してもよく、Nはベクトル空間のクラスの総数を表してもよく、mはm番目の単語を表してもよく、nはn番目のベクトル空間を表してもよい。したがって、テキストDとクラスCiとの距離がΣWmnとクラスCiとの距離であってもよく、この距離は、距離=ΣWmn−Ci={ΣVn1、ΣVn2、…、ΣVnN}−Ciと表してもよい。
【0025】
幾つかの実施形態では、
図3を参照すると、装置はインタフェースモジュール204、構成モジュール205、保存モジュール206、及びフィルタリングモジュール207も含んでいてよい。
【0026】
インタフェースモジュール204はテキストを取得するための手段である。インタフェースモジュール204は、分類されるテキストを装置外で得るように有線又は無線の方法を用いてもよい。
【0027】
構成モジュール205は、ベクトル空間群を構成するための手段である。様々な実施形態では、クラス木構造を予め形成してもよい。構成モジュール205は、クラス木構造の各非葉のサブクラスに関するベクトル空間を構成する。各ベクトル空間の次元は、各ベクトル空間の直接的な子クラス(再帰的な子クラスを除く)の数である。各ベクトル空間の要素は、直接的な子クラスの各単語の単語頻度ベクトル(特に、統計により取得可能な単語頻度値の単語頻度統計量又は量子化)を含んでいてもよい。統計によって、又は親クラスの直接的な子クラスでの単語の単語頻度ベクトルの合計を得ることによって、親クラスでの単語の単語頻度ベクトルを独立して計算してもよい。構成モジュール205は、すべてのベクトル空間をベクトル空間群に組み合わせる。ベクトル空間群における空間の数は、すべての非葉の子クラスの数に等しい。ベクトル空間群の次元は、すべてのベクトル空間の次元の合計に等しい。特に、例えば、N個の非葉の子クラスC1、C2、…、CNがあってもよい。各非葉の子クラスCiは、Mi個の直接的な子クラスCi1、Ci2、…、CiMiを含んでいてもよい。各非葉の子クラスCiについて、そのベクトル空間をSi={Ci1、Ci2、…、CiMi}と表してもよく、ここでのベクトル空間の次元はMに等しい。ベクトル空間群をG={S1、S2、…、SN}と表してもよく、ここでのベクトル空間群の次元はNに等しく、N=ΣMiであって、実際(ルートクラスが頻繁にあるというわけではないとき)は、すべてのクラス数M−1の数に等しい。
【0028】
保存モジュール206は、ベクトル空間群を保存して、クラス単位でテキストを保存するための手段である。
【0029】
フィルタリングモジュール207は、フィルタにかけられた複数の単語を得るように得られた複数の単語をフィルタにかけるための手段である。
図4を参照すると、フィルタリングモジュール207は、第1のフィルタリングユニット401、第2のフィルタリングユニット402、及び第3のフィルタリングユニット403を含む。
【0030】
第1のフィルタリングユニット401は、第1レベルのベクトル空間のクラスでの単語の単語頻度ベクトルの平均値が所定の第1のフィルタリング閾値より高いかどうかを決定するように、第1レベルのベクトル空間のクラスにある各単語を対象とする。そのため、このような実施形態では、計算モジュール202は、第1レベルのベクトル空間での第1のフィルタリング閾値より高い平均値を有する単語の単語ベクトルの合計を決定するように代替的に構成していてもよい。たとえば、第1のフィルタリング閾値は、総単語コーパス数の10万分の1であってもよい。
【0031】
第2のフィルタリングユニット402は、単語の単語頻度ベクトルの最大値が所定の第2のフィルタリング閾値より高いかどうかを決定するように、第1レベルのベクトル空間のクラスにある各単語を対象とする。そのため、このような実施形態では、計算モジュール202は、第1レベルのベクトル空間での第2のフィルタリング閾値より高い単語頻度ベクトルの最大値を有する単語の単語ベクトルの合計を決定するように代替的に構成していてもよい。たとえば、第2のフィルタリング閾値は、総単語コーパス数の10万分の1であってもよい。
【0032】
第3のフィルタリングユニット403は、第1レベルのベクトル空間での単語の分散係数を得て、各分散係数が所定の分散係数閾値(0.5など)より高いかどうかを決定するように、各単語を対象とする。そのため、このような実施形態では、計算モジュール202は、第1レベルのベクトル空間での分散係数閾値より高い分散係数を有する単語の単語ベクトルの合計を決定するように代替的に構成していてもよい。分散係数によって、様々なクラス間での単語頻度の変化がほとんどない単語(例えば、「あなた」又は「私」の単語頻度は様々なクラスにおいて基本的に同一である)をフィルタにかけて除去してもよい。また、様々なクラス間での単語頻度の変化が著しい単語(用語関連の特定のクラスでの単語頻度値が他のクラスでの単語頻度値より明らかに高い用語など)は保持される。様々なクラス間での単語頻度の変化が著しい単語は、1以上のクラスで出現してもよい。このような単語は、他の単語よりテキスト分類の精度に更に寄与できる。このように、本明細書に記載した実施形態は、このような単語を良い単語をみなすことができ、更にはフィルタリングでこのような単語を選択できる。
【0033】
第1のフィルタリングユニット401と第2のフィルタリングユニット402は、同時に用いてもよい。たとえば、第1のフィルタリングユニット401は、第1レベルのベクトル空間のクラスでの単語の単語頻度ベクトルの平均値が所定の第1のフィルタリング閾値より高いかどうかを決定するように、各単語を対象としてもよい。第2のフィルタリングユニット402は、第1レベルのベクトル空間のクラスでの単語の単語頻度ベクトルの最大値が所定の第2のフィルタリング閾値より高いかどうかを決定するように、第1の閾値でフィルタにかけた単語を対象としてもよい。しかしながら、追加的なフィルタリング法を他の実施形態で実施してもよく、本明細書ではこの他の実施形態を詳述しない。
【0034】
分類モジュール203は空間サブモジュールも含む。第1レベルのベクトル空間の様々なクラスから選択されるように、テキストの単語ベクトルに対して最短距離を有するクラスにテキストを分類した後に、そのクラスがベクトル空間に相当するかどうかを決定するように空間サブモジュールを用いてもよい。相当するという肯定的決定ならば、ベクトル空間にて複数の単語の単語ベクトルを決定するように照会ユニット401が指令を受ける。フィルタリングモジュール207は、単語をフィルタにかけるように用い、計算モジュール202は、単語ベクトルの合計を決定するように用いる。その後、分類モジュール203の分類ユニットは、テキストが分類されるクラスがベクトル空間にもはや相当しなくなるまでの間、単語ベクトルに対して最短距離を有するベクトル空間のクラスにおけるクラスにテキストを分類し直す。
【0035】
関連テキストが、単語ベクトルの最大の合計を用いて相当するクラスに分類された後に、計算モジュール202は、単語ベクトルの決定に用いられる複数の単語のうちの1以上の単語を削除するようにも用いられる。言い換えれば、フィルタリングによって選択される1以上の単語を計算モジュール202に送った後に、フィルタリングモジュール207は、複数の単語のうちの1以上の選択された単語を削除する。よって、単語の単語ベクトルに関する照会をその後実行するときに、照会ユニット401は、フィルタリングモジュール207によってフィルタにかけて除去(例えば、削除)される単語を考慮しないため、計算量が低減される。
【0036】
様々な実施形態では、装置を単一のコンピュータに位置付けてもよく、及び/又は装置のモジュールを別のコンピュータに位置付けてもよい。幾つかの実施形態では、装置の機能は、複数のコンピュータの協働によって発揮される。装置のモジュール又はユニットは、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアの組み合わせで実施してもよい。
【0037】
図5に様々な実施形態に係る例示的なベクトル空間を示す。
図5に示すクラス木構造の実施例でが、クラスAとBが第1レベルのベクトル空間S1を構成する。クラスA1とA2が第2レベルのベクトル空間S2を構成する。クラスB1とB2が第2レベルのベクトル空間S3を構成する。クラスA11とA12が第3レベルのベクトル空間S4を構成する。クラスA21とA22が第3レベルのベクトル空間S5を構成する。クラスB11とB12が第3レベルのベクトル空間S6を構成する。クラスB21とB22が第3レベルのベクトル空間S7を構成する。
【0038】
分類されるテキストを受け取るときに、分割モジュール201は、取得されたテキストのテキスト内容を複数の単語に分割する。計算モジュール202は、第1レベルのベクトル空間S1のクラスAとB下の複数の単語の単語頻度ベクトルの合計を決定してもよく、クラスA下の単語頻度ベクトルの合計は0.85であってもよく、クラスB下の単語頻度ベクトルの合計は0.64であってもよい。そのようなものとして、分類モジュール203はテキストをクラスAに分類してもよく、クラスAは、単語頻度ベクトルの最大の合計に相当する。分類モジュール203は、クラスAが第2レベルのベクトル空間S2に相当することを更に決定する。計算モジュール202は、第2レベルのベクトル空間S2のクラスA1とA2下の複数の単語の単語頻度ベクトルの合計を決定してもよく、クラスA1下の単語頻度ベクトルの合計は0.23であってもよく、クラスA2下の単語頻度ベクトルの合計は0.89であってもよい。その後、分類モジュール203はテキストをクラスA2に分類してもよく、クラスA2は、単語頻度ベクトルの最大の合計に相当する。分類モジュール203は、クラスA2が第3レベルのベクトル空間S5に相当することを更に決定する。計算モジュール202は、第3レベルのベクトル空間S5のクラスA21とA22下の複数の単語の単語頻度ベクトルの合計を決定してもよく、クラスA21下の単語頻度ベクトルの合計は0.95であってもよく、クラスA22下の単語頻度ベクトルの合計は0.67であってもよい。その後、分類モジュール203はテキストをクラスA21に分類し、クラスA21は、単語頻度ベクトルの最大の合計に相当する。
【0039】
さらに、
図5に示す分類の木構造に加えて、本明細書に記載した実施形態で用いた計算次元は6である。しかしながら、従来の技術下での計算次元は8であり、この計算次元8は前者の次元6より明らかに高い。
【0040】
図1の実施例を参照として用いると、従来の技術を実施する装置がテキストをクラスB1に分類する一方で、本明細書に記載した実施形態の装置はテキストをクラスA1に分類する。その結果、明らかに、本明細書に記載した実施形態の装置によるテキスト分類の方がより正確となる。
【0041】
上の説明は、テキスト分類装置の内部の構造と機能を説明するものである。以下の説明は、テキスト分類の実施プロセスを説明するものである。
【0042】
図6を参照すると、様々な実施形態に係るテキスト分類用のプロセス600の主なフローチャートは以下の通りである。
【0043】
ステップ601では、複数の単語を得るように、受け取られたテキストの内容を分割する。
【0044】
ステップ602では、ベクトル空間群の第1レベルのベクトル空間にて複数の単語の単語ベクトルの合計を決定する。各ベクトル空間は、クラス木構造の非葉の子クラスである1以上の直接的な子クラスで構成されている。ベクトル空間群は、すべてのベクトル空間で構成されており、第1レベルのベクトル空間は、クラス木構造の最上位レベルのクラスで構成されている。各単語ベクトルは、ベクトル空間の相当するクラスでの単語の単語頻度ベクトルを含む。
【0045】
ステップ603では、第1レベルのベクトル空間の様々なクラスにおけるクラスにテキストを分類し、このクラスはテキストの単語ベクトルに対して最短距離を有する。
【0046】
追加実施形態では、データベースに相当するクラス下にテキストを保存してもよい。
【0047】
ステップ602には複数の実施形態がある。以下は、実施プロセスを詳しく述べる3つの実施形態である。
【0048】
図7に、フィルタリング閾値によるテキストフィルタリング用のプロセス700のフローチャートを示す。プロセスの詳細は以下の通りである。
【0049】
ステップ701では、複数の単語を得るように、受け取られたテキストの内容を分割する。
【0050】
ステップ702では、ベクトル空間群の第1レベルのベクトル空間にて複数の単語の単語ベクトルを決定する。
【0051】
ステップ703では、複数の単語の各単語に関し、第1レベルのベクトル空間の様々なクラスでの単語の単語頻度ベクトルのうち最大の単語頻度ベクトルと最小の単語頻度ベクトルとの差値が、所定のフィルタリング閾値より高いかどうかを決定する。たとえば、所定のフィルタリング閾値は、総単語コーパス数の10万分の1であってもよい。
【0052】
ステップ704では、フィルタリング閾値より高い差値を有する各単語に関し、単語の単語頻度ベクトルの合計を得る。
【0053】
ステップ705では、得られた単語頻度ベクトルの合計から最大値を有する単語頻度ベクトルの合計を決定する。
【0054】
ステップ706では、最大値を有する単語頻度ベクトルの合計に関連したクラスにテキストを分類する。
【0055】
図8に、フィルタリング閾値によるテキストフィルタリング用のプロセス800のフローチャートを示す。プロセスの詳細は以下の通りである。
【0056】
ステップ801では、複数の単語を得るように、受け取られたテキストの内容を分割する。
【0057】
ステップ802では、ベクトル空間群の第1レベルのベクトル空間にて複数の単語の単語ベクトルを決定する。
【0058】
ステップ803では、複数の単語の各単語に関し、第1レベルのベクトル空間の様々なクラスでの単語の単語頻度ベクトルのうち第1の最大の単語頻度ベクトルと第2の最大の単語頻度ベクトルとの差値が、所定のフィルタリング閾値より高いかどうかを決定する。たとえば、所定のフィルタリング閾値は、総単語コーパス数の10万分の1であってもよい。
【0059】
ステップ804では、フィルタリング閾値より高い差値を有する各単語に関し、単語の単語頻度ベクトルの合計を得る。
【0060】
ステップ805では、得られた単語頻度ベクトルの合計から最大値を有する単語頻度ベクトルの合計を決定する。
【0061】
ステップ806では、最大値を有する単語頻度ベクトルの合計に関連したクラスにテキストを分類する。
【0062】
図9に、第1のフィルタリング閾値と第2のフィルタリング閾値によるテキストフィルタリング用の方法のフローチャートを示す。プロセスの詳細は以下の通りである。
【0063】
ステップ901では、複数の単語を得るように、受け取られたテキストの内容を分割する。
【0064】
ステップ902では、ベクトル空間群の第1レベルのベクトル空間にて複数の単語の単語ベクトルを決定する。このステップが初回実施されるとき、現時点のベクトル空間のレベルは、空間ベクトル群のうちの第1レベルのベクトル空間である。
【0065】
ステップ903では、複数の単語の各単語に関し、第1のレベルのベクトル空間の様々なクラスでの単語の単語頻度ベクトルの平均値が、所定の第1のフィルタリング閾値より高いかどうかを決定する。たとえば、所定の第1のフィルタリング閾値は、総単語コーパス数の10万分の1であってもよい。
【0066】
ステップ904では、単語頻度ベクトルの平均値が第1のフィルタリング閾値より高い各単語に関し、第1レベルのベクトル空間の様々なクラスでの単語の単語頻度ベクトルのうち最大値を有する単語頻度ベクトルが、所定の第2のフィルタリング閾値より高いかどうかを決定する。たとえば、所定の第2のフィルタリング閾値は、総単語コーパス数の10万分の1であってもよい。
【0067】
ステップ905では、単語頻度ベクトルの最大値が第2のフィルタリング閾値より高い各単語に関し、単語の単語頻度ベクトルの合計を得る。
【0068】
ステップ906では、得られた単語から差値が第2のフィルタリング閾値より高い単語を削除する。各単語に関する差値は、プロセス700のステップ703に記載したものと同様の方法で導出される。このステップはステップ905と同時に実行してもよい。
【0069】
ステップ907では、得られた単語頻度ベクトルの合計から最大値を有する単語頻度ベクトルの合計を決定する。
【0070】
ステップ908では、最大値を有する単語頻度ベクトルの合計に関連したクラスにテキストを分類する。
【0071】
ステップ909では、テキストが分類されるクラスがベクトル空間に相当するかどうかを決定する。相当するというイエスの場合、現時点のベクトル空間のレベルを置換するベクトル空間を決定し、またステップ902へプロセスは戻る。逆に相当しないというノーの場合、プロセスは終了する。
【0072】
本開示の実施形態はソフトウェア及び/又はハードウェアによって実施してもよい。本開示の実施形態を実施するソフトウェアは、フロッピーディスク、ハードディスク、ディスク、フラッシュメモリなどの記憶媒体に保存してもよい。
【0073】
高次元計算では性能が低いという課題に関し、本開示の実施形態は、データ統計の特性を維持できる。従来のテキスト分類技術で要求された単語コーパスの一様性の要件に関し、本明細書に記載した実施形態は、単語コーパス全体に影響し得ない、あるクラスの単語コーパスの非一様性を許容する。あいまいな分類に関し、すなわち、複数のクラス間の単語頻度計算値に差がほとんどないデータ分類に関し、本明細書に記載した実施形態は、単語フィルタリングによってこのようなあいまいな分類の発生率が大幅に減少する。非葉の子クラスに関し重大な認識エラーがあり得るという課題に関し、本明細書に記載した実施形態は、上位から下位までの分類方法を提供するため、認識エラーが大幅に低減される。認識精度への高次元の影響に関し、本明細書に記載した実施形態は、クラスを複数のベクトル空間に分類して、低次元にてベクトル空間モデル(VSM)の精度を維持するため、次元が増えることで精度が落ちるという課題が大幅に低減される。単語選択の最適化に関し、従来のテキスト分類技術では空間次元が非常に高いことで、単語除外の確率を減少させていた。一方で、本明細書に記載した実施形態は複数の低次元ベクトル空間を用いるため、この課題が効果的に解決される。また、本明細書に記載した実施形態は、各クラス分類用の実際の横断次元を減少させる。よって、各クラス分類用の実際の横断範囲は、葉の子クラスの総数より小さくなる。従来のテキスト分類技術と比べて、本明細書に記載した実施形態は、統計の原理に適うより良い立場にあって、より高い認識精度を達成できる。
【0074】
その結果、本明細書に記載した実施形態が提供するより正確なテキスト分類は、テキスト分類保存とテキスト分類検索の精度の向上にとって有益となる。
【0075】
本開示の精神及び範囲から逸脱せずに、当業者は多くの異なった方法で本開示を変形又は修正できることが理解される。したがって、これらの修正例及び変形例は、本開示の請求項及びこれら請求項の均等物の範囲内にあるものとみなすべきである。