Vektorer för n-gram, entiteter och fraser skapade ad-hoc från vektorer ord

2016-09-04

Tidigare publicerat:


kan upplevas skilja ut sig som lite högre värde att läsa än genomsnitt just för den aktuella frågan:



För översikt över området composition sista åren läser vi mest effektivt just Baroni. Frågan är emellertid om inte själva den tillämpningsdomän som ligger kanske närmast till uppenbar gör att man hamnar i fel utgångspunkt till problemet.


Istället för att fråga sig vilken till metod ej redan jämförbar som finns och hur man tränar eller i detalj annan väg skapar den praktisk kanske man kan se fler möjligheter genom att reflektera hur man kombinerar bäst för att optimera mängden information man arbetar upp från text samlat analyserat över tiden:


  • Propagerar och samlar upp värdet ex. frasen som sig bidrar med i form av information.
  • Propagerar värdet av vektor-representationen - kanske en av flera där man egentlig mening propagerar resp. av dessa också - och gärna när kombinerat föregående hjälper dem att uttrycka ut mer av sin information bättre. De tenderar för alla vanliga metoder ha mer värde än normalt praktiskt kommer ut. Om än kanske inte på nivå - eller ens i närheten med - själva bitlängden av av de 399 - 1299 32 eller tror jag säkert ofta 64-bitars flyttal har: 2^(1200 * 64) men för lite perspektiv på vad mer än själva positionen som ryms.

1. Utnyttjandet av endast ett ord ger oss om ingenting mer frekvensen som funktion av tiden och kontext. Praktiskt nog får jag säga att om vår vektor-representationen orden är skapad som typiskt LSA görs och vi i upparbetning skapar upp nya vektorer så att säga (jfr SOM) ger det indirekt högre prioritet på det språk som intresserar oss med mindre prioritet på udda ord vilka ofta tycks för mig både på egen och andras gjorda så här över-värderas. Ty själva tiden arbete på ordets representation oavsett att mer data tillförts ökar. Emedan vanliga men för oss intet-sägande ord tydliggörs allt mer som varande just detta.


2. För en noun-fras sig en entitet på ett eller flera ord även om vi ej antar hantering ordning (ex. som för ngram-modeller utifrån position eller kontext av föregående ord eller mer esoteriskt / nytt via någon av de metoder med utgångspunkt extrahering och komprimering / dim-red. till vektorer som finns) resp. ord givet omedelbart kontext av entitet som n-gram med övriga ord i denna.


3. För relationer mer i mer mening av ontologi / thesaurus eller i dokument från koncept ex. i titel undersida till upparbetat eller skapat kontext från huvudtitel + abstract + taggar (och / eller vanligare men upplever jag för välkända journaler adderande värde men ej lika bra som informationsbehandling titel och abstrakt - dock bättre numera för de flesta journaler avseende taggar) just relationen koncept-2 givet / inom / samtidigt koncept-1


4- Mer konkret relaterat Baroni's ett adjektiv verkande på ett noun kanske vi här frågar oss hur vi tar information effektivt från mest verkningsfulla adjektiv för att samla och bearbeta till vetskap om resp. adjektiv. Vilket kanske visar på andra möjligheter möjligen mer effektiva. Jag har här varit mindre engagerad givet att jag tidigt konstaterade att jag kan använda EMI som viktning av ord (där adjektiv tenderar att mindre ofta ha datakvalitet EMI sämre än en god bit ovanför genomsnittet alla ord, och får erkänna att jag i denna punkt snarare tar befintlig metod ej utnyttjande dessa vektor-representationer som exempel. Viktning emotionell intensitet eller jämförbart mått konceptuellt föga relaterat approximationen av position i det semantiskt illustrerande rummet är också relaterat diskussionen om olika typer av distanser i Ett alternativt förhållande relaterat distans mellan vektorer eller det multi-modala i bild tillsammans med ord (där jag nog tror att vi åren som kommer blir trygga i att vi alltid har en gemensam representation aktiverad där emellertid nivån av bidrag från kärna visuellt eller motsvarande som bara läsande ordet samtidigt kan variera från hur vi tar in konceptet: ex. bild eller ord, såväl som koncept - görande ex. inte bara en bild samtidigt relevant förstärkande utan även ett mer illustrativt visuellt text-språk förstärkande upplevelse såväl som att förståelse bild resp. ord kan störas av dålig information i resp.): Multimodal Distributional Semantics. För resp. ord gäller ju oavsett semantiska vektorer att arketypisk riktnings-mening denna verkar på styrande tolkning mening i övrigt finns: More indikerar mer av mer medan less ligger i motsatt riktning. Viss semantisk interferens är nu emellertid fallet för många adjektiv ej lika "rena" i hur de bidrar till mening som more och less: Kallande nu något känt rött eller något rött i en bild som green:ish kan inducera störande interferens eller alt. vara fullt naturligt om givet kontext över resp. är grön-politik: D.v.s. vi kan även här se en riktning som kan gå positivt eller negativt / Upp eller ner / Mer eller mindre.


