查看原文
其他

Word Embedding News | 词嵌入新鲜事:COVID-19特刊

张正 PaperWeekly 2022-03-17


这里是 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)训练




如何将“Wash your hands”翻译成500多种语言


关键词: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




多语言 COVID-19 问答助手


关键词:多语言,问答系统
原文链接: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公司


这个工作来自一家叫 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 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存