Ответ 1
Q1: "[..] являются английскими стволовыми, полезными вообще сегодня? Поскольку у нас есть множество инструментов лемматизации для английского языка
Да. Стэммеры намного проще, меньше и обычно быстрее, чем lemmatizers, и для многих приложений их результаты достаточно хороши. Использование lemmatizer для этого - пустая трата ресурсов. Рассмотрим, например, уменьшение размерности в информационном поиске. Вы заменяете все диск/вождение на driv как в запрошенных документах, так и в запросе. Вам все равно, будет ли это диск или driv или x17a $, если он объединяет связанные с флексивно-словесными словами слова.
Q2: "[..] как мы должны двигаться дальше, чтобы создавать надежные лемматизаторы, которые могут принимать на себя, утверждать, прилагать и рекламировать препроцессы?
Каково ваше определение леммы, включает ли деривация (привод - драйвер) или только перегиб (привод - привод - повод)? Учитывает ли она семантику?
Если вы хотите включить вывод (который, по мнению большинства людей, включает в себя глагольные существительные и т.д.), имейте в виду, что вывод гораздо более нерегулярен, чем перегиб. Есть много идиоскрекратий, пробелов и т.д. Вы действительно хотите изменить (сменить поезда) и изменить (как монеты) на одну и ту же лемму? Если нет, то где вы рисуете границу? Как насчет нерва - unnerve, earth - unearth - earthling,... Это действительно зависит от приложения.
Если вы принимаете во внимание семантику (банк будет помечен как банк-банк или банк-река в зависимости от контекста), насколько глубоко вы пойдете (вы различаете банк как учреждение из банка как здание)? В некоторых приложениях это может вообще не волновать, некоторые могут захотеть отличить базовую семантику, некоторые могут захотеть ее оштукатурить.
Q3: "Как можно легко масштабировать задачу леммитизации на другие языки, имеющие похожие морфологические структуры, как английский?"
Что вы подразумеваете под "аналогичными морфологическими структурами, такими как английский"? У английского языка очень мало флективной морфологии. Существуют хорошие лемматизаторы для языков других морфологических типов (действительно флективные, агглютинативные, шаблоны,...).
С возможным исключением агглютинативных языков я бы сказал, что наилучшим решением является таблица поиска (скажем, сжатое trie). (Возможно, с некоторыми правилами резервного копирования для неизвестных слов, таких как имена собственных). За последующим поиском следует какая-то неоднозначность (от тривиального - взять первый или перенести первую, совместимую с тегом слов POS, на гораздо более сложную). Более сложными disambiguations обычно контролируются стохастические алгоритмы (например, TreeTagger или Faster), хотя комбинация машинного обучения и вручную созданных правил была выполнена (см., Например, this).
Очевидно, что для большинства языков вы не хотите создавать таблицу поиска но вместо этого генерировать его из описания морфологии это язык. Для флективных языков вы можете перейти к инженерному путь хаджи для чешского или Михеева для русского языка, или, если вы дерзкий, вы используете двухуровневую морфологию. Или вы можете сделать что-то промежуточное, например Hana (я сам) (обратите внимание, что все они полны морфологические анализаторы, которые включают лемматизацию). Или вы можете научиться lemmatizer неконтролируемым образом a la Яровский и Wicentowski, возможно, с ручной постобработкой, исправляя наиболее часто встречающиеся слова.
Есть слишком много вариантов, и на самом деле все зависит от того, что вы хотите делать с результатами.