Ce référentiel n'a que les ensembles de données que j'ai créés (généralement automatiquement, parfois avec l'édition manuelle) pour résoudre différentes tâches avec des textes en russe.
Boîtes de dialogue avec tableau Image - strictement 18+, il y a un certain nombre de boîtes de dialogue cassées, car il est très difficile de les filtrer automatiquement:
Partie 1 Partie 2 Partie 3 Partie 4 Partie 5 Partie 6
Marquage des répliques dans ces boîtes de dialogue par des évaluations de la pertinence et de la spécificité, un fichier au format JSONL pour sélectionner les boîtes de dialogue de la plus haute qualité:
Partie 1 Partie 2 Partie 3 Partie 4 Partie 5 Partie 7 Partie 7 Partie 9 Partie 10 Partie 12 Partie 12
Code de marquage: Tinkoff_Model_Dialogues_score.py
Pour déballer ces archives, vous devez d'abord combiner des fichiers en un seul:
cat chan_dialogues_scored.zip* > 1.zip
Ensuite, déballez-le et obtenez un fichier JSON de 700 MB:
unzip 1.zip
Les boîtes de dialogue des blagues sont d'environ 90 000 boîtes de dialogue collectées sur différents sites de divertissement. La version élargie de l'ensemble de données avec un autre formatage est disponible ici Inkoziev / Jokes_Dialogues.
Cornell Movie Corpus Nettoyed Dialogs - Sous-titres nettoyés, de nombreux dialogues "du milieu"
Dialogues de Khudlit (Flibusta) - environ 400 Mo après le déballage:
Partie 1 Partie 2
Même les dialogues russes de Khudlita sont plus de 130 MB collectés auprès de fiction et de sources similaires. Il y a quelques petites boîtes de dialogue relatives, la quantité de déchets restant après un nettoyage automatique.
Un exemple de code pour la formation d'une tricherie à l'un des ensembles de données ci-dessus: Train_chitchat_rugpt.py. Dans le code, vous devez corriger les chemins de données vers l'ensemble de données et le catalogue où le modèle persistera, ainsi que pour ajuster le Batch_Size.
Vous pouvez vérifier le cheatchat formé à l'aide du code run_chitchat_query.py. Par exemple, les Cheatchats formés sur les «blagues» pour une demande «donner de l'argent à la dette» donnera approximativement les options de réponse suivantes:
[1] - Откуда у меня деньги?!
[2] - А ты мне что, должен?
[3] - А зачем?
[4] - Что, опять?
[5] - На себя и детей?
[6] - У меня денег нет.
[7] - Откуда у меня деньги?
[8] - Нет.
[9] - Не дам!
[10] - Не дам!
Paires synthétiques Paires de questions avec des tâches arithmétiques: test de train. Une version considérablement élargie de cet ensemble de données avec de longues dialogues peut être trouvée dans le référentiel Inkoziev / Arithmétique.
Un modèle prêt à l'emploi d'une Cheatchat générative, formé dans certaines parties des ensembles de données ci-dessus, peut être trouvé ici: https://hugingface.co/inkoziev/rugpt_chitchat
L'ensemble de données est disponible dans le référentiel Inkoziev / Paraphases. Il est utilisé pour former le Inkoziev / Sbert_Synonymy et pour la paraphrase du projet Inkoziev / Paraphaser.
Les ensembles de données sont utilisés pour former le chatbot. Ils contiennent des phrases courtes extraites d'un grand cas de texte, ainsi que de certains modèles et phrases.
Dans les modèles d'archives.clause_with_np.100000.zip fait partie
52669 есть#NP,Nom,Sing#.
25839 есть#NP,Nom,Plur#.
18371 NP,Masc,Nom,Sing#пожал#NP,Ins#.
17709 NP,Masc,Nom,Sing#покачал#NP,Ins#.
La première colonne est la fréquence. Au total, environ 21 millions d'offres ont été collectées.
La deuxième colonne contient le résultat de l'analyse peu profonde, dans laquelle les groupes nominaux sont remplacés par des masques de substitution du NP, Tags. Le cas est défini, ainsi que le nombre et un type grammatical dans les cas où il est nécessaire pour une coordination appropriée avec le verbe. Par exemple, le NP, NOM, Sing Recording décrit le nom dans le cas nominatif et le singulier. Le symbole «#» est utilisé comme séparateur des mots et Chaskov.
Archive PRN + Preposadj + V.zip contient des échantillons de l'espèce:
Я на автобус опоздаю
Я из автобуса пришел
Мы из автобуса вышли
Я из автобуса вышла
Я из автобуса видел
Я на автобусах езжу
Они на автобусах приезжают
Мы на автобусах объездили
Adv + Verb.zip Archive contient des adverbes + verbe sous forme personnelle:
ПРЯМО АРЕСТОВАЛИ
ЛИЧНО атаковал
Немо атаковал
Ровно атаковала
Сегодня АТАКУЕТ
Ближе аттестует
Юрко ахнул
L'archive adj + nom.zip contient des échantillons de type:
ПОЧЕТНЫМ АБОНЕНТОМ
Вашим абонентом
Калининским абонентом
Калининградских аборигенов
Тунисских аборигенов
Байкальских аборигенов
Марсианских аборигенов
Голландские аборигены
Une version plus récente et plus élargie de cet ensemble, collectée d'une autre manière, est située dans les archives de motifs.adj_noun.zip. Cet ensemble de données a ceci:
8 смутное предчувствие
8 городская полиция
8 среднеазиатские государства
8 чудесное средство
8 <<<null>>> претендентка
8 испанский король
Token << >> Au lieu d'un adjectif, cela signifie que le nom est utilisé sans adjectif d'attribut. Ces enregistrements sont nécessaires pour la marginalisation correcte des fréquences d'utilisation des phrases.
L'archive prep + nom.zip contient de tels motifs:
У аборигенных народов
У аборигенных кобыл
Из аборигенных пород
С помощью аборигенов
На аборигенов
Для аборигенов
От аборигенов
У аборигенов
Les modèles d'archives.noun_gen.zip contient des modèles de deux noms, dont le second dans le cas génitif:
4 французские <<<null>>>
4 дворец фестивалей
4 названье мест
4 классы вагонов
4 доступность магазина
Veuillez noter que si dans la phrase initiale, les génitatives avaient des adjectifs subordonnés ou PP, ils seront supprimés dans cet ensemble de données. Token << >> Dans la colonne génitale, cela signifie une situation où le premier nom est utilisé sans Genet. Ces enregistrements simplifient la marginalisation des fréquences.
Les modèles d'archives.noun_np_gen.zip contient des modèles du nom et de la génétique pleine droite:
окно браузера
течение дня
укус медведки
изюминка такой процедуры
суть декларации
рецепт вкусного молочного коктейля
музыка самого высокого уровня
L'archive S + V.zip contient des échantillons de ce type:
Мы абсолютно не отказали.
Мужчина абсолютно не пострадал.
Они абсолютно совпадают.
Михаил абсолютно не рисковал.
Я абсолютно не выспалась.
Они абсолютно не сочетаются.
Я абсолютно не обижусь...
Dans l'archive S + V + inf.zip, il y a de tels échantillons:
Заславский бахвалился превратить
Ленка бегает поспать
Она бегает умываться
Альбина бегает мерить
Вы бегаете жаловаться
Димка бегал фотографироваться
L'archive S + V + Indobj.zip contient des modèles assemblés automatiquement du sujet + verbe + préposition + nom:
Встревоженный аббат пошел навстречу мэру.
Бывший аббат превратился в настоятеля.
Старый Абдуррахман прохаживался возле дома.
Лопоухий абориген по-прежнему был в прострации.
Высокий абориген вернулся с граблями;
Сморщенный абориген сидел за столиком.
Dans l'archive S + V + Accus.zip, il y a des échantillons de ce type:
Мой агент кинул меня.
Ричард аккуратно поднял Диану.
Леха аккуратно снял Аленку...
Они активируют новые мины!
Адмирал активно поддержал нас.
Archive S + V + instr.zip contient des échantillons:
Я вертел ими
Они вертели ими
Вы вертели мной
Он вертит нами
Она вертит тобой
Она вертит мной
Он вертит ими
Она вертит ими
L'archive s + instr + v.zip contient de tels échantillons:
Я тобой брезгую
Они ими бреются
Они ими вдохновляются
Мы ими вертим
Она тобой вертит
Он мной вертит
Он ими вертит
Les échantillons restants sont des phrases finies. Pour la commodité des modèles de dialogue de formation, ces données sont divisées en 3 groupes:
Я только продаю!
Я не курю.
Я НЕ ОТПРАВЛЯЮ!
Я заклеил моментом.
Ездил только я.
Как ты поступишь?
Ты это читаешь?
Где ты живешь?
Док ты есть.
Ты видишь меня.
Фонарь имел металлическую скобу.
Щенок ищет добрых хозяев.
Массажные головки имеют встроенный нагрев
Бусины переливаются очень красиво!
Les propositions dans les ensembles de données FACTS4_1S.TX, FACTS5_1S.TXT, FACTS5_2S.TXT, FACTS4.TXT, FACTS6_1S.TXT, FACTS6_2S.TXT sont sorcés à l'aide du code SORT_FACTS_BY_LSA_tsne.py. L'idée de tri est la suivante. Pour les offres dans le fichier, nous effectuons d'abord LSA, recevant 60 vecteurs (voir la constante LSA_DIMS dans le code). Ensuite, ces vecteurs sont intégrés dans un espace unidimensionnel en utilisant T-SNE, donc à la fin pour chaque phrase, le nombre réel est obtenu, de sorte que les glitteurs décartionnels dans la proposition LSA ont une petite différence dans ces tsne-cash. Ensuite, triez les phrases en fonction de T-SNE et enregistrez la liste résultante.
Les offres dans les fichiers restants sont triés par le programme SORT_SMELLS_BY_KENLM.PY en probabilité décroissante. La probabilité d'une phrase est obtenue en utilisant un modèle de langage à 3 niveaux pré-formé Kenlm.
Le fichier de questions_2s.txt avec des questions contenant le verbe fini sous la forme de 2 personnes du seul numéro est affichée séparément. Ces questions sont collectées dans un grand bâtiment avec des textes, grattées des forums, des sous-titres, etc. Pour plus de commodité, les échantillons sont triés par le verbe fini:
Берёшь 15 долларов ?
Берёшь денёк на отгул?
Берёшь отпуск за свой счёт?
Берёшь с собой что-нибудь на букву «К»?
Беспокоишься за меня?
Беспокоишься из-за Питера?
Беспокоишься из-за чего?
Les questions sont automatiquement sélectionnées à l'aide de POS Tagger et peuvent contenir un petit nombre d'échantillons erronés.
La tâche et l'ensemble de données sont décrits sur la page officielle du concours. L'ensemble de données initial fourni par les organisateurs est disponible sur le lien. En utilisant le script extract_anaphora.py, les anaphoras ont été divulgués, à la suite de laquelle il s'est avéré plus simple pour la formation de l'ensemble de données Chatbot. Par exemple, un fragment de données:
1 159 Кругом кругом R
1 166 она она P-3fsnn одинокую дачу
1 170 была быть Vmis-sfa-e
1 175 обнесена обнесена Vmps-sfpsp
1 184 высоким высокий Afpmsif
1 192 забором забор Ncmsin
On peut voir que le pronom "elle" est révélé à l'expression "chalet solitaire". Apporter une phrase ouverte à la forme grammaticale correcte est laissée pour l'étape suivante.
Fichier TSV emballé.
Les données sont collectées pour résoudre le problème du concours Classicai. Données ouvertes utilisées - Wikipedia et Wikhoslovar. Dans les cas où le stress n'est connu que pour une forme normale du mot (lemme), j'ai utilisé le tableau logistique dans le dictionnaire grammatical et généré des enregistrements avec une marque de forage. En même temps, il est entendu que la position de contrainte dans le mot ne change pas lorsqu'elle est refusée ou cachée. Pour un certain nombre de mots en russe, ce n'est pas le cas, par exemple:
p ^ eki (cas nominatif pluriel)
rivières ^ et (cas génitif le seul numéro)
Dans de tels cas, l'ensemble de données sera l'une des options de stress.
Les ensembles de données contiennent des estimations numériques de la façon dont les mots sont utilisés ensemble que séparément. Pour plus de détails sur le contenu et la méthode d'obtention d'un ensemble de données, consultez une page distincte.
Une paire de phrases dans ces échantillons peut être utile pour la formation des modèles dans le cadre d'un chatbot. Les données ressemblent à ceci:
Я часто захожу ! ты часто заходишь !
Я сам перезвоню . ты сам перезвонишь .
Я Вам перезвоню ! ты Вам перезвонишь !
Я не пью . ты не пьешь .
Dans chaque ligne, il y a deux phrases, séparées par un symbole de tabulation.
Les ensembles de données sont générés automatiquement à partir d'un grand cas de propositions.
Triade "questionnement préalable" pour les phrases 3 mots
Triade "questionnement préalable" pour les phrases 4 mots
Un exemple de données dans les fichiers ci-dessus:
T: Собственник заключает договор аренды
Q: собственник заключает что?
A: договор аренды
T: Спереди стоит защитное бронестекло
Q: где защитное бронестекло стоит?
A: спереди
Chaque groupe de la question préalable est séparé par des lignes vides. Avant la condition préalable, la marque T:, avant l'étiquette de questions Q:, avant la réponse, l'étiquette A:
Ensemble de données avec des lemmes
L'archive est une liste des formes de mots et leur LEMM, tirée du dictionnaire grammatical de la langue russe. Un certain nombre (plusieurs pour cent) de mots ont une lemmatisation ambiguë, par exemple Roy - un verbe à creuser ou un nom. Dans de tels cas, vous devez prendre en compte le contexte du mot. Par exemple, c'est ainsi que fonctionne la bibliothèque Rulemma.
Ensemble de données avec marques
L'ensemble de données contient des phrases dans lesquelles les champs NP sont alloués. Le premier champ de chaque enregistrement contient une étiquette du mot:
0 - n'appartient pas au morceau NP
1 - début de NP -chunk
2 - Continuation de NP -Chanca
Le marquage a été obtenu par conversion automatique à partir des dépendances et peut contenir certains artefacts.
Paraphrases d'artisanat
Fréquence des mots, en tenant compte des éléments de la parole
Apporter des mots à la forme neutre de "acier en acier"
Les racines des mots