IDI Spell Checker 24.02.07

От време на време се появяват идеи за странични проекти. Обсъждайте ги тук.
Правила
Уважавайте другите участници и се отнасяйте с тях така, както бихте желали те да се отнасят с вас!
Отговор
Аватар
GeOrg
Мнения: 203
Регистрация: 04 август 2006, 15:52
Местонахождение: Пловдив, Ивайловград

Мнение от GeOrg »

Току що бях на сайта със спелчекъра. Какво ми направи впечатление - Милан, Юве,Росонерите не се дават като грешни в примерите които си дал, а би трябвало. Докато за Милан е нормално тъй като може да е име на човек, то за Юве(Ювентус) и Росонерите(росонерите) това е ненормално. Последните две са съвсем правилни думи за текст с насоченост към футбола, но не и за други текстове. Следователно си ги добавил в потребителския речник. Ако междувременно редактираш текст със съвсем друга насоченост, когато ти се наложи да редактираш отново подобен ще се наложи тези същите думи отново да ги задаваш като правилни ако са използвани.
Разбира се това е елементарен пример в подкрепа на искането ми за възможност за съхраняване на потребителски речник и последващо активиране.
Може и така да е, ...!
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

@GeOrg,
Мерси за забележката, тъкмо ще направя още някои уточнения. Думи като "росонер" и пр. са в основния речник и не им е мястото в потребителски. Всяка дума, която не е грешка, се смята за валидна словоформа и се включва в основния речник и тук не се ръководя от съображения като официалност или политическа коректност. Ако си любопитен, "росонерите" е на 43'698-мо място по разпределение (натисни тук) от 1,089,474 словоформи в основния речник (за v1.22), което я прави доста честа дума. По бТВ ще я чуеш почти във всяка спортна емисия. Също така е вярно, че тази дума едва ли някога ще се появи в официален речник. Ако оставя само официалните речникови думи ще трябва да изтрия вероятно стотина хиляди словоформи. В речника има стотици културни феномени, като Аеросмит, Скайуокър, хиляди световни градове, села и геогр. обекти, като Брадфорд, Вюрцбург, Стоунхендж, Хийтроу и пр., които повечето хора дори не са чували. Също хиляди чужди собствени имена. Както и около хиляда думи (и се увеличават) с обратна транслитерация от английски, немски, френски, руски и други езици, напр. администрейшън, айлънд, върджин, Берлинер, гезелшафт, нахрихтен, здравствуй, навсегда, крейзи, обсерватьор, парадайс, парадайз и т.н. Добавям подобни думи само ако нямат близка нормална и често използвана българска словоформа, на които е възможно да са грешка. Затова има и доста известни чужди имена, които умишлено липсват в речника (има и стотина рискови форми, които съм добавял преди година, когато съм бил по-малко стриктен и които ще махна в най-скоро време, напр. "Лех" в тип "име" (от Лех Валенса) може да е грешка на "Лек"). Накратко всяко нещо, което съзнателно авторът е искал да напише с български букви, се счита за валидна словоформа. Напр. потърси в Гугъл "крейзи" или "нахрихтен" и т.н. и ми прати линк с поне един пример, където това е правописна грешка и веднага ги махам от основния списък :) Ако си любопитен какво означава дадена дума, включена в речника, отвори файла settings.txt и промени петият ред:

LOAD_BG 0

да стане

LOAD_BG 1

Сега като пишеш само една дума в десния панел, например Брадфорд, ще може да видиш какво точно означава (в случая Брадфорд е в тип "place", т.е. име на населено или географско място и в тип "name", тоест има и такова име на човек). Тип "alltowns" e за населени места в България (напр. Джокари). Тип "cult" e за културни феномени (музикални състави, организации, имена на герои, богове и пр.), напр. Грийнпийс, Хизбула, Екогласност, Еминем, Джокондата, Робинзон, Титаник, Флинтстоун, Херкулес, Гонзо) или измислени от авторите думи, които са добили популярност, напр. Дъмбълдор, Хогуортс. Тип "trans" е за обратни транслитерации, напр. крейзи. Тип "propr" - за собственически имена, като имена на фирми, запазени марки (Майкрософт, Мерцедес-Бенц). Тип "abbr" - съкращения (ВМРО-ДПМНЕ, НЦИОМ, х-л). Ще видиш и други типове, чието значение се подразбира.

Например въвеждаш "Хюстън" в десния панел:

Изображение

След като разгледаш типовете, върни опцията в оригиналния й вид LOAD_BG 0, защото, при включена опция, програмата зарежда един 40Mb файл с типова информация и това всеки път ще ти бави стартирането на програмата с 5-10 секунди. Има и доста други трикове с опциите, но няма да ги обяснявам, че може би ще има повече вреда, отколкото полза за обикновените потребители.

