Melihat
Karena saat ini terlalu banyak proyek di gudang ini, sehingga pemeliharaannya sulit. Oleh karena itu, berbagai tugas akan dipisahkan di masa depan, gudang akan didirikan secara terpisah, dan banyak eksperimen komparatif akan dilakukan untuk memudahkan pengguna dalam memilih model. Jika perlu, Anda bisa langsung menuju gudang yang ditentukan, linknya sebagai berikut:
- Gudang klasifikasi teks
- Gudang pencocokan semantik
- Gudang pembuatan teks
- Repositori lain mempercepat pembaruan...
Daftar isi
- bot obrolan
- 1. Bert_chatbot: Mirip dengan UniLM
- 2. seq2seq_luong: Encoder adalah jaringan gru dua lapis, dan decoder adalah jaringan gru satu lapisan. Perhatian Luong ditambahkan antara encoder dan decoder.
- 3. trafo_chatbot: model trafo standar
- Distilasi
- 1. DynaBert: Pekerjaan Huawei terutama menggunakan pemangkasan untuk memotong struktur bert tertentu.
- 2. rnn_distill_bert: Gunakan lapisan jaringan lstm untuk menyaring model bert, dan hanya menambahkan kehilangan label lunak.
- 3. three_layer_self-attention_to_distill_bert: Anda mungkin tahu artinya dengan melihat namanya. Ini hanya menulis encoder dari transformator tiga lapis, dan kemudian menyaring model bert.
- 4. tiny_bert: Karya Huawei, metode penyulingan tiny_bert adalah menambahkan mean square error loss pada lapisan tengah selain soft label loss.
- Penyematan
- 1. skipgram-word2vec: Gunakan skipgram untuk mendapatkan vektor kata
- 2. bert: Latih bert secara langsung, latih dari awal, atau gunakan kode ini untuk pelatihan ulang
- 3. albert: latih albert secara langsung dan latih dari awal. Anda juga dapat menggunakan kode ini untuk pelatihan ulang.
- 4. NPLM: Pendekatan tradisional
- Ner
- 1. Bert_CRF_Ner: Model Bert ditambah bidang acak bersyarat untuk tugas pelabelan urutan
- 2. Bert_Softmax_Ner: langsung menggunakan model bert untuk anotasi urutan
- 3. BiLSTM_CRF_Ner: Gunakan jaringan lstm dua arah dan crf untuk tugas pelabelan urutan
- NMT
- 1. GRU_attention: Encoder dan decoder keduanya merupakan jaringan gru, dengan mekanisme perhatian yang sama (jumlah tertimbang langsung) ditambahkan di tengahnya.
- 2. Transformers_NMT: Struktur trafo standar untuk terjemahan mesin
- Pralatihan_Model
- 1. bert-pretrain: Untuk melatih ulang model bert, pertama-tama lakukan prapemrosesan data melalui get_train_data.py, termasuk 15% kata untuk mask dan operasi lainnya, lalu latih.
- 2. wobert-pretrain: Model pra-pelatihan wobert diberikan oleh Su Shen. Untuk pelatihan ulang di sini, Anda dapat menambahkan daftar kata yang Anda buat sendiri, lalu memodifikasi metode segmentasi kata bert.
- Membaca_pemahaman
- 1. BERT_MRC: Gunakan bert untuk melakukan tugas pemahaman bacaan mesin. Diharapkan metode tahapan langsung akan diterapkan di sini.
- 2. BiDAF: Model pemahaman membaca mesin dengan mekanisme aliran perhatian dua arah
- 3. DocQA: model tradisional
- 4. Match_LSTM: model tradisional, struktur rnn sederhana.
- 5. QANet: Ini juga merupakan model yang relatif tradisional, tetapi model ini adalah model mrc pertama yang meninggalkan struktur rnn. Model ini juga merupakan model pertama yang memperkenalkan mekanisme perhatian diri ke dalam tugas mrc.
- 6. RNet: model tradisional
- 7. Recurrence-hotpot-baseline: Untuk pertama kalinya, masalah penggunaan struktur rnn untuk menangani penalaran multi-hop dihasilkan. Dalam kumpulan data hotpotqa, selain prediksi yang berisi jawaban, juga terdapat prediksi fakta pendukung dan prediksi paragraf terkait.
- 8. albert_mrc: Gunakan model terlatih albert untuk melakukan tugas mrc
- 9. electra_bert: Gunakan model electra terlatih untuk melakukan tugas mrc
- 10. mrc_baseline: Jika Anda sedang mengerjakan tugas mrc, disarankan untuk membaca kode ini terlebih dahulu. Kode ini berisi berbagai detail yang diperhatikan mrc, seperti pemrosesan teks panjang (jendela geser), pengurutan jawaban, pelatihan permusuhan, dll.
- 11. roberta_mrc: Gunakan model terlatih roberta untuk melakukan tugas mrc
- 12. transformator+rnn+perhatian: Proyek ini untuk pemahaman bacaan generatif, langsung menggunakan metode seq2seq, encoder menggunakan encoder transformator, dan decoder menggunakan struktur gru, dan lapisan perhatian biasa ditambahkan di tengahnya mekanisme.
- 13. trafo_reading: Proyek ini juga tentang pemahaman bacaan generatif, menggunakan struktur trafo standar.
- Slot_Pengisian
- 1. JointBert: Melibatkan klasifikasi niat dan klasifikasi slot. Gunakan langsung bert untuk menyandikan input dan gunakan vektor "CLS" untuk klasifikasi maksud. Vektor pengkodean akhir dari setiap token digunakan untuk klasifikasi slot.
- Teks_Klasifikasi
- 1. DPCNN: Jaringan konvolusional yang dalam + koneksi sisa membuat model ini lebih baik dari struktur CNN sebelumnya, dan kompleksitasnya tidak tinggi.
- 2. FastBert: menggunakan metode penyulingan mandiri untuk mempercepat penalaran model. Terutama digunakan dalam tugas klasifikasi.
- 3. FastText: Diusulkan oleh Facebook, ini adalah model klasifikasi teks yang efisien.
- 4. XLNet: 1) Pelajari informasi kontekstual dua arah dengan memaksimalkan kemungkinan log dari semua kemungkinan ordo faktorisasi; 2) Gunakan karakteristik autoregresi itu sendiri untuk mengatasi kekurangan BERT. Selain itu, XLNet juga menggabungkan ide model autoregresif optimal Transformer-XL saat ini.
- 5. all_layer_out_concat: Seperti yang Anda lihat dari namanya, proyek ini mengkodekan teks melalui model gaya bert, kemudian mengeluarkan vektor cls dari setiap lapisan, melakukan perhitungan perhatian, dan kemudian melakukan klasifikasi.
- 6. bert+bceloss+average_checkpoint: Proyek ini mengubah fungsi kerugian tugas klasifikasi menjadi BCELoss Selain itu, rata-rata bobot tambahan (rata-rata beberapa pos pemeriksaan)
- 7. Capsule_text_classification: GRU+Capsule untuk klasifikasi teks
- 8. longformer_classification: Gunakan model longformer terlatih untuk klasifikasi teks. Untuk klasifikasi teks panjang, Anda bisa mencoba model ini.
- 9. multi_label_classify_bert: Gunakan model bert untuk klasifikasi multi-label. Ini berisi tiga model: bert (model.py), dua lapisan terakhir pooling bert (model2.py), dan bert+TextCNN (model3.py).
- 10. roberta_classification: Gunakan model terlatih roberta untuk klasifikasi teks.
- 11. trafo_xl: Gunakan trafo_xl secara langsung untuk klasifikasi teks. Untuk klasifikasi teks yang panjang, Anda dapat mencoba model ini.
- 12. wobert+focal_loss: Model pra-pelatihan wobert disediakan oleh Su Shen, dan kehilangan fokus ditambahkan ke tugas klasifikasi untuk memecahkan masalah ketidakseimbangan kategori.
- 13. TextCNN: Menggabungkan teks pada skala yang berbeda dan kemudian menggabungkannya untuk klasifikasi teks.
- 14. BILSTM+Perhatian: Jaringan LSTM dua arah ditambah perhatian biasa untuk klasifikasi teks.
- Teks_Pengelompokan
- 1. Pengelompokan LDA
- 2.DBSCAN
- 3. Kmeans
- Teks_Korektor
- 1. bert_for_corection: Ini hanyalah upaya sederhana, melatih ulang korpus yang sesuai, memasukkan kalimat dengan kesalahan ketik, dan kemudian mengklasifikasikan vektor pengkodean setiap token.
- Teks_Generasi
- 1. GPT2_SummaryGen: Gunakan GPT2 untuk menghasilkan ringkasan
- 2. GPT2_TitleGen: Pembuatan judul artikel
- 3. Simple-GPT2: Model GPT2 yang diimplementasikan sendiri
- Teks_Peringkat
- 1. BM25: Hitung nilai BM25 dari kueri dan semua teks yang akan diurutkan, lalu urutkan berdasarkan nilai ini.
- 2. DC_Bert_Ranking: Menara Kembar + Interaksi. Pertama, kueri dan konteks dikodekan secara terpisah, dan bobot di sini tidak dibagikan. Kemudian pengkodean kueri dan konteks dicampur, dan kemudian melewati beberapa lapisan encoder transformator interaktif.
- 3. DPR_Ranking: model pemeringkatan teks Facebook
- 4. MT_Ranking: Gunakan model gaya bert untuk pengkodean, lalu gunakan cls untuk klasifikasi, dan urutkan berdasarkan skor sampel positif
- 5. ReRank: termasuk model distilasi
- Teks_Kesamaan
- 1. ABCNN: Pertama-tama lakukan penyematan kata pada kedua kalimat tersebut, kemudian lakukan pooling untuk mendapatkan vektor dari kedua kalimat tersebut, kemudian hitung selisih kedua vektor tersebut, dan terakhir lakukan konvolusi pada vektor selisih tersebut pada skala yang berbeda, lalu klasifikasikan.
- 2. BiMPM: Model ini dibagi menjadi empat bagian: penyematan kata, pengkodean konteks (bilstm), empat jenis Pencocokan, dan Lapisan Agregasi.
- 3. DecomposableAttention : Inti dari tulisan ini adalah keselarasan yaitu korespondensi antar kata. Penyelarasan dalam artikel digunakan di dua tempat, yang pertama adalah bagian kehadiran yang digunakan untuk menghitung hubungan perhatian antara dua kalimat, dan yang lainnya adalah Di bagian perbandingan, kata-kata di antara dua kalimat dibandingkan. Setiap pemrosesan didasarkan pada kata-kata, dan akhirnya jaringan saraf feed-forward digunakan untuk membuat prediksi. Terlihat jelas bahwa model yang disebutkan dalam artikel ini tidak menggunakan hubungan temporal kata-kata dalam kalimat, tetapi menekankan pada korespondensi antara kata-kata dalam dua kalimat (alignment).
- 4. ESIM: Alat pencocokan teks pendek. Hal yang hebat tentang ESIM adalah perhatian antar kalimat, yaitu soft_align_attention dalam kode. Pada langkah ini, dua kalimat yang akan dibandingkan berinteraksi. Pada struktur sebelumnya yang mirip dengan jaringan Siam, seringkali tidak ada interaksi di tengah, dan hanya ditemukan jarak kosinus atau jarak lain pada lapisan terakhir.
- 5. RE2: Nama RE2 berasal dari kombinasi tiga bagian penting dari jaringan: Vektor sisa;
- 6. SiaGRU: Struktur menara kembar, gunakan GRU untuk mengkodekan dua kalimat masing-masing, kemudian menghitung selisih antara dua vektor pengkodean kalimat, dan terakhir menggunakan vektor perbedaan ini untuk klasifikasi.
- 7. SimCSE: Pembelajaran kontrastif, keterampilan: sampel berbeda, Dropout berbeda
- 8. BM25: Menghitung langsung nilai BM25 dari dua teks, yang menunjukkan tingkat kemiripannya.
- 9. TF_IDF: Menghitung langsung nilai TF_IDF dari dua teks, yang mewakili kesamaannya.
- 10. NEZHA_Coattention: Ini mengadopsi struktur menara kembar. Dua kalimat masing-masing dimasukkan ke dalam model NEZHA, dan kemudian masukan tersebut dibedakan, disambung dengan representasi asli, dan kemudian dikirim ke jaringan yang terhubung sepenuhnya untuk klasifikasi. Ada model lain, yaitu setelah mendapatkan representasi dari dua kalimat tersebut, kami menerapkan lapisan transformator-encoder untuk menggabungkan informasi representasi, dan akhirnya mengklasifikasikannya.
- 11. Bert_Whitening: Metode yang diusulkan oleh Su Jianlin tidak memerlukan pelatihan dan secara langsung menyatukan keluaran bert dari setiap kalimat ke basis ortonormal standar.
- data_augmentasi
- 1.eda: Gunakan toolkit nlpcda untuk augmentasi data. Seperti: penggantian entitas yang setara, penggantian sinonim acak, penghapusan karakter secara acak, pertukaran posisi, penggantian homofon.
- 2. Terjemahan kembali-Baidu: Gunakan Baidu Translate untuk terjemahan kembali teks.
- 3. Terjemahan-balik-google: Gunakan Google Terjemahan untuk terjemahan balik teks.
- relasi_ekstraksi
- 1. lstm_cnn_information_extract: lstm+cnn
- 2. relasi_klasifikasi: klasifikasi relasi, bilstm+perhatian biasa
NLP_pytorch_project
bot obrolan
1. Bert_chatbot: Mirip dengan UniLM
- python train.py # kode pelatihan
- python infernece.py # Inferensi model
2. seq2seq_luong: Encoder adalah jaringan gru dua lapis, dan decoder adalah jaringan gru satu lapisan. Perhatian Luong ditambahkan antara encoder dan decoder.
- python train.py # kode pelatihan
- inferensi python.py # Inferensi model
3. trafo_chatbot: model trafo standar
- python train.py # kode pelatihan
- python chat.py #Data latih yang bisa digunakan untuk chatting adalah materi dialog Qingyun.
Distilasi
1. DynaBert: Pekerjaan Huawei terutama menggunakan pemangkasan untuk memotong struktur bert tertentu.
- python train_teacher_model.py # Melatih model guru
- python train_tailor_model.py # Pangkas model guru
2. rnn_distill_bert: Gunakan lapisan jaringan lstm untuk menyaring model bert, dan hanya menambahkan kehilangan label lunak.
- python train_bert.py # Melatih model guru bert
- python train_distill.py # Distilasi menggunakan lstm untuk mempelajari keluaran bert
3. three_layer_self-attention_to_distill_bert: Anda mungkin tahu artinya dengan melihat namanya. Ini hanya menulis encoder dari transformator tiga lapis, dan kemudian menyaring model bert.
- python train_bert.py # Melatih model guru bert
- python train_distill.py # Distilasi
4. tiny_bert: Karya Huawei, metode penyulingan tiny_bert adalah menambahkan mean square error loss pada lapisan tengah selain soft label loss.
- python train.py # Melatih model guru bert
- python train_distill_v2.py # Distilasi
Penyematan
1. skipgram-word2vec: Gunakan skipgram untuk mendapatkan vektor kata
- python 001-skipgram-word2vec.py
2. bert: Latih bert secara langsung, latih dari awal, atau gunakan kode ini untuk pelatihan ulang
3. albert: latih albert secara langsung dan latih dari awal. Anda juga dapat menggunakan kode ini untuk pelatihan ulang.
4. NPLM: Pendekatan tradisional
Ner
1. Bert_CRF_Ner: Model Bert ditambah bidang acak bersyarat untuk tugas pelabelan urutan
- python run_ner_crf.py # Pelatihan model
- inferensi python.py # Inferensi model
2. Bert_Softmax_Ner: langsung menggunakan model bert untuk anotasi urutan
- python train.py #Pelatihan model
- inferensi python.py # Inferensi model
3. BiLSTM_CRF_Ner: Gunakan jaringan lstm dua arah dan crf untuk tugas pelabelan urutan
- python train.py #Pelatihan model
NMT
1. GRU_attention: Encoder dan decoder keduanya merupakan jaringan gru, dengan mekanisme perhatian yang sama (jumlah tertimbang langsung) ditambahkan di tengahnya.
- python train.py #Pelatihan model
2. Transformers_NMT: Struktur trafo standar untuk terjemahan mesin
- python train.py #Pelatihan model
Pralatihan_Model
1. bert-pretrain: Untuk melatih ulang model bert, pertama-tama lakukan prapemrosesan data melalui get_train_data.py, termasuk 15% kata untuk mask dan operasi lainnya, lalu latih.
- python get_train_data.py #Pemrosesan awal data
- python run_pretrain.py # Pelatihan ulang
2. wobert-pretrain: Model pra-pelatihan wobert diberikan oleh Su Shen. Untuk pelatihan ulang di sini, Anda dapat menambahkan daftar kata yang Anda buat sendiri, lalu memodifikasi metode segmentasi kata bert.
- python process_pretrain_data.py #Pemrosesan awal data
- python run_pretrain.py # Pelatihan ulang
Membaca_pemahaman
1. BERT_MRC: Gunakan bert untuk melakukan tugas pemahaman bacaan mesin. Diharapkan metode tahapan langsung akan diterapkan di sini.
- python train.py #Pelatihan model
2. BiDAF: Model pemahaman membaca mesin dengan mekanisme aliran perhatian dua arah
- python data_process.py # Pertama-tama proses data terlebih dahulu
- python train_bidaf.py # Pelatihan model
3. DocQA: model tradisional
- python data_process.py # Pertama-tama proses data terlebih dahulu
- python train_DocQA.py # Pelatihan model
4. Match_LSTM: model tradisional, struktur rnn sederhana.
- python data_process.py # Pertama-tama proses data terlebih dahulu
- python train_Match_Lstm.py # Pelatihan model
5. QANet: Ini juga merupakan model yang relatif tradisional, tetapi model ini adalah model mrc pertama yang meninggalkan struktur rnn. Model ini juga merupakan model pertama yang memperkenalkan mekanisme perhatian diri ke dalam tugas mrc.
- python data_process.py #Pemrosesan awal data
- python train.py #Pelatihan model
6. RNet: model tradisional
- python data_process.py #Pemrosesan awal data
- python train_RNet.py # Pelatihan model
7. Recurrence-hotpot-baseline: Untuk pertama kalinya, masalah penggunaan struktur rnn untuk menangani penalaran multi-hop dihasilkan. Dalam kumpulan data hotpotqa, selain prediksi yang berisi jawaban, juga terdapat prediksi fakta pendukung dan prediksi paragraf terkait.
- python data_process.py #Pemrosesan awal data
- python train.py #Pelatihan model
8. albert_mrc: Gunakan model terlatih albert untuk melakukan tugas mrc
- python train_update.py # Model pelatihan
- python inference.py #Inference pada satu bagian data
- python inference_all.py #Inferensi untuk semua data
9. electra_bert: Gunakan model electra terlatih untuk melakukan tugas mrc
- python run_cail.py #Model pelatihan
- python mengevaluasi.py # Evaluasi model
10. mrc_baseline: Jika Anda sedang mengerjakan tugas mrc, disarankan untuk membaca kode ini terlebih dahulu. Kode ini berisi berbagai detail yang diperhatikan mrc, seperti pemrosesan teks panjang (jendela geser), pengurutan jawaban, pelatihan permusuhan, dll.
- python kereta.py #model kereta
11. roberta_mrc: Gunakan model terlatih roberta untuk melakukan tugas mrc
- python kereta.py #model kereta
12. transformator+rnn+perhatian: Proyek ini untuk pemahaman bacaan generatif, langsung menggunakan metode seq2seq, encoder menggunakan encoder transformator, dan decoder menggunakan struktur gru, dan lapisan perhatian biasa ditambahkan di tengahnya mekanisme.
- python train.py #Pelatihan model
- inferensi python.py # Inferensi model
13. trafo_reading: Proyek ini juga tentang pemahaman bacaan generatif, menggunakan struktur trafo standar.
- python train.py #Pelatihan model
- inferensi python.py # Inferensi model
Slot_Pengisian
1. JointBert: Melibatkan klasifikasi niat dan klasifikasi slot. Gunakan langsung bert untuk menyandikan input dan gunakan vektor "CLS" untuk klasifikasi maksud. Vektor pengkodean akhir dari setiap token digunakan untuk klasifikasi slot.
- python train.py # Pelatihan model
Teks_Klasifikasi
1. DPCNN: Jaringan konvolusional yang dalam + koneksi sisa membuat model ini lebih baik dari struktur CNN sebelumnya, dan kompleksitasnya tidak tinggi.
- python get_data_to_examples.py # Praproses data
- python example_to_features.py # Ubah contoh yang sesuai menjadi fitur
- python train.py #Pelatihan model
2. FastBert: menggunakan metode penyulingan mandiri untuk mempercepat penalaran model. Terutama digunakan dalam tugas klasifikasi.
- sh train_stage0.sh #Melatih model guru bert
- sh train_stage1.sh # penyulingan sendiri
- sh infer_sigle.sh # Sampel tunggal inferensi adaptif
3. FastText: Diusulkan oleh Facebook, ini adalah model klasifikasi teks yang efisien.
- python step1_get_data_to_examples.py # Dapatkan data
- python step2_examples_to_features.py # Ubah data teks menjadi urutan id
- python train.py #Pelatihan model
4. XLNet: 1) Pelajari informasi kontekstual dua arah dengan memaksimalkan kemungkinan log dari semua kemungkinan ordo faktorisasi; 2) Gunakan karakteristik autoregresi itu sendiri untuk mengatasi kekurangan BERT. Selain itu, XLNet juga menggabungkan ide model autoregresif optimal Transformer-XL saat ini.
- python train.py #Pelatihan model
5. all_layer_out_concat: Seperti yang Anda lihat dari namanya, proyek ini mengkodekan teks melalui model gaya bert, kemudian mengeluarkan vektor cls dari setiap lapisan, melakukan perhitungan perhatian, dan kemudian melakukan klasifikasi.
- python train.py #Pelatihan model
- Inferensi Python.py # Inferensi model
6. bert+bceloss+average_checkpoint: Proyek ini mengubah fungsi kerugian tugas klasifikasi menjadi BCELoss Selain itu, rata-rata bobot tambahan (rata-rata beberapa pos pemeriksaan)
- python run_classify.py # Pelatihan model
- python run_average_checkpoints.py # Berat rata-rata
7. Capsule_text_classification: GRU+Capsule untuk klasifikasi teks
- python train.py #Pelatihan model
8. longformer_classification: Gunakan model longformer terlatih untuk klasifikasi teks. Untuk klasifikasi teks panjang, Anda bisa mencoba model ini.
- python train.py #Pelatihan model
9. multi_label_classify_bert: Gunakan model bert untuk klasifikasi multi-label. Ini berisi tiga model: bert (model.py), dua lapisan terakhir pooling bert (model2.py), dan bert+TextCNN (model3.py).
- python train.py #Pelatihan model
- python inference.py # Prediksi model
10. roberta_classification: Gunakan model terlatih roberta untuk klasifikasi teks.
- python train.py #Pelatihan model
11. trafo_xl: Gunakan trafo_xl secara langsung untuk klasifikasi teks. Untuk klasifikasi teks yang panjang, Anda dapat mencoba model ini.
- python train.py #Pelatihan model
12. wobert+focal_loss: Model pra-pelatihan wobert disediakan oleh Su Shen, dan kehilangan fokus ditambahkan ke tugas klasifikasi untuk memecahkan masalah ketidakseimbangan kategori.
- python run_classify.py # Pelatihan model
13. TextCNN: Menggabungkan teks pada skala yang berbeda dan kemudian menggabungkannya untuk klasifikasi teks.
- python 001-TextCNN.py # Pelatihan model
14. BILSTM+Perhatian: Jaringan LSTM dua arah ditambah perhatian biasa untuk klasifikasi teks.
- python 002-BILSTM+Attention.py # Pelatihan model
Teks_Pengelompokan
1. Pengelompokan LDA
- python train_LDA_cluster.py # Pengelompokan
2.DBSCAN
- python train_dbscan_cluster.py # Pengelompokan
3. Kmeans
- python train_kmeans_cluster.py # Pengelompokan
Teks_Korektor
1. bert_for_corection: Ini hanyalah upaya sederhana, melatih ulang korpus yang sesuai, memasukkan kalimat dengan kesalahan ketik, dan kemudian mengklasifikasikan vektor pengkodean setiap token.
- python run_pretrain_bert.py # Pelatihan ulang
- bert_corector.py # Koreksi kesalahan
Teks_Generasi
1. GPT2_SummaryGen: Gunakan GPT2 untuk menghasilkan ringkasan
- python train.py #Pelatihan model
- python inferface.py # Model inferensi
2. GPT2_TitleGen: Pembuatan judul artikel
- python train.py #Pelatihan model
- inferensi python.py # Inferensi model
3. Simple-GPT2: Model GPT2 yang diimplementasikan sendiri
- python train.py #Pelatihan model
- inferensi python.py # Inferensi model
Teks_Peringkat
1. BM25: Hitung nilai BM25 dari kueri dan semua teks yang akan diurutkan, lalu urutkan berdasarkan nilai ini.
2. DC_Bert_Ranking: Menara Kembar + Interaksi. Pertama, kueri dan konteks dikodekan secara terpisah, dan bobot di sini tidak dibagikan. Kemudian pengkodean kueri dan konteks dicampur, dan kemudian melewati beberapa lapisan encoder transformator interaktif.
- python train.py #Pelatihan model
- inferensi python.py # Inferensi model
3. DPR_Ranking: model pemeringkatan teks Facebook
- python train.py #Pelatihan model
4. MT_Ranking: Gunakan model gaya bert untuk pengkodean, lalu gunakan cls untuk klasifikasi, dan urutkan berdasarkan skor sampel positif
- python train.py #Pelatihan model
- inferensi python.py # Inferensi model
5. ReRank: termasuk model distilasi
- python train.py #Pelatihan model
- python train_distill.py # Model distilasi
Teks_Kesamaan
1. ABCNN: Pertama-tama lakukan penyematan kata pada kedua kalimat tersebut, kemudian lakukan pooling untuk mendapatkan vektor dari kedua kalimat tersebut, kemudian hitung selisih kedua vektor tersebut, dan terakhir lakukan konvolusi pada vektor selisih tersebut pada skala yang berbeda, lalu klasifikasikan.
- python train.py #Pelatihan model
2. BiMPM: Model ini dibagi menjadi empat bagian: penyematan kata, pengkodean konteks (bilstm), empat jenis Pencocokan, dan Lapisan Agregasi.
- python train.py #Pelatihan model
3. DecomposableAttention : Inti dari tulisan ini adalah keselarasan yaitu korespondensi antar kata. Penyelarasan dalam artikel digunakan di dua tempat, yang pertama adalah bagian kehadiran yang digunakan untuk menghitung hubungan perhatian antara dua kalimat, dan yang lainnya adalah Di bagian perbandingan, kata-kata di antara dua kalimat dibandingkan. Setiap pemrosesan didasarkan pada kata-kata, dan akhirnya jaringan saraf feed-forward digunakan untuk membuat prediksi. Terlihat jelas bahwa model yang disebutkan dalam artikel ini tidak menggunakan hubungan temporal kata-kata dalam kalimat, tetapi menekankan pada korespondensi antara kata-kata dalam dua kalimat (alignment).
- python train.py #Pelatihan model
4. ESIM: Alat pencocokan teks pendek. Hal yang hebat tentang ESIM adalah perhatian antar kalimat, yaitu soft_align_attention dalam kode. Pada langkah ini, dua kalimat yang akan dibandingkan berinteraksi. Pada struktur sebelumnya yang mirip dengan jaringan Siam, seringkali tidak ada interaksi di tengah, dan hanya ditemukan jarak kosinus atau jarak lain pada lapisan terakhir.
- python train.py #Pelatihan model
5. RE2: Nama RE2 berasal dari kombinasi tiga bagian penting dari jaringan: Vektor sisa;
- python train.py #Pelatihan model
6. SiaGRU: Struktur menara kembar, gunakan GRU untuk mengkodekan dua kalimat masing-masing, kemudian menghitung selisih antara dua vektor pengkodean kalimat, dan terakhir menggunakan vektor perbedaan ini untuk klasifikasi.
- python train.py #Pelatihan model
7. SimCSE: Pembelajaran kontrastif, keterampilan: sampel berbeda, Dropout berbeda
- python train.py #Pelatihan model
8. BM25: Menghitung langsung nilai BM25 dari dua teks, yang menunjukkan tingkat kemiripannya.
9. TF_IDF: Menghitung langsung nilai TF_IDF dari dua teks, yang mewakili kesamaannya.
10. NEZHA_Coattention: Ini mengadopsi struktur menara kembar. Dua kalimat masing-masing dimasukkan ke dalam model NEZHA, dan kemudian masukan tersebut dibedakan, disambung dengan representasi asli, dan kemudian dikirim ke jaringan yang terhubung sepenuhnya untuk klasifikasi. Ada model lain, yaitu setelah mendapatkan representasi dari dua kalimat tersebut, kami menerapkan lapisan transformator-encoder untuk menggabungkan informasi representasi, dan akhirnya mengklasifikasikannya.
11. Bert_Whitening: Metode yang diusulkan oleh Su Jianlin tidak memerlukan pelatihan dan secara langsung menyatukan keluaran bert dari setiap kalimat ke basis ortonormal standar.
- python run_bert_whitening.py # Verifikasi kumpulan data secara langsung dan hitung koefisien Spearman
data_augmentasi
1.eda: Gunakan toolkit nlpcda untuk augmentasi data. Seperti: penggantian entitas yang setara, penggantian sinonim acak, penghapusan karakter secara acak, pertukaran posisi, penggantian homofon.
2. Terjemahan kembali-Baidu: Gunakan Baidu Translate untuk terjemahan kembali teks.
- python 002-run_contrslate_data_aug.py
3. Terjemahan-balik-google: Gunakan Google Terjemahan untuk terjemahan balik teks.
- python 003-google_trans_data_aug.py
relasi_ekstraksi
1. lstm_cnn_information_extract: lstm+cnn
- python train.py #Pelatihan model
- inferensi python.py # Inferensi model
2. relasi_klasifikasi: klasifikasi relasi, bilstm+perhatian biasa
- python data_helper.py #Pemrosesan awal data
- python train.py #Pelatihan model
Sejarah Bintang