WordSyn: работа с n-граммами

Только что закончил кусок кода, который будет получать синонимы для указанной пары слов. Эти синонимы будут формироваться на основе статистических данных о встречаемости слов в русскоязычной литературе. Для примера приведу результат поиска синонимов для двухсловника “толстый живот”. В таблице ниже представлены все пары синонимов для этого двухсловника. В скобках указывается количество раз, сколько данная пара встречалась во время обработки текстов, что можно принимать за вес данной пары синонимов, что, в свою очередь, позволит выбрать наиболее подходящие синонимы. Пары синонимов идут в порядке возрастания весов, так что последние 5 пар можно считать наиболее удачными.
Continue reading »

WordSyn: версия 5.х

Наконец-то у меня дошли руки и до моего синонимайзера, и я полным ходом принялся за реализацию новых фич.

В новой версии следует ждать таких нововведений:

  • будет изменена лицензионная модель
  • будет добавлена возможность работы с многословниками
  • будет добавлена работа с тематическими словарями
  • будет реализована возможность генерации (размножения) статей
  • будет улучшена работа с одним текстом
  • будет улучшен сам текстовый редактор
  • будет введена функция уточнения синонимов на основе базы n-грамм (только версия W3)

Continue reading »

Синонимайзеру - год!

22 июля моему синонимайзеру исполнится год. В связи с этим объявляется акция - одна лицензия за полцены, или три лицензии по цене одной! В первом случае вы можете приобрести лицензию за половину ее текущей стоимости. Во втором случае вы оплачиваете одну, а получаете три лицензии на синонимайзер.
Continue reading »

WordSyn: алгоритм работы с двухсловниками

Итак, пришло время доделать давно обещанную фичу: обработку текстов с использованием статистических данных по двухсловным комбинациям.

Перед тем, как приступать к разработке этого блока, я решил формализовать алгоритм его работы.

Исходные данные: есть база данных, содержащая несколько одинаковых таблиц, содержащих данные по статистике использования следующих комбинаций частей речи:

Continue reading »

WordSyn: подготовка к апдейту - 2

Только что закончил очередной кусок работы над исправлением ошибок и добавлению некоторых фич. Так, теперь в ручном режиме появились следующие изменения:

  • нажатие на кнопку Словари раскрывает выпадающий список со словарями, вместо того, чтобы открывать отдельное окно для их выбора.
  • в контекстном меню появилась новая кнопка - Стандартное меню, нажатие на которую переключает расширенное меню в обычное. В обычном же выпадающем меню также появился пункт “Расширенное меню”, нажатие на который переключает контекстное меню в расширенный вид.
  • при клике на каком либо из слов в панели результатов синонимизации, текс в панели исходного текста автоматически прокручивается к нужному месту, а оригинальное слово подсвечивается. Теперь уже не будет нужно скролить исходный текст в поисках нужного места. Это, конечно же, касается только длинных текстов, так как во время обработки коротких текстов такой потребности не возникает.

Continue reading »

WordSyn: подготовка к апдейту

Итак, начались предновогодние декады. Еще каких-то 20 дней, и можно будет ненадолго оторваться от компьютера и под звон курантов выпить бокальчик томатного сока! А потом снова за компьютер. Ведь говорят, что как год начнешь, так его и закончишь! Поэтому в 0:30 первого января буду сидеть за компом с кучей денег во всех карманах. Ну, чтобы весь год была работа за компом и чтобы за нее платили хорошие денежки.
Continue reading »

WordSyn: Сбор пар продолжается

Вчера в очередной раз переделал программу для сбора пар. Это был уже раз пятый, наверное. На этот раз мне надоели постоянные эксепшны OutOfMemory, так что я убрал кеширование данных в памяти, из-а чего проиводительность резко упала до уровня 200-250 слов в секунду. Но при этом я сделал обработку в пяти потоках, так что в сумме получается обрабатывать где-то по 900-1200 слов в секунду. Конечно, это в десять раз медленней, чем при использовании кеша в памяти, но зато и более надежно - я могу рассчитывать, что программа будет работать сутками, не ломаясь и не падая.
Continue reading »

WordSyn: начало поиска синонимов для пар слов

Итак, первая часть задачи по поиску пар почти закончена. На данный момент обработано более трех тысяч текстов (600 мегабайт, 75 миллионов русских слов). На это ушло около 16 часов, и я, в целом, результатами доволен. Всего найдено 5.5 миллионов уникальных пар, для которых теперь нужно найти такие пары синонимов, которые хоть раз встречаются в текстах.
Continue reading »

WordSyn: поиск пар продолжается

Оказалось, что я допустил ошибку, и из-за этого все пришлось начинать сначала. Правда, теперь я запустил обработку на более быстрой машинке, так что средняя скорость обработки возросла до 2500 слов в минуту, что в 3.5 раза быстрее предыдущей машины. Теперь я могу надеяться, что обработка запланированных 4000 файлов займет не более десяти часов.
Continue reading »

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

Только что закончилась обработка первой части текстовых файлов. Обработка заняла один час и 45 минут, при этом было обработано 213 файлов общим объемом в 30 мегабайт, и содержащих 4 миллиона 787 слов. При этом было найдено 459 тысяч пар, многие из которых повторялись более тысячи раз в разных грамматических формах.
Continue reading »