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í
×
    včera 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    8.5. 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.5. 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    8.5. 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    8.5. 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 17
    7.5. 03:55 | Komunita

    sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (21%)
     (4%)
     (2%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 568 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    Rozcestník

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

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

    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 d.c. | skóre: 30
    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: 54 | 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
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    AraxoN avatar 8.4.2012 08:35 AraxoN | skóre: 47 | 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.
    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 d.c. | skóre: 30
    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: 54 | 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.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    8.4.2012 21:36 d.c. | skóre: 30
    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.