使用: pip install nlpcda
オープンソースは簡単ではありません、スターへようこそ?
Pypi:https://pypi.org/project/nlpcda/
中国のデータ拡張ツール、サポート:
BIOデータ強化simbertを使用して、同様の文を生成します经过细节特殊处理,比如不改变年月日数字,尽量保证不改变原文语义。即使改变也能被猜出来、能被猜出来、能被踩出来、能被菜粗来、被菜粗、能菜粗来
文本から语音>语音認識文本に戻る:fastspeech2に基づいてテキストでスピーチを生成し、wav2vec2に基づく音声認識テキストを生成します例:
入力:Xinhua通信社北京ニュース>
fastspeech2> x.wavX.WAV>
wav2vec2>出力:Xinhuaは北京ニュースをセットアップします
今日は8月29日ですニュース>今日は8月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 de de dedededededeまでまでまで去るまでまでまでまでまで去るまでまでまでまで丸までまでまでまで丸までまでまでまでまで丸までまでまで丸までまでまでまで丸までまでまでまで丸までまでまでまでまで丸までまでまでまで丸までまでまでまで丸までまでまでまでまでまで丸までまでまでまでまで丸までまでまでまでまでまでまで丸までまでまでまでまでまでまで丸までまでまでまでまでまでまでまでまでまでまで続けるまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまで続くまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまで続くまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまで続けるまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまで続けるまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまで続くまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまでまででしょュまで
...
Pinyin n word n1 word 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
ホットo
。 に
function 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 1①
...
9ナイン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の中国語と英語の翻訳インターチェンジの実装の強化されたメモ:
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
無料のGoogle翻訳APIでは、ウォールブロックと不安定なものが必要です
https://py-googletrans.readthedocs.io/en/latest
ピップインストール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変数に割り当てます。
| 名前 | トレーニングデータサイズ | 語彙サイズ | モデルサイズ | アドレスをダウンロードしてください |
|---|---|---|---|---|
| Simbert Tiny | 2200万の同様の文グループ | 13685 | 26MB | Baidu Netdisk(1TP7) |
| Simbert Small | 2200万の同様の文グループ | 13685 | 49MB | Baidu Netdisk(nu67) |
| シンバートベース | 2200万の同様の文グループ | 13685 | 344MB | 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)]
'''