275种语言中的字节对嵌入

bpemb的Python项目详细描述


bpemb

bpemb是275种语言中预先训练好的子词嵌入的集合,基于字节对编码(bpe)并在wikipedia上进行训练。它的预期用途是作为自然语言处理中神经模型的输入。

网站用法下载多bpemb论文(pdf)引用bpemb

用法

使用pip安装bpemb:

pip install bpemb

嵌入式和Sentencepiece模型将在您第一次使用时自动下载。

>>>frombpembimportBPEmb# load English BPEmb model with default vocabulary size (10k) and 50-dimensional embeddings>>>bpemb_en=BPEmb(lang="en",dim=50)downloadinghttps://nlp.h-its.org/bpemb/en/en.wiki.bpe.vs10000.modeldownloadinghttps://nlp.h-its.org/bpemb/en/en.wiki.bpe.vs10000.d50.w2v.bin.tar.gz

使用bpemb可以做两件主要的事情。首先是分词:

# apply English BPE subword segmentation model>>>bpemb_en.encode("Stratford")['▁strat','ford']# load Chinese BPEmb model with vocabulary size 100k and default (100-dim) embeddings>>>bpemb_zh=BPEmb(lang="zh",vs=100000)# apply Chinese BPE subword segmentation model>>>bpemb_zh.encode("这是一个中文句子")# "This is a Chinese sentence."['▁这是一个','中文','句子']# ["This is a", "Chinese", "sentence"]

一个词是否被拆分取决于词汇量的大小。一般来说,较小的词汇量将产生许多子词的切分,而较大的词汇量将导致频繁的词不会被分割:

<表><广告> 词汇量 分段 < /广告><正文>1000"str"、"at"、"f"、"ord"]3000['str'、'at'、'ford']5000['str'、'at'、'ford']10000['战略','福特']25000['斯特拉特福德']50000['斯特拉特福德']100000['斯特拉特福德']200000['斯特拉特福德']

bpemb的第二个目的是提供预训练的子字嵌入:

# Embeddings are wrapped in a gensim KeyedVectors object>>>type(bpemb_zh.emb)gensim.models.keyedvectors.Word2VecKeyedVectors# You can use BPEmb objects like gensim KeyedVectors>>>bpemb_en.most_similar("ford")[('bury',0.8745079040527344),('ton',0.8725000619888306),('well',0.871537446975708),('ston',0.8701574206352234),('worth',0.8672043085098267),('field',0.859795331954956),('ley',0.8591548204421997),('ington',0.8126075267791748),('bridge',0.8099068999290466),('brook',0.7979353070259094)]>>>type(bpemb_en.vectors)numpy.ndarray>>>bpemb_en.vectors.shape(10000,50)>>>bpemb_zh.vectors.shape(100000,100)

若要在神经网络中使用子词嵌入,请将输入编码为子词ID:

>>>ids=bpemb_zh.encode_ids("这是一个中文句子")[25950,695,20199]>>>bpemb_zh.vectors[ids].shape(3,100)

或者使用embed方法:

# apply Chinese subword segmentation and perform embedding lookup>>>bpemb_zh.embed("这是一个中文句子").shape(3,100)

每种语言的下载量

ab(阿布哈兹)ace(中文)ady(adyghe)af(南非荷兰语)ak(akan)als(alemannic)AM(阿姆哈拉语)an(阿拉贡语)ang(古英语)ar(阿拉伯语)arc(官方阿拉米语)arz(埃及阿拉伯语)as(阿萨姆语)ast(阿斯图里安)atj(阿蒂卡梅克)av(avaric)ay(艾玛拉)az(阿塞拜疆)azb(阿塞拜疆南部)

ba(巴什基尔)酒吧(巴伐利亚)bcl(中央比科尔)比利时语(白俄罗斯语)bg(保加利亚语)bi(比斯拉马)bjn(banjar)bm(班巴拉)bn(孟加拉语)" bo(藏语)" bpy(比什努皮亚)" br(布雷顿)" bs(波斯尼亚)" 错误bxr(俄罗斯布里亚特)

ca(加泰罗尼亚语)" cdo(闽东中文)" ce(车臣)" ceb(cebuano)" ch(查莫罗)" chr(切罗基)" chy(夏延)" ckb(中央库尔德人)" 公司(科西嘉)" cr(克里)crh(克里米亚鞑靼人)" 英语(捷克语)" csb(卡苏比安)" cu(教会斯拉夫语)" 简历(楚瓦什)" cy(威尔士)

da(丹麦语)" en(德语)" 丁(丁卡)" diq(dimli)" dsb(下索比亚语)" dty(dotyali)" dv(dhivehi)" dz(dzongkha)

ee(ewe)" el(现代希腊语)" en(英语)" eo(世界语)" es(西班牙语)" et(爱沙尼亚语)" 欧盟(巴斯克)" ext(extremaduran)

fa(波斯语)" ff(fulah)" fi(芬兰语)" 福建(斐济)" fo(法罗群岛)" fr(法语)" frp(阿皮坦)" frr(北弗里西亚)" 毛皮(弗里乌利安)" fy(西弗里西亚)

ga(爱尔兰语)" gag(gagauz)" 赣(赣中)SE)gd(苏格兰盖尔语)" gl(加利西亚)" glk(吉拉基)" gn(瓜拉尼)" gom(goan konkani)" got(哥特式)" gu(古吉拉特语)" gv(manx)

ha(豪萨)" 客家语(客家汉语)" haw(夏威夷语)" 他(希伯来语)" 嗨(印地语)" hif(斐济印地语)" 人力资源(克罗地亚语)" hsb(上索比安语)" ht(海地语)" hu(匈牙利语)" hy(亚美尼亚语)

