URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92691
[ Назад ]

Исходное сообщение
"Лингвистический парсер словарей"

Отправлено handler2006 , 01-Дек-11 18:18 
Здравствуйте!
Мне необходимо производить лексикографический разбор слов для поисковой системы. Для словарей лучше всего подходит тернарное дерево, словарь думаю взять из lingvo, хранить в БД, но какие структуры создать и какие методы использовать - мне неведомо. Знаю только, что существует нормализованная форма слова, существуют также слова, не участвующие в поиске (союзы, предлоги,...). Меня интересует общий алгоритм и эффективные методы работы со словарями, Буду признателен за полезные статьи и направления. Спасибо. Алексей

Содержание

Сообщения в этом обсуждении
"Лингвистический парсер словарей"
Отправлено parad , 02-Дек-11 18:10 
ничего не понял что ты сказал( наверное ты тоже ), но методом гадания на кофейной гуще: http://www.aot.ru/

"Лингвистический парсер словарей"
Отправлено handler2006 , 02-Дек-11 18:54 
Неплохой проект, только слабенький - не перевел слово "ябловами" -> "яблоками".
Немного конкретизирую задачу: провести нормализацию слова.
В некоторых источниках пишут: машинная морфология - выделение основы слова, суффикса, пристаки и окончания.
Причем эту процедуру необходимо делать для разных языков.
Видел неплохой проект http://aspell.net
Кстати, еще одна проблема: как определить язык ввода?

"Лингвистический парсер словарей"
Отправлено gpl77 , 02-Дек-11 19:18 
> Немного конкретизирую задачу: провести нормализацию слова.
> В некоторых источниках пишут: машинная морфология - выделение основы слова, суффикса, пристаки

яндекс пишем :-)
все начинают отсюда:
"Грамматический словарь русского языка А. А. Зализняка"

http://ru.wikipedia.org/wiki/%C3%F0%E0%E...

не знаю влезет ли ссылка


"Лингвистический парсер словарей"
Отправлено Алексей , 02-Дек-11 20:25 
Ну вообще не в ту сторону.
Во-первых: нужны словари, по которым будут искаться слова. Вопрос: какие?
Во-вторых: как проводить нормализацию слова?
В-третьих: какие структуры словарей необходимо иметь, чтобы по нормализованной форме найти все подходящие слова?

"Лингвистический парсер словарей"
Отправлено parad , 02-Дек-11 20:37 
ты какими-то дикими понятиями оперируешь.
1) хочешь искать слова и спрашиваешь у людей какие слова ты хочешь искать?
2) aot - если не удовлетворяет, закрываешь все и пишешь с нуля. яндекс, мейл, жж ... почемуто используют, а тут тебе на - слабенький.
3) что такое структура словаря? что такое подходящие слова и кому они должны подходить?

"Лингвистический парсер словарей"
Отправлено parad , 02-Дек-11 20:31 
ну слабенький - это с высоты своего профессионализма оценено конечно? человеком который задал вопрос с чего начать?

ябловами -> яблоками - по какому такому правилу оно должно получиться? это скорее задача нечеткого поиска.


"Лингвистический парсер словарей"
Отправлено Алексей , 02-Дек-11 20:38 
Поиск Левенштейна

"Лингвистический парсер словарей"
Отправлено Алексей , 02-Дек-11 21:07 
В качестве словарей решено взять lingvo - парсить их и на их основе создавать бд слов, а уже к ним писать алгоритм  нормализации и парсинга

"Лингвистический парсер словарей"
Отправлено handler2006 , 08-Дек-11 09:20 
По поводу AOT:
Насколько я понял, он поддерживает только русский язык?
Есть еще несколько технических требований к словарю:
1. Поддержка японских языков
2. поддержка Unicode (ucs-2)

"Лингвистический парсер словарей"
Отправлено parad , 16-Дек-11 13:57 
> По поводу AOT:
> Насколько я понял, он поддерживает только русский язык?

неправильно понял.

> Есть еще несколько технических требований к словарю:
> 1. Поддержка японских языков

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

> 2. поддержка Unicode (ucs-2)

ну конвертация между кодироками, - или счеташь это задача словаря?



"Лингвистический парсер словарей"
Отправлено handler2006 , 16-Дек-11 15:29 

> за соседним столом японоговорящий коллега подсказал что в японском слова не искажаются
> ни падежами, ни множественным числом, у них в языке вообще все
> тупо.

Вопрос не в том - просто или тупо, а в том, что в АОТ словаря на японский нет никакого.
>> 2. поддержка Unicode (ucs-2)
> ну конвертация между кодироками, - или счеташь это задача словаря?

Опять-таки - вопрос не в кодировке а в представлении символа одно- и двух-байтовое. АОТ не понимает двухбайтовые символы (содержащие, в частности, и японские)

hunspell, судя по документации, поддерживает Unicode, только где взять Unicode-словари и aff-файлы к ним?


"Лингвистический парсер словарей"
Отправлено parad , 20-Дек-11 11:23 

> hunspell, судя по документации, поддерживает Unicode, только где взять Unicode-словари
> и aff-файлы к ним?

google и навигация по сайту.



"Лингвистический парсер словарей"
Отправлено handler2006 , 20-Дек-11 11:31 

> google и навигация по сайту.

Потратил день и нервы  - наверное, /dev/hands кривые, и я все делаю через /dev/ass


"Лингвистический парсер словарей"
Отправлено parad , 22-Дек-11 15:36 
не знаю как насчет либ, но для FTS-постгреса все *spell словари можно было сконвертировать в желаемую кодировку при помощи iconv и скормить в таком виде. фактически словарь - текстовой файл, с отсортированными построчно по алфавиту словами. тобишь смело можно предположить что каждая запись интерпретируется как набор байт и над всем этим работает бинарный поиск.

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