« Ny bok: Organizational Data Mining | Main | Internetworldartiklarna om bloggning »

december 19, 2003

Automatisk identifikation av språk (språkidentifiering)

Mats Andersson frågar hur man identifierar ett visst språk.

Tyvärr fungerar det inte så bra att bara titta på fördelningen av enskilda bokstäver (som Mats antyder som en lösning), utan man arbetar ofta med n-gram, dvs "löpande" n-boktavsdelar av texten. (Exempel: 2-gram (bigram) på ordet "mats" är "ma", "at", "ts".) Efter att ha analyserat en stor mängd dokument på olika språk arbetar man vidare med tekniker som beskrivs via nedanstående länkar.
[F.ö. är det n-gram jag använder i mina markov-program för att generera ord eller texter, t.ex. New Markov words II, skapa svenska ordstäv, Bob Hund texter, etc. Om det nu förklarar något. :-)]

Exempel:
Gå till Unknown Language Identification och skriv in en text, t.ex. den där Mats skriver sin fråga. Förklaringen av hur programmet fungerar finns på The Acquaintance Algorithm.

Här är några andra länkar om automatisk språkigenkänning (språkidentifiering, language identification):
TextCat, som också har kod skriven i Perl.
Det finns en bibliografi t.ex. på Automatic Language Identification Bibliography. Tyvärr är rätt många länkar obsoleta.

En massa andra språkidentifieringsredskap finns på Language Identification Tools. Där finns även pekare och referenser.
Fagan Finder har samlat en hel del av dessa som man kan testa, men det funkar tydligen inte nu. Däremot fungerar många av de sajter som finns på sidan, så klicka vidare.

Mer finns via google: "language identification".


Ett annat skoj område är automatisk textsammanfattning (text summarization). Se t.ex.
SweSum - Automatisk Textsammanfattare av
Vad är automatisk textsammanfattning?
Textsammanfattning
The Text Summarization Project
Text Summarization

Se även den alltid inspirerande Viggos språktekniksida (Viggo Kann)

Posted by hakank at december 19, 2003 01:33 EM Posted to Språk | Statistik/data-analys