Sökmotorer: Bedömning relevans och likhet mellan koncept och människor

2012-09-06
För att fortsätta Sökmotorer: Att idag bygga ranking och index via länkar kan det vara intressant att kort diskutera relevans och similarity (likhet) utifrån relation mellan koncept (ex. uttryckt via länkar).

En utmaning delvis diskuterad i förra inlägget är att detektera manipulerade relationer. Kan vi uttrycka förväntad likhet givet ett sammanhang och kontext försvinner självklart problemet. Begränsningen av den lösningen är att det inte är rimligt att anta att relationer i ett givet kontext är oföränderliga över tiden men möjligheter finns ändå.

Vi kan först konstatera att för den större grupp av grafer detta handlar om kommer relationer tendera att:

  • Att vara fler relativt antal koncept när likheten är större.
  • I ett sådant kluster kommer en del koncept också ha relationer som går längre bort.
  • Ett ex. kan vara ett ganska avgränsat kunskapsområde t.ex. nationalekonomi, kemi eller lingivistik.
  • Koncept i dessa områden kommer tendera att ha fler relationer till andra koncept som räknas till dessa.
  • En del koncept ligger dock i flera kunskapsområden och har länkar längre ut.

Denna ofta relaterat människans organisation av världen (och hur våra biologiska neuronnät tenderar att självorganisera sig) liksom några av utmaningarna finns bredare sammanfattat i Understanding complexity in the human brain (UCSD men från Philosophical Transaction of The Royal Society A 2011: doi: 10.1098/rsta.2011.0121).

Det potentiella värdet trots risken med att anta statiskt uttryck är att vi kan skatta sannolikheten under oföränderligt antagande för att något som uttrycker en viss likhet med ett eller flera koncept ska uttrycka relationer med ett annat (ex. via en länk).

Vi kan vidare genom att analysera historik skatta sannolikheten för att mer ovanliga relationer givet ett kontext (d.v.s. kunskaps-segment vi uttrycker likhet med, publicist, typ av publicering o.s.v.) är av värde att ta upp mer permanent som värdering. En journal inriktad ex. kemi som uttrycker några nya relationer mellan områden inom kemi och ett annat teknikområde kan tveklöst utan risk värderas relativt hela populationen rörande det. Andra publiceringstyper har troligt mycket mindre varaktigt värde när relationstyperna är mer ovanliga.

Praktiskt från perspektiv från den som söker information på sökmotor är värdet vi söker att sökresultatet givet sökord som med skattad sannolikhet från dessas relationer och kontextuell kunskap om informationssökaren uttrycker det efterfrågade ämnet. Är antagandet att helt eller väsentligt styra det från länkar där fler kommer tendera att öka ranking behöver vi relevansfaktorn när vi värderar dessa.

Från skattning av vad informationssökaren avser inses också att vi har ett till (lika grovt uppdelat) similarity koncept att ta hänsyn till. Denne kommer vara givet realiserat kontext vara mer eller mindre benägen att önska nytt eller bekräftande relativt sig själv. För det senare fallet gäller att identifiera similarity mellan rekommenderande relationer och denne där det kanske väger högre än faktisk trolighet i kunskapsdomänen. D.v.s. relationen mellan grönt morgonljus och sjukhusbyggnad kan givet informationssökare av tänkt typ "fotograf - konstnär" vara högst relevant som väldigt ovanligt eller vanligt i kontext av bilder som uttrycker något.

Vi inser att detta kommer ner till egentligen samma problemområde som i det första fallet genom att det enda informationssökaren uttrycker (givet endast sökord) är en grupp koncept ev. tillsammans med ord som rangordnar, indikerar deras relativa påverkan, tilldelar känslomässig karaktär o.s.v. D.v.s. söker jag på Företag i Uganda som förhatligt avverkar regnskog. Har vi en typ av entitet i resp. "ansluten" mängden företag och Uganda som avverkar regnskog där avverkar regnskog i sig är vad vi identifierar o.s.v.

Den känslomässiga karaktären "förhatligt" kan självklart ofta vara "underförstådd" eller vad som för bättre sökresultat behöver skattas från kunskap byggd under längre tid (ex. signal-respons på tidigare sökresultat). Detta är också vad likhet med (givet något antagande rörande bekräftande relativt nytt d.v.s. lämpligt entropi-uttryckt) den eller det som faktiskt "rekommenderat" utanför uppenbart "kunskapsområde" får större betydelse.

Emellertid har människor många intressen, åsikter, värderingar och idéer. Även om en del generella tendenser till grupper av dessa finns både kulturellt och ärftligt relaterade gäller att antalet kombinationer är tämligen stora. Vi kan därför uppleva större tillfredsställelse av att följa rekommendationer av något i ett område medan vi inom ett annat område blir surfa, missnöjda och just här kanske upplever kvalitetsproblem med sökresultaten om vi följer rekommendationer av den samma. Ex. skulle jag vara mindre benägen att bli nöjd med religiösa texter högt på sökresultaten rörande medicinska sjukdomar eller funktionshinder. Ganska stora grupper andra gillar det dock.

Därav att det ungefär kommer ner till samma problem: identifiera ämnesområde, dess relationer och hur "troligt" de känns riktiga och under vilken tidsperiod avseende vilka.

Det här är ett svårt område. Och åtminstone för Google och Bing har man ännu stora svårigheter att ta ut dessa världen. För Google har jag t.ex. konstant under många år aldrig efterfrågat vissa undergrupper av sökresultat men tenderar ändå att få dem trots att de är tämligen enkla att avgränsa kunskapsmässigt via similarity.

