Dokumenttermmatris - Document-term matrix

En dokumenttermmatris är en matematisk matris som beskriver frekvensen av termer som förekommer i en samling dokument. I en dokumenttermmatris motsvarar rader dokument i samlingen och kolumner motsvarar termer. Denna matris är en specifik instans av en dokumentfunktionsmatris där "funktioner" kan hänvisa till andra egenskaper hos ett dokument förutom termer. Det är också vanligt att möta transponerings- eller term-dokumentmatrisen där dokument är kolumnerna och termerna är raderna. De är användbara inom bearbetning av naturligt språk och beräknande textanalys .

Även om värdet på cellerna vanligtvis är råräkningen för en given term, finns det olika scheman för viktning av råtalen, såsom radnormalisering (dvs. relativ frekvens/proportioner) och tf-idf .

Termer är vanligtvis enstaka ord åtskilda av blanksteg eller skiljetecken på båda sidor (aka unigram). I ett sådant fall kallas detta också för "påse med ord" -representation eftersom antalet enskilda ord bibehålls, men inte ordens ordning i dokumentet.

Allmänt koncept

När du skapar en datamängde av termer som visas i en korpus av dokument innehåller dokumenttermmatrisen rader som motsvarar de dokument och kolumner som motsvarar termerna. Varje ij -cell är alltså antalet gånger ordet j förekommer i dokument i . Som sådan är varje rad en vektor av termräkningar som representerar innehållet i dokumentet som motsvarar den raden. Till exempel om en har följande två (korta) dokument:

  • D1 = "Jag gillar databaser"
  • D2 = "Jag ogillar databaser",

då skulle dokumenttermmatrisen vara:

I tycka om motvilja databaser
D1 1 1 0 1
D2 1 0 1 1

som visar vilka dokument som innehåller vilka termer och hur många gånger de visas. Observera att, till skillnad från att representera ett dokument som bara en token-count-lista, innehåller dokumenttermmatrisen alla termer i corpus (dvs corpus-ordförrådet), varför det finns nollräkningar för termer i corpus som inte också förekommer i ett specifikt dokument.

Som ett resultat av maktlagsfördelningen av tokens i nästan varje korpus (se Zipfs lag ) är det vanligt att väga räkningarna. Detta kan vara så enkelt som att dela räkningar med det totala antalet tokens i ett dokument (kallas relativ frekvens eller proportioner), dividera med maxfrekvensen i varje dokument (kallas prop max) eller ta loggen över frekvenser (kallad log count) . Om man vill väga de ord som är mest unika för ett enskilt dokument jämfört med korpus som helhet är det vanligt att man använder tf-idf , som dividerar termfrekvensen med termens dokumentfrekvens.

Konceptets historia

Dokumenttermmatrisen uppstod under de tidigaste åren av datorisering av text. Den ökande kapaciteten för lagring av dokument skapade problemet med att hämta ett givet dokument på ett effektivt sätt. Medan arbetet med att klassificera och indexera tidigare utfördes för hand, undersökte forskarna möjligheten att göra detta automatiskt med hjälp av ordfrekvensinformation.

En av de första publicerade dokumenttermmatriserna var i Harold Borkos artikel från 1962 "Konstruktionen av ett empiriskt baserat matematiskt härledt klassificeringssystem" (sidan 282, se även hans artikel från 1965). Borko refererar till två datorprogram, "FEAT" som stod för "Frequency of Every Allowable Term", skriven av John C. Olney från System Development Corporation och Descriptor Word Index Program, skriven av Eileen Stone också från System Development Corporation:

Efter att ha valt de dokument som skulle utgöra experimentbiblioteket, bestod nästa steg av att knapptrycka hela texten som förberedde datorbearbetning. Programmet som användes för denna analys var FEAT (Frequency of Every Allowable Term). den skrevs av John C. Olney från System Development Corporation och är utformad för att utföra frekvens- och sammanfattningsräkningar av enskilda ord och ordpar. Utmatningen av detta program är en alfabetisk lista, efter förekomstfrekvens, av alla ordtyper som förekom i texten. Vissa funktionsord som och, at, a, etc. placerades i en tabell med "förbjuden ordlista" och frekvensen av dessa ord spelades in i en separat lista ... Ett speciellt datorprogram, kallat Descriptor Word Index Program, skrevs för att tillhandahålla denna information och för att förbereda en dokumenttermmatris i en form som är lämplig för in-put till faktoranalysprogrammet. Descriptor Word Index -programmet utarbetades av Eileen Stone från System Development Corporation.

