Size: a a a

Natural Language Processing

2021 July 17

SS

Sergey Shulga in Natural Language Processing
вообще обратил внимание, что инструментов морфологического разбора слов, зависимостей и семантики предложений много, а вот инстументов для разбора слова по составу вообще пока не нашел
источник

N

Natalia in Natural Language Processing
потому что это как минимум так себе задача (диахрония/синхрония плоховато разделяются)
источник

N

Natalia in Natural Language Processing
но тут уже обсуждали чью-то либу
источник

SS

Sergey Sikorskiy in Natural Language Processing
"слово по составу" - это имеется в виду по слогам или словообразовательный анализ (приставки, корни, и т.д.)?
источник

SS

Sergey Shulga in Natural Language Processing
словообразовательный
источник

SS

Sergey Shulga in Natural Language Processing
да, в этом плане странным образом повезло японскому. Язык сложный, но анализ слов по составу элементарный.
источник

SS

Sergey Shulga in Natural Language Processing
а по грамматике еще проще )))
источник

SS

Sergey Sikorskiy in Natural Language Processing
https://github.com/alesapin/XMorphy
Только там с деепричастиями беда. Пользовался этой тулзой сам несколько дней тому назад.
источник

SS

Sergey Shulga in Natural Language Processing
посмотрю, спасибо
источник
2021 July 18

SS

Sergey Sikorskiy in Natural Language Processing
Там README не обновлено. Более подробно можно почитать в их презентации: http://www.dialog-21.ru/media/5413/sapin-bolshakova.pdf
источник

SS

Sergey Sikorskiy in Natural Language Processing
Эти товарищи интересны еще тем, что у них есть исправленный словарь Тихонова, который наполовину состоит из ошибок.
источник

SancheZz Мов in Natural Language Processing
RnnMorph пробовали?
источник

YB

Yuri Baburov in Natural Language Processing
Наиболее точный ответ -- считать комбинаторную вероятность, как это делают библиотеки сплиттинга по словам, та же норвиговская. Там только неправильная вероятность, что слово отсутствует в словаре.
If P(расклейки) > P(склейки)*k, то делаешь расклейку.
Например, пусть вероятность "влет"  1е-7 ("сделаю влёт"), вероятность "в лет" по словарю биграмм 1е-9 ("в лет 10") и k=10. Оставляешь так.
Если нет в словаре биграмм -- аппроксимируешь через словари униграмм, но штрафуешь при этом (примерно, min(1e-10, P(A)*P(B)) , это важно для того же "в лет" если его нет в словаре биграмм)
Эх, кто бы выложил уже нормальную формулу в опенсорс для сегментатора... И словари выложил.
А ещё можно взять для этого спеллчекинг. Если он хороший, то он такое умеет.
источник

SS

Sergey Shulga in Natural Language Processing
Идею понял, упустил я из виду биграммы в этой задаче.
источник

SS

Sergey Shulga in Natural Language Processing
юниграммный на 100к слов общего домена могу скинуть, но в специализации оно нормально не работает.
источник

YB

Yuri Baburov in Natural Language Processing
Не, я умею генерировать нграммы, мне не надо.
источник

d

dePuff in Natural Language Processing
Есть вопрос связанный с недавно выложенными T5 от сбера.
Файнтюнил обе модельки под свою задачу, кодом, которым успешно файнтюнились другие T5 и оно даже работает, но...


Выглядит, что моделька научилась тому, что я от ней хотел, но, выдав последовательность, не научилась "успокаиваться" после предсказания ей токена конца предложения )

Например, результат
generate
может быть таким:
<unk> Современные производители используют различные материалы для изготовления посуды, используемой в кулинарии.</s> tv.</s> tv.</s> tv.</s> tv.</s> tv.</s> tv.</s> tv.</s> tv.</s>

В последовательностях, на которых она тюнилась, токен </s> завершал и входное и выходное предложение

Есть мысли: кто виноват и что делать?
Workaround очевиден, но...
источник

SS

Sergey Shulga in Natural Language Processing
таки все умеют, но тут датасет искать не надо для частотного
источник
2021 July 19

DD

David Dale in Natural Language Processing
Виновато то, что в этой модели tokenizer.eos_token_id=2 (это </s>, и это правильно), но   model.config.eos_token_id=1 (это <s>, и это ошибка).
Если eos_token_id=2 в метод generate подать явно, или если выставить model.config.eos_token_id = 2 перед генерацией, то модель вовремя остановится.
источник

SS

Sergey Sikorskiy in Natural Language Processing
RnnMorph делает только морфологический анализ. Ничего другого я там не увидел.
А в XMorphy интересна морфемная сегментация словоформ.
В статье есть ссылки на 2 других продукта, один от Alexey Sorokin, а другой от того же Sapin A.S.
Но их я не тестировал.
источник