Ny Google Ngram annoterad: Klassbaserad prediktion i n-gram tycks möjlig

2012-10-24
När jag behövde ersätta 2-gram filer jag råkat radera idag såg jag att Google Ngram uppdaterats. Dels har av allt att döma mängden data om ngram co-occurance (viss risk att jag bedömde fel från antal och storlek givet övriga uppdateringar) men viktigare finns nu information om de viktigaste ordklasserna (ex. markörer för adjektiv och verb).

Den fördel jag ser (egentligen den enda jag ser för egen del och gissar för de flesta om metoden är mer allmän känd) är att det går att förbättra prediktion i ngram-modell ganska tydligt samtidigt som problematik med att vissa co-occurance kombinationer saknas lättare kan hanteras.

Tänker vi oss enklaste möjliga n-gram modell predikterar vi nästa ord från föregåendes "sannolikhet" och jag sätter citationstecken därför att det mindre är sannolikhet och mer en ganska dålig approximation via ett s.k. Markov-antagande.

För ngram-modeller som gör prediktioner som bygger på fler ord bakåt blir det ganska snabbt bättre. Ofta uppges att förbättringen når "praktiskt" bästa värde vid 5-grammen varefter värdet föga ökar medan givetvis minnes- och beräkningskostnad ökar desto mer för varje steg. Det gäller vanliga ngram-modeller men med varianter går det visst att nå bättre resultat med mer data än 5-gram beroende på vad du vill göra. För att bara prediktera orden framför räcker det dock säkert utmärkt medan andra slutsatser vinner på mer data bakåt.

Kan vi öka värdet av prediktionen från n-gram modell som bygger på n stycken ord bakåt genom att utnyttja statistik rörande sambanden ex. mellan ordklasser som adjektiv och verb vinner vi normalt alltid på det rätt gjort därför att medan vi expanderar antalet ord bakåt vi använder ökar beräknings- och minneskostnad ordentligt i varje steg medan semantiskt information fint går att lägga med en "linjär-kostnad" billigare (detta är dock något beroende av hur tillämpningen exakt är rörande vad som är möjligt där tillämpningar för mig mindre har att göra med språkrader och mer grupper av aktiverade koncept relaterade med varandra i komplexa grafer).

Förutsättningen för att det ska vara meningsfullt är så klart att bra algoritmer med faktiskt värde utan att vara plågsamt slöa. IBM publicerade några stycken tidigt (någon gång under 1990-talet) och även om jag är säker på att många varianter publicerats - och inte otroligt bättre - tror jag att för normala applikationer ger de ungefär det värde man rimligt kan förvänta sig.

Utan hänsyn till kunskap från ordklassen skulle enklaste tänkbara n-gram modell prediktera med approximationen:

    P ( nästa ord vi söker GIVET alla föregående ord i texten ) = P ( nästa ord vi söker GIVET föregående ord )

När vi lägger till kunskap om ordklassen är enklaste tänkbara modell under Markov-antagande som både utnyttjar föregående ord och en viss ordklass:

    P ( nästa ord vi söker GIVET alla föregående ord i texten ) = P ( ordklass för ordet vi söker GIVET ordklass för föregående ord) * P ( ordet vi söker GIVET ordklass )

Jag tror varianten ovan stämmer med hur IBM uttryckte den ena av modellerna. Praktiskt är just denna man kanske hellre inte väljer. Den gör en del antagande rörande antalet ordklasser eller kategorier vi anser möjliga för ordet som sällan är enkla att få att fungera. Tänker och minns jag rätt hamnar man i att man bäst behöver ha en kategori per ord.

Den andra varianten är bättre och har kanske mindre kända värden för situationer där vi gör operationer vi kan jämföra med översättning. Tänkbart relevant för att ta dokument, nyheter, webbsidor, databas-information m.m. för att sammanfatta ner till ett meta-språk för vidare analys eller för att skapa en behändig sammanfattning till sökresultat eller annat (samma forskare vid IBM har förövrigt publicerat en del om översättning men minns jag rätt rörande andra algoritmer).

