• 回答数

    4

  • 浏览数

    119

笑笑之笑0
首页 > 医学论文 > 医学论文自然语言处理

4个回答 默认排序
  • 默认排序
  • 按时间排序

乖乖小猫侠

已采纳

title: 自然语言处理综述 date: 2021-11-18 11:03:11 自然语言是指人类日常使用的语言,比如:中文、英语、日语等。自然语言灵活多变,是人类社会的重要组成部分,但它却不能被计算机很好地理解。为了实现用自然语言在人与计算机之间进行沟通,自然语言处理诞生了。自然语言处理(Natural Language Processing, NLP)是一个融合了语言学、计算机科学、数学等学科的领域,它不仅研究语言学,更研究如何让计算机处理这些语言。它主要分为两大方向:自然语言理解(Natural language Understanding, NLU)和自然语言生成(Natural language Generation, NLG),前者是听读,后者是说写。 本文将从自然语言处理的历史与发展讲起,进而分析目前深度学习在自然语言处理领域的研究进展,最后讨论自然语言处理的未来发展方向。 1950年,计算机科学之父图灵提出了“图灵测试”,标志着人工智能领域的开端。而此时,正值苏美冷战,美国政府为了更方便地破译苏联相关文件,大力投入机器翻译的研究,自然语言处理从此兴起。从这之后的一段时期内,自然语言处理主要采用基于规则的方法,这种方法依赖于语言学,它通过分析词法、语法等信息,总结这些信息之间的规则,从而达到翻译的效果。这种类似于专家系统的方法,泛化性差、不便于优化,最终进展缓慢,未能达到预期效果。 到了20世纪80、90年代,互联网飞速发展,计算机硬件也有了显著提升。同时,自然语言处理引入了统计机器学习算法,基于规则的方法逐渐被基于统计的方法所取代。在这一阶段,自然语言处理取得了实质性突破,并走向了实际应用。 而从2008年左右开始,随着深度学习神经网络在图像处理、语音识别等领域取得了显著的成果,它也开始被应用到自然语言处理领域。从最开始的词嵌入、word2vec,到RNN、GRU、LSTM等神经网络模型,再到最近的注意力机制、预训练语言模型等等。伴随着深度学习的加持,自然语言处理也迎来了突飞猛进。 接下来,我将介绍自然语言处理与深度学习结合后的相关进展。 在自然语言中,词是最基本的单元。为了让计算机理解并处理自然语言,我们首先就要对词进行编码。由于自然语言中词的数量是有限的,那就可以对每个词指定一个唯一序号,比如:英文单词word的序号可以是1156。而为了方便计算,通常会将序号转换成统一的向量。简单做法是对单词序号进行one-hot编码,每个单词都对应一个长度为N(单词总数)的向量(一维数组),向量中只有该单词序号对应位置的元素值为1,其它都为0。 虽然使用one-hot编码构造词向量十分容易,但并不是一个较好的方法。主要原因是无法很好地表示词的语义,比如苹果和橘子是相似单词(都是水果),但one-hot向量就无法体现这种相似关系。 为了解决上述问题,Google的Mikolov等人于2013年发表了两篇与word2vec相关的原始论文[1][2]。word2vec将词表示成一个定长的向量,并通过上下文学习词的语义信息,使得这些向量能表达词特征、词之间关系等语义信息。word2vec包含两个模型:跳字模型(Skip-gram)[1] 和连续词袋模型(continuous bag of words,CBOW)[2],它们的作用分别是:通过某个中心词预测上下文、通过上下文预测某个中心词。比如,有一句话"I drink apple juice",Skip-gram模型是用apple预测其它词,CBOW模型则是用其它词预测出apple。 首先介绍CBOW模型,它是一个三层神经网络,通过上下文预测中心词。以某个训练数据"I drink apple juice"为例,可以把apple作为标签值先剔除,将"I drink juice"作为输入,apple作为待预测的中心词。 Skip-gram模型与CBOW类似,也是一个三层神经网络模型。不同在于,它是通过中心词预测上下文,即通过"apple"预测出"I drink juice"。接下来简单介绍Skip-gram模型中各层: 两种模型训练结束后,会取 作为词向量矩阵,第i行就代表词库中第i个词的词向量。词向量可用来计算词之间的相似度(词向量点乘)。比如,输入 I drink _ juice 上下文,预测出中心词为apple、orange的概率可能都很高,原因就是在 中apple和orange对应的词向量十分相似,即相似度高。词向量还可以用于机器翻译、命名实体识别、关系抽取等等。 其实这两种模型的原型在2003年就已出现[3],而Mikolov在13年的论文中主要是简化了模型,且提出了负采样与层序softmax方法,使得训练更加高效。 词向量提出的同时,深度学习RNN框架也被应用到NLP中,并结合词向量取得了巨大成效。但是,RNN网络也存在一些问题,比如:难以并行化、难以建立长距离和层级化的依赖关系。而这些问题都在2017年发表的论文《Attention Is All You Need》[4]中得到有效解决。正是在这篇论文中,提出了Transformer模型。Transformer中抛弃了传统的复杂的CNN和RNN,整个网络结构完全由注意力机制组成。 Transformer最核心的内容是自注意力机制(Self-Attention),它是注意力机制(Attention)的变体。注意力的作用是从大量信息中筛选出少量重要信息,并聚焦在这些信息上,比如:人在看一幅图像时,会重点关注较为吸引的部分,而忽略其它信息,这就是注意力的体现。但注意力机制会关注全局信息,即关注输入数据与输出数据以及中间产物的相关性。而自注意力机制则减少了对外部其它数据的关注,只关注输入数据本身,更擅长捕捉数据内部的相关性。 自注意力机制的算法过程如下: 自注意力机制不仅建立了输入数据中词与词之间的关系,还能并行地高效地计算出每个词的输出。 Transformer的总体架构如下: 它分为两部分:编码器(Encoder)和解码器(Decoder)。 编码器的输入是词向量加上位置编码(表明这个词是在哪个位置),再通过多头自注意力操作(Multi-Head Attention)、全连接网络(Feed Forward)两部分得到输出。其中,多头自注意力就是输入的每个词对应多组q、k、v,每组之间互不影响,最终每个词产生多个输出b值,组成一个向量。编码器是transformer的核心,它通常会有多层,前一层的输出会作为下一层的输入,最后一层的输出会作为解码器的一部分输入。 解码器包含两个不同的多头自注意力操作(Masked Multi-Head Attention和Multi-Head Attention)、全连接网络(Feed Forward)三部分。解码器会运行多次,每次只输出一个单词,直到输出完整的目标文本。已输出的部分会组合起来,作为下一次解码器的输入。其中,Masked Multi-Head Attention是将输入中未得到的部分遮掩起来,再进行多头自注意力操作。比如原有5个输入,但某次只有2个输入,那么q1和q2只会与k1、k2相乘,。 如果深度学习的应用,让NLP有了第一次飞跃。那预训练模型的出现,让NLP有了第二次的飞跃。预训练通过自监督学习(不需要标注)从大规模语料数据中学习出一个强大的语言模型,再通过微调迁移到具体任务,最终达成显著效果。 预训练模型的优势如下: 预训练模型的关键技术有三个: 关于预训练模型的架构,以Bert为例:输入是词的one-hot编码向量,乘上词向量矩阵后,再经过多层transformer中的Encoder模块,最终得到输出。 本文介绍了NLP领域的流行研究进展,其中transformer和预训练模型的出现,具有划时代的意义。但随着预训练模型越来越庞大,也将触及硬件瓶颈。另外,NLP在一些阅读理解、文本推理等任务上的表示,也差强人意。总而言之,NLP领域依旧存在着巨大的前景与挑战,仍然需要大家的长期努力。 [1]Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., & Dean, J. (2013). Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems (pp. 3111-3119). [2]Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of word representations in vector space. arXiv preprint arXiv:. [3]Yoshua Bengio, R´ejean Ducharme, Pascal Vincent, and Christian Janvin. A neural probabilistic language model. The Journal of Machine Learning Research, 3:1137–1155, 2003. [4]Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008. [5]Peters M E, Neumann M, Iyyer M, et al. Deep contextualized word representations[J]. arXiv preprint arXiv:, 2018. [6]Radford A, Narasimhan K, Salimans T, et al. Improving language understanding by generative pre-training[J]. 2018. [7]Devlin J, Chang M W, Lee K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint arXiv:, 2018. [8]Houlsby N, Giurgiu A, Jastrzebski S, et al. Parameter-efficient transfer learning for NLP[C]//International Conference on Machine Learning. PMLR, 2019: 2790-2799.

