Использование: pip install nlpcda
Открытый исходный код не легкий, добро пожаловать на звезду?
pypi: https: //pypi.org/project/nlpcda/
Инструмент по улучшению данных в один щелчок, поддерживающий: поддержка:
BIO данных класса классаsimbert , чтобы генерировать подобные предложения经过细节特殊处理,比如不改变年月日数字,尽量保证不改变原文语义。即使改变也能被猜出来、能被猜出来、能被踩出来、能被菜粗来、被菜粗、能菜粗来
文本в语音> Распознавание语音обратно в文本: генерируйте речь на текстовом тексту на основе Fastspeech2, и текст распознавания голоса на основе WAV2VEC2пример:
Ввод: Синьхуа информационное агентство Пекин Новости>
fastspeech2> X.WAVx.wav>
wav2vec2> Вывод: Xinhua настроена в Пекинг Новости
Сегодня 29 августа новости> Сегодня 29 августа новости
У меня есть 1234 яблоки> у меня 1234 яблоки
nlpcda
️ Если вы просто набираете баллы точности, вы, как правило, не получите никакого улучшения балла с этим пакетом.
Параметр:
Это путь текстового файла, содержимое следующее:
Сущность 1
Сущность 2
...
Сущность 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模型的泛化性能、减少波动、抵抗对抗攻击
'''Параметр:
Это путь текстового файла, содержимое следующее (разделенное пространствами):
AA01A0 люди все люди
Синоним ID2 синоним B1 B2 ... синоним BK
...
Синоним IDN N1 Синоним 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模型的泛化性能、减少波动、抵抗对抗攻击
'''
Параметр:
Это путь текстового файла, содержимое следующее ( t разделено):
de del dede de technet до тех пор, пока до тех пор не до тех пор до тех пор до до тех пор, пока не до тех пор не до тех пор, пока до тех пор не до тех пор до тех пор, пока не до тех пор не до тех пор, пока до тех пор не до тех пор, пока до тех пор не до тех пор, пока не до тех пор, пока до тех пор не до тех пор, пока не пока до тех пор, пока не пока до тех пор, пока не пока до тех пор, пока не пока до тех пор не до тех пор, пока не пока до тех пор, пока не до тех пор, пока не пока до тех пор, пока не пока до тех пор, пока не пока до тех пор, пока не пока до тех пор, пока не пока до тех пор, пока не пока до тех пор, пока не пока до тех пор не пока
...
Pinyin N Word N1 слово 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模型的橎化性能、减少波动、抵抗对抗攻击
'''Параметр:
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模型泛化性能、减少波动、抵抗对抗
'''Введите маркированный каталог данных NER, отмеченный путь файла, который необходимо улучшить, и количество улучшенных, и вы можете улучшить его одним щелчком.
Параметры класса NER:
Слово 1 t тег
Север T B-Loc
Пекин t i-loc
Сегодня t o
День t o
Очень t o
Горячий
Полем к
Параметр функции вызова Augment ()
пример:
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模型的性化泛能、动减波少、抗抗击抵对攻
'''Параметр:
Это путь текстового файла, содержимое следующее (( t) разделено):
0 ноль
1 один ①
...
9 девять девять ⑨
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,天气晴朗,天气很不错
'''Используется перед использованием, добавьте эффект причастию слова
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. Усовершенствованная нота внедрения китайско-английского перевода Baidu:
Подать заявку на ваш 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. Улучшение реализации обмена переводами Google
Пакет PIP: Py-Googletrans
Бесплатный API перевода Google, требует блокировки стен и нестабильного
https://py-googletrans.readthedocs.io/en/latest
PIP установить Googletrans
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 . textИсточник: https://github.com/zhuiyitechnology/pretrained-models
Ссылка: https://github.com/zhuiyitechnology/simbert
Загрузите любую модель в ней, распахните ее в любую позицию и назначьте переменной model_path :
| имя | Размер обучения данных | Размер словарного запаса | Размер модели | Скачать адрес |
|---|---|---|---|---|
| Симберт Тини | 22 миллиона аналогичных групп приговора | 13685 | 26 МБ | Baidu netdisk (1tp7) |
| Симберт маленький | 22 миллиона аналогичных групп приговора | 13685 | 49 МБ | Baidu NetDisk (Nu67) |
| База Симберта | 22 миллиона аналогичных групп приговора | 13685 | 344 МБ | Baidu netdisk (6xhq) |
Параметр:
Ссылка на среду (ручная установка):
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)]
'''