[Dict] БГ Офис модул за проверка на правопис

Mikhail Balabanov mishob at abv.bg
Fri Apr 10 02:02:34 EEST 2015


Привет,

> >Иначе се присъединявам към препоръката изходните данни на проекта да останат във формат „основни форми + правила за формообразуване“ и да не се превръщат в „плосък“ списък от разгърнати словоформи. Така обемът на данните е много по-обозрим от човек, по-лесно се допълва базата и се отстраняват грешки, а списъкът със словоформи така или иначе може да се генерира по всяко време в какъвто искаме формат.
 
>         По принцип е така, но словоформите на думите в българския език не са винаги по най-често използвания модел на словообразуване на словоформите, поради което автоматичното генериране на словоформи просто няма как да е перфектно точно и винаги ще има грешки, макар и дребни...
 

Напротив, целта е именно перфектно точно генериране и то е съвсем постижимо, както показват многобройните работещи по този начин програми за всякакви езици, включително български. Просто трябва да се внимава при вкарване на всяка нова дума тя да се класифицира правилно и при нужда да се допълват/коригират правилата.

Правилата в изходната база на bgoffice не са предназначени само за някакви най-често използвани парадигми. Базират се на сериозна лингвистична публикация и са писани с идеята да обхващат коректно _всички_ случаи на формообразуване (затова и са толкова много, над 200). [1] Не се предполага да оставят място за никакви грешки, дребни или едри. Предполага се ако открием грешка/пропуск, просто да я поправим. Механизмът вече е реализиран (и както изглежда – клониран и  надстроен за различни цели от още няколко автори, включително мен), работи добре и нÑ
 Ð¼Ð° никакъв смисъл да се отказваме от него, особено ако искаме да държим основната база с разумен размер. [2] Българският глагол има около 60 форми, без да броим сложните. Това значи, че вместо една дума в основна форма ще пазим шейсет словоформи, които обикновено са по-дълги от основната форма. Освен това ако думата е въведена с грешка в основата, грешката ще трябва да се търси и поправя във всички форми. [3]

Накрая, описанието с основи и правила позволява самият модул за проверка на правописа с подходящ алгоритъм да извършва разгръщането „наум“ при търсене на дума, без изобщо да му е необходима памет за цялата база в разгърнат вид.

Поздрави,
Михаил Балабанов

[1] Моя позната известно време работи във фирмата, която прави един от комерсиалните български модули за проверка – мисля, че беше Кирила. Тяхната система също работи с правила за формообразуване и доколкото си спомням, тя говореше за стотици. Може би са им били необходими допълнителни данни за граматичните признаци, за да правят и граматична проверка.

[2] Всъщност такава база на две нива би могла да се оптимизира още 
повече, като се вкарат регулярни изрази в словника, 
например един елемент от типа „(в|до|за|из|на|над|о|под|пре|раз)писвам“ 
вместо десетина отделни.

[3] Стандартната правописна проверка в Word 2007 явно също е базирана на правила, защото съдържа дефект, който се повтаря при всички думи с наставка „-ник“ – пленник, пътешественик, магьосник и т.н. Това също означава, че може да се поправи за всички тези думи с пипване на едно единствено правило.



More information about the Dict mailing list