没有合适的资源?快使用搜索试试~ 我知道了~
≥软件X 17(2022)100965原始软件出版物rethnicity:一个从名字中预测种族的R包谢方舟经济学系,罗格斯大学,新泽西大厅,202室,75汉密尔顿街,新不伦瑞克,新泽西州08901,美利坚合众国ar t i cl e i nf o文章历史记录:接收13十月2021收到修订版2021年12月14日接受2021年12月15日保留字:RLSTM种族预测a b st ra ct在这项研究中,一个新的R软件包,rethnicity1提供了基于名称的种族预测。双向长短期记忆(Bi-LSTM)是一种常用于自然语言处理的递归神经网络架构,被选为我们研究的模型。佛罗里达州选民登记被用作训练和测试数据。通过调整数据集中的不平衡,特别注意少数群体的准确性。模型经过训练并导出到C++,然后使用Rcpp与R集成。此外,还将该软件包的可用性、准确性和性能与其他解决方案进行了比较版权所有2021作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本0.2.2用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-21-00198Code Ocean compute capsule法律代码许可证MIT许可证使用git的代码版本控制系统软件代码语言、工具和服务使用R(3.4.0)编译要求、操作环境依赖性Rcpp、RcppEigen、RcppThread、Rcpp如果可用,链接到开发人员文档/手册https://fangzhou-xie.github.io/rethnicity/index.html问题支持电子邮件https://github.com/fangzhou-xie/rethnicity/issues1. 动机和意义民族差异效应的研究要求研究者在数据集中获得民族信息然而,这些信息通常是不容易获得的. 2当数据集中只有名字时,人们自然希望根据他们的名字来预测人们姓氏分析已被用于识别种族多年,但深度学习的应用可以使其变得更简单,如[2]所示。此外,名字也可以被合并,以使预测更准确,因为名字也与种族相关[3]。电子邮箱:fangzhou. rutgers.edu。1 https://github.com/fangzhou-xie/rethnicity网站。它也被发布在[CRAN]上。2 医疗保健是必须研究种族差异的领域之一在保险计划中,这一领域的研究人员应该处理缺失的种族信息[1]。3 见[1]。在这里,一种新的方法来预测种族从名字提出了一种新的R包,并给出了一种新的R包。4、5所提出的方法性能良好,速度快,易于实现。2. 软件描述2.1. 方法2.1.1. 佛罗里达州选民登记数据集和欠采样大多数分类算法都假设数据集相对平衡,误分类成本相等[5]。当将它们应用于不平衡数据时,其中某些类的实例明显大于或小于其他类,该算法将主要关注多数类,因此忽略4 https://github.com/fangzhou-xie/rethnicity网站。5 见[4]。 然而,应该注意的是,预测不能100%由这个包。任何使用此软件包的人都应该对结果及其解释持谨慎态度。https://doi.org/10.1016/j.softx.2021.1009652352-7110/©2021作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx谢方舟软件X 17(2022)1009652少数民族阶级。一个例子是欺诈检测,其中大多数交易是正常的,但也有一些是欺诈性的[6]。对大多数类进行欠采样将把不平衡的数据转换为平衡的数据。早期的作品[7,8]指出,通过对大多数类进行欠采样可以提高准确性,但是朴素的过采样技术(即重新采样和替换)不会提高准确性。然而,著名的过采样SMOTE算法[9,10因此,我们的分类问题选择了普通的下采样此外,缩小主要类的规模也有助于减少训练和测试时间,因为我们有大量的数据集可用。佛罗里达州选民登记[11]的数据集被用于这项研究,它包含了所有佛罗里达州选民的名字和确定的种族群体它是从佛罗里达州选民登记系统中提取的,截至2017年正式登记的佛罗里达州选民除了那些要求免于公开披露的人。佛罗里达州选民登记数据集6包括九个种族类别:美国印第安人或阿拉斯加原住民,亚洲人或 啪-cific岛民,非西班牙裔黑人,西班牙裔,非西班牙裔白人,其他,多种族和未知。我们将注意力限制在美国的四个主要种族:亚洲人,黑人,西班牙裔和白人,原因与[2]相同,因为其他类别的数据点不够。我们的欠采样方法将采用最小组的大小,并随机选择相同数量的条目用于所有其他类别。因此,包括其他五组中的任何一组都会给我们一个非常小的数据集,模型无法从中学习任何东西2.1.2. 高级词典经典的自然语言处理(NLP)模型认为“to-kens”是语言的构建块.这种假设对人类来说很自然,因为单词和短语被认为是我们日常使用的语言原子。然而,对于算法为了处理句子,需要将它们标记化,创建词汇表,然后基于词汇表构建模型。随着数据的大小,增大7在机器学习领域已经采取了克服这一点的努力,以直接在字符而不是to-kens上构建模型[13,14]。枚举所有可能的字符并维护这些字符的字典比维护字典更容易。有不同的标记。8这样,我们就可以保留这本字典了。小9,避免词汇表外(OOV)问题。2.1.3. 双向LSTM长短期记忆[16,LSTM]自提出以来已广泛用于序列建模[18]建议6 此外,[2]和Github上的评论(https://github.com/appeler/ethnicolr/issues/39#issuecomment-817953484)也指出,这可能是一个限制,因为模型只在佛罗里达州选民身上训练然而,目前的证据表明,状态内的变化大于跨状态的变化,该模型应该推广到其他国家。再次,用户应谨慎解释结果。7 需要保留一个巨大的词汇表,其中一些标记非常有几种是罕见的[12]。8 在英语的情况下,除了必要的符号外,只需要26个字母。可以使用更大的字典,包括大写字母。然而,使用小写字母来分类名称更有效,因为大写字母会更少,并且模型可能没有足够的机会从大写字母中学习9 令牌级模型通常需要很大比例的参数需要捕捉词汇表[15]。保持较小的词汇量还可以提高效率,使模型更专注于角色10 LSTM的一些最新和令人兴奋的发展包括[17]他和他的朋友们。双向LSTM(Bi-LSTM),它比单向LSTM模型更好地捕捉上下文。在这个包中,Bi-LSTM被用作从名字预测种族的模型架构该模型由256个嵌入层单元和四个Bi-LSTM层组成,每个层512个单元。最后的输出层是一个密集层,包含四个单元(等于分类问题的种族数),激活函数十一、十二该模型在准确度方面的性能列于表2a中2.1.4. 知识的升华虽然享有许多优势,字符级字典可能比标记级字典更复杂。因此,具有许多参数的大型Bi-LSTM模型被训练以获得更好的准确性。然而,这种训练模型是巨大的,并且在生产中部署具有挑战性。因此,[19]提出了“蒸馏”技术,用于从大型模型中提取信息,并教授较小的模型以实现类似的预测。更准确地说,通过这种方式,学生将比直接从数据中学习更好地“蒸馏技巧应用于训练的大型模型,以获得具有相同架构但参数和层较少的较小模型。13较小的模型是从更大的模型,并成为用于生产中的推理的模型。2.1.5. 导出到C++在训练学生模型之后,它们通过frugally-deep14项目导出到C++。因此,该模型不再依赖于Keras(或TensorFlow)的安装。其次,模型是直接在C++中加载的,依赖关系非常少。15为了使模型可以从R调用,必须使用Rcpp提供接口 [20]。这将为底层C++代码提供一个包装器,用于加载模型和预测名称。此外,预测可以通过多线程并行处理。这些特征将使这些名字能够迅速得到处理,以预测族裔。2.2. 与其他解决方案的本节将其可用性、准确性和性能与其他一些软件包和服务进行比较。 最重要的比较将是种族主义和种族主义之间的比较。它们有一些相似之处,但在许多方面也有所不同:首先,rethnicity调整了数据集中的不平衡,而ethnicolr没有;其次,rethnicity使用字符级字典,而ethnicolr使用bichar级字典;第三,rethnicity认为Bi-LSTM可以更好地捕获字符之间的上下文,而ethnicolr利用单向11 检测准确度见第2.2.2节。12 姓氏和全名模型具有相同的架构,但在以下方面有所不同:用于训练的数据集。13 学生模型的架构包括Embedding、Bi-LSTM和致密层然而,嵌入只有32个单元,Bi-LSTM的两层14 https://github.com/Dobiasd/frugally-deep网站。15 frugally-deep 是 一 个 轻 量 级 的 仅 头 文 件 的 C++ 项 目 , 它 只 依 赖 于FunctionalPlus、Eigen和Json项目,这些项目都是仅头文件的项目。对Eigen的依赖后来被RcppEigen取代谢方舟软件X 17(2022)1009653表1比较一些公开提供的服务/软件包,从名字中预测种族。rethnicity为R社区提供了一个免费的轻量级包,没有费率限制。族裔民族色彩名称Prismnationalize.io成本免费免费免费支付速率限制没有没有是的是的依赖低高N/AN/A语言RPythonAPIAPILSTM。此外,还对rethnicity进行了提炼,以获得更小的生产模型,并将其导出到C++,以便从R中调用。2.2.1. 可用性表1显示了rethnicity和其他从名字预测种族的解决方案之间的差异。从成本、速率限制、依赖关系和语言四个方面进行了比较。NamePrism是免费的,但速率限制为每分钟60个请求。nationalize.io每天提供1000个免费请求,需要订阅他们的服务才能在一天内处理更多的名字。 ethnicolr可能在范围上与rethnicity 最相似,但是,它是用Python编写的,需要安装TensorFlow才能运行推理。2.2.2. 精度表2a和2b显示了训练过程中未包括的测试数据的预测准确度。表2a显示了训练过的教师模型的准确性,表2b显示了学生模型的准确性。请注意,对于教师和学生模型,全名模型的性能优于仅利用姓氏信息的模型。此外,与教师模型相比,学生模型的精度降低,但仍然足够高并且接近教师的精度。此外,如果我们在每个种族群体内比较结果,每个群体的准确性大致平衡,少数群体的表现略好。这表明本研究中用于调整数据集中不平衡的欠采样方法(见第2.1.1节)效果良好。如果将结果与ethnicolr[2]进行比较,则rethnicity在预测亚裔,西班牙裔,和黑人,尽管白人的精确度较低162.2.3. 性能该包的性能是通过对模型蒸馏、C++和低开销多线程进行封装来保证的,如第2.1节所述。然而,考虑到速度,需要严格测试性能,并将ethnicolr包作为基准进行比较。图 1显示单线程性能与ethnicolr相当,多线程模式实现了进一步的加速。首先,蒸馏方法成功地压缩了模型,并通过具有更小的模型来提高性能单线程蒸馏模型的推理速度Fig. 1. 恢复期与种族间的历时比较。 在任何给定的样本大小下,我运行推理五次,并取平均运行时间。此外,还对不同的线程数进行了比较。 默认的单线程推理速度在图中显示为“rethnicity_0”。在两个线程,四个线程和八个线程池的推理性能也说明了。多线程,并且加速几乎与使用的线程这显然是从RcppThread包的效率继承来的特性在实践中,应该使用更多的线程来处理大型数据集,这取决于数据集的大小和机器中可用的线程总数。2.3. 软件功能和代码片段该软件包的使用很简单,因为大多数用户只推荐一个功能。十八,十九2.3.1. 函数参数函 数 predict_ethnicity 只 有 五 个 参 数 : firstnames 、lastnames、method、threads和na. rm。firstnames参数接受字符串向量,20和只有当method='fullname'时才需要lastnames 也 接 受 一 个 CharacterVector , 并 且method='fullname'和method = 'lastname'都需要它。方法只能是线程可以选择为大于1的整数以利用多线程支持更快的数据处理。21在反射率上与更大的模型大致相当在ethnicolr。这表明,蒸馏缩小了多线程TensorFlow和GPU加速之间的差距。17第二,16 [2]中的准确率对于白人来说不成比例地高,这可能表明分类器总是倾向于预测白人以最小化损失。17 多线程是TensorFlow的默认行为,ethnicolr已实施。 该实验还利用GPU进行深度学习加速。 另一方面,frugally-deep只使用单线程和CPU。18 更多示例也可以在GitHub存储库中找到:https://github。com/fangzhou-xie/rethnicity.19 从软件包版本0.2.0.开始,增加了两个功能,高级用户希望训练他们的模型并将其加载到包中,而不是我在本文中训练和描述的模 型 。 感 兴 趣 的 读 者 应 该 参 考 一 个 专 门 的 小 插 曲 的 细 节 ( https://fangzhou-xie.github.io/rethnicity/articles/advanced_usage.html)。20 在R中的字符向量。21 从理论上讲,可以选择一个数字来等于机器中的线程数。使用的线程越多,在并行处理中引入的开销就越多,获得的性能提升就越少谢方舟软件X 17(2022)1009654表2Fullname模型和Lastname模型的比较FullnameLastName精度召回f1得分精度召回f1得分支持亚洲0.870.760.810.870.690.7741861黑色0.740.770.760.650.800.7241904西班牙裔0.860.870.860.840.850.8541940白色0.670.730.700.620.580.6041707总0.790.780.780.740.730.73167412(a)蒸馏前教师模型测试数据的准确性FullnameLastName精度召回f1得分精度召回f1得分支持亚洲0.860.730.790.840.640.7341861黑色0.700.760.730.610.750.6741904西班牙裔0.830.870.850.800.840.8241940白色0.670.680.680.570.530.5541707总0.770.760.760.700.690.69167412(b)蒸馏后学生模型测试数据的准确性表3根据捐赠者姓名按预测种族分组的捐赠总额比较。表的右半部分取自[2]。然而,应该注意的是,我们无法比较本表中预测的准确性,因为DIME数据集[21]不包括供体的种族。的严苛测试和比较见第2.2.2节,反应性显示性能更好对 少数民族的预测。种族主义2000 2010 2000 2010亚洲人6.29% 5.90% 2.00% 2.28%黑色20.83% 18.00% 8.93% 7.92%西班牙裔4.01% 4.44% 3.23% 3.31%白人68.87% 71.66% 85.84% 86.49%最后,还有一个na.rm的论点。这允许从输入名称中删除缺失的值。22否则,如果输入数据中缺少值,则会抛出错误。这保证了模型具有正确的输入数据并返回有意义的预测。2.3.2. 代码片段在这里,我给出了一个使用该包的例子prdict_eth nicity(firstnames=“Samuel“,lastnames=“Jackson“,method=“fulname“)>firstnamelastnameprob_asianprob_blackprob_hispanic p r o b_w h i terace>1SamuelJackson0. 017411190的情况。88988490的情况。0066678240的情况。0860361 black清单1:predict_ethnicity函数的示例。3. 说明性实例为了说明该软件包的用法,我将预测方法应用于DIME数据集[21 , 22 , Database on Ideology , Money in Politics , andElections]。DIME数据集提供了有关政治运动的财务和意识形态的丰富信息。考虑数据集中的所有捐赠者,并使用全名模型预测他们的种族。按预测种族分隔的总捐赠金额22 对于姓氏模型,只保留非缺失的姓名进行处理并返回。如果名字或姓氏中有一个丢失,则全名模型将删除姓名,并且只处理同时存在这两个名字的姓名汇总,最后计算出各种族的捐款比例。2000年和2010年的结果列于表3。表3显示,与ethnicolr结果相比,rethnicity表明政治捐款的比例更高。这与第2.2.2节中的准确性和第2.1.1节中讨论的不平衡分类问题的讨论一致,其中rethnicity显著降低了少数群体的错误。如果不进行调整,白人的预测将不成比例地高于少数民族,这低估了少数民族团体为选举。4. 影响该软件包提供了一种从名字中推断种族的方法,这通常是经济学和政治学研究差异效应和种族歧视所需要的。构建此软件包的目的是使安装和使用更容易为任何用户有兴趣预测ethnicity从名称为他们的研究。该软件包完全是R原生的,只依赖于CRAN上发布的几个成熟软件包此外,它通过多线程将繁重的计算委托给C++来实现高性能上面提到的优点在rethnicity包中得到了利用,它是免费的,快速的,可供R社区使用。该软件包还调整了训练数据的平衡,并为少数民族提供了更好的准确性因此,预测误差在不同种族群体之间是平衡的,这将有助于减少进一步分析的偏倚。5. 结论本研究展示了R.它利用不同的技术来预测种族群体。首先,使用欠采样来调整数据集中种族分布的不平衡。第二,采用字符字典的方法,减小了字典的规模,使其具有独立性训练数据。第三,Bi-LSTM被选为架构,因为它在捕获上下文方面具有卓越的性能。第四,在训练了巨大的教师模型之后,通过指导一个小得多的学生模型来提取信息。最后,学生模型被导出到C++,然后通过Rcpp加载谢方舟软件X 17(2022)1009655该模型使用佛罗里达州选民登记数据集进行训练,使用选民的姓名及其识别的种族。在训练大型模型之后,还训练和测试了较小的学生模型。测试的准确性和性能的结果也提供,并显示其竞争力。23代码片段是作为如何使用包的示例提供的。政治候选人的财务和意识形态数据的应用也说明了。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作引用[1] Fiscella K, Fremont AM.使 用地 理 编码 和 姓氏 分 析 来估 计 种族 和 民族 。Health Serv Res 2006;41 ( 4p1 ) : 1482-500. http://dx.doi 的 网 站 。org/10.1111/j.1475-6773.2006.00551.x。[2] Sood G,Laohaprapanon S.从名字中的字符arXiv:1805.02109。[3] Fryer Jr RG,Levitt SD.独特的黑人名字的原因和后果。Q J Econ 2004;119(4):767-805。http://dx.doi.org/10.1162/0033553041502180.[4] 谢F.Rethnicity:从名字预测种族arXiv:2109.09228。[5] 孙毅,黄AKC,Kamel MS.不平衡数据的分类:综述。Int J Pattern ArtifIntell2009;23 ( 04 ) : 687-719.http://dx.doi.org/10 的 网 站 。1142/S0218001409007326.[6] Fawcett T , Provost F. 自 适 应 欺 诈 检 测 。 Data Min Knowl Discov 1997;1(3):291-316. http://dx.doi.org/10.1023/A:1009700419189网站。[7] Ling CX,Li C.直接营销的数据挖掘:问题与解决方案。第四届知识发现与数据挖掘国际会议论文集。New York:AAAI Press; 1998,p.7.第一次会议。[8]雅普科维奇阶级失衡问题:意义与策略。2000年国际人工智能会议论文集。1999年,p. 111-7[9]Chawla NV,Bowyer KW,Hall LO,Kegelmeyer WP. SMOTE:合成少数过采样技术。J Artif Intell Res 2002;16:321-57. 网址://dx.doi.org/10.1613/jair.953网站。[10]Fernandez A,Garcia S,Herrera F,Chawla NV.从不平衡数据中学习的Smote:进展与挑战,纪念15周年。J Artif Intell Res 2018;61:863-905.http://dx.doi.org/10.1613/jair.1.11192网站。[11] 索德湾佛罗里达州选民登记数据。2017年,http://dx.doi.org/10.7910/DVN/UBIG3F。[12]Zipf GK。语言的心理生物学:动态语言学导论。乔治·伯特利奇父子出版社,1936年,第一版。[13]张X,赵J,乐存Y.用于文本分类的更高级卷积网络。在:神经信息处理系统的进展,卷。28. 柯兰联营公司; 2015年。[14]放大图片作者:J.使用递归神经网络生成文本。第28届国际机器学习会议论文集。Madison,WI,USA:Omni Press;2011,p. 1017-24[15]Xue L , Barua A , Constant N , Al-Rfou R , Narang S , et al. ByT5 :towards a token-free future with pre-trained byte-to-byte models. arXiv :2105.13626。[16] Hochreiter S,Schmidhuber J.长短期记忆。神经计算1997;9(8):1735-80. http://dx.doi.org/10.1162/neco.1997.9.8.1735网站。[17]放大图片作者:J. J. BERT:用于语言理解的深度双向转换器的预训练。arXiv:1810.04805。[18] Graves A , Schmidhuber J. Framewise Phoneme Classification withbidirectional LSTM and other neural network architectures. 神 经 网 络2005;18 ( 5 ) : 602-10. http://dx.doi.org/10.1016/j.neunet.2005.06.042 网站。[19]Hinton G,Vinyals O,Dean J. Distilling the knowledge in a neural network.arXiv:1503.02531。[20] Eddelbuettel D,Francois R.Rcpp:无缝的R和C++集成。J Statistist Softw2011;40(1):1http://dx.doi.org/10.18637/jss.v040.i08网站。[21]博 尼 卡 河 意 识 形 态 数 据 库 。 在 : 金 钱 在 政 治 和 选 举 。 2019 年 ,http://dx.doi.org/10.7910/DVN/O5PX0B。[22]博 尼 卡 河 描 绘 意 识 形 态 市 场 。 美 国 政 治 科 学 杂 志 2014;58 ( 2 ) : 367-86.http://dx.doi.org/10.1111/ajps.12062网站。23 然而,软件包所做的预测并不是100%正确的,研究人员在解释结果时应该谨慎。此外,预测的种族信息应被视为测量误差的协变量,这可能会使回归估计值产生偏倚
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功