Още нещо. Ако въпреки всичко смяташ, че не искаш дадена дума да е в речника, тоест искаш да се оцветява в червено, просто отвори файла "b_bulgarian_risk.txt" и я добави на нов ред най-отгоре или най-отдолу (или в сортиран порядък по средата на файла, стига да е на нов ред). Така тази дума, въпреки че е в речника, ще се оцветява в червено. Там съм добавил думи като "па" (грешка на "на") и някои други, но списъка с кандидати не е пълен. Например, току що добавих редкия глагол "крея", тъй като често е грешка на "крия" или "края".

Има и доста краен вариант — да генерирам речник само с основните думи, без никой от изброените по-горе допълнителни типове и да го включа в пакета като алтернативен. Така ще отделяш двойно повече време за коригирането на текст, защото текстът изведнъж ще почервенее яко, но пък няма да имаш съмнение, че си пропуснал нещо.

Би ми отнело 2-3 часа да кодирам работа с няколко потребителски речника и може би ще го направя, като намеря време. Точно сега пиша някои други "благинки", които ще са в следващата версия след няколко дни.
Последната промяна е направена от dd на 2. Мнението е било променяно 2 пъти.
Аватар
GeOrg
Мнения: 203
Регистрация: 04 август 2006, 15:52
Местонахождение: Пловдив, Ивайловград

Мнение от GeOrg »

Да, разбрах благодаря за разяснението - тръгнал си по втория път - служебни речници за специфични думи обединени в основния. Това решава въпроса който ме безпокоеше. В такъв случай бих ти предложил да направиш някакъв вид контейнер за обратна връзка(или каквото решиш) от ползващите програмата с предложения за словоформи който все още не са отчетени в основния речник. Определено ще възникват такива и ще бъде много по-лесно за тебе да систематизираш, обогатяваш и актуализираш същия.
Може и така да е, ...!
Асен
Мнения: 19
Регистрация: 13 юли 2007, 23:27

Мнение от Асен »

Току-що пробвах програмчето, великолепно е! Браво на dd!
Имам едно предложение - да се направи така, че небългарски знаци (букви или не) плюс българска дума, свързани със съединителна чертица да не бъдат отбелязвани като грешни.
Пример: LSD-халюцинация, γ-лъчи, β-частица и т.н. Също се сещам за П-образен, Т-образен и пр., които сега програмата ги отчита за грешни.
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

Благодаря, Асене. Наясно съм с това и ще го оправя по-нататък.

Качих v1.23, която коригира две грешки. Във v1.22 въведените потребителски думи не се запазват в потребителския речник след спиране на програмата (това ми е убягнало, тъй като ползвам администраторска версия с друг набор от настройки, при които потребителският речник се запазва). Също така v1.22 може да не работи читаво с някои Intel-ски процесори, тъй като съм забравил да махна Athlon-ски флаг за оптимизация при компилиране на една от библиотеките.

Добавих и някои незначителни екстри. Ако е включена опцията LOAD_BG може да натиснете бутончето "инфо", след което ако в десния панел изберете българска дума (най-бързо става с двойно кликване върху нея), в допълнително прозорче ще се покаже информация за типа на думата. Ако думата е английска, двойно кликване върху нея ще покаже в прозорчето превод на български.
Последната и единствена промяна е направена от dd на 05 декември 2009, 15:32.
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

Версия 1.25. Търсене и коригиране на пунктуационни грешки. Почти всички грешки от тази тема на Мандор се хващат, без тези, които са специфични за Читанката и при други текстове не биха били грешки. Списък с пунктуационните грешки се показва в левия панел след обобщения списък с правописни грешки. Може да ги коригирате чрез съответни щраквания в левия панел, но за по-сигурно ползвайте левия панел само за бързо позициониране върху съответната грешка (чрез кликване върху червен текст), а самото коригиране правете на ръка в десния. Ето и кратко видео демо за тези, които имат време.

Изображение

В 1.25 предложенията за корекция вече се разделят със символа "|" вместо със запетая, тъй като при новите промени запетаята понякога е част от предложението за корекция и няма как да е разделител.
Например: този,който -> този, който
Последната промяна е направена от dd на 2. Мнението е било променяно 2 пъти.
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

v1.26. Първа ревизия на пунктуационната корекция. Оправих две грешки, добавих нови грешни пунктуационни комбинации и леко изчистих интерфейса.
Последната промяна е направена от dd на 2. Мнението е било променяно 2 пъти.
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

v1.28. Добавих стандартните менюта за отваряне и запис на файл, както и за промяна на шрифта. Наскоро се потвърдиха подозренията ми, че незначителните осемдесетина процента от хората не могат да ползват програмата, защото просто не успяват да намерят менюто "File" -> "Open" :lol:

