1. datasets
Протестируйте модель подобия текста на двух наборах данных, ATEC и LCQMC, взгляните на каждый пример:
ATEC:
蚂蚁花呗账单分期当月用还款吗,我的蚂蚁花呗的分期这个月还了,未,0
我花呗绑卡绑不上怎么回事,怎么绑定不了花呗,0
怎么才能关闭借呗,帮我关闭借呗入口,1
借呗怎么只能分成六个月还款,借呗设置额度,下个月还能设置吗,0
LCQMC:
校验失败了, 您好,您还是访客状态呢 0
尼玛什么意思 尼玛啊是什么意思? 0
自找苦吃的地方是哪儿? 自找苦吃的地方是哪儿 1
尾号4位多少 尾号是多少后4位 1
dataset | Количество (поезд/разработка/тест) | распределение поездов по классам (0:1) |
---|---|---|
ATEC | 11/22/33 | 75435 : 16870 |
LCQMC | 11/22/33 | 100192 : 138574 |
Судя по количеству распределений классов, ATEC представляет собой набор данных с чрезвычайно несбалансированным распределением.
2. solutions
Общие решения этого типа проблемы следующие. Во-первых, предварительно обработайте данные. Используйте сегментацию слов jieba, отфильтруйте stop_words и используйте словарь Baidu stop_wotds.link.
2.1 transformer + siameses-net
Эксперимент 1: использование встраивания перчаток, dim=300, уровень токена,
| dataset | F1 score | precision| aveTime| | ---- | ---- | ---- | | ATEC | 0.82157 | 0.82157 | | LCQMC | 0.50272 | 0.50272 |
Анализ: Все результаты по ATEC неверны, и все прогнозируются как отрицательные.
Эксперимент 2: Использование встраивания bert
Эксперимент 3: Немедленная инициализация встраивания
2.2 AlBert
使用AlBert模型进行 fine-tuning,
1. set 1, epoch:1.0
eval_accuracy = 0.81263494
eval_accuracy = 0.81263494
eval_loss = 0.41541135
global_step = 3730
loss = 0.41508695
2. set 2, epoch:2.0
eval_accuracy = 0.78366095
eval_accuracy = 0.78366095
eval_loss = 1.7134513
global_step = 7461
loss = 1.7120895
15.
eval_accuracy = 0.788774
eval_accuracy = 0.788774
eval_loss = 2.2002842
global_step = 55960
| dataset | F1 score | precision| epoch| aveTime| | ---- | ---- | ---- | ----| | LCQMC | 0.84032 | 0.84032 | 1| |LCQMC|0.844|0.844|5| |LCQMC|0.84192|0.84192|10| |LCQMC|0.80304|0.80304|15|
Почему большее количество эпох работает хуже?
Краткое описание модели
Весь процесс ALBert представляет собой облегченную версию Bert, которая представляет собой упрощенную версию bert, а также обновленную версию. По сравнению с Bert, ALBert имеет три основных изменения:
- Факторизация встраивания (параметризация факторизованного встраивания)
- Межуровневое совместное использование параметров
- Изменены задачи NSP на задачи SOP. Потеря связности между предложениями
недостаток:
预测时间长
2.3 AlBERT+siameses-net link
Краткое описание модели
Структура проекта этой модели очень проста, то есть BERT действует как энкодер и использует структуру двойной сети для непосредственной тонкой настройки конкретной задачи для обновления веса BERT. Тогда сгенерированный вектор предложений имеет смысл, и косинусное сходство можно использовать для прямого вычисления расстояния. Как показано на рисунке:Здесь мы используем модель Альберта.
| dataset | F1 score | precision|checkpoint| aveTime| | ---- | ---- | ---- | ----| | LCQMC | 0.80712 | 0.80712 |149228| | LCQMC | 0.71472 | 0.71472 |7461| | LCQMC | 0.71472 | 0.71472 |37307|
Руководство по созданию siameses-net с Альбертом.code
2.4 simnet
Краткое описание модели
2.5 MatchPyramid
Обзор идей: Вдохновленный распознаванием изображений, сначала вычислите сходство между токенами каждой позиции входных двух предложений и постройтематрица подобия, а затем используйте модель CNN для извлечения признаков из матрицы подобия и, наконец, добавьте слой maxpool, а затем используйте классификацию softmax.
2.6 PolyEncoder
Введение модели
В этой статье он назвал вышеуказанную сиамскую сеть Bi-encoder, а AlBert — Cross-encoder. Поликодировщик — это компромисс между ними, принимая во внимание производительность и точность предварительного редактирования.
Структура сети по-прежнему состоит из двух симметричных кодировщиков, и правый кодировщик кодирует кандидата для получения. Левый кодирует ввод Q и занимает верхний слой.векторы, затем сВыполните операцию внимания, гдеЕго можно рассматривать как полученное значение, относящееся к текущему кандидату. который:
для кандидата, который также можно кэшировать заранее, так что вПри прогнозировании вам нужно только получить первые m векторов верхнего слоя и получить, а потом сВычисление косинусного расстояниясходство двух.
Теперь остается вопрос, как выбрать этоВектор, автор акцентирует внимание на тестировании двух стратегий:
- Выберите первый m напрямую, как показано на рисунке 1.
- Выполните операцию «Внимание» для всех выходных векторов верхнего слоя и изучите m кодов., а затем взять соответствующий индекс, как показано на рисунке 2.
2.7 «КольБЕРТ» (SIGIR 2020)
1. Введение в модель
ColBERT также использует структуру сиамского языка. Разделенная на Query-encoder и Doc-encoder, эта модель использует встраивание на уровне токена, полученное кодировщиком, а затем вычисляет связь каждого токена между запросом и документом для измерения сходства.
2. Введение модели
- Кодировать запрос и документ отдельно
Кодирование использования Query и DocТа самая модель Берта, поэтому, чтобы различать Query и Doc, добавьте [Q] и [D] перед входной последовательностью соответственно. Bert является кодером, CNN выполняет преобразование размерности, которое используется для уменьшения размерности скрытого слоя на выходе BERT, а Normalize выполняет регуляризацию l2 для последующего вычисления сходства косинусов.
При построении входной последовательности Query специальные символы [маска] используются для заполнения для более коротких длин. Автор объяснил, что дополнение на этом этапе может играть роль расширения запроса, и результаты эксперимента показывают, что эта часть имеет большое влияние. .Автор объясняет эффективность этой модификации запросов тем, что она позволяет модели BERT генерировать представления внедрения на основе запросов в этих замаскированных позициях. Цель состоит в том, чтобы научиться расширять представление запроса новыми словами или путем повторного взвешивания слов в соответствии с их важностью..
Для Doc необходимо отфильтровать знаки препинания. 2. Последующее взаимодействие
Наконец, вычисляется сходство, которое представляет собой сумму сходства между каждым токеном запроса и встраиванием запроса в качестве окончательной оценки., (поскольку регуляризация L2 выполняется сначала на матрице, вычисление скалярных произведений фактически является вычислением косинусного сходства).
Кроме того, хорошее введение в статье,faissМетод поиска непосредственно по полному набору данных автор называетEnd-to-end Top-k Retrieval:
- faiss-based candidate filtering
- re-ranking
【Примечания】faiss: набор инструментов facebook с открытым исходным кодом для эффективного поиска сходства и кластеризации плотных векторов.
3. Анализ результатов и заключение
- Давайте сначала посмотрим на общие результаты.Приведенный выше рисунок сравнивается с основными четырьмя схемами, а именно:
- Методы, основанные на наборе слов (лук), такие как BM25.
- Модель NLU на основе лука (эффективные модели на основе NLU)
- Нейронные модели соответствия.
- Интерактивная сеть сопоставления на основе языковой модели BERT (Language Model Pretraining for IR).
Достоверность результатов при ** (MRP@10)измерение, введение предварительно обученной языковой модели значительно улучшилось. существуетПроизводительность извлечения (латентность) **, модель интерактивных вычислений, представленная BERT, значительно хуже, и ColBERT, предложенный в этой статье, может обеспечить хороший компромисс и производительность в двух измерениях.
Конкретные значения показаны на рисунке выше. Скриншот 2020-09-12 12.43.31При использовании метода end2end результат лучше, но латентность сильно увеличивается, что с точки зрения затрат нерентабельно.
Результаты другого набора данных (TREC CAR) также показали хорошие результаты с использованием BM25+ColBERT.
На картинке выше автор провел эксперимент по абляции на ColBERT и пришел к выводу, что: 1. Использование расширения запроса имеет большое улучшение. 2. Метод более поздней интеграции ColBERT лучше, чем использование одного вектора [CLS] непосредственно как скалярного произведения. 3. ColBERT использует максимальное сходство, которое значительно лучше, чем среднее сходство. 4. Лучше использовать метод end2end для извлечения непосредственно из полного набора языковых чатов, чем метод распределения (сначала используйте BM25, чтобы попасть в топ-1000 при повторном ранжировании). 5.ColBERT должен использовать BERT для кодирования каждого документа и сохранения полученного представления документа в виде индекса.На приведенном выше рисунке показано пространство для хранения (пространство), необходимое для различных измерений (размер) и битов (байты/размер), и соответствующие полученные Сравнение результатов (MRP@10). Видно, что установка размерности m=24 и количества цифр 2 позволяет очень четко запомнить, и в то же время можно получить хороший эффект.
2.7 Text Matching with Richer Alignment Features
3. Показатели оценки результатов
точность@k Средняя точность@K: Средняя точность@K относится к средней частоте правильных ответов от первого правильного отзыва до K-го правильного отзыва и до K-го правильного отзыва. MAP (средняя средняя точность @ K)
4. Другой контент
другие материалы:Measurement of Text Similarity: A Survey Evolution of Semantic Similarity - A Survey Обзор методов сопоставления текста (семантическое сходство/поведенческая релевантность) Краткое введение в сопоставление текста с глубоким обучением Text_Matching-github