-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Лемматизация в анализаторе deeppavlov из PyMorphy #1137
Comments
Как понять какая часть кода выдает ерунду? надо править PyMorphy? в чем тогда роль нейронных сетей deeppavlov? Прошу подсказать выход, спасибо. Как понять почему существительное агни было лемматизировано как глагол?
Всего 28 существительных спрягаются ошибочно как глаголы:
|
@gasyoun DeepPavlov используется только для определения правильной морфологической метки, далее возвращается лемма из анализа PyMorphy, лучше всего соответствующая данной метке. Соответственно, все ошибки на стороне PyMorphy. Можно ли исправить данное поведение --- да, наверное, можно, но путём изменения существующей архитектуры. Но следует понимать, что многие санскритизмы в любом случае правильно лемматизироваться не будут, поскольку окончания мужских имён (Арджуна и т.д.) слишком похожи на женские. |
Потому что PyMorphy воспринимает его как повелительное наклонение глагола. Поскольку PyMorphy не предлагает разборов этого слова как существительного, в любом случае выбирается неправильный глагольный вариант. В типичных случаях такая опора на PyMorphy не вызывает проблем, по-видимому, без изменения архитектуры такую проблему не решить, а данное изменение не дело одного дня. Вы можете написать свой компонент лемматизации, по интерфейсу аналогичный |
Здравствуйте, Алексей! Вместе с @gasyoun пытаюсь разобраться в данном вопросе. Посмотрела указанный класс лемматизатора, в связи с чем возник следующий список вопросов:
Стоит ли вообще смотреть в сторону этих гипотез. |
Здравствуйте, Алексей! Очень хотим узнать ваше мнение по следующей задаче. Сейчас мы пытаемся улучшить качество лемматизации санскритизмов, добавив их возможные словоформы в UD-treebank (подробная гипотеза ниже). В конечном итоге мы хотим прийти к генерации на основе русского аннотированного корпуса русскоязычный корпус санскритской литературы. Будем рады любой критике, отсылкам к другим источникам, в общем, любым подсказкам. Спасибо заранее за ваше время! Поможет ли нам улучшить качество морфологического анализа описанный ниже алгоритм. Кратко из двух шагов.
|
Меня интересует повышение доли правильно лемматизированных санскритизмов (санскритских слов в кириллической записи) в русском языке с помощью морфологического анализа deeppavlov. Хуже всего анализатор справился с определением леммы слов и показал точность 47%. Лучше всего - с определением числа, анализатор верно отметил 99% случаев, а также неплохо справился с падежом - 96% правильного определения. Точность определения рода составляет 75% для слов из древнеиндийского эпоса Махабхарата.
Как я себе представляю цепочку зависимостей и надстроек:
Не могу понять, на каком уровне нужно править, чтобы увеличить точность? Добавить Махабхарату в OpenCorpora и сгенирировать новый словарь для PyMorphy? На уровне морфологии что тогда добавляет deeppavlov к выкачанным из PyMorphy данным?
В 69% случаев неправильного лемматизирования анализатор верно определил род, число и падеж словоформы. Самой частотной ошибкой в образовании леммы стало опущение “-а” на конце слова: ровно 50% случаев (“индра” → “индр” и т.д.), причем все из таких слов (кроме одного случая “ганами” → “ган” вместо “гана”) стояли в Именительном падеже и единственном числе, падеж и число определены анализатором верно.
В 14% случаев неверной лемматизации анализатор оставил словоформу в исходном виде (“якшами” → “якшами” и т.д.). 8% ошибок характеризуются заменой “-и” на “-ь” на конце слова: “адити” → “адить” и т.д. Некоторое количество ошибок допущено с заменой “-ья” на “-ий” на конце слова (“сурья” → “сурий”), лемматизированием слова как прилагательного (“вайшампаяна” → “вайшампаяный”), а также появлением “-й” на конце слова (“джанамеджая” → “джанамеджай”). В одном случае анализатор, видимо, нашел известную ему часть в слове и привел ее к лемме: “мухурта” → “мухурот” (“рта” → “рот”).
Ошибка в определении падежа словоформы “крита” связана с тем, что слово расположено в контексте перечисления и предшествует ему слово в родительном падеже: “... Носитель Вед, Крита, Трета, Двапара и Кали...”.
В 80% случаев неверного приписывания слову женского рода (когда оно мужского рода) слово заканчивается на “-а”: “бхима”, “рудра”, “шукра” и т.д. Несмотря на неверное определение рода, 48% таких слов были правильно лемматизированы, все они стояли в Именительном падеже: “варуна” → “варуна”, “будха” → “будха” и т.д.
Стоит заметить, что во всех случаях (кроме одного - “махабхараты”) анализатор смог верно определить число. Для словоформы “махабхараты” анализатор смог определить только лемму (неверную). Контекст: “Такова в книге «Лесная» великой «Махабхараты» третья глава”. Прошу указать - куда бежать, спасибо.
The text was updated successfully, but these errors were encountered: