Category: лингвистика

Category was added automatically. Read all entries about "лингвистика".

Реализация модели детектора перефразировок с BERT в pytorch transformers

Продолжение темы изучения питорча: сделал модель бинарного классификатора для определения синонимичности двух фраз с использованием multilinual BERT: гист
Collapse )

Забавные моменты с русскоязычным GPT-2

Смотрю на текущие результаты сэмплирования из обучающейся языковой модели GPT-2 в варианте с  117M параметрами. Иногда проскакивают забавные словечки, получающиеся из-за склейки bpe-токенов. С некоторыми натяжками выглядят так, будто модель уже знает общие правила русского словообразования и словоизменения, но ошибается с правильным выбором морфем:
Collapse )

Об ошибках морфологической разметки в OpenCorpora

В догонку к предыдущему посту про качество RnnMorph.

В ходе тщательного анализа результатов моего part-of-speech tagger'а по данным из OpenCorpora наткнулся на такие штуки:

False positive NOUN misprediction for sample:

Центральная катма дискордианства гласит :
itoken=1
word=катма
expected part-of-speech =UNKN
predicted part-of-speech=NOUN


Строка "expected part-of-speech =UNKN" означает, что в разметке OpenCorpora слово "катма" помечено классом UNKN. Подозреваю, что это артефакт полуавтоматической разметки, слово "катма" просто отсутствует в словарной базе OpenCorpora.

Эта ошибка повторяется в корпусе систематически и достаточно сильно смещает статистику.

Также можно заметить, что у меня модель правильно пометила это слово классом NOUN.

Вывод - при подсчете статистики по разметке OpenCorpora категорически рекомендуется выкидывать из рассмотрения метки UNKN. Оценка тут сделана с учетом этого нюанса.

Оценка качества RnnMorph по ручной морфологической разметке из OpenCorpora

Оценка точности разметки существительных для морфологического анализатора RnnMorph.
В качестве эталона разметки взят "Подкорпус со снятой омонимией" из OpenCorpora.

NOUN recall=0.9931500509117838
NOUN precision=0.9943005421435522
NOUN+tags precision=0.9590843797785089


NOUN precision - точность без учета тегов, NOUN+tags - точность с учетом тэгов Case, Number.

Изменения в грамматическом словаре касательно составных прилагательных

В "грамматическом словаре русского языка" закончена большая чистка русского лексикона. Из словарной базы убраны почти все составные прилагательные такого вида "ярко-зеленый", "багрово-красный" и т.д. В итоге словарь стал меньше, но мощность описываемой им лексики - больше. Далее - пояснения мотивации и последствия.

Collapse )

Сеточная модель для определения части речи слова по его символьному представлению

Еще одна сеточная модель для char-based language modeling.
Для произвольной цепочки символов пытаемся определить, к какой части речи это слово относится.
Collapse )

Глокая куздра и морфологический разбор с синтаксическим анализом

[В продолжение темы kelijah.livejournal.com/154769.html]

Синтаксический разбор предложения "Глокая куздра штеко будланула бокра и курдячит бокрёнка" силами только модуля несловарной морфологии в текущей разрабатываемой версии.

Рендеринг синтаксического дерева:Collapse )

Выдача морфологического анализатора (part-of-speech tagger'а):
Collapse )

И дерево зависимостей в текстовом виде:
Collapse )

Наречия по-прежнему остаются основной проблемой. В данном случае слово "штеко" на самом деле дает также и вариан распознавания в виде существительного, аналогично "блио". Несклоняемость таких существительных приводит к тому, что "штеко" дает и вариант существительного в родительном падеже, что далее приводит к появлению связывания "куздра штеко", которое в демонстрации отсутствует по техническим причинам - задано ограничение на число анализируемых вариантов в виде beam_size=10.

Разделение значений слова в рамках HMM?

Почему-то я пропустил этот подход,
Если рассматривать вхождение слова в предложении как наблюдаемое событие, а значение, в котором употреблено слово - как скрытый параметр, то мы получаем в чистом виде HMM.
Для HMM есть такой алгоритм Баума-Велша, который позволяет подобрать параметры модели по образцовым последовательностям. И этот АБВ вроде бы делает как раз то, что нам нужно.

Несклоняемые существительные и глагольные сказуемые

В новой версии программы Morphology выполняем анализ двух предложений.

Сначала Гости пьют кофе.

морфологический разбор предложения


Затем Кофе стынет на столе.

морфологический разбор

Для существительного кофе в рассматриваемых примерах анализатор распознает разные падежные формы. В первом примере - именительный падеж, во втором - винительный. Это в явном виде отражает семантику. То есть буквально формы слова совпадают, но грамматически они разные.

Помимо отвлеченных следствий из такого распознавания падежа есть и одно важное практическое. Если мы подставим вместо кофе название другого напитка, то для сохранения правильного согласования нам придется верно учесть падеж. Например, для текилы:

Текила стынет на столе

но

Гости пьют текилу

Именно такие штуки учитывает, к примеру, синонимизатор, при подстановке синонимов, помимо десятка других особенностей русской грамматики, конечно.

Кликабельное синтаксическое дерево

Если зайти на страничку онлайн-анализатора и просто запустить разбор дефолтного предложения, то в панели "Синтаксический анализ" можно заметить некоторые изменения:
Collapse )