« Digital grusväg - ännu senare nummer ute! | Main | Internetworlds bloggomröstning. Tack, ni 8! »

april 14, 2005

Amazons "Statistically Improbable Phrases" (SIPs)

I två separata maildiskussioner (med Peter Lindberg och Simon Winter) har Amazon.com:s "Statistically Imprabable Phrases" (SIPs i folkmun) diskuterats. Den enda svenska text jag har hittat om detta är Erik Starcks notis Amazon testar Statistically Improbable Phrases (med en kommentar av Simon).

Det känns som det är dags att göra en liten sammanfattning (och ett gemensamt ställe att kommunicera findings).

Sedan några veckor har flera böcker presenterats med vad Amazon.com kallar för "Statistically Improbable Phrases". Det är sådana fraser som används ofta i en viss bok men sällan i andra böcker. Så här förklarar de själva:

Amazon.com's Statistically Improbable Phrases, or "SIPs", show you the interesting, distinctive, or unlikely phrases that occur in the text of books in Search Inside the Book. Our computers scan the text of all books in the Search Inside program. If they find a phrase that occurs a large number of times in a particular book relative to how many times it occurs across all Search Inside books, that phrase is a SIP in that book.

För t.ex. Malcolm Gladwells The Tipping Point finns SIPparna: social epidemics, transactive memory, mouth epidemics, teenage smoking. Man kan notera att frasen "tipping point" inte finns med, vilket beror på att det används i och för sig ofta i Gladwells bok, men finns även ofta i andra böcker.

Tanken med sådana SIP:ar verkar vara att visa på utmärkande drag i boken, men jag är tveksam till hur nyttiga de egentligen är för detta ändamål. Anledningen till tveksamheten är att det verkar vara svårt att göra en bedömning av bokens innehåll med hjälp av endast dessa fraser. Det känns rätt mycket som en titta-vad-vi-kan-göra-funktion (som i och för sig är cool). I och för sig är jag benägen att ändra mig när jag ser detta.

Däremot ger möjligheten att SIP-surfa, dvs att klicka till andra böcker med samma fraser, ännu ett trevligt sätt att upptäcka nya böcker. Vi har nog bara sett början på detta...


Principen bakom SIPs är inte ny. T.ex. får man väl anse att det är en variant (konceptuellt i alla fall) av hapax legomenon, dvs helt unika ord i en text. Se även denna längre artikel.

Mer generellt änvänds (troligen) en variant av Term Frequency / Inverse Document Frequency (TFIDF), som det finns en hel del skrivet om. Det stora med Amazons implementation är naturligtvis att det är publikt surfbart och att metoden används på en stor mängd texter (böcker).


Inspirerad av allt detta började vi (Peter, Simon och jag i separata) att fundera på hur man bäst gör egna varianter för våra respektive blogganteckningar, där en bok skulle motsvaras av en blogganteckning.

Peter tipsade om ett litet Pythonprogram (dess notis), men som endast arbetade med "fraser" på ett enda ord, vilket inte är så skoj.

Själv kikade jag i helgen på ett Perl-paket som Simon fått nys om: Ngram Statistics Package (NSP), på CPAN heter det Text::NSP. Efter en del föreståendeskapande lekar med detta började de mer seriösa arbetet, men det kräves mycket tråkigt filtreringsarbete och annat så projektet lades på hyllan, i alla fall för tillfället.

Jag är nu, efter de trevlande inledande försöken, till viss del tveksam hur mycket detta projekt egentligen ger (förutom leken, utmaningen och äran) eftersom en blogganteckning innehåller så pass lite text att det kan vara svårt att det blir intressant. I och för sig påverkas jag inte mycket av nyttan av ett projekt. :-)

Troligen kommer man fram till att det finns en stor mängd ord som endast förekommer i en enda blogganteckning (dvs blogg-hapax legomenon), såsom namn eller begrepp, och så finns det en stor mängd fraser som har en frekvens som motsvarar det vanliga språkbruket. Frågan som är intresserant att undersöka är om det finns tillräckligt många ord som befinner sig mellan dessa två frekvenstyper och därmed betecknar något "statistiskt osannolikt" (och förhoppningsvis överraskande) om en blogganteckning.

En utökning av detta vore att arbeta med samtliga texter för en blogg och jämföra frasfrekvenserna med andra bloggar, vilket nog skulle ge bättre utdelning.

Andra finesser som Amazon infört den senaste tiden är presentation över vanligast förekommande ord (concordance), olika typer av textstatistik och complexity. Exempel på sådant finns t.ex. här (Peters exempel).


Ytterligare:
Google-sökning på "Statistically Improbable Phrases"
Det finns en Perl-modul som beräknar olika textindex för engelska texter. Lingua::EN::Fathom.


Uppdateringar
Blind "Jonas Söderström" Höna har även skrivit om detta:
Amazon letar fram "osannolika fraser" i böcker samt Mer på amazon: de hundra vanligaste orden

En annan sak. Böckerna beställes naturligtvis via Bokus:
* Malcolm Gladwell: The Tipping Point
* Lynne Truss: Eats, Shoots & Leaves - The Zero Tolerance Approach to Punctuation

Posted by hakank at april 14, 2005 08:55 EM Posted to Böcker | Machine learning/data mining | Språk