Kort därefter publicerade Gerard Salton "Några hierarkiska modeller för automatisk dokumenthämtning" 1963 som också inkluderade en visuell skildring av en dokumenttermmatris. Salton var vid Harvard University vid den tiden och hans arbete fick stöd av Air Force Cambridge Research Laboratories och Sylvania Electric Products, Inc. I detta dokument introducerar Salton dokumentterm-matrisen i jämförelse med en slags term-kontextmatris som används för att mäta likheter mellan ord:

Om det är önskvärt att generera dokumentassociationer eller dokumentkluster istället för ordassociationer kan samma procedurer användas med små modifieringar. Istället för att börja med en ord-meningsmatris C , ... är det nu bekvämt att konstruera en ord-dokumentmatris F, som anger frekvensen för förekomst av ord W i i dokument D j ... Dokumentlikheter kan nu beräknas som tidigare genom att jämföra par med rader och genom att erhålla likhetskoefficienter baserat på frekvensen av förekomster av innehållsorden som ingår i det givna dokumentet. Denna procedur producerar en dokument-dokument likhetsmatris som i sin tur kan användas för att skapa dokumentkluster ...

Förutom Borko och Salton, publicerade FW Lancaster 1964 en omfattande översyn av automatiserad indexering och hämtning. Medan arbetet publicerades medan han arbetade på Herner and Company i Washington DC, skrevs tidningen medan han var "anställd i forskningsarbete på Aslib, på Aslib Cranfield Project." Lancaster krediterar Borko med dokumenttermmatrisen:

Harold Borko, från System Development Corporation, har tagit denna operation lite längre. En betydande grupp ledtrådar väljs ur ordförrådet i en experimentell samling. Dessa är arrangerade i en dokument-/termmatris för att visa förekomsten av varje term i varje dokument .... En korrelationskoefficient för varje ordpar beräknas sedan, baserat på deras co-förekomst i dokumentuppsättningen. Den resulterande term/termmatrisen ... analyseras sedan faktor och en rad faktorer isoleras. Dessa faktorer, när de tolkas och namnges på grundval av de termer med höga belastningar som förekommer i var och en av faktorerna, blir klasserna i en empirisk klassificering. Termerna med hög belastning i varje faktor är ledtrådarna eller förutsägelserna för kategorierna.

Val av termer

En synvinkel på matrisen är att varje rad representerar ett dokument. I den vektorsemantiska modellen , som normalt är den som används för att beräkna en dokumenttermmatris, är målet att representera ett dokuments ämne med frekvensen av semantiskt signifikanta termer. Termerna är semantiska enheter i dokumenten. Det antas ofta, för indoeuropeiska språk , att substantiv, verb och adjektiv är de viktigaste kategorierna och att ord från dessa kategorier bör behållas som termer. Att lägga till samlokalisering som termer förbättrar vektornas kvalitet, särskilt när man beräknar likheter mellan dokument.

Ansökningar

Förbättra sökresultat

Latent semantisk analys (LSA, utförande av singular-value-sönderdelning på dokumenttermmatrisen) kan förbättra sökresultaten genom att disambiguera polysemiska ord och söka efter synonymer till frågan. Att söka i det högdimensionella kontinuerliga utrymmet är dock mycket långsammare än att söka i standardmässiga tre datastrukturer för sökmotorer.

Hitta ämnen

Multivariat analys av dokumenttermmatrisen kan avslöja ämnen/teman i korpusen. Specifikt kan latent semantisk analys och dataklustering användas, och på senare tid har probabilistisk latent semantisk analys med dess generalisering Latent Dirichlet-tilldelning och icke-negativ matrisfaktorisering visat sig fungera bra för denna uppgift.

Se även

Implementeringar

  • Gensim : Python -ramverk med öppen källkod för Vector Space -modellering. Innehåller minnseffektiva algoritmer för att konstruera term-dokumentmatriser från text plus vanliga transformationer ( tf-idf , LSA , LDA ).

Referenser