Пишу враппер для DLL-ки
После не слишком продолжительных поисков я нашел одну библиотечку, которая представляет собой морфологический анализатор. В числе прочих вещей он умеет возвращать нормальную форму слова, а также форму выбранного слова в любом роде, числе и падеже. В общем, очень мощная штука!
Но у этой библиотеки есть один минус: она написана на C++ и не является COM-объектом. А так как я пишу на C#, то мне пришлось написать на С++ небольшой враппер, который загружает эту библиотеку и ждет команд от приложения, затем транслирует эти команды в библиотеку, получает результаты и возвращает их обратно, но уже в виде, понятном коду на С#.
Все команды передаются через переназначенную консоль, оттуда же в программу поступают ответы. В целом протокол обмена данными похож на протокол FTP - клиент передает серверу команду с нужными параметрами, сервер ее отрабатывает и возвращает результат. Конечно, я понимаю, что данный подход не очень хорош, но в настоящий момент это наилучшее решение, которое мне могло придти в голову.
Кстати, платная версия этой библиотеки помимо базовой морфологии позволяет производить операции с тезаурусом. Например приводить одни части речи к другим (например “бегущий” может быть приведен к “бег” и “бежать”). А еще платная версия позволяет находить синонимы слов. Но я пока еще не уверен в правильности этого заявления, так как еще не имел возможности потрогать руками коммерческую версию этой библиотеки.



26.06.2008 в 17:28
Хорошая и полезная чтука получится)
26.06.2008 в 22:48
А демка всего этого чудо-монстра скоро будет? А то пощупать охото, оно когда пишешь - красиво все, а вот как кто другой тестить начинает, так столько ошибок и недочетов выползает - по себе знаю, админку напишу - для меня лучше нету, а как начну ее показывать тому, кто с ней работать будет - так сразу столько недочетов и непоняток)
26.06.2008 в 23:43
Демка будет, вот только разберусь с контролом для отображения вариантов замены. Кстати, кроме платной версии будет еще и версия Lite, которая будет позволять производить только ручную синонимизацию одной статьи до 1000 символов за раз. Автоматическая же синонимизация текстов любой длины и любых форматов будет только в платной версии.
09.07.2008 в 10:56
А ссылочку на библиотечку не дадите?
10.07.2008 в 11:36
Нет, пока не дам. Вот заработаю на нем немножко денег, тогда и поделюсь источником. Все же это коммерческая тайна! Надеюсь, вы меня простите.