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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 10
dnes 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 4
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 10
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 4
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 1
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 772 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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

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

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
GentooFedoraSCRAM – 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.
GentooFedoraSCRAM – 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.