273 评论

黑白配late

语言是人类区别其他动物的本质特性。在所有生物中,只有人类才具有语言能力。人类的多种智能都与语言有着密切的关系。人类的逻辑思维以语言为形式,人类的绝大部分知识也是以语言文字的形式记载和流传下来的。因而,它也是人工智能的一个重要,甚至核心部分。用自然语言与计算机进行通信,这是人们长期以来所追求的。因为它既有明显的实际意义,同时也有重要的理论意义:人们可以用自己最习惯的语言来使用计算机,而无需再花大量的时间和精力去学习不很自然和习惯的各种计算机语言;人们也可通过它进一步了解人类的语言能力和智能的机制。实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,也能以自然语言文本来表达给定的意图、思想等。前者称为自然语言理解,后者称为自然语言生成。因此,自然语言处理大体包括了自然语言理解和自然语言生成两个部分。历史上对自然语言理解研究得较多,而对自然语言生成研究得较少。但这种状况已有所改变。无论实现自然语言理解,还是自然语言生成,都远不如人们原来想象的那么简单,而是十分困难的。从现有的理论和技术现状看,通用的、高质量的自然语言处理系统,仍然是较长期的努力目标,但是针对一定应用,具有相当自然语言处理能力的实用系统已经出现,有些已商品化,甚至开始产业化。典型的例子有:多语种数据库和专家系统的自然语言接口、各种机器翻译系统、全文信息检索系统、自动文摘系统等。自然语言处理,即实现人机间自然语言通信,或实现自然语言理解和自然语言生成是十分困难的。造成困难的根本原因是自然语言文本和对话的各个层次上广泛存在的各种各样的歧义性或多义性(ambiguity)。一个中文文本从形式上看是由汉字(包括标点符号等)组成的一个字符串。由字可组成词,由词可组成词组,由词组可组成句子,进而由一些句子组成段、节、章、篇。无论在上述的各种层次:字(符)、词、词组、句子、段,……还是在下一层次向上一层次转变中都存在着歧义和多义现象,即形式上一样的一段字符串,在不同的场景或不同的语境下,可以理解成不同的词串、词组串等,并有不同的意义。一般情况下,它们中的大多数都是可以根据相应的语境和场景的规定而得到解决的。也就是说,从总体上说,并不存在歧义。这也就是我们平时并不感到自然语言歧义,和能用自然语言进行正确交流的原因。但是一方面,我们也看到,为了消解歧义,是需要极其大量的知识和进行推理的。如何将这些知识较完整地加以收集和整理出来;又如何找到合适的形式,将它们存入计算机系统中去;以及如何有效地利用它们来消除歧义,都是工作量极大且十分困难的工作。这不是少数人短时期内可以完成的,还有待长期的、系统的工作。以上说的是,一个中文文本或一个汉字(含标点符号等)串可能有多个含义。它是自然语言理解中的主要困难和障碍。反过来,一个相同或相近的意义同样可以用多个中文文本或多个汉字串来表示。因此,自然语言的形式(字符串)与其意义之间是一种多对多的关系。其实这也正是自然语言的魅力所在。但从计算机处理的角度看,我们必须消除歧义,而且有人认为它正是自然语言理解中的中心问题,即要把带有潜在歧义的自然语言输入转换成某种无歧义的计算机内部表示。歧义现象的广泛存在使得消除它们需要大量的知识和推理,这就给基于语言学的方法、基于知识的方法带来了巨大的困难,因而以这些方法为主流的自然语言处理研究几十年来一方面在理论和方法方面取得了很多成就,但在能处理大规模真实文本的系统研制方面,成绩并不显著。研制的一些系统大多数是小规模的、研究性的演示系统。目前存在的问题有两个方面:一方面,迄今为止的语法都限于分析一个孤立的句子,上下文关系和谈话环境对本句的约束和影响还缺乏系统的研究,因此分析歧义、词语省略、代词所指、同一句话在不同场合或由不同的人说出来所具有的不同含义等问题,尚无明确规律可循,需要加强语用学的研究才能逐步解决。另一方面,人理解一个句子不是单凭语法,还运用了大量的有关知识,包括生活知识和专门知识,这些知识无法全部贮存在计算机里。因此一个书面理解系统只能建立在有限的词汇、句型和特定的主题范围内;计算机的贮存量和运转速度大大提高之后,才有可能适当扩大范围.以上存在的问题成为自然语言理解在机器翻译应用中的主要难题,这也就是当今机器翻译系统的译文质量离理想目标仍相差甚远的原因之一;而译文质量是机译系统成败的关键。中国数学家、语言学家周海中教授曾在经典论文《机器翻译五十年》中指出:要提高机译的质量,首先要解决的是语言本身问题而不是程序设计问题;单靠若干程序来做机译系统,肯定是无法提高机译质量的;另外在人类尚未明了大脑是如何进行语言的模糊识别和逻辑判断的情况下,机译要想达到“信、达、雅”的程度是不可能的。

