|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Sergej Tarasov 2:5020/175.2 21 Oct 2002 19:44:10 To : Panchuk Andrey\ Subject : Словоформы --------------------------------------------------------------------------------
Sat Oct 19 2002 21:27, InSAn \(Panchuk Andrey\) wrote to All:
IPA> Получить все словоформы на заданное слово не составляет проблем
IPA> (используя affix таблицу и словарь).
IPA> А вот как из словоформы получить слово? Может, уже кто-то делал
IPA> подобное? Поделитесь советами, плз...
Все зависит от того, что ты хочешь получить и как много времени (денег)
готов потратить.
Лучше было бы задать этот вопрос в алгоритмах. Hасколько я понял,
в данный момент тебя интересует как это сделать вообще, а вопрос
как это сделать на Перле возникнет позже.
Есть несколько путей:
1) Использовать стеминг. Поискать в Гугле по словам "snowball porter".
Там есть правила для русского языка, для английского есть даже перловая
реализация.
2) Взять словарь Лебедева (для ispell). Там есть словарь и правила
преобразования слов. Hужно только придумать эффективный способ работы
с этими данными (смотри ниже). Если делать на Перле, то особой скорости
достичь трудно, но около 5 тысяч слов в секунду обрабатывать можно. Посмотри
в конференции RU.CGI.PERL, там сейчас этот вопрос как раз обсуждается.
3) Взять словарь Зализняка. Поискать в Яндексе по запросам "Зализняк",
"морфологический анализатор", информации там наберется на пару часов
размышлений. В сети есть краткие описания устройства анализаторов
Сегаловича (лежит где-то на сайте Яндекса), основанном на minimal
perfect hashing, и Коваленко, там используется дерево. Я использовал
подход, подобный описанному Коваленко, только у меня используется
ternary search tree.
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/33006d08329d.html, оценка из 5, голосов 10
|