Come misurare la dispersione nei dati sulla frequenza delle parole?


10

Come posso quantificare la quantità di dispersione in un vettore di conteggi di parole? Sto cercando una statistica che sarà alta per il documento A, perché contiene molte parole diverse che si verificano raramente e bassa per il documento B, perché contiene una parola (o poche parole) che si presentano spesso.

Più in generale, come si misura la dispersione o "diffusione" nei dati nominali?

Esiste un modo standard per farlo nella comunità di analisi del testo?

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Risposte:


10

pipia[ln(1/pi)]b

  1. a=0,b=0

  2. a=2,b=01pi21/pi2k1/kpi2=k(1/k)2=1/kk

  3. a=1,b=1Hexp(H)kH=k(1/k)ln[1/(1/k)]=lnkexp(H)=exp(lnk)k

La formulazione si trova in IJ Good. 1953. Frequenze della popolazione delle specie e stima dei parametri della popolazione. Biometrika 40: 237-264. www.jstor.org/stable/2333344 .

Altre basi per il logaritmo (ad es. 10 o 2) sono ugualmente possibili secondo il gusto o il precedente o la convenienza, con semplici variazioni implicite per alcune formule sopra.

Riscoperte indipendenti (o reinvenzioni) della seconda misura sono molteplici in diverse discipline e i nomi sopra sono lontani da un elenco completo.

Mettere insieme misure comuni in una famiglia non è solo matematicamente attraente. Sottolinea che esiste una scelta di misura che dipende dai pesi relativi applicati agli oggetti scarsi e comuni, e quindi riduce qualsiasi impressione di adocking creata da una piccola profusione di proposte apparentemente arbitrarie. La letteratura in alcuni campi è indebolita da articoli e persino libri basati su pretese pretese che una misura favorita dall'autore o dagli autori sia la misura migliore che tutti dovrebbero usare.

I miei calcoli indicano che gli esempi A e B non sono così diversi se non sulla prima misura:

----------------------------------------------------------------------
          |  Shannon H      exp(H)     Simpson   1/Simpson      #items
----------+-----------------------------------------------------------
        A |      0.656       1.927       0.643       1.556          14
        B |      0.684       1.981       0.630       1.588           9 
----------------------------------------------------------------------

(Alcuni potrebbero essere interessati a notare che il Simpson qui chiamato (Edward Hugh Simpson, 1922-) è lo stesso di quello onorato dal nome del paradosso di Simpson. Ha fatto un lavoro eccellente, ma non è stato il primo a scoprire nessuna delle due cose per cui prende il nome, che a sua volta è il paradosso di Stigler, che a sua volta ....)


Questa è una risposta brillante (e molto più facile da seguire rispetto al Good paper del 1953;)). Grazie!
dB "

7

Non so se esiste un modo comune di farlo, ma questo mi sembra analogo alle domande sulla disuguaglianza in economia. Se trattate ogni parola come un individuo e il loro conteggio è paragonabile al reddito, siete interessati a confrontare dove si trova il sacco di parole tra gli estremi di ogni parola con lo stesso conteggio (uguaglianza completa) o una parola con tutti i conteggi e tutti gli altri zero. La complicazione è che gli "zeri" non si presentano, non puoi avere meno di un conteggio di 1 in un sacco di parole come di solito definito ...

Il coefficiente di Gini di A è 0,18 e di B è 0,43, il che dimostra che A è più "uguale" di B.

library(ineq)

A <- c(3, 2, 2, rep(1, 11))
B <- c(9, 2, rep(1, 7))
Gini(A)
Gini(B)

Sono interessato anche a qualsiasi altra risposta. Ovviamente anche la vecchia varianza dei conteggi sarebbe un punto di partenza, ma dovresti ridimensionarlo in qualche modo per renderlo comparabile per borse di diverse dimensioni e quindi conteggi medi diversi per parola.