(v1.27. bugfix)
Последната промяна е направена от dd на 2. Мнението е било променяно 2 пъти.
Аватар
Boman
Мнения: 89
Регистрация: 03 февруари 2007, 08:24

Мнение от Boman »

Не мога да коментирам как се справя програмата, защото още не съм я ползвал достатъчно. Пробвах v1.26 на Vista и намираше някакви странни несъществуващи грешки, като например „интервал ?“ и само английските думи, но не и българските. Искам само да ти предложа нещо по настройките и интерфейса. Компилирай я само с английски имена на менютата и бутоните, защото не са Unicode и излизат въпросителни на машини, на които не може (не е разрешено) да се смени Non-Unicode Application на Cyrillic. Така или иначе имаш ToolTips on hover на български. Или поне направи да може да се сменят с настройка на български и английски, защото сега половината са смесени български и английски. Ако продължаваш да усъвършенстваш програмата, което е хубаво, ще дойде момент в който ще съжаляваш че не си ползвал Unocode, но тогава ще е трудно да я прекомпилираш.
Закон на Мърфи: ако мнението ми във форума може да бъде разбрано погрешно, то това ще стане!
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

Boman, благодаря за интелигентния коментар. Всъщност всички менюта от самото начало са Unicode, както и ToolTips на български, както си забелязал. Специално заради твоите забележки смених в настройките на Уиндоуса си (в Windows XP е "Control Panel -> "Regional and Language Options" -> "Advanced") езика на Non-Unicode приложенията от български на френски и след рестарт наистина открих един надпис (на чекбокса "Оцветявай"), който съм пропуснал да припокрия с Unicode и излиза като "??????????". Също няма никакъв проблем с коректната работа с текстовете на читанката, тъй като всички файлове се зареждат като Unicode, редактират се като Unicode и се записват като Unicode. Тоест "нищо не се губи".

Проблем обаче наистина има, но не там където ти изглежда на пръв поглед. Ползвам малко код от една моя стара програма за статистически анализ на текстове (български и английски), която работи само с ANSI стрингове и в чекъра това парче код ползвам наготово, за да извеждам обобщената информация за грешките. Поради това анализът, както и търсенето в чекъра, включително и за пунктуационни грешки, правя върху ANSI версия на текста, който е зареден в панела, което за 99% от текстове не е проблем. Оттук и проблемът с пунктуационните комбинации <интервал><въпросителен> или <въпросителен><интервал><малка буква> и несъществуващите грешки, които си намерил. Въпросителният знак в редки случаи не е част от оригиналния текст, а просто символ, с който буква, която е невъзможно да се конвертира от Unicode в ANSI е заместена в междинната ANSI версия, в която се извършва търсенето. Ако заредиш например този текст в чекъра http://www.chitanka.info/lib/text/11814/0 ще видиш няколко такива несъществуващи комбинации <въпросителен><интервал><малка буква>. Това, разбира се, е грешка, както и цялата междинна ANSI конверсия, която макар и несъществена, рано или късно ще намеря време да оправя. Поради този проблем програмата също НЕ МОЖЕ да търси в бг текст и вероятно ще крешва, ако Non-Unicode езикът, настроен за съответната машина не е български. Това, че менютата и надписите са на български е само за ориентир за същността на програмата при първоначално стартиране върху небългарски Уиндоус, но не и за последваща работа. Почти всички Уиндоуси, инсталирани и работещи в България, са настроени на български Non-Unicode, така че и тук няма проблем.
Последната и единствена промяна е направена от dd на 05 декември 2009, 15:33.
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

v1.29. Оправих грешката с откриването на несъществуващи пунктуационни комбинации, съдържащи въпросителен знак.
v1.30. Още дребни корекции.
Последната и единствена промяна е направена от dd на 23 септември 2009, 20:57.
didikot
Мнения: 5
Регистрация: 08 май 2009, 09:26

Да го беше написал по-рано...

Мнение от didikot »

"Поради този проблем програмата също НЕ МОЖЕ да търси в бг текст и вероятно ще крешва, ако Non-Unicode езикът, настроен за съответната машина не е български." - Толкова време се чудя защо Spell checker-а забива под Windows 7, а сега като коригирах това, работи прекрасно. Поздравления за програмата :)
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

didikot написа:"... НЕ МОЖЕ да търси в бг текст и вероятно ще крешва, ако Non-Unicode езикът, настроен за съответната машина не е български." - Толкова време се чудя защо Spell checker-а забива под Windows 7, а сега като коригирах това, работи прекрасно. Поздравления за програмата :)
Благодаря. Вероятно съм подценил този проблем. Ще драсна един ред в help-a на следващата версия.