265 评论

小树旁的小树

让AI技术与基础医学理论结合,成为AI用于临床 探索 的新思路。目前这一新思路已被证实确有更大潜力——

最近,由广州市妇女儿童医疗中心教授夏慧敏和加州大学圣地亚哥分校教授张康领衔、人工智能公司依图 科技 等共同参与的科研团队设计出一套基于AI的疾病诊断系统,就将医学知识图谱加入其中,使AI可以像人类医生一样根据读取的电子病历来“诊病”。

结果也颇为乐观:用纳入系统的55种常见儿科疾病和部分危急重症作测试,AI的诊断水平可达到儿科主治医生的专业水准。

目前,这一研究成果《使用人工智能评估和准确诊断儿科疾病》已于2月中旬在线发表于《自然—医学》杂志。

将深度学习技术与专业医学知识图谱进行结合,是该人工智能辅诊平台的最大特色。依图医疗总裁倪浩在接受笔者采访时说,未来对临床数据进行学习、为医生提供更多的辅助诊断能力(病种),采用深度学习+知识图谱的方式“很可行”。

为了使AI辅诊平台拥有专业的儿科医学知识,科研团队让它学习了万名儿童136万份电子文本病历中的诊断逻辑。这些来自广州市妇女儿童医疗中心2016年1月至2017年7月间的电子病历,覆盖了初始诊断包括儿科55种病例学中常见疾病的亿个数据点。

