Finns det någon bra algoritm för att avgöra om en viss text är skriven på danska, bokmål eller nynorsk? Kan det avgöras med regexp-matchning? Trebokstavsföljder? Jag tror att "och" är rätt unikt för svenska. Förekomsten av åæø / åäö borde vara tillräckligt för att skilja danska/norska från svenska/finska. Danska är väl ensamt om att skriva "af" idag, men detta förekommer ju även i äldre svenska (före 1906) och norska. Äldre danska (och riksmål före 1900) känns igen på "aa".
Ett konkret problem som jag har, är att en del tidskrifter i Projekt Runeberg har artiklar på olika skandinaviska språk. Jag undrar om jag manuellt måste märka upp språket, eller om det går bra att känna igen språket på algoritmisk väg. Men en automatisk igenkänning av språket kan säkert finna flera användningar.
Här är några exempel på tidskrifter:
http://runeberg.org/anf/ http://runeberg.org/bokobibl/ http://runeberg.org/bokogbib/ http://runeberg.org/scandia/
[Lars Aronsson]
Finns det någon bra algoritm för att avgöra om en viss text är skriven på danska, bokmål eller nynorsk? Kan det avgöras med regexp-matchning? Trebokstavsföljder?
Kanskje metoden til An Crúbadán, URL:http://borel.slu.edu/crubadan/, kan brukes? Så vidt jeg forstår ser den på frekvensen av ord for å søke etter dokumenter på bestemte språk.
Vennlig hilsen,
Lars Aronsson skrev:
Finns det någon bra algoritm för att avgöra om en viss text är skriven på danska, bokmål eller nynorsk? Kan det avgöras med regexp-matchning? Trebokstavsföljder? Jag tror att "och" är rätt unikt för svenska. Förekomsten av åæø / åäö borde vara tillräckligt för att skilja danska/norska från svenska/finska. Danska är väl ensamt om att skriva "af" idag, men detta förekommer ju även i äldre svenska (före 1906) och norska. Äldre danska (och riksmål före 1900) känns igen på "aa".
Trebogstavsfølger kan godt bruges. Det er det Crubadan bruger.
En enklere mulighed er at se på top-10 i endelser. Et hurtigt overslag for dansk:
der den ske sen nde det ver ter ste ler
Hvor ofte forekommer disse endelser på norsk?
Jeg kan godt lave en mere præcis optælling, hvis der er interesse for det.
Jacob
I Divvun- og Språkteknologiprosjekta (Sametinget/UiTø) har vi brukt ein Perl-modul for språkidentifisering som finst tilgjengeleg her:
http://odur.let.rug.nl/~vannoord/TextCat/ http://odur.let.rug.nl/~vannoord/TextCat/Demo/textcat.html
(vår side om bruken av modulen finst her: http://www.divvun.no/doc/ling/langrec.html )
I tillegg har vi lagt til eigne rutinar basert på teiknsett, nøkkelord (och, jag, eg, jeg, inte, ikkje, ikke, etc). Kjeldekoden kan fritt lastast ned med cvs, instruksjonar finst på:
http://www.divvun.no/doc/infra/anonymous-cvs.html
Perl-modulen lagar seg korpusbaserte trigram, dvs at du bør ha ein del kjent materiale som utgangspunkt for treninga. Dersom tekstane dine er koda i UTF-8, kan du bruka modellane våre som ligg i kjeldekoden vist til over.
Det er sannsynleg at du vil få ein del feilklassifisering, særleg mellom para nb-da og nb-nn. I prosjekta våre har vi hatt tilsvarande problem med å skilja mellom dei samiske språka, men med eigne tillegg slik eg nemnde over, er resultata no stort sett ok. I samisk har ein det tilleggsproblemet at mange tekstar inneheld meir eller mindre av majoritetsspråka, og det gjer språkgjenkjenninga meir problematisk.
Beste helsing Sjur N. Moshagen Samediggi · Sametinget Prosjektleiar for Divvun-prosjektet http://www.divvun.no/ http://www.samediggi.no/ +358-9-49 75 29 (a) +358-505 634 319 (m)
Den 26. jan. 2007 kl. 01.15 skrev Lars Aronsson:
Finns det någon bra algoritm för att avgöra om en viss text är skriven på danska, bokmål eller nynorsk? Kan det avgöras med regexp-matchning? Trebokstavsföljder? Jag tror att "och" är rätt unikt för svenska. Förekomsten av åæø / åäö borde vara tillräckligt för att skilja danska/norska från svenska/finska. Danska är väl ensamt om att skriva "af" idag, men detta förekommer ju även i äldre svenska (före 1906) och norska. Äldre danska (och riksmål före 1900) känns igen på "aa".
Ett konkret problem som jag har, är att en del tidskrifter i Projekt Runeberg har artiklar på olika skandinaviska språk. Jag undrar om jag manuellt måste märka upp språket, eller om det går bra att känna igen språket på algoritmisk väg. Men en automatisk igenkänning av språket kan säkert finna flera användningar.
Här är några exempel på tidskrifter:
http://runeberg.org/anf/ http://runeberg.org/bokobibl/ http://runeberg.org/bokogbib/ http://runeberg.org/scandia/
-- Lars Aronsson (lars@aronsson.se) Aronsson Datateknik - http://aronsson.se
Prosjekt Runeberg - ditt digitale bibliotek - http://runeberg.org/
i18n-no mailing list i18n-no@lister.ping.uio.no https://lister.ping.uio.no/mailman/lister.ping.uio.no/listinfo/i18n-no
* Sjur Nørstebø Moshagen (2007-01-26 09:41):
I tillegg har vi lagt til eigne rutinar basert på teiknsett, nøkkelord (och, jag, eg, jeg, inte, ikkje, ikke, etc). Kjeldekoden kan fritt lastast ned med cvs, instruksjonar finst på:
Det er sannsynleg at du vil få ein del feilklassifisering, særleg mellom para nb-da og nb-nn.
Eg ville tru at høvetalet (forholdstalet) mellom -ar og -er-endingar i ord på minst fire bokstavar skulle skilja godt mellom nynorsk og bokmål eller meir generelt mellom nynorsk/svensk og bokmål/dansk. I denne nynorsk-e-posten, til dømes, er talet (4 + 1) / (3 + 1) = 1.50, medan ein tilsvarande tekst på bokmål ville hatt (0 + 1) / (6 + 1) = 0.14. Eg legg til 1 over og under brøkstreken for å unngå divisjon med null.
Erik
Sjur Nørstebø Moshagen skrev:
(vår side om bruken av modulen finst her: http://www.divvun.no/doc/ling/langrec.html )
Jeg forsøgte lige at bruge det til at genkende færøsk. Det gik ikke så godt. Jeg tror et tjek på om der er »ð« men ikke »þ« i ord uden stort forbogstav vil være mere effektivt.
Jacob
Jacob Sparre Andersen kirjoitti 26. jan. 2007 kello 19.10:
Sjur Nørstebø Moshagen skrev:
(vår side om bruken av modulen finst her: http://www.divvun.no/doc/ ling/langrec.html )
Jeg forsøgte lige at bruge det til at genkende færøsk. Det gik ikke så godt. Jeg tror et tjek på om der er »ð« men ikke »þ« i ord uden stort forbogstav vil være mere effektivt.
Det var rart. Poenget er at både ð-men-ikkje-þ og ar-men-ikkje-like- mykje-er som det har vorte vist til bør kome ut som resultat av dei to inputa til text_cat: Trigram og vanlege unike ord. Metoden med ð- ikkje-þ vil forøvrig gje tilslag på feilskrive samisk, som i NRK, som skriv ð der dei skal skrive đ.
Kor mykje færøysk input gav du? Kor mykje tekst, og kor mange ord?
Her ser du storleiken på ordlistene våre i text_cat:
gt$wc -l script/LM/*wm 147 script/LM/dan.wm 189 script/LM/eng.wm 199 script/LM/fin.wm 200 script/LM/ger.wm 1000 script/LM/nno.wm 1000 script/LM/nob.wm 222 script/LM/sma.wm 215 script/LM/sme.wm 1000 script/LM/smj.wm 200 script/LM/swe.wm
---------------------------------------------------------------------- Trond Trosterud t +47 7764 4763 Institutt for språkvitskap, Det humanistiske fakultet m +47 950 70140 N-9037 Universitetet i Tromsø, Noreg f +47 7764 5216 Trond.Trosterud (a) hum.uit.no http://www.hum.uit.no/a/trond/ ----------------------------------------------------------------------
Den 3. feb. 2007 kl. 02.09 skrev Trond Trosterud:
Jacob Sparre Andersen kirjoitti 26. jan. 2007 kello 19.10:
Sjur Nørstebø Moshagen skrev:
(vår side om bruken av modulen finst her: http://www.divvun.no/ doc/ling/langrec.html )
Jeg forsøgte lige at bruge det til at genkende færøsk. Det gik ikke så godt. Jeg tror et tjek på om der er »ð« men ikke »þ« i ord uden stort forbogstav vil være mere effektivt.
Det var rart. Poenget er at både ð-men-ikkje-þ og ar-men-ikkje- like-mykje-er som det har vorte vist til bør kome ut som resultat av dei to inputa til text_cat: Trigram og vanlege unike ord. Metoden med ð-ikkje-þ vil forøvrig gje tilslag på feilskrive samisk, som i NRK, som skriv ð der dei skal skrive đ.
Kor mykje færøysk input gav du? Kor mykje tekst, og kor mange ord?
Her ser du storleiken på ordlistene våre i text_cat:
gt$wc -l script/LM/*wm 147 script/LM/dan.wm 189 script/LM/eng.wm 199 script/LM/fin.wm 200 script/LM/ger.wm 1000 script/LM/nno.wm 1000 script/LM/nob.wm 222 script/LM/sma.wm 215 script/LM/sme.wm 1000 script/LM/smj.wm 200 script/LM/swe.wm
Korkje færøysk eller islandsk er med i settet vårt - du vil derfor ikkje kunna kjenna igjen færøysk utan å leggja til ein færøysk modell (men det er ikkje vanskeleg).
Sjur