abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
dnes 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
včera 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
včera 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 4
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 10
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
20.1. 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 363 hlasů
 Komentářů: 25, poslední včera 13:34
Rozcestník
Reklama

Dotaz: Pokročilé porovnání textů

7.4.2012 08:45 Iohannes
Pokročilé porovnání textů
Přečteno: 815×

Dobrý den,

pracuji s různými textovými variantami středověkých traktátů, které se snažím porovnávat. Výchozí texty se k sobě mají přibližně tímto způsobem:

Text 1 Text 2
- část a
- kus části d
- část b - část c
- část c - něco úplně jiného
- část d - část a
- část e - další kus části d

Rád bych tyto dva textové soubory porovnal a zjistil, které části sobě odpovídají. Problém je v tom, že použiji-li Kompare (na základě Diff-u), jsou soubory porovnány pouze lineárně od začátku do konce, tj. program hlásí, že si texty vůbec neodpovídají. V podstatě stejně to dopadne v případě, že porovnávám texty v Lyxu, ve kterém s nimi pracuji.

Neznal by někdo řešení? Předem děkuji za rady!

 

Odpovědi

7.4.2012 23:07 Daniel Čižinský | skóre: 28
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
Zdravim kolegu!

Bylo by to na delsi povidani. Jsou (nejmene) dva zakladni problemy:

1. Pocitace jsou zvykle pracovat s jasnymi daty, takze i interpunkce, decentni chyba pri opisovani ci rozpoznavani textu (at uz ve stredoveku nebo v "nasi dobe") zpusobi odlisnost. "Podobnost" pocitace vcelku neuznavaji. Tim se clovek od strojoveho vyhodnocovani dostava k heuristice.

2. Textove utility jsou orientovany radkove, coz realnym textum rozhodne neodpovida, takze s jinak bohatou a velmi dobre vyuzitelnou vybavou programku na zpracovani holeho textu clovek neuspeje.

Takze spise byste potreboval napriklad rozebrat texty na tokeny (male soucasti po slovech nebo skupinach slov) a s nimi pak pracovat. Ja bohuzel v posledni dobe "vedu" ve svem oboru nepraktikuji, takze nemam prehled hotovem o SW, ktery by to umel.
8.4.2012 02:52 l4m4
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
Proč by počítače neuznávaly podobnost? Jen je zapotřebí podobnost definovat, což není tak zjevné a jednoznačné jako u stejnosti. Existuje spousta implementací editační vzdálenosti a dalších vzdáleností řetězců a měr podobnosti, což umožňuje třeba identifikovat blok v textu, který se nejvíc podobá [podle konkrétní definice] nějakému jinému textu. Akorát se tyhle věci spíš najdou ve specializovaných knihovnách než v běžných textových editorech. Mj. také proto, že je často zapotřebí šít řešení na míru konkrétnímu problému -- např. vyhledávání plagiátů.

Celkově jsem tedy nic neporadil, hotové řešení pro tento konkrétní problém bez nutnosti cokoli doprogramovat neznám. Něco by šlo poměrně snadno splácat např. pomocí SequenceMatcher v pythonu (i když jeho definici podobnosti zrovna nepovažuji za nejlepší).
pavlix avatar 8.4.2012 11:30 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
2. Textove utility jsou orientovany radkove, coz realnym textum rozhodne neodpovida, takze s jinak bohatou a velmi dobre vyuzitelnou vybavou programku na zpracovani holeho textu clovek neuspeje.
word diff
Gentoo – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
AraxoN avatar 8.4.2012 08:35 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
Niektoré vysoké školy majú systém proti plagiátom, aby študenti neodpisovali z cudzích prác. Tam by sa dalo inšpirovať. Pokiaľ som to pochopil správne, používajú sa na to takzvané n-gramy, pričom ako základná jednotka sa berú celé slová. Text sa teda rozbije na slová a uložia sa postupnosti N-slov. Ak sú slová v texte napr. "A B C D E", 3-gramy z nich by boli "A B C", "B C D" a "C D E". Druhý text sa potom rozbije rovnako a hľadajú sa zhodné n-gramy z prvého textu. Keď sú skopírované celé pasáže, vyjde veľa zhodných n-gramov, ktoré idú po sebe. Potom už je to len vec toho, zvoliť správne n (pre rôzne jazyky môže byť rôzne), tak aby nebolo veľa false-positives.
A fine is a tax for doing wrong. A tax is a fine for doing well.
8.4.2012 09:22 Iohannes
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů

Děkuji za všechny odpovědi. Uvědomuji si, že program, který by byl s to se vyrovnat i s drobnými odchylkami textů, je poměrně specializovaný a složitý, ale pro začátek by mi stačil porovnávač, který by se dokázal vypořádat s tím, že jednotlivé textové bloky jsou v jiném pořadí (tj. neporovnával by text pouze lineárně od shora dolů).

