mboost-dp1

Script der kan genkende tekstens sprog..?


Gå til bund
Gravatar #1 - KarmicMind
5. jan. 2007 03:20
Hey alle i kloge hoveder..! ;)

Jeg arbejder på at lave et bookmarking site i php og kunne godt tænke mig at php selv fandt ud af hvilket sprog teksten på en given side er på..

nogen gode forslag til hvordan jeg laver sådan en funktion..? eller måske kan linke til et færdigt script..?
Gravatar #2 - KarmicMind
5. jan. 2007 03:40
Det skal ikke kunne oversætte noget. Det skal bare kunne give et kvalificeret gæt på hvilket sprog teksten er..
Gravatar #3 - arne_v
5. jan. 2007 03:46
Der er vel umiddelbart 2 tilgange:
1) have en liste over meget brugte ord i de forskellige sprog
og så se hvilken list der er flest match på i teksten
2) tilsvarende analyse bare for tegn frekvenser
Gravatar #4 - KarmicMind
5. jan. 2007 03:53
#3 > det sad jeg også lige og tænkte lidt på, men så er spørgsmålet bare: skal ordlisterne helst bestå af de samme ord(oversat selvfølgelig) eller betyder det ikke så meget..?
Gravatar #5 - squad2nd
5. jan. 2007 04:05
#1

1) Du kunne lave et script der søger siden igennem og gemmer hvilket land der bliver nævnt flest gange.
---
2) Lave et script der gemmer 10-20 ord fra sidens tekstindhold og så lave et script der bruger en online translator til at finde ud af hvilket sprog ordene bedst passer til og så gemme det.

Du kan supplere med at checke URL'ens landekode (dk, se, no).


Alt i alt, en rimelig slatten og øm affære! :)
Gravatar #6 - arne_v
5. jan. 2007 14:56
#4

Jeg tror ikke at det betyder noget hvad teksten indeholder.

Fordi de ord som karakteriserer sproget normalt er de samme
uanset indholdet.

På dansk vil ord som "er", "en", "et", "som", "der", "at" optræde
i næsten alt.
Gravatar #7 - themuss
6. jan. 2007 08:05
"En" optræder da gerne på både fransk og engelsk... "At" er også ret brugt i engelsk.

Forresten er det også muligt for webserveren at sende "sproget" med i headeren... den hedder ....
Content-Language:
The languages of the variant, specified as an Internet standard language tag from RFC 1766 (e.g., en for English, kr for Korean, etc.).
...den kan du også bruge til at checke sproget med... Hvis altså webserveren sender den header afsted...
Gravatar #8 - mrmorris
6. jan. 2007 08:50
Det er et problem hvor såkaldte heuristiske tilgange skal til via divide-n-conquer. Jeg ville:

- Checke tegnsættet
- Via HTTP header
- Om tegnene er double-byte (Cyrillic/Kinisisk osv)
- Checke for specielle tegn (et Æ/Ø/Å vil pege på dansk eller norsk, ü på Tysk, ê/é/è på fransk osv.)
- Smide alle ord i et vægtet hashmap og definere nogle meget brugte ord (som arne_v nævner) og ud fra sproget med flest matches imod de 10 hyppigste ord danne en konklusion omkring sproget.

Men husk først og fremmest, at google er din ven!
Gravatar #9 - arne_v
6. jan. 2007 14:49
#7

Ja.

Men hvis man kigger på hyppgigheden af flere ord, så vil det give
en rimelig indikation.
Gravatar #10 - HardcoreWizard
8. jan. 2007 13:16
Jeg ville nok også gøre som #8, og checke på en masse faktorer. Først og fremmest ville jeg nok køre en analyse på en masse tekster på de forskellige sprog, for at lede efter "fingeraftryk" i form at ofte brugte ord.
Herefter ville jeg se på tegnsæt, header og ikke mindst hostnavn. Efter hvad scriptet finder vil jeg tildele hvert sprog et antal point, og til sidst udvælge det mest sandsynlige.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login