除了将医疗知识进行整合,科研团队还利用依图 科技 的自然语言处理(NLP)技术构建了一个自然语言处理模型,以对这些电子病历进行注释——通过将病历变得标准化,该模型在未经过“培训”的情况下可以粗略地将临床信息进行分类。

“粗略分类是指,将整个电子病历当作输入,将专家诊断结果作为输出,以达到粗略的分类。但这样并没有真正理解疾病本身,也很难解释为何做出了这个诊断。”倪浩告诉笔者, NLP模型虽然突破了病历文本语言和计算机语言之间的障碍,但知识图谱才是让AI诊断平台获取专家能力的关键 。

这也是他们接下来的一项重要工作:由30余位高级儿科医师和10余位信息学研究人员组成的专家团队,手动给电子病历上的6183张图表进行注释、持续检验和迭代,以保证诊断的准确性。

通过资深医疗专家注释的图表对AI诊断平台进行“培训优化验证”后,研究人员发现,经过深度学习的NLP模型可以对电子病历进行很好的注释,在体检和主诉项目的注释上分别达到最高灵敏度和精确度。也就是说, 深度学习的NLP模型能够准确地读取电子病历中记录的信息,并可以准确作出符合临床标准的批注。而这也是整个研究中最为关键的部分。

“通过引入知识图谱将每种疾病的电子病历深入解构,使得NLP模型具备了理解电子病历的能力。例如手足口病与哪些特征密切相关,川崎病最相关的特征是什么,让模型在给出准确诊断的基础上,能够具备更好的医学可解释性。”倪浩解释说,“有了知识图谱,再用深度学习技术来解构电子病历,就能够真正理解临床数据。基于此,机器学习分类等算法就有用武之地,否则把电子病历当成‘黑盒子’,是无法构建高精度可解释的模型的。”

综合利用深度学习技术与医学知识图谱对电子病历数据进行解构,研究人员据此构建了高质量的智能病种库,这使得后续可以较容易地利用智能病种库建立各种诊断模型。

构建一个多层级的诊断模型,是研究人员把AI诊断平台打造成为儿科医生的第二步。倪浩介绍说,这一基于逻辑回归分类器创建的诊断模型,首先会按呼吸系统疾病、胃肠道疾病、全身性疾病等几大系统分,然后在每一类下面做细分—— 这是让AI模拟人类医生的诊疗路径,对目标患儿的数据进行逐级判定 。

结果显示,基于NLP模型准确读取的数据,AI诊断模型能够对儿科疾病作出精确诊断: 平均准确率达90%,对神经精神失调疾病的诊断准确率更是高达98%。

在对相应儿科疾病的划分和诊断上,该诊断模型同样表现不俗。系统对上呼吸道疾病和下呼吸道疾病的诊断准确率分别为89%和87%。同时,该系统对普通系统性疾病以及高危病症也有很高的诊断准确率,例如传染性单核细胞增多症准确率为90%,水痘为93%,玫瑰疹93%,流感94%,手足口病为97%和细菌性脑膜炎为93%。

这揭示出,该诊断系统可以根据NLP系统注释的临床数据信息对常见儿科疾病作出较高准确度的判断。

研究人员随后运用11926个临床病例比较了AI诊断系统和5个临床治疗组诊断儿科疾病的水平,其中参与研究的治疗组从事临床工作时间和资历逐渐增加。结果显示, AI诊断系统反映模型综合性能的F1评分均值高于2个年轻医生组成的治疗组,但稍逊于3个高年资医生组成的治疗组。

论文认为,这说明该AI诊断系统可以协助年轻治疗团队进行疾病诊断,提升团队诊疗水平。

今年1月1日,该系统在广州市妇女儿童医疗中心投入临床应用。 仅1月1日至1月21日短短20天,该院医生实际调用它开展辅助诊断30276次,诊断与临床符合率达到。广州市妇儿中心医务部主任孙新在体验该系统后表示,这套系统在对疾病进行分组分类方面“比较科学”。

上述论文发表后,《纽约时报》点评这项研究称,“前后访问了儿科医院18个月中数十万名中国就医儿童的数据,能有这么庞大的数据量用于研究,也是中国在全球人工智能和竞赛中的优势。”

“数据确实是我们此次研究成果的核心关键之一。”倪浩说,“不过,高质量标准数据来源于强大的联合团队,我们专门开发了数据标准系统,进行了大量的数据标注。”

论文通讯作者之一、广州市妇女儿童医疗中心教授夏慧敏表示,这篇文章的启示意义在于“通过系统学习文本病历,AI或将诊断更多疾病”。不过他提醒道, 当下还须清醒认识到,仍有很多基础性工作要做扎实,比如高质量数据的集成便是一个长期的过程。

笔者了解到,该医院在近3年里注重将数据标准化、结构化处理,实现了50多个诊断数据子系统的相互交流和互联互通,为该系统应用打下了基础。

“此外,A I学习了海量数据后,其诊断结果的准确性仍然需要更大范围的数据对其进行验证和比对。 ”夏慧敏说。

AI技术落地的4元素之中,场景也非常重要。论文的另一位通讯作者张康认为,该研究以儿科疾病为对象意义重大。

“对儿科疾病的诊断是医疗中的一大痛点。一些儿科疾病威胁程度较大需要尽快得到治疗,而儿童恰恰不善于表达病情,因此快速、准确地对儿科疾病进行诊断非常必要。”张康表示,当前儿科医生供不应求,论文中构建的AI诊断系统对于严重不足的医疗资源会有很大的辅助作用。

相关论文信息:DOI:

278 评论

好运咪咪熊

什么是自然语言处理

自然语言处理 (英语:natural language processing,缩写作 NLP) 是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

自然语言处理有四大类常见的任务

什么是命名实体识别

命名实体识别(NER)是信息提取(Information Extraction)的一个子任务,主要涉及如何从文本中提取命名实体并将其分类至事先划定好的类别,如在招聘信息中提取具体招聘公司、岗位和工作地点的信息,并将其分别归纳至公司、岗位和地点的类别下。命名实体识别往往先将整句拆解为词语并对每个词语进行此行标注,根据习得的规则对词语进行判别。这项任务的关键在于对未知实体的识别。基于此,命名实体识别的主要思想在于根据现有实例的特征总结识别和分类规则。这些方法可以被分为有监督(supervised)、半监督(semi-supervised)和无监督(unsupervised)三类。有监督学习包括隐形马科夫模型(HMM)、决策树、最大熵模型(ME)、支持向量机(SVM)和条件随机场(CRF)。这些方法主要是读取注释语料库,记忆实例并进行学习,根据这些例子的特征生成针对某一种实例的识别规则。

什么是词性标注

词性标注 (pos tagging) 是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。

什么是文本分类

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

GLUE benchmark

General Language Understanding Evaluation benchmark,通用语言理解评估基准,用于测试模型在广泛自然语言理解任务中的鲁棒性。

LM:Language Model

语言模型,一串词序列的概率分布,通过概率模型来表示文本语义。 语言模型有什么作用?通过语言模型,可以量化地衡量一段文本存在的可能性。对于一段长度为n的文本,文本里每个单词都有上文预测该单词的过程,所有单词的概率乘积便可以用来评估文本。在实践中,如果文本很长,P(wi|context(wi))的估算会很困难,因此有了简化版:N元模型。在N元模型中,通过对当前词的前N个词进行计算来估算该词的条件概率。

重要文献与资料

我们介绍词的向量表征,也称为 word embedding 。词向量是自然语言处理中常见的一个操作,是搜索引擎、广告系统、推荐系统等互联网服务背后常见的基础技术。

在这些互联网服务里,我们经常要比较两个词或者两段文本之间的相关性。为了做这样的比较,我们往往先要把词表示成计算机适合处理的方式。最自然的方式恐怕莫过于向量空间模型(vector space model)。 在这种方式里,每个词被表示成一个实数向量(one-hot vector),其长度为字典大小,每个维度对应一个字典里的每个词,除了这个词对应维度上的值是1,其他元素都是0。

One-hot vector虽然自然,但是用处有限。比如,在互联网广告系统里,如果用户输入的query是“母亲节”,而有一个广告的关键词是“康乃馨”。虽然按照常理,我们知道这两个词之间是有联系的——母亲节通常应该送给母亲一束康乃馨;但是这两个词对应的one-hot vectors之间的距离度量,无论是欧氏距离还是余弦相似度(cosine similarity),由于其向量正交,都认为这两个词毫无相关性。 得出这种与我们相悖的结论的根本原因是:每个词本身的信息量都太小。所以,仅仅给定两个词,不足以让我们准确判别它们是否相关。要想精确计算相关性,我们还需要更多的信息——从大量数据里通过机器学习方法归纳出来的知识。

在机器学习领域里,各种“知识”被各种模型表示,词向量模型(word embedding model)就是其中的一类。通过词向量模型可将一个 one-hot vector映射到一个维度更低的实数向量(embedding vector),如embedding(母亲节)=[,−,...],embedding(康乃馨)=[,−,...]。在这个映射到的实数向量表示中,希望两个语义(或用法)上相似的词对应的词向量“更像”,这样如“母亲节”和“康乃馨”的对应词向量的余弦相似度就不再为零了。

词向量模型可以是概率模型、共生矩阵(co-occurrence matrix)模型或神经元网络模型。在用神经网络求词向量之前,传统做法是统计一个词语的共生矩阵X。 X是一个|V|×|V| 大小的矩阵,Xij表示在所有语料中,词汇表V(vocabulary)中第i个词和第j个词同时出现的词数,|V|为词汇表的大小。对X做矩阵分解(如奇异值分解),得到的U即视为所有词的词向量:

但这样的传统做法有很多问题:

基于神经网络的模型不需要计算和存储一个在全语料上统计产生的大表,而是通过学习语义信息得到词向量,因此能很好地解决以上问题。

神经网络

当词向量训练好后,我们可以用数据可视化算法t-SNE[ 4 ]画出词语特征在二维上的投影(如下图所示)。从图中可以看出,语义相关的词语(如a, the, these; big, huge)在投影上距离很近,语意无关的词(如say, business; decision, japan)在投影上的距离很远。

另一方面,我们知道两个向量的余弦值在[−1,1]的区间内:两个完全相同的向量余弦值为1, 两个相互垂直的向量之间余弦值为0,两个方向完全相反的向量余弦值为-1,即相关性和余弦值大小成正比。因此我们还可以计算两个词向量的余弦相似度。

模型概览

语言模型

在介绍词向量模型之前,我们先来引入一个概念:语言模型。 语言模型旨在为语句的联合概率函数P(w1,...,wT)建模, 其中wi表示句子中的第i个词。语言模型的目标是,希望模型对有意义的句子赋予大概率,对没意义的句子赋予小概率。 这样的模型可以应用于很多领域,如机器翻译、语音识别、信息检索、词性标注、手写识别等,它们都希望能得到一个连续序列的概率。 以信息检索为例,当你在搜索“how long is a football bame”时(bame是一个医学名词),搜索引擎会提示你是否希望搜索"how long is a football game", 这是因为根据语言模型计算出“how long is a football bame”的概率很低,而与bame近似的,可能引起错误的词中,game会使该句生成的概率最大。

对语言模型的目标概率P(w1,...,wT),如果假设文本中每个词都是相互独立的,则整句话的联合概率可以表示为其中所有词语条件概率的乘积,即:

然而我们知道语句中的每个词出现的概率都与其前面的词紧密相关, 所以实际上通常用条件概率表示语言模型:

N-gram neural model

在计算语言学中,n-gram是一种重要的文本表示方法,表示一个文本中连续的n个项。基于具体的应用场景,每一项可以是一个字母、单词或者音节。 n-gram模型也是统计语言模型中的一种重要方法,用n-gram训练语言模型时,一般用每个n-gram的历史n-1个词语组成的内容来预测第n个词。

Yoshua Bengio等科学家就于2003年在著名论文 Neural Probabilistic Language Models [ 1 ] 中介绍如何学习一个神经元网络表示的词向量模型。文中的神经概率语言模型(Neural Network Language Model,NNLM)通过一个线性映射和一个非线性隐层连接,同时学习了语言模型和词向量,即通过学习大量语料得到词语的向量表达,通过这些向量得到整个句子的概率。因所有的词语都用一个低维向量来表示,用这种方法学习语言模型可以克服维度灾难(curse of dimensionality)。注意:由于“神经概率语言模型”说法较为泛泛,我们在这里不用其NNLM的本名,考虑到其具体做法,本文中称该模型为N-gram neural model。

