Ich frage mich, wie man die punktweise gegenseitige Information für Textklassifikation berechnen würde. Um genauer zu sein, möchte ich Tweets in Kategorien einteilen. Ich habe einen Datensatz von Tweets (die kommentiert sind), und ich habe ein Wörterbuch pro Kategorie von Wörtern, die zu dieser Kategorie gehören. Wie ist es möglich, anhand dieser Informationen den PMI für jede Kategorie pro Tweet zu berechnen, um einen Tweet in einer dieser Kategorien zu klassifizieren?Punktweise gegenseitige Information über Text
Antwort
PMI ist ein Maß für die Zuordnung zwischen einem Feature (in Ihrem Fall ein Wort) und einer Klasse (Kategorie), nicht zwischen einem Dokument (Tweet) und einer Kategorie. Die Formel ist auf Wikipedia:
P(x, y)
pmi(x ,y) = log ------------
P(x)P(y)
In dieser Formel X
der Zufallsvariable ist, die Modelle, das Auftreten eines Wortes und Y
Modelle des Auftreten einer Klasse. Für ein gegebenes Wort x
und eine gegebene Klasse y
können Sie PMI verwenden, um zu entscheiden, ob eine Funktion informativ ist oder nicht, und Sie können auf dieser Basis eine Funktion auswählen. Wenn Sie weniger Features haben, wird die Leistung Ihres Klassifizierungsalgorithmus oft verbessert und die Geschwindigkeit erheblich erhöht. Der Klassifizierungsschritt ist jedoch getrennt - PMI hilft Ihnen nur bei der Auswahl besserer Funktionen, die Sie in Ihren Lernalgorithmus einspeisen können.
Edit: Eine Sache, die ich nicht in der ursprünglichen Post erwähnt habe, ist, dass PMI zu Wort Frequenzen empfindlich ist. Lassen Sie uns die Formel umschreiben als
P(x, y) P(x|y)
pmi(x ,y) = log ------------ = log ------------
P(x)P(y) P(x)
Wenn x
und y
perfekt korreliert sind, P(x|y) = P(y|x) = 1
, so pmi(x,y) = 1/P(x)
. Weniger häufig x
-es (Wörter) haben einen höheren PMI-Wert als häufig x
-e, auch wenn beide perfekt mit y
korreliert sind.
- 1. Gegenseitige Information und gemeinsame Entropie von zwei Bildern - MATLAB
- 2. WCF gegenseitige gegenseitige Authentifikation
- 3. Punktweise Bildverarbeitung - Histogramm Entzerrung (Verarbeitung)
- 4. Gegenseitige Bildlaufleiste
- 5. Angepasste gegenseitige Informationen (scikit-learn)
- 6. Python-Implementierung von gegenseitiger Information
- 7. NHibernate Information
- 8. Gegenseitige Beziehung zwischen Personen
- 9. Antlr4 gegenseitige Linksrekursion Fehler
- 10. Gegenseitige Auth - AsyncRestTemplate Unterstützung
- 11. Disable Information/Definition-Boxen in Anaconda in Sublime Text 3
- 12. Terminal Services Server Information
- 13. Sharepoint Zugriff auf "User Information List" über einen Webservice
- 14. Warten Sie, bis das Medienelement über eine NaturalDuration-Information verfügt
- 15. Gegenseitige Wörter in Dateien mit hadoop mapreduce
- 16. Reduce Array Information
- 17. linux module gegenseitige funktion referenz
- 18. Gegenseitige Authentifizierung mit Tomcat 7
- 19. Pixel Information from NSImage (Swift)
- 20. Eclipse Intellisense Information
- 21. Gegenseitige WCF-Zertifikatauthentifizierung/SSL in Clusterumgebung
- 22. Gegenseitige Client-Authentifizierung Zertifikat in Servlet erhalten
- 23. Information geht nicht in meine Tabelle
- 24. Blackberry - Device SDK Version Information
- 25. Information Management Policy in SharePoint
- 26. Parsing Event Information Table-Dateien
- 27. Formular-Steuerelement überträgt falsche Information
- 28. Schiff maritime AIS Information API
- 29. Text über semitransparenten Hintergrund
- 30. Hintergrundbild über Text setzen?
Eine Folgefrage. Sie sagen "X ist die Zufallsvariable, die das Auftreten eines Wortes modelliert". Wie oft kommt das Wort im gesamten Datensatz vor? z.B. Ich habe 250.000 Sätze, das x ist dann wie oft das Wort im gesamten Datensatz vorkommt? Und was ist mit p (x, y), wie müsste ich das interpretieren? wie oft x und y zusammen in einem Satz vorkommen? – Ojtwist
'P (x)' ist die Wahrscheinlichkeit, dass das Wort "x" (Kleinbuchstabe) auftritt. Dies ist das Verhältnis zwischen der Anzahl der Dokumente, die das Wort enthalten, und der Gesamtzahl der Dokumente. 'P (y)' ist die Wahrscheinlichkeit der Klasse (Kategorie) 'y', die auf ähnliche Weise berechnet wird. 'P (x, y)' wenn das Verhältnis zwischen der Anzahl der Dokumente, die * beide * des Etiketts "y" sind und das Wort "x" und die Gesamtzahl der Dokumente enthalten. – mbatchkarov
Müssen Sie wirklich die Anzahl in Wahrscheinlichkeiten normalisieren, indem Sie durch die Anzahl der Dokumente dividieren? Ich weiß, dass Sie eine andere pmi() Zahl bekommen, aber das relative pmi() zwischen verschiedenen Paaren von (X, Y) bleibt gleich und der tatsächliche Wert des pmi bedeutet sowieso nichts, oder? Ich kann die Normalisierung nur nützlich sehen, wenn ich pmi über verschiedene Dokumentensätze hinweg (mit unterschiedlichen Belegzahlen) vergleiche – kane