Версия 1.31. Пунктуационните грешки, освен че се извеждат в левия панел, вече се подчертават в самия текст в десния. Пример:

Изображение
Последната и единствена промяна е направена от dd на 05 декември 2009, 15:33.
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

Събрах малко наблюдения и реших и аз да се изкажа...

Първо - чисто интерфейсни дреболии:
- Невъзможността да се променя съотношението между двата основни прозореца (открити проблеми и основен текст) е дразнеща, но не е фатална.
- Интуитивно не е ясно за какво служи бутонът "<-", освен че малко намалява размера на прозореца с проблемите. При промяна в размера на прозореца на програмата старото съотношение се възстановява.
- Подредбата на думите в прозореца с проблемите е напълно неясна. Не е по реда на срещане, не е по азбучен ред... Може би е по-удачно в началото да се показват думите с главни букви (за да се проверят евентуалните имена) и след тях - останалите? Не съм сигурен. Но в момента, ако видя някоя оцветена дума в основния текст, е почти невъзможно да я намеря в прозореца с проблемите.

Сега - за по-сериозните проблеми. За съжаление функцията "Цветен филтър" е напълно непригодна за мен. Малко отклонение - може би наименованието "Редки думи" ще е по-подходящо от "Цветен филтър"?
Доколкото разбрах, оцветените редки думи могат да се прегледат само чрез прелистване в основния текст, което е логично. Обаче как на практика да стане това, след като текстът е изпълнен с розови и червени маркери, които непрекъснато привличат погледа? За съжаление изключването на "Оцветявай" влияе и върху цветния филтър, така че или всичко е оцветено, или нищо - не може да се "засветят" само редките думи, за да се прегледат на спокойствие.
Второ: маркирането на думите с различна честота с различни цветове е напълно излишно. На практика потребителят не се интересува колко точно рядка е дадена дума, а дали я има. Според мен е напълно достатъчно да има един-единствен цвят за редките думи, а ако някой толкова иска да ги разграничава, може да се сложи настройваем "праг" на задействане. Но това едва ли е нужно.
И трето: прекарах три романа през тази функция и не открих нито една сгрешена дума сред оцветените от цветния филтър. За сметка на това по-късно открих няколко често срещани (след OCR) грешки, включително и примерите, които посочих в другата тема - "конто" вместо "който" или "които" и "понита" вместо "попита". С което и приключи моето използване на "цветен филтър". Като че ли общата правописна корекция и корекцията след OCR се очертават като две самостоятелни направления...

Пунктуационните грешки. Прекрасно нововъведение, но... доста от простите проблеми не са включени. Отначало реших, че правилата (регулярните изрази?) са изнесени във външен файл като останалите данни на програма и мога сам да ги допълня, но не ги открих. За съжаление темата "Съвети за начална редакция..." описва шаблони за търсене в неформатиран текст, а аз обикновено използвам спелчекърите като последен етап в работата си, след като текстът вече е форматиран, а това прави голямо количество от шаблоните неработоспособни.
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

