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 00:11 | Nová verze

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

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

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

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

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 26
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 398 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

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

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

    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.