自然语言处理 (NLP) 的 8 个常见示例
我们通常不会思考我们自己的语言的复杂性。语言是借助语义线索(如文字、符号或图像)传递信息和含义的一种直观行为。据说青少年时期学习语言更容易,习得方式也更自然,因为语言是可重复的、经过训练的行为,与走路很像。语言不遵循一套严格的规则,有许多例外,如“I通常在E之前,但在C后时除外。”
对于人类来说很自然的内容对于计算机而言非常难,因为存在大量非结构化数据、缺乏正式规则以及缺少实际上下文或意图。因此,机器学习和人工智能(AI)获得越来越多的关注,并呈现出良好的发展势头,并且人们越来越依赖计算系统来通信和执行任务。随着AI越来越复杂,自然语言处理(NLP)也将随之变得复杂。虽然AI和NLP这两个术语可能会让人联想到未来机器人的场景,但我们的日常生活中已存在NLP发挥作用的基本示例。下面是一些突出示例。
电子邮件筛选器电子邮件筛选器是NLP最基础且最初的在线应用之一。最开始是垃圾邮件筛选器,可以发现指示垃圾邮件信息的某些字词或短语。但是筛选功能已经升级,就像NLP的早期改编一样。
NLP更加普及、更新颖的应用之一是Gmail的电子邮件分类。系统根据电子邮件的内容识别电子邮件属于三个类别中的哪一个(主要、社交或促销)。对于所有Gmail用户而言,此功能使收件箱保持可管理的大小,您可以快速查看和回复相关的重要电子邮件。
智能助手智能助手(例如Apple的Siri和Amazon的Alexa)可借助语音识别来识别语音模式,然后推断含义并提供有用的回复。我们已经习惯于说“你好Siri”,然后提出问题,她会明白我们所说的话并根据语境做出相应的回答。当我们与Siri或Alexa就恒温器、电灯开关、汽车等话题进行对话时,我们已经习惯它们出现在我们的家庭和日常生活中。
我们现在希望Alexa和Siri这样的助手在改善我们的生活和简化某些活动(如订购商品)时可以理解上下文线索,甚至非常欣赏它们幽默的答复或对于关于它们自己问题的回答。随着这些助手更加了解我们,我们的交互也将变得更加个性化。如《纽约时报》的“为什么我们可能将在不久后生活在Alexa的世界”一文中所述:“重大事件正在酝酿之中。Alexa极有可能成为这十年来第三大使用者计算平台。”
搜索结果搜索引擎使用NLP根据类似的搜索行为或用户意图来显示相关结果,因此普通人无需成为搜索词专家即可找到所需的内容。
例如,Google不仅会在您开始键入文字时预测哪些热门搜索可能适用于您的查询,而且会基于全局(而不是确切的搜索词)来识别您所需的内容。有人可能会在Google中输入航班号后看到航班状态,可能在键入股票代码后看到股票信息,或者在输入数学公式时看到计算器。当您完成搜索时可能会看到这些变化,因为搜索中的NLP会将模糊查询与相关实体相关联,并提供有用的结果。
预测性文本自动更正、自动填写和预测性文本等功能在我们的智能手机上很常见,我们已经习以为常。自动填写和预测性文本类似于搜索引擎,因为它们都会根据您键入的内容预测要说的话,然后完成后面的内容或建议相关内容。自动更正有时甚至会更改字词,使整体信息更有意义。
它们也会向您学习。随着您使用的时间增加,预测性文本将根据您的个人语言习惯进行调整。这为有趣的实验创造了条件,每个人将分享其手机上完全由预测性文本组成的完整句子。结果出乎意料地富有个性和启发性;多家媒体机构甚至对此进行了重点报道。
语言翻译在做西班牙语家庭作业时作弊会出现一个明显特征,就是从语法上看语句是混乱的。许多语言不允许直译,并且句子结构顺序不同,这是翻译服务过去常常忽略的一点。但是,翻译服务已经取得了巨大进展。
借助NLP,在线翻译人员可以更加准确地翻译语言,并提供语法正确的结果。尝试与使用其他语言的人交流时,这非常有用。此外,从其他语言翻译为您自己的语言时,现在工具可根据输入的文本识别语言并翻译出来。
数字电话我们都听到过“此通话可能会被录音用于培训目的”这句话,但我们很少好奇这意味着什么。原来如果客户感到不满,这些录音可能会用于培训目的,但大多数时候,这些录音会进入数据库,供NLP系统学习并在将来做出改进。自动化系统将客户呼叫转至服务代表或在线聊天机器人,然后他们会针对客户请求回复有用信息。这种NLP实践已经被包括大型电信提供商在内的许多公司所采用。
NLP还可以使计算机生成的语言接近于人类的语音。可自动进行电话预约(如更换机油或理发),这个展示Google助手进行理发预约的视频便是一个证明例子。
数据分析随着越来越多的BI供应商向数据可视化提供自然语言接口,自然语言功能正在集成到数据分析工作流。例如,更智能的可视化编码,根据数据的语义为合适的任务提供最佳可视化。这为人们提供了更多机会,使他们能够利用自然语言语句或由几个关键词(可解释和赋予含义)组成的问题片段来探索他们的数据。
应用语言来调查数据不仅增强了可访问性级别,而且减少了跨组织分析的障碍,覆盖范围超越了预期的分析师和软件开发人员。
若要详细了解自然语言可以如何帮助您更好地可视化和探索数据,请观看此网络讲座。
文本分析文本分析使用不同的语言、统计和机器学习技术,将非结构化文本数据转换为有意义的数据以进行分析。
虽然情绪分析听上去对品牌而言很难(尤其是在拥有庞大客户群的情况下),但使用NLP的工具通常会搜索客户交互(例如社交媒体评论或评价,甚至是品牌名提及)以了解所述内容。分析这些交互有助于品牌确定营销活动的效果或监控热门客户问题,从而决定如何加强服务以提供更好的客户体验。
NLP促进文本分析的其他方法包括关键字提取以及在非结构化文本数据中查找结构或模式。
NLP在数字时代有广泛应用,这一列表将随着更多企业和行业在接受和发现NLP的价值后而不断扩充。在更复杂的沟通问题上,虽然人类的参与很重要,但NLP将通过技术创新先管理和自动执行较小的任务,再管理和自动执行复杂的任务,从而改善我们的生活。
自然语言处理
自然语言处理CSDN-Ada助手:恭喜您写了第8篇博客!自然语言处理是一个充满挑战和机遇的领域,您的文章让我更深入地了解了这个领域的一些基本概念和技术。我认为下一步您可以尝试结合实际案例,更加深入地探讨自然语言处理在实践中的应用,这样可以让读者更好地理解和应用相关技术。期待您的后续文章!CSDN会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply8看奖励名单。
中文LLMCSDN-Ada助手:恭喜你写了第7篇博客,看到你一直保持创作的热情,真是令人钦佩。对于中文LLM这个话题,你的文章写得很不错。不过,我认为你可以进一步探讨一下中文LLM的实际应用,以及如果想要成功地完成这个学位,需要具备哪些技能和素质。希望你能够继续努力,为我们带来更多有价值的内容。CSDN会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply7看奖励名单。
算法与数据结构CSDN-Ada助手:非常感谢您的分享,恭喜您又写了一篇非常有意义的博客。您对算法与数据结构的深入探讨,为读者提供了非常有价值的知识和思路。接下来,建议您可以从实际应用的角度,结合具体案例,进一步深入探究算法与数据结构的优化和应用。期待您的更多精彩作品!CSDN会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply6看奖励名单。
LeetCode刷题记录CSDN-Ada助手:恭喜你能够坚持记录自己的LeetCode刷题历程,并分享给大家。不仅可以帮助自己进步,也能够帮助到其他的学习者。希望你能够继续保持这份热情,不断挑战自己,分享自己的学习心得。建议你可以将自己的思路、代码和解题思路分享给大家,这不仅可以帮助自己巩固知识,也能够帮助他人更好地理解题目。期待你的下一篇博客!CSDN会根据你创作的前四篇博客的质量,给予优秀的博主博客红包奖励。请关注https://bbs.csdn.net/forums/csdnnews?typeId=116148看奖励名单。
自然语言处理 Paddle NLP
基础自然语言处理(NLP)自然语言处理PaddleNLP-词向量应用展示自然语言处理(NLP)-前预训练时代的自监督学习自然语言处理PaddleNLP-预训练语言模型及应用自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram)自然语言处理PaddleNLP-词法分析技术及其应用自然语言处理PaddleNLP-快递单信息抽取理解自然语言处理PaddleNLP-信息抽取技术及应用自然语言处理PaddleNLP-基于预训练模型完成实体关系抽取--实践自然语言处理PaddleNLP-情感分析技术及应用-理论自然语言处理PaddleNLP-情感分析技术及应用SKEP-实践问答自然语言处理PaddleNLP-检索式文本问答-理论自然语言处理PaddleNLP-结构化数据问答-理论翻译自然语言处理PaddleNLP-文本翻译技术及应用-理论自然语言处理PaddleNLP-机器同传技术及应用-理论对话自然语言处理PaddleNLP-任务式对话系统-理论自然语言处理PaddleNLP-开放域对话系统-理论产业实践自然语言处理PaddleNLP-预训练模型产业实践课-理论
问答系统(QuestionAnsweringSystem,QA)是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。其研究兴起的主要原因是人们对快速、准确地获取信息的需求。问答系统是人工智能.
抽取式阅读理解:它的答案一定是段落里的一个片段,所以在训练前,先要找到答案的起始位置和结束位置,模型只需要预测这两个位置,有点像序列标注的任务,对一段话里的每个字,都会预测两个值,预测是开始位置还是结尾位置的概率,相当于对每个字来讲,都是一个二分类的任务
机器阅读技术:2011年7月20日,姚明正式宣布退役=>姚明哪一年退役500万的维基百科文档检索式问答:先做段落检索、再做答案抽取
阅读理解:郭鹤年=>郭鹤,3个字里面对了2个=>2/3,完全匹配=>1,f1(2/3,1)=>0.8SQuAD(2016)只能做抽取,数据量是训练深度神经网络的关键要素,数据集有着很大的影响力很多精典的阅读理解模型,也是基于SQuAD做的DuReader(2017)百度2017年发布的,迄今为止最大的中文阅读理解数据集,相比较SQuAD,除了实体类、描述类和事实类的问题,还包含了是非类和观点类的问题
抽取式阅读理解,它的答案一定是段落里的一个片段,所以在训练前,先要找到答案的起始位置和结束位置,模型只需要预测这两个位置,有点像序列标注的任务,对一段话里的每个字,都会预测两个值,预测是开始位置还是结尾位置的概率,相当于对每个字来讲,都是一个二分类的任务基于LSTM+注意力机制,核心思想就是如何对问题和段落进行交互和语义理解,一般就是在模型里面加各种attention,各种复杂的模型结构基本上能总结成图中的形式,一般分为四层,
向量表示层:主要负责把问题和段落里的token映射成一个向量表示语义编码层:使用RNN来对问题和段落进行编码,编码后,每一个token的向量都包含了上下文的语义信息交互层:最重要的一层,也是大多数研究工作的一个重点,负责捕捉问题和段落之间的交互信息,把问题的向量,和段落的向量做各种交互,一般使用各种注意力机制。最后它会输出一个融合了问题的语义信息的段落表示。答案预测层:会在段落表示的基本上,预测答案的位置,也就是预测答案的开始位置和结尾位置LSTM是一个比较基本的模型结构注意力机制,来源于图像,在看一张图片的时候,就会聚焦到图片上的某些地方,通过图片上一些重点地方,获取到主要的信息。比如图片里是小狗,看到了狗的耳朵、鼻子就能判断出这是小狗。这时候注意力就集中在狗的脸部上。对于文本也一样,文本的问题和段落匹配过程中,也会聚焦到不同的词上面,比如:香格里拉酒店老板是谁?段落:香格里拉是香港上市公司品牌隶属于郭氏集团。对于问题香格里拉这个词,在段落文本中更关心香格里拉这个词,带着问题读本文时,所关注点是不一样的。如:老板这个词,关注力在隶属于上。如果问题是:香格里拉在哪里上市的,那么对于文本的关注点就在“上市公司”上了注意力机制,就是获取问题和段落文本交互信息的一个重要手段理论形式:给定了一个查询向量Query,以及一些带计算的值Value,通过计算查询向量跟Key的注意力分布,并把它附加在Value上面,计算出attention的值。
Query向量是问题,Value对应段落里面编码好的语义表示,key是问题向量和文本向量做内积之后做归一化,代表了每个词的权重最后对这些Value根据这些权重,做加权求和,最后得到了文本经过attention之后的值一般会事先定义一个候选库,也就是大规模语料的来源,然后从这个库里面检索,检索出一个段落后,再在这个段路上做匹配。基于预训练语言模型(eg.BERT)领导A训练好的模型,在领域B应用
通过多任务学习、迁移学习等提升模型的泛化能力MRQA2019SharedTask过稳定:对于不同的提问,给出相同的答案过敏感:对于相同语义的提问,给出不同的答案提高阅读模型鲁棒性的方法:
通过对抗样本生成、复述生成等方法提升模型的鲁棒性DuReader-Robust、DuReader-Checklist千言数据集:https://aistudio.baidu.com/aistudio/competition/detail/49段落检索稀疏向量检索:双塔
基于词的稀疏表示匹配能力有限,只能捕捉字面匹配不可学习把文本表示成onehot(拼写可能有错)的形式,常见的有TFDF、BM?文章编码成向量,向量的长度和词典的大小一致,比如词典的大小是3W,稀疏向量表示3W,每个位置表示这个词有没有在问题中出现过,出现过就是1
倒排索引,一般采用稀疏向量方式,只能做字面匹配
稀疏向量,几百、上千万的文档都支持
稠密向量检索:单塔
基于对偶模型结构,进行稠密向量表示能够建模语义匹配可学习的把文本表示成稠密向量,也就是Embedding,需要通过模型,对文本的语义信息进行建模,然后把信息记录在向量里,这边的向量长度,一般是128、256、768,相较于稀疏向量检索小很多,每个位置的数字是浮点数
一般通过对偶模型的结构进行训练,来获得建模的语义向量,例:Q:王思聪有几个女朋友P:国民老公的恋人A、B、C......如果通过稀疏向量检索,可能完全匹配不到稠密向量检索,可以学习到,国民老公=>王思聪,恋人=>女朋友两者可以互补,一个字面匹配,一个是语义匹配文本匹配中的两种模型结构
对偶式模型结构:问题、段落分别编码,得到各自的Embedding,然后通过内积或者cosin来计算向量之间的相似度,这个相似度代表了问题和段落之间的匹配程度问题和段落之间难以交互,因为他们是分别编码的。底层没有交互,所以逻辑会弱些可以快速索引,可以提前把段落向量这边计算好交互式模型结构:输入把问题和段落拼一起,在中间交互层问题的文本和段落的文本会有个完全的交互。最后输出一个来表示问题和段落的匹配程度对偶模型的参数可以共享,共享参数对字面匹配效果好些,不共享效果也差不了太多实际应用中,把所有的文档都计算完,把向量存储下来。在线计算时,直接去检索
DPR正例和强负例1:1,弱负例越多越好强负例:和文档有些关系弱负例:和文档内容不相关的。
一般做检索,不会把正例表得那么完整,在标注时,也是通过一个query,先去检索出一些候选的段落,在候选段落里,去标正例和负例,这样因为检索能力的限制,可能没有检索回来的一些段落就没有标注,这样会导致数据集中漏标,所以实际上在训练过程中会对这些漏标的数据集进行处理,有些数据集只标了正例,并没有负例,这时候负例只能通过一些方式去构造
推荐阅读
ReadingWikipediatoAnswerOpen-domainQuestionsBi-DirectionalAttentionFlowForMachineComprehensionMachineComprehensionUsingMatch-LSTMandAnswerPointerDensePassageRetrievalforOpen-DomainQuestionAnsweringLatentRetrievalforWeaklySupervisedOpenDomainQuestionAnsweringSparse,Dense,andAttentionalRepresentationsforTextRetrievalREALM:Retrieval-AugmentedLanguageModelPre-TrainingRocketQA:AnOptimizedTrainingApproachtoDensePassageRetrievalforOpen-DomainQuestionAnswering