2016-03-30 8 views
0

varsayalım biz anahtar kelimelerAho-corasick arama

Dictionary A: {A1, A2, A3} 

Ve ikinci bir anahtar kelime sözlüğü olduğunu varsayalım bir sözlük (birinci ayrı)

Dictionary B: {B1, B2, B3, B4} 

İsterdim var Sıralı olmayan anahtar kelime çiftlerinin olası eşleşmelerini bir giriş metnindeki iki sözlükten bir sırayla (yani, yalnızca boşluk ile ayrılmış) bulmak. Örneğin, bir metin girmek

We are not looking for single words from either dictionary on their own, like 
A2 or B4, nor are we looking for sequences of words from only one dictionary, 
like A1 A3 or B4 B2. We are looking for tuples of words from both dictionaries 
in a sequence together, like B1 A3 and A2 B4 and B4 A2. 

Aho-Corasick algoritması verimli bir tray benzeri Otomaton'u oluşturarak bir giriş metninde anahtar kelime tek sözlüğe tüm eşleşmeleri bulmak için geleneksel bir çözümdür olarak aşağıdakileri dikkate ve karakter karakterini taramak.

Çoklu sözlükler için Aho-Corasick'i genişletmenin etkili bir yolu var mı?

cevap