Forum Coders' city Strona Gwna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UytkownicyUytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj si, by sprawdzi wiadomociZaloguj si, by sprawdzi wiadomoci   ZalogujZaloguj 

Potrzebuj szybkiej odpowiedzi na moje pytanie... Zasady

Walidacja istnienia wyrazu - oraz korekta



 
Odpowiedz do tematu    Forum Coders' city Strona Gwna -> PHP
Zobacz poprzedni temat :: Zobacz nastpny temat  
Autor Wiadomo
nillvo



Doczy: 10 Cze 2009
Posty: 67

PostWysany: Sob Mar 26, 2016 3:56 pm  OP    Temat postu: Walidacja istnienia wyrazu - oraz korekta Odpowiedz z cytatem Pisownia

Czy ma kto pomys, w jaki sposb napisa korekt bdw (podobnie jak funkcja w pakiecie OFFICE)?

Wiadomo, e potrzebna jest baza wystpujcych sw oraz ich moliwych odmian w danym jzyku.
Sprawdzenie czy wyraz jest prawidowy to oczywicie nie problem, ale w jaki sposb dopasowa z bazy wyrazw, ten najbardziej podobny ? Mylaem o funkcji similar_text(), jednak nie mam pomysu jak wykona to praktyce. Wdziczny bd za kad wskazwk.
Powrt do gry
Zobacz profil autora Wylij prywatn wiadomo
marcin_an



Doczy: 26 Maj 2005
Posty: 18822

PostWysany: Sob Mar 26, 2016 4:47 pm      Temat postu: Odpowiedz z cytatem Pisownia

Standardowo wykorzystuje si do tego odlego Levenshteina lub podobnie dziaajc metryk. PHP ma t funkcjju zaimplementowan.

Jednak pytanie brzmi: jak dua jest baza sw i na jakie obcienie moesz sobie pozwoli? Wykorzystujc bezporednio funkcj levenshtein bdziesz musia wykonywa bruteforcea. Jeli wyjdzie przepustowo rzdu 200 zapyta/h*, to bdziesz mia farta.

Proponuj raczej uy gotowych rozwiza: np. hunspell - zakadajc, e nie odstrasza cilicencja oraz moesz mie na serwerze. Z p miliona zapyta na godzin spokojnie wycignie, czyli duo powyej ogranicze nakadanych przez inne komponenty.

Rozwizaniem porednim moe by implementacja np. drzewa Burkharda-Kellera, najlepiej dziaajca jako demon lub dla zagregowanych zapyta (inaczej koszt adowania drzewa przewyszy zyski).
____
* Przy typowych postach na forum, tylko podstawa jednego jzyka. Liczc stronam A4: z 20-30 sztuk na godzin. Kilkukrotnie gorzej w przypadku wielu jzykw lub sownictwa specjalistycznego.

_________________
Nieaktywny od 2017-04-01
Powrt do gry
Zobacz profil autora Wylij prywatn wiadomo
nillvo



Doczy: 10 Cze 2009
Posty: 67

PostWysany: Sob Mar 26, 2016 5:02 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Tak, Syszaem te o funkcji levenshtein. Problem polega na tym, e baza jest spora. 80 000 sw + ich formy. Porwnywanie z kadym ze sw to zbyt due obcienie. Nie chc te korzysta z zewntrznych usug.

Taki firefox, byskawicznie podkrela nieprawidowy wyraz i proponuje jego poprawy, wic zakres jego zapyta do bazy musi by cile zawony.

Moe zapytanie wyciga najpierw wyrazy o zblionej dugoci? -2/+2. Sprawdza w pierwszej kolejnoci wyrazy zaczynajce si/koczce na te same litery?

Czy jest jakie rdo porwnujce szybko dziaania funkcji LEVENSHTEIN w SQL a w PHP?
Powrt do gry
Zobacz profil autora Wylij prywatn wiadomo
Wywietl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Gwna -> PHP Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Moesz pisa nowe tematy
Moesz odpowiada w tematach
Nie moesz zmienia swoich postw
Nie moesz usuwa swoich postw
Nie moesz gosowa w ankietach
Moesz dodawa zaczniki na tym forum
Moesz pobiera pliki z tego forum




Debug: strone wygenerowano w 0.09364 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |