Size: a a a

Natural Language Processing

2021 February 05

SancheZz Мов in Natural Language Processing
источник

SancheZz Мов in Natural Language Processing
Вроде да
источник

A

Anna in Natural Language Processing
SancheZz Мов
BiDAF,  кажется так зовется, пробовали?
Не пробовали, так как для обучения используются примеры фраз для каждого intent (+ туда же отправляется разметка для задачи ner).
Спасибо, подумаем, как можно добавить ответ на вопрос в обучающую выбобрку (не всегда очевидно, так как пользователь может захотеть просто прервать диалог), чтобы затем применить BiDAF.
источник

SP

Sebastian Pereira in Natural Language Processing
Eug
Вы полагаете, использование эмбеддингов предложений что-то даст?
Здесь ведь требуется понимание смысла, который в эмбеддингах присутствует, но, как вы и написали, "в больших кавычках".
Насколько они "чувствительны" к вариантам "надо", "не надо", "возможно"?

В любом случае, спасибо за комментарий. Посмотрю Natasha и Yargy.
«Что-то» само собой даст, особенно если веса сдвинуть в эту сторону. Очень сильно зависит от того, какой подход примете - можете взять готовые модели для русского языка от hugging face зафайнтюнить и посмотреть на результаты.
источник

SancheZz Мов in Natural Language Processing
Anna
Не пробовали, так как для обучения используются примеры фраз для каждого intent (+ туда же отправляется разметка для задачи ner).
Спасибо, подумаем, как можно добавить ответ на вопрос в обучающую выбобрку (не всегда очевидно, так как пользователь может захотеть просто прервать диалог), чтобы затем применить BiDAF.
Ну если прервался можно спец токеном западить или пустой строкой
источник

A

Anton in Natural Language Processing
Есть ли метод (или параметр) для токенизатора BERT (от deeppavlov на HuggingFace) не разбивать конкретное слово (список слов) на несколько токенов?
Может применение специальных токенов до и после слова?

Необходимо для получения вектора для конкретного слова.
источник

AK

Alexander Kukushkin in Natural Language Processing
Anton
Есть ли метод (или параметр) для токенизатора BERT (от deeppavlov на HuggingFace) не разбивать конкретное слово (список слов) на несколько токенов?
Может применение специальных токенов до и после слова?

Необходимо для получения вектора для конкретного слова.
Эт так не работает. Работает подругому: БЕРТ бьет неизвестное слово на токены, обрабатывает токены, берем вектор первого токена, считаем его вектором всего слова. Или берем вектор последнего токена или считаем среднее векторов токенов слова
источник

A

Anton in Natural Language Processing
Alexander Kukushkin
Эт так не работает. Работает подругому: БЕРТ бьет неизвестное слово на токены, обрабатывает токены, берем вектор первого токена, считаем его вектором всего слова. Или берем вектор последнего токена или считаем среднее векторов токенов слова
Слово ему известно - если оно в нормальной форме. Стоит только изменить окончание или написать с заглавной буквы - делит на два токена.
источник

DD

David Dale in Natural Language Processing
Alexander Kukushkin
Эт так не работает. Работает подругому: БЕРТ бьет неизвестное слово на токены, обрабатывает токены, берем вектор первого токена, считаем его вектором всего слова. Или берем вектор последнего токена или считаем среднее векторов токенов слова
Ещё можно добавить в словарь токенизатора новое слово, добавить в матрицу эмбеддингов соответствующий индекс для этого слова, и пофайнтюнить модель (предпочтительно заморозив все слои, кроме эмбеддингов) на текстах, где это слово встречается. На гитхабе huggingface этот пример обсуждается.

Но вариант Александра проще :)
источник

A

Anton in Natural Language Processing
источник

A

Anton in Natural Language Processing
А сравнивать я буду в итоге с вектором слова, которое будет 100% в нормальной форме.

Попробую сложить (или среднее взять).
источник

A

Anton in Natural Language Processing
вот такой пример ещё попался...
источник

A

Anton in Natural Language Processing
Наверное можно вот сюда передавать список искомого слова.
источник

AL

Anton Lozhkov in Natural Language Processing
Anton
Наверное можно вот сюда передавать список искомого слова.
Нет, этот список будет влиять только на претокенизацию (которая делается до разделения слов на subword токены)
источник

AL

Anton Lozhkov in Natural Language Processing
По сути, если вашего токена нет в словаре сабвордов, то у него не будет id, и соответственно его не будет в таблице входных эмбеддингов
источник

AL

Anton Lozhkov in Natural Language Processing
С предобученными моделями - только усреднение выходных эмбеддингов, только хардкор
источник

A

Anton in Natural Language Processing
Пока буду просто ставить его в нормальную форму. А там уже если гипотеза будет работать, то наверное пойду в хардкор )))
источник

AL

Anton Lozhkov in Natural Language Processing
Anton
Пока буду просто ставить его в нормальную форму. А там уже если гипотеза будет работать, то наверное пойду в хардкор )))
Для удобства можно подавать токенайзеру список токенов вместо строки, см. is_split_into_words=True https://huggingface.co/transformers/main_classes/tokenizer.html#transformers.PreTrainedTokenizer.__call__
И потом получить индексы исходных слов для каждого сабворда:
tokenized_inputs = tokenizer(['mylongtoken', 'and', 'friends'],  is_split_into_words=True)

for i, input_ids in enumerate(tokenized_inputs['input_ids']):
    original_word_ids = tokenized_inputs.word_ids(i)
источник

AK

Alexander Kukushkin in Natural Language Processing
Новые соревнования на Диалоге http://www.dialog-21.ru/evaluation/. Датасеты на русском языке на вес золота.
- seq2seq сложное предложение -> простое, симплификация
- Генерация заголовка для кластера новостей
- Нормализация именованных сущностей
источник

AK

Alexander Kukushkin in Natural Language Processing
Напрягает, что часто новые сообщения в закрепе?
Анонимный опрос
10%
🚫 Да, напрягают уведомления, не успеваю следить, что-то ещё
79%
😎 Всё норм
11%
🙈 Непонятно о чем речь
Проголосовало: 63
источник