Comments 43
UFO just landed and posted this here
У меня тоже есть подобная реализация морфологического анализа на .NET, в т.ч. и с предсказанием.
Желающие могут потестировать здесь samodum.ru/demo.aspx
Желающие могут потестировать здесь samodum.ru/demo.aspx
+2
«крокодилицу» знает ;)
+1
«глокая куздра штеко будланула бокра и кудрячит бокрёнка» тоже понимает.
Круто :)
Это у меня основной тест для морфологических анализаторов.
Круто :)
Это у меня основной тест для морфологических анализаторов.
+1
А для синтаксических анализаторов красив знаменитый пример Р.Г.Пиотровского: «Об этом уже уже можно сказать, что он не уже молодого ужа». Судя по материалам aot.ru, у них в синтаксическом анализаторе предусмотрено отдельное правило (они называют синтаксические правила «форматками») для «борьбы» с «ужами».
+1
А проект lemmatizer.org жив? Я около полугода назад им писал что-то, но не получил ответа…
0
По поводу глаголов в анализаторе Сокирко — не замечал такой особенности, у меня все распознается одинаково. Правда я использую родную реализацию с сайта aot.ru, а не с lemmatizer.org.
0
По поводу лемматайзера — не знаю. Сайт жив :)
А по поводу анализатора Сокирко — не могу согласиться. Зайдите на aot.ru/demo/morph.html
Если ввести «прыгать», он пишет, что это инфинитив, а если «прыгаю» — Г[лагол].
А по поводу анализатора Сокирко — не могу согласиться. Зайдите на aot.ru/demo/morph.html
Если ввести «прыгать», он пишет, что это инфинитив, а если «прыгаю» — Г[лагол].
0
Что касается «массы тонкостей», которых очень много в любой естественной грамматике и с которыми неизбежно сталкиваешься при попытке выучить иностранный язык, выйдя из сензитивного возраста (лет так после 12-ти), не думаю, что здесь проблема в отсутствии «согласия в товарищах». В частности, вопрос о том, выделять или нет местный падеж (локатив) из предложного падежа (препозитива) — с теоретической точки зрения есть вопрос определения падежа, а выбор конкретной теории определяется задачей, которая изначально ставится при описании грамматики. Например, задача, которую ставит перед собой учитель в средней школе (научить учеников правильно писать безударные окончания существительных) требует теории с шестью падежами, задача автоматического построения parse tree требует морфологической теории уже как минимум с 12-ю падежами.
Перечень морфологических классов, которые могут быть приписаны слову конкретным морфологическим анализатором, обычно в явном виде приводится в документации к последнему, что помогает сделать правильный выбор лингвисту, выбирающему модуль морфологического анализа для конкретного проекта.
Перечень морфологических классов, которые могут быть приписаны слову конкретным морфологическим анализатором, обычно в явном виде приводится в документации к последнему, что помогает сделать правильный выбор лингвисту, выбирающему модуль морфологического анализа для конкретного проекта.
+2
Сокирко зовут Алексей. Алексей Сокирко.
+2
подскажите, доступны ли где-нибудь исходные грамматические таблицы аффиксов словаря Зализняка в электронном машинночитабельном виде?
я находил только веб-интерфейс к словарю и прочие всяческие реализации типа яндексового.
я находил только веб-интерфейс к словарю и прочие всяческие реализации типа яндексового.
0
Эм, вот так сходу не скажу, но посмотрите исходники на вышеупомянутых лемматайзере и аот.ру
У Сокирко есть статьи на эту тему.
Так или иначе, анализатор аот.ру основан на словаре Зализняка, стало быть, таблицы должны присутствовать.
У Сокирко есть статьи на эту тему.
Так или иначе, анализатор аот.ру основан на словаре Зализняка, стало быть, таблицы должны присутствовать.
0
в том виде, как они есть у Зализняка в aot они не присутствуют.
там уже переработка серьёзная, и используются не основы/аффиксы, а базы/флексии и встерчаются весьма странные варианты,
типа база «ёжиком» и парадигма из единственной нлексии (нулевая флексия и сущ.ед.мр.твор.).
слово «ёжику» уже совсем другая запись и другие парадигмы.
видимо, это оптимизировано для задач парсинга,
а для задач синтеза (например, для образования нужной категории слова «ёжик») уже малопотребно.
там уже переработка серьёзная, и используются не основы/аффиксы, а базы/флексии и встерчаются весьма странные варианты,
типа база «ёжиком» и парадигма из единственной нлексии (нулевая флексия и сущ.ед.мр.твор.).
слово «ёжику» уже совсем другая запись и другие парадигмы.
видимо, это оптимизировано для задач парсинга,
а для задач синтеза (например, для образования нужной категории слова «ёжик») уже малопотребно.
0
С ежиком, думаю, это никакая не оптимизация, а просто случайность, связанная с не самой удачной попыткой поддержки буквы ё или каким-то неправильным использованием GUI-оболочки кем-то из наполнителей словаря.
Но синтезу это совсем не обязательно мешает, к слову. Проверил, конкретно с ежиком у pymorphy (который базируется на словарях с aot.ru) проблем не было. Есть запись «ЕЖИК», у нее прописана правильная парадигма, больше ничего и не надо для синтеза, дополнительный мусор не мешает.
Что же касается основ/аффиксов и баз/флексий: если честно, с терминологией очень туго у меня, поискал в гугле, нашел «Формообразующими являются все флексии и некоторые суффиксы:...». В словарях с aot.ru флексии в этом смысле не хранятся.
Нашел какое-то определение аффикса («типовая необязательная морфема, повторяющаяся в целых разрядах слов, не самостоятельная, а сопровождающая корень с целью выполнения либо словообразовательной, либо формообразующей функции») — судя по этому определению, в словарях aot.ru хранятся именно аффиксы.
Но синтезу это совсем не обязательно мешает, к слову. Проверил, конкретно с ежиком у pymorphy (который базируется на словарях с aot.ru) проблем не было. Есть запись «ЕЖИК», у нее прописана правильная парадигма, больше ничего и не надо для синтеза, дополнительный мусор не мешает.
Что же касается основ/аффиксов и баз/флексий: если честно, с терминологией очень туго у меня, поискал в гугле, нашел «Формообразующими являются все флексии и некоторые суффиксы:...». В словарях с aot.ru флексии в этом смысле не хранятся.
Нашел какое-то определение аффикса («типовая необязательная морфема, повторяющаяся в целых разрядах слов, не самостоятельная, а сопровождающая корень с целью выполнения либо словообразовательной, либо формообразующей функции») — судя по этому определению, в словарях aot.ru хранятся именно аффиксы.
0
общепринятой терминологией я тоже не очень владею.
аффиксами я назвал имнно формообразующие относительно самостоятельные элементы — суффиксы, окончания.
«флексия» в нагугленном определении, возможно, синоним «окончаний»
в aot флексии включают и куски основы/корня, (например, для нивелирования чередующихся гласных).
порядка ~30000 флексий длиннее 6 букв, ~13000 длиннее 7
например:
«ившегося», «ьевичами», «ерстаемыми», «озмёмтесь», «зотрёмтесь»
тоесь это нифига не минимальные элементы, несущие синтаксические характеристики.
а у Зализняка именно минимальные, если я ничего не путаю.
аффиксами я назвал имнно формообразующие относительно самостоятельные элементы — суффиксы, окончания.
«флексия» в нагугленном определении, возможно, синоним «окончаний»
в aot флексии включают и куски основы/корня, (например, для нивелирования чередующихся гласных).
порядка ~30000 флексий длиннее 6 букв, ~13000 длиннее 7
например:
«ившегося», «ьевичами», «ерстаемыми», «озмёмтесь», «зотрёмтесь»
тоесь это нифига не минимальные элементы, несущие синтаксические характеристики.
а у Зализняка именно минимальные, если я ничего не путаю.
0
возможно, это минимальные элементы _однозначно_ идентифицирующие синтаксическую категорию в контексте данной парадигмы.
0
Вы правы в том, что традиционного разбиения на приставку-основу-суффикс-окончание в словарях с aot.ru нет. Там слова могут разбиваться на 2 части (назовем их основой и аффиксом) любым образом, который обеспечит потом нужное словообразование и получение морфологической информации (при этом желательно максимальное повторное использование аффиксов). Термин «основа слова» используется там не в «школьном» понимании, а в сугубо утилитарном, разбиению на части не приписывается еще какой-либо дополнительны смысл.
Не очень сейчас представляю, как, словари, основанные на «классических» основах, суффиксах и окончаниях можно использовать для построения морфологического анализатора. А с таким «утилитарным» словарем простейший морфологический анализатор (без наворотов) можно уместить строк в 30 кода (коротких, включая комментарии и работу с вводом-выводом).
Не очень сейчас представляю, как, словари, основанные на «классических» основах, суффиксах и окончаниях можно использовать для построения морфологического анализатора. А с таким «утилитарным» словарем простейший морфологический анализатор (без наворотов) можно уместить строк в 30 кода (коротких, включая комментарии и работу с вводом-выводом).
0
согласен, что такое «утилитарное» дробление вполне оправдано для анализатора.
но вот в рамках синтеза привязывать сюда семантику становится сложнее.
могу ошибаться, но мне кажется что в aot ещё и не полные парадигмы,
тоесть то, что в таблице с одним id не всегда охватывает все формы одного «слова».
(я сконвертил всё это в sqlite и не помню уже как называется эта таблица в оригинале)
но вот в рамках синтеза привязывать сюда семантику становится сложнее.
могу ошибаться, но мне кажется что в aot ещё и не полные парадигмы,
тоесть то, что в таблице с одним id не всегда охватывает все формы одного «слова».
(я сконвертил всё это в sqlite и не помню уже как называется эта таблица в оригинале)
0
А что понимается под синтезом? Просто изменение формы слова или что-то еще?
Если изменение формы слова, то дело упирается только в правильное перечисление всех правил в парадигмах. Задачи вроде смены части речи — да, там правильно не решить, только эмпирически. Ну и особенность насчет инфинитива, не знаю, как это себя проявит.
Я не встречал там неполных парадигм, но никакого автоматического тестирования на размеченном корпусе не проводил (нет у меня такого корпуса, а самому делать — квалификация не та и времени нет), поэтому, возможно, мне просто везет. Есть примеры какие-то?
Если изменение формы слова, то дело упирается только в правильное перечисление всех правил в парадигмах. Задачи вроде смены части речи — да, там правильно не решить, только эмпирически. Ну и особенность насчет инфинитива, не знаю, как это себя проявит.
Я не встречал там неполных парадигм, но никакого автоматического тестирования на размеченном корпусе не проводил (нет у меня такого корпуса, а самому делать — квалификация не та и времени нет), поэтому, возможно, мне просто везет. Есть примеры какие-то?
0
под синтезом я понимаю трансляцию какой-нибудь семантической структуры в естественный язык.
например, для веб2.0ности, «рендеринг» RDF/OWL структур в естественный русский язык.
на последнем (или предпоследнем) этапе потребуется согласование синтаксических характеристик. тоесть таки постановка слова в нужную форму.
например, для веб2.0ности, «рендеринг» RDF/OWL структур в естественный русский язык.
на последнем (или предпоследнем) этапе потребуется согласование синтаксических характеристик. тоесть таки постановка слова в нужную форму.
0
Какие-то препятствия, наверное, будут с любым морфологическим анализатором, под это дело не заточенным.
Но раз только согласовывать форму слова, то препятствия все преодолимые. В том же pymorphy уже есть метод inflect_ru, который умеет выборчно менять у слова какие-то морфологические характеристики, сохраняя остальные. Во всех анализаторах, основанных на словарях с aot.ru, будут проблемы с преобразованием инфинитива в глагол (обратное преобразование — без проблем). Но, думаю, все решается.
Вообще говоря, морфологический анализатор — сравнительно простая штука, и затачивать ее под какие-то конкретные цели должно быть совсем не сложно.
Но раз только согласовывать форму слова, то препятствия все преодолимые. В том же pymorphy уже есть метод inflect_ru, который умеет выборчно менять у слова какие-то морфологические характеристики, сохраняя остальные. Во всех анализаторах, основанных на словарях с aot.ru, будут проблемы с преобразованием инфинитива в глагол (обратное преобразование — без проблем). Но, думаю, все решается.
Вообще говоря, морфологический анализатор — сравнительно простая штука, и затачивать ее под какие-то конкретные цели должно быть совсем не сложно.
0
размеченный корпус вроде есть у «института русского языка».
искать лень.
про неполные парадигмы мог попутать.
примеров сейчас не найду,
возился с этим довольно давно и результатов не сохранял.
искать лень.
про неполные парадигмы мог попутать.
примеров сейчас не найду,
возился с этим довольно давно и результатов не сохранял.
0
www.ruscorpora.ru/index.html — это оно? На него тоже натыкался, но там доступ очень ограничен: только онлайн-поиск (насколько я понимаю, бесполезный для моей задачи), скачать размеченные тексты нельзя.
0
да. именно оно.
там где-то в «использовании» написано, что оффлайновая работа с корпусом вроде как будет возможна.
ну и намекается, что если очень надо можно к ним постучаться в индивидуальном порядке.
там где-то в «использовании» написано, что оффлайновая работа с корпусом вроде как будет возможна.
ну и намекается, что если очень надо можно к ним постучаться в индивидуальном порядке.
0
Ага, Вы правы, можно постучаться, не занимался этим по 2м причинам.
Делаю open-source проект (в свободное время, это причина 1), хочу прикрутить к нему автоматический мониторинг качества. По идее, это значит написать скрипт, который будет прогонять текст через анализатор и сравнивать результат с разметкой. Чтоб тест могли запускать все, кто правит код, текст должен быть в свободном скачивании. Вот тут-то индивидуальный порядок с идеологией open-source не очень вяжется, это причина 2) Сомневаюсь, что если они не выложили все в открытый доступ сами, то позволят сделать это мне.
А вообще, закрытость научных разработок (даже спонсируемых государством), расстраивает нередко. Поворчал немного)
Делаю open-source проект (в свободное время, это причина 1), хочу прикрутить к нему автоматический мониторинг качества. По идее, это значит написать скрипт, который будет прогонять текст через анализатор и сравнивать результат с разметкой. Чтоб тест могли запускать все, кто правит код, текст должен быть в свободном скачивании. Вот тут-то индивидуальный порядок с идеологией open-source не очень вяжется, это причина 2) Сомневаюсь, что если они не выложили все в открытый доступ сами, то позволят сделать это мне.
А вообще, закрытость научных разработок (даже спонсируемых государством), расстраивает нередко. Поворчал немного)
0
Тема интересная. Говорю как бывший аспирант Зализняка и к.ф.н.
0
Слежу за этим циклом статей и поражаюсь автору, не жалеющему себя в праздники.
Слежу, в основном, как большой поклонник языка русского, интересно, что же будет в конце :).
Спасибо, много нового.
Слежу, в основном, как большой поклонник языка русского, интересно, что же будет в конце :).
Спасибо, много нового.
0
Спасибо за интересные материалы.
> Например, звательный падеж («Гриш! А Гриш!») Насколько знаю, он достаточно активен в украинском.
В отличии от русского, где звательный является новообразованием (нулевая флексия: мам! Тань! Вась! и т.д.) в украинском сохранился старый вокатив (на -ю, -о, -е, -є: мамо! Таню! Олеже! Юліє Володимирівно! :) и т.д.).
Так что явления хоть и параллельные, но не идентичные, тем более в русском звательный до сих пор имеет оттенок разговорности, что может понадобиться учитывать в контекте при переводе на украинский.
> Например, звательный падеж («Гриш! А Гриш!») Насколько знаю, он достаточно активен в украинском.
В отличии от русского, где звательный является новообразованием (нулевая флексия: мам! Тань! Вась! и т.д.) в украинском сохранился старый вокатив (на -ю, -о, -е, -є: мамо! Таню! Олеже! Юліє Володимирівно! :) и т.д.).
Так что явления хоть и параллельные, но не идентичные, тем более в русском звательный до сих пор имеет оттенок разговорности, что может понадобиться учитывать в контекте при переводе на украинский.
+1
Т.е. получается, что в русском языке звательный падеж был, потом отмер, а сейчас образуется вторично, причём другим способом? Интересно, не знал.
0
«Отче наш»
0
>> а сейчас образуется вторично
Уже образовался, причём, думаю, довольно давно. Сейчас новообразованный звательный падеж используется только в разговорной речи, так что осталось дождаться официального признания Институтом русского языка.
Своеобразно звучит :)
Уже образовался, причём, думаю, довольно давно. Сейчас новообразованный звательный падеж используется только в разговорной речи, так что осталось дождаться официального признания Институтом русского языка.
Уважаемые Василь Петрович и Ирин Ивановна! В ответ на ваш запрос сообщаем...
Своеобразно звучит :)
0
Очень интересно и легко читается.
0
Sign up to leave a comment.
Заметки об NLP (часть 2)