Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PHP stranica za sintaksnu ispravku teksta

[es] :: PHP :: PHP stranica za sintaksnu ispravku teksta

[ Pregleda: 2666 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

iizuzetan

Član broj: 186478
Poruke: 375
*.dynamic.isp.telekom.rs.



+16 Profil

icon PHP stranica za sintaksnu ispravku teksta14.03.2011. u 09:24 - pre 126 meseci
Razmisljam da napravim sajt, to jest stranicu gde se ubaci Vas tekst a sajt ispravi pravopisne greske. Znaci ne gramaticke vec pravopisne, tipa napisano cirilica a ispravka sledi ćirilica, ili na primer yabeyeknuto a sajt ispravi u zabezeknuto i tako, nadam se da kapirate. Takodje bi postojala opcija da se slova sa ćirilice prebace u latinicu i obrnuto.

Šta vi mislite koliki je raad potreban za tako nešto? Kontam da trebam ubaciti sve moguce reci Srpske u bazu. To je malo pozamasan poso za jednog coveka. Mislim da jedno minimum 60 ljudi (u proseku po dva coveka za jedno slovo) bi za jedno mesec dana ubacili sve reci u bazu.

Moje glavno pitanje bi bilo da li vec postoji online dostupna baza Srpskih reci??? To bi jako pomoglo da ne moram da angazujem ljude da pisu nego da samo prekopiram. Znaci skratilo bi mi prilicno vremena a i novca. Jer ovako trebam platiti 60 ljudi 30 dana kako ja cenim a to je nekih 30 000 evra. Medjutim nije rec samo o recima vec i sve reci sa svim mnozinama, glagolima itd.

Takodje pitanje u vezi pretrage. Ne bi moglo da se sad svaka rec u tekstu uporedjuje sa svim recima u bazi, to bi jaaako mnogo oduzilo postupak uredjivanja. Da li imate ideju na koji nacin bi se to uporedjenje najbrze izvrsi? Ja nesto razmisljam tako sto bi se najpre prvo slovo u reci detektovalo pa onda bi se izdvojile samo reci iz baze koje pocinju tim slovom (tako se skup suzava) pa onda drugo slovo, trece i sve do zadnjeg. E sad ako se ne pronadje u bazi rec koja je identicna datoj onda je to sintaksna greska. Onda sledi ispravka a to je sad sledeci problem. Da li neko zna kako da vrsim ispravku najbrze?? Ja sam nesto razmisljao da se onda trazi najpribliznija rec. na primer prvo slovo u reci se promeni u sledece po abecedi i opet se istestira kao prvi put pa ako se opet ne nadje identicna rec u bazi onda se dalje prvo slovo menja i tako sve dok se prvo slovo u reci ne zameni svim slovima iz abecede. Pa sad ako se ne nadje onda se menja drugo slovo i tako redom sva slova u reci dok se ne nadje rec koja se poklapa sa jednom recji u bazi. Naravno ipak postoji verovatnoca da se i ne izabere dobra rec jer mozda nece gramaticki da se uklopi u recenici pa onda prelazimo sa sintaksne greske na gramaticku sto je ipak mnogo komplikovanije da se edituje.

Iz tog razloga sam kasnije poceo da razmisljam da ipak ne treba sajt da ispravlja greske vec samo da recimo podvuce reci koje su sa sintaksnim greskama a covek ce sam onda ispraviti. Tako je i samom coveku lakse jer ne mora citati ceo tekst u potrazi za sintaksnom greskom (a cesto puta se desi da i nakon citanja opet izmakne neka sintaksna greska) vec samo one recenice gde je podvuceno. I tako se prilicno ubrzava ispravka zar ne.

Sta vi mislite o celoj ovoj prici?
 
Odgovor na temu

peca89bg
Beograd

Član broj: 202034
Poruke: 354
95.180.61.*



+6 Profil

icon Re: PHP stranica za sintaksnu ispravku teksta14.03.2011. u 10:07 - pre 126 meseci
Stvarno ne znam cemu taj toliki rad... Vec postoje skripte za konvertovanje iz cirilice u latinicu i obrnuto...

To mi ima logike za neki veci tekst.. Ko ti kod nas pise kilometarske tekstove po sajtovima osim blogera ili uopsteno?
A i opet, i njima nisu potrebne neke velike izmene u tekstovima..

Zamisli da naidjes na neki tekst od par recenica, a taj teskt ti treba, i te recenice imaju oko 5 pravopisnih gresaka, sta bi ti uradio?
Kopi ceo tekst pa paste na neki sajt, pa klik na sredi pa onda opet kopi pa paste? Ili bi jednostavno promenio par tih gresaka?


[Ovu poruku je menjao Goran Rakić dana 08.04.2011. u 14:25 GMT+1]
 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.dynamic.isp.telekom.rs.



+16 Profil

icon Re: PHP stranica za sintaksnu ispravku teksta14.03.2011. u 10:26 - pre 126 meseci
Citat:
peca89bg: nego stvarno ne znam cemu taj toliki rad... Vec postoje skripte za konvertovanje iz cirilice u latinicu i obrnuto...


Bila bi i opcija za prebacivanje cirilice u latinicu i obratno posto ce to biti kao mogucnost glavne stavke da detektuje pravopisne greske. Dakle glavna stvar je detektovanje pravopisnih gresaka tako da se nadam da niko nece vise pisati o translatovanju cirilice u latinicu i obratno, i skretati temu od bitnog

Citat:
peca89bg:To mi ima logike za neki veci tekst.. Ko ti kod nas pise kilometarske tekstove po sajtovima osim blogera ili uopsteno?


Vidi, ako ti i tvoje drustvo ne pisete ozbiljne tekstove ne znaci da takvih nema na Srpskom govornom podrucju. A naravno sajt bi se dalje razvijao uz male dogradnje da podrzava Bosanski, Hrvatski, crnogorski i sve ostale Srpske dijalekte na prostorima bivse SFRJ.

Neznam da li si ti cuo za pisce, novinare, naucnike, politicke tekstove itd itd. Pri tome tu su i sve osnovne, srednje skole i fakulteti i vise skole, seminarski, diplomski itd itd. Tu postoji ogromno trziste a konkurencije apsolutno nema.
 
Odgovor na temu

ManInTheBox
Beograd

Član broj: 272293
Poruke: 26
*.dynamic.sbb.rs.



Profil

icon Re: PHP stranica za sintaksnu ispravku teksta14.03.2011. u 13:32 - pre 126 meseci
Mislim da bi ti ipak trebao neki recnik iz kojeg ces da uporedjujes reci koje se nalaze u tekstu.
Npr korisnik upise 'covek' a ti u recniku imas samo 'čovek'. Ovo je jednostavan primer. Naravno da ce tu biti mnogo 'gorih' kombinacija
jer on moze da upise 'ćovek' ili kao sto ti navede 'yabeyeknuto' ili 'yabezeknuto' tj 'zabeyeknuto' a ti u recniku imas samo 'zabezeknuto'.
Recimo prvo proveris da li se reci podudaraju (unos korisnika - recnik). Ako ne, neki regex ili nesto slicno. Treba to vec malo ozbiljnije osmisliti.
Predlog ako krenes sa ovim je da koristis AJAX tako da npr kad korisnik otkuca rec i lupi space, odmah saljes php strani poslednju (trenutnu rec izmedju dva space-a) na proveru,
tj zamenu odgovarajuce reci iz recnika. Na taj nacin mozes odmah da mu ukazes na gresku (npr podvuces tu rec i dodas sugestije) i plus sto ne saljes kompletan tekst na obradu i time skracujes vreme.
Ovo je onako malo generalno prvo sto mi pada na pamet bez mnogo mozgovanja, tako da ce ti mozda posluziti ali svakako treba to dobro osmisliti
Pozdrav
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 849
*.customer.blic.net.



+144 Profil

icon Re: PHP stranica za sintaksnu ispravku teksta14.03.2011. u 17:04 - pre 126 meseci
Nema potrebe da se sve kombinacije rijeci ukucavaju posebno, jednostavno potreban ti je jedan rijecnik ispravnih rijeci i neki skup pravila koja definisu koje sve varijacije (greske) mogu da nastanu, npr. to mijesanje Z i Y, nedostatak kvacica itd. Imajuci ovo u vidu i nije neki problem napraviti ovako nesto.
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 400
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: PHP stranica za sintaksnu ispravku teksta08.04.2011. u 01:43 - pre 125 meseci
Takođe, mislim da je korisno napraviti skup provera. Recimo reči sa kvačicama i bez kvačica. Kada ubacuješ reči u tabelu razdvoj nekim poljem reči sa kvačicama i bez (npr. polje kvacice = 1 ako ima kvačice, odnosno 0 ako nema). To polje obavezno indeksiraj i prvo vrši upit za to polje.

Postoji izvestan broj različitih obrazaca za proveru sličnih ili pogrešnih (pogrešno napisanih) reči...tebi treba nešto tipa auto-suggestion, gde će se proveravati reči dok korisnik kuca (najbolje je kad pritisne razmak).

Za php postoji funkcija levenshtein koja izračunava distancu između 2 reči.
Još jedan koristan link: http://www.merriampark.com/ld.htm

PHP soundex funkcija: http://networking.mydesigntool...iewtopic.php?tid=482&id=31
MySQL upit bi mogao izgledati ovako:

Code:
SELECT rec, kvacice, prvo_slovo, poslednje_slovo
FROM reci
WHERE ( SOUNDEX(rec) = SOUNDEX($_POST[korisnikova_rec]) )
AND confirmed='Y' 
ORDER BY kvacice, rec


Dakle, ovaj upit će tražiti reči koji zvuče kao uneta reč.

Evo kako bi izgledao jednostavan primer:

Prvo iz baze izvučeš npr. 50 reči sa gornjim primerom (upitom). Alternativno možeš napraviti još jedan upit gde će izvlačiti isto to samo sa prvim početnim slovom - dodaš u upit AND LOWER(rec) LIKE LOWER('prvo_slovo_unete_reci%'). Sa php-om izdvojiš prvo slovo.

Rezultate iz ova dva upita "provučeš" kroz levenshtein funkciju (php) i upoređuješ sa unosom korisnika. Uspešnost će biti sigurno 90-100%. Ovako bi izgledao neki osnovni sistem za korekciju reči, mada se mogu dodati još nekoliko pravila.

Inače, levenshtein algoritam se koristi za proveru pravopisa, prepoznavanje govora, DNA analizu itd...

[Ovu poruku je menjao ivan.a dana 08.04.2011. u 03:10 GMT+1]
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: PHP stranica za sintaksnu ispravku teksta08.04.2011. u 10:41 - pre 125 meseci
Nauči kako da meriš razdaljinu dve reči: http://en.wikipedia.org/wiki/Levenshtein_distance

Za pisanje sličnosti po rasporedu tastature može ti pomoći: http://srpski.org/aspell/tools/hunspell_key.html (klikni na raspored pa use example, i KEY nisku pa use example, i prevuci mišem po prikazanoj tastaturi). Više o ovom primeru možeš da pročitaš ovde.

Zašto da ne koristiš i gotova rešenja? http://hunspell.sourceforge.net/ http://www.languagetool.org/

Što se korisnosti projekta tiče, nadam se da znaš da programi kao što su Microsoft Word ili OpenOffice.org Writer imaju integrisan spellchecker, Firefox takođe.

[Ovu poruku je menjao Goran Rakić dana 08.04.2011. u 14:31 GMT+1]
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

[es] :: PHP :: PHP stranica za sintaksnu ispravku teksta

[ Pregleda: 2666 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.