在上文中已经讲到用条件概率建模语言模型,即一句话中第t个词的概率和该句话的前t−1个词相关。可实际上越远的词语其实对该词的影响越小,那么如果考虑一个n-gram, 每个词都只受其前面n-1个词的影响,则有:

给定一些真实语料,这些语料中都是有意义的句子,N-gram模型的优化目标则是最大化目标函数:

其中f(wt,wt−1,...,wt−n+1)表示根据历史n-1个词得到当前词wt的条件概率,R(θ)表示参数正则项。

Continuous Bag-of-Words model(CBOW)

CBOW模型通过一个词的上下文(各N个词)预测当前词。当N=2时,模型如下图所示:

具体来说,不考虑上下文的词语输入顺序,CBOW是用上下文词语的词向量的均值来预测当前词。

其中xt为第t个词的词向量,分类分数(score)向量 z=U∗context,最终的分类y采用softmax,损失函数采用多类分类交叉熵。

Skip-gram model

CBOW的好处是对上下文词语的分布在词向量上进行了平滑,去掉了噪声,因此在小数据集上很有效。而Skip-gram的方法中,用一个词预测其上下文,得到了当前词上下文的很多样本,因此可用于更大的数据集。

如上图所示,Skip-gram模型的具体做法是,将一个词的词向量映射到2n个词的词向量(2n表示当前输入词的前后各n个词),然后分别通过softmax得到这2n个词的分类损失值之和。

我们介绍了词向量、语言模型和词向量的关系、以及如何通过训练神经网络模型获得词向量。在信息检索中,我们可以根据向量间的余弦夹角,来判断query和文档关键词这二者间的相关性。在句法分析和语义分析中,训练好的词向量可以用来初始化模型,以得到更好的效果。在文档分类中,有了词向量之后,可以用聚类的方法将文档中同义词进行分组,也可以用 N-gram 来预测下一个词。希望大家在本章后能够自行运用词向量进行相关领域的研究。

参考:

341 评论

相关问答

  • 医学论文自然语言处理

    title: 自然语言处理综述 date: 2021-11-18 11:03:11 自然语言是指人类日常使用的语言,比如:中文、英语、日语等。自然语言灵

    笑笑之笑0 4人参与回答 2023-12-11
  • cnbc自然医学论文

    [1]黄玮俊 李彩霞 拉布 周雁 黎培兴 胡彬 普布卓玛 格桑卓嘎 方积乾 王一鸣.藏族人群15号染色体中心粒区域基因的高精度连锁不平衡和单体型图谱及其与汉族人

    Summer若然霜寒 4人参与回答 2023-12-08
  • 自然医学杂志自闭症

    自闭症又称孤独症或孤独性障碍,是广泛性发育障碍。目前自闭症主要有四种分型,但是没有严重程度的区分:1、社会交流障碍型自闭症:一般表现为缺乏与他人的交流或交流技巧

    AstrophelandStella 8人参与回答 2023-12-05
  • 医学论文统计学处理教程r语言

    数据准备 统计概念学习。 (1)当观测值为奇数时,(n+1)/2位置的观测值即为中位数。 (2)当观测值个数为偶数时,n/2和n/2 + 1位置的两个观测值的平

    全力羽羽 2人参与回答 2023-12-10
  • 自然医学论文

    美国大部分人都阳过了,甚至不止一次。即使是服用新冠药物帕洛维的Paxlovid,美国总统拜登和夫人吉尔、美国抗疫队长福奇、美国疾控中心主任瓦伦斯基都出现了复阳。

    离风携妻同行 4人参与回答 2023-12-08