Mandor, благодаря. Всякакви мнения са добре дошли, особено от хора, които разбират за какво става дума.
Mandor написа: - Невъзможността да се променя съотношението между двата основни прозореца (открити проблеми и основен текст) е дразнеща, но не е фатална.
Абсолютно съм съгласен. Проблемът е, че пиша програмата на C плюс чист Win32 (директен API interface) и затова не мога да ползвам готови MFC класове. Трябва да импортирам "сплитър контрол" на ръка (към 200 реда — има го като open source, например тук) и ще го направя когато ми остане време.
- Интуитивно не е ясно за какво служи бутонът "<-", освен че малко намалява размера на прозореца с проблемите. При промяна в размера на прозореца на програмата старото съотношение се възстановява.
Този бутон е голяма глупост. Още ли не съм го изтрил?
- Подредбата на думите в прозореца с проблемите е напълно неясна. Не е по реда на срещане, не е по азбучен ред... Може би е по-удачно в началото да се показват думите с главни букви (за да се проверят евентуалните имена) и след тях - останалите? Не съм сигурен.
Съгласен съм, че подредбата е неясна, тъй като досега никъде не съм споменавал каква е. Нещата са прости. Първо се извежда списък с непознатите думи по реда, в който се срещат в текста. След него се извежда обобщен списък на същите думи. Първият списък е пълен с повтарящи се думи и е напълно излишен. Оставил съм го включен по подразбиране единствено, за да може човек да вижда, че програмата работи, след като отвори един голям файл. Иначе пускаш един файл 1MB, минават 10 секунди без нищо да се случва (само брояча отдолу се превърта) и почваш да се питаш какво става. Временно решение: Изключваш чекбосчето "Повтарящи се" и натискаш "Refresh" и този ненужен списък вече не се показва. Остава само обобщения списък, с който се работи. Перманентно решение: Отваряш settings.txt и променяш опцията "SPELL_DUPLICATES" от 1 на 0. Така опцията по подразбиране вече е изключена и при следващо стартиране на програмата чекбосчето "Повтарящи се" не е чекнато и ще виждаш само обобщения списък
Но в момента, ако видя някоя оцветена дума в основния текст, е почти невъзможно да я намеря в прозореца с проблемите.
Нямаш никаква работа в основния текст по време на коригирането. Работиш единствено с обобщения списък в левия панел чрез кликване върху грешките и после върху предложенията за корекция. Ти се опитваш да го правиш по трудния начин, наложен от "нормалните" коректори. Навикът е втора природа, а понякога и първа. Ето едно демовидео да си припомним как става.
Сега - за по-сериозните проблеми. За съжаление функцията "Цветен филтър" е напълно непригодна за мен. Малко отклонение - може би наименованието "Редки думи" ще е по-подходящо от "Цветен филтър"?
Доколкото разбрах, оцветените редки думи могат да се прегледат само чрез прелистване в основния текст, което е логично. Обаче как на практика да стане това, след като текстът е изпълнен с розови и червени маркери, които непрекъснато привличат погледа? За съжаление изключването на "Оцветявай" влияе и върху цветния филтър, така че или всичко е оцветено, или нищо - не може да се "засветят" само редките думи, за да се прегледат на спокойствие.
"Follow the white rabbit". В нашия случай е "Follow the orange rabbit." Абстрахираш се от всички цветове и търсиш оранжевите и светлосините (цветове 8 и 5). Те са най-редки. Тази опция не случайно е изключена по подразбиране. Тя е единствено за хора с много свободно време, които могат да го отделят за основен преглед на текста с подобен екзотичен инструмент. Невинаги ще откриеш грешни думи, но е възможно. Може да се направят независими двете оцветявания с отделна опция, за да може човек да се фокусира само върху цветния филтър, но не съм сигурен дали е нужно. Въпрос на тренинг — в началото е трудно, след няколко текста свикваш къде да гледаш.
Второ: маркирането на думите с различна честота с различни цветове е напълно излишно. На практика потребителят не се интересува колко точно рядка е дадена дума, а дали я има. Според мен е напълно достатъчно да има един-единствен цвят за редките думи, а ако някой толкова иска да ги разграничава, може да се сложи настройваем "праг" на задействане. Но това едва ли е нужно.
И трето: прекарах три романа през тази функция и не открих нито една сгрешена дума сред оцветените от цветния филтър. За сметка на това по-късно открих няколко често срещани (след OCR) грешки, включително и примерите, които посочих в другата тема - "конто" вместо "който" или "които" и "понита" вместо "попита". С което и приключи моето използване на "цветен филтър". Като че ли общата правописна корекция и корекцията след OCR се очертават като две самостоятелни направления...
Направих го с няколко цвята, защото имах честотната база за това (отвори "b_bulgarian.txt" да видиш честотите), пък и бях любопитен как ще изглежда. Разбира се, че не е необходимо и един цвят също ще върши работа. Това с "прага" мислих да го правя, но не го сложих, защото както казваш едва ли цялата работа е нужна на обикновения потребител. Съгласен съм за OCR грешките и затова има механизъм за добавяне на подобни рискови думи. Току що добавих във файла "b_bulgarian_risk.txt" следните два реда, които решават проблема:

конто който | които
понита попита

Ако знаеш още, казвай. Преди време добавих "па" по твоя идея. Там има валидни думи като "кат", "ат", "мага", "рабата" и прочие, които не е добре да се приемат за чиста монета.
Пунктуационните грешки. Прекрасно нововъведение, но... доста от простите проблеми не са включени. Отначало реших, че правилата (регулярните изрази?) са изнесени във външен файл като останалите данни на програма и мога сам да ги допълня, но не ги открих. За съжаление темата "Съвети за начална редакция..." описва шаблони за търсене в неформатиран текст, а аз обикновено използвам спелчекърите като последен етап в работата си, след като текстът вече е форматиран, а това прави голямо количество от шаблоните неработоспособни.
Някои правила не са включени по очевидни причини. Как да обясня на тези, които редактират субтитри, например, защо символът за край на ред е забранен в средата на изречението или защо малкото тире не е добра идея за пряка реч. Или пък "защо ме кара да почвам нов параграф с табулация?". Проблемът може да се реши с нова опция "Режим Читанка", която да активира и останалите пунктуационни правила на Читанката. Тъй като вътрешно съм направил интерфейса за добавяне на такива прости правила доста лесен, това може да стане за минути. По-удачният вариант е отделно меню за настройка на пунктуационната корекция с няколко десетки чекбоскчета за включване и изключване на всяка една комбинация, с възможност за запис на отделни набори от настройки. Ако съм пропуснал някое пунктуационно правило, което е универсално за всички текстове, казвай.
Последната промяна е направена от dd на 4. Мнението е било променяно 4 пъти.
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

