Utilisation: pip install nlpcda
L'Open Source n'est pas facile, bienvenue à Star?
PYPI: https: //pypi.org/project/nlpcda/
Outil d'amélioration des données chinoises en un clic, support:
BIOsimbert pour générer des phrases similaires经过细节特殊处理,比如不改变年月日数字,尽量保证不改变原文语义。即使改变也能被猜出来、能被猜出来、能被踩出来、能被菜粗来、被菜粗、能菜粗来
文本à语音> Reconnaissance语音Retour au文本: Générez la parole sur le texte basé sur FastSpeech2 et le texte de reconnaissance vocale basé sur WAV2VEC2exemple:
Entrée: l'agence de presse de Xinhua Beijing News>
fastspeech2> x.wavx.wav>
wav2vec2> Sortie: Xinhua configure les nouvelles de Pékin
Aujourd'hui est le 29 août News> Aujourd'hui est le 29 août
J'ai 1234 pommes> J'ai 1234 pommes
nlpcda
️ Si vous marquez simplement vos scores de précision, vous n'obtiendrez généralement aucune amélioration du score avec ce package.
paramètre:
C'est le chemin du fichier texte, le contenu est le suivant:
Entité 1
Entité 2
...
Entité n
from nlpcda import Randomword
test_str = '''这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击'''
smw = Randomword ( create_num = 3 , change_rate = 0.3 )
rs1 = smw . replace ( test_str )
print ( '随机实体替换>>>>>>' )
for s in rs1 :
print ( s )
'''
随机实体替换>>>>>>
这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击
这是个实体:长兴国际;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击
这是个实体:浙江世宝;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击
'''paramètre:
C'est le chemin du fichier texte, le contenu est le suivant (séparé par des espaces):
AA01A0 Les humains sont tous des humains
ID2 Synonyme B1 Synonyme B2 ... Synonyme BK
...
idn synonyme n1 synonyme n2
from nlpcda import Similarword
test_str = '''这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击'''
smw = Similarword ( create_num = 3 , change_rate = 0.3 )
rs1 = smw . replace ( test_str )
print ( '随机同义词替换>>>>>>' )
for s in rs1 :
print ( s )
'''
随机同义词替换>>>>>>
这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击
这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数量增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击
这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;斯nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击
'''
paramètre:
C'est le chemin du fichier texte, le contenu est le suivant ( t séparé):
De del Dede de Technet till till tail tail tail tail tail tail tail tail tail tail tail tail tail tail tail tail tail tail ti tail
...
Pinyin n word n1 mot n2
from nlpcda import Homophone
test_str = '''这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击'''
smw = Homophone ( create_num = 3 , change_rate = 0.3 )
rs1 = smw . replace ( test_str )
print ( '随机近义字替换>>>>>>' )
for s in rs1 :
print ( s )
'''
随机近义字替换>>>>>>
这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击
这是个实体:58同城;今填是2020年3月8日11:40,天气晴朗,天气很不错,空气痕好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击
鷓是个实体:58同乘;今天是2020年3月8日11:40,天迄晴朗,天气很不错,空气很儫,不差;这个nlpcad包,用于方便一键数据增强,犐有效增牆NLP模型的橎化性能、减少波动、抵抗对抗攻击
'''paramètre:
from nlpcda import RandomDeleteChar
test_str = '''这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击'''
smw = RandomDeleteChar ( create_num = 3 , change_rate = 0.3 )
rs1 = smw . replace ( test_str )
print ( '随机字删除>>>>>>' )
for s in rs1 :
print ( s )
'''
随机字删除>>>>>>
这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击
这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气,不差;这个nlpcad包用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗
个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型泛化性能、减少波动、抵抗对抗
'''Entrez le répertoire de données NER marqué, le chemin de fichier marqué qui doit être amélioré et le nombre d'améliorations, et vous pouvez l'améliorer en un seul clic.
Paramètres de classe NER:
Tag de mot 1 t
Nord t b-loc
Pékin t i-loc
Aujourd'hui T o
Jour t o
Très t o
Chaud o
. à
Fonction d'appel augment () Paramètre
exemple:
from nlpcda import Ner
ner = Ner ( ner_dir_name = 'ner_data' ,
ignore_tag_list = [ 'O' ],
data_augument_tag_list = [ 'P' , 'LOC' , 'ORG' ],
augument_size = 3 , seed = 0 )
data_sentence_arrs , data_label_arrs = ner . augment ( file_name = '0.txt' )
# 3条增强后的句子、标签 数据,len(data_sentence_arrs)==3
# 你可以写文件输出函数,用于写出,作为后续训练等
print ( data_sentence_arrs , data_label_arrs ) from nlpcda import CharPositionExchange
ts = '''这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击'''
smw = CharPositionExchange ( create_num = 3 , change_rate = 0.3 , char_gram = 3 , seed = 1 )
rs = smw . replace ( ts )
for s in rs :
print ( s )
'''
这是个实体:58同城;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,不差;这个nlpcad包,用于方便一键数据增强,可有效增强NLP模型的泛化性能、减少波动、抵抗对抗攻击
这实个是体:58城同;今天是2020年3月8日11:40,天气晴朗,天气很不错,空气很好,差不;这个nlpcad包,便用一数方增键强据于,增有效可强NLP模型性泛化的能、动少减波、抵对攻抗抗击
这是个体实:58城同;今是天2020年3月8日11:40,朗气晴天,天气很错不,空好很气,不差;个这nlpcad包,方便键一据增用数于强,可有效强增NLP模型的性化泛能、动减波少、抗抗击抵对攻
'''paramètre:
C'est le chemin du fichier texte, le contenu est le suivant (( t) séparé):
0 zéro
1 un ①
...
9 neuf neuf ⑨
from nlpcda import EquivalentChar
test_str = '''今天是2020年3月8日11:40,天气晴朗,天气很不错。'''
s = EquivalentChar ( create_num = 3 , change_rate = 0.3 )
# 添加等价字
s . add_equivalent_list ([ '看' , '瞅' ])
res = s . replace ( test_str )
print ( '等价字替换>>>>>>' )
for s in res :
print ( s )
'''
等价字替换>>>>>>
今天是2020年3月8日11:40,天气晴朗,天气很不错。
今天是二〇2〇年3月八日1①:4〇,天气晴朗,天气很不错。
今天是二0贰零年3月捌日11:40,天气晴朗,天气很不错
'''Utilisé avant utilisation, ajoutez un effet de participe Word
from nlpcda import Randomword
from nlpcda import Similarword
from nlpcda import Homophone
from nlpcda import RandomDeleteChar
from nlpcda import Ner
from nlpcda import CharPositionExchange
Randomword . add_word ( '小明' )
Randomword . add_words ([ '小明' , '小白' , '天地良心' ])
# Similarword,Homophone,RandomDeleteChar 同上1. Remarque améliorée de la mise en œuvre de l'échange de traduction chinoise de Baidu:
Postulez pour votre appid, Secretkey: http://api.fanyi.baidu.com/api/trans
from nlpcda import baidu_translate
zh = '天气晴朗,天气很不错,空气很好'
# 申请你的 appid、secretKey
# 两遍洗数据法(回来的中文一般和原来不一样,要是一样,就不要了,靠运气?)
en_s = baidu_translate ( content = zh , appid = 'xxx' , secretKey = 'xxx' , t_from = 'zh' , t_to = 'en' )
zh_s = baidu_translate ( content = en_s , appid = 'xxx' , secretKey = 'xxx' , t_from = 'en' , t_to = 'zh' )
print ( zh_s )2. Amélioration de la mise en œuvre de l'échange de traduction Google
Package PIP: py-googletrans
API de traduction Google gratuite, nécessite un blocage mural et instable
https://py-googlerans.readthedocs.io/en/latest
pip install googlerans
from googletrans import Translator
def googletrans ( content = '一个免费的谷歌翻译API' , t_from = 'zh-cn' , t_to = 'en' ):
translator = Translator ()
s = translator . translate ( text = content , dest = t_to , src = t_from )
return s . textSource: https://github.com/zhuiyitechnology/pretrained-models
Référence: https://github.com/zhuiyitechnology/simbert
Téléchargez n'importe quel modèle, décompressez-le à n'importe quelle position et attribuez-le à model_path :
| nom | Taille des données de formation | Taille de vocabulaire | Taille du modèle | Adresse de téléchargement |
|---|---|---|---|---|
| Timbert minuscule | 22 millions de groupes de phrases similaires | 13685 | 26 Mo | Baidu Netdisk (1TP7) |
| Simbert petit | 22 millions de groupes de phrases similaires | 13685 | 49 Mo | Baidu Netdisk (NU67) |
| Base Simbert | 22 millions de groupes de phrases similaires | 13685 | 344 Mo | Baidu netdisk (6xhq) |
paramètre:
Référence de l'environnement (installation manuelle):
keras==2.3.1
bert4keras==0.7.7
# tensorflow==1.13.1
tensorflow-gpu==1.13.1
from nlpcda import Simbert
config = {
'model_path' : '/xxxx/chinese_simbert_L-12_H-768_A-12' ,
'CUDA_VISIBLE_DEVICES' : '0,1' ,
'max_len' : 32 ,
'seed' : 1
}
simbert = Simbert ( config = config )
sent = '把我的一个亿存银行安全吗'
synonyms = simbert . replace ( sent = sent , create_num = 5 )
print ( synonyms )
'''
[('我的一个亿,存银行,安全吗', 0.9871675372123718),
('把一个亿存到银行里安全吗', 0.9352194666862488),
('一个亿存银行安全吗', 0.9330801367759705),
('一个亿的存款存银行安全吗', 0.92387855052948),
('我的一千万存到银行安不安全', 0.9014463424682617)]
'''