JP2001134575A - 頻出パターン検出方法およびシステム - Google Patents

頻出パターン検出方法およびシステム

Info

Publication number
JP2001134575A
JP2001134575A JP30958299A JP30958299A JP2001134575A JP 2001134575 A JP2001134575 A JP 2001134575A JP 30958299 A JP30958299 A JP 30958299A JP 30958299 A JP30958299 A JP 30958299A JP 2001134575 A JP2001134575 A JP 2001134575A
Authority
JP
Japan
Prior art keywords
pattern
patterns
candidate
database
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP30958299A
Other languages
English (en)
Inventor
Tsuyoshi Fukuda
剛志 福田
Yasushi Matsuzawa
裕史 松澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP30958299A priority Critical patent/JP2001134575A/ja
Priority to US09/699,661 priority patent/US6618725B1/en
Publication of JP2001134575A publication Critical patent/JP2001134575A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • G06F16/345Summarisation for human users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】データの集合からその中に含まれる重要なパタ
ーンを検出する方法及びシステムを提供することであ
る。 【解決手段】木構造データで表わされたデータ集合を含
むデータベースから、集計対象となる候補パターンを用
いて、頻出パターンを検出するシステムであって、
(1)データベースから候補パターンにマッチするパタ
ーンを集計する手段と、(2)前記集計により出現頻度
の高いパターンを検出する手段と、(3)前記検出した
パターンから、次の集計対象となる候補パターンを生成
する手段と、を有するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複雑な構造をもつデー
タ集合から、重要なパターンを検出する方法およびシス
テムに関し、特に該パターンをデータ構造を考慮しなが
ら、高速に自動的に検出する方法およびシステムに関す
る発明である。
【0002】
【従来の技術】ワールド・ワイド・ウェブ(WWW)上の
複雑にリンクが張り巡らされたデータや、自然言語で記
述された文書の集まり(テキスト・データベース)のよ
うに、構造は持っているのだが、はっきりと固定された
構造をもたないデータが最近増加している。このような
はっきりと固定された構造をもたないデータは半構造デ
ータと呼ばれる。半構造データでは、その構造自体が未
知であるため、構造のパターンを検出するための固定し
た視点を与えることができない。一般に、複雑な構造を
持つデータは、頂点と辺からなるグラフを用いて表現す
ることが可能である。例えば自然言語で書かれた文は、
構文解析と意味解析によって概念間のネットワークとし
て表現できる。また、会社の組織や社員は、関係してい
るエンティティ同士を結び合わせたグラフとして表現さ
れる。このようなグラフの集合がデータベースとして与
えられたとき、そこからパターンとして頻繁に出現する
部分グラフを検出できれば、データ集合に含まれた重要
な概念を抽出することができる。しかし、この問題を高
速に解くアルゴリズムは知られていない。
【0003】データ集合からデータ構造のパターンを検
出する方法としてデータマイニイングが知られている。
このデータマイニングで検出できるパターンとしては、
相関ルール(Association Rules) が良く知られている。
従来、相関ルールを検出する際には、データベースをト
ランザクションの集合として捕らえ、トランザクション
をアイテムの集合と考える。そして、データベース中の
トランザクションに頻繁に現れる(共起する)アイテム
の集合を求め、その頻出アイテム集合から相関ルールを
導き出す。この場合、対象データは単純なアイテムの集
合であり、導き出されるパターンも単純なアイテムの集
合である。また複雑なデータ構造に対しては、ユーザが
視点を与えることにより、構造は単純化することができ
る。従来、複雑なデータに対するデータマイニングの適
用は、このような固定された視点を与えることにより単
純化したデータに対して行われてきた。しかし、これは
固定された視点を与えることができる場合に限られてい
て、複雑な構造の中のどこに注目してよいかあらかじめ
分からないような状況では、このような単純化は容易で
はない。逆にいえばデータマイニングにおいては、その
目的が未知の知識の検出やデータの分析にあるため、あ
らかじめ固定された視点を与えることが難しいという問
題がある。また固定された視点に注目してパターン検出
を行うには、予めデータ構造を分解してフラットな形式
のデータに変換するので、データ構造を有効に用いたパ
ターン検出がなされない。また注目されなかった部分は
当然検出対象から外れてしまう。
【0004】
【発明が解決しようとする課題】従って、本発明が解決
しようとする課題は、データの集合からその中に含まれ
る重要なパターンを検出する方法及びシステムを提供す
ることである。また別の課題は、データ集合からその中
に含まれる重要なパターンを、高速に短時間で検出する
方法及びシステムを提供することである。また別の課題
は、データ集合からその中に含まれる重要なパターン
を、そのデータの構造を有効に用いて検出する方法及び
システムを提供することである。また別の課題は、固定
された視点を与えることなく、データ集合をマイニング
する方法およびシステムを提供することである。
【0005】
【課題を解決するための手段】本発明は上記課題を解決
するために、木構造データで表わされたデータ集合を含
むデータベースから、集計対象となる候補パターンを用
いて、頻出パターンを検出するシステムであって、
(1)データベースから候補パターンにマッチするパタ
ーンを集計する手段と、(2)前記集計により出現頻度
の高いパターンを検出する手段と、(3)前記検出した
パターンから、次の集計対象となる候補パターンを生成
する手段と、を有する。図1に本発明の概要を示す。木
構造データで表わされたデータ集合を含むデータベース
から、頻出パターンを検出するにあたり、ブロック11
0でデータベースから候補パターンにマッチするパター
ンを集計し、ブロック120では、集計により出現頻度
の高いパターンを検出し、ブロック130では、検出し
た出現頻度の高いパターンから、次の集計対象となる候
補パターンを生成するように構成する。また別の態様と
して、本発明は大量のテキストデータから、有用な概念
を抽出する、テキストマイニング・システムであって、
(1)各テキストデータ中の文章を構文解析する手段
と、(2)前記構文解析の結果に基づき構文木を生成す
る手段と、(3)前記構文木の集合からなる、データベ
ースを作成する手段と、(4)データベースから集計対
象となる候補パターンを集計する手段と、(5)前記集
計により出現頻度の高いパターンを検出する手段と、
(6)前記検出したパターンから、次の集計対象となる
候補パターンを生成する手段、を有する。
【0006】
【発明の実施の形態】本発明の実施の形態を説明する前
に、若干の言葉の定義を行う。 [準備]I = { i1, i2, ..., im } をアイテムと呼ばれ
るリテラルの集合とする。ラベル付き集合 g = (l, A)
とは、ラベル l ∈ I とラベル付き集合の集合 A =
{g}のペアになっている。また、ラベル付き集合をグル
ープと呼ぶ。 G = I × set( G ) はグループのドメイ
ンを示す。トランザクションの集合を D とする。各ト
ランザクション T は、グループの集合( T ⊆ G )であ
る。各トランザクションおよびトランザクション中の各
グループは固有の識別子を持つ。"構造化された相関パ
ターン" (structured association pattern )、あるい
は、簡単に"パターン"もグループの集合である。なお、
明細書中において、ラベル l だけからなるグループ g=
( l ,{} )を単にアイテム l と呼ぶ場合もある。
【0007】次にパターンマッチングについて説明す
る。グループ g = (lg, Ag) が他のグループ h = (lh,
Ah) にマッチするとは、両者のラベルが等しく( lg = l
h )、かつ、 Ag が Ah の部分集合である( Ag ⊆ A
h )ことをいう。パターン P = { g 1, g2, ..., gm } が
トランザクション T = {h1, h2, ..., hn } にマッチす
るとは、パターン P 中の各要素 gi ∈ P に対して、そ
れぞれマッチするグループhj ∈ T が別々に存在して
いることをいう。ここで、複数のグループ同士のマッチ
ングでは、それぞれ別々のグループ同士がマッチしなけ
ればならないことに注意する。例えば、図2に示すよう
なパターン P1 = {(1, {2}), (1, {4})} は、トランザ
クション T = {(1, {2, 3, 4}), (1, {4, 5)}} にマッ
チするが、 P2= {(1, {2} ), (1, {3})} は T にマッチ
しない。なぜならば、P2 の二つのグループは、どちら
もトランザクション T の最初のグループにしかマッチ
しないからである。
【0008】次にサポート(出現頻度)について説明す
る。パターン P が、トランザクションの集合 D に対し
てサポート s を持つとは、パターン P がトランザ
クション集合 D のうちの s% のトランザクションにマ
ッチすることをいう。ただし、あるパターンがトランザ
クションに複数の方法でマッチしても、そのトランザク
ションに対するサポートのカウントは 1 でしかない。
例えば、パターン P = {(1, {2}), (2,{4}), (2, {5})}
は、トランザクション T = {(1,{2,3}), (2,{3,4}),
(2,{3,5}),(2,{4,5}) }にマッチするが、図3の A) の
ようなマッチングの仕方以外にも B) や C) のようなマ
ッチングも存在する。このように複数の方法でマッチす
る場合もサポートのカウントは1でしかない。
【0009】次に頻出パターンについて説明する。構造
化された相関パターンをマイニングするという問題は、
トランザクションの集合 D が与えられた時、ユーザが
与えた最小サポート値(minsup)よりも多くのトランザク
ションとマッチするような全ての構造化されたパターン
を生成することである。もしパターンのサポートが min
sup よりも大きければ、そのパターンを"頻出する" (fr
equent)と言い、そのパターンを頻出パターンと呼ぶ。X
と Y をパターン P のサブセットとして、X ∪Y = P
かつ X ∩ Y = φ の時に、パターン P から X ⇒ Y
という形式をしたルールを導出することができる。従
って、本発明により構造化されたパターンを発見するこ
とにより、構造化されたルールの導出を行うことも可能
である。各グループは集合として捉えられており、集合
内のアイテムは、シーケンスについては考慮せず、一般
性を失うことなく、ある決められた規則でソートされて
いると仮定する。なお本明細書中では、辞書順にソート
されているものとして説明を行なう。同様に、各トラン
ザクションやパターンのグループは、各グループのラベ
ルの辞書順にソートされていると仮定する。もしグルー
プ g1 = (l1, A1)とグループ g2 = (l2, A2) が同じラ
ベルを持つ、即ち、 l1 = l2 であるならば、アイテム
集合 A1 と A2 を最初の要素から辞書順に比較してい
き、最初に違う要素が現れた時点で順位付けを行うこと
ができる。トランザクション中に複数のグループが同じ
ラベルを持つことを許しているので、上記のようなケー
スが出現する。また各グループに対して、null という
特別なラベルを割り当てることによりラベルを持たない
ような単なる集合の集合を扱うことも可能である。
【0010】[パターン抽出システム]本発明の頻出構
造化相関パターン(頻出パターン)の抽出システムにつ
いて説明する。本発明の頻出パターン抽出システムのブ
ロック図を図4に示す。図4において、データベース(4
10)には、トランザクションの集合(データ集合)が格
納されている。1 件のトランザクションとは、1 件の構
造化されたデータ(木構造データ)のことを言う。頻出パ
ターンを抽出する本システムへの入力は、大量のトラン
ザクションが格納されたデータベース(410)である。集
計装置(420)は、パターンの出現頻度を集計する装置で
あり、データベース(410)と候補パターン集合(450)を入
力とし、頻出パターン集合(430)を出力する、集計装置
(420)による集計の結果、候補パターン集合(450)の中
で、出現頻度(サポート)の高いパターンのみを取り出
して格納したものが、頻出パターン集合(430)である。
候補生成装置(440)は、サイズ k の頻出パターン集合(4
30)を入力として、次の集計対象となるサイズ k+1 の候
補パターン集合(450)を出力する装置である。候補パタ
ーン集合(450)には、集計装置(420)が集計の対象とする
パターンが格納されている。ここには頻出パターンにな
りうる候補パターンが集められている。
【0011】本発明の頻出パターン抽出の流れを説明す
る前に、パターンのサイズを定義する。パターン中に含
まれている(ラベルを含む)アイテムの合計をパターン
のサイズとする。サイズ k のパターンを k-パターンと
呼ぶ。サイズ k の頻出するパターンの全体の集合を Lk
、サイズ k の候補パターンの全体の集合を Ck と記述
する。図5に、本発明の頻出パターン抽出方法のフロー
チャートを示す。またこのフローチャートでは、パター
ンのサイズを変数 k に格納し管理する。
【0012】全体の頻出パターン抽出方法は以下の通り
である。まず、はじめに単一アイテムからなるパターン
の集計を行なう。また単一アイテムからなるパターン
(サイズk=1 のパターン)の集計を行なうため、集計すべ
き候補パターン集合 C1 の設定(510)を行ない、サイズ
を格納する変数k を1に設定する(ステップ520)。サイズ
1の候補パターン集合 C1 の設定(ステップ510)では、ラ
ベルのみからなるパターンの集合 {l,φ)| l∈I} 及
び、全てのラベルにマッチする特別なラベル "*" を持
つ パターンの集合 {(*,{i})| i∈I}を C1 に入力す
る。ここで、φ は、空集合を表す。条件分岐(530)で
は、候補パターン集合の生成(ステップ510及びステップ
550)で、生成された候補パターンCk が空( Ck = φ)か
どうかをチェックする。もし Ck が空ならば、ステップ
570へ進む。 Ck が空でない場合、頻出パターンの集計
作業が終わっていないので、ステップ540へ進む。 Ck
が空でない場合、集計(ステップ540)を行なう。集計(ス
テップ540)は、候補パターン集合 Ck の要素である各パ
ターンがマッチするトランザクションが何件あるかを求
め、その中から出現頻度の高いものを頻出パターン集合
Lk として求める。集計(ステップ540)により頻出パタ
ーン集合 Lkが求められたら、次にサイズの大きさを1増
やして、同様に集計を行なうため、サイズ k+1 の候補
パターンの集合 Ck+1 を生成する(ステップ550)。サイ
ズを1増やして再び集計を行なうため、サイズを格納し
た変数 k を1増やし(ステップ560)、条件分岐(ステップ
530)へいく。条件分岐(ステップ530)において、Ck が空
になるまでサイズ k を1つづつ増やしながら、集計(ス
テップ540)及び候補パターン集合の生成(ステップ550)
を繰り返す。もし条件分岐(ステップ530)で、Ckが空に
なった場合には(yesの場合)、ステップ570へ進む。ステ
ップ570において最終的に求められた頻出パターン集合
を出力する。最終的に求められた頻出パターン集合と
は、サイズ1から k-1 の頻出パターン L1,L2,...,Lk-1
の和集合である。( i が k-1 までなのは、Ck が空集
合のため Lk も空集合だからである)
【0013】[候補生成]図4のブロック440及び図5
のステップ550において、サイズ k の頻出パターン集合
Lk からサイズ k+1 の候補パターン集合 Ck+1 の生成
が行われる。以下に候補パターンの生成について詳細を
述べる。図6に候補生成装置の詳細図を示す。候補生成
装置は、あるサイズの頻出パターン集合から一つ大きい
サイズの候補パターンの集合を生成する装置であり、入
力として頻出パターン集合 Lk (610)を受け取り、候補
パターン集合 Ck+1(650)を出力とする。頻出パターン集
合610は、候補生成装置へ入力されるサイズ k の頻出パ
ターン集合 Lk である。Join装置(620)は、サイズ k の
パターン集合である Lk を入力として受け取り、Joinを
行なって、サイズ k+1 のパターン集合を中間結果(630)
として出力する。Joinの方法については、以降の段落で
詳述する。中間結果630は、Join の結果、生成されたサ
イズ k+1 のパターンである。これは候補生成装置の中
間結果である。Prune装置(640)は、Joinの結果として生
成される中間結果(630)と頻出パターン集合 Lk(610)を
入力として受け取り、Pruneを行なって、事前に頻出し
ないことが判断可能なパターンを篩い落してサイズ k+1
の候補パターン集合 Ck+1(650)を出力する。Prune の
説明は、以降の段落で詳述する、候補パターン集合650
は、Join 及び Prune の結果、生成されるサイズ k+1
の候補パターン集合 Ck+1であり、これが候補生成装置
の出力である。なお候補パターン生成方法を説明する前
に、若干の記載方法について説明する。
【0014】[記載方法」もしパターン q がパターン
p にマッチすれば、 q は p のサブパターンである。パ
ターンとは木構造であり、パターン中の各グループはソ
ートされているものとする。ここで、例として、パター
ンp={A{(a,{1,2}),(b,{3,4)})}),(B,{c},),C} (図7参
照)を考える。ラベル l だけからなるグループ( l,{})
は、 l がリーフノードになっている。パターン中の要
素1,2,3,4,c,C は、ラベルだけからなるグループのなの
で、リーフノードとなる。ここで、パターンの終端要素
を次のように定義する。パターンのリーフノードで、か
つ、兄弟ノードの中で、ソートしたとき最も後ろにくる
要素を終端要素とする。ここで兄弟ノードとは親ノード
が同一であるような子ノードの集合をいう(例えば、aと
b)。このパターン p は、図7からもわかるように、4つ
の終端要素 {2,4,c,C} を持つ。
【0015】候補パターンの生成は、Join フェーズと
Prune フェーズの2つのフェーズからなる。本発明によ
る方法について説明する前に、ここで、従来の方法によ
るJoinの方法について説明する。もしパターン a のあ
る決められた位置のアイテムを除去して得られたサブパ
ターンが、他のパターン b のある決められた位置のア
イテムを除去して得られたサブパターンが同じならば、
a を b とjoinすることで、候補パターンの生成を行
う。よく知られた方法では決められた位置の要素として
最後の要素を用いる。すなわち、パターンa = {a1, a2,
..., ak} とパターン b = { b1, b2,..., bk}があると
き、最後の要素だけが違う(即ち、a1 = b1,...., ak-1=
bk-1 )場合に、a を b とjoinして、新しい候補パター
ン c = {a1,..., ak-1, ak, bk} を生成する。(但し a
k < bk) この方法は、パターンの数が多くても、非常
に効率良く機能する。しかしながら、構造化されたパタ
ーンに対しては、最後の要素あるいは、決められた位置
の要素を除去することができない。なぜならば構造化さ
れたパターンの制約に違反することになるからである。
例えばパターン p = { (1, {3}), (1, {4}) } の場合を
考える。joinしてパターン p を生成するようなパター
ンで、最後の要素だけが違うようなパターン a 、b は
存在しない。そのようなパターンを生成するためには、
p1 = {(1,{}),(1,{4})} と p2 = {(1,{3}),(1,{})} =
{(1,{}), (1,{3})} をjoinする必要がある。しかしなが
ら、 p1 を p2 とjoinすると、別のパターン p'=
{(1,{}),(1,{3,4})} が生成される。従って構造化され
たパターンの候補生成は従来の単純な候補生成方法を適
用することができない。
【0016】[候補パターン生成方法]候補パターンの
生成は頻出パターン集合 Lk を入力として、サイズ (k+
1) の候補パターンの集合 Ck+1 を出力する。図8にそ
のフローチャートを示す。図8において候補パターン生
成方法は、 Join フェーズ(ステップ810)と Prune フェ
ーズ(ステップ820)の2つのフェーズからなる。
【0017】<Joinフェーズ(ステップ810)>このフェ
ーズでは、 Lk と Lk をjoinしてサイズ (k+1) のパタ
ーンを生成する。もし、パターン p1 の終端要素の一つ
を落としたサブパターンがパターン p2の終端要素の一
つを落としたサブパターンに一致するならば、パターン
p1 と p 2 をjoinする。 p1 と p2 をjoinして生成され
る候補パターンとは、パターン p 1 にパターン p2 から
落とした要素を元の場所に付け加えたパターンである。
例えば、Lk に図9で示すパターン1とパターン2がそ
れぞれ存在していたとする。このときパターン1から要
素 e1 を落としたサブパターンとパターン2から要素 e
2 を落としたサブパターンは一致する。従ってこれらを
joinしてパターン3を生成し、これを候補パターンとす
る。ここで、 e1 、 e2 はどちらも終端要素である。こ
のようにしてjoinによって生成された候補パターンは、
中間結果 C'k +1 として保持する。
【0018】<Pruneフェーズ(ステップ820)>Joinフェ
ーズによって生成された C'k+1には、サイズ k+1 の候
補パターンが含まている。サイズ k+1 の候補パターン
に対しては、一つの要素を取り除くことで幾つかのサイ
ズ k のサブパターンが生成され得る。そのサブパター
ンの中で、一つでもそのサポート値(出現頻度)が最小サ
ポート値(閾値)よりも小さい場合には、(即ち頻出パタ
ーン集合 Lk に含まれていない場合には)、その候補パ
ターンを C'k+1 から除去する。これを C'k+1 の全ての
パターンについて調べ、最終的に残ったパターンを候補
パターン集合 Ck として出力する。あるパターンから生
成されたサブパターンが頻出パターンでなければ、その
パターンは頻出することは不可能であり、このように頻
出することが不可能なパターンを事前に除去することに
よって、無駄な集計作業を減らすことができ、効率よく
集計作業を行なうことができる。
【0019】[頻出パターンの集計]図10は集計装置
(図4のブロック420)の詳細図である。集計装置は、パ
ターンの出現頻度を集計する装置であり、データベース
(1010)及び候補パターン集合 C k (1020)を入力として受
け取り、頻出パターン集合 Lk (1050)を出力する。デー
タベース(1010)には、トランザクションの集合が格納さ
れている。集合1020は、候補パターンの集合 Ck であ
る。木構造適合検査装置(1030)は、トランザクションを
1つづつ読み込み、そのトランザクションにマッチする
パターンがあるかどうかを、 Ck 中の全てのパターンと
比較して調べ、トランザクションにマッチするパターン
を全てカウンタ(1040)に入力する。カウンタ(1040)は、
候補パターン集合 Ck の全パターンの出現回数を数え
る。具体的には、木構造適合検査装置(1030)から入力さ
れるパターン(トランザクションにマッチするパターン)
について、各パターンのカウンタを1増やす。頻出パタ
ーン集合(1050)は、全てのトランザクションについて、
上記集計作業を行なった結果、候補パターン集合 Ck
の全てのパターンのうち、カウンタによって集計された
出現回数が閾値よりも低いパターンを候補パターン集合
Ck より除去して生成される頻出パターン集合 Lkであ
る。
【0020】[頻出パターンの集計方法]頻出パターン
の集計方法は、基本的にデータベースからトランザクシ
ョン t を1つづつ読みこみ、候補パターン集合 Ck 中の
全てのパターンについて、トランザクションにマッチす
るか調べ、マッチするならば、そのパターンのカウント
に1を加える。これを全てのトランザクションについ
て、繰り返す。トランザクション t が、候補パターン
にマッチするかどうかは、木構造同士のマッチングを行
うことで判定する。図11に頻出パターンの集計方法の
フローチャートを示す。はじめに初期設定(ステップ111
0)を行なう。これには、カウンタにおいて、 Ck中の全
てのパターンについて、そのカウントを0に設定するこ
とも含まれる。続いて、全てのトランザクションを読み
込んだかチェックする(ステップ1120)。yes ならば、集
計作業は終了で、ステップ1170へいく。noならば、ステ
ップ1130へいく。ステップ1130においてマッチするパタ
ーンを一時的に格納する集合 Ct の初期化を行なう( Ct
を φ にする。)。ステップ1140において、データベー
スからトランザクション t を1つ読み込む。ステップ11
50において、 Ck 中の全てにパターン p について、読
み込んだトランザクション t にマッチするかどうか調
べる。もしマッチするならば、そのパターンを Ct へ加
える。ステップ1160において、 Ct に含まれる全てのパ
ターンについて、これらのカウントを1増やす。ステッ
プ1160が終了したら、ステップ1120へ行く。これを全て
のトランザクションについて繰り返す。全てのトランザ
クションについて終了したら、ステップ1170 へ進む。
ステップ1170において候補パターン集合 Ck の全てのパ
ターンについて、そのカウントが閾値(最小サポート値)
以上であるかどうか調べ、閾値以上のパターンについて
は、 Lk に加える。結果として、求められた頻出パター
ン集合 Lk が出力される。
【0021】[2段階の木構造パターンの抽出]一般の
木構造データに対する頻出パターンの抽出は、上記の方
法で実現することができる。しかし、木構造に対して、
図12に示すような2段階の木構造に限定すると、前述
の一般の木構造よりもさらに効率よく高速に計算するこ
とが可能である。まずグループラベル及びアイテムの用
語について説明する。2段階の木構造データでは、パタ
ーンはラベル付き集合の集合であり、ラベル付き集合 g
=(l,A) とは、ラベル l∈I とアイテム集合 A ⊆I
のペアである。グループラベルとは、ラベル付き集合の
ラベル l を指し、アイテムとは、ラベル付き集合のア
イテム集合の要素を指す。図12において、A,B,C がグ
ループラベルであり、1,2,...,8 はアイテムである。ま
たラベル L と空のアイテム集合{} からなるグループ
(L,{})において、L がグループラベルとなる。
【0022】[2段階の木構造パターンの抽出システ
ム]2段階の木構造の場合の頻出パターン抽出システム
のブロック図及びフローチャートは、一般の木構造の場
合と同様で、図4及び図5に示されているものと同様で
ある。ただし、効率よく処理を行なうため、候補パター
ン生成装置(図4ブロック440)及びその実装方法(図5ス
テップ550)、集計装置(図4ブロック420)及びその実装
方法(図5ステップ540)が異なっている。本集計装置は
パターン中の複数のグループが同じグループラベルをも
つ場合も処理することが可能になっている。2段階の木
構造データに対する候補生成方法、効率的な集計方法に
ついて以降の段落で記述する。 [2段階の木構造に対する候補パターン生成方法]
【0023】2段階の木構造の場合のパターンの抽出の
概略は、任意段数の木構造と同様で、図8および図6に
示されている。ただし効率よく計算を行なうため、Join
の方法が一部異なる。 <2段階の木構造に対するJoin方法>サイズ (k-1) の
二つのパターンをjoinをしたとき、どんなサイズ k の
パターンが生成されるのかを考える代わりに、サイズ k
のパターンは、どうようなサイズ (k-1) の二つのサブ
パターンに分割できるかについて考える。サイズ k ≧
3のパターンを、最後の2つの要素に基づいて、次の4つ
のタイプに分類する。それぞれのタイプにおいて、サイ
ズ (k-1) の2つのサブパターンをjoinしてサイズk のパ
ターンが生成できるように、サイズ k のパターンをサ
イズ (k-1) の2つのサブパターンに分割する。 ・Type A: パターンの最後の2つの要素が、同じグルー
プに属するアイテムである。 ・Type B: パターンの最後の要素がグループラベルで、
最後のグループはグループラベルだけからなる。かつ、
最後から二つ目の要素が、最後から2番目のグループの
要素である。 ・Type C: パターン最後の要素が最後のグループのアイ
テムで、最後から2番目の要素がグループラベルである
(最後のグループは、このグループラベルとアイテムか
らなる)。さらに、このタイプは、最後から3番目の要素
に基づき、Type C1 とType C2 に分類される。 ・Type D: 最後の二つの要素がグループラベルである
(すなわち、最後の2つのグループは、どちらも、グルー
プラベルだけのグループである)。
【0024】図13は、これらの分類とサイズ k のパ
ターンを生成するためにjoinするサイズ k-1 のサブパ
ターンを示している。この図において、三角形はサブパ
ターンおよびサブグループを示している。各要素はグル
ープラベルかアイテムのいずれかなので、全てのパター
ンは、上記の4つパターンにどれかに、必ず分類され
る。従って、どのようなパターンを生成する場合であっ
ても、図13のいずれかの式を使ってパターンを生成す
ることができる。最後と最後から2番目のグループが同
じグループラベルを持つような場合には、グループの順
序が変わるため注意する必要がある。候補生成は、任意
段数の木構造の候補生成と同様に次の2つのフェーズか
らなる。
【0025】<Joinフェーズ(図8ステップ810)>頻出
パターン集合 Lk を Lk とjoin してサイズ k+1 のパタ
ーン集合を生成する。もしパターン p1 ∈ Lk が、図1
3の右側のサブパターンのどれかと一致するならば、パ
ターン p2 ∈ Lk を探し、p1 と p2 をjoinして、新し
い候補パターンを生成して、C'k+1 に入れていく。Lk
を事前に辞書順にソートしておくことで、 p1 のjoinの
相手は、その範囲が限定され、p1 の相手を探すため
に、Lk全部を探す必要がない。
【0026】<Pruneフェーズ(図8ステップ820)>サイ
ズ k+1 の候補パターンから生成され得るサイズ k のサ
ブパターンのサポート値が最小サポート値より小さい場
合には、この候補パターンを C'k+1 から除去する。効
率良く全ての k-サブパターンが Lk の要素であるかど
うかを効率的に見るために、Lk を格納するハッシュ木
を用いる。図14は、join とpruneが終わった後の L3
と C4 の例を示している。joinフェーズにおいて、パタ
ーンp1 は、 p3 とjoin して c1 と c3 を生成する。パ
ターン p3 は、 p5 とjoinして c2 が生成される。ま
た、 p3 は、 p4 とjoinして c4 が生成される。prune
フェーズにおいて、 c1 のサブパターン {(1,{3,5})}
と c2 のサブパターン {(1,{}), (1,{}), (2,{})} が
L3 にないので c1 と c2 は除去される。
【0027】[2段階木構造データの集計]2段階の木
構造データに対する集計装置やその方法は、任意段数の
木構造データに対する集計装置や方法と若干異なる。パ
ターンのサポートを数え上げるため、パターンがトラン
ザクションにマッチしているか否かを効率よく調べる必
要がある。トランザクションおよびパターンは、後述す
る方法で、シーケンスに変換され、パターンのシーケン
スが、トランザクションのシーケンスのサブシーケンス
になっているかどうかを調べる(図15参照)。パターン
及びトランザクションから変換したシーケンス中のアイ
テム I がマッチングに使われる場合には、それぞれそ
のアイテム I を含むグループのグループラベル L もマ
ッチングに使われなければならないことに注意する。基
本的には、上記の方法でマッチングを調べるが、同じグ
ループラベルを持つグループを許しているため、図16
の例のように、サブシーケンスでない場合にもマッチす
ることが起こりうるため、同じグループラベルを持つグ
ループに対しては、特別な処理を行う必要がある(詳細
は以降のクラスタのマッチングの説明段落で記述す
る)。 [2段階木構造データの集計装置]2段階の木構造デー
タに対する集計装置のブロック図を図17に示す。2段
階の木構造データに対する集計装置は、入力としてデー
タベース(1710)、候補パターン集合 Ck(1720) を受け取
り、それらのパターンにマッチするトランザクションが
何件あったかを集計し、閾値以上出現したパターンを頻
出パターン集合 LK (1790)として出力する。データベー
ス1710は、入力となるデータベースでありトランザクシ
ョンの集合が格納されている。集合1720は、候補パター
ン集合 Ck である。データベース(1710)及び候補パター
ン集合(1720)が集計装置への入力となる。ブロック1730
は、トランザクション用シーケンス生成装置である。デ
ータベース(1710)から読み込んだトランザクションは、
トランザクション用シーケンス生成装置(1730)によっ
て、トランザクション用シーケンス(1735)へと変換され
る。その変換方法については、後述する。シーケンス17
35は、トランザクション用シーケンスであり、トランザ
クション用シーケンス生成装置(1730)により生成された
ものである。また、トランザクション用シーケンス(173
5)は、シーケンス適合検査装置(1740)へ入力される。ブ
ロック1740は、シーケンス適合検査装置で、トランザク
ション用シーケンス(1735)を入力とし、読み込んだトラ
ンザクションにマッチするパターンがあるかどうかを候
補パターン用ハッシュツリー(1780)を用いて調べる。シ
ーケンスのマッチングを検査した結果、トランザクショ
ンにマッチするパターンがあれば、そのパターンをカウ
ンタに渡す。ブロック1750は、候補パターン集合 Ck
のパターンが何個のトランザクション中に現れていたの
かを集計するカウンタである。カウンタ(1750)は、シー
ケンス適合検査装置(1740)から入力されたパターンのカ
ウントを1増やす。ブロック1760は、候補パターン用シ
ーケンス生成装置であり、候補パターン集合 Ck 中のパ
ターンからシーケンスを生成する。シーケンス1765は、
候補パターン用シーケンス生成装置(1760)で生成された
候補パターン用シーケンスである。候補パターン用シー
ケンス(1765)は、ハッシュツリー生成装置(1770)へ入力
される。ハッシュツリー生成装置(1770)は、候補パター
ン用シーケンス生成装置(1760)で生成された候補パター
ン集合Ck (1720)の全てのパターンに対する候補パター
ン用シーケンス(1765)を入力として受け取り、候補パタ
ーン用ハッシュツリー(1780)を生成する装置である。ハ
ッシュツリー1780は、ハッシュツリー生成装置(1770)に
よって、生成された候補パターン用ハッシュツリーであ
り、シーケンス適合検査装置へ入力される。ブロック17
90は、集計装置が、全てのトランザクションについて、
マッチするパターンがあるかどうか、候補パターン集合
Ck (1720)の中のパターンについて調べ、マッチするパ
ターンの出現回数について集計した後に、頻出した、即
ち閾値(最小サポート値)以上出現したパターンとして出
力する頻出パターン集合 Lk である。シーケンス適合検
査装置(1750)については、以降でさらに詳しく説明す
る。
【0028】[2段階木構造データの集計方法]2段階
の木構造データに対する集計方法のフローチャートを図
18に示す。図18は、任意段数の木構造データに対す
る集計のフローチャート(図11)と非常に良く似てい
る。2段階の木構造データに対する集計は、次のように
行なう。はじめに、候補パターン集合 Ck 中の全パター
ンについて、候補パターン用シーケンスの生成を行な
い、これをハッシュツリーへ格納する。あとは基本的に
全てのトランザクションについて一つづつ読み込み、ト
ランザクション用シーケンスに変換しては、ハッシュツ
リーを用いてマッチするパターンを探し、マッチしたら
カウントを1増やすという操作を繰り返し、最後に閾値
(最小サポート値)以上のパターンについて、頻出パター
ン集合 Lk として求める。
【0029】図18において候補パターン集合 Ck 中の
全パターンについて、候補パターン用シーケンスの生成
を行なう(ステップ1810)。候補パターン用シーケンスの
生成方法については後述する。次に、ステップ1810で候
補パターン集合 Ck 中の全てのパターンについて生成さ
れた候補パターン用シーケンスをハッシュツリーへ格納
する(ステップ1820)。ハッシュツリーへの格納方法につ
いては後述する。条件分岐(ステップ1830)で、全てのト
ランザクションが読み終えたかどうか調べ、yesならス
テップ1890へいく。no の場合には、全てのトランザク
ションについて調べ終わっていないので、ステップ1840
へ進む。ステップ1840において、マッチするパターンを
一時的に格納する集合 Ct の初期化を行なう( Ct を φ
にする)。ステップ1850においてデータベースからトラ
ンザクション t を1つ読み込む。ステップ1860におい
て、読み込んだトランザクション t からトランザクシ
ョン用シーケンスを生成する。トランザクション用シー
ケンスの生成方法については後述する。ステップ1870に
おいて、ハッシュツリーを用いて、トランザクション t
にマッチするパターンがあるかどうか調べる。もしマッ
チするならば、そのパターンを Ct へ加える。ステップ
1880において、Ct に含まれる全てのパターンについ
て、これらのカウントを1増やす。ステップ1880が終了
したら、ステップ1830へ行く。この処理を全てのトラン
ザクションについて繰り返す。全てのトランザクション
に対する処理が終了したら、(ステップ1890へすすむ。
ステップ1890において、候補パターン集合 Ck の全ての
パターンについて、そのカウントが閾値(最小サポート
値)以上であるかどうか調べ、閾値以上のパターンにつ
いては、 Lk に加える。
【0030】<候補パターンのシーケンスへの変換(ス
テップ1810)>与えられたトランザクション t にマッチ
する Ck 中の候補パターンを効率よく見つけるために、
候補パターンをハッシュ木に格納する。候補パターンが
同じグループラベルを持つ複数のグループを持つ場合を
扱うため、各パターン p を次の手続きによりシーケン
ス s(p) に変換する。パターン p が与えられた時の候
補パターン用シーケンス生成の手順を図19に示す。ス
テップ1910において、 s(p) を空にする。ステップ192
0において、候補パターン中のすべての要素についてを
調べたか調べ、yes ならステップ1970へ、no ならばス
テップ1930へいく。ステップ1930において、パターン p
内の次の要素 i を取り出し、ステップ1940 へ進む。
ここで、パターン p = {(1,{2,3}),(4,{}),(5,{6})} が
あった場合、取り出される要素とは、順に、1,2,3,4,5,
6 となる。ステップ1940の条件分岐において、もし、要
素 i がグループラベルならばステップ1950へ進む。グ
ループラベルでなければ、ステップ1945へ進む。ステッ
プ1945において、シーケンスs(p) に I(i) を加える。
ステップ1950の条件分岐において、もし要素 i と同じ
グループラベルがパターン p 中にある場合には、ステ
ップ1960へいく。他に存在しない場合にはステップ1955
へいく。ステップ1955においてシーケンス s(p) に L
(i) を加える。ステップ1960において、シーケンス s
(p) に C(i) を加える。 C(i) は、i というグループラ
ベルを持つすべてのグループを表している。これらのグ
ループを クラスタと呼ぶ。ステップ1970において、ク
ラスタ内の全ての要素をスキップし、違うグループラベ
ルを持つ次のグループへ移動する。ステップ1945、195
5、1960のいずれかでシーケンス s(p) に要素を加えた
ら、ステップ1920へ戻る。これをすべての要素が終わる
まで繰り返す。ただし、同じグループラベルが存在する
場合には、それらのグループの要素はスキップされる
(ステップ1970)。ステップ1920において、全ての要素に
ついて処理が終了したら、ステップ1980へいく。ステッ
プ1980において、求めたシーケンス s(p) を出力する。
上記のように、3種類の要素、 C ( クラスタ ), L
( ラベル ), およびI ( アイテム )がある。例えば、
パターン{(1,{2,3}), (2,{1,3}) , (2,{2,4}), (3,
{2})} は、シーケンス < L(1), I(2), I(3), C(2),
L(3), I(2) >に変換される。ここで、パターン中の2
番目と3番目のグループがクラスタを形成している。パ
ターンがクラスタを持つとき、集計の際に、クラスタを
処理するための処理が必要である。
【0031】<ハッシュ木への候補パターンの格納(ス
テップ1820)>まず Ck 中の全てのパターンのシーケン
スをハッシュ木に格納する。ハッシュ木の内部ノードは
ハッシュ表になっている。シーケンス s(p) をハッシュ
木に付け加える時、ルートノードから始めてシーケンス
をスキャンしながら木を下に向かって降りていく。深さ
d にあるノードにおいて、 s(p) の d 番目の要素をハ
ッシュ関数に適用しながら、どの枝を辿っていくべきか
を決める。このハッシュ木は、全パターンに対する共通
の接頭辞は、ルートノードからの経路で共有されてお
り、ルートノードからリーフノードへのパスで、パター
ンのシーケンスを識別することができる。図20に例を
示す。例えば、パターン < L(1), I(3), I(4)> と <L
(1), I(3), I(5)> は、図20において、ルートから
ノード L(1), I(3) と経由してそれぞれリーフ I(4),
I(5) へ辿り着く。シーケンス中で共通の L(1), I(3)
は経路が共有されている。
【0032】<トランザクションのシーケンスへの変換
(ステップ1860)>トランザクション t が与えられる
と、はじめに、次の手続きを用いて t をシーケンス s
(t) に変換する。トランザクション用シーケンス生成
の手順を図21に示す。ステップ2110において、 s(t)
を空にする。ステップ2120において、トランザクショ
ン中のすべての要素についてを調べたか調べ、yes なら
ステップ2190へ、no ならばステップ2130へいく。ステ
ップ2130において、トランザクション t 内の次の要素
i を取り出し、2140 へ進む。ここで、トランザクショ
ンt = {(1,{2,3}),(4,{}),(5,{6})} があった場合、取
り出される要素とは、順に、1,2,3,4,5,6 となる。ステ
ップ2140の条件分岐において、もし、要素 i がグルー
プラベルならば、ステップ2150へ進む。グループラベル
でなければ、ステップ2145へ進む。ステップ2145におい
て、シーケンス s(t) に I(i) を加える。ステップ2150
の条件分岐において、もし、要素 i と同じグループラ
ベルがトランザクション中にあるかどうか調べる。ある
場合には、ステップ2160へいく。他に存在しない場合に
は、ステップ2180へいく。ステップ2160の条件分岐にお
いて、シーケンス s(t) に既に C(i) が加えられている
かどうか調べる。もし、既に s(t) に C(i) が加えられ
ている場合には、ステップ2180へいく。まだ、加えられ
ていない場合には、ステップ2170へいく。ステップ2170
で、シーケンス s(t) にC(i) を加える。ステップ2180
で、シーケンス s(t) に L(i) を加える。トランザクシ
ョン t 中にグループラベル i が複数存在している場合
には、s(t) に L(i) を加えると同時に、 C(i) も s
(t) に付け加えられている。 以上の処理を行なったら
ステップ2120へ戻る。ステップ2120の条件分岐におい
て、トランザクション中の全ての要素について処理が終
了していたら、ステップ2190へいく。ステップ2190にお
いて、求めたシーケンス s(t) を出力する。同じラベル
を持つグループが存在する場合、そのラベルは、クラス
タとして、そして個別の要素として2度処理されてい
る。
【0033】[シーケンス適合検査装置]シーケンス適
合検査装置(図17ブロック1740)は、トランザクション
から生成したトランザクション用シーケンスと候補パタ
ーン用ハッシュツリーに格納された候補パターン用シー
ケンスとのマッチングを調べる。ハッシュツリーに対し
て、必要に応じてクラスタのマッチングを取り、そのた
めに二部グラフのマッチングを計算する機能を用いてい
る。シーケンス適合検査装置(ブロック1750)について、
その詳細を図22に示す。図22において、シーケンス
2210はトランザクション用シーケンス(図17の1735)で
ある。ハッシュツリー2220は、候補パターン用ハッシュ
ツリー(図17の1780)である。ブロック2230は、シーケ
ンス適合検査装置本体であり、基本的には、この装置に
よりシーケンスの適合を検査する。しかし、トランザク
ション中にクラスタが存在する場合には、クラスタ適合
検査装置(2240)によりクラスタの適合について検査す
る。クラスタ適合検査装置(2240)は、二部グラフ適合検
査装置(2250)を呼び出し、二部グラフによる適合検査を
行なう。
【0034】<集計方法>トランザクション t にマッ
チする全ての候補パターンを検出するために、次の手続
きを適用する。適用する手続きは、ハッシュ木をルート
から辿って行くとき、現在どのノードにいるかに依存し
ている。 ・ルートノード: s(t) の各要素をハッシュし対応す
るバケット中のノードに、この手続きを再帰的に適用す
る。トランザクション t にマッチするどんなパターン
p に対しても、 s(p) の最初の要素は s(t) に存在しな
ければならない。 s(t) 内の全ての要素をハッシュする
ことで、 s(t) 内に存在しない要素から始まるパターン
を無視することができる。 ・I または L のラベルを持つ内部ノード: s(t) 中の
要素 e をハッシュして、このノードに辿りついたとす
る。 s(t) の e の次に来る要素をハッシュし、対応す
るバケット中のノードにこの手続きを再帰的に適用す
る。 ・C のラベルを持つ内部ノード: 二部グラフを構築
し、トランザクション中のクラスタにマッチする候補パ
ターンを検出する。 次に s(t) の要素 e をハッシュし
て、このノードにたどり着いたとする。 t にマッチす
るようなクラスタを持つ全てのパターン p に対して、
この手続きを p の接尾辞の木に対して、再帰的に適用
していく。 ・リーフノード: リーフノードにたどり着けば、トラ
ンザクションにマッチするパターンを見つけたことにな
る。
【0035】[クラスタのマッチング]ハッシュ木の C
のラベルを持つノードに着目する。ノードは複数のク
ラスタを持ち、クラスタはパターンの一部分でその接頭
辞が共通になっている。 C = {c1, c2, ..., ck} は、
クラスタの集合を表す。このノードにたどり着いたと
き、トランザクション t はクラスタ c(t) を含み、 c
(t) は、 ci (i=1..k) と同じグループラベルを持って
いる。目的は、c(t) にマッチする C に含まれる全ての
クラスタを検出することである。単一のクラスタ ci
が、 c(t) にマッチするかどうかを決める方法について
説明する。まず、ci が n 個のグループを持っていると
し、 c(t) が m 個のグループを持っているとする( n
≦ m )。 ci = {g1,g2, ..., gn} および、 c(t) = { h
1, h2, ...., hm } とする。 gx ∈ ci がhy ∈ c(t)
にマッチするならば、かつ、マッチする時のみ、エッジ
(gx, hy)∈ Ei が存在するような二部グラフ Gi = (c
i , c(t); Ei ) を探す。図23に二部グラフの例を示
す。 ci が c(t) にマッチするかどうかという判定は、
Giの二部マッチングの最大値のサイズが n であるかど
うかをチェックすれば良い。図23において直線は二部
マッチの最大エッジを示している。マッチングにより c
i の全てのグループがカバーされていれば、この場合、
ci は c(t) とマッチする。効率よく、全ての ci
C に対して、全てのグラフ Gi = (ci , c(t); Ei ) を
構築するため、 ci ( i = 1, ...., k )のすべての候補
グループを格納するハッシュ木を事前に、構築してお
く。各グループ hj ∈ c(t) に対して、ハッシュ木を使
って hj にマッチする全てのグループを識別しておき、
対応するエッジをグラフに加えておく。上記の手続きを
してしまえば、全てのグラフがわかっており、トランザ
クション t にマッチする全てのクラスタを検出するこ
とができる。いくつかの場合において、二部グラフ Gi
を完全に構築する前に、 c i が c(t) とマッチするかど
うかを見ることができる。
【0036】[本発明を応用した実施例] <テキストマイニング・システム>企業では、顧客の満
足度の向上を図るため、コールセンターやお客様相談室
と呼ばれる部門を設けて、電話等による顧客からの問い
合わせやクレームに対して、質問に答えたり、正しい操
作方法を教えたり、商品の改善などに役立てている。顧
客から寄せられた内容は、電話応対したオペレータによ
り文章入力され記録され、蓄積されていく。蓄積された
大量の記録文書を分析することにより、頻繁に問い合わ
せのある質問は、事前に質問と回答を用意し、オペレー
タがそれらの知識を共有することで、オペレータの負担
や応答時間を減らし、コストの削減を図ることができ
る。また、商品の不具合などは、開発部門へどのような
クレームが多いのかを知らせることで、機能の改善など
に用いることができる。顧客の要望を分析することで、
新製品の開発に活かすことも可能である。顧客からの問
い合わせ件数は、企業規模や商品の種類等に依存する
が、多い企業では、月に数万件もの問い合わせが寄せら
れており、そこに蓄積される記録文書は膨大な量となっ
ている。顧客からの問い合わせを分析するには、記録文
書の全てに目を通して、どのような案件に対する問い合
わせやクレームが多いのかを調べる必要がある。月数万
件の問い合わせがある場合には、人手による全文書の分
析は、ほとんど不可能であり、そのような場合には、全
文書の中からサンプリングして一部の文書を取り出して
調べるか、オペレータの主観的な判断を任せざるを得な
い。
【0037】通常、コールセンターのオペレータは、顧
客からの電話の内容をデータベースに自然言語で打ち込
む。上述のように、蓄積されたデータベースには顧客が
頻繁に発する質問、要望、不満、賛辞などが記録されて
おり、今後の企業の営業方針を決める重要な情報となる
可能性がある。このような場合に本発明を用いたパター
ン検出システムを適用することにより、巨大なデータベ
ースから重要なメッセージを抽出(テキストマイニン
グ)することができる。文や文書を単語の集合と見立て
て、単純に通常の相関ルールや時系列パターンの検出方
法を適用することができるが、この方法は上手く行かな
い。なぜなら、構造を持たないパターンからもとの文の
意味を想像することは難しい上に、大量のパターンが検
出されてしまい、その中から重要なパターンを検出する
ことは不可能に近いからである。一方、自然言語処理の
技術により、単語間の関係を自動的に抽出することが可
能になっている。機械翻訳の典型的な方法は、元の文を
意味解析して、単語間の意味関係に基づいて構文木(ネ
ットワーク)を構築し、その構文木上で変換を施した後
に、別の自然言語の文に変換することにより、翻訳を行
う。単語の意味はこの構造中の位置により決定されるの
で、このようなネットワークから、重要なパターンを検
出する。図24はそのようなネットワークの例を示す。
このようなネットワークが大量に与えられたとき、その
部分グラフをパターンとして検出する。
【0038】まず、述語は文の意味を決定する上で最も
重要な役割をになっているため、文中の述語に注目す
る。述語は、それと直接または間接に修飾関係にあるほ
かの単語を引数語として持つ。このような単語のグルー
プを、「述語引数語組 (predicate-argument tuple)」
と呼ぶ。例えば、図24の文は、図25に示す3つのグ
ループを持つ。このようなグループは、元の文の全ての
情報を保持してはいないが、単語の羅列と比較すると情
報量が格段に違う。また元の文の意味を容易に想像する
ことができる。このような述語引数語組は、ラベル付き
集合で表現することができる。ラベルは述語で、集合の
要素が引数語である。文や文書は、ラベル付き集合の集
合と見なせる。したがって、このような方法で2段の木
構造への変換を行うと、本発明で示した2段の木構造か
らの頻出パターン検出方法により高速に頻出パターンを
探すことができる。例えば, {(install {software A, d
riverB}) ), (get {error}) }というようなラベル付き
集合からなるパターンを、データベースから検出するこ
とができる。
【0039】<FAQ作成システム>現在、顧客の声
は、電話だけに限らず、電子メールやWEBなどの様々
なメディアを通して、企業に寄せられており、その数は
非常に多く、これらの分析の自動化が望まれる。そこで
文章入力された顧客からの情報を自然言語解析を用いて
構造化されたデータを生成し、本発明によって頻出する
構造化パターンを検出し、その結果を用いて、FAQ(F
requently Asked Question)の作成を支援するシステム
を構築する。
【0040】・データ生成 頻出する構造化パターンの抽出は、構造化されたデータ
から行なうので、文書データから構造化データを生成す
る必要がある。そのためには、まず、文書を構文解析
し、構文木の構築を行なう。次に、構築された構文木デ
ータから構造化データを生成する。
【0041】・構文木データの生成 構造化パターン抽出のためのデータは、全ての文書デー
タに対して次の処理を行なうことにより、生成すること
ができる。 以下に形態素解析、文節生成、係り受け構
造の構築(構文木の構築)の処理を説明する。例えば、
「私は会社に行く。」という文章に対して、形態素解析
を行なうことで、以下の単語を切り出すことができる。 ["私",名詞] ["は",助詞] ["会社",名詞] ["に",助詞] ["行く",動詞] さらに文節生成を行なうと、次の文節が生成される。 ["私","は"] ["会社","に"] ["行く",] さらに、係り受け構造を抽出することで、以下の係り受
け構造が構築される。このような係り受け構造を木の形
で表現したものが構文木となる。 ["私" -> "行く"] ["会社" -> "行く"] 以上のように、文章から構文木を構築することができ
る。これを全ての文章に対して行なう。
【0042】・構造化データの生成 次に、構築された構文木から構造化データの生成を行な
う。ここでは、例として、「デスクトップの画面までは
立ち上がるが、プログラムを開こうとすると、前述の画
面が表示される」という文章から構築された構文木を用
いる(図26を参照)。なお、この図において、濃色ノー
ドは、動詞であることを示している。構造化データと
は、複数のグループ(ラベル付き集合)からなる。グル
ープ(ラベル付き集合)とは、ラベルになる要素及び0
個以上の他の要素からなっており、FAQの作成支援ツー
ルを構築するために、ここでは、動詞をラベルとして、
その動詞に係りうけの関係を持つような他の単語をメン
バーとするようなグループを構築する。また、そのよう
なグループを動詞の数だけ生成し、それを1件のデータ
とする。上記に構築した構文木において、ノード["デス
クトップ"]、["画面"]は、動詞である["立ち上がる"]と
いうノードの子孫のノードである。そこで、この3つの
ノードから動詞の["立ち上がる"]をラベルとして、他の
ノードをその要素とするようなグループ(ラベル付き集
合) "立ち上がる" ("デスクトップ" "画面") を生成す
る。同様にして、["プログラム"]及び動詞ノード["開
く"]からグループ "開く" ("プログラム") が生成され
る。ただし、ここで、["開く"]の子孫には、["デスクト
ップ"]や["画面"]などがあるが、そのノードへと辿る途
中に、動詞ノードである["立ち上がる"]があるため、["
開く"]と同じグループには含めないものとする。同様
に、動詞ノード["表示する"]及び["画面"]["前述"]から
グループ "表示する" ("画面" "前述") を生成する。
このように、一つの文章から生成されたグループをまと
めて、
【0043】"立ち上がる" ("デスクトップ" "画面") "
開く" ("プログラム") "表示する"("画面" "前述")
【0044】という構造化データが構築される(図27
を参照)。このようにして、全ての文章から構造化デー
タを構築する。また、後で、元の文書を読む必要がある
ことから、構築された構造化データの識別子から元の文
書が取り出せる様に、両者の対応関係を保持しておく。
【0045】・頻出パターンの検出 上記で構築した大量の構造化データに対して、最小サポ
ート値を閾値として与えて、本発明を用いて頻出構造化
パターンを検出する。 ・FAQ生成 FAQを生成するには、本発明によって検出された頻出パ
ターンとそのパターンにマッチする構造化データを取り
出し、さらに、その構造化データの元の文章を分析する
必要がある。まず検出された頻度の高い構造化パターン
とその頻度の一覧を表示する。表示された複数のパター
ンの中から任意のパターンを選択して、各文書から作成
された構造化パターンのうち、そのパターンにマッチす
るデータだけを抽出し表示する。例えば次のパターンを
選択する。 "起動する" ("再") "切る"("電源") すると、上記パターンにマッチする構造化データが複数
表示される。表示された構造化データの中から1つのデ
ータを選択すると文書ブラウザ(図28を参照)が起動さ
れ、そのデータの元の文章を見ることができる。選択さ
れたデータの元文書である「電源を切って再起動したら
スキャンディスクで問題が見つかった」という文書が、
図28に示す文書ブラウザの上部に表示される。またブ
ラウザの下部に、その文書がどのように形態素解析さ
れ、係り受け構造の構築がされたのかがわかるように、
その係り受け構造を視覚的に表示する。実際に、FAQの
作成支援を行なうためには、構文解析や個々のデータを
見るよりも頻出するパターンにマッチする元文書の一覧
を、直接見ることの方が有益であり、元文書の一覧を見
る機能を提供する。さらに頻出パターンの元文章だけで
なく、元文章の前後の文章を見る機能を提供する。つま
り元文章を含む文書全体を見る機能を提供する。
【0046】<テキスト分類システム>大量の文書を扱
う際、文書を自動的に分類したいという要求は極めて大
きい。本発明の頻出パターン検出方法を用いて、テキス
トを分類する事ができる。構造化されたパターンは可読
性が高いので、結果として得られるテキストの分類がど
ういう物であるかを説明することが容易である。テキス
トの自動分類例として、電子メールの自動的な仕分けシ
ステムを構築できる。1日に何十通もの電子メールが到
着するような業務を行う場合、メールのサブジェクトに
応じたメールフォルダに分類しなければ必要なときに必
要なメールを探し出すことが難しくなる。この分類作業
を人手で行うことは、メールが多くなると困難になる。
電子メールを扱うソフトウェアは通常、ユーザがフォル
ダ(カテゴリ)に電子メールを分類して保存する機能を
提供している。到着した電子メールは通常「受信」(In
box)と呼ばれる特別なフォルダに入れられ、ユーザが
メールの内容にしたがって、関連するフォルダ(カテゴ
リ)に移動し保存する。到着するメールの数が少ないう
ちはあまり問題にならないが、1日に何十通も到着する
ような場合、この分類の手間は大きくなる。そこで、本
発明を応用して自動分類器を構成する。この電子メール
自動分類の処理の流れを以下に説明する。
【0047】(a)ユーザが現在手持ちのメールの一部
を手動でフォルダ(カテゴリ)に分類する (b)ステップ(a)で手動分類したメールの集合を最
初の分類例として、分類のルールを作成する。まず各メ
ールを自然言語処理により述語と引数語組の集合に分解
し、その結果tiを得る。各メールの分類先フォルダを f
とすると、ti にf をラベルとする空の集合 f() を加
える ( ti := ti ∪ {f()} )。得られた t i (i = 1,
..., n) に本発明を適用して、頻出パターンを検出す
る。最後に結論部にフォルダ(カテゴリ)名をラベルと
する項を持つルールを生成する。これらのルールを r 1,
..., rk とし、それぞれのルールの確信度 (ルールが
成立する確率) を計算しておく。 (c)ユーザが手動で分類しなかった残りのメールを
(b)のルールに従い自動的に分類する。まずメールを
自然言語処理により述語と引数語組の集合に分解し、そ
の結果をtとする。次に(b)で求めた各ルール ri
ついて、がtとマッチするかどうか調べ、マッチする場
合、その程度を ri の確信度にしたがってスコアを計算
する。求めたスコアがもっとも高いフォルダ(カテゴ
リ)にメールを分類する。 (d)自動分類の結果に誤りがあった場合、ユーザはそ
の誤りを手動で修正する。手動で修正されたメールの分
類を(a)で作ったフォルダに加えて、(b)から繰り
返すことにより、自動分類器の精度を段階的に高めてい
く。
【0048】本発明に係るシステムは、その他、問い合
わせや問題処理の担当者の自動選定を行うシステムにも
応用できる。電子的なメディア(メール、Web)での問い
合わせやトラブル処理の窓口では、さまざまな種類の問
い合わせが大量に届けられる。一人の人間ではすべての
種類の問い合わせに適切に回答できないので、その内容
に応じた担当者に問い合わせを割り当てなければならな
い。この作業を自動化するシステムに応用できる。また
新聞記事、本、論文など文書データベースの検索支援シ
ステムにも応用できる。大量の文書が電子化されている
データベース全体に対して文書検索を行うと、ユーザが
注目しているものと関係ない文書が検出され、本来探し
出したい文書がその中に埋もれてしまう (Web の検索エ
ンジンのように)。データベース中の文書が予めいろい
ろな視点から分類されていれば、注目している分類中の
文書に限った検索を行うことが可能となる。大量の文書
を、かつ視点を変えて分類することが可能になる。その
他、本発明の本質から離れることなく種々の応用例が考
えられることは言うまでもない。 [ハードウェア構成例]図29に本発明のシステム(頻
出パターン検出、テキストマイニング、FAQ自動作
成、テキスト分類)において使用されるハードウェア構
成実施例を示す。システム100は、中央処理装置(C
PU)1とメモリ4とを含んでいる。CPU1とメモリ
4は、バス2を介して、補助記憶装置としてのハードデ
ィスク装置13(またはCD−ROM26、DVD32
等の記憶媒体駆動装置)とIDEコントローラ25を介
して接続してある。同様にCPU1とメモリ4は、バス
2を介して、補助記憶装置としてのハードディスク装置
30(またはMO28、CD−ROM29、DVD31
等の記憶媒体駆動装置)とSCSIコントローラ27を
介して接続してある。フロッピーディスク装置20はフ
ロッピーディスクコントローラ19を介してバス2へ接
続されている。
【0049】フロッピーディスク装置20には、フロッ
ピーディスクが挿入され、このフロッピーディスク等や
ハードディスク装置13(またはCD−ROM26、D
VD32等の記憶媒体)、ROM14には、オペレーテ
ィングシステムと協働してCPU等に命令を与え、本発
明を実施するための頻出パターン検出プログラム、オペ
レーティングシステムのコード若しくはデータを記録す
ることができ、メモリ4にロードされることによって実
行される。これらコンピュータ・プログラムのコードは
圧縮し、または、複数に分割して、複数の記録媒体に記
録することもできる。
【0050】システム100は更に、ユーザ・インター
フェース・ハードウェアを備え、入力をするためのポイ
ンティング・デバイス(マウス、ジョイスティック等)
7またはキーボード6や、検出した頻出パターンや文書
ブラウザなどを表示するためのディスプレイ12を有す
ることができる。また、パラレルポート16を介してプ
リンタを接続することや、シリアルポート15を介して
モデムを接続することが可能である。このシステム10
0は、シリアルポート15およびモデムまたは通信アダ
プタ18(イーサネットやトークンリング・カード)等を
介してネットワークに接続し、他のコンピュータ、サー
バ等と通信を行う。またシリアルポート15若しくはパ
ラレルポート16に、遠隔送受信機器を接続して、赤外
線若しくは電波によりデータの送受信を行ってもよい。
【0051】スピーカ23は、オーディオ・コントロー
ラ21によってD/A(デジタル/アナログ変換)変換
されたサウンド、音声信号を、アンプ22を介して受領
し、サウンド、音声として出力する。また、オーディオ
・コントローラ21は、マイクロフォン24から受領し
た音声情報をA/D(アナログ/デジタル)変換し、シ
ステム外部の音声情報をシステムにとり込むことを可能
にしている。ViaVoice(IBM商標)などのアプリケーシ
ョンを用いて、頻出パターンの検出操作を音声コマンド
による操作で代用してもよい。
【0052】このように、本発明のシステムは、通常の
パーソナルコンピュータ(PC)やワークステーショ
ン、ノートブックPC、パームトップPC、ネットワー
クコンピュータ、コンピュータを内蔵したテレビ等の各
種家電製品、通信機能を有するゲーム機、電話、FA
X、携帯電話、PHS、電子手帳、等を含む通信機能有
する通信端末、または、これらの組合せによって実施可
能であることを容易に理解できるであろう。ただし、こ
れらの構成要素は例示であり、その全ての構成要素が本
発明の必須の構成要素となるわけではない。
【0053】
【発明の効果】本発明により、複雑な構造を持つデータ
から、集合の集合、あるいは順列の集合のような複数段
階の構造を持つパターンを自動的に全て検出することが
可能になる。また検出されるパターンは従来の構造を無
視したパターンより、元のデータの構造に近いので直感
的に理解しやすい。ユーザは事前にパターンのテンプレ
ートのようなものを与える必要がなく、さらに高速で、
大量のデータに対しても短時間で処理が終了する。従っ
て大量のデータベースから非常に重要なパターンが容易
に検出できるようになる。
【図面の簡単な説明】
【図1】本発明の概要を示す図である。
【図2】パターンマッチングを説明する図である。
【図3】複数のマッチングを説明する図である。
【図4】本発明によるパターン抽出システムのブロック
図である。
【図5】本発明によるパターン抽出のフローチャートで
ある。
【図6】候補生成装置のブロック図である。
【図7】終端要素を説明する図である。
【図8】候補パターン生成フローチャートである。
【図9】Joinを説明する図である。
【図10】集計装置のブロック図である。
【図11】頻出パターン集計のフローチャートである。
【図12】2段階の木構造の例である。
【図13】パターンの分類を示す図である。
【図14】候補パターンの生成例である。
【図15】シーケンス・マッチングの1つの例である。
【図16】シーケンス・マッチングのまた別の例であ
る。
【図17】カウンタのブロック図である。
【図18】2段階の木構造の集計方法のフローチャート
である。
【図19】候補パターン用シーケンス生成手順である。
【図20】ハッシュ木の例である。
【図21】トランザクション用シーケンス生成手順であ
る。
【図22】シーケンス適合のブロック図である。
【図23】二部グラフのマッチング例である。
【図24】ネットワーク例である。
【図25】述語引数語組の例である。
【図26】構築された構文木の例である。
【図27】生成された構造化データの例である。
【図28】文書ブラウザの実施例である。
【図29】本発明によるシステムで使用されるハードウ
ェア実施例である。
【符号の説明】
1・・・CPU 2・・・バス 4・・・メモリ 5・・・キーボード・マウス・コントローラ 6・・・キーボード 7・・・ポインティングデバイス 8・・・ディスプレイ・アダプタ・カード 9・・・ビデオメモリ 10・・・DAC/LCDC 11・・・表示装置 12・・・CRTディスプレイ 13・・・ハードディスク装置 14・・・ROM 15・・・シリアルポート 16・・・パラレルポート 17・・・タイマ 18・・・通信アダプタ 19・・・フロッピーディスクコントローラ 20・・・フロッピーディスク装置 21・・・オーディオ・コントローラ 22・・・アンプ 23・・・スピーカ 24・・・マイクロフォン 25・・・IDEコントローラ 26・・・CD−ROM 27・・・SCSIコントローラ 28・・・MO 29・・・CD−ROM 30・・・ハードディスク装置 31・・・DVD 32・・・DVD 100・・・システム
───────────────────────────────────────────────────── フロントページの続き (72)発明者 福田 剛志 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 松澤 裕史 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 Fターム(参考) 5B075 ND03 NK02 NK32 NK43 NK45 NR03 NR12 PP25 PR04 UU06

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】木構造データで表わされたデータ集合を含
    むデータベースから、頻出パターンを検出するシステム
    であって、(1)データベースから候補パターンにマッ
    チするパターンを集計する手段と、(2)前記集計によ
    り出現頻度の高いパターンを検出する手段と、(3)前
    記検出したパターンから、次の集計対象となる候補パタ
    ーンを生成する手段、を有する、頻出パターン検出シス
    テム。
  2. 【請求項2】大量のテキストデータから、有用な概念を
    抽出する、テキストマイニング・システムであって、
    (1)各テキストデータ中の文章を構文解析する手段
    と、(2)前記構文解析の結果に基づき構文木を生成す
    る手段と、(3)前記構文木の集合からなる、データベ
    ースを作成する手段と、(4)データベースから集計対
    象となる候補パターンを集計する手段と、(5)前記集
    計により出現頻度の高いパターンを検出する手段と、
    (6)前記検出したパターンから、次の集計対象となる
    候補パターンを生成する手段、を有する、テキストマイ
    ニング・システム。
  3. 【請求項3】大量のテキストから、FAQを自動的に作
    成する、FAQ作成システムであって、(1)各テキス
    トデータ中の文章を構文解析する手段と、(2)前記構
    文解析の結果に基づき構文木を生成する手段と、(3)
    前記構文木の集合からなる、データベースを作成する手
    段と、(4)データベースから集計対象となる候補パタ
    ーンを集計する手段と、(5)前記集計により出現頻度
    の高いパターンを検出する手段と、(6)前記検出した
    パターンから、次の集計対象となる候補パターンを生成
    する手段と、(7)前記出現頻度の高いパターンにマッ
    チする、元のテキストデータを抽出する手段、を有す
    る、FAQ作成システム。
  4. 【請求項4】ユーザが複数のカテゴリに分類したテキス
    トデータに基づき、大量のテキストデータを自動的に分
    類する、テキスト分類システムであって、(1)前記ユ
    ーザが分類したテキストデータ中の文章を、カテゴリ別
    に構文解析する手段と、(2)前記構文解析の結果に基
    づき構文木を生成する手段と、(3)前記構文木の集合
    からなる、データベースをカテゴリ別に作成する手段
    と、(4)データベースから集計対象となる候補パター
    ンを、カテゴリ別に集計する手段と、(5)前記集計に
    より出現頻度の高いパターンを、カテゴリ別に検出する
    手段と、(6)前記検出したパターンから、次の集計対
    象となる候補パターンを生成する手段と、(7)大量の
    テキストデータから、カテゴリ別に検出された前記出現
    頻度の高いパターンにマッチするテキストデータを検出
    することにより、大量のテキストデータをカテゴリ別に
    分類する手段、を有する、テキスト分類システム。
  5. 【請求項5】木構造データで表わされたデータ集合を含
    むデータベースから、頻出パターンを検出する方法であ
    って、(1)データベースから候補パターンにマッチす
    るパターンを集計する段階と、(2)前記集計により出
    現頻度の高いパターンを検出する段階と、(3)前記検
    出したパターンから、次の集計対象となる候補パターン
    を生成する段階、を有する、頻出パターン検出方法。
  6. 【請求項6】木構造データで表わされたデータ集合を含
    むデータベースから、頻出パターンを検出するプログラ
    ムを含む記録媒体であって、該プログラムがコンピュー
    タに、(1)データベースから候補パターンにマッチす
    るパターンを集計する機能と、(2)前記集計により出
    現頻度の高いパターンを検出する機能と、(3)前記検
    出したパターンから、次の集計対象となる候補パターン
    を生成する機能、を実現させる、プログラムを含む記録
    媒体。
JP30958299A 1999-10-29 1999-10-29 頻出パターン検出方法およびシステム Pending JP2001134575A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP30958299A JP2001134575A (ja) 1999-10-29 1999-10-29 頻出パターン検出方法およびシステム
US09/699,661 US6618725B1 (en) 1999-10-29 2000-10-30 Method and system for detecting frequent association patterns

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30958299A JP2001134575A (ja) 1999-10-29 1999-10-29 頻出パターン検出方法およびシステム

Publications (1)

Publication Number Publication Date
JP2001134575A true JP2001134575A (ja) 2001-05-18

Family

ID=17994776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30958299A Pending JP2001134575A (ja) 1999-10-29 1999-10-29 頻出パターン検出方法およびシステム

Country Status (2)

Country Link
US (1) US6618725B1 (ja)
JP (1) JP2001134575A (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076705A (ja) * 2001-08-30 2003-03-14 Nippon Yunishisu Kk 情報処理装置およびその方法
WO2005091170A1 (ja) * 2004-03-18 2005-09-29 Nec Corporation テキストマイニング装置、その方法及びプログラム
WO2006085661A1 (ja) * 2005-02-08 2006-08-17 Nec Corporation 質問応答データ編集装置、質問応答データ編集方法、質問応答データ編集プログラム
WO2007015505A1 (ja) * 2005-08-04 2007-02-08 Nec Corporation データ処理装置、データ処理方法、データ処理プログラム
JP2008033728A (ja) * 2006-07-31 2008-02-14 Fujitsu Ltd 重複データ検出プログラム、重複データ検出方法および重複データ検出装置
US7487150B2 (en) 2005-07-02 2009-02-03 International Business Machines Corporation Method for matching pattern-based data
JP2010009156A (ja) * 2008-06-25 2010-01-14 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
US8171052B2 (en) 2008-03-03 2012-05-01 International Business Machines Corporation Information search system, method and program
US8793121B2 (en) 2011-03-03 2014-07-29 International Business Machines Corporation Information processing apparatus, natural language analysis method, program and recording medium
KR101489371B1 (ko) 2014-09-30 2015-02-09 주식회사 비트나인 데이터 처리장치 및 그 패턴빈도 예측방법
US8959122B2 (en) 2010-03-08 2015-02-17 Hitachi, Ltd. Data processing device
JP2020071690A (ja) * 2018-10-31 2020-05-07 西日本電信電話株式会社 パターン認識モデル及びパターン学習装置、その生成方法、それを用いたfaqの抽出方法及びパターン認識装置、並びにプログラム
JP2020102193A (ja) * 2018-12-20 2020-07-02 楽天株式会社 文章変換システム、文章変換方法、及びプログラム
JP7358006B2 (ja) 2019-03-01 2023-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 相関ルール・マイニング・システム

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5689361B2 (ja) * 2011-05-20 2015-03-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation グラフデータの一部を準同型写像の像であるデータ構造に変換する方法、プログラム、および、システム
WO2002045323A2 (en) * 2000-12-01 2002-06-06 Sri International Data relationship model
US7155668B2 (en) * 2001-04-19 2006-12-26 International Business Machines Corporation Method and system for identifying relationships between text documents and structured variables pertaining to the text documents
US7194477B1 (en) * 2001-06-29 2007-03-20 Revenue Science, Inc. Optimized a priori techniques
US6804670B2 (en) * 2001-08-22 2004-10-12 International Business Machines Corporation Method for automatically finding frequently asked questions in a helpdesk data set
ATE459048T1 (de) * 2002-03-26 2010-03-15 Nokia Siemens Networks Oy Verfahren und vorrichtung zum komprimieren von protokollierungsaufzeichnungsinformationen
US7472114B1 (en) * 2002-09-18 2008-12-30 Symantec Corporation Method and apparatus to define the scope of a search for information from a tabular data source
US8225371B2 (en) * 2002-09-18 2012-07-17 Symantec Corporation Method and apparatus for creating an information security policy based on a pre-configured template
US7673344B1 (en) * 2002-09-18 2010-03-02 Symantec Corporation Mechanism to search information content for preselected data
US7886359B2 (en) * 2002-09-18 2011-02-08 Symantec Corporation Method and apparatus to report policy violations in messages
US8041719B2 (en) * 2003-05-06 2011-10-18 Symantec Corporation Personal computing device-based mechanism to detect preselected data
US8661498B2 (en) 2002-09-18 2014-02-25 Symantec Corporation Secure and scalable detection of preselected data embedded in electronically transmitted messages
JP4202798B2 (ja) * 2003-03-20 2008-12-24 株式会社東芝 時系列パターン抽出装置および時系列パターン抽出プログラム
US7600001B1 (en) * 2003-05-01 2009-10-06 Vignette Corporation Method and computer system for unstructured data integration through a graphical interface
JP4039488B2 (ja) * 2003-08-18 2008-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 多頻度パターン抽出装置、多頻度パターン抽出方法、及びそのプログラムと記録媒体
US7698345B2 (en) 2003-10-21 2010-04-13 The Nielsen Company (Us), Llc Methods and apparatus for fusing databases
US7917548B2 (en) 2003-11-14 2011-03-29 Bottelle Memorial Institute Universal parsing agent system and method
US7499913B2 (en) * 2004-01-26 2009-03-03 International Business Machines Corporation Method for handling anchor text
US7293005B2 (en) 2004-01-26 2007-11-06 International Business Machines Corporation Pipelined architecture for global analysis and index building
US7424467B2 (en) * 2004-01-26 2008-09-09 International Business Machines Corporation Architecture for an indexer with fixed width sort and variable width sort
US8296304B2 (en) 2004-01-26 2012-10-23 International Business Machines Corporation Method, system, and program for handling redirects in a search engine
US7461064B2 (en) 2004-09-24 2008-12-02 International Buiness Machines Corporation Method for searching documents for ranges of numeric values
WO2006036150A1 (en) 2004-09-28 2006-04-06 Nielsen Media Research, Inc Data classification methods and apparatus for use with data fusion
JP2006155404A (ja) * 2004-11-30 2006-06-15 Toshiba Corp 時間情報抽出装置、時間情報抽出方法、及び時間情報抽出プログラム
US8195693B2 (en) 2004-12-16 2012-06-05 International Business Machines Corporation Automatic composition of services through semantic attribute matching
US7702482B2 (en) * 2004-12-30 2010-04-20 Microsoft Corporation Dependency structure from temporal data
US8011003B2 (en) * 2005-02-14 2011-08-30 Symantec Corporation Method and apparatus for handling messages containing pre-selected data
US20060184549A1 (en) * 2005-02-14 2006-08-17 Rowney Kevin T Method and apparatus for modifying messages based on the presence of pre-selected data
US7630924B1 (en) * 2005-04-20 2009-12-08 Authorize.Net Llc Transaction velocity counting for fraud detection
US20060253476A1 (en) * 2005-05-09 2006-11-09 Roth Mary A Technique for relationship discovery in schemas using semantic name indexing
WO2006127510A2 (en) * 2005-05-21 2006-11-30 Kula Media Group Media distribution over a network
US8122035B2 (en) * 2005-06-28 2012-02-21 International Business Machines Corporation Method and system for transactional fingerprinting in a database system
JP4782490B2 (ja) * 2005-06-29 2011-09-28 富士通株式会社 データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法
US8417693B2 (en) 2005-07-14 2013-04-09 International Business Machines Corporation Enforcing native access control to indexed documents
US7599861B2 (en) 2006-03-02 2009-10-06 Convergys Customer Management Group, Inc. System and method for closed loop decisionmaking in an automated care system
EP1997039A1 (en) * 2006-03-14 2008-12-03 International Business Machines Corporation Data mining by determining patterns in input data
WO2007104611A2 (en) * 2006-03-14 2007-09-20 International Business Machines Corporation Input data structure for data mining
US7809663B1 (en) 2006-05-22 2010-10-05 Convergys Cmg Utah, Inc. System and method for supporting the utilization of machine language
US8379830B1 (en) 2006-05-22 2013-02-19 Convergys Customer Management Delaware Llc System and method for automated customer service with contingent live interaction
US8112440B2 (en) * 2007-04-13 2012-02-07 The University Of Vermont And State Agricultural College Relational pattern discovery across multiple databases
US20090044177A1 (en) * 2007-08-09 2009-02-12 Cary Lee Bates Method and apparatus for profile enhanced source code analyzer results
US8260619B1 (en) 2008-08-22 2012-09-04 Convergys Cmg Utah, Inc. Method and system for creating natural language understanding grammars
US7996373B1 (en) 2008-03-28 2011-08-09 Symantec Corporation Method and apparatus for detecting policy violations in a data repository having an arbitrary data schema
US7996374B1 (en) 2008-03-28 2011-08-09 Symantec Corporation Method and apparatus for automatically correlating related incidents of policy violations
US8065739B1 (en) 2008-03-28 2011-11-22 Symantec Corporation Detecting policy violations in information content containing data in a character-based language
US20090254594A1 (en) * 2008-04-02 2009-10-08 Microsoft Corporation Techniques to enhance database performance
US8826443B1 (en) 2008-09-18 2014-09-02 Symantec Corporation Selective removal of protected content from web requests sent to an interactive website
US8613040B2 (en) * 2008-12-22 2013-12-17 Symantec Corporation Adaptive data loss prevention policies
US8935752B1 (en) 2009-03-23 2015-01-13 Symantec Corporation System and method for identity consolidation
US8301665B2 (en) * 2009-09-08 2012-10-30 International Business Machines Corporation Accelerated drill-through on association rules
US8204904B2 (en) * 2009-09-30 2012-06-19 Yahoo! Inc. Network graph evolution rule generation
US8660986B2 (en) * 2010-10-27 2014-02-25 Microsoft Corporation Preserving user intent in merging ordered objects
US8626690B2 (en) 2011-02-23 2014-01-07 Hewlett-Packard Development Company, L.P. Pattern recognition
US9697275B2 (en) 2011-08-29 2017-07-04 Peter Marbach System and method for identifying groups of entities
US9111291B2 (en) * 2012-06-19 2015-08-18 Yahoo! Inc. System and method for providing sponsored applications in email
US9483463B2 (en) * 2012-09-10 2016-11-01 Xerox Corporation Method and system for motif extraction in electronic documents
US9830451B2 (en) * 2012-11-30 2017-11-28 Entit Software Llc Distributed pattern discovery
US9460455B2 (en) * 2013-01-04 2016-10-04 24/7 Customer, Inc. Determining product categories by mining interaction data in chat transcripts
WO2016018348A1 (en) * 2014-07-31 2016-02-04 Hewlett-Packard Development Company, L.P. Event clusters
US9805099B2 (en) * 2014-10-30 2017-10-31 The Johns Hopkins University Apparatus and method for efficient identification of code similarity
US10528661B2 (en) * 2016-02-11 2020-01-07 International Business Machines Corporation Evaluating parse trees in linguistic analysis
US11494350B2 (en) * 2018-10-05 2022-11-08 Verint Americas Inc. Building of knowledge base and FAQ from voice, chat, email, and social interactions
CN114730295A (zh) * 2019-11-25 2022-07-08 超威半导体公司 基于模式的高速缓存块压缩

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08287106A (ja) * 1995-03-31 1996-11-01 Internatl Business Mach Corp <Ibm> データベースのマイニングシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974412A (en) * 1997-09-24 1999-10-26 Sapient Health Network Intelligent query system for automatically indexing information in a database and automatically categorizing users
US6304870B1 (en) * 1997-12-02 2001-10-16 The Board Of Regents Of The University Of Washington, Office Of Technology Transfer Method and apparatus of automatically generating a procedure for extracting information from textual information sources
US6363377B1 (en) * 1998-07-30 2002-03-26 Sarnoff Corporation Search data processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08287106A (ja) * 1995-03-31 1996-11-01 Internatl Business Mach Corp <Ibm> データベースのマイニングシステム

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076705A (ja) * 2001-08-30 2003-03-14 Nippon Yunishisu Kk 情報処理装置およびその方法
JP4525936B2 (ja) * 2004-03-18 2010-08-18 日本電気株式会社 テキストマイニング装置、その方法及びプログラム
WO2005091170A1 (ja) * 2004-03-18 2005-09-29 Nec Corporation テキストマイニング装置、その方法及びプログラム
US8612207B2 (en) 2004-03-18 2013-12-17 Nec Corporation Text mining device, method thereof, and program
JPWO2005091170A1 (ja) * 2004-03-18 2008-02-07 日本電気株式会社 テキストマイニング装置、その方法及びプログラム
JPWO2006085661A1 (ja) * 2005-02-08 2008-08-07 日本電気株式会社 質問応答データ編集装置、質問応答データ編集方法、質問応答データ編集プログラム
US8983962B2 (en) 2005-02-08 2015-03-17 Nec Corporation Question and answer data editing device, question and answer data editing method and question answer data editing program
JP4924950B2 (ja) * 2005-02-08 2012-04-25 日本電気株式会社 質問応答データ編集装置、質問応答データ編集方法、質問応答データ編集プログラム
WO2006085661A1 (ja) * 2005-02-08 2006-08-17 Nec Corporation 質問応答データ編集装置、質問応答データ編集方法、質問応答データ編集プログラム
US7487150B2 (en) 2005-07-02 2009-02-03 International Business Machines Corporation Method for matching pattern-based data
US7912805B2 (en) 2005-07-02 2011-03-22 International Business Machines Corporation System for matching pattern-based data
US8775158B2 (en) 2005-08-04 2014-07-08 Nec Corporation Data processing device, data processing method, and data processing program
WO2007015505A1 (ja) * 2005-08-04 2007-02-08 Nec Corporation データ処理装置、データ処理方法、データ処理プログラム
JP4992715B2 (ja) * 2005-08-04 2012-08-08 日本電気株式会社 データ処理装置、データ処理方法、データ処理プログラム
JP2008033728A (ja) * 2006-07-31 2008-02-14 Fujitsu Ltd 重複データ検出プログラム、重複データ検出方法および重複データ検出装置
US8171052B2 (en) 2008-03-03 2012-05-01 International Business Machines Corporation Information search system, method and program
JP2010009156A (ja) * 2008-06-25 2010-01-14 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
US8959122B2 (en) 2010-03-08 2015-02-17 Hitachi, Ltd. Data processing device
US8793121B2 (en) 2011-03-03 2014-07-29 International Business Machines Corporation Information processing apparatus, natural language analysis method, program and recording medium
KR101489371B1 (ko) 2014-09-30 2015-02-09 주식회사 비트나인 데이터 처리장치 및 그 패턴빈도 예측방법
US10176221B2 (en) 2014-09-30 2019-01-08 Bitnine Co., Ltd. Data processing apparatus and prediction method of pattern frequency thereof
JP2020071690A (ja) * 2018-10-31 2020-05-07 西日本電信電話株式会社 パターン認識モデル及びパターン学習装置、その生成方法、それを用いたfaqの抽出方法及びパターン認識装置、並びにプログラム
JP2020102193A (ja) * 2018-12-20 2020-07-02 楽天株式会社 文章変換システム、文章変換方法、及びプログラム
JP7358006B2 (ja) 2019-03-01 2023-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 相関ルール・マイニング・システム

Also Published As

Publication number Publication date
US6618725B1 (en) 2003-09-09

Similar Documents

Publication Publication Date Title
JP2001134575A (ja) 頻出パターン検出方法およびシステム
CN109948911B (zh) 一种计算网络产品信息安全风险的评估方法
US8386482B2 (en) Method for personalizing information retrieval in a communication network
JP3266586B2 (ja) データ分析システム
US8402036B2 (en) Phrase based snippet generation
US9015194B2 (en) Root cause analysis using interactive data categorization
WO2001020500A2 (en) Information retrieval by natural language querying
CN106960030A (zh) 基于人工智能的推送信息方法及装置
CN110852095B (zh) 语句热点提取方法及系统
Grobelnik et al. Automated knowledge discovery in advanced knowledge management
JP2013143066A (ja) 大量のコメント文章を用いた質問回答プログラム、サーバ及び方法
KR20120014277A (ko) 상품평 극성 분류를 위한 특징별 서술어 긍정 및 부정 사전 자동 구축 시스템 및 방법
CN112100396A (zh) 一种数据处理方法和装置
WO2014114175A1 (zh) 一种提供搜索引擎标签的方法和装置
JP2002245061A (ja) キーワード抽出
CN110019713A (zh) 基于意图理解的数据检索方法和装置、设备及存储介质
CN107632974B (zh) 适用于多领域的中文分析平台
JP2001084250A (ja) 膨大な文書データからの知識抽出方法、その装置及び媒体
JP2004021445A (ja) テキストデータ分析システム、テキストデータ分析方法およびコンピュータプログラム
JP2013050896A (ja) Faq作成支援システム及びプログラム
KR101476225B1 (ko) 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
JP3743204B2 (ja) データ分析支援方法および装置
CN115329173A (zh) 一种基于舆情监控的企业信用确定方法及装置
CN108520012A (zh) 基于机器学习的移动互联网用户评论挖掘方法
Ibrahim et al. Mining social network content of online retail brands: a machine learning approach

Legal Events

Date Code Title Description
RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20050725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050725

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050916

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050926

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050926