著者
蔵満 琢麻 望月 久稔
出版者
情報処理学会
雑誌
情報処理学会論文誌データベース(TOD) (ISSN:18827799)
巻号頁・発行日
vol.2, no.2, pp.96-109, 2009-06-29

自然言語処理における辞書構造として,トライ法が広く用いられているが,日本語のように分かち書きされていない言語のテキストからキーワードを検出するためには,解析対象となるテキストのあらゆる位置から探索する必要がある.より高速に形態素解析を行うため,複数のキーワードをテキストから線形時間で検出する AC 法を用いる手法が提案されているが,AC 法はトライ法よりも使用する記憶領域が大きい.本論文では,AC マシンにおける遷移のうち,多分岐の節点における遷移をダブル配列に,1 方向分岐の節点における遷移をダブル配列と異なる配列にそれぞれ定義することで,照合時に必要な記憶領域を抑制し,高速性とコンパクト性をあわせ持つ AC マシンを実現する手法を提案する.日本語形態素 40 万語を登録した実験で,提案手法はトライを用いた辞書システム Darts とほぼ同等の記憶領域で対象テキストを 60~87% の時間で照合した.Trie structure is used widely, such as dictionary for natural language processing. However, it is not so effective using a trie structure for the morphological analysis of languages without explicit word boundaries like Japanese because we have to perform dictionary lookup for all possible substrings of the text. This paper proposes an efficient dictionary structure that is Aho-Corasick Machine using Double-array defining multi-way branch and different arrays defining oneway branch. Our experiments show that the matching time of the proposal machine decreased to about 60%-87% against other structures.
著者
蔵満 琢麻 松浦 寛生 望月久稔
出版者
情報処理学会
雑誌
情報処理学会論文誌データベース(TOD) (ISSN:18827799)
巻号頁・発行日
vol.1, no.2, pp.1-14, 2008-09-30

パターン照合は文書処理やアンチウイルスなどのソフトウエアに用いられ,メモリ消費量が小さく,照合速度が高速なアルゴリズムが求められる.AC 法は複数パターンの照合に有効な手法で,AC マシンと呼ばれる一種の有限オートマトンを登録パターン集合から構築し,対象データを線形時間で照合する手法である.本論文では,ダブル配列を用いて遷移先関数を拡張した AC マシンを提案し,他手法との比較実験によりその有効性を示す.また提案マシンの応用例として,アンチウイルスソフト ClamAntiVirus に提案マシンを実装する.実験の結果,提案マシンは他手法よりも小さい記憶領域でデータ構造を実現し,対象データを高速に照合した.また,提案マシンを実装した ClamAntiVirus は,システムの稼働時間を 72%,照合時に必要な記憶領域を 70% にできることを示した.Pattern matching is used for word processing and software such as antivirus. It is important to high-speed response and compact memory. Aho-Corasick algorithm is an efficient multiple pattern matching algorithm. In this paper, we present a multiple pattern matching machine with a double-array structure. It has the transition function extended. And also, we implement the proposal machine to ClamAntiVirus as an applied example. Our experiments show that the operation time decreased to 72% and required storage area decreased to 70%.