In Bezug auf die Verwendung des Bigram-Modells (N-Gramm) zum Erstellen eines Merkmalsvektors für ein Textdokument

10

Ein traditioneller Ansatz der Feature-Konstruktion für das Text-Mining ist der Bag-of-Word-Ansatz und kann mithilfe von tf-idf zum Einrichten des Feature-Vektors, der ein bestimmtes Textdokument charakterisiert, erweitert werden. Gegenwärtig versuche ich, ein Bi-Gramm-Sprachmodell oder (N-Gramm) zum Erstellen eines Merkmalsvektors zu verwenden, weiß aber nicht genau, wie das geht? Können wir einfach dem Ansatz des Wortbeutels folgen, dh die Häufigkeit in Form von Bi-Gramm anstelle von Wörtern berechnen und mithilfe des tf-idf-Gewichtungsschemas verbessern?

user3125
quelle

Antworten:

4

Ja. Dies führt jedoch zu viel mehr Funktionen: Es kann wichtig sein, einen Grenzwert anzuwenden (z. B. Funktionen wie Bi-Gramm oder Wörter, die in Ihrem Datensatz weniger als fünfmal vorkommen, zu verwerfen), um Ihren Klassifikator nicht mit zu vielen Geräuschen zu übertönen Eigenschaften.

Ogrisel
quelle
Vielen Dank. Meinen Sie damit, dass meine allgemeine Vorstellung, jeden Merkmalswert in Bigram (N-Gramm) zu berechnen, richtig ist? Mit anderen Worten, es gibt keinen großen Unterschied bei der Berechnung der Merkmalswerte zwischen Wortbeutel und N-Gramm-Modell. Danke für die Klarstellung.
user3125
Ja, Sie können beide Bigrams + Unigramme (Wörter) in einer großen Menge von Funktionen verwenden (solange Sie mit einem bestimmten Grenzwert am seltensten trimmen).
Ogrisel
3

Die Anzahl der Bigramme kann reduziert werden, indem nur diejenigen mit positiven gegenseitigen Informationen ausgewählt werden.

Wir haben dies getan, um eine Tüte Bigrams-Repräsentation auf dem INEX XML Mining-Track http://www.inex.otago.ac.nz/tracks/wiki-mine/wiki-mine.asp zu generieren .

Was wir nicht versucht haben, ist die Verwendung der gegenseitigen Informationen zwischen den Begriffen bei der Gewichtung der Bi-Gramm. Siehe https://en.wikipedia.org/wiki/Pointwise_mutual_information , https://www.eecis.udel.edu/~trnka/CISC889-11S/lectures/philip-pmi.pdf und http: //www.nltk. org / howto / collocations.html für eine bessere Erklärung der punktweisen gegenseitigen Information für Bigrams.

Siehe /programming/20018730/computing-pointwise-mutual-information-of-a-text-document-using-python und /programming/22118350/python-sentiment-analysis -Verwenden von punktuellen gegenseitigen Informationen für andere diesbezügliche Fragen.

Chris de Vries
quelle
toter Link :-( ...
Renaud
1
@Renaud Links wurden aktualisiert :-)
Chris de Vries
0

Die Verwendung von zufälligen Projektionen zur Reduzierung der Dimensionalität der Daten kann sich als nützlich erweisen, um den zum Speichern der Features erforderlichen Speicherplatz zu verringern ( https://en.wikipedia.org/wiki/Random_projection) . Es lässt sich sehr gut skalieren und jedes Beispiel kann unabhängig und ohne direkte Optimierungsmethoden wie PCA, SVD, Sammon Maps, NMF usw. in einen Raum mit niedrigeren Dimensionen projiziert werden.

Chris de Vries
quelle