Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #31650

Uczenie maszynowe - detekcja UTF

Path csiph.com!weretis.net!feeder4.news.weretis.net!news.unit0.net!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From Borneq <borneq@antyspam.hidden.pl>
Newsgroups pl.comp.programming
Subject Uczenie maszynowe - detekcja UTF
Date Mon, 9 Jul 2018 06:01:15 +0200
Organization ATMAN - ATM S.A.
Lines 33
Message-ID <phumma$n2k$1@node2.news.atman.pl> (permalink)
NNTP-Posting-Host public-gprs350543.centertel.pl
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 8bit
X-Trace node2.news.atman.pl 1531108874 23636 37.47.0.144 (9 Jul 2018 04:01:14 GMT)
X-Complaints-To usenet@atman.pl
NNTP-Posting-Date Mon, 9 Jul 2018 04:01:14 +0000 (UTC)
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.0
X-Mozilla-News-Host news://news.atman.pl:119
Content-Language pl
Xref csiph.com pl.comp.programming:31650

Show key headers only | View raw


Robię detekcję tekstu czy jest  UTF8/binarnym (na razie jeden 
kubełek,potem rozdzielam innym, dobrym sposobem),
czy jest UTF16 czy Little Endian czy Big Endian, czy UTF32 - tak samo.
W ten sposób że robię 4 histogramy, kolejne bajty wrzucam do 0,1,2,3 
histogramu.
W histogramach zliczam nie tyle niezerowe elementy, ale niezerowe i 
niezbyt małe na podstawie kwantyli.
I mam :
dla binarnego na prykład: 186,196,174,193, jeśli duży badany plik, 
rośnie do 230, w przeciwnym przypadku maleje.
Dla UTF16Le:
60,1,64,1 - dla tekstu z polskimi, 66,1,65,1 dla cyrylicy (podobnie)
Dla UTF16Be:
1,60,1,64 - dla tekstu z polskimi, 1,66,1,65 dla cyrylicy, czyli tylko 
zamiana parzystych z nieparzystymi.
Utf32LE:
tekst grecki: 59,1,1,1
Utf32BE: grecki 1,1,1,59
Robiłem w ten sposób że dla każdego kubełka miałem punkty i dla danej 
cechy typu - parzyste podobne do nieparzystego dodawałem punkty, potem 
odejmowałem. I liczyłem ilość punków w stosunku do maksymalnej ilości 
dla tego kubełka.
Im mniej tekstu badam, tym histogramy mniej pomagają, ale w pewnym 
momencie wystarczyło zaledwie 30(!) bajtów tekstu by poselekcjonować 
wszystkie przykłady.
Ale zmieniłem przykłady i muszę na nowo dostrajać: jest A powinno być B, 
więc robię cięższy test A i luzuję B,
ale znowu kłopot z C itd. Największy kłopot jest z UTF32.

Teraz przychodzę do sedna: zamiast dostrajać, jak nauczyć maszynowo? 
sieci neuronowe, niekoniecznie głębokie,
Bayes?(może tak!) , maszyna wektorów nośnych SVM ?
czy jest jakaś metoda, która wskaże błąd, gdy nie podoła?

Back to pl.comp.programming | Previous | Next | Find similar | Unroll thread


Thread

Uczenie maszynowe - detekcja UTF Borneq <borneq@antyspam.hidden.pl> - 2018-07-09 06:01 +0200

csiph-web