Detta besvarar väl i och för sig inte hur man bäst kombinerar ord till ex. noun-fraser eller entiteter. Men jag upplevde att själva processen som sådan rangordnade flera metoder jag prövade.

En till kommentar allmänt för vad jag läst i domänen är att jag tror man ej fullt ser skillnaden i effektens utsträckning mellan de två enklaste operatorerna för kombination: Elementvis addition resp. multiplikation.


Resp. ensam (och oavsett vad som ofta sägs är de var för sig ensamma vad som kräver mer vid sidan om ex. kontext-beroende vikter, kombinationer av olika slag eller något, om ej prestera mycket sämre än vad som är möjligt med den information som konkret finns i vektorerna skapade med de vanligaste systemen: Många jämförelser är uppenbart defunct här) kan man först reflektera och pröva att generera sorterat de mest lika ordvektorerna till de kombinerande vektorerna.


Vilket ger mest relevant additionen möjlighet att grovt kvantifiera utan att behöva ge sig in i direkt ockult matematik varje hederlig kristen man ej ska behöva resp. som förstärks från uppenbar elementvis likhet ( två stora i genomsnitt / L2-normaliserat blir stort ) resp. "hastigheten" över kombinationer av att man smetar ut och medelvärdesbildar meningen till vad när det första ej bra räcker till gör det svårare att se skillnaden i mening.


Klustrar vi förövrigt resp. för entiteter flergram är jag inte främmande för att man tidigare och enklare upplever additionen mer naturlig. Men det tycks också som vi kan beroende på hur vi hanterar multiplikationens parametrar via ex. power kan få ut fler även om de gärna naturligt kommer tendera att bli de smalare eller något av det minsta gemensamma troligare (säg lite överdrivet för flera metoder att skapa vektorerna vi arbetar med: Men om vi säg har också feedback tillbaka från långt borta andra sidan via ex. folding där utsmetning redan sker kanske en bra sak???).


En fråga relaterat själva riktningen föreligger också betraktat elementvis. Egentligen borde jag kanske bäst avstå från resonemanget här. Mycket möjligt att jag tänker fel där flera andra saker inverkar när testar praktiskt. Men säg att vi nu har vektorerna ortogonala över resp. position vektorerna i mening av att man faktiskt effektivt där har en motsvarighet i reducerad korrelation mellan dem (konceptet att de är icke korrelerade stämmer emellertid inte i någon tillämpad mening på NLP: Tvärtom kvantiserbar redan flergram-s entiteter kanske ej orelaterat här). Men detta har nu skett givet antagande och operationer på indatat medan vad vi opererar på tenderar att skilja ut sig. PMI är ej en dålig operation skapande vektorer - eller för den delen andra definitioner av mutual information: Troligen är de alla ungefär det samma - eller för den delen mått som inverse document frequence som vikt skapande vektor-representationer av dokument-fragment (jfr discourse-förändring) upp till hela dokument eller större (jfr information retrieval). Enskilt element utan absolut-belopp mellan säg 0.2 och -0.1 en position får vi position riktning medan vi för multiplikationen hamnar negativt. Differensen till det 0 som när över alla jag ej tryggt ser om man borde praktiskt hantera som definierat konkret 0 eller se odefinierat är ej den samma:


