<div dir="ltr">Здравейте,<div><br></div><div>За съжаление, нямам свободно време и ми е трудно да участвам в нови проекти.</div><div><br></div><div>Които е изпратил някакви промени към БГОфис съм ги вкарвал - но те са били доста малко. Променя на лицензи, 1-2 сгрешени типа и пр. - нещата са описани в ChangeLog кое и какво е променяно,</div><div><br></div><div>Като съм започвал проекта съм си поставил няколко ясни, точни и изпълними цели. Описани са във файла - design_objective.txt<br></div><div><br></div><div><div>"Главната идея е да се постигне лесна и удобна структура за</div><div>съхранение и добавяне на нови данни. От тази структура с помощта</div><div>на програма да се генерират съответните речници или да се</div><div>трансформират данните в друг по-компактен вид."</div><div><br></div></div><div><div>И съм спрял до там. Т.е. в момента има структура на данните, която може да се редактира с текстов редактор и има скриптове на езика Perl, с чиято помощ може да проверявате базата (данните), да генерирате речници за проверка на правописа за Мозила, Офиса, Хром и пр. и съответно лесно може данните да се конвертират до други формати (както е видно има поне 3 клонинга). И това е като цяло. Има едно демо за разпознаване частите на речта но нищо повече и съм спрял до там. И това нещо работи под Линукс (конзола, няма GUI).<br></div></div><div><br></div><div><div>А всичко започва и се базира на тази книжка - Кръстев Б., Морфология на българския език в 187 типови таблици. С., НИ, 1984.</div></div><div><br></div><div>От там нататък Читанка, Уикиречника - ги качват нещата в Уеб, комбинират ги отделните модули. И всичко това е похвално.</div><div><br></div><div>IDI Spellchecker-а отива доста по-напред и прави доста нови неща, но за съжаление нищо не е вкарано обратно (поне по базата) и съответно това не допринася по никакъв начин за разширение на речниците за проверка на правописа за Мозила, Офиса и пр.</div><div><br></div><div><br></div><div>Доколкото разбирам има две идеи. Едната е да се направи нещо ново и хипер мега яко - Словник. А другата идея е на г-н Стоян Димитров, който просто иска да разшири речника на Мозила.</div><div><br></div><div><br></div><div>Разширяването на речника на Мозила е сравнително лесно постижима цел с наличните средства - все пак аз съм вкарал близо 65 000 думи по този начин.</div><div><br></div><div>Намират се думичките, определя им се типа, вкарват се в съответните файлове - има някакви скриптове за автоматизиране на процеса, но като цяло е ръчен процес.</div><div><br></div><div>След това има скриптове за проверка на състоянието на базата - дали думичките са вкарани в правилните файлове, дали няма някоя латинска буква вкарана (примерно латинско а) и още някоя и друга проверка (забравил съм ги вече). И след това с помощта на друг скрит се генерират речниците за Мозила, Офиса и пр. - процесът е изцяло автоматизиран.</div><div><br></div><div><br></div><div><br></div><div>Commit достъп до SVN мога лесно да ви дам. Просто се регистрирайте <a href="http://sourceforge.net/">http://sourceforge.net/</a> и ми пратете потребителското име.</div><div><br></div><div>Като цяло няма правила за преглед и проверка. Но в случай на нужда мога да погледна дали всичко е наред. Мога да хвърля едно око на кода и да си спомня какви бяха процедурите. Голяма част от тях са интуитивни, скриптовете са с говорящи имена. Вероятността да се обърка нещо е доста малка. Така че няма проблеми.</div><div><br></div><div>В момента като гледам по логовете има един колега, който бърника нещо по английско-българската база на речника, но това по никакъв начин няма влияние върху българската база за проверка на правописа.</div><div><br></div><div>В проекта има три директории:</div><div><br></div><div>1. docs - документи, описващи някои неща - главно за мен да не ги забравя</div><div>2. data - данните - структурата е описателна и няма нужда да се чудите кое какво е. В началото на всеки файл има коментари, ако нещо съм измислял извън книгата - 187 типа ;)</div><div>3. bin - скриптове за поддръжка и генериране на речници - също е описателна и лесно се разбира кой скрипт какво прави.</div><div><br></div><div>Мисля че трябваше да направите "export LANG=bg_BG.cp1251" и после да пускате скриптовете - иначе се получават леко странни резултати. Трябва да е описано в документите. ;)</div><div><br></div><div><br></div><div>И най-лесния начин според мен е да се работи съвместно с автора на IDI Spellchecker, за да се види какво е променял и добавял той и дали може нещо от него да се изчопли и да се вкара в базата на БГОфис и съответно да се генерират речниците за Мозила, Офис, ....</div><div><br></div><div><br></div><div>Поздрави,</div><div><br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-03-31 1:03 GMT+03:00 Стоян Димитров <span dir="ltr"><<a href="mailto:stoyan@gmx.com" target="_blank">stoyan@gmx.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><span class="">
<br>
<br>
<div>На 30.03.2015 г. в 22:05, Sah War
написа:<br>
</div>
<blockquote type="cite">
<pre>1. Ако знаете как, ще се радвам да създадете .txt вариант на db.sql.gz (все
пак това е SQL база от данни...), даже е добре този вариант да се раздели
на няколко отделни .txt файла, защото иначе ще е мъка да се редактира с
текстов редактор.
Това бих могъл сравнително лесно да го направя. Просто трябва да уточним
</pre>
<blockquote type="cite">
<pre>детайлите.
</pre>
</blockquote>
<pre>1. Ами, ако просто в отделните .dat файлове са сложени различни думи според
частта на речта, към която принадлежат, то просто тези файлове трябва да се
преобразуват в .txt (UTF-8). Аз обаче не знам нищо за форма̀та за бази от
данни SQL освен това, че става въпрос за релационна база от данни. Не знам
как такъв тип файл се преобразува в .txt, затова и потърсих вашата помощ.
Обяснете какви подробности да обсъдим по отношение на тази дейност, за да
се разберем по въпроса.</pre>
</blockquote></span>
Ако искате структура като тази в папката data ще стане, но файловете
ще бъдат без заглавния коментар, както е в изходните файлове от
хранилището, всичко останало е постижимо. Утре вечер ще напиша
скрипта, че вече е никое време.<br>
<br>
<blockquote type="cite"><span class="">
<pre>Това е непосилен и безмислен труд. За набирането на този речник едва ли е
</pre>
<blockquote type="cite">
<pre>използвана пишеща машина. Но кой знае…
</pre>
</blockquote>
<pre>2. Пишеща машина?!? Кой още използва такива? Това е речник от 2012 г.,
вероятно е направен на Adobe InDesign, сканиран е като черно-бял (освен
предната и задната корица). А че тази работа ще отнеме много време, е
пределно ясно.
До колкото имам спомени в таблицата на уникод няма знак за ударено ъ.
</pre>
<blockquote type="cite">
<pre>Другите знаци ги има, наистина не са в кирилската част на таблицата, но
поне ги има, така че като вариант остава композирането.
</pre>
</blockquote>
</span><pre><span class="">
3. Трябва да гледате само блока „Cyrillic
</span><a href="http://www.babelstone.co.uk/Unicode/babelmap.html" target="_blank"><http://www.babelstone.co.uk/Unicode/babelmap.html></a>“ (кирилица) в Уникод;
омографите в латинските блокове на Уникод, които са визуално идентични с
кирилски знаци (с ударения), липсващи в кирилския блок, не бива да се
използват в кирилски текст, те не излизат при търсенето с Ctrl + F, защото
имат отделни заделени кодове в Уникод. В кирилския блок има само знака „ѝ“,
който се използва в българския език (а може би и в македонския?), има и
„е“, но с „обратно“ ударение, което май не се ползва в българския език (в
нашия ударението изглежда като умален вид на „\“ над дадения знак).
„Композирането“ по Уникод е най-удачният вариант според мен, вече обясних
причините, поради които съм на това мнение (накратко: чрез уникодско
композиране за добавяне на ударения при търсене с Ctrl + F се открива както
същия низ с ударенията, така и същия низ без ударенията, което е огромно
удобство).
Мда, това е HTML-ският аналог на уникодското композиране на знаци. И аз
</pre><span class="">
<blockquote type="cite">
<pre>не смятам, че то е подходящо за целта.
</pre>
</blockquote>
</span></blockquote>
Да, да, много правилно. Не се бях замислял за търсенето, но не ми се
струва, че ще работи както трябва. Все пак става дума за знак, бил
той и невидим, между видимите знаци. Но това е въпрос на реализация
на търсещия алгоритъм.<span class=""><br>
<blockquote type="cite">
<pre>4. За пръв път чувам, че в HTML има отделно композиране (смесване на знаци)
от това на Уникод (знам само за HTML entities), къде го има описано това в
Интернет?!?</pre>
</blockquote></span>
Мне, грешал съм. Читанката е използвала нещо друго. Иначе да,
HTML-ското комбиниране си е уникодското, но се използват видимите
entities [1].<div><div class="h5"><br>
<blockquote type="cite">
<pre>Колкото до сричкопренасянето — то е трудно и за да е точно (а не просто
</pre>
<blockquote type="cite">
<pre>генерирано по алгоритъм, който често дава напълно грешни варианти за
сричкопренасяне), то трябва да се направи като ръчно написан списък със
сричките на думите.
</pre>
</blockquote>
<pre>5. Има и друг проблем, който осъзнах едва сега. Трябва да се използва
правилният знак за отделяне на срички (който е „‧“ (U+2027, HYPHENATION
POINT), но в практиката се използва предимно дефисът „-“ — но това прави
проблеми, защото последното може да се счете за полуслят правопис, а е за
сричкопренасяне чрез дефис...). Но да се върна към проблема, за който щях
да кажа — трябва да има думата, дадена без разделяне на срички и после (на
същия ред) прилежащите ѝ срички, иначе може да се окаже, че
сричкопренасянето дава грешни варианти за сричкопренасяне при съвпадане на
части от думи откъм букви, което кара системата да си мисли, че
сричкоделенето е по даден начин, а той всъщност е неправилен... Сложна
работа... :\ Пък и трябва ръчно да се въведат сричките на думите...
Разбрах ви напълно. А сега очевидния въпрос, на който отговорът
</pre>
<blockquote type="cite">
<pre>вероятно е истеричен смях, но някой свързвал ли се е с хората от БАН, за
евентуално подпомагане на проекта? Било то с изходните кодове на речника
или по друг начин?
</pre>
</blockquote>
<pre>6. Немалка част от тези от ИБЕ при БАН живеят в епохата на 1990-те и още не
са си оправили жалкото онлайн подобие на многотомния си речник (
<a href="http://ibl.bas.bg/rbe/" target="_blank">http://ibl.bas.bg/rbe/</a>, едва Борислав Манолов от „Читанка“ го направи
по-ползваем чрез неговия frontend на речника им: <a href="http://rbe.chitanka.info" target="_blank">http://rbe.chitanka.info</a>),
не можем да очакваме реална помощ от тях, въпреки че можем да се пробваме
поне да ги помолим да ни предоставят базата от данни на речника си, но
по-скоро ми се струва, че ще се заинатят и ще си държат на „авторското
право“ над базата от данни...</pre>
</blockquote></div></div>
Мхъм, мъхъм, номерът с авторското право, естествено.<br>
<blockquote type="cite"><span class="">
<pre>7. Само тези от Секцията по компютърна лингвистика към БАН са напред с
материала (<a href="http://dcl.bas.bg/programs_bg.html" target="_blank">http://dcl.bas.bg/programs_bg.html</a>,
<a href="http://dcl.bas.bg/resources_bg.html" target="_blank">http://dcl.bas.bg/resources_bg.html</a> и особено
<a href="http://dcl.bas.bg/dictionaries_bg.html" target="_blank">http://dcl.bas.bg/dictionaries_bg.html</a>) и само на тях възлагам надежди. Те
имат публикувани свободни данни, като честотен речник, генериран от корпус,
които могат евентуално да се вградят в речниковата база на „БГ Офис“, но и
за тях не е ясно дали са проверени от човек за правописни грешки и дали ще
се съгласят да ни дадат базите си от данни на речниците си, което де факто
означава да ги пуснат под свободен лиценз...
Не смятам, че е лош вариант да се смени първоизточника и за основа да се
</pre>
<blockquote type="cite">
<pre>използва нещо по-осъвременено, не разбирам идеята да има няколко еднакви
начинания за едно и също нещо и нито едно от тях да не връща обратно за
постигане на целта на първоизточника – по-добър БГ Офис.
</pre>
</blockquote>
</span><pre><span class="">
8. Реално няма чак толкова много речници що се отнася до spellchecker-и за
българския език, освен официалната добавка за Firefox, наречена „Проверка
на правописа
</span><a href="https://addons.mozilla.org/en-US/firefox/addon/bulgarian-dictionary/" target="_blank"><https://addons.mozilla.org/en-US/firefox/addon/bulgarian-dictionary/></a>“
(използва myspell, може би е основана речник от „БГ Офис“?), има само
добавките „Bulgarian+English Dictionary“, „Bulgarian+German Dictionary“ и
добавка със стария иванчевски правопис, който не е актуален. Само при
онлайн речниците на българския език има по-голямо разнообразие, защото
нишата още не е доминирана от по-сложно устроен свободен онлайн речник
(какъвто ще бъде нашият проект „Словник“), само <a href="http://rechnik.info" target="_blank">rechnik.info</a>,
<span class=""><a href="http://onlinerechnik.com" target="_blank">onlinerechnik.com</a>, <a href="http://eurodict.com" target="_blank">eurodict.com</a> и <a href="http://rechnik.chitanka.info" target="_blank">rechnik.chitanka.info</a> се използват
реално, другите са с много ограничена употреба. Имам дълъг списък с такива
български онлайн речници — ако искате, ще ви го изпратя.</span></pre>
</blockquote>
Добавката използва форматиран .aff от ООо. Имах предвид главно „IDI
Spell Checker“ и речникът на Читанка. Читанката я обсъдихме като
ненадежден източник.<span class=""><br>
<blockquote type="cite">
<pre> Склонен съм да използвам текстова база от данни стига това да има
</pre>
<blockquote type="cite">
<pre>някакъв резултат, въпреки наличието на структурирани данни от базата на
„Читанка“ (които по обективни причини са неизползваеми за целта).
</pre>
</blockquote>
<pre>9. Просто няма друг вариант в случая, освен използването на текстова база
от данни — все пак „БГ Офис“ използва aspell и ispell (не знам дали
използва hunspell, myspell и/или enchant), които доколкото знам работят
само с текстови файлове. Поправете ме, ако греша.</pre>
</blockquote></span>
Амии, има други варианти. Една реализация е именно речникът на
Читанка. Структурата на базата е добра. Вече нещата опират до набор
от инструменти, с които се борави с тези данни. Дали ще се извеждат
в текстови файлове или данните ще се обработват по друг начин е без
значение. Истината е, че в момента мигриране към база от данни няма
да допринесе с нищо, а напротив. Инфраструктурата (скриптовете
генериращи различните неща) на проекта очевидно работи в този ѝ вид.<span class=""><br>
<blockquote type="cite">
<pre>10. Сега видях от <a href="https://svn.code.sf.net/p/bgoffice/code/trunk/bgoffice/" target="_blank">https://svn.code.sf.net/p/bgoffice/code/trunk/bgoffice/</a>,
че .dat файловете на „БГ Офис“ са всъщност обикновени текстови файлове, а
аз си мислех, че са двоични файлове... Но всички файлове са в Windows-1251,
трябва да се конвертират до UTF-8.</pre>
</blockquote></span>
Господин Раднев, смятам, ще се съгласи с това твърдение. Аз също съм
твърдо „за“.<span class=""><br>
<blockquote type="cite">
<pre>11. Мисля, че на първо време е най-добре г-н Раднев или вие, г-н Димитров,
да направите копие на всичко от „БГ Офис“ (в SourceForge) в GitHub и да си
сътрудничим по проекта там, защото просто не разбирам нищо от SVN. :D После
не би било проблем да копираме новите издания от GitHub като нови версии в
SVN-то на хостигна на „БГ Офис“ в SourceForge.</pre>
</blockquote></span>
Точно това искам да избегна. Поредното копие на „БГ Офис“. Наистина
разликата е, че то ще е общодостъпно, но все пак е копие. От друга
страна като за работа от повече хора GitHub е по-добрият вариант,
несъмнено. Все пак това е целта му.<br>
Господин Раднев, какво е вашето мнение? От друга страна, какви са
критериите за получаване на commit права върху хранилището или части
от него? Как става преглеждането и приемането/отхвърлянето на
промени правени от други?<br>
<blockquote type="cite"><span class="">
<pre>П.П. Ех, писмото ми пак стана прекалено дълго. :D Май ще забравите за какво
съм писал докато четете, затова номерирах абзаците, за да ви е е по-лесно
да ги цитирате и да ги обсъдим. :)
Поздрави,
Sah War (sahwar)
</pre>
<br>
<fieldset></fieldset>
<br>
</span><span class=""><pre>_______________________________________________
Dict mailing list
<a href="mailto:Dict@ludost.net" target="_blank">Dict@ludost.net</a>
<a href="http://lists.ludost.net/cgi-bin/mailman/listinfo/dict" target="_blank">http://lists.ludost.net/cgi-bin/mailman/listinfo/dict</a>
</pre>
</span></blockquote>
[1] <a href="http://eenk.com/postavyane-na-udareniya-na-kirilitsa-s-html" target="_blank">http://eenk.com/postavyane-na-udareniya-na-kirilitsa-s-html</a><span class=""><font color="#888888"><br>
<pre cols="72">--
С</pre>
</font></span></div>
<br>_______________________________________________<br>
Dict mailing list<br>
<a href="mailto:Dict@ludost.net">Dict@ludost.net</a><br>
<a href="http://lists.ludost.net/cgi-bin/mailman/listinfo/dict" target="_blank">http://lists.ludost.net/cgi-bin/mailman/listinfo/dict</a><br>
<br></blockquote></div><br></div></div>