Wie extrahieren Sie Texte aus dem Korpus mithilfe von gensim
Zur Vorverarbeitung der corpus war ich der Planung bis zur extarct gemeinsamen Sätze aus dem Korpus, für diese habe ich versucht mit Hilfe Sätze Modell im gensim, versuchte ich folgenden code, aber es ist nicht das geben von mir gewünschten Ausgabe.
Mein code
from gensim.models import Phrases
documents = ["the mayor of new york was there", "machine learning can be useful sometimes"]
sentence_stream = [doc.split(" ") for doc in documents]
bigram = Phrases(sentence_stream)
sent = [u'the', u'mayor', u'of', u'new', u'york', u'was', u'there']
print(bigram[sent])
Ausgabe
[u'the', u'mayor', u'of', u'new', u'york', u'was', u'there']
Aber wie es kommen sollte
[u'the', u'mayor', u'of', u'new_york', u'was', u'there']
Aber wenn ich versuchte, zu drucken, vocab der Zug-Daten, die ich sehen kann, bigram, aber seinen nicht das arbeiten mit test-Daten, wohin ich gehe falsch gemacht?
print bigram.vocab
defaultdict(<type 'int'>, {'useful': 1, 'was_there': 1, 'learning_can': 1, 'learning': 1, 'of_new': 1, 'can_be': 1, 'mayor': 1, 'there': 1, 'machine': 1, 'new': 1, 'was': 1, 'useful_sometimes': 1, 'be': 1, 'mayor_of': 1, 'york_was': 1, 'york': 1, 'machine_learning': 1, 'the_mayor': 1, 'new_york': 1, 'of': 1, 'sometimes': 1, 'can': 1, 'be_useful': 1, 'the': 1})
InformationsquelleAutor Prashant Puri | 2016-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe die Lösung für das problem , Es gab zwei Parameter, die ich nicht kümmern sich um Sie, die übergeben werden sollen, Phrasen() Modell, das sind
min_count ignorieren aller Wörter und bigrame mit insgesamt erhoben Anzahl niedriger als diese. Bydefault es Wert ist 5
Schwelle stellt einen Schwellenwert für die Bildung der Sätze (höher bedeutet weniger Sätze). Ein Satz der Wörter a und b ist angenommen, wenn (cnt(a, b) - min_count) * N /(cnt(a) * cnt(b)) > Schwelle, wo N ist die Gesamtanzahl der Vokabeln Größe. Bydefault es Wert ist 10.0
Mit meinem oben zugdaten mit zwei Aussagen, die den Schwellenwert war 0, so dass ich umsteigen Datensätze und fügen Sie diese zwei Parameter.
Mein Neuer code
Ausgabe
Gensim ist wirklich genial 🙂
Wenn man "machine learning" in dem Satz vor dem training zweimal, dann fügen Sie es in Ihre gesendete variable, Sie bekommen "machine_learning". Wenn Sie nicht sehen können, die Frequenz, die paar, die es nicht wissen intuitiv.
Hat Satz Modellierung von Gensim auf einzelne Dokumente oder müssen wir übergeben das ganze corpus. Wie in Ihrem Fall, jeder doc ist nur ein Satz. Aber was ist, wenn ich docs, die multi-Satz. Dann muss ich konvertieren Sie jedes Dokument zu der Liste von Satz (die ist weiter eine Liste von token-strings) und übergeben Sie dann die ganze Liste mit allen docs zu formulieren, modellieren oder nur einzelne doc gesendet werden können, zu. Ich empfinde es schon als ganze corpus, wie das ist, wenn es zählen würde den Satz Frequenz, die überall im Korpus. <Fortsetzung>
In diesem Fall wird es schwierig, Satz Modellierung, wenn die docs sind wie in tausenden.
Satz Modellierung Arbeit sowohl einzelne Dokumente und ganze corpus. Aber, das ganze corpus erfordert eine hohe Rechenleistung.
InformationsquelleAutor Prashant Puri