Visar inlägg med etikett Dependency grammar. Visa alla inlägg
Visar inlägg med etikett Dependency grammar. Visa alla inlägg

Dependency parsers: Vad är lockelsen med dependency mellan orden istället för fraser?

2015-02-18

Ett till ex. och från Sverige (jag läste den inte) men i övrigt känner jag till två eller tre dependency parsers mer välkänd alla mellan orden:



Och liksom ovan som jag såg i bilden direkt.


De är omåttligt populära bland medicinska forskare (relativt antalet som gör studier nära lingivstik) ty för sådana domäner gynnas välkända koncept lätta att komma igång med vilket jag tror en av dessa är (inriktad om jag minns rätt för att vara enkel utan att behöva kunna parser-teori för att använda parsern).


Men stora värden finns med all teori, grammatiska regler, mönster vid analys, extraktion m.m. från fraser. Så vad man vill ha är fraser men med dependencies som man får ut argument m.m. smidigare:




Och som bonus blir delar av den statistiska analysen jag använder parsningen till smidigare. Bl.a. kan jag ta ut en mängd möjliga ngram implicita (indikerande delar av meningen, liknande kategorier m.m.) såväl som statistiskt rovärdiga flergram samt komplettera för delar av istället den semantiska analysen utnyttja frasen för särskilt NP med kännedom DT (som the m.m.), sättande in singular o.s.v. Mycket enklare med fraser särskilt NP-fraser som har så pass tydlig struktur.


Dependency parsers för fraser sägs vara svårt - av en del menat lätt omöjligt - men självklart om en dependency parser arbetande på ord beskriver samma språk kan vi lika gärna göra det för fraser. I annat fall finns ju inga gemensamma samband för dem. Head driven parser - liksom root theory - teori går att återanvända här.


Annars hade man förstås kunnat göra ett tjusigt träd - kanske att rita upp med många färger - och spara ned för ännu mer tidsödande parsning när man ska återanvända analysen. Här är fördelen är jag intresserad av ett koncept kan jag gå in direkt på det och därifrån ta ut beroenden medan vi för trädstrukturer mer sannolikt (som de regelmässigt alltid görs) måste arbeta ut en massa från det parsande trädet. Och varför ens skapa det om man inte ska återanvända det? Sedan är de förstås bara att skapa om man behöver dem här också och ids skriva koden.


Och jag vet ty jag har parsat annoterade parser träd: Det är inte en sund sak att gör. Och är inte trevligt ens med en chunker och utan chunker tror jag man får med sig mer data än vad som gör något bra om datat nu ska användas till något seriöst krävande lite data likt selectional restrictions. Men så klart en liten chunker som parsar ut det använda bara från parser-träd är vad man kan ha nytta av igen. Men det är inte helt vanliga personer som skulle tycka utvecklande av sådant annat än tvingat som en bra sak att höra eller medverka till det varande nödvändigt - och jag har lite att jämförande havande skrivit en myckenhet "små-mini-parsers" av throw-away typ för att plocka ut annat data av varierade format ofta också skrivit i små på pappret eleganta dataformat likt owl, xml, html o.s.v. Tillochmed när mängden filer är små - snarare än att spindlande webben - är memcopy eller i Perl substr nära nog alltid snabbare för mig. Har man behövt göra det någon gånger prövar man inte ens att starta upp en xml- eller html-parser.

Google googlar med Google-NGRAM: Antalet indexerade sidor fel

2013-02-10

Vågar vi spekulera att Google's index nu är mer beroende av sista versionen av Google NGRAM? Denna hade ju part-of-speech med adjektiv, subjektiv, verb m.m. utmärkta. Själv har jag tråkigt nog inte mäktat att få den nedladdad (mycket annat tas ju nuer kontinuerligt och pos har gjort stort till ganska stort om än inte gigantiskt - och big data blir det först med P ( A | B ) över långa relationer för olika expertområden d.v.s. ex. om Google för varje ngram beräknar frekvensen de förekommer med tillsammans med varje annat i resp. bok) - Google skickar mig nog en USB eller liknande med alla Google NGRAM filer för att jag skrivit om det antagna felet här (annars kan ju folk få för sig att de börjar bli veka och rädda för konkurrenter och smyger med varje små-saker som kanske inte är 100% rätt så att inte Bing ska hoppa på dom).


Tittar vi på träffarna Google gav mig för dessa fyra sökord noterar vi att den längsta termen ger oss flest träffar:


“the man” = 581,000,000
“old man” = 259,000,000
“the old” = 879,000,000
“the old man” = 997,000,000


En orsak kan vara att Google skurit citationstecknen utan att meddela. Google vill allt oftare kanske sista året gärna ta bort det, och sällan eller aldrig med vad jag upplevt har någon fördel. Ett exempel är sökrutan där om jag har ett initialt citationstecken och väljer att gå vidare med nästa ord i förslagen i markov-ledjan kstar Google bort mitt citationstecken som jag behöver lägga till. Kanske är det så att Google snabb-parsar sidor helt utan the m.m.? Kanske fungerar bra för det mesta utom vad man särskilt kanske gör det för.


Emellertid skär vi citationstecknen får vi:


old man = 2,380,000,000
the old man = 2,510,000,000
the man = 4,850,000,000
the old = 9,900,000,000


D.v.s. förklaringen tycks inte ligga i att Google skurit citationstecken."


En förklaring skulle dock kunna ligga i hur Google parsar med hjälp av nya Google Ngram (se också för en längre introduktion till Google NGRAM) Notera först att vi får ca 840 M i summa när vi adderar “the man” + “old man”.


Jämför gär a ex. med hur jag ser på NP konvergens i drifting thoughts där aktiviteten för NP konvergen till motsvarande en neuron här för the old man men konvergensen styrs av föregående, eller kanske enklare dependency grammar där the och old kommer peka på man. Dom relationerna kan vi ju förslagsvis bestämma statistiskt med just P ( A | B ).


Men om vi inte parsar på det sättet kan det ju ligga nära till hands att se att "the old" hamnar högre i frekvens än "old man" och därmed bli benägen att välja "the old" som en fras och "man" som en fras efteråt trts att det verkligen inte blir riktigt rätt här. Problematiken var generellt var vad Lauer pekade på i samband med att introducerade sin dependency parser: Corpus Statistics Meet the Noun Compound.


Mannings (s. 429) menar dock att det inte behöver vara ett argument mot träd-grammatik (vilket jag avstår att bedöma då jag inte använder dem) utan att problemet går att komma ifrån där också om representerar trädet genom att också markera varje NP och där utgå från dom noder som kommer närmast åt egentligen rätt håll.


Antar vi att vi gissar rätt ligger det kanske nära tillhands att tro att Google antingen skulle ha dels en 2gram representation och en 1gram på den. Men jag skulle gissa mer på att det är något med taggningen i den senaste Google NGRAM som gör att man kanske hamnar i sådana här preferenser lite varstans. Oavsett om det är relaterat det datat eller annat har jag en känsla av det kanske är relaterat till diverse småsaker jag upplever mig störas av hur Google ibland ger sökordsförslag med en irritation ny sedan ett tag nu.


Med stor glädje och förhoppning om att detta är ett exempel med en mängd liknande större problem för mer ovanliga ngram av dom sorter man i brist på andra corpus tenderar att använda sociala media, webben, specialiserade sökmotor (jag hade stor nytta av att spindla ner MIL (finansierar mycket forskning och publicerar många av artiklarna i egna register som finns på webben: bra corpus för hard science medan computer science inte adderar något jämförbart med Citeseerx) och utnyttja deras sökfunktioner men det tycks ha stängts ner nu i den mening att förfrågningarna last-delas ner till långsammare tid så nästa gång blir det att tröskla deras PDF-filer lokalt istället) givet att det knappast lär störa sökresultatet eller informationssökare, men däremot alla veta och rika företag och universitet som betalar för att göra annat än få sökmotorförfrågningar (2010 tror jag att jag prövade det sist och om jag minns rätt bottnade fria förfrågningar ut redan efter kanske 10000 förfrågningar vilket verkligen är ingenting). Har det inte ändrats känns det bra med lite sunda utmaningar. Får folk vana i att ta data från en källa sitter det hårt och det byts ogärna på tio till 20 andra.


Google ska förövrigt noteras ha värde framför Bing rörande detta och värde av den sort vi gärna vill se i verktyg som används i skolan. Google via API:erna jag noterade förr, resp. också numera av och till när jag söker normalt men utesluter domäner från sökresultaten (d.v.s. vad som tänkbart kan göra att man kan plocka ut relativa potens-skillnader mellan sajter läckande mer än nödvändigt) kommunicerar Google det tydligt genom att fråga om jag är människa. Det irriterar mig men jag får inte förfalskad information tillbaka. Förfalskad information besvärar inte mig i något relaterat detta eftersom det detekteras utan problem men det är mycket problematiskt genom att det indikerar att man saknar design rules för quality assurance and true moral commit. för sådana här tjänster får man givetvis aldrig ge korrupt information ut. Särskilt inte om man inte sunt kan separera det till IP utan det går bredare ut över många motsvarande IP-rymder hos ISP:er.


Bing är också tråkig i att Microsoft uppenbart har information och statistik nog för att göra något vettigt av den men ändå tycks det aldrig bli av. Om något känns det lite som att de kanske har ett problematiskt fokus på kunskapskoncept som var och fortfarande är viktiga i Word m.fl. liknande produkter men inte alls är vad som just adderar något bra för att generera sunda sökresultat. Faktiskt är det inte svårt att med information Microsoft exporterar räkna om deras SERP:ar med spam-sajterna nerskjutna och bättre överensstämmelse med vad man faktiskt söker efter utan att behöva utnyttja trust-indikationer domän, inlänkar eller annat.