2016-03-30 6 views
0

Angenommen, wir haben ein Wörterbuch von KeywordsAho-Corasick Suche nach Stichwort Paare

Dictionary A: {A1, A2, A3} 

Und wenn wir ein zweites Wörterbuch von Keywords (die sich von der ersten) haben

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

Ich mag würde um alle möglichen Übereinstimmungen ungeordneter Paare von Schlüsselwörtern in einer Folge (dh nur durch Leerräume getrennt) von beiden Wörterbüchern in einem Eingabetext zu finden. Betrachten wir zum Beispiel die folgenden als Eingabetext

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. 

Der Aho-Corasick Algorithmus ist eine traditionelle Lösung für die effiziente alle Spiele von einem einzigen Wörterbuch von Schlüsselwörtern in einem Eingabetext zu finden, durch einen Trie-ähnlichen Automaten konstruieren und Scannen des Texts Zeichen für Zeichen.

Gibt es eine effiziente Möglichkeit, Aho-Corasick für den Fall mehrere Wörterbücher zu erweitern?

Antwort