WordSyn: первая часть поиска пар слов завершена

Только что закончилась обработка первой части текстовых файлов. Обработка заняла один час и 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 »

Cмена движка базы данных

После некоторых размышлений я пришел к выводу сменить движок базы данных. Мой выбор пал на SqLite - систему встроенных кроссплатформенных баз данных. Для своей работы она требует только одну DLL и провайдер для .NET приложений.
Continue reading »

Разбираем морфологию

Одной из важнейших задач, которые стоят перед лингвистическими автоматами, является морфологический анализ слов. Если заглянуть в Википедию, то можно обнаружить, что морфология - это раздел лингвистики, основным объектом которого являются слова естественных языков и их значимые части (морфемы). В задачи морфологии входит определение слова как особого языкового объекта и описание его внутренней структуры.
Continue reading »

Словарная база синонимайзера

С легкой руки Dizels - моего постоянного читателя и комментатора (надеюсь, в дальнейшем он станет еще и критиком, а, может, еще и партнером) - решил переименовать Синонимизатор в Синонимайзер. Название приобрело если не зловещий, то по крайней мере хищный (устрашающий?) вид. Впрочем, надеюсь, что это не отпугнет моих потенциальных клиентов.
Continue reading »

Что нужно вебмастеру

Всем понятно, что вебмастеру нужны:

  • деньги
  • признание
  • удовлетворение от проделанной работы
  • все вышеперечисленное вместе, ибо человека, который не получает удовольствия от своей работы вряд ли можно назвать человеком. Он ведь робот, не так ли?

Continue reading »