Ich habe eine Liste von etwa 300 Wörtern und eine riesige Menge an Text, die ich scannen möchte, um zu wissen, wie oft jedes Wort erscheint.Python: beste/effizienteste Möglichkeit, eine Liste von Wörtern in einem Text zu finden?
Ich bin mit dem re Modul von Python:
for word in list_word:
search = re.compile(r"""(\s|,)(%s).?(\s|,|\.|\))""" % word)
occurrences = search.subn("", text)[1]
aber ich möchte wissen, ob es eine effizientere oder elegantere Weg ist, dies zu tun?
können Sie eine Wortmarke verwenden, anstatt nach umgebenden Leerzeichen und Interpunktion zu suchen. '\ bWORD \ b' – mpen
Wenn Sie über die Worthäufigkeit hinausgehen und in die Textklassifizierung schauen möchten, können Sie sich das hier ansehen: http://streamhacker.com/2010/06/16/text-classification-sentiment- Analyse-Eliminieren-Low-Information-Features/ – monkut
Wie ** riesig ** kann der Text sein, wenn Sie es im Speicher halten? – FMc