Latent semantisk analys (LSA ) är en naturligt språklig informationsbearbetningsmetod som analyserar förhållandet mellan ett bibliotek av dokument och termerna som finns i dem, och avslöjar karakteristiska faktorer ( ämnen ) som är inneboende i alla dokument och termer.
Metoden för latent semantisk analys är baserad på principerna för faktoranalys , i synnerhet identifieringen av latenta kopplingar mellan de studerade fenomenen eller objekten. Vid klassificering / klustring av dokument används denna metod för att extrahera de kontextberoende betydelserna av lexikaliska objekt med hjälp av statistisk bearbetning av stora textkorpor [1] .
LSA:n patenterades 1988 [2] av Scott Deerwester , Susan Dumais , George Furnas , Richard Harshman , Thomas Landauer , Karen Lochbaum och Lynn Streeter . Inom området för informationssökning kallas detta tillvägagångssätt latent semantisk indexering (LSI) .
För första gången användes LSA för att automatiskt indexera texter, identifiera textens semantiska struktur och erhålla pseudodokument [3] . Sedan användes denna metod ganska framgångsrikt för att representera kunskapsbaser [4] och bygga kognitiva modeller [5] .
På senare år har LSA-metoden ofta använts för informationssökning ( dokumentindexering ), dokumentklassificering [6] , förståelsemodeller [7] och andra områden där det krävs att man identifierar huvudfaktorerna från en rad informationsdata.
LSA kan jämföras med en enkel typ av neurala nätverk som består av tre lager: det första lagret innehåller en uppsättning ord ( termer ), det andra - en viss uppsättning dokument som motsvarar vissa situationer och det tredje, mitten, dolda lagret är en uppsättning noder med olika viktkoefficienter som förbinder det första och andra lagret.
LSA använder en term-till-dokument-matris som indata , som beskriver datamängden som används för att träna systemet. Elementen i denna matris innehåller som regel vikter som tar hänsyn till hur ofta varje term används i varje dokument och termens deltagande i alla dokument ( TF-IDF ). Den vanligaste versionen av LSA är baserad på användningen av Singular Value Decomposition (SVD ). Med hjälp av SVD-nedbrytningen sönderdelas vilken matris som helst i en uppsättning ortogonala matriser, vars linjära kombination är en ganska exakt approximation till den ursprungliga matrisen.
Mer formellt, enligt singularvärdessatsen [9] , kan vilken verklig rektangulär matris som helst delas upp i en produkt av tre matriser:
,
där matriserna och är ortogonala, och är en diagonal matris, vars värden på diagonalen kallas matrisens singularvärden . Bokstaven T i uttrycket betyder transponeringen av matrisen.
En sådan sönderdelning har en anmärkningsvärd egenskap: om bara de största singularvärdena finns kvar i matrisen och endast kolumnerna som motsvarar dessa värden finns kvar i matriserna och då blir produkten av de resulterande matriserna , och den bästa approximationen av den ursprungliga matrisen till rangmatrisen :
,
Huvudidén med latent semantisk analys är att om matrisen av termer-till-dokument användes som en matris , så återspeglar matrisen som bara innehåller de första linjärt oberoende komponenterna huvudstrukturen för olika beroenden som finns i den ursprungliga matrisen. Beroendestrukturen bestäms av termernas viktfunktioner.
Varje term och dokument representeras alltså av vektorer i ett gemensamt dimensionsutrymme (det så kallade hypotesutrymmet). Närheten mellan valfri kombination av termer och/eller dokument beräknas enkelt med hjälp av punktprodukten av vektorer.
Som regel beror valet på uppgiften och väljs empiriskt. Om det valda värdet är för stort, förlorar metoden sin kraft och närmar sig egenskaperna hos standardvektormetoder. Ett för litet värde på k tillåter inte att fånga skillnader mellan liknande termer eller dokument.
Det finns tre huvudtyper av problemlösning med LSA-metoden:
Fördelar med metoden:
Brister:
naturlig språkbehandling | |
---|---|
Allmänna definitioner | |
Textanalys |
|
Refererar |
|
Maskinöversätta |
|
Identifiering och datainsamling | |
Tematisk modell | |
Peer review |
|
Naturligt språkgränssnitt |