Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Jak na přelkepy?

Marek
Marek (neregistrovaný) 86.110.228.---
10. 1. 2012 8:08 Nový

Porovananie dvoch reťazcov

celé vlákno

Ďakujem za zaujímavý článok. Práve riešim niečo podobné v php - porovnanie dvoch reťazcov. Mám text v niekoľkých verziách a potrebujem zistiť čo pribudlo, čo ubudlo, čo sa zmenilo medzi dvoma verziami. Nepotrebujem ani tak mieru zhody, len vyznačiť zmeny. Viete mi poradiť nejaký dobrý tip, kde by som sa dozvedel k tejto téme viac?

aranel
aranel (neregistrovaný) ---.kn.vutbr.cz
10. 1. 2012 8:19 Nový

Re: Porovananie dvoch reťazcov

celé vlákno

na text je nejlepsi:
http://en.wikipedia.org/wiki/Diff

snad to pomuze.

Marek L
10. 1. 2012 8:27 Nový

Re: Porovananie dvoch reťazcov

celé vlákno

ale diff vypisuje len rozdielne riadky nie? Sa mi zdá, že na klasický text to nie je vhodné. Lebo odstavce môžu byť dlhé aj niekoľko riadkov a ENTER je až na konci. Takže potom mi to označí celý odstavec, čo môže byť aj cez 10 riadkov, ale ak je rozdiel len jedno slovíčko, tak to je veľmi neprehľadné. Alebo sa dá diff nastaviť aj tak, že bude napríklad porovnávať nie konce riadkov, ale medzery?

pd
pd (neregistrovaný) ---.net.upcbroadband.cz
10. 1. 2012 8:21 Nový

Re: Porovananie dvoch reťazcov

celé vlákno

Diff je váš kamarád. Určitě existuje i implementace pro PHP.

AraxoN
AraxoN (neregistrovaný) ---.orange.sk
10. 1. 2012 18:01 Nový

Re: Porovananie dvoch reťazcov

celé vlákno

Väčšina wiki enginov dokáže zobrazovať históriu zmien. Časť z nich je zároveň v PHP a open-source. Takže by som si vybral jeden zo zoznamu:
http://en.wikipedia.org/wiki/Comparison_of_wiki_software
a začal ho pitvať.

jampadampa
jampadampa (neregistrovaný) 89.233.180.---
11. 1. 2012 22:51 Nový

Re: Porovananie dvoch reťazcov

celé vlákno

Jednoduché použití a výsledek značně uspokojující. http://www.raymondhill.net/blog/?p=441

Martin Fiala
10. 1. 2012 9:55 Nový

Levenshtein a transpozice

celé vlákno

Zmíněnou slabinu Levenshteinova algoritmu řeší "rozšířený Levenshtein", kde se za jednu opravu počítá transpozice dvou po sobě jdoucích znaků.

Lukas S
Lukas S (neregistrovaný) ---.net.upcbroadband.cz
10. 1. 2012 11:49 Nový

Prilisna casova narocnost

celé vlákno

Tak jak to autor popisuje se to da pouzit jen, pokud jsou slova omezena na nejakou malou mnozinu z DB.

V praxi pro volny text se IMHO pouziva to, ze kdyz slovo neni ve slovniku, hleda se shoda se slovnikem pro jednoznakove zmeny daneho slova (pripadne viceznakove/pre­hozeni dvou po sobe jdoucich pismen atd.). Je to casove nejefektivnejsi.

Ale cela veda je za tim, jak z moznych oprav vybrat tu nejpravdepodobnejsi (idealne pouzit bigramy, ale to, kvuli jejich velikosti, lze jen na serverech, nikoliv napr. v mobilu).

janpoboril aura:90
10. 1. 2012 22:03 Nový

Opravy v iOS

celé vlákno

Z opravy překlepů v iOS mám pocit, že bere v úvahu i vzdálenost mezi písmeny na klávesnici. Nemáte někdo tento algoritmus trochu více prozkoumán?

Jerry
Jerry (neregistrovaný) ---.mamutnet.net
11. 1. 2012 16:52 Nový

How to Write a Spelling Corrector

celé vlákno

Pokud se chcete podívat na jednoduchou (méně než 30 řádků kódu) kompletní implementaci spellcheckeru v Pythonu, můžete zkusit http://norvig.com/spell-correct.html .

flv
flv (neregistrovaný) ---.net.upcbroadband.cz
12. 1. 2012 1:12 Nový

google

celé vlákno

Co se tyce googlu tak mam dojem ze oni nepouzivaji zadny zvlastni algoritmus (v prvnim priblizeni).

Dalaji to statisticky. Maji obrovskou zakladnu uzivatelu. Pokdu uzivatel udela preklep, nevybere si z vysledku (nikam dal neklikne) ale misto toho znovu zada slovo (tentokrat uz spravne).

Takze co se deje je ze k danym preklepum prirazuji to na co po dalsim vyhledavani uzivatel kliknul.

Aby to skutecne fungovalo musi to byt bezpochyby hodne promakane (tj. spoustu chytrych algoritmu), nicmene v zaklade delaji jenom tu statistiku.

Zasílat nově přidané příspěvky e-mailem