Ответы пользователя по тегу Обработка естественного языка
  • Что почитать об алгоритмах нормализации слов?

    icelaba
    @icelaba
    Знаю и умею всё
    Для русского языка есть несколько вариантов часть из них только получение базовой формы, часть выдает помимо базовой формы еще и какая это часть речи:
    По пунктам от самого простого к сложному, и я не в курсе работают ли эти инструменты под windows, сам я использую osx и linux

    1) Инструменты стеммеры - stemmer, обрезают слово выдирая из него по некоторым правилам то что они принимают за - окончания, суффиксы, приставки.
    Лично мне очень нравится стеммер для русского языка из пакета https://github.com/NaturalNode/natural
    Тут простой код для понимания как работает стеммер https://github.com/NaturalNode/natural/blob/master...
    Достоинства стеммеров: очень быстрые, подходят для предварительного анализа в 100% случаев
    Недостатки: базовая словоформа периодами весьма далека от реальной базовой словоформы

    ==========================================================
    2) использовать aspell - линуксовый пакет для проверки орфографии
    пример echo ехала криса на велосипеде | aspell -a -d russian --sug-mode=ultra
    вывод:

    + ехать
    & криса 13 6: киса, риса, ириса, краса
    *
    + велосипед

    Достоинства: большой набор словарей, можно добавлять свои, есть suggestion mode - выдает похожие слова на слова написанные с ошибкой и/или отсутствующие в словаре см выше & криса 13 6: киса, риса, ириса, краса
    Недостатки: медленный, не говорит какая часть речи

    ======================================================
    3) Лучший в номинации TreeTagger www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/#Linux

    пример: echo 'баба сеяла горох' | cmd/tree-tagger-russian
    вывод:
    баба Ncfsny
    сеяла Vmis-sfa-e
    горох Ncmsan

    разшифровка записей вида Ncfsny тут corpus.leeds.ac.uk/mocky/msd-ru.html
    то есть помимо того какая это часть речи и базовой словоформы эта штука еще и выдает кучу дополнительной информации - от падежей и до ....
    Достоинства: великолепен!, определяет часть речи даже если не имеет слова в словаре
    Недостатки: части речи то он определяет а вот с базовой словоформой невсегда, приходится использовать в паре с aspell или стеммером. Самый медленный.

    ========================================================
    Есть еще какие то продукты от яндекса https://company.yandex.ru/technologies/mystem/
    я не пользовался.

    Удачи!
    Ответ написан
    Комментировать