Благодаря за разясненията! :)

За подредбата на думите - вероятно не съм се изразил правилно; имах предвид подредбата на думите в обобщения списък. При мен излизат разбъркани (проверявано на две машини под XP с български locale).

За съмнителните думи - ще си отворя списък и ще го допълвам.

За цветния филтър - бих предпочел двете оцветявания да са независими; така всички ще са доволни.

Пунктуационните проверки - възможно ли е тези проверки да се опишат във външен файл? Така освен че ще има отделни набори, ще могат да се допълват от потребителя (за съвсем специфични нужди).
Липсващи проверки: за момента се сещам само за тиретата, но те също важат при нормално форматиран текст - "неинтервални" символи до дълго тире, интервален символ до късо тире и т.н.
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

Mandor написа:За подредбата на думите - вероятно не съм се изразил правилно; имах предвид подредбата на думите в обобщения списък. При мен излизат разбъркани (проверявано на две машини под XP с български locale).
Обобщения списък е сортиран по брой на срещанията на непознатите словоформи, като се прави разлика между малка и главна буква. В примера на скрийншота по-долу виждаш текста аб аа аб ав аб аж Аб ав аб аж Аб, състоящ се от 11 непознати думи. От тях 4 са аб, по 2 — аж, ав и Аб и веднъж аа. Тоест имаме 5 различни думи, които общо се срещат 11 пъти. аб и Аб се третират като различни думи, затова са на различни редове в списъка. В обобщения списък най-отгоре е аб, понеже са среща цели 4 пъти, най-отдолу е аа, защото се среща само веднъж. Синьото число до думата показва колко пъти се среща в текста.

Изображение

С реален текст от Читанката, на скрийншота по-долу, нещата изглеждат така:

Йохансен се среща 29 пъти (най-честа)
Ктхулу се среща 24 пъти (втора по честота)
Леграс — 21 пъти (трета по честота)
Ангъл — 11 пъти

и т.н. до думите, които се срещат само веднъж.

Изображение

Тук също сините числа до непознатите думи показват колко пъти се среща думата. Тези с главна буква са в розово, обикновено това са собствените имена, останалите са в червено. Думи, които се срещат еднакъв брой пъти, например само веднъж, не са подредени допълнително в някакъв специален порядък, защото не е нужно. Просто ги коригираш последователно по реда, в който са в списъка или в какъвто ред искаш. Веднъж коригирана, думата става сива в списъка, за да ти подсказва да не се опитваш пак да я коригираш, ако си избрал да коригираш думите в произволен ред, например първо очебийните грешки и накрая тези, за които имаш съмнения.

Edit: Гледайки скрийншота, се сещам за нещо, което в някои редки случаи може да е от полза. Над "Word Wrap" обикновено има надпис "ANSI". В случая с втория скрийншот има надпис Unicode плюс символ, плюс число. Това означава, че файлът, който сме заредили, е един от малкото в Читанката, съдържащи поне един нестандартен символ, който не може да се кодира в ANSI и първият такъв символ е на позиция 51580 в текста. Казано по-просто, ако този файл го запишете като ANSI, не като UTF-8 и после отворите ANSI версията и я запишете като UTF-8, изходният и резултатният UTF-8 файлове няма да са идентични. Ако след като отворите UTF-8 файл от Читанката пише ANSI, това означава, че спокойно може да запишете този UTF-8 файл като ANSI и после в бъдещ момент ако отворите ANSI версията и запишете пак като UTF-8, изходният и резултатният UTF-8 ще са идентични.
Последната промяна е направена от dd на 2. Мнението е било променяно 2 пъти.
Аватар
GeOrg
Мнения: 203
Регистрация: 04 август 2006, 15:52
Местонахождение: Пловдив, Ивайловград

Мнение от GeOrg »

Аз също съм на мнение пунктуационните проверки да се изнесат във външни файлове, които да има възможност да се настройват според нуждите. Ако се приеме да има няколко служебни файла за пунктуация с базови правила за различни нужди, то необходим е и един потребителски за специфични нужди. Определено ще повиши гъвкавостта на програмата.
Може и така да е, ...!
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

GeOrg написа:Аз също съм на мнение пунктуационните проверки да се изнесат във външни файлове, които да има възможност да се настройват според нуждите. Ако се приеме да има няколко служебни файла за пунктуация с базови правила за различни нужди, то необходим е и един потребителски за специфични нужди. Определено ще повиши гъвкавостта на програмата.
По принцип идеята е добра. Въпросът е колко хора реално биха седнали да променят скриптове, преди да ползват подобна програма. Аз лично не бих. По-нататък ще го направя с отделно меню с чекбоксчета за включване и изключване на двайсетината пунктуационни комбинации, като ще добавя и специфичните за Читанката.
Последната и единствена промяна е направена от dd на 05 декември 2009, 15:34.
Аватар
GeOrg
Мнения: 203
Регистрация: 04 август 2006, 15:52
Местонахождение: Пловдив, Ивайловград

Мнение от GeOrg »

dd написа:... Въпросът е колко хора реално биха седнали да променят скриптове, преди да ползват подобна програма...
Въпроса по скоро е за възможност за въвеждане на правило/а различни от вече въведените по които да се извърши пунктуационната проверка, а не за писане на скриптове. Но това май предполага създаване на програмен език в спелчекъра за целта, не съм сигурен дали си струва и възможно ли ще е.
Може и така да е, ...!
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

Версия 1.32 — Bugfix.
Версия 1.33.
1. Разпознава написаните с малка буква собствени имена и подчертава първата буква. Това налага първоначално зареждане на файла с бг типовете и няколко секунди по-бавно стартиране на програмата.

Изображение

2. Досега обобщеният списък се сортираше по брой срещания, но думите с еднакъв брой срещания се извеждаха в произволен ред. Сега тези думи се сортират допълнително по азбучен ред, което прави списъка още по-прегледен. Благодарности на Мандор, че забеляза този недостатък.
3. "Цветен филтър" вече се казва "Редки думи", също по идея на Мандор.
4. Опциите "Оцветявай" и "Редки думи" вече оцветяват независимо една от друга, като и 4-те комбинации между двете опции са възможни. Ако искате да оцветите само редките думи, изключете "Оцветявай" и включете "Редки думи".
5. Праг на оцветяване на редките думи чрез опция RANK_RARE във файла settings.txt. Прагът в момента е 4996, но ако го промените на 4999, ще оцветявате с 2 цвята (светлосин и оранжев) само свръхредките думи. При 5000 — само с един цвят (оранжев). Това са експериментални неща и не се препоръчват. Прочетете help-а за редките думи.
6. Ново меню "Опции". Включете опцията "Генерирай коригиран файл" (в менюто се появява отметка), след което отворете файл и програмата автоматично ще генерира в същата папка коригиран файл с префикс "AUTO_" и логфайл на коригираните грешки (с контекст от 10 думи) с префикс "AUTOLOG_". Тази опция е експериментална и НЕ ТРЯБВА да се ползва за нищо друго, освен за тестове, тъй като засега оправя успешно не повече от 60-70% от грешките, но за жалост "коригира" и някои верни думи, замествайки ги с грешни. По-нататък се надявам да усъвършенствам алгоритмите до 90% успеваемост. Ако отворите UTF-8 файл, генерираният коригиран файл ще бъде ANSI версия (засега).
7. Ако отворите прозорчето инфо и изберете българска дума в текста, ще видите типовата информация. Ако изберете английска дума, ще видите български превод.

Изображение
Последната промяна е направена от dd на 2. Мнението е било променяно 2 пъти.
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

Версия 1.34.

Открива разкъсаните думи и ги подчертава със синьо:

Изображение

По подразбиране не се подчертават потенциални разкъсвания, ако двете части са валидни словоформи (напр. "напра вена" или "поне делник"), но ако искате и те да се подчертават, в менюто "Опции" включете съответната опция. Тя е само за хора с много свободно време, тъй като ще открие стотици потенциални разкъсвания, които няма да са грешки, напр. "че те", "нощ на", "прав и". Тук е възможно кратките (напр. до 5 символа общо) да се филтрират, но засега съм ги оставил.

На скрийншота виждам нещо, което преди не съм споменавал. Ако предложението за корекция е синьо, не зелено, както в случая е "яркочервена", това значи, че думата е проверена в нормативния речник на БАН. Буквата 'Н' в скобите означава точно това. За повече информация отворете файла "b_bulgarian_misspelling.txt" (в папката "alt" на пакета) и прочетете легендата в началото.
Последната промяна е направена от dd на 2. Мнението е било променяно 2 пъти.
DrunkenDonkey
Мнения: 161
Регистрация: 06 юни 2009, 22:32

Мнение от DrunkenDonkey »

Всеки ден - нова версия, безценна е тая програмка, мерси ;)
Аватар
hammster
Мнения: 79
Регистрация: 08 юли 2006, 20:24
Местонахождение: София
Връзка:

Мнение от hammster »

Имам проблем с v1.34. Не знам дали е само при мен, но програмата прави проверка само на първата страница от книгата. С по-старите версии не съм имал проблеми. Ето и снимка за по-голяма яснота: http://4storing.com/xoogd2/cb251cdc4289 ... 52d65.html
С пари можеш да купиш книга, но не и знание.
ultimat
Мнения: 12
Регистрация: 14 септември 2008, 18:47

Мнение от ultimat »

Не е само при теб.
Има го този проблем. Доста трябва да упорствам и да го подръчквам та да изкара цялата проверка.
Добре че не трия старата версия преди да се убедя, че новата работи без запъване. :wink:
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

hammster написа:Имам проблем с v1.34. Не знам дали е само при мен, но програмата прави проверка само на първата страница от книгата. С по-старите версии не съм имал проблеми. Ето и снимка за по-голяма яснота: http://4storing.com/xoogd2/cb251cdc4289 ... 52d65.html
Благодаря за скрийншота. Ще я оправя и ще кача нова версия до няколко часа.
Последната и единствена промяна е направена от dd на 05 декември 2009, 15:35.
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

Версия 1.35

Оправих грешката във v1.34, открита от hammster. Проблемът бе, че правописната проверка понякога прекъсва при първото открито тире за пренос (както е и на скрийншота), тъй като съм пропуснал проверка дали един стринг не е празен, преди да премахна последния символ от него. При опит за прамахване на символ от празен стринг паметта се троши, тъй като пиша нула в произволно място в паметта, в случая част от променливата, която се ползва за тест за край на текста. Още веднъж благодарности на hammster и ultimat.
Последната и единствена промяна е направена от dd на 05 декември 2009, 15:35.
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

Версия 1.36 — дребни корекции (бързи клавищи Ctrl+O, Ctrl+S за отваряне и запис на файл).

Версия 1.37:
1. Открива всички потенциални причастия вместо глаголи, напр. пишещ -> пишеш, и обратно (честа OCR грешка).
2. Открива всички потенциални сравнителни или превъзходни степени, при които частиците по- и най- са без тире. Трудността е в това, че няма лесен начин да се определи дали става дума за сравнителна степен с пропуснато тире или за предлога "по". Еднакво валидни са изразите "по-дългия път" и "по дългия път". Програмата извежда списък с всички потенциални сравнителни степени, а потребителят трябва да прегледа всеки един случай и да реши дали е грешка или не. Преди потенциалната грешка да попадне в този списък, словоформата след "по" се проверява дали е прилагателно, наречие, мин.св.деят.прич., мин.страд.прич. или сег.деят.прич., както и дали не се съдържа в забранителния списък от думи във файла "b_bulgarian_po_nai.txt". В изречението "Пратих го по пощата", пощата е съществително, затова "по пощата" няма да се включи в списъка.
3. Открива грешки от вида "по-дооре", "по-тръгва", "по-Иван". Досега се правеше проверка само дали втората част след "по-" е валидна дума, вече се прави допълнителна проверка дали втората част е една от изброените по-горе части на речта.

Изброените потенциални грешки се оцветяват в синьо или лилаво в текста. В червено са, само ако са сигурни грешки. Може да изключите откриването им в менюто "Опции".

4. Оправени други грешки и актуализиран бг списък.
Последната и единствена промяна е направена от dd на 05 декември 2009, 15:35.
DrunkenDonkey
Мнения: 161
Регистрация: 06 юни 2009, 22:32

Мнение от DrunkenDonkey »

DD, много мерси за новата версия, сега разглеждам новите възможности, забелязах нещичко, дава грешка за повторение на дума на "избегне невидими" не-не. Ама това и двете са си части от други думи
dd
Мнения: 168
Регистрация: 12 април 2009, 05:05

Мнение от dd »

Версия 1.40

Първи опит за откриване на пропуснати запетайки. Думата след пропусната запетайка се оцветява с оранжево в текста. Може да изключите търсенето на запетайки в меню "Опции". Засега се хващат само разделителни запетайки, а с ограждащите ще се занимавам по-нататък. Материята е с много изключения и в доста случаи е почти невъзможно програмата да даде категорично мнение трябва ли да се сложи запетайка или не, затова предложенията на чекъра трябва да се приемат единствено като потенциални грешки, а не като сигурни такива. Ако откриете сериозни обратни отсъждания, пишете ги тук, за да ги оправям.

едит:
Версия 1.41 — bugfix.
Последната и единствена промяна е направена от dd на 05 декември 2009, 15:35.
Отговор

Обратно към

Кой е на линия

Потребители, разглеждащи форума: 0 гости