1. Söker vi generera ut närmaste ord-vektorer snarare än vektorer av kombinationer jämförbara i typ (det senare är kritiskt just för multiplikation eftersom magnituden förändras radikalt för varje multiplikation redan elementvis medan det fungerar hyggligt för resp. jämförelser flergram till ord eller ord till flergram representationer: Skapar vi ex. upp representationer från flergram över något ämne får vi om t.ex. topologiskt sorterade SOM ett uttryck av ordets förekomst över de flergram som påverkat skapat av resp. dimensions typiskt närmaste koncept som godtyckliga entiteter och flergram: Jfr mutual i mutual information som påverkat en dimension uttryckande information science såväl som några runt ekonomi via sådant som mutual trust. Men som sagt ej riktigt bra) får vi ta ner magnituden till samma som för orden. Den metod uppenbar för mig för detta (osäker om best practise) är via kombination två ord kvadratroten eller egentligen en konstant a som är något mindre än 0.5 (försöks beräkning av default a för alla kombinationer utan hänsyn resp. ord gav 0.4: Från inlärning av hantering två-gram redan skapande vektorerna vs. skapade ord. Nivån torde motsvara förlusten information via operationerna i worst-case punkterna givet att jag ej vid träningen värderade orden från förekomst globalt corpus utan allt värderades lika). Sign lyfter vi ut så att säga: Sign * ( abs ( x(i) * y (i) )^a ).


2. P.s.s. sätt - eller lite jämförbart i koncept snarare - som att vi i en språkmodell kan skatta sannolikheten av ord A givet ord B med P(A) * P(B) (approximerar P ( A | B ) hanterande dem som oberoende d.v.s. lekande att allt verkligt i språket om sambanden mellan orden ej finns: Allt är en apa som pekar på banan och ev. samband mellan sådant är mätbart bara i så fall flera peka på banan efter varandra) gäller att representation A multiplicerat över vektorn med B vid generering närmast ord-vektorer (givet magnitud hanterat) approximerar de närmaste för två-grammet skapat direkt till vektor-representation (om också korrekt viktade via a eller något specifikt).


3. Medan additionen normaliserar approximerar den gemensamma mängden närmaste koncept genererade följande viktningen av resp. ord och resp. ords uttryck i varje dimension.


Är dimensionerna - positionerna resp. vektor för resp. ord - meningsfulla som för mig kan man också se en del skillnader genom att skära dimensioner / mening man ej är intresserad av. Är vi ej intresserade av mening relaterat länder vi opererar på som har att göra med personer, sociologi m.m. använder vi dem ej - och om vi är relativt mer intresserade av mening relaterat filmindustri resp. litteratur värderar vi upp dem. En ökad förlust i diskriminerbarhet för just särskilt fågram eller ord, och helst då mycket allmänna koncept så som ord med många meningar eller samband blir fallet växande snabbare tycks för mig (men ej noggrant kontrollerat) vid multiplikationen medan vi för additionen kan särskilt när båda är hyggligt breda starta lite grovare men ibland vinna utan särskilt utvalt för orden när vi smalnar av saker. Detta kan dock varierar ordentligt och är också svårt att se eftersom vi redan i ett fåtal dimensioner har ordentligt med information.


Accepterar vi konceptet av representation av koncept från koncept de är relaterade via - ofta i dessa sammanhang från orden i deras närhet corps - kan vi för resp. genererade närmaste förekommande till orden såväl begränsa värden genom att för topp N tro att de gemensamma eller snarare om ej N är litet värderade i kombinationen (rank eller likhet kanske) se dessa som beskrivande det gemensamma konceptet. Vilket absolut inte är dåligt på något sätt. Eller ta konsekvensen av att vi redan där är i en dyr metod vi normalt ej vill göra utan gör något särskilt viktigt och generera resp. ord från genereringen och utifrån lämplig värdering från resp. A och B först till resp. först genererade ord vidare till de från dessa genererade orden värdera de sista. P ( ord typ sist genererat | ord som genererade tillsammans med något kontext kanske bara alla ord eller något som kom med A och B).