ia(中间语言)" id(印度尼西亚)ie(中间语言)" ig(igbo)" ik(inupiaq)" 国际劳工组织(ILOKO)" 输入输出(输入输出)" 是(冰岛语)" 它(意大利语)" iu(因纽特教)

ja(日语)" jam(牙买加克里奥尔语英语)" jbo(lojban)" 合资企业(爪哇语)

ka(格鲁吉亚语)" kaa(卡拉-卡尔帕克)" kab(kabyle)" kbd(卡巴丹)" kbp(kabiy a)" kg(刚果)" ki(基库尤)" kk(哈萨克语)" kl(卡拉利苏特)" km(高棉中部)" kn(卡纳达语)" ko(朝鲜语)" koi(komi-permyak)" krc(卡拉奇-巴尔卡尔)" ks(克什米尔)" ksh(科隆)" ku(库尔德语)" kv(komi)" kw(康沃尔语)" ky(吉尔吉斯)

la(拉丁语)" lad(ladino)" lb(卢森堡语)" lbe(lak)。< 莱兹(莱兹基安)" lg(甘达)" li(林伯根)" lij(利古里亚语)" lmo(伦巴第)" ln(林加拉)" lo(老挝语)" lrc(北卢里)" lt(立陶宛语)" ltg(拉特加利安)" lv(拉脱维亚语)

mai(maithili)" 中密度纤维板(moksha)" mg(马达加斯加)" mh(马歇尔)" mhr(东部马里兰州)" mi(毛利人)" 最小值(minangkabau)" mk(马其顿语)" ml(马拉雅拉姆语)" mn(蒙古语)" mr(marathi)mrj(西马里亚纳)" ms(马来语)" mt(马耳他语)mwl(mirandese)我的(缅甸语)" myv(erzya)" mzn(马赞达尼)

na(瑙鲁)" 午睡(那不勒斯)" nds(低德语)" 东北(尼泊尔)" 新建(newari)" ng(ndonga)" 英语(荷兰语)nn(挪威尼诺斯克)" 否(挪威语)" 十一月(十一月)" nrm(narom)" nso(pedi)" nv(纳瓦霍)" 新建(nyanja)

oc(西方)" olo(livvi)" om(oromo)或(oriya)" 操作系统(奥塞梯)

p a(旁遮普)" 页面(pangasinan)" PAM(潘潘加)" pap(papamento)pcd(picard)" pdc(宾夕法尼亚德语)" pfl(pfaelzisch)" pi(pali)" pih(皮特凯恩-诺福克)" pl(波兰语)" pms(皮埃蒙特)pnb(西旁遮普)" pnt(庞蒂克)" ps(pushto)" pt(葡萄牙语)

qu(quechua)

rm(罗马语)" rmy(vlax romani)" rn(rundi)" ro(罗马尼亚语)" ru(俄语)" rue(rusyn)" rw(基尼亚卢旺达)

sa(梵文)" sah(yakut)" sc(撒丁岛)" scn(西西里) 上合组织(苏格兰)。 sd(信德信)" se(北部萨米人)" sg(sango)" sh(塞尔维亚语-克罗地亚语)" si(僧伽罗语)" sk(斯洛伐克语)" sl(斯洛文尼亚语)sm(萨摩亚)" sn(shona)" so(索马里)" sq(阿尔巴尼亚语)" sr(塞尔维亚语)" srn(sranan tongo)" ss(swati)" st(南索托)" stq(saterfriesisch)" su(巽他语)" sv(瑞典语)" 软件(斯瓦希里语)" szl(西里西亚语)

ta(泰米尔语)" tcy(tulu)" te(泰卢固语)" tet(tetum)" tg(塔吉克)th(泰语)" ti(提格里尼亚)" tk(土库曼)" tl(tagalog)" tn(茨瓦纳)" 至(汤加)" tpi(tok pisin)" tr(土耳其语)" ts(tsonga)" tt(鞑靼人)" tum(tumbuka)" tw(twi)" ty(塔希提)" tyv(图维尼亚语)

udm(udmurt)" ug(维吾尔族)" 英国(乌克兰语)" 乌尔都语(乌尔都语)" 乌兹别克语(乌兹别克)

ve(供应商)" vec(威尼斯人)" vep(veps)" vi(越南语)vls(vlaams)" vo(volapuk)

wa(瓦隆)" 战争(战争)" 工单(wolof)" wuu(wu中文)

xal(kalmyk)" xh(xhosa)" xmf(明莱恩)

彝语(意第绪语)" 哟(约鲁巴)

za(壮族)" zea(zeeuws)" zh(中文)" zu(zulu)

多bpemb

多语言(多语言)

引用bpemb

如果您在学术工作中使用bpemb,请引用:

啊!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
MIME类型多部分/混合的java无对象DCH   Java Swing中单元格和列的间距   java为什么我不能使用For循环从集合中获取元素?   mysql Java餐厅计费系统   java MediaPlayer内存消耗   println Java添加的神秘输出:一些经过评估,一些经过打印   java我应该使用哪个对象?   PHP到Java论坛游戏集成   通过GeoNetwork上的java http post请求获取XML响应   java为什么类名与使用“==”的内部字符串比较冲突?   java反应。js如何定义自定义id,而不是在html中显示reactselect1value   java中的拼字数组   java如何使ScheduledExecutorService在其计划任务取消时自动终止   java查询未正确执行   IBatis+Java:检索HashMap   要读取的加密Java代码。txt文件并转换为二进制表示形式   Java Web Start应用程序自动加载   java Swing重写对象的paintComponent