Только что закончилась обработка первой части текстовых файлов. Обработка заняла один час и 45 минут, при этом было обработано 213 файлов общим объемом в 30 мегабайт, и содержащих 4 миллиона 787 слов. При этом было найдено 459 тысяч пар, многие из которых повторялись более тысячи раз в разных грамматических формах.
Continue reading »
Если вы решили поучаствовать в проекте, пожалуйста, внимательно прочтите следующие инструкции:
- Стучитесь ко мне в аську и я выдам вам очередную порцию слов для обработки.
- заходите в редактор словаря и очищаете словарь (кнопка с зеленым крестом (Х)
- открываете окно ручной обработки
- вставляете эти слова в левое поле и запускаете обработку (F5)
- кликаете правой кнопкой подряд по каждому из слов и в случае наличия у него синонимов в системном словаре, добавляете из системного в пользовательский те, которые можно применить в большинстве случаев.
Continue reading »
Перед редактором словаря стоит несколько задач:
- позволять работать со списком слов - добавлять, удалять, изменять
- позволять работать со списком синонимов каждого слова
- экспортировать словарь
- импортировать словарь
Continue reading »
Итак, после нескольких дней работы над улучшением работы синонимайзера было принято решение очистить базу от “лишних” синонимов. Дело в том, что большинство синонимов представляют собой семантические пары. Кроме того, многие синонимические пары встречаются не слишком часто, чтобы включать их в словарь.
Continue reading »
Итак, перейдем от теории к практике. Посте того, как было решено оптимизировать базу на предмет оптимизации, я произвел следующие шаги:
- нашел в словаре все слова, для которых морфологический движок содержит базовые формы. Из 310 тысяч таких слов оказалось всего 56 тысяч.
- определил, к какому классу (существительное, прилагательное, наречие и т.д.) относится каждое из слов.
- добавил две таблички, одна из которых содержит все возможные варианты всех существительных (просклонял их по числу и падежу). Всего оказалось 250 тысяч возможных вариантов без учетов повторений для 26 тысяч имен существительных, имеющих базовую форму. Вторая табличка - индекс, содержащий все варианты чисел и падежей и ссылающийся на таблицу вариантов существительных. Индекс содержит 318 тысяч записей, по количеству всех словоформ имен существительных (с повторными ссылками на таблицу слов)
- то же самое сделал для имен прилагательных. Правда, из-за того, что склонять имена прилагательные нужно не только по числу и падежу, но еще и по роду, времени и сравнительной форме, то количество вариантов превысило 10 миллионов. Придется разделить индекс на несколько частей (скорее всего на столько, на сколько букв начинаются варианты), чтобы ускорить поиск.
Continue reading »
Как известно, пользователи программных продуктов хотят чтобы эти самые продукты занимали как можно меньше места, работали безошибочно и как можно быстрее. Но, как знают разработчики, иногда приходится жертвовать одним качеством для достижения максимальной выгоды в другом месте.
Continue reading »
После некоторых размышлений я пришел к выводу сменить движок базы данных. Мой выбор пал на SqLite - систему встроенных кроссплатформенных баз данных. Для своей работы она требует только одну DLL и провайдер SqLite для .NET приложений.
Continue reading »
Одной из важнейших задач, которые стоят перед лингвистическими автоматами, является морфологический анализ слов. Если заглянуть в Википедию, то можно обнаружить, что морфология - это раздел лингвистики, основным объектом которого являются слова естественных языков и их значимые части (морфемы). В задачи морфологии входит определение слова как особого языкового объекта и описание его внутренней структуры.
Continue reading »
С легкой руки Dizels - моего постоянного читателя и комментатора (надеюсь, в дальнейшем он станет еще и критиком, а, может, еще и партнером) - решил переименовать Синонимизатор в Синонимайзер. Название приобрело если не зловещий, то по крайней мере хищный (устрашающий?) вид. Впрочем, надеюсь, что это не отпугнет моих потенциальных клиентов.
Continue reading »
Всем понятно, что вебмастеру нужны:
- деньги
- признание
- удовлетворение от проделанной работы
- все вышеперечисленное вместе, ибо человека, который не получает удовольствия от своей работы вряд ли можно назвать человеком. Он ведь робот, не так ли?
Continue reading »
Последние комментарии