Iteration durch String-Wort in einer Zeit, in Python

Ich habe einen string-Puffer, der eine riesige text-Datei. Ich Suche eine VORGEGEBENE Wörter/Sätze in den string-Puffer. Was ist der effizienteste Weg, es zu tun ?

Versuchte ich mit re-Modul entspricht. Aber ich habe einen großen text-corpus, die ich durchsuchen müssen. Diese nimmt jede Menge Zeit.

Gegeben, ein Wörterbuch der Wörter und Sätze.

Ich Durchlaufen, die jede Datei Lesen, die in einer string-Suche alle Wörter und Sätze im Wörterbuch und erhöht die Anzahl im Wörterbuch dann, wenn die Schlüssel gefunden.

Eine kleine Optimierung, die wir dachten, war die Sortierung der Wörterbuch der Phrasen/Wörter mit der max Anzahl der Wörter zu den niedrigsten. Und dann vergleichen Sie in jedem word-start-position von string-Puffer und vergleichen Sie die Liste der Wörter. Falls ein Satz gefunden wird, brauchen wir suchen für die anderen Sätze (da passte es der längste Satz ,das ist, was wir wollen)

Kann jemand vorschlagen, wie man über das Wort in der Zeichenfolge buffer. (Iterate-string-Puffer Wort für Wort) ?

Außerdem gibt es jede andere Optimierung, die getan werden kann auf dieser ?

data = str(file_content)
for j in dictionary_entity.keys():
    cnt = data.count(j+" ")
    if cnt != -1:
        dictionary_entity[j] = dictionary_entity[j] + cnt
f.close()
Ich habe ein riesiges Textkorpus, und ich bin versucht, um die Anzahl der vorkommen von Satz 2 Millionen Sätze/Wörter in diesem Korpus.
was ist ein Korpus?
sind Sie der Umsetzung einer Wort - /Satz-counter oder was?
ja, die Implementierung einer Wort - /Satz-Zähler. Corpus ist die string-Puffer, die ich durch suchen. Es gibt Millionen von Dateien, von denen ich habe, um die Anzahl aller vorkommen des Wortes/phrase(Das ist voreingestellt)
Also wenn ich "City of Gold", "Stadt" und "Gold" in meinem hash-Wörter/Sätze-Liste. Und in der Sting-buffer "Dies ist die Stadt von Gold" . Dann mein counter erhöht werden soll, nur für die "City of Gold".

InformationsquelleAutor AlgoMan | 2010-05-04

Schreibe einen Kommentar