Существует ли самообучающийся инструмент с открытым исходным кодом?
Мне нужно реализовать какой-то стеммер / лемматизатор. У меня есть несколько слов в разных формах (несколько тысяч). Это не морфологический словарь, просто небольшая его часть. Это хорошая идея, чтобы выучить stemmer автоматически из файла иметь? Есть ли реализации с открытым исходным кодом, которые можно использовать?
4 ответа
Nuve - это библиотека НЛП для тюркских языков. Как только языковые правила и данные подготовлены, он может анализировать и генерировать слова для любого тюркского языка, если не для любого агглютинативного языка. Вы можете раскошелиться и подготовить новые файлы орфографии и морфологии для азери.
https://github.com/hrzafer/nuve
Поскольку я автор, я был бы рад помочь вам в этом процессе.
Азербайджанский является агглютинативным языком, похожим на турецкий, что означает, что слова часто имеют цепочку суффиксов (например, один суффикс для множественного числа и один для винительного падежа). Также у него есть гармония гласных, что означает, что у каждого суффикса есть несколько вариантов, и вы выбираете правильный, основываясь на гласных в корне.
Что бы я сделал:
- определить список суффиксов. Я бы попробовал как неконтролируемые методы ("может быть, попробовать Linguistica"), так и поиск в поиске списка суффиксов (они часто содержат только базовый суффикс, который изменяется в зависимости от гармонии гласных). Итеративно вы должны прийти к некоторому разумному списку. Если вы сомневаетесь, является ли что-то суффиксом или нет, я бы добавил это.
- Используйте список для удаления суффиксов из слов.
Получившийся стеммер будет шумным, но в зависимости от того, для чего он вам нужен, это может не иметь значения.
Вы должны взглянуть на Linguistica, которая была разработана Джоном Голдсмитом и его командой (@UChicago) для этой цели.
Ты говоришь об английском? Тогда, пожалуйста, посмотрите английские базы данных лемматизатора?, Учитывая значительное количество исключений, подход машинного обучения без большого словаря не кажется многообещающим.