Gör vi nu detta för en kombination likt A och B högst verklig och gärna mer än ett tre-gram (ty när orden är fyra eller fler i specialistområden är de väldigt talande med få "noise-problem"). Och är trygg i hur vi exakt gör en generering som ovan. Är det en till väg att resonera och jämföra kombinerande operationer för composition. Genererar de bättre eller sämre från kombinationen? Praktiskt är det kanske enklare när man fortfarande väljer operation om man kan utnyttja vektorerna för orden (men jag tror att det kanske begränsar lite men det är möjligt att sätt att kombinera jag ej fick över enkelt så kanske lätt hittas av någon annan: Jag hade mindre av vetskap algebra återupplivad här och såg därför kritiskt värde av att kunna göra praktiska kontroller verifierande att jag begrep koncepten tillräckligt rätt):


Jag har här ska sägas noterat att för konceptet första lagret jämförbara om än ej exakt det samma (snarare klassificering) sett att man sätter andra kombinerande metoder klassificering som övre gräns men verkligen att man där resonerar felaktigt i beviset för det (genom att tänka sig om jag minns rätt nu att vi ska ta de närmaste grannarna från en fixt-punkt d.v.s. accepterande hela problemet med centroider som gör dem så begränsade medan vi snarare här tar det antal punkter som beskriver flexibelt och när att välja mellan finns godtyckligt beskrivande vad som perfekt särskiljer ex. två ytor: Precisionen hårdvaran resp. antal koncept i rymden begränsar och inget i övrigt givet oändlig beräkningstid per fysisk tid).


Vidare rörande viktning ord i koncept kan sägas att vi givetvis kan göra något motsvarande IDF men användande koncepten om en stor mängd är kända istället för dokumenten. Emellertid räcker sambanden från NGRAM-modeller i språkmodeller parsning eller ljud till text m.m. utmärkt med eller utan sådana metoder (lite vilket som beroende på hur man vill göra det). Oavsett med eller utan gäller att samlar vi upp information från förekomsterna löpande eller för träning får vi för ev. representation som fritt får påverkas av ord, två-gram o.s.v. så länge meningsfulla koncept, entiteter, fraser eller motsvarande ett naturligt mått av hur semantiskt ordet eller flergrammet är i mening av resulterande "rymd": Denna tenderar att praktiskt ha stora likheter med IDF i magnituden / vektorlängden / amplituden på vågen eller hur vi gör / ser på det avseende likheten mellan vektorn vi börjar med och representationen vi slutar med eller har upparbetat vid punkten. Flergram tenderar under förutsättning någon addition sker med eller utan multiplikation (just nu men kan komma att ändra det kombinerar jag med båda men multiplicerar aldrig fler än två ord i resp. som istället efter övriga operationer mellan summeras). MI-liknande relationer av typen värdera förekomsten av konceptet (d.v.s. det enskilda ordet förekommande just i konceptet ex. mutual i mutual information och / eller mer påkostat läggande något mer till förutom orden som ett övergripande kontext eller för sense) d.v.w. någon variant typiskt av P (konceptet) / P(ordet) fungerar också väl särskilt för ord med operator-liknande funktion som in, of m.m. (medan konceptet av stopp-listning känns oerhört slösaktigt med den information som faktiskt finns i resp. ordvektor skapad med typiska metoder oavsett hur svår den är att få fram bra utan att tappa beräkningseffektiviteten dimensionsreduktionen gav) - för längre koncept kanske snarast först per resp. mest arketypiskt förekommande koncept d.v.s. för mig mest aktuellt för Wikipedia-kategorier (jfr People from Sweden working [...] in movie industry borned 1987 för att hitta på en illustrerande principen).


Att se IDF som en vikt indikerande hur semantiskt tydligt ett ord är i en värld motsvarande att vi för mängden koncept aktuella totalt tränar upp en representation där alla koncept är lika sannolika stämmer praktiskt väl med vad det senare ger i amplitud.