Ett värde troligt intressantare för fler är att det är möjligt att hantera brist på statistik om sam-förekomst på ett till sätt. Oavsett hur mycket testdata man samlar på sig är det aldrig nog. Laplace-smoothing, Good turing m.m. är ju vad många använder men har begränsningar och i vissa applikationer där fel just nära noll får stort avtryck olämpliga (kanske är rent av att kasta situationer där avsaknaden av datat inträffar att föredra för att hämta ett nytt sample hellre än att riskera modellernas korrekthet för vad som är mycket troligare). Genom att utnyttja markeringarna för ordklasser för att skapa kluster passande vad vi vill ha ngram-modellen till (själv skulle jag tänkbart ex. acceptera taggen för verb varande ett verb och sedan ta ut dess subklass för att beräkna dess nivå i concretness och abstract, och göra en liknande operation med adjektiv, men ev. strunta i resten).

En till möjlighet är att utnyttja att Google Ngram just sträcker sig långt tillbaka i tiden rörande indata och innehåller en försvarlig andel felstavningar genom att utnyttja ordklasserna tillsammans med annan statistik och så långt det går givetvis ev. strikt kunskap man har för att samla ord med likartad betydelse oavsett stavfel eller genom åren ändrad stavning i kluster för att därigenom hantera ex. ovanliga felstavningar. Det senare är mindre intressant för mig men troligt en bra möjlighet för många applikationer och IT-system som behöver hantera varierat språk som kommer in.

Vidare är det lättare att ta ngram-statistiken för engelskan och kombinera ex. med den för japanska för att i mötet ta ut mer kunskap om orden. Det är dock troligt enklare med ev. också större värde att göra via enklare vägar som Wikipedia. Men det är möjligt via varianter här också.

Möjlighet för studenter som vill komma före i karriären


Oavsett copyright hade jag för det här datat gärna sett en rimligt prissatt kommersiell lösning innebärande att någon annan sparar ner alla filerna, med alla artiklar, och allt annat intressant på en lite mobil-hårddisk som sedan kom hemskickad. Det är tidsödande att ladda ner och sedan ska det packas upp och extraheras till internt-format. Och sedan i värsta fall upptäcker man att en fil råkat komma två gånger utan feldetektion och så får man börja om med extraktionen.

Däremot ett passande projekt för t.ex. en datastudent för att få erfarenhet av att arbeta mot kravspecifikation av datarepresentation (den verklighetsförankring arbetsgivare alltid tittar efter). Dessutom är det big data... Det enda inom data som är manligt.

Jag skulle här rent av om tjänsten kommer med bevakning av nya uppdateringar förutom 500 - 1500 kr mobil-hårddisk kunna tänka mig en ersättning av rent av 200 kr + porta (eller kostnad bussbiljett för hit-resan) vilket verkligen är mer än vad det bör ta i tid för någon yngre och mindre disträ än vad jag är. En verkligt fin möjlighet både för att tjäna extra pengar och bygga upp ett kraftfullt CV redan innan universitet är klart!

Inför presidentvalet: Starkare krafter än musik sätter lyriken i brand

Kanske kan vi se på mötet mellan musik och lyrik som att musiken höjer emotionell potens där lyrik vi annars troligen inte hade lyssnat på nu databehandlas adderande värde till musiken. Och tas emot i en värld där där ovanligt emotionellt laddade symboler inte bara kan tas med i hög och varierad densitet utan ofta upprepats gång på gång.

Utan musik krävs verkligen att motivation byggs upp från annan kraft om "lyriken" rör annat än konkret nära vårt eget liv. Du kan prata ofta och regelbundet med en gammal vän även om de upprepar sig (lite som musik-lyrikens verser) men det är mindre troligt att du tycker att det är annat än fel att du skulle lyssna på en kommunpolitiker som vecka efter vecka säger samma sak.

För det kommande presidentval gäller att motivation finns och många som sällan annars följer politiska debatter att låta hjärnan databehandla debatt-lyriken: Nu blir [Red. av Hans nu efter uppföljning mätningar: blev] Romney omtyckt: Obama-operation gick fel.

Det är kanske ett dåligt tankeexperiment att för ett tag välja att betrakta politisk-debatt från detta perspektiv.

