Уведомление
Поскольку на этом складе сейчас слишком много проектов, его сложно поддерживать. Поэтому в будущем различные задачи будут разделены, склады будут созданы отдельно, и будет проведено множество сравнительных экспериментов, чтобы облегчить пользователям выбор моделей. При необходимости можно перейти на указанный склад, ссылка следующая:
- Склад текстовой классификации
- Склад семантических сопоставлений
- Склад генерации текста
- Другие репозитории ускоряют обновления...
Оглавление
- Чат-бот
- 1. Bert_chatbot: похож на UniLM.
- 2. seq2seq_luong: Кодер представляет собой двухуровневую сеть GRU, а декодер представляет собой однослойную сеть GRU. Между кодером и декодером добавляется внимание Luong.
- 3. Transformer_chatbot: стандартная модель трансформера.
- Дистилляция
- 1. DynaBert: В работе Huawei в основном используется обрезка для вырезания определенных структур bert.
- 2. rnn_distill_bert: используйте слой сети lstm для дистилляции модели bert и добавляйте только мягкую потерю меток.
- 3. Three_layer_self-attention_to_distill_bert: вы, наверное, знаете, что это значит, глядя на название. Он просто записывает кодировщик трехслойного преобразователя, а затем дистиллирует модель bert.
- 4. tiny_bert: работа Huawei, метод дистилляции tiny_bert заключается в добавлении среднеквадратичной ошибки среднего слоя в дополнение к потере мягкой метки.
- Встраивание
- 1.skipgram-word2vec: используйтеskipgram для получения векторов слов.
- 2. bert: обучайте bert напрямую, тренируйте с нуля или используйте этот код для переобучения.
- 3. Альберт: обучайте Альберта напрямую и тренируйтесь с нуля. Вы также можете использовать этот код для переобучения.
- 4. NPLM: Традиционный подход
- НЭР
- 1. Bert_CRF_Ner: модель Берта плюс условное случайное поле для задач маркировки последовательностей.
- 2. Bert_Softmax_Ner: напрямую используйте модель bert для аннотации последовательности.
- 3. BiLSTM_CRF_Ner: использовать двунаправленную сеть lstm и crf для задач маркировки последовательностей.
- НМТ
- 1. GRU_attention: Кодер и декодер представляют собой сети GRU с общим механизмом внимания (прямая взвешенная сумма), добавленным в середине.
- 2. Transformers_NMT: стандартная структура преобразователя для машинного перевода.
- Pretrain_Model
- 1. bert-pretrain: Чтобы переобучить модель bert, сначала выполните предварительную обработку данных через get_train_data.py, включая 15% слов для маски и других операций, а затем обучите.
- 2. wobert-pretrain: модель wobert для предварительного обучения предоставлена Су Шеном. Для переобучения здесь вы можете добавить список слов, который вы создали самостоятельно, а затем изменить метод сегментации слов bert.
- Чтение_понимание
- 1. BERT_MRC: используйте bert для выполнения задач по распознаванию машинного чтения. Ожидается, что здесь будет принят метод прямой стадии.
- 2. BiDAF: модель понимания машинного чтения с механизмом двунаправленного потока внимания.
- 3. DocQA: традиционная модель
- 4. Match_LSTM: традиционная модель, простая структура rnn.
- 5. QANet. Это также относительно традиционная модель, но эта модель является первой моделью mrc, отказавшейся от структуры rnn. Эта модель также является первой моделью, в которой в задачу mrc введен механизм самообслуживания.
- 6. RNet: традиционная модель
- 7. Recurrence-hotpot-baseline: впервые возникает проблема использования структуры rnn для решения многошаговых рассуждений. В наборе данных hotpotqa помимо прогнозов, содержащих ответы, также имеются прогнозы, подтверждающие факты. и прогнозы соответствующих пунктов.
- 8. albert_mrc: используйте предварительно обученную модель Альберта для выполнения задач mrc.
- 9. Electra_bert: используйте предварительно обученную модель Electra для выполнения задач mrc.
- 10. mrc_baseline: Если вы выполняете задачи mrc, рекомендуется сначала прочитать этот код. Он содержит различные детали, на которые mrc обращает внимание, такие как обработка длинного текста (скользящее окно), сортировка ответов, состязательное обучение и т. д.
- 11. roberta_mrc: используйте предварительно обученную модель Roberta для выполнения задач mrc.
- 12. Transformer+rnn+attention: Этот проект предназначен для генеративного понимания чтения, напрямую с использованием метода seq2seq. Кодер использует кодировщик трансформатора, а декодер использует структуру gru, а в середине добавляется уровень обычного внимания. механизм.
- 13. Transformer_reading: Этот проект также посвящен генеративному пониманию прочитанного с использованием стандартной структуры-трансформера.
- Slot_Filling
- 1. JointBert: включает классификацию намерений и классификацию слотов. Непосредственно используйте bert для кодирования входных данных и используйте векторы «CLS» для классификации намерений. Окончательный вектор кодирования каждого токена используется для классификации слотов.
- Текст_Классификация
- 1. DPCNN: глубокая сверточная сеть + остаточная связь делают эту модель лучше, чем предыдущие структуры CNN, и ее сложность невелика.
- 2. FastBert: использует метод самоочистки для ускорения рассуждений модели. В основном используется в задачах классификации.
- 3. FastText: предложенная Facebook, это эффективная модель классификации текста.
- 4. XLNet: 1) Изучите двунаправленную контекстную информацию, максимизируя логарифмическое правдоподобие всех возможных порядков факторизации. 2) Используйте характеристики самой авторегрессии, чтобы преодолеть недостатки BERT; Кроме того, XLNet также включает в себя идеи текущей оптимальной авторегрессионной модели Transformer-XL.
- 5. all_layer_out_concat: Как видно из названия, этот проект кодирует текст с помощью модели в стиле bert, затем извлекает вектор cls каждого слоя, выполняет расчет внимания, а затем выполняет классификацию.
- 6. bert+bceloss+average_checkpoint: этот проект меняет функцию потерь задачи классификации на BCELoss. Кроме того, добавляется среднее значение веса (среднее значение нескольких контрольных точек).
- 7. капсула_текст_классификация: ГРУ+Капсула для классификации текста.
- 8. longformer_classification: используйте предварительно обученную модель longformer для классификации текста. Для классификации длинных текстов вы можете попробовать эту модель.
- 9. multi_label_classify_bert: используйте модель bert для классификации по нескольким меткам. Он содержит три модели: bert (model.py), последние два уровня пула bert (model2.py) и bert+TextCNN (model3.py).
- 10. roberta_classification: используйте предварительно обученную модель Roberta для классификации текста.
- 11. Transformer_xl: используйте Transformer_xl непосредственно для классификации текста. Для классификации длинного текста вы можете попробовать эту модель.
- 12. wobert+focal_loss: модель предварительного обучения wobert предоставлена Су Шеном, а потеря фокуса добавлена к задаче классификации для решения проблемы дисбаланса категорий.
- 13. TextCNN: сверните текст в разных масштабах, а затем объедините его для классификации текста.
- 14. BILSTM+Attention: двунаправленная сеть LSTM плюс обычное внимание для классификации текста.
- Text_Clustering
- 1. LDA-кластеризация
- 2.ДБСКАН
- 3. Ксредство
- Текст_Корректор
- 1. bert_for_correction: это всего лишь простая попытка переобучения на соответствующем корпусе, ввод предложения с опечатками и последующая классификация вектора кодирования каждого токена.
- Text_Generation
- 1. GPT2_SummaryGen: используйте GPT2 для создания сводки.
- 2. GPT2_TitleGen: создание заголовков статей.
- 3. Simple-GPT2: самостоятельно реализуемая модель GPT2.
- Text_Ranking
- 1. BM25: вычислите значение BM25 запроса и всех текстов, подлежащих сортировке, а затем выполните сортировку на основе этого значения.
- 2. DC_Bert_Ranking: Башни-близнецы + Взаимодействие. Сначала запрос и контекст кодируются отдельно, и веса здесь не разделяются. Затем кодирование запроса и контекста смешивается, а затем передается через несколько уровней интерактивного преобразователя-кодировщика.
- 3. DPR_Ranking: модель текстового ранжирования Facebook.
- 4. MT_Ranking: используйте модель в стиле bert для кодирования, затем используйте cls для классификации и сортируйте по баллу положительного образца.
- 5. ReRank: включая дистилляцию модели
- Текст_Сходство
- 1. ABCNN: сначала выполните встраивание слов в два предложения, затем выполните объединение, чтобы получить векторы двух предложений, затем вычислите разницу между двумя векторами и, наконец, выполните свертку вектора разницы в разных масштабах, а затем классифицируйте.
- 2. BiMPM. Эта модель разделена на четыре части: встраивание слов, контекстное кодирование (bilstm), четыре типа сопоставления и уровень агрегации.
- 3. Разлагаемое внимание. Сутью этой статьи является выравнивание, то есть соответствие между словами. Выравнивание в статье используется в двух местах: одно — это часть внимания, которая используется для расчета отношения внимания между двумя предложениями. другой — в части сравнения, слова между двумя предложениями сравниваются. Каждая обработка основана на словах, и, наконец, для прогнозирования используется нейронная сеть прямого распространения. Очевидно, что упомянутая в данной статье модель не использует временную связь слов в предложении, а подчеркивает соответствие слов в двух предложениях (выравнивание).
- 4. ESIM: инструмент сопоставления коротких текстов. Самое замечательное в ESIM — это внимание к межпредложениям, которое представляет собой soft_align_attention в коде. На этом этапе два сравниваемых предложения взаимодействуют. В предыдущих структурах, подобных сиамским сетям, часто не было взаимодействия посередине, а на последнем слое обнаруживалось только косинусное расстояние или другое расстояние.
- 5. RE2: Название RE2 происходит от комбинации трех важных частей сети: остаточных векторов; закодированных векторов;
- 6. SiaGRU: структура «башня-близнец», используйте GRU для кодирования двух предложений соответственно, затем вычисляйте разницу между двумя векторами кодирования предложений и, наконец, используйте этот вектор разницы для классификации.
- 7. SimCSE: контрастное обучение, навыки: разные образцы, разные исключения.
- 8. BM25: Непосредственно рассчитайте значение BM25 двух текстов, отражающее степень их сходства.
- 9. TF_IDF: Непосредственно вычислить значение TF_IDF двух текстов, отражающее степень их сходства.
- 10. NEZHA_Coattention: он принимает структуру башни-близнеца. Два предложения вводятся в модель NEZHA соответственно, а затем входные данные дифференцируются, соединяются с исходным представлением и затем отправляются в полностью связанную сеть для классификации. Существует другая модель, то есть после получения представления двух предложений мы сами реализуем уровень преобразователя-кодировщика, чтобы объединить информацию представления и, наконец, классифицировать ее.
- 11. Bert_Whitening: метод, предложенный Су Цзяньлинем, не требует обучения и напрямую объединяет bert-выход каждого предложения со стандартным ортонормированным базисом.
- data_augmentation
- 1. eda: используйте набор инструментов nlpcda для увеличения данных. Такие как: замена эквивалентного объекта, случайная замена синонима, случайное удаление символов, обмен позициями, замена омофона.
- 2. Обратный перевод — Baidu: используйте Baidu Translate для обратного перевода текста.
- 3. Обратный перевод-Google: используйте Google Translate для обратного перевода текста.
- Relationship_extraction
- 1. lstm_cnn_information_extract: lstm+cnn
- 2. классификация_отношений: классификация отношений, билстм+обычное внимание.
НЛП_pytorch_project
Чат-бот
1. Bert_chatbot: похож на UniLM.
- python train.py # код обучения
- python infernece.py # Вывод модели
2. seq2seq_luong: Кодер представляет собой двухуровневую сеть GRU, а декодер представляет собой однослойную сеть GRU. Между кодером и декодером добавляется внимание Luong.
- python train.py # код обучения
- python inference.py # Вывод модели
3. Transformer_chatbot: стандартная модель трансформера.
- python train.py # код обучения
- pythonchat.py # Обучающие данные, которые можно использовать для общения, — это диалоговые материалы Цинъюнь.
Дистилляция
1. DynaBert: В работе Huawei в основном используется обрезка для вырезания определенных структур bert.
- python train_teacher_model.py # Модель преподавателя поезда
- python train_tailor_model.py # Удаляем модель учителя
2. rnn_distill_bert: используйте слой сети lstm для дистилляции модели bert и добавляйте только мягкую потерю меток.
- python train_bert.py # Обучить модель учителя Берта
- python train_distill.py # Дистилляция использует lstm для изучения вывода bert
3. Three_layer_self-attention_to_distill_bert: вы, наверное, знаете, что это значит, глядя на название. Он просто записывает кодировщик трехслойного преобразователя, а затем дистиллирует модель bert.
- python train_bert.py # Обучить модель учителя Берта
- python train_distill.py # Дистилляция
4. tiny_bert: работа Huawei, метод дистилляции tiny_bert заключается в добавлении среднеквадратичной ошибки среднего слоя в дополнение к потере мягкой метки.
- python train.py # Обучаем модель учителя Берта
- python train_distill_v2.py # Дистилляция
Встраивание
1.skipgram-word2vec: используйтеskipgram для получения векторов слов.
- python 001-skipgram-word2vec.py
2. bert: обучайте bert напрямую, тренируйте с нуля или используйте этот код для переобучения.
3. Альберт: обучайте Альберта напрямую и тренируйтесь с нуля. Вы также можете использовать этот код для переобучения.
4. NPLM: Традиционный подход
НЭР
1. Bert_CRF_Ner: модель Берта плюс условное случайное поле для задач маркировки последовательностей.
- python run_ner_crf.py # Обучение модели
- python inference.py # Вывод модели
2. Bert_Softmax_Ner: напрямую используйте модель bert для аннотации последовательности.
- python train.py # Обучение модели
- python inference.py # Вывод модели
3. BiLSTM_CRF_Ner: использовать двунаправленную сеть lstm и crf для задач маркировки последовательностей.
- python train.py # Обучение модели
НМТ
1. GRU_attention: Кодер и декодер представляют собой сети GRU с общим механизмом внимания (прямая взвешенная сумма), добавленным в середине.
- python train.py # Обучение модели
2. Transformers_NMT: стандартная структура преобразователя для машинного перевода.
- python train.py # Обучение модели
Pretrain_Model
1. bert-pretrain: Чтобы переобучить модель bert, сначала выполните предварительную обработку данных через get_train_data.py, включая 15% слов для маски и других операций, а затем обучите.
- python get_train_data.py #Предварительная обработка данных
- python run_pretrain.py # Переобучение
2. wobert-pretrain: модель wobert для предварительного обучения предоставлена Су Шеном. Для переобучения здесь вы можете добавить список слов, который вы создали самостоятельно, а затем изменить метод сегментации слов bert.
- pythonprocess_pretrain_data.py #Предварительная обработка данных
- python run_pretrain.py # Переобучение
Чтение_понимание
1. BERT_MRC: используйте bert для выполнения задач по распознаванию машинного чтения. Ожидается, что здесь будет принят метод прямой стадии.
- python train.py # Обучение модели
2. BiDAF: модель понимания машинного чтения с механизмом двунаправленного потока внимания.
- python data_process.py # Сначала предварительно обработайте данные
- python train_bidaf.py # Обучение модели
3. DocQA: традиционная модель
- python data_process.py # Сначала предварительно обработайте данные
- python train_DocQA.py # Обучение модели
4. Match_LSTM: традиционная модель, простая структура rnn.
- python data_process.py # Сначала предварительно обработайте данные
- python train_Match_Lstm.py # Обучение модели
5. QANet. Это также относительно традиционная модель, но эта модель является первой моделью mrc, отказавшейся от структуры rnn. Эта модель также является первой моделью, в которой в задачу mrc введен механизм самообслуживания.
- python data_process.py #Предварительная обработка данных
- python train.py # Обучение модели
6. RNet: традиционная модель
- python data_process.py #Предварительная обработка данных
- python train_RNet.py # Обучение модели
7. Recurrence-hotpot-baseline: впервые возникает проблема использования структуры rnn для решения многошаговых рассуждений. В наборе данных hotpotqa помимо прогнозов, содержащих ответы, также имеются прогнозы, подтверждающие факты. и прогнозы соответствующих пунктов.
- python data_process.py #Предварительная обработка данных
- python train.py # Обучение модели
8. albert_mrc: используйте предварительно обученную модель Альберта для выполнения задач mrc.
- python train_update.py # Модель обучения
- python inference.py #Вывод по одному фрагменту данных
- python inference_all.py #Вывод для всех данных
9. Electra_bert: используйте предварительно обученную модель Electra для выполнения задач mrc.
- python run_cail.py #Обучающая модель
- python Assessment.py # Оценка модели
10. mrc_baseline: Если вы выполняете задачи mrc, рекомендуется сначала прочитать этот код. Он содержит различные детали, на которые mrc обращает внимание, такие как обработка длинного текста (скользящее окно), сортировка ответов, состязательное обучение и т. д.
- python train.py #модель поезда
11. roberta_mrc: используйте предварительно обученную модель Roberta для выполнения задач mrc.
- python train.py #модель поезда
12. Transformer+rnn+attention: Этот проект предназначен для генеративного понимания чтения, напрямую с использованием метода seq2seq. Кодер использует кодировщик трансформатора, а декодер использует структуру gru, а в середине добавляется уровень обычного внимания. механизм.
- python train.py # Обучение модели
- python inference.py # Вывод модели
13. Transformer_reading: Этот проект также посвящен генеративному пониманию прочитанного с использованием стандартной структуры-трансформера.
- python train.py # Обучение модели
- python inference.py # Вывод модели
Slot_Filling
1. JointBert: включает классификацию намерений и классификацию слотов. Непосредственно используйте bert для кодирования входных данных и используйте векторы «CLS» для классификации намерений. Окончательный вектор кодирования каждого токена используется для классификации слотов.
- python train.py # Обучение модели
Текст_Классификация
1. DPCNN: глубокая сверточная сеть + остаточная связь делают эту модель лучше, чем предыдущие структуры CNN, и ее сложность невелика.
- python get_data_to_examples.py # Предварительная обработка данных
- python example_to_features.py # Преобразование соответствующих примеров в функции
- python train.py # Обучение модели
2. FastBert: использует метод самоочистки для ускорения рассуждений модели. В основном используется в задачах классификации.
- sh train_stage0.sh # Модель преподавателя тренера Берта
- sh train_stage1.sh #самоперегонка
- sh infer_sigle.sh # Адаптивный вывод по одной выборке
3. FastText: предложенная Facebook, это эффективная модель классификации текста.
- python Step1_get_data_to_examples.py # Получить данные
- python Step2_examples_to_features.py # Преобразование текстовых данных в последовательность идентификаторов
- python train.py # Обучение модели
4. XLNet: 1) Изучите двунаправленную контекстную информацию, максимизируя логарифмическое правдоподобие всех возможных порядков факторизации. 2) Используйте характеристики самой авторегрессии, чтобы преодолеть недостатки BERT; Кроме того, XLNet также включает в себя идеи текущей оптимальной авторегрессионной модели Transformer-XL.
- python train.py # Обучение модели
5. all_layer_out_concat: Как видно из названия, этот проект кодирует текст с помощью модели в стиле bert, затем извлекает вектор cls каждого слоя, выполняет расчет внимания, а затем выполняет классификацию.
- python train.py # Обучение модели
- Python inference.py # Вывод модели
6. bert+bceloss+average_checkpoint: этот проект меняет функцию потерь задачи классификации на BCELoss. Кроме того, добавляется среднее значение веса (среднее значение нескольких контрольных точек).
- python run_classify.py # Обучение модели
- python run_average_checkpoints.py # Средний вес
7. капсула_текст_классификация: ГРУ+Капсула для классификации текста.
- python train.py # Обучение модели
8. longformer_classification: используйте предварительно обученную модель longformer для классификации текста. Для классификации длинных текстов вы можете попробовать эту модель.
- python train.py # Обучение модели
9. multi_label_classify_bert: используйте модель bert для классификации по нескольким меткам. Он содержит три модели: bert (model.py), последние два уровня пула bert (model2.py) и bert+TextCNN (model3.py).
- python train.py # Обучение модели
- python inference.py # Прогноз модели
10. roberta_classification: используйте предварительно обученную модель Roberta для классификации текста.
- python train.py # Обучение модели
11. Transformer_xl: используйте Transformer_xl непосредственно для классификации текста. Для классификации длинного текста вы можете попробовать эту модель.
- python train.py # Обучение модели
12. wobert+focal_loss: модель предварительного обучения wobert предоставлена Су Шеном, а потеря фокуса добавлена к задаче классификации для решения проблемы дисбаланса категорий.
- python run_classify.py # Обучение модели
13. TextCNN: сверните текст в разных масштабах, а затем объедините его для классификации текста.
- python 001-TextCNN.py # Обучение модели
14. BILSTM+Attention: двунаправленная сеть LSTM плюс обычное внимание для классификации текста.
- python 002-BILSTM+Attention.py # Обучение модели
Text_Clustering
1. LDA-кластеризация
- python train_LDA_cluster.py # Кластеризация
2.ДБСКАН
- python train_dbscan_cluster.py # Кластеризация
3. Ксредство
- python train_kmeans_cluster.py # Кластеризация
Текст_Корректор
1. bert_for_correction: это всего лишь простая попытка переобучения на соответствующем корпусе, ввод предложения с опечатками и последующая классификация вектора кодирования каждого токена.
- python run_pretrain_bert.py #Переобучение
- bert_corrector.py # Исправление ошибок
Text_Generation
1. GPT2_SummaryGen: используйте GPT2 для создания сводки.
- python train.py # Обучение модели
- python inferface.py # Вывод модели
2. GPT2_TitleGen: создание заголовков статей.
- python train.py # Обучение модели
- python inference.py # Вывод модели
3. Simple-GPT2: самостоятельно реализуемая модель GPT2.
- python train.py # Обучение модели
- python inference.py # Вывод модели
Text_Ranking
1. BM25: вычислите значение BM25 запроса и всех текстов, подлежащих сортировке, а затем выполните сортировку на основе этого значения.
- python main.py # Сортировка
2. DC_Bert_Ranking: Башни-близнецы + Взаимодействие. Сначала запрос и контекст кодируются отдельно, и веса здесь не разделяются. Затем кодирование запроса и контекста смешивается, а затем передается через несколько уровней интерактивного преобразователя-кодировщика.
- python train.py # Обучение модели
- python inference.py # Вывод модели
3. DPR_Ranking: модель текстового ранжирования Facebook.
- python train.py # Обучение модели
4. MT_Ranking: используйте модель в стиле bert для кодирования, затем используйте cls для классификации и сортируйте по баллу положительного образца.
- python train.py # Обучение модели
- python inference.py # Вывод модели
5. ReRank: включая дистилляцию модели
- python train.py # Обучение модели
- python train_distill.py # Модель дистилляции
Текст_Сходство
1. ABCNN: сначала выполните встраивание слов в два предложения, затем выполните объединение, чтобы получить векторы двух предложений, затем вычислите разницу между двумя векторами и, наконец, выполните свертку вектора разницы в разных масштабах, а затем классифицируйте.
- python train.py # Обучение модели
2. BiMPM. Эта модель разделена на четыре части: встраивание слов, контекстное кодирование (bilstm), четыре типа сопоставления и уровень агрегации.
- python train.py # Обучение модели
3. Разлагаемое внимание. Сутью этой статьи является выравнивание, то есть соответствие между словами. Выравнивание в статье используется в двух местах: одно — это часть внимания, которая используется для расчета отношения внимания между двумя предложениями. другой — в части сравнения, слова между двумя предложениями сравниваются. Каждая обработка основана на словах, и, наконец, для прогнозирования используется нейронная сеть прямого распространения. Очевидно, что упомянутая в данной статье модель не использует временную связь слов в предложении, а подчеркивает соответствие слов в двух предложениях (выравнивание).
- python train.py # Обучение модели
4. ESIM: инструмент сопоставления коротких текстов. Самое замечательное в ESIM — это внимание к предложениям, то есть soft_align_attention в коде. На этом этапе два сравниваемых предложения взаимодействуют. В предыдущих структурах, подобных сиамским сетям, часто не было взаимодействия посередине, а на последнем слое обнаруживалось только косинусное расстояние или другое расстояние.
- python train.py # Обучение модели
5. RE2: Название RE2 происходит от комбинации трех важных частей сети: остаточных векторов; закодированных векторов;
- python train.py # Обучение модели
6. SiaGRU: структура «башня-близнец», используйте GRU для кодирования двух предложений соответственно, затем вычисляйте разницу между двумя векторами кодирования предложений и, наконец, используйте этот вектор разницы для классификации.
- python train.py # Обучение модели
7. SimCSE: контрастное обучение, навыки: разные образцы, разные исключения.
- python train.py # Обучение модели
8. BM25: Непосредственно рассчитайте значение BM25 двух текстов, отражающее степень их сходства.
9. TF_IDF: Непосредственно вычислить значение TF_IDF двух текстов, отражающее степень их сходства.
10. NEZHA_Coattention: он принимает структуру башни-близнеца. Два предложения вводятся в модель NEZHA соответственно, а затем входные данные дифференцируются, соединяются с исходным представлением и затем отправляются в полностью связанную сеть для классификации. Существует другая модель, то есть после получения представления двух предложений мы сами реализуем уровень преобразователя-кодировщика, чтобы объединить информацию представления и, наконец, классифицировать ее.
11. Bert_Whitening: метод, предложенный Су Цзяньлинем, не требует обучения и напрямую объединяет bert-выход каждого предложения со стандартным ортонормированным базисом.
- python run_bert_whitening.py # Непосредственная проверка набора данных и расчет коэффициента Спирмена
data_augmentation
1. eda: используйте набор инструментов nlpcda для увеличения данных. Например: замена эквивалентного объекта, случайная замена синонима, случайное удаление символов, обмен позициями, замена омофона.
2. Обратный перевод — Baidu: используйте Baidu Translate для обратного перевода текста.
- python 002-run_contrslate_data_aug.py
3. Обратный перевод-Google: используйте Google Translate для обратного перевода текста.
- python 003-google_trans_data_aug.py
Relationship_extraction
1. lstm_cnn_information_extract: lstm+cnn
- python train.py # Обучение модели
- python inference.py # Вывод модели
2. классификация_отношений: классификация отношений, билстм+обычное внимание.
- python data_helper.py #Предварительная обработка данных
- python train.py # Обучение модели
Звездная история