You are here: PSPad forum > České diskuzní fórum > Re: Najit-Nahradit porovnanim proti Czech.3-2-4.dic

Re: Najit-Nahradit porovnanim proti Czech.3-2-4.dic

#1 Najit-Nahradit porovnanim proti Czech.3-2-4.dic

Posted by: trevor12 | Date: 2016-06-19 15:37 | IP: IP Logged

dobry den, mam tady *.txt soubor (1,3 MB), ktery vznikl automatickym rozpoznanim OCR a zustalo v nem hodne nesmyslnych (tj. castecne nerozpoznanych) slov. Nemam ambici aby mi pspad automaticky provedl nahrazeni zkomolenin spravnym cesky tvarem, jen bych potreboval ty zkomoleniny a patvary z toho *.txt vyhazet. Pomoci regularnich vyrazu mne to nenapada jak. Tak mne napadlo jestli by neslo udelat uzivatelsky konvertor ktery by porovnaval slovo po slove z meho souboru s tim Czech.dic a kdyz by ho nenasel, tak by ho vyhodil, pricemz za "slovo" by se povazoval shluk znaku 1 az X, oddelenych mezerou, nealfanumerrickym znakem, tabem atd..

slo by to nejak udelat ?

Options: Reply | Quote | Up ^


#2 Re: Najit-Nahradit porovnanim proti Czech.3-2-4.dic

Posted by: pspad | Date: 2016-06-19 16:43 | IP: IP Logged

Bojim se, ze uzivatelsky konvertor by tolik slov nezvladnul.
Pokud je to kniha a jako OCR byl treba pouzit FineReader, tak je dobre hned na zacatku projet par stranek rozpoznavani s ucenim znaku. To nesmirne zkvalitni nasledne OCR.
FineReader uz pracuje se slovnikem a slova po OCR porovnava se slovnikem.
Finalne je vhodne to proletnout s prechodem chybu za chybou primo ve FineReader, je to rychle a efektivnejsi nez to delat nasledne.

V PSPadu by slo hledat pomoci regularnich vyrazu slova, obsahujici krome pismen i cisla, zavorky, lomitka atd. a takova slova pak opravovat nebo mazat. Kdysi jsem tak cistil hodne nekvalitni OCR v TXT a slo to docela rychle.

Options: Reply | Quote | Up ^


#3 Re: Najit-Nahradit porovnanim proti Czech.3-2-4.dic

Posted by: trevor12 | Date: 2016-06-19 17:08 | IP: IP Logged

ano byl to finereader, ale uceni by nepomohlo, jde o hodne nekvalitni predlohu s *.jpg z fotaku bez stativu, slova se neopakuji ... tak to holt necham jak to je nic jineho mi nezbyva

spis je zajimave ze doposud asi neexistuje nejaka webova aplikace kam bych ten *.txt uploadnul a ono to nejak inteligentne opravilo/vyhodilo ceska slova ktera "v kontextu vety nedavaji smysl"

Options: Reply | Quote | Up ^


#4 Re: Najit-Nahradit porovnanim proti Czech.3-2-4.dic

Posted by: pspad | Date: 2016-06-19 18:30 | IP: IP Logged

Jak jsem psal - jdou vyuzit regularni vyrazy a hledat slova, ktera obsahuji uvnitr slova nepismenkovy znak. Třeba takto (teď je to jen pro čísla, ale prostředek jde rozšířit na závorky, hvězdičku atd):
Hledat: [a-zěščřžýáíéďťňúů]+[0-9]+[a-zěščřžýáíéďťňúů]+
[x]Regularni výrazy

Pak pomocí F3 jen procházet a mazat nebo opravovat.

Options: Reply | Quote | Up ^


#5 Re: Najit-Nahradit porovnanim proti Czech.3-2-4.dic

Posted by: vbr | Date: 2016-06-19 19:54 | IP: IP Logged

trevor12:
dobry den, mam tady *.txt soubor (1,3 MB), ktery vznikl automatickym rozpoznanim OCR a zustalo v nem hodne nesmyslnych (tj. castecne nerozpoznanych) slov. Nemam ambici aby mi pspad automaticky provedl nahrazeni zkomolenin spravnym cesky tvarem, jen bych potreboval ty zkomoleniny a patvary z toho *.txt vyhazet. Pomoci regularnich vyrazu mne to nenapada jak. Tak mne napadlo jestli by neslo udelat uzivatelsky konvertor ktery by porovnaval slovo po slove z meho souboru s tim Czech.dic a kdyz by ho nenasel, tak by ho vyhodil, pricemz za "slovo" by se povazoval shluk znaku 1 az X, oddelenych mezerou, nealfanumerrickym znakem, tabem atd..

