这里是 WEN(Word Embedding News)|词嵌入新鲜事。
作为起步,它将基于 Sebastian Ruder NLP News 的每月筛选,聚焦词嵌入领域。对涉及内容在个人阅读后的基础上进行总结、评论。不简单复制,力求做到小而精。
关于作者:张正,坐标巴黎,上班NLP,下班词嵌入。
本期关注 word embedding 在 COVID-19 中的应用:
机器翻译:如何将“Wash your hands”翻译成 500 多种语言
问答系统:多语言 COVID-19 智能问答助手
预训练模型:基于 COVID-Bert 的又一个智能问答助手
COVID-QA 关系抽取:基于 CORD-19 (COVID-19 Open Research Dataset) 数据集的无监督关系嵌入(relation embeddings)训练
关键词:cross-lingual word embeddings,机器翻译,MUSE
原文链接:https://datadan.io/blog/wash-your-hands
不要以为 Google Translate 已经解决所有问题了,稀有语种一直是令 NLP 头疼的大问题。世界上现存 7117 种语言,而 Google Translate 仅能覆盖常见的约 100 种语言。而 COVID-19 是无国界、不分语言的,因此把“Wash your hands”翻译成 500 多种语言,在我看来是小问题、大贡献。
语料库是跨语言词嵌入训练中第一个需要考虑的问题。对于训练,通常来说平行语料库好于可比语料库好于相互独立的单语语料库。当然,它们的获取难度是越来越小的。要应付 500 多种语言,意味着绝大多数只能是各自的单语语料库。这样的前提又会造成监督信息获取的困难,因此作者选择无监督学习的解决方案。
跨语言词嵌入无监督学习,第一个应当想到什么?对,MUSE [1](又是 Facebook,他们在跨语言词嵌入方面是真的强)。
回归到“wash your hands”这个具体问题,它是一个 phrase 不是一个单词,因此下一个棘手问题就是怎么找到这个 phrase 的对应。作者决定除了找“wash your hands”本身,还找它的组成部分如“wash your”和“your hands”等。在 MUSE 训练(映射)后的目标语言 embeddings 空间中找离这些词组位置最近的 n-grams 作为它们的翻译。注意!是 n-grams 而不是单词,因为作者的假设是,phrase 的翻译一般还是个 phrase。
最后一步就是组合出“wash your hands”的正确翻译,比如通过上一步找寻,在目标语言中找到了“wash your feet”的对应 n-gram,那这里就需要再次利用跨语言词嵌入,找出“feet”的对应翻译并作替换。
效果评价
毕竟有 500 多种语言,很难去说翻译是否完全正确、地道。对于 Google Translate 支持的语言,可以反翻译回英语做对比。其他语言至少可以借助词典看关键词是否翻对。毕竟人对语言的理解是基于 context 的,在实际应用中,大致翻出来总比没有好。
[1] https://github.com/facebookresearch/MUSE
关键词:多语言,问答系统
原文链接:https://blog.ml6.eu/how-ml6-built-a-multilingual-covid-19-assistant-powered-by-nlp-9c75bc4ea0c1
仅用 3 天就做成的支持 16 种语言的线上问答系统:
https://corona.ml6.eu
信息源
毕竟是事关 COVID-19 的问答系统,信息源的选择非常重要,这样才能从根本上杜绝假新闻。下一步,爬内容,作者选择 scrapy [1] 从可靠信息源的 FAQs 爬取了约 500 个问答对。
如果是简单的基于关键词的搜索,作者推荐用 elasticsearch [2]。不过这样就没什么 word embedding 什么事了,为了让搜索更宽泛(基于语义),作者决定训练 embedding。
毕竟是 2020 年,别再什么 word2vec 了,直接基于上下文的词嵌入;再想想又是问答系统,直接训练句嵌入好了。因此,作者选择 Google 的 The Universal Sentence Encoder [3]。
正好上述模型支持 16 种语言,那就顺带支持多语言搜索好了。反正都在一个跨语言嵌入空间里。模型什么的直接用 TF Hub [4] 上现成的,一行搞定。
因为应用场景是用户提问题,因此句嵌入空间只需要计算所有问题的句子的就行了。当用户输入问题时,只需要在句嵌入空间中找到最接近的句子,返回相应答案。
因为只有约 500 句,因此计算相似度直接遍历并计算就行了,如果 embeddings 多,作者推荐可以用:
faiss [5](来自Facebook)
annoy [6](来自Spotify)
elastic [7]
工程方面我了解有限,先列出来,以后多学习。
API 基于 Zalando 的 connexion [8] 框架。
部署到 Google Cloud Platform(GCP),因为就一个 container,所以选择 Cloud Run [9]。
用 Cloud Functions [10] 和 Cloud Scheduler [11] 每天早上自动更新问答库。
这个工作来自一家叫 ML6 的比利时 AI 公司,在欧洲多地有办公室。浏览了下公司网页觉得很酷,有种 Deepmind 等尚未被巨头收购,但已不是小 startup 的感觉,值得关注。
ML6公司官网:https://ml6.eu
[1] https://scrapy.org
[2] https://www.elastic.co/cn/
[3] https://research.google/pubs/pub46808/
[4] https://tfhub.dev
[5] https://github.com/facebookresearch/faiss
[6] https://github.com/spotify/annoy
[7] https://www.elastic.co/cn/
[8] https://github.com/zalando/connexion
[9] https://cloud.google.com/run
[10] https://cloud.google.com/functions
[11] https://cloud.google.com/scheduler
COVID-BERT 及 COVID-QA
这个时候肯定少不了 BERT 出一分力。
德国 startup deepset [1] 基于 COVID-19 相关文章 fine-tune 了一个 COVID-BERT 预训练模型,该模型在 HUGGING FACE [2] 的 Transformers 中可以直接用:
https://huggingface.co/deepset/covid_bert_base?utm_campaign=NLP%20News&utm_medium=email&utm_source=Revue%20newsletter
基于 COVID-BERT,作者搭建了 COVID-QA:
https://covid.deepset.ai/home
这是个非常标准的从 BERT 到 QA 系统的实例,想了解一整套代码的看这里:
https://github.com/deepset-ai/COVID-QA?utm_campaign=NLP%20News&utm_medium=email&utm_source=Revue%20newsletter#heart-how-you-can-help
[1] https://deepset.ai
[2] https://huggingface.co
CORD-19-SeVeN:基于CORD-19数据集的无监督关系嵌入训练
原文链接:https://github.com/luisespinosaanke/cord-19-seven?utm_campaign=NLP%20News&utm_medium=email&utm_source=Revue%20newsletter
关系嵌入对于医学相关的文本分析、应用尤其重要,比如可以提取(症状,药品)等关系。
此工作基于 COVID-19 研究的数据集 CORD-19 [1] 训练关系嵌入。
虽然词嵌入空间中,词与词的语义关系也可以被其相对空间位置表示,但并不是每种关系都在空间中井然有序的:
SeVeN(Semantic Vector Networks)通过词对的来建立关系嵌入的模型。该模型来自 COLING 2018 的文章 SeVeN: Augmenting Word Embeddings with Unsupervised Relation Vectors [2]。
(这篇文章可能会对无监督的“文本 -> 词嵌入 -> 知识网络”的思路有些启发,因此将会在词嵌入杂谈专栏中做单独介绍。)嫌读论文累的可以先看作者的 Blog:
https://medium.com/voice-tech-podcast/seven-semantic-vector-networks-9b0329383a78
[1] https://www.semanticscholar.org/cord19
[2] https://www.aclweb.org/anthology/C18-1225.pdf
以上就是词嵌入新鲜事的第一期。祝大家身体健康!力所能及的前提下用 NLP 让世界多美好一点点。
Stay Hungry. Stay Foolish.
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
???? 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
???? 投稿邮箱:
• 投稿邮箱:[email protected]
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
????
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。