Slutligen rörande såväl upparbetning information som potentiella problem compositioner gäller att vektor-representationer skapade såväl via algoritmer i domän neuronnät som LSA m.fl. (alla vanliga) tenderar att ha säkerhetsdefekter skapade från defekter i hantering corpus:



Smoothing som del av algoritmerna tycks lura sig för samtliga när mindre information finns för något men där informationen som finns är mycket bearbetbar i effekt den omedelbart ger (eller hur man ska uttrycka det utan att behöva sitta med resp. algoritm här och följa exempel på effekt vilket jag ej gjort för mer än en av det oavsett konstaterat det för färdiga representationer som Word2Vec, Stanfords-algoritm, ett par ev. tre varianter bag-of-word, LSA m.fl.). Upparbetning från tar dock väldigt snabbt potentiellt bort problematiken: Jag kan fortfarande se problem-koncepten komma upp som liggande högst på vissa indikations-värden så som (om jag nu minns rätt på vilken mest så) summan av sitt resp. per dimension bidrag till variansen ( (x(i) - medelvärdet av x )**2 / ( summan av det samma för alla x ) ) före (ej kontrollerat efteråt än för någon men konstaterat ej visande jämförbart som vektor-indata vid generering närmaste grannar kommande för högt) innan medelvärde subtraherats följt av division av varians resp. dim (där resp. är redan innan mycket jämförbar med varandra magnitud) och slutligen softmax där softmax gjordes just relaterat detta som extra säkerhetsåtgärd mot udda svamp-arter knappt förekommande text förutom enstaka Wikipedia-listningar, samt vissa gambling-koncept (och jag kan tillräckligt från SEO-domänen ej bara från dataanalysen för att kunna känna lite men utan att klara sätta fingret riktigt på vad jag ser det från vem vi har i ett par av dem för en LSA-representation).


Utan detta eller något annat kan dessa koncept när man har vetskap om dem existerande och systematiskt sökt var de visar sig irrationellt starka defekt användas mycket praktiskt förstörande data. D.v.s. vid säg dataanalys ej med en existerande angripare eller om man är en sökmotor användande resp. LSA och Word2Vec samt ontologiska relationer mellan koncept (lite som Wordnet) ge defekta sökresultat kommande högt utan att ha ex. gambling-koncept (dock ej av mig konstaterat testande här då jag var mer intresserad av att hantera problemen med Wikipedia koncept då det är en så stark datakälla för all överskådlig framtid) utan att ha något sådant koncept alls. Det senare kanske kan utlösa kontroll i sig eller tas automatiskt men det omvända gäller självklart också. Mest typiskt för SEO-skapade satellit-länk-sajter relaterade hasardspel är att de innehåller just ord som casio, gambling eller liknande: Att betvivla någon manuellt oavsett effekt donerande vidare att de någonsin blir manuellt kontrollerade utan det.


Också konstaterat vektor-representation skapat för först länkad artikel (vilken jag tror för de flesta är ett något lite - alla är egentligen på det stora hela samma om seriöst gjorda - oavsett av vem eller metod: Skillnaden upplever jag i den praktiska användningen är mindre än ibland indikerat i studier - Det är som inte värde på den nivån som betyder så mycket jämfört med algoritmerna där det används om ej kanske något helt trivialt som en enkel information retrieval algoritm eller liknande med rena standardlösningar utan behov ambition över det: Och kanske ofta inte ens där så det ex. klarar som värde översätta skillnad sökresultat någon märker kvalitetsskillnad av). Word2vec tror jag också ej är den bästa spontant att välja. Stanfords Glove minns jag att jag prövade och upplevde bra default (även om jag ej använde den länge alls så hade jag kanske gjort det om ej hårddisk-systemet där jag hade den avmonterades av mig och ej var aktuellt bara för den att ta upp igen). Vilka ord inkluderade om behov i specialistområde eller språk finns är av betydelse. Gällande Stanford tycker jag att de kan rekommenderas också därför att jag över åren sett att de seriöst långsiktigt hanterat sina lite tyngre programvaror eller data-koncept delade:



Jag bedömer förövrigt att 300 dimensioner ger en ganska stabil resistens mot problematiken säkerhetsdefekterna jfr säg 400, 500 eller stör.