[C#] Detekce angličtiny

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod martyk73 8. 11. 2006 15:24

Nemáte někdo odzkoušenou funkci, která jako vstup dostane text a vrátí, jestli je text v angličtině - nejlépe kdyby to vrátila třeba procenty, někdy je to těžko určit.

Určitě bych to nějak zvládl napsat sám, ale proč re-vymýšlet kolo, a ani to není tak triviální problém, jak by se mohlo zdát.
martyk73
Junior

Odeslat příspěvekod zacatecnik II 8. 11. 2006 16:12

jestli to chapu spravne tak chces funkci ktera vraci true jestlize je text english a false kdyz jiny a nejlip procentualne kolik ceho, hmm tak jednak si myslim ze na to bude potreba hodne velky wordlist a taky ze to zni jako zadani do skoly s kterym se nechces prat ;)
zacatecnik II
Kolemjdoucí

Odeslat příspěvekod martyk73 8. 11. 2006 16:18

Tvuj odhad se zadanim do skoly je uplne mimo.

Myslim, ze uz to spousta lidi naprogramovalo a lepe, ja jsem jen liny (a proto kvalitni) programator, ktery nechce znova vynalezat vynalezene. Proste se chci soustredit na svuj CORE bussiness.

Wordlist podle me staci klidne par set az tisci slov.Ja samozrejme dost tusim jak by se to melo delat, ale nechce se mi to delat.
martyk73
Junior

Odeslat příspěvekod Benjamin 8. 11. 2006 16:27

Takovehle veci jsou soucasti lingvistickych vyzkumu. Nekde to naprogramovane mozna najdes, ale trivialni to urcite neni.
Umělá inteligence není soupeř pro přirozenou hloupost.
Benjamin
Junior
Uživatelský avatar

Odeslat příspěvekod PaLaDiN 8. 11. 2006 16:53

a ma to skusat len ci slova su anglicke, alebo tie slova su aj v gramaticky spravnom tvare atd. ???
PaLaDiN
Junior
Uživatelský avatar

Odeslat příspěvekod martyk73 8. 11. 2006 17:04

Jde mi o to, ze do funkce vleze text, retezec, dejme tomu webova stranka (bez TAGU, proste jen text). Ta funkce ma vratit true, kdyz je stranka anglicka a false, pokud ne. Lepsi by bylo, kdyby vratila cislo, treba od 0-100 - nula znamena - stranka neni urcite anglicka, 100 znamena - je urcite anglicka.

Samozrejme naprogramovat to lze velice zjednodusene, a docela to funguje - vytvorite kratky wordlist slov, ktere jsou jenom v anglictine - the, don't, you, thanks, I'm - takovych vyrazu mit 100 a pokud se na strance vyskytuji v urcitem poctu, je velice pravdepodobne, ze stranka je anglicka. Neni to ale uplne bullet-proof reseni, protoze muze byt na ceske strance treba anglicka citace, nebo to muze byt stranka ceske hospody, ktera se jmenuje "The ....".
martyk73
Junior

Odeslat příspěvekod Wikan 8. 11. 2006 17:10

MV2 Player pouziva nejaky algoritmus na detekci v jakym jazyce jsou titulky. Funguje to celkem spolehlive, ale jakym zpusobem to dela nevim. Zkus kontaktovat autora.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod logout 8. 11. 2006 20:01

Ahoj,
a co použít nějakej spamfiltr (třeba spamassasin), kterej natrénuješ na angličtinu?
Matyáš
logout
Junior

Odeslat příspěvekod martyk73 8. 11. 2006 20:25

To by samozrejme fungovalo, ale ja potrebuji relativne jednoduchou funkci, ne kanot typu spamassassin. Samozrejme bayes algoritmy jsou na tohle dobre.
martyk73
Junior

Odeslat příspěvekod logout 8. 11. 2006 21:42

No, můžeš udělat nějakou neuronovou síť a na angličtinu ji nacvičit. To pak bude vcelku rychlý, ale asi na napsání pracný. Ale nevím, s neuronovejma sítěma jsem neporacoval.
Nebo, obzvlášť jestli jde o delší texty, si vem databázi (tipuju, že tak dvacet by stačilo) frekventovaných slov v angličtině (členy, zájmena....), vytvoř si konečnej automat na jejich rozpoznávání a pak tim proměř několik vzorových anglických a neanglických textů, jaká bude frekvence jejich výskytu. Řek bych, že by to mohlo bejt dost přesný (akorát by to selhávalo na podivných anglických textech...).
Matyáš
logout
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků

cron