Svårigheten att dra nytta handlar praktiskt inte om den teoretiskt primära utmaningen i att särskilja statiskt mot nytt i vår kultur utan om beräkningskapacitet. Jag har en längre artikel planerad som ger en del praktiska metoder tillsammans med förenklade verktyg för att skatta påverkan från huvudsakligen reklam byggd från en förenkling av algoritmerna jag använder för nyhetsanalys. I den gäller att jag mycket mer exakt gör similarity operationer därför att användningen är praktiskt för en person och mängden operationer blir därför tämligen få (medan det för nyhetsanalysen måste vara många magnituder mindre exakt). Det kan ändå på min tämligen nya kontorsdator ta väldigt lång tid för varje jämförelse ej tidigare gjord existerande i cache.

Att jämföra ett koncept med ett annat också utan hänsyn till vad jag kallar egendimensioner i min modell vilka ex. är känslomässig orientering utan endast relationerna mellan koncept gäller mycket förenklat att följande operationer görs:

  • Identifiera omedelbara relationer för respektive koncept.
  • Dessa definierar de dimensioner som uttrycker koncepten.
  • För varje relation gör similarity-1 jämförelse med varje dimension som uttrycker det andra konceptet.
  • För similarity-1 jämför likhet i omedelbara dimensioner ex. cosinus similarity, jaccard eller jämförbart. Fler dimensioner lika ökar likhet medan fler dimensioner olika indikerar att de är mer olika.
  • Värdera samman respektive similarity-1 resultat ex. via association till dimensionen via t-test.

Tänker vi oss nu på det att vi inte gör detta som en generell skattning för en större population utan riktat mot en mindre grupp människor skulle vi typiskt manipulera associationen till dimensionerna avseende hur mycket vi värderar dem. Redan operationen ovan är dock mycket krävande därför att:

  • På de cirka 170 000 koncept en mycket komprimerad version arbetar med.
  • Finns i genomsnitt ca 65 relationer för varje koncept.
  • Koncept mer sannolika i språk och mycket troligt mer sannolika sökord tenderar att ha kraftig association till många fler relationer än genomsnitt.
  • Alla vanliga kunskapsområden, geografiska punkter, länder, kulturområden o.s.v. ligger sällan under 1500-relationer.

Säg att vi jämför två koncept med 2000 relationer där varje omedelbar dimension också har 2000 relationer. För varje similarity-1 gör 2000 * 2000 jämförelser och för ett koncept gör vi 2000 similarity-1. Beroende på algoritm (där vi ovan egentligen gör det från perspektiv av respektive därför respektive koncepts syn på världen styr) behöver vi dessutom göra det två eller fler gånger. Vi har nu 2 * 2000 * 2000 * 2000 jämförelser.

Det vanliga sättet att minska detta problem är genom dimensionsreduktion (för tillämpning diskuterad är det dock ej aktuellt därför att det mer är den generella utgångspunkten att dra nytta av för riktade dimensionsreduktioner applicerat mot ämnesgrupper, nyheter eller annat data relativt olika perspektiv) där LSA är vanlig och troligen ganska väl-använd bland just sökmotorer. Emellertid är den just mindre bra rörande annat än att få ner antalet dimensioner med viss godtagbar rimlighet i underrummet vi projiserar ner mot. Detta därför att projektionen i sig bygger på stickprov som ju uttrycker just en population och därmed om vi i mer avancerade varianter än här normalt använt vill stora mot särskilda individer och givet antagande om värdering av rekommendationer krävs att det sker flera gånger med olika stickprov på data där varje sådan dimensionsreduktion är extremt tidsödande.

LSA liksom cosinus similarity överdrivs väldigt ofta rörande faktiskt värde. Båda algoritmerna tenderar att göra användare överdrivet nöjda därför att de är mycket praktiskt enkla lösningar på problem vi allmänt har oerhört svårt att resonera runt (mång-dimensionella rum). Något som fungerar tenderar därför att bli använt och får snabbt ett bias relativt nytt. Båda har nu funnits ganska länge och för båda gäller att forskning som seriösare (motsvarande doktorsavhandling) jämfört dem annat noterat att vi får större värden av andra algoritmer. Bias till båda är dock också stort i forskningsvärlden.

Jag upptäckte dock nyligen på en dimensionsreducerande algoritm som jag till min förvåning inte träffat på tidigare trots att jag gjorde en ganska stor översikt 2010 (och fastnade för Kohonens självorganiserande kartor för användning som del av en modell) som mycket troligt för samma träningsdata ger sämre resultat än LSA men samtidigt mycket troligt regelmässigt är väldigt mycket snabbare:


Intressant med den just här är att den faktiskt går att tillämpa tämligen enkelt direkt på informationssökare för att över tiden bygga upp deras preferenser och samtidigt bygga kunskap exporterande till mer generella "grupper" av användare eller mellan kunskapsområden. Med modifiering torde knappast heller diskret kraftigare beräkning behövas på data utan kontinuerligt uppdaterade tillstånd också med olika tidsperspektiv blir möjliga.

Vårt diskuterade problem kan i detta fall kanske vara möjligt att reducera med en god approximation till att identifiera likhet till en kombination av olika "typer" av mer intensiva sökmotoranvändare vilka adderat mer data.

Möjligen beroende på vilken kvalitet det ger vad som kan förändra skillnaden i upplevd kvalitet mellan sökmotorerna. Det är upplever jag färre sökmotorer förutom Google som använder den typen av data (åtminstone där det meningsfullt förbättrar sökresultaten).

Relaterat nyligen om sökmotorer


Sökmotorer: Att idag bygga ranking och index via länkar
Microsoft navigerar stabilt på stormande datahav (tack för datat).
Bing! och Microsoft börjar kännas som ett seriöst sök-alternativ data nära