(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022128057
(43)【公開日】2022-09-01
(54)【発明の名称】テキスト分類装置、方法及びプログラム
(51)【国際特許分類】
G06F 16/35 20190101AFI20220825BHJP
【FI】
G06F16/35
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021026369
(22)【出願日】2021-02-22
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】110001025
【氏名又は名称】弁理士法人レクスト国際特許事務所
(72)【発明者】
【氏名】中島 俊介
(72)【発明者】
【氏名】櫻井 政幸
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175FA03
(57)【要約】
【課題】 テキスト分類に要する時間を削減できるテキスト分類装置を提供する。
【解決手段】 テキスト分類装置は、複数パタン文字列の各々に対してテキスト文字列の分類結果を対応付けたパタン分類ルールを保持するパタン保持部と、テキスト文字列の一方端部から他方端部へ一文字ずつ削除して第1対照用文字列を生成する第1対照用文字列生成部と、テキスト文字列又は第1対照用文字列とパタン文字列の何れかが一致するか否かにより、パタン分類ルールにおける第1分類結果を出力する第1判定部と、第1判定部が所定分類結果を出力した際に、第1対照用文字列のテキスト文字列の他方端部側から一方端部へ一文字ずつ削除して第2対照用文字列を生成する第2対照用文字列生成部と、第2対照用文字列とパタン文字列の何れかが一致するか否かによりパタン分類ルールにおける第2分類結果を出力する第2判定部と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
テキスト文字列を分類するテキスト分類装置であって、
複数のパタン文字列の各々に対してテキスト文字列の分類結果を対応付けたパタン分類ルールを保持するパタン保持部と、
前記テキスト文字列について、前記テキスト文字列の一方の端部から他方の端部へ一文字ずつ削除して第1対照用文字列を生成する第1対照用文字列生成部と、
前記テキスト文字列又は前記第1対照用文字列と前記パタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第1の分類結果を出力する第1判定部と、
前記第1判定部が所定の分類結果を出力した際に、前記テキスト文字列について、前記第1対照用文字列の前記テキスト文字列の他方の端部側から一方の端部へ一文字ずつ削除して第2対照用文字列を生成する第2対照用文字列生成部と、
前記第2対照用文字列とパタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第2の分類結果を出力する第2判定部と、
を有することを特徴とするテキスト分類装置。
【請求項2】
前記第1対照用文字列生成部は、第1対照用文字列と前記パタン文字列のいずれかが一致するまで、前記テキスト文字列から一文字ずつ削除することで第1対照用文字列を生成し、
前記第2対照用文字列生成部は、第2対照用文字列と前記パタン文字列のいずれかが一致するまで、前記テキスト文字列から一文字ずつ削除することで第2対照用文字列を生成することを特徴とする請求項1に記載のテキスト分類装置。
【請求項3】
前記パタン文字列の各々は、第1のパタン文字列と第2のパタン文字列を有し、
前記第1判定部は第1対照用文字列と前記第1のパタン文字列の何れかが一致するか否かに基づいて前記パタン分類ルールにおける第1の分類結果を出力し、
前記第2判定部は第2対照用文字列と前記第2のパタン文字列の何れかが一致するか否かに基づいて前記パタン分類ルールにおける第2の分類結果を出力することを特徴とする請求項1又は2に記載のテキスト分類装置。
【請求項4】
テキスト文字列を分類するテキスト分類装置が行うテキスト分類方法であって、
テキスト分類装置が、
複数のパタン文字列の各々に対してテキスト文字列の分類結果を対応付けたパタン分類ルールを保持するパタン保持ステップと、
前記テキスト文字列について、前記テキスト文字列の一方の端部から他方の端部へ一文字ずつ削除して第1対照用文字列を生成する第1対照用文字列生成ステップと、
前記テキスト文字列又は前記第1対照用文字列と前記パタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第1の分類結果を出力する第1判定ステップと、
前記第1判定部が所定の分類結果を出力した際に、前記テキスト文字列について、前記第1対照用文字列の前記テキスト文字列の他方の端部側から一方の端部へ一文字ずつ削除して第2対照用文字列を生成する第2対照用文字列生成ステップと、
前記第2対照用文字列とパタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第2の分類結果を出力する第2判定ステップと、
を実行することを特徴とするテキスト分類方法。
【請求項5】
テキスト文字列を分類するテキスト分類装置に搭載されるコンピュータに、
複数のパタン文字列の各々に対してテキスト文字列の分類結果を対応付けたパタン分類ルールを保持するパタン保持ステップと、
前記テキスト文字列について、前記テキスト文字列の一方の端部から他方の端部へ一文字ずつ削除して第1対照用文字列を生成する第1対照用文字列生成ステップと、
前記テキスト文字列又は前記第1対照用文字列と前記パタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第1の分類結果を出力する第1判定ステップと、
前記第1判定部が所定の分類結果を出力した際に、前記テキスト文字列について、前記第1対照用文字列の前記テキスト文字列の他方の端部側から一方の端部へ一文字ずつ削除して第2対照用文字列を生成する第2対照用文字列生成ステップと、
前記第2対照用文字列とパタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第2の分類結果を出力する第2判定ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のパタン文字列のうち、どのパタン文字列に一致するかによって分類対象のテキスト文字列を分類するテキスト分類装置、方法及びプログラムに関する。
【背景技術】
【0002】
近年、入力テキストのカテゴリを分類するために、テキスト分類の処理に際して形態素辞書を必要とする形態素解析をすることなく、低コストでテキスト分類を行うことができるテキスト分類方法が知られている。(特許文献1、参照)
【先行技術文献】
【特許文献】
【0003】
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来技術のテキスト分類方法は、全く非定型のテキストから、キーワードを学習して、キーワードの出現頻度から、テキストを分類するものであり、テキストの長さに比例した時間がかかるため、全体ではテキスト分類システムが大規模になる。
【0005】
従来技術のテキスト分類方法とは異なるが、ログファイル等の或る程度の定型のテキストについてパタン分類ルールによってテキストを分類する方法において、パタン文字列に対する最長一致によるテキスト分類によって、テキストの長さに比例した判定時間で、高速に分類することが出来る。しかしながら、固定文字列以外の任意の文字列となる可変文字列部分が末尾以外にも含まれる可能性がある場合には適用できないという問題がある。
【0006】
テキストが、どのパタン文字列の正規表現に一致するかを判定する方法は、可変文字列部分が末尾以外にも含まれる可能性がある場合においても利用可能である。しかしながら、1回の正規表現一致判定に対して、テキストの長さに比例した時間がかかるため、全体では、テキストの長さ×パタンの数に比例した判定時間がかかるという問題がある。
【0007】
本発明の目的は、テキスト分類に要する時間を削減できるテキスト分類装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0008】
本発明のテキスト分類装置は、テキスト文字列を分類するテキスト分類装置であって、複数のパタン文字列の各々に対してテキスト文字列の分類結果を対応付けたパタン分類ルールを保持するパタン保持部と、前記テキスト文字列について、前記テキスト文字列の一方の端部から他方の端部へ一文字ずつ削除して第1対照用文字列を生成する第1対照用文字列生成部と、前記テキスト文字列又は前記第1対照用文字列と前記パタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第1の分類結果を出力する第1判定部と、前記第1判定部が所定の分類結果を出力した際に、前記テキスト文字列について、前記第1対照用文字列の前記テキスト文字列の他方の端部側から一方の端部へ一文字ずつ削除して第2対照用文字列を生成する第2対照用文字列生成部と、前記第2対照用文字列とパタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第2の分類結果を出力する第2判定部と、を有することを特徴とする。
【0009】
本発明のテキスト分類方法は、テキスト文字列を分類するテキスト分類装置が行うテキスト分類方法であって、テキスト分類装置が、複数のパタン文字列の各々に対してテキスト文字列の分類結果を対応付けたパタン分類ルールを保持するパタン保持ステップと、前記テキスト文字列について、前記テキスト文字列の一方の端部から他方の端部へ一文字ずつ削除して第1対照用文字列を生成する第1対照用文字列生成ステップと、前記テキスト文字列又は前記第1対照用文字列と前記パタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第1の分類結果を出力する第1判定ステップと、前記第1判定部が所定の分類結果を出力した際に、前記テキスト文字列について、前記第1対照用文字列の前記テキスト文字列の他方の端部側から一方の端部へ一文字ずつ削除して第2対照用文字列を生成する第2対照用文字列生成ステップと、前記第2対照用文字列とパタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第2の分類結果を出力する第2判定ステップと、を実行することを特徴とする。
【0010】
本発明のテキスト分類プログラムは、テキスト文字列を分類するテキスト分類装置に搭載されるコンピュータに、複数のパタン文字列の各々に対してテキスト文字列の分類結果を対応付けたパタン分類ルールを保持するパタン保持ステップと、前記テキスト文字列について、前記テキスト文字列の一方の端部から他方の端部へ一文字ずつ削除して第1対照用文字列を生成する第1対照用文字列生成ステップと、前記テキスト文字列又は前記第1対照用文字列と前記パタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第1の分類結果を出力する第1判定ステップと、前記第1判定部が所定の分類結果を出力した際に、前記テキスト文字列について、前記第1対照用文字列の前記テキスト文字列の他方の端部側から一方の端部へ一文字ずつ削除して第2対照用文字列を生成する第2対照用文字列生成ステップと、前記第2対照用文字列とパタン文字列の何れかが一致するか否かに基づいて、前記パタン分類ルールにおける第2の分類結果を出力する第2判定ステップと、を実行させることを特徴とする。
【発明の効果】
【0011】
本発明によれば、可変文字列部分が末尾のみに存在する場合以外に、可変文字列部分が中間に存在する場合、可変文字列部分が先頭に存在する場合においても、テキスト文字列を分類することが出来る。また、テキスト分類に要する時間も、テキスト文字列の長さに比例する判定時間で済むため、高速に分類を実行できる。
【0012】
本発明によれば、さらに、パタン文字列に一致するキーワードの走査方向での出現順序を考慮して、先頭部分に一致する対照用文字列と、後方部分に一致する対照用文字列が、走査方向に応じてその順序で出現することも、分類の条件とすることにより、簡単にテキスト文字列を分類することができる。特に、任意のテキスト文字列を分類することよりも、ログファイル等のある程度定型のテキスト文字列を対象として分類する場合に好適である。更に、固定文字列と可変文字列を含み先頭又は末尾に固定文字列を含む分類対象のテキスト文字列に好適である。
【図面の簡単な説明】
【0013】
【
図1】本発明による実施例にかかるテキスト分類装置の構成例を示すブロック図である。
【
図2】本実施例におけるテキスト分類装置のパタン保持部に格納されるパタン分類ルールの概要を説明する概念図である。
【
図3】本実施例におけるテキスト分類装置の第1対照用文字列生成部及び第1判定部の動作例である第1対照用文字列生成及び第1判定ステップを説明する概念図である。
【
図4】本実施例におけるテキスト分類装置の第1対照用文字列生成及び第1判定ステップと共に第2対照用文字列生成部及び第2判定部の動作例である第2対照用文字列生成及び第2判定ステップとを説明する概念図である。
【
図5】本実施例におけるテキスト分類装置の第1対照用文字列生成及び第1判定ステップと共に第2対照用文字列生成部及び第2判定部の動作例である第2対照用文字列生成及び第2判定ステップとを説明する概念図である。
【発明を実施するための形態】
【0014】
以下、図面を参照しつつ本発明による実施例、例えば、パーソナルコンピュータ(PC)、ルータ、スイッチ、サーバ等のネットワーク機器から収集されたログファイル(テキスト文字列の群)のためのテキスト分類装置について説明する。なお、本発明は以下の実施例に限定されるものではない。
【実施例0015】
(構成の説明)
図1は、本実施例におけるネットワーク機器1に接続されたテキスト分類装置10の概略構成を示すブロック図である。
【0016】
テキスト分類装置10は、例えばPC等のコンピュータ装置であり、図示しないが内部バスで互いに接続された、CPU(Central Processing Unit)11と、記憶装置12と、入力部13と、出力部14と、通信部15と、を有する。入力部13や通信部15を介して、収集されたログファイル等のテキスト文字列がテキスト分類装置10に取得される。
【0017】
記憶装置12としては、たとえば、RAM(Random Access Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、やフラッシュメモリ等があり、これらは各種プログラムやデータを記憶するとともにCPU11の作業エリアとなる。入力部13としては、データを入力するための、たとえば、キーボード、マウス、タッチパネル、テンキー等がある。出力部14としては、データを出力するための、たとえば、作業者への表示のためのディスプレイ等がある。通信部15は、LANケーブルやシリアルケーブルを介してネットワーク機器1と有線又は無線で通信し、データを送受信する。入力部13及び出力部14としては外部装置、例えば記録媒体を接続するためのUSB(Universal Serial Bus)も含まれる。
【0018】
記憶装置12にインストールされたオペレーティングシステム(OS)ソフトウェアのプログラムとテキスト分類用のアプリケーション(以下、テキスト分類アプリという)に従うCPUによってテキスト分類装置の全体動作を制御する。
【0019】
テキスト分類装置10としては、PCの他に、タブレット端末、スマートフォン等であってネットワーク機器1と有線又は無線で通信可能な電子機器が挙げられる。
【0020】
テキスト分類アプリは、インストールされ記憶装置12に展開されて、
(1) テキスト分類装置10の複数のパタン文字列の各々に対して分類対象のテキスト文字列の分類結果を対応付けたパタン分類ルール(以下、単にパタンルールという)を保持するパタン保持部PKPと、
(2) テキスト文字列について、テキスト文字列の一方の端部から他方の端部へ一文字ずつ削除して第1対照用文字列を生成する第1対照用文字列生成部FCTと、
(3) テキスト文字列又は第1対照用文字列とパタン文字列の何れかが一致するか否かに基づいて、パタンルールにおける第1の分類結果を出力する第1判定部FJPと、
(4) 第1判定部FJPが所定の分類結果を出力した際に、テキスト文字列について、第1対照用文字列のテキスト文字列の他方の端部側から一方の端部へ一文字ずつ削除して第2対照用文字列を生成する第2対照用文字列生成部SCTと、
(5) 第2対照用文字列とパタン文字列の何れかが一致するか否かに基づいてパタンルールにおける第2の分類結果を出力する第2判定部SJPと、を構成する。
【0021】
(動作の説明)
(1:パタン保持部PKP)
パタン保持部PKPは、テキスト分類装置10に記録された複数のパタン文字列の各々に対して分類対象のテキスト文字列の分類結果を対応付けたパタンルールを保持する。すなわち、パタン保持部PKPにより、複数のパタン文字列のうち、どのパタンルールに一致するかによってテキスト文字列を分類する。
【0022】
図2に、パタン保持部PKPに格納されるパタンルール(R-1)(R-2)(R-3)の例を示す。
【0023】
パタンルール(R-1)は、先頭からの「固定文字列1」で分類結果「先頭グループ」テキスト文字列が決まる場合で、パタン文字列が「固定文字列1」であるとき、分類結果を「先頭グループ」とする取り決めである。ここでの分類対象のテキスト文字列は「固定文字列1/可変文字列」の並びからなる。
【0024】
パタンルール(R-2)は、先頭からの「固定文字列2-1」と末尾からの「固定文字列2-2」で分類結果「先頭末尾グループ」テキスト文字列が決まる場合で、パタン文字列が「固定文字列2-1」の後に「固定文字列2-2」を連結した文字列であるとき、分類結果を「先頭末尾グループ」とする取り決めである。加えて、パタン文字列が「固定文字列2-1」のみであるとき、分類結果を「グループ不定」とする取り決めである。ここでの分類対象のテキスト文字列は「固定文字列2-1/可変文字列/固定文字列2-2」の並びからなる。
【0025】
パタンルール(R-3)は、末尾からの「固定文字列3」で分類結果「末尾グループ」テキスト文字列が決まる場合で、パタン文字列が「固定文字列3」であるとき、分類結果を「末尾グループ」とする取り決めである。加えて、パタン文字列が「空文字列」のみであるとき、分類結果を「グループ不定」とする取り決めである。ここでの分類対象のテキスト文字列は「可変文字列/固定文字列3」の並びからなる。
【0026】
上記のパタンルールにおいて、「可変文字列」は任意文字で任意文字数の文字列であり、ここでは「…」とも表す。逆に、「固定文字列」は「…」以外の任意ではない文字の特定文字数の文字列である。分類対象のテキスト文字列を分類するパタン文字列の固定文字列各々は、一塊のものでもよいし(パタンルール(R-1)(R-3)、参照)、先頭末尾で別れた固定文字列(第1のパタン文字列と第2のパタン文字列)の二塊のものでもよい(パタンルール(R-2)、参照)。
【0027】
(パタンルールの具体例)
それぞれのパタン文字列に対応する分類結果が、分類するカテゴリになるので、例として、下記の5つのパタンルールを考える。
パタン文字列1:ABCD… →分類結果:グループ1
パタン文字列2:ABEF… →分類結果:グループ2
パタン文字列3:ABGH…IJ→分類結果:グループ3
パタン文字列4:ABGH…KL→分類結果:グループ4
パタン文字列5:…MN →分類結果:グループ5。
【0028】
上記5つのパタンルールは次のような意味になる。
パタン文字列1において、先頭が固定文字列1「ABCD」で、その後に可変文字列がつづくパタンルール(R-1)に一致するテキスト文字列は、「グループ1」に分類する。
パタン文字列2において、先頭が固定文字列1「ABEF」で、その後に可変文字列がつづくパタンルール(R-1)に一致するテキスト文字列は、「グループ2」に分類する。
パタン文字列3において、先頭が固定文字列2-2「ABGH」で、その後に可変文字列がつづき、末尾が固定文字列2-2「IJ」であるパタンルール(R-2)に一致するテキスト文字列は、「グループ3」に分類する。
パタン文字列4において、先頭が固定文字列2-2「ABGH」で、その後に可変文字列がつづき、末尾が固定文字列2-2「KL」であるパタンルール(R-2)に一致するテキスト文字列は、「グループ4」に分類する。
パタン文字列5において、先頭の可変文字列の後、末尾が固定文字列3「MN」であるパタンルール(R-3)に一致するテキスト文字列は、「グループ5」に分類する。
【0029】
[パタンルール(R-1):先頭グループテキスト]
(2:第1対照用文字列生成部FCT及び3:第1判定部FJP)
図3に、第1対照用文字列生成部FCT及び第1判定部FJPの動作例である第1対照用文字列生成及び第1判定ステップを示す。
【0030】
第1対照用文字列生成部FCTは、分類対象のテキスト文字列を走査し、その一部を切り出した部分文字列を生成する機能を有する。第1判定部FJPは、テキスト走査の部分文字列にパタン文字列が一致するパタンルールの分類結果を検索する機能を有する。第1判定部FJPは、検索の結果、得られた分類結果に基づき、分類を完了するか、又は、分類対象のテキスト文字列の走査を第2判定部SJPに継続させるかについて判定する機能をも有する。ここで、「走査」とは「テキスト文字列の一方の端部から他方の端部へ又はその逆方向に一文字毎認識すること」であり、「切り出す」とは「一文字ずつ削除して残余の文字列を画定すること」であり、「部分文字列(すなわち第1対照用文字列)」は当該残余の文字列である。
【0031】
よって、第1対照用文字列生成部FCTは、
図3の(P-1)に示すように末尾から先頭方向に向かって走査すなわち、テキスト文字列の一方の端部(右端)から他方の端部(左端)へ一文字ずつ削除して第1対照用文字列(部分文字列)を生成する。その際、文字列を切り出す都度、切り出した部分文字列とパタン文字列が一致するパタンルールが存在するか第1判定部FJPがチェックする。そして、
図3の(P-2)に示すように、第1判定部FJPは、パタンルールが存在する場合、走査を停止する。
【0032】
具体的に、上記の第1対照用文字列生成部FCT及び第1判定部FJPについて、分類対象のテキスト文字列が上記のパタン文字列1及びパタン文字列2のように、先頭部分が固定文字列で、その後に可変文字列がつづくパタン文字列だけがパタンルールになる場合(上記の(R-1))を説明する。
【0033】
この場合、「第1対照用文字列生成部FCTが分類対象のテキスト文字列の先頭部分を切り出して、それに部分文字列が一致するパタンルールが存在するか」を第1判定部FJPが判定することで分類できる。
パタン文字列1:ABCD…→分類結果:グループ1
パタン文字列2:ABEF…→分類結果:グループ2
図3の(P-1)に示すように、分類対象のテキスト文字列が「ABEFXY」の場合、先頭部分を長い順に切り出すと、「ABEFXY」、「ABEFX(
図3(P-1)、参照)」、「ABEF」と順に部分文字列が生成されるが、部分文字列「ABEF(
図3(P-2)、参照)」まで切り出した時点で、当該部分文字列がパタン文字列2に一致するので、パタン文字列2の分類結果:グループ2にテキスト文字列「ABEFXY」が一致すると第1判定部FJPは判定できる。
【0034】
[パタンルール(R-2):先頭末尾グループテキスト]
(4:第2対照用文字列生成部SCT及び5:第2判定部SJP)
図4に、第1対照用文字列生成及び第1判定ステップと共に第2対照用文字列生成部SCT及び5:第2判定部SJPの動作例である第2対照用文字列生成及び第2判定ステップを示す。
【0035】
第2対照用文字列生成部SCTは、第1対照用文字列生成部FCTとは反対方向に分類対象のテキスト文字列を走査し、その一部を切り出した部分文字列を生成する機能を有する。第2判定部SJPは、テキスト走査の部分文字列にパタン文字列が一致するパタンルールの分類結果を検索する機能を有する。なお、第1対照用文字列生成部FCT及び第2対照用文字列生成部SCTは、それぞれ第1判定部FJP及び第2判定部SJPによりパタン文字列保持部PKPで一致するパタンルールが見つかるか、又は、切り出した結果が空文字列になるまで切り出す。
【0036】
上記の第1対照用文字列生成部FCT及び第1判定部FJP並びに第2対照用文字列生成部SCT及び第2判定部SJPによって、例えば、分類対象のテキスト文字列「ABGHXYKL」に対して、上記のパタン文字列1~5のパタンルールのどれにマッチするか判定し、その結果、そのテキスト文字列「ABGHXYKL」を「グループ4」に分類できる。
【0037】
具体的に、分類対象のテキスト文字列が上記のパタン文字列4(パタン文字列4:ABGH…KL→分類結果:グループ4)のように、先頭部分が固定文字列「ABGH」で、その後に可変文字列「XY」がつづき、その末尾に固定文字列「KL」となる場合を説明する。
【0038】
このパタン文字列で4は、パタンルール(R-2)先頭からの固定文字列と末尾からの固定文字列で分類結果が決まる場合のパタン文字列なので、パタンルールとしては、下記の2つの場合になる。
パタン文字列4-1: パタン文字列「ABGHKL」→分類結果「グループ4」
パタン文字列4-2: パタン文字列「ABGH」→分類結果「グループ不定」。
【0039】
分類対象のテキスト文字列が、「ABGHXYKL」の場合、
図4に示す第1対照用文字列生成及び第1判定ステップ(1つ目のステップ)においては、対象のテキスト文字列の末尾から先頭方向に向かって走査することによって、順に部分文字列「ABGHXYKL」、「ABGHXYK(
図4(P-1)、参照)」、「ABGHXY」、「ABGHX」、「ABGH」を切り出す。最後に「ABGH」まで切り出した時点(
図4(P-2)、参照)で、切り出した文字列がパタン文字列4-2のパタン文字列に一致するので、第1判定部FJPによる結果は、「グループ不定」になる。
【0040】
グループ不定になった場合、第1判定部FJPは、第2対照用文字列生成部SCTに、
図4の(P-2)に示す第1対照用文字列生成及び第1判定ステップ(1つ目のステップ)の終了位置から
図4の(P-3)に示す末尾方向に向かって走査することによって、順に連結した部分文字列「ABGHXYKL」、「ABGHYKL」、「ABGHKL」を切り出す。なお、1つ目のステップの終了位置は分類対象のテキスト文字列の先頭の「ABGH」の後になるので、「ABGH」の後から末尾に向けて部分文字列「XYKL」、「YKL(
図4(P-3)、参照)」、「KL」を切り出し連結することになる。
図4の(P-4)に示す第2対照用文字列生成及び第2判定ステップで連結した部分文字列「ABGHKL」(第2対照用文字列)まで切り出した時点で、切り出した文字列がパタン文字列4-1のパタン文字列に一致するので、第2判定部SJPの結果は、「グループ4」になる。ここで、第2対照用文字列は第2対照用文字列生成部SCTにより連結された生成された文字列である。
【0041】
このパタン文字列では、パタンルール(R-2)先頭からの固定文字列と末尾からの固定文字列で分類結果が決まる場合のパタン文字列なので、先頭の固定文字列と末尾からの固定文字列を連結した文字列を第2対照用文字列として、上記のパタン文字列4-1が導かれる。
【0042】
[パタンルール(R-3):末尾グループテキスト]
図5は、本実施例におけるテキスト分類装置の第1対照用文字列生成及び第1判定ステップと共に第2対照用文字列生成部及び第2判定部の動作例である第2対照用文字列生成及び第2判定ステップとを説明する概念図である。
図5に示すように、上記の第1対照用文字列生成部FCT及び第1判定部FJP並びに第2対照用文字列生成部SCT及び第2判定部SJPによって、例えば、分類対象のテキスト文字列「XYMN」に対して、上記のパタン文字列1~5のパタンルールのどれにマッチするか判定し、その結果、そのテキスト文字列「XYMN」を「グループ5」に分類できる。
【0043】
具体的に、分類対象のテキスト文字列が上記のパタン文字列5(パタン文字列5:…MN→分類結果:グループ5)のように、先頭部分が可変文字列「XY」であり、その末尾に固定文字列「MN」となる場合を説明する。かかる場合は、上記のパタンルール(R-3)が対象とする末尾グループテキストのパタン文字列であり、次のように末尾の固定文字列だけでテキスト分類するものである。
【0044】
よって上記の例では、パタンルール(R-3)より、次のパタンルールが導かれる。
パタン文字列5-1: パタン文字列「MN」→分類結果「グループ5」
パタン文字列5-2: パタン文字列「」→分類結果「グループ不定」。
パタン文字列5-1は、末尾からの固定文字列「MN」に対して導かれたもので、パタン文字列5-2は空文字列「」に対して導かれたものである。
【0045】
分類対象のテキスト文字列が「XYMN」の場合、第1対照用文字列生成及び第1判定ステップで、第1対照用文字列生成部FCTは、
図5の(P-1)に示すように、末尾から先頭方向に向かう走査によって、順に「XYMN」、「XYM(
図5(P-1)、参照)」、「XY」、「X」、「」と切り出しつつ、第1判定部FJPはチェックして、最後に空文字列「」を切り出した時点(
図5(P-2)、参照)で、切り出した文字列がパタン文字列5-2のパタン文字列に一致するので、第1判定部FJPの結果は、「グループ不定」になる。
【0046】
空文字列にパタン文字列と一致するパタンルールが存在するかチェックすることは、第1判定部FJPが第2対照用文字列生成及び第2判定ステップを実行するか否かを判定するためのチェックになる。「空文字列→グループ不定」のパタンルールが存在すれば、第2対照用文字列生成及び第2判定ステップを実行することになり、「空文字列→グループ不定」のパタンルールが存在しなければ、第2対照用文字列生成及び第2判定ステップは実行せずに、分類結果は「グループ無し」になる。
【0047】
グループ不定になった場合、第2対照用文字列生成及び第2判定ステップにおいては、
図5の(P-2)に示す第1対照用文字列生成及び第1判定ステップの終了位置から末尾方向に向かう走査によって、次の順で切り出す。「XYMN」、「YMN(
図5(P-3)、参照)」、「MN」。なお、1つ目のステップの終了位置は分類対象のテキスト文字列の先頭位置になるので、テキスト文字列の先頭から末尾に向けて切り出すことになる。また、1つ目のステップの終了位置は分類対象のテキスト文字列の先頭の空文字列「」の後になるので、空文字列「」の後から末尾に向けて部分文字列「XYMN」、「YMN」、「MN」を切り出し連結することになる。第2対照用文字列生成及び第2判定ステップで「MN」まで切り出した時点(
図5(P-4)、参照)で、切り出した文字列がパタン文字列5-1のパタン文字列に一致するので、第1対照用文字列生成部FCTの結果は、「グループ5」になる。
【0048】
上記いずれのテキスト分類処理においても、最後までパタンルールが見つからなかった場合、分類結果は「グループ無し」とし、第2対照用文字列生成及び第2判定ステップは実行せず、装置全体の動作を終了する。
【0049】
(効果の説明)
この方法によるテキスト文字列の分類は、可変文字列部分が末尾のみに存在する場合以外に、可変文字列部分が中間に存在する場合、可変文字列部分が先頭に存在する場合においても、テキスト文字列を分類することが出来る。また、分類に要する時間も、テキスト文字列の長さに比例する判定時間で済むため、高速に分類を実行できる。
【0050】
また、1回目に分類対象のテキスト文字列から切り出した部分文字列との一致判定結果の固定文字列を、2回目に分類対象のテキスト文字列から切り出した文字列と連結し、連結後の部分文字列に対して、固定文字列との一致判定を実行することにより、1回目の一致判定結果の固定文字列毎に、2回目の一致判定用のパタンルールを分けて管理することが不要となり、分類のためのパタンルールを一元管理することが可能となる。
【0051】
(変形例)
本実施例では、分類対象文字列に対して、先頭の部分文字列を切り出しての一致判定後、末尾の部分文字列を切り出しての一致判定を実行する順序としているが、逆に、末尾の部分文字列を切り出しての一致判定後、先頭の部分文字列とを切り出しての一致判定を実行する順序とすることも可能である。