快别「一句wòcào行天下」,清华开源了个神器专治词穷!

Posted Wang_AI

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快别「一句wòcào行天下」,清华开源了个神器专治词穷!相关的知识,希望对你有一定的参考价值。

鱼羊 发自 凹非寺
量子位 | 公众号 QbitAI

奈何本人没文化,一句(哔——)行天下。

这位胖友,不知你行走江湖,是否也有过这样的烦恼?

那么这里有个神器,可就值得好好说道说道了。

“听我说谢谢你,因为有你,温暖了四季”用成语应该怎么说?

在搜索框内输入你想表达的意思,再在词性一栏里选择成语,AI立马就能给你抛出几十上百个选项。

背景颜色越深,代表系统推荐程度越高。

要是碰上啥看不懂的,鼠标一点,就能查看具体释义。

还不只是中文,比如当你想脱口而出一句“鹅妹子嘤”,但又想知道有没有更华丽的中文表达,同样是一键即可得。

怎么样,够方便不?

是不是有点“妈妈再也不用担心我词穷”内味儿了(手动狗头)。

来自清华的“反向词典”

这个神器名叫WantWords,反向词典

背后的AI,来头不小:诞生自清华大学自然语言处理与社会人文计算实验室,项目指导教师为孙茂松教授和刘知远副教授。

所谓“反向”,就是和常规词典不同,不是按词寻义,而是反过来给词典一段描述,让它来帮你找词。

作者在GitHub中介绍,他们希望反向词典起到三种作用:

解决话到嘴边,却忽然想不起来怎么说的“舌尖现象”
帮助新语言学习者
帮助无法选择单词的失读症患者

这个反向词典背后的核心AI,名为多通道逆向词典模型,相关论文还中选过AAAI 2020。

具体而言,多通道逆向词典模型采用了双向LSTM(BiLSTM)和注意力作为基本框架,并在其中加入了4个特定特征预测器。

采用多个预测器来识别输入查询中目标词的不同特征,一方面,能使嵌入质量较差的目标词通过特征被挑选出来。

另一方面,也可以过滤掉与正确目标词有接近嵌入、但存在矛盾特征的词。

也就是说,AI选词能更精准。

而为了让AI更容易找到真正“正确”的词,除了词性、词素这两个词语的“内部特征”外,作者还考虑了层次体系义原这两个“外部特征”。

所谓层次体系,是用来区分一个词是实体还是概念,实体下面又会分出各种各样的实体。

义原在语言学中则是指最小的不可再分的语义单位。语言学家认为义原体系在任何语言中都适用,不与特定语言相关。

举个例子,“男孩”这个词可以由“人类”、“男性”、“儿童”这个三个义原表示,“女孩”则可以由“人类”、“女性”、“儿童”的组合来表达。

图源:HowNet

新算法已测试,相关新系统开发中

前文提到,WantWords反向词典最早诞生于清华NLP实验室,主要由岂凡超和张磊在2019年合作完成。

在与果壳交流时岂凡超谈到,刚开始,他们并没有对这个项目进行推广,只是身边的同学使用后反馈还不错。

直到去年11月,这个项目突然火爆,一时之间访问量暴增,把服务器都给挤垮了。

自此之后,WantWords开始受到更多关注,也收获了不少建议和来自志愿者的技术支持。

不仅有了网页版,微信小程序也已正式上线,还有APP版正在开发中。

微信小程序“WantWords”

根据研发团队的最新公告,今年除夕之前,反向查词还测试完成了新算法,其性能相较于原有算法有显著提高。

而在反向词典之外,研究团队还开发“名言名句语义检索及推荐系统”,以及“汉语词语搭配查询系统”。

目前这两个系统尚未对外开放,感兴趣的小伙伴可以边读论文(文末奉上),边蹲一波。

对了,研发团队还表示,WantWords作为一个开源项目,随时欢迎大家加入,参与设计&开发、提出需求、反馈问题。感兴趣的话就去官网戳戳公告吧~

相关论文:
https://arxiv.org/abs/1912.08441
https://arxiv.org/abs/2202.13145

参考链接:
[1]官网:https://wantwords.net/
[2]果壳文章:https://mp.weixin.qq.com/s/er-JwST7dUQjMh6VzBE1bA
[3]https://deeplang.feishu.cn/docs/doccnoH9ncCZspo2Ubx79bpZ0Lh#ijyigh

创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖

以上是关于快别「一句wòcào行天下」,清华开源了个神器专治词穷!的主要内容,如果未能解决你的问题,请参考以下文章

“听我说谢谢你”还能用古诗来说?清华搞了个“据意查句”神器,一键搜索你想要的名言警句...

90后程序员开发“AI吵架神器”,专治女朋友各种不服!蚂蚁金服启动分布式中间件开源计划;MongoDB 3.7.5发布

干掉「卧槽」,就用她了!

三叠字

写带有代码博客的小技巧

UTF-8、CString 和 CFile? (C++,MFC)