slo by to nejak udelat ?

Zdravim,
nevim, jestli by to podstatne ulehcilo praci, ale pripadne by slo udelat konvertor ne z dat celeho slovniku, ale ze seznamu slov konkretniho textu, ktery se edituje
volbou
Soubor: Informace o souboru [Podrobna statistika]
se vypise seznam slov aktivniho souboru v editoru,
Ctrl+C se cela tabulka zkopiruje a jde ji vlozit do samostatneho textu a hromadnym nahrazenim odstranit udaje o frekvenci za kazdym slovem (regex \t.* nahradit za prazdny retezec).
Pokud by se ukazalo, ze tento vypis ignoruje prave chybna slova - napr. s nepismennymi znaky, bylo by treba udelat seznam slov vychoziho textu jinak- nahrazenim mezer konci radku, abecedni serazeni s odstranenim duplicit, pripadne odstraneni nektere interpunkce pred nebo za slovy.

Snad by pak slo takovyto seznam slov srovnat se seznamem .dic kontroly pravopisu a nechat ve vysledcich porovnani vypsat chybejici (tj. nepritomne v slovnikovem souboru).

Z takovehoto seznamu potencialne chybnych tvaru by pak mohl jit udelat konvertor - s nahrazenim budto za spravnou podobu zadanou rucne, nebo za prazdny retezec.

Sam jsem takovy postup nezkousel, nevim tedy, jaka by byla efektivita a v jakych detailech by se pripadne narazilo na problemy.

Zdravim,
vbr

Options: Reply | Quote | Up ^


#6 Re: Najit-Nahradit porovnanim proti Czech.3-2-4.dic

Posted by: MichalKarlik | Date: 2016-06-20 21:25 | IP: IP Logged

Dobry den,

jde skutecne o seznam slov nebo o vety? Mohla by pomoci kontrola pravopisu z textoveho nebo tabulkoveho procesoru.

Pripadne upravit soubor stylem slovo = radka + odstraneni duplicit + odstraneni ruznych znaku pred a za slovem a nasledny spell.

Je ale velky rozdil v praci mezi Wordem 2010 a 2003 - osobni zkusenost.

Pozdravuje Michal Karlik

Options: Reply | Quote | Up ^


#7 Re: Najit-Nahradit porovnanim proti Czech.3-2-4.dic

Posted by: MichalKarlik | Date: 2016-06-20 21:37 | IP: IP Logged

A jeste jedna poznamka, na porovnavani obsahu souboru a selekci spolecnych nebo unikatnich radku je dobry program SetCompare 1.6 pana Stedronskeho.

MK

Options: Reply | Quote | Up ^


#8 Re: Najit-Nahradit porovnanim proti Czech.3-2-4.dic

Posted by: trevor12 | Date: 2016-06-21 05:31 | IP: IP Logged

dobry den, kontrola pravopisu mi nepomue, zkomolenin je prilis mnoho a rucne to opravovat nebudu, bylo by to casove narocne
******
hledal jsem a nasel na internetu script (makro) pro Word (VBA), ktery by to porovnani vuci wordlistu mel umet, ale rozchodit se mi to nepodarilo, word 2013 vzdy vytuhne, ten script ma delat to ze ty "slova" co nejsou v Czech.dic (pro potreby makra jsem si jej prejmenoval na 2.txt) zvyrazni tucne a to uz by se pak asi ve wordu dalo pres Najit (tucne) a Nahradit (za nic nebo mezeru) pouzit, staci kdyz ve wordu otevru svuj 1.txt (soubor s tim rozpoznanim) a spustim dane makro ale jak rikam vytuhne to
***********
Sub CompareWordList()
Dim sCheckDoc As String
Dim docRef As Document
Dim docCurrent As Document
Dim wrdRef As Object

sCheckDoc = "c:\2.txt"
Set docCurrent = Selection.Document
Set docRef = Documents.Open(sCheckDoc)
docCurrent.Activate

With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Font.Bold = True
.Replacement.Text = "^&"
.Forward = True
.Format = True
.MatchWholeWord = True
.MatchCase = True
.MatchWildcards = False
End With

For Each wrdRef In docRef.Words
If Asc(Left(wrdRef, 1)) > 32 Then
With Selection.Find
.Wrap = wdFindContinue
.Text = wrdRef
.Execute Replace:=wdReplaceAll
End With
End If
Next wrdRef

docRef.Close
docCurrent.Activate
End Sub

Options: Reply | Quote | Up ^






Editor PSPad - freeware editor, © 2001 - 2019 Jan Fiala, Hosted by Webhosting TOJEONO.CZ, design by WebDesign PAY & SOFT, code Petr Dvořák, Privacy policy and GDPR