Idéen att män mer sannolikt skriver poesi utan tidigare intresse relaterat kvinnor är inte otroligt. Där adderar den romantiska möjligheten motivation till insatsen och kan inducera motsvarande tyngd musiken ger hos kvinnan. Lika lite som sånglyrik krävs något högre konstnärligt värde där lyriken bärs upp av underliggande bärande kraft.



"Sweat baby sweat baby sex is a Texas drought
Me and you do the kind of stuff that only Prince would sing about
So put your hands down my pants and I'll bet you'll feel nuts
Yes I'm Siskel, yes I'm Ebert and you're getting two thumbs up"

Common sense: Arkitektur

Det tycktes vara en bra idé att rita allt relaterat till common sense därför att det är lätt att tappa bort subsystem särskilt när man förändrar arkitekturen. Nu fick jag inte rum med annat än huvuddelarna (och av dessa vad som ej är konfigurerbart på avsnitt där det blev trångt på bilden) och får ta och inhandla dom här väldigt stora millimeterpapprena LundeQ säljer i Uppsala.

Jag tar och publicerar skissen jag gjorde i Google Drawings här i väntan på det som uppföljning till Vid medvetande igen och Bing Maps: NASA World Wind förutom OpenStreetMaps.

Vad som konceptuellt skiljer sig mot vad man ofta sätter i shallow resp. deep reasoning är att i min skiss ser vi att det mesta relaterat kategorier, typer, vad saker är o.s.v. räknas som ytlig kunskap. Jag menar att det är korrekt därför att inte göra det är bara att i bästa fall lura sig själv: det är ytlig kunskap. Att en människa eller ett system kan vettigt spekulera om ett ämne, arttyp eller liknande något hör till är inte djup kunskap.

I deep understanding är delen "särskild informationsinhämtning" till sin natur sådan att den inte är helt automatiserad utan där ligger informationsimport som kräver att människan runt system självorganiserar datakod för att få in informationen. Det är vanligen datakällor som importeras en gång eller mer sällan återkommande t.ex. alla nyheter en viss tidning publicerat, alla forskningsrapporter DoD gjort publika o.s.v., extraktion av Wikipedias infoboxar o.s.v. Vad som därefter representeras i intelligensens långtidsminne i någon form.

Statistisk kunskap om olika ämnen är lagd i deep understanding därför att den fodrar logik och samarbete med andra delar som är mer direkt problem och beslutsrelaterat inte nödvändigtvis av samma standardtyp vi har för resonemang kring kategorier med eller utan statistika uppgifter.

Det skulle vara intressant om Deep Learning (DARPA.mil) kom att göra någon liknande skiss över deras antar jag ännu bara planer. Trots allt är det sällan någon försöker göra ett brett system med kreativförståelse och resonemangsförmåga (det definierar i princip betydelsen jag tror man måste lägga i begreppet om man bra ska kunna lösa den typen av problem som ofta nämns och som inte redan är lösta i publicerad forskning hemmahörande i shallow-understanding).

Egentligen mest för karma för förslaget ovan tog jag med i deep understanding delar relaterade till att skapa tracer signaturer mindre beroende av språk i vanlig mening trots att jag ej har dom delarna uppkonfigurerade nu (mer eller mindre slutförda tidigt under sommaren 2010 tror jag men aldrig som aktiva integrerade delar i systemet: minns jag rätt klarar de kulturell-hemvist konfigurerat riktat ex. California hippi (corpus från forskare UCLA m.m. vs Harvard-följt-av-något-komiskt-relaterat också 1960-talet jag ej minns nu där de ju medan Kalifornien i stereotypernas falska värld roade sig med kaktusar och svampar fördjupade sig i planekonomins idé att en byråkratisk-elit - kanske utbildad vid Harvard - med matematisk exakthet kan få ett helt land att fungera bättre än när det självorganiserar sig med hjälp av vanliga inte lika ekonomiskt duktiga människor t.ex. i butiken väljande vara ) men väldigt långsamt samtidigt med övriga signatur-lösningen vilket dock troligare är ett programmeringsproblem). Lite lagom idé-inspiration.

Klicka på bilden för att se den förstorad (helt säkert nödvändigt för nästan alla).