Задать вопрос
romka123
@romka123
Создатель приложения dialekt.rs

Кто писал собственный NLP-пайплайн перевода слов?

Добрый день.
А есть тут люди, кто писал алгоритм перевода с одного языка на другой с учётом словоформ в двух языках? Я пишу приложение которое позволяет читать сербские книги и переводить сербские слова на русский язык с учётом словоформы, т.е. kuca -> дом, kuce -> дома и т.д.

Вопрос такой, допустим в сербском словоформы к русскому языку ещё как то вяжутся. Для славянских языков базовый словарный перевод в читалке можно хорошо построить вокруг морфологии: словоформа → лемма → грамматические признаки (для этого есть готовые базы данных) → перевод. А что насчёт английского? Как вообще принять обрабатывать английские слова? В славянских языках с этим проще - слово является единственной атомарной леммой языка имеющий смысл, т.е. нажал на kuce - это дома. А в английском многое решают фразовые глаголы, частицы перед словами и т.д. например: find - искать, out - вне, выход, за пределы чего либо, а вместе find out - выяснять, разузнавать.

Мне не совсем понятно как матчить такое. В сербском я отслеживаю нажатие на слово N или же если двойной тап - то беру все предложение. Это легко организовать технически, что такое слово и что такое предложение понятно программируется. А как понять что в предложении "I found out the truth." или что ещё хуже, "I found it out yesterday." - тут фразовый глагол вообще разделён! Мы тут не говорим про LLM методы распознавание фразовых глаголов внутри приложения. Возможно есть давно написанный, простой и понятно реализованный алгоритм решающий эту проблему? Я читал, там нужно как то разбивать предложение и токенизировать каждое слово по отдельности, но до конца так и не понял концепцию. Объясните как к этому подступиться вообще?
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Сложный Комментировать
Помогут разобраться в теме Все курсы
  • Инглекс
    Курс-система «Английский 360°»
    1 день
    Далее
  • Skyeng
    Английский для IT профессий: карьера в IT за границей
    12 недель
    Далее
  • Stepik
    English for Project Managers
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Единица перевода в английском — не токен, а multiword expression: find out, look up, give up. При клике на found не надо сразу искать find — берёшь dep parse предложения, смотришь есть ли у глагола партикл с dep_ == "prt" (spaCy умеет из коробки). В "found it out" out всё равно прилинкован к found через dep, независимо от позиции — это именно работа парсера, не регэкс. Словарь хранишь отдельными статьями: find → искать, find out → выяснять, look up → смотреть в словаре.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы