本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,老师转载请联系出处。模秒纠 当NLP模型产生了语法错误,型也怎么办?有装 比如,He wants that you send him an email. 没关系,开源库毫现在可以像小时候的正语英语老师,改作文一样简单。法错 只要装上一个专门纠正语法错误的老师库就可以,还是模秒纠毫秒钟就可揪出来的那种。 这不,型也把“that”改成“to”不就可以了吗~ 纠正过来就是有装: He wants you to send him an email. (不会真有人看不出其中的语法错误吧) 再比如这句。 I can 开源库毫due his homework. 应该变成:I can do his homework. 好像这些语法错误,都有点太过明显了。正语那就来复杂一点的法错。 Thanks for your’s and 老师Lucy’s help. 系统就会改成: Thanks for yours and Lucy’s help. 这就是最近一位AI专业本科生Benjamin Minixhofer,利用假期时间开发出来的一款快速纠正语法错误的库NLPRule。 它是由Rust编写的一个基于LanguageTool语法规则的逆向工程。 LanguageTool是一款开放源代码校对软件,适用于英语,站群服务器法语,德语,波兰语,俄语以及20多种其他语言,它可以发现许多拼写检查器无法检测到的错误。 一经发出,就在Reddit上获得了200+的热度。 NLPRule是将语法规则与ML模型结合起来,主要应用于NLP的预处理和NLG的后处理。 在作者看来,使用基于语法规则的方法有两大优势。 一是速度。作者使用第8代英特尔,纠正一个句子只需要不到1毫秒的时间。 二是语法错误的训练数据极度稀少,ML模型无法处理。 比如,就像这句“It is enough for all intensive purposes. ” 就包含了一个错误。除非特别说明,ML模型基本上不能纠正这个错误,因为它几乎不会出现在其训练数据当中。 而若是云南idc服务商放在其他语言数据中,肯定会比英语更少。 比如,中文。 作者创建这个库的目的在于创建一个快速、轻量级的引擎来运行自然语言规则,无需依赖JVM(Java虚拟运行环境)速度、内存的影响。 目前,这个库支持英语和德语。 具体安装可分成如下四个步骤,详细可戳文末链接。 接着,作者就尝试用GPT-2生成的文本来测试,结果产生了大量的改进建议。 比如语法错误。 Before: …t out, as a condition of its being operated. Each lock keeper should ensure >that all locks are operated and tha… After: …t out, as a condition of its being operated. Each lockkeeper should ensure that all locks are operated and tha… Message: This noun is normally spelled as one word. Type: grammar 再比如拼写错误。 Before: …he Z-machine version (in the standardised format) is comprised of 32 (in total) >bytes, one per line. … After: …he Z-machine version (in the standardised format) comprises 32 (in total) bytes, one per line. … Message: Did you mean comprises or consists of or is composed of? Type: misspelling 一经发出,不少网友直呼:Fantastic! 也有网友想到,如果跟BERT或者其他Transformer模型结合起来,会不会生成更好的句子呢? 想要了解更多细节,呐~传送门送上!如何实现?
在GPT-2进行文本测试