Laut der Dokumentation der removeSparseTerms
Funktion aus dem tm
Paket bedeutet dies Sparsamkeit:
A term-document matrix where those terms from x are removed which have at least a sparse percentage of empty (i.e., terms occurring 0 times in a document) elements. I.e., the resulting matrix contains only terms with a sparse factor of less than sparse.
Ist eine korrekte Interpretation davon also zu sagen, wenn sparse
gleich 0,99 ist, entfernen wir Begriffe, die nur in höchstens 1% der Daten vorkommen?
r
text-mining
natural-language
zthomas.nc
quelle
quelle
Antworten:
Ja , obwohl Ihre Verwirrung hier verständlich ist, da der Begriff "Sparsity" in diesem Zusammenhang schwer klar zu definieren ist.
Im Sinne des
sparse
Arguments zuremoveSparseTerms()
bezieht sich Sparsity auf den Schwellenwert der relativen Dokumenthäufigkeit für einen Begriff, oberhalb dessen der Begriff entfernt wird. Relative Dokumenthäufigkeit bedeutet hier einen Anteil. Wie auf der Hilfeseite für den Befehl angegeben (wenn auch nicht sehr deutlich), ist die Sparsity kleiner, wenn sie sich 1.0 nähert. (Beachten Sie, dass die Sparsity keine Werte von 0 oder 1,0 annehmen kann, sondern nur Werte dazwischen.)So Ihre Interpretation richtig ist, dassj dfj> N.∗ ( 1 - 0,99 ) N.
sparse = 0.99
nur Begriffe entfernen, die mehr als 0,99 spärlich. Die genaue Interpretation fürsparse = 0.99
ist, dass Sie für den Begriff alle Begriffe behalten, für die , wobei die Anzahl der Dokumente ist - in diesem Fall werden wahrscheinlich alle Begriffe beibehalten (siehe Beispiel unten). .In der Nähe des anderen Extrems werden
sparse = .01
nur Begriffe beibehalten, die in (fast) jedem Dokument vorkommen. (Dies hängt natürlich von der Anzahl der Begriffe und der Anzahl der Dokumente ab. In der natürlichen Sprache kommen häufig verwendete Wörter wie "the" in jedem Dokument vor und sind daher niemals "spärlich".)Ein Beispiel für die Sparsity-Schwelle von 0,99, wobei ein Begriff höchstens in (erstes Beispiel) weniger als 0,01 Dokumenten und (zweites Beispiel) etwas mehr als 0,01 Dokumenten vorkommt:
Hier sind einige zusätzliche Beispiele mit aktuellem Text und Begriffen:
Im letzten Beispiel mit
sparse = 0.34
wurden nur Begriffe beibehalten, die in zwei Dritteln der Dokumente vorkommen.Ein alternativer Ansatz zum Trimmen von Begriffen aus Dokumenttermmatrizen basierend auf einer Dokumenthäufigkeit ist das Textanalysepaket quanteda . Die gleiche Funktionalität bezieht sich hier nicht auf die Sparsity , sondern direkt auf die Dokumenthäufigkeit von Begriffen (wie in tf-idf ).
Diese Verwendung scheint mir viel einfacher zu sein.
quelle