Buona chiamata - anche il coefficiente Gini è stato il mio primo pensiero! Cercando su Google Scholar, però, non sono riuscito a trovare molti precedenti per usarlo con i dati di testo. Mi chiedo se la comunità di recupero dati NLP / testo abbia una misura più standard per questo genere di cose ...
dB

Attenzione: dal mio conte Gini è stato dato come nome ad almeno tre diverse misure. La storia è difendibile in ogni caso, ma le persone devono vedere la formula utilizzata.
Nick Cox,

1
Buon punto @NickCox - Stavo pensando a questo, come usato per la disuguaglianza, che penso sia l'uso più comune: ellisp.github.io/blog/2017/08/05/weighted-gini Ho visto diversi metodi di stimandolo / calcolandolo, ma tutti con la stessa definizione di base, in questo contesto. So machine learning gente lo usano per qualcosa di diverso, ma non ho visto la loro scusa ...
Peter Ellis

1
@dB 'Ho trovato questo documento sull'uso di Gini in un'applicazione di testo: procedimento.mlr.press/v10/sanasam10a/sanasam10a.pdf (preferisco questa risposta a quella accettata, semplicemente perché fa il miglior lavoro nel distinguere la tua A e B!)
Darren Cook,

5

Questo articolo presenta una revisione delle misure standard di dispersione utilizzate dai linguisti. Sono elencati come misure di dispersione di una sola parola (misurano la dispersione di parole attraverso sezioni, pagine ecc.) Ma potrebbero essere plausibilmente utilizzate come misure di dispersione di frequenza di parole. Quelli statistici standard sembrano essere:

  1. max-min
  2. deviazione standard
  3. CV
  4. χ2

I classici sono:

  1. D=1CVn1
  2. S=N(i=1nni)2n
  3. D2=(log2Ni=1nnilog2niN)/log2(n)
  4. D3=1χ24N

Nnni

Il testo menziona anche altre due misure di dispersione, ma si basano sul posizionamento spaziale delle parole, quindi questo non è applicabile al modello di borsa di parole.

  • Nota : ho modificato la notazione originale dall'articolo, per rendere le formule più coerenti con la notazione standard.

fxi

vi

1
Perché le equazioni dalla sorgente non vengono copiate esattamente (non è solo un cambiamento di etichette nelle espressioni ma anche un cambiamento dell'espressione, o almeno non un cambiamento coerente delle etichette / variabili)?
Sisto Empirico

@NickCox Grazie per averlo colto, ho corretto le formule per includere solo quantità definite.
Chris Novak,

@MartijnWeterings Hai ragione nel dire che in origine l'articolo trattava le metriche di dispersione di una sola parola, sebbene sembrino generalizzare banalmente alla frequenza delle parole. Nel caso in cui ho incluso tali informazioni nella risposta. Ho modificato la notazione originale per renderli applicabili al modello bag di word (sostituendo f con N e v_i con n_i). Ho aggiunto una nota per significare questo, ma se pensi che sia ancora fuorviante, posso fornire una giustificazione più lunga nella risposta.
Chris Novak,

4

Il primo che vorrei fare è calcolare l'entropia di Shannon. È possibile utilizzare il pacchetto R infotheo, funzione entropy(X, method="emp"). Se lo avvolgi natstobits(H), otterrai l'entropia di questa fonte in bit.


3

p(p1,...,pn)

H¯(p)pilnpilnn.

Questa è una misura in scala con intervallo con valori estremi che si verificano agli estremi dell'uguaglianza o della disuguaglianza. L'entropia di Shannon è una misura di informazioni e la versione in scala consente il confronto tra casi con diversi numeri di categorie.0H¯(p)1

  • Disuguaglianza estrema: tutto il conteggio rientra in una categoria . In questo caso abbiamo e questo ci dà .kˉ H ( p ) = 0pi=I(i=k)H¯(p)=0

  • Parità estrema: tutti i conteggi sono uguali in tutte le categorie. In questo caso abbiamo e questo ci dà .ˉ H ( p ) = 1pi=1/nH¯(p)=1

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.