Ich arbeite an einer Implementierung eines Quellcode Plagiat Algorithmus (Winnowing-Algorithmus) und habe ein Problem, wo ich Hilfe brauche.Verfolgen Sie die ursprüngliche Position der transformierten Zeichenfolge in Java
Beispiel: I habe eine Zeichenfolge
String test="blahello,,,,/blatestbla7234///§"§$%"%$\n\n23344)§()(§$blablayeahbla";
und verwandeln diese Zeichenfolge
test="blahelloblatestblablablayeahbla"
und aus dieser Zeichenfolge I bauen kgrams beispielsweise 5-Gramm
blahe lahel ahell hello ellob llobl .... ahbla
I speichern Sie die kgrams in einer Liste von Strings, möchten aber auch die Start- und Endposition fr speichern om den Originaltext jedes kgrams, damit ich am Ende jedes kgram wieder auf seine ursprüngliche Textposition verweisen kann.
EDIT:
Also meine Frage wäre, wie kann ich die Start- und Endposition eines kgram bekommen mir jemand da helfen? Hast du irgendeine Idee? Vielen Dank im Voraus.
Sie so etwas wie dies bedeuten Sie? blahe.begin = 0, blaehe.end = 4, lahel.begin = 1, lahel.begin = 5, ...? – wimdetr
Definieren Sie eine Klasse NGram mit den von Ihnen benötigten Eigenschaften (z. B. n, value, beginIndex, endIndex usw.). Dann sind Ihre N-Gramme Instanzen von NGram anstelle von Instanzen von String und Sie können alle zusätzlichen Metadaten mitnehmen, die Sie möglicherweise nützlich finden. – Rob
Oh, tut mir leid, meine Frage war irreführend. Ich habe es bearbeitet. Ich kann es in einer Klasse speichern, aber wie bekomme ich die Start- und Endposition eines kgram. Ich habe den Originaltext umgeschrieben und viele Zeichen wurden ersetzt. Zum Beispiel möchte ich für die Kgram Ellob Startpos: 4 und Endposition 13 – vizero