Teď se mi podařilo najít něco takového (třebas nedokonalého) pro Windows pod názvem Xtreme Content Checker, ale přiznám se, že jednak se mi tak aplikace moc nelíbí, jednak bych dal přednost něčemu pod Linuxem (ideálně otevřenému).

8.4.2012 09:59 Daniel Čižinský | skóre: 28
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
Na praci s textem rozlozenym na tokeny a usporadanym do databaze existoval program Marko http://freecode.com/projects/marko, ale kdovi, kde je mu konec. Nehledal jsem pravda nijak dukladne... Jsou dalsi programy, ktere obsahuji technologii, ktera by sla pouzit (ale uz tezko bez uprav a/nebo dalsiho programovani) - treba CRM114 Dr. Yerazunise.

Mozna by alespon neco jednodussiho umel nejaky z alternativnich/pohodlnejsich diffu. Treba hledat po slovech misto po radcich umi wdiff nebo dwdiff. Nektere veci umi Diffuse.
8.4.2012 11:04 Iohannes
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů

Děkuji za tip. Bohužel onen program Marko je nedostupný a programátorsky bohužel nejsem tak zdatný, abych jiný program sám upravil. Wdiff či Diffuse jsou sice pěkné programy, ale bohužel též nezvládají nelinární uspořádání duplicit. Každopádně děkuji za pomoc. Holt zatím se manuální práci nevyhnu...

pavlix avatar 8.4.2012 11:36 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
Podle mě, pokud počítáš s dostatkem paměti, tak stačí třeba v Pythonu rozsekat text na slova. To je práce ja dva řádky kódu, kdy třeba regulárním výrazem určíš buď jak má vypadat slovo nebo jak má vypadat oddělovač (třeba vše, co není písmeno podle databáze Unicode).

A pak na tom můžeš programovat porovnání dle vlastních představ. Nejdřív můžeš porovnávat slova každé z prvního s každým z druhého a pak napočítat kolik dalších slov se shoduje. Pak můžeš doimplementovat ještě podobnost slov a podobnost frází.

Celé to jde udělat parametrizovatelné. Tak jako tak nejvíc času strávíš testováním a dodefinováváním toho, jak se to má podle tebe v různých případech chovat.
Holt zatím se manuální práci nevyhnu...
Bohužel.
Gentoo – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
8.4.2012 21:36 Daniel Čižinský | skóre: 28
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů

Bohužel onen program Marko je nedostupný.

Uznavam, ze to neni zrovna duveryhodny zdroj, ale pro informaci, zda se o to zajimat ci ne asi staci: http://www.sourcefiles.org/Miscellaneous/marko-1.1.tar.bz2
8.4.2012 22:44 Iohannes
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
Děkuji, uvidím, jestli se mi to povede zprovoznit a co to bude umět.
8.4.2012 11:46 lada
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
A co každý odstavec prohnat fourierovkou a pak už jen zjistit korelaci jednotlivých fourierových transformací (odstavců)?
8.4.2012 22:13 Michal2
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
To je _hodne_ sileny napad :-)

Softum na odhalovani plagiatu bych daval nejvetsi sanci.
12.4.2012 18:59 lada
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
Příloha:
Není to nic geniálního, ale je to schopné porovnat úseky textu napříč dokumentem a zjistit, jestli se části neopakují.

Pokud trochu rozumíte matlabu, bude pro vás hračka si to upravit třeba pro porovnávání celých slov místo porovnávání frekvenčních charakteristik jednotlivých znaků v zadaném textu, což dělá tento paprogram.

Pro jeho správné použití je nutno do 'programu' zadat název zpracovávaného textového souboru (čistě textový soubor, žádný dokument) a počet částí, na které se má soubor rozdělit. Takto vzniklé bloky textu se potom proženou fourierovou transformací a vypočítají se vzájemné korelační koeficienty jednotlivých bloků. Počet částí je nejlepší prostě otestovat a dívat se na vykreslenou mapu nebo hodnoty korelačních koeficientů. Hodnota 1 znamená, že bloky jsou stejné.

Snad vám to k něčemu bude.
rADOn avatar 12.4.2012 19:25 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Pokročilé porovnání textů
Jestli tomu dobre rozumim tak potrebujes v podstate jen naucit stary dobry diff pracovat s jinymi oddelovaci radku (regex?)… Ve druhe iteraci bych slova nahradil vystupem foneticke indexovaci funkce (soundex?) coz by mohlo zachytit i mensi preklepy.
"2^24 comments ought to be enough for anyone" -- CmdrTaco

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.