
- 缩 写
- NLP
- 适用领域
- 计算机、人工智能
- 中文名
- 自然语言处理
- 外文名
- natural language processing
-
2022-04-25 17:02:38
什么是自然语言处理
- 自然语言处理(Natural Language Processing, 简称NLP)是计算机科学与语言学中关注于计算机与人类语言间转换的领域.
自然语言处理的发展简史
自然语言处理的应用场景
- 语音助手
- 机器翻译
- 搜索引擎
- 智能问答
- ...
语音助手
- 科大讯飞语音识别技术访谈!
机器翻译
- CCTV上的机器翻译系统, 让世界聊得来!
本教程中的自然语言处理
- 课程理念与宗旨
- 内容先进性说明
- 内容大纲概要
课程理念与宗旨
- 本系列课程将开启你的NLP之旅, 全面从企业实战角度出发, 课程设计内容对应企业开发标准流程和企业发展路径, 助力你成为一名真正的AI-NLP工程师.
内容先进性说明
- 本课程内容结合当下时代背景, 更多关注NLP在深度学习领域的进展, 这也将是未来几年甚至几十年NLP的重要发展方向, 简化传统NLP的内容, 如语言规则, 传统模型, 特征工程等, 带来效果更好, 应用更广的Transfomer, 迁移学习等先进内容.
内容大纲概要
模块名称 主要内容 案例 文本预处理 文本处理基本方法, 文本张量表示, 文本数据分析, 文本增强方法等 路透社新闻类型分类任务 经典序列模型 HMM与CRF模型的作用, 使用过程, 差异比较以及发展现状等 RNN及其变体 RNN, LSTM, GRU模型的作用, 构建, 优劣势比较等 全球人名分类任务, 英译法翻译任务 Transformer Transformer模型的作用, 细节原理解析, 模型构建过程等 构建基于Transformer的语言模型 迁移学习 fasttext工具的作用, 迁移学习理论, NLP标准数据集和预训练模型的使用等 全国酒店评论情感分析任务 更多相关内容 -
从零开始自然语言处理
2019-08-07 14:38:22本课程隶属于自然语言处理(NLP)实战系列。自然语言处理(NLP)是数据科学里的一个分支,它的主要覆盖的内容是:以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用NLP以及它的组件,... -
自然语言处理实战 TextCNN文本分类
2020-06-26 17:47:20适用人群 (1)想要从事NLP的在校学生、NLP研发工程师 (2)自然语言处理从业者、深度学习爱好者 课程简介 短文本分类作为自然语言处理的基础技术之一NLP领域的热门应用,常用在对话语言平台,文章分类,智能客服,FAQ... -
Python自然语言处理-BERT模型实战
2019-10-21 21:54:40购买课程后,添加小助手微信(微信号:itxy41)回复【唐宇迪】 进入学习群,获取唐宇迪老师答疑 Python自然语言处理-BERT模型实战课程旨在帮助同学们快速掌握当下NLP领域最核心的算法模型BERT的原理构造与应用实例。... -
哈工大关毅自然语言处理课件 和 宗成庆自然语言处理课件
2018-07-23 12:43:02哈工大关毅自然语言处理课件 和 宗成庆自然语言处理课件 适合入门,主要是统计自然语言处理,包含想要的数学基础,主要是基本的统计概念和熵的概念。 基本不包含基于神经网络的自然语言处理 -
宗成庆 自然语言处理 期末试题.pdf
2016-07-11 20:50:09中科院宗成庆 自然语言处理 期末试题 -
自然语言处理(宗成庆)
2018-03-06 17:01:24自然语言处理(宗成庆)+统计自然语言处理基础(中文版 带书签)+Python自然语言处理 -
自然语言处理与企业对话系统设计
2022-03-16 17:29:45本文分享的主题分为两个部分,第一部分内容是关于企业级对话系统的简介,第二部分探讨对话系统和自然语言处理技术结合的领域。 1. 企业对话系统 我们首先来介绍一下企业级对话系统。谷歌的 CEO 桑达尔在 16 年曾...原创:晏茜
资料来源:李俊本文分享的主题分为两个部分,第一部分内容是关于企业级对话系统的简介,第二部分探讨对话系统和自然语言处理技术结合的领域。
1. 企业对话系统
我们首先来介绍一下企业级对话系统。谷歌的 CEO 桑达尔在 16 年曾发表言论,人工智能将通过各式各样的智能助手来改变我们的生活方式。现在,智能助手切实存在于日常生活的方方面面。举个简单的例子,以前,我们在获取城市的交通拥堵的情况最主要的方式是我们的交通广播,而现在我们可以通过各式各样的 APP 准确的获取所在城市的实时交通情况,这是属于智能助手的具体应用。
在当前自然语言处理和人工智能技术取得重大进步的前提下,Chatbot 机器人是比较有意义的。艾瑞咨询的研究报告显示,对用户而言,他们对于 Chatbot 的关注点中,排在第一位的是 24 小时的服务。不管各行各业,如果他的电话服务中心(call center)全部采用人力去维护或者提供 24 小时的服务,其实对他的成本消耗是非常大的。而如果我们的机器人足够智能化,它就可以代替人力提供 24 小时的服务,从而降低了成本。从这个角度来讲,它产生的收益是显而易见的,也是符合消费者当前的预期或消费者对于交互的需求的。
消费者对于 Chatbot 机器人的能力要求中,排在第二位的是及时的回复,排在第三的是能够直接回答一些比较简单的问题,排在第四的是比较友好的或比较容易的沟通,排在第五的是能快速的处理一些投诉,排在第六的是优质的客户体验。
从这些角度可以反观到,我们在构建 Chatbot 机器人的时候,应该从哪些方面进行提升?
据 2021 年第一季度发布的数据统计,63% 的顾客能够接受线上沟通的方式,也就是说,63% 的顾客愿意和机器人进行沟通。大概有 80% 的公司,愿意使用 Chatbot 机器人。大概有 50% 的企业,愿意在他们的用于 APP 开发的成本中,增加对于 Chatbot 的研发投入。如果我们开发的 Chatbot 机器人足够优质,那么,它带来的对于整个行业或者整个技术环境的人力成本的缩减将可达到 80 亿美元的数额。
这组数据足以说明,Chatbot 在未来是比较有发展前景的。近年来,很多自媒体都在唱衰人工智能的落地,但是如果我们仔细去了解这个行业,或者说去了解一些企业的业务情况和需求的时候,我们可以发现其实整个人工智能的落地,特别是我们今天要讨论的自然语言处理的推荐和对话,在我们日常的工作环境中其实是有很多的应用场景的。而且推荐这种表现形式也是可以放在对话环境里面去做的。所以,对话系统是整个 AI,特别是自然语言处理落地的非常典型的场景。
对话系统的类别
对话系统到底是怎样分类的呢?一般而言,我们可以从两个维度划分,一个是从任务的类型,另一个是从应用的领域进行划分。如果从任务的类型进行划分,我们可以将对话系统分成任务型和 QA 型,以及闲聊型。闲聊型一般不会有上下文的联系,单轮即可实现,QA 型一般是可以一次性解决的交互,比如顾客想询问怎么退货,或者怎么办信用卡,任务型一般会涉及到多轮的交互,比如我想定一个闹钟,那么我告诉我的智能助手或者机器人我的诉求,它会反过来问你,你想定哪一个时间。第二个维度是按照应用的领域来划分,也可以分为两类,一是开放域,开放域也就是没有特定的应用场景。第二个是垂直领域,比如电商领域中负责婴儿产品的机器人,负责金融领域的机器人,负责交通的机器人等等。
举两个例子,第一个例子是京东的机器人,第二个是智能助手。许多公司都有自己的 OA 系统。OA 系统一般以弹窗的形式存在,点击会弹出一个对话界面,在对话界面可以问一些常见的问题,比如,怎么报销,出差补助怎样计算等一类问题。相对来说,这种对话机器人是比较容易实现的,它集成了任务型和 QA 型的对话能力,比如,如何补签到这种通过一轮交互就可以直接给出答案的 QA 型,还有订机票的任务型对话的应用场景,比如我们想订机票,机器人可能会反问你,你想订机票的日期和时间,某些公司还有专门的订票系统,当你输入订机票的指令时,它并不会返回答案,而是直接返回一个菜单,你可以通过点击菜单,链接到公司的订票系统进行机票的预定。
上图演示了基于知识图谱的 QA 型对话系统,图中姚明这一节点有很多的属性,比如他和王治郅是队友,他是上海交大经济与管理学院毕业的学生,他的出生年月日,他的身高,他曾为哪个 NBA 球队效力等。作者已将该知识图谱作为免费开源使用的资源,我们可以通过这种图形化的界面去访问,也可以调免费提供的 API,访问地址如下:
https://www.ownthink.com/knowledge.html
以上对话进一步展示了 QA 型对话系统的应用场景。
KB-QA 是基于知识库的问答。KB 即 Knowledge Base,是指知识库是以表单的形式来做存储的。KG 即Knowledge Graph,上图所示的图谱就属于 Knowledge Graph 的存储方式。无论哪种方式,只要你的后端都是以结构化后的数据作为引擎,或者引擎的一部分的,你都可以把它叫做 KB-QA。
Text-QA 是指给你一篇文章,再给你一个问题,这个问题往往是基于这篇文章来问的,那么你的答案就是根据这篇文章得到的答案。你的答案要么是从文章里面去截取的,要么就是你希望算法能理解这篇文章,然后再去做文本的生成,这是两种不同处理的技术方向。那么如果它是提取的,我们就可以采用抽取式的算法来实现,如果它是生成的,我们可以采用 NLG(自然语言生成)的一些技术来实现它。
AnyQ 是百度开源的问答系统框架。AnyQ 的基本的框架来自于上图。这个架构分成两级,分别叫做粗排和精排,也可以叫做召回层和排序层。
上图展示了 AnyQ 框架的每一个子模块所包含的功能块。
当我们的问题出现之后,需要经过问题的分析与处理,那么分析与处理包括哪些内容呢?比如词性标注、NER 等,然后再进入检索层,那么检索层怎样来实现检索呢?有两个方面,右边是 FAQ 的 query 对去做最基本的检索,左边有孪生网络来训练的判断句子相似度的工具,也可以帮你去做检索。Matching 层,也就是精排的这一层,也是基于语义的孪生网络,可以通过不同的语义相似度,比如 BM25、余弦相似度,最终返回你的答案。这是 AnyQ 的最基本的一个流程。这一套流程其实可以复用到很多的场景里面。
阅读理解是在工业领域和我们的工作中应用最少的,因为它对于训练数据的要求太高了,可能在一些自然语言处理的比赛中会经常有阅读理解的场景,但是,当你真正走入工作岗位中,很少或几乎没有哪个公司想要在他的生产环境中使用阅读理解算法。阅读理解算法的可控性差,它的使用很可能会给企业带来一些法律上或业务上的风险,所以很多公司都不太愿意把这样的不成熟的技术放在他的生产环境中。阅读理解算法也是一个研究的重点或难点。因为构建一个机器人最理想的状态是它能够像人一样,我们给它一篇文章,它能够理解这篇文章,并做出对应的回复,这是我们整个人工智能或者说计算机科学的比较高的目标了。做学术的同学可以更多地去关注阅读理解算法的领域。当然,阅读理解算法在工业领域或我们的工作岗位上也并不是完全不可用的,我们也可以换个角度去使用它,比如,我们在去做检索或推荐的时候其实是可以使用的。举个例子,我们开发一个写作助手,或者写作提示,如果我输入了一段话,接下来该说什么,写作助手可以根据前文的这些输入,然后结合阅读理解算法生成一些候选的文本提供给用户选择。这样的方式丰富了它的应用的场景。
2. Chatbot 与自然语言处理的结合点
第二部分的内容会讨论 Chatbot 和自然语言处理技术的结合点。
一个好的机器人应该具备哪些自然语言处理的技术呢?它应具备像人一样去理解我们的问题的能力,同时它也应当具备可扩展的能力,也就是说,当你在训练的时候,你给它的可能是比较标准的数据,但是当用户的语言发生改变,这个时候它应该也能比较灵活的去处理这样的变化。所以,这其实就要求机器人的自然语言理解模块必须具备一定的泛化能力。
我们一般理解的机器人的终端都是通过文字输入的方式,而其实也有很多场景是通过语音的交互来实现的,也就是说我们先要做预案,然后通过语音识别解析成文字,得到文字之后,我们再通过一些工具把它转成语音,这种应用主要是针对一些中老年的用户人群。
以上流程图展示了语音交互的的过程。从语义的解析,到自然语言理解部分,再到对话管理模块,然后对话管理模块再指导语言生成,最后从语言转成录音。
首先问题出现,通过 ASR 也就是语音识别技术得到文字“我要定云海肴中关村店”,通过问题的分析和自然语言理解,我们能得到说话人的意图是预定饭店,地址在中关村,以及餐馆的名字是云海肴,我们首先要定一些槽位,槽位怎么理解呢?就是你除了告诉机器人餐厅的地点和名字,还要告诉机器人有多少人就餐,什么时间来用餐,你的联系电话是多少,在这里槽位至少是这五个必备信息。当我们输入了“我要定云海肴中关村店”这句话,我们的意图已经可以被判别到了,还告诉了机器人饭店的名字,还有地点,那么用餐的时间,你的电话号码以及用餐的人数是多少,这三个信息还没有。这个时候就要靠我们的对话管理模块,当我们的的这些槽位没有填充的时候,机器人就会不断的去询问你,你的电话号码是多少,有多少人用餐,以及用餐的时间。当我们把所有的槽位都填充好了之后,就可以执行我们的action了。这个action可以采用语言生成的方式去生成答案,也可以采用模板的方式来申请答案,再通过文字转语音,获取答案列表。这是整个语音交互全流程的实例。
此处贴取了两段代码。首先导入 spacy 这个包,然后再去做分句,你输入了一段话,它可以自动的去提取一些实体,比如这里输入“Amazon is investing $1,000,000 in Africa”,亚马逊在非洲投资了 100 万美元,这里机构名是亚马逊,投入的金额是 100 万美金,地点是非洲,机器人比较完备的把这些信息提取出来,这就是实体提取的过程。我们可以把实体的提取作为自然语言理解中的槽位的提取,也就是 NER 的技术。当然,在中文领域,也有一些这样的工具,比如哈工大开源的一个组件LTP也能实现这样一些最基本的功能。
这里给大家补充一下模板的知识。只要做过这方面的工作,你就会发现规则是比当前任何模型在大部分场景都更有效的。那么模板的方式怎样来实现呢?其实这个问题可以作为一个开放的问题,因为模板的实现方式是多种多样的。
举例来说,此处的模板是按照关键词来实现的,假设语句中出现了关键词,那么我们就可以把它匹配上,假设没有出现这些关键词,那么就相当于没有匹配上,我们的分数就会很少。那么都出现了关键词的情况下,我们如何来突出它们的相关性呢?除了把模板中的内容提取出来,其余的辅助词可以帮助我们做对应的减分。假如我们的模板语句是“我喜欢吃火锅”,一名用户输入了“我喜欢吃火锅”,而另一名用户输入了“我喜欢吃广州的火锅”,那么“我喜欢吃火锅”对比“我喜欢吃广州的火锅”,很明显前者与我们问题库中的语句是更相近的,也可以说是一模一样的。那么如果我们的模板只配了“我喜欢吃火锅”,你就会发现“我喜欢吃火锅”和“我喜欢吃广州的火锅”两句话都是可以完全匹配上的,但是很明显“我喜欢吃广州的火锅”是有文字的冗余的,它输入了更多的无效的信息。这个时候我们可以基于模板进行设计,首先从模板里面提取出关键词,然后针对剩余的辅助词去做相应的减分,每多出现了一个词,我们就减去0.1分,那么这个时候我们就会发现,基于以上逻辑,“我喜欢吃火锅”的分数会比“我喜欢吃广州的火锅”的分数高,那么在精排的时候,我们就可以把“我喜欢吃火锅”排在前面,这就是一个简单的模板匹配的使用场景。
在模板的关键词中我们还要考虑一些同义词,我们可以在关键词里面去维护我们的同义词,这样在模板中去引用关键词的时候,它可以自动的去映射它的同义词关系,这个时候就可以解决这样一类的问题。同样,我们还可以在问题构建的时候去维护它的一些相似问题和关联问题。
Chatbot 有一定的局限性,比如,冷启动问题,不能像人一样灵活,或者在一个任务中,它跳出了另一个任务。当前,我们的 Chatbot 比较难去解决这些比较复杂的场景,但是大部分的场景,比如一般的 QA 或者说一般的资讯类任务,我们的自然语言处理技术或者 Chatbot 机器人在这些场景上的技术还是比较成熟的。
以上是关于自然语言处理与企业对话系统设计的相关内容,欢迎批评指正。
-
用Python进行自然语言处理(中文)--文字版.pdf
2017-04-30 11:03:39用Python进行自然语言处理(中文)--文字版.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除! -
自然语言处理入门(何晗):第一章
2021-12-06 12:19:21**自然语言处理(NLP)**是一门融合了计算机科学、人工智能以 及语言学的交叉学科, 这门学科研究的是如何通过机器学习等技术, 让计算机学会处理人类语言,乃至实现终极目标——理解人类语言或人工智能 [外链图片...第一章 新手上路
**自然语言处理(NLP)**是一门融合了计算机科学、人工智能以 及语言学的交叉学科,
这门学科研究的是如何通过机器学习等技术, 让计算机学会处理人类语言,乃至实现终极目标——理解人类语言或人工智能
1.1 自然语言与编程语言
1.1.1 词汇量
自然语言中的词汇比编程语言中的关键词丰富,我们还可以随时创造各种类型的新词
自然语言中的词汇比编程语言中的关键词丰富。
1.1.2 结构化
自然语言是非结构化的,而编程语言是结构化的
自然语言是非结构化的,而编程语言是结构化的。所谓结构化,指的是信息具有明确的结构关系,比如编程语言中的类与成员、数据库中的表与字段,都可以通过明确的机制来读写。
苹果 的 创始人 是 乔布斯 ,它 的logo是 苹果
1.1.3 歧义性
自然语言含有大量歧义,这些歧义根据语境的不同而表现为特定的义项。比如汉语中的多义词,只有在特定的上下文中才能确定其含义,甚至存在故意利用无法确定的歧义营造幽默效 果的用法。除了上文“苹果”的两种意思之外,“意思”这个词也有多种意义。
但在编程语言中,则不存在歧义性#。如果程序员无意中写了有歧义的代码,比如两个函数 的签名一样,则会触发编译错误
1.1.4 容错性
自然语言错误随处可见,而编程语言错误会导致编译不通过
1.1.5 易变性
自然语言变化相对迅速嘈杂一些,而编程语言的变化要缓慢得多
1.1.6 简略性
自然语言往往简洁、干练,而编程语言就要明确定义
由于说话速度和听话速度、书写速度和阅读速度的限制,人类语言往往简洁、干练。我们 经常省略大量背景知识或常识,比如我们会对朋友说“老地方见”,而不必指出“老地方”在哪 里。
1.2 自然语言处理的层次
1.2.1 语音、图像和文本
自然语言处理系统的输入源一共有 3 个,即语音(语音识别)、图像(光学字符识别)与文本。
语音经过语音识别,图像经过光学字符识别,转换成文本。
1.2.2 中文分词、词性标注和命名实体识别
这 6 个任务都是围绕词语进行的分析,所以统称词法分析
- 中文分词:词法分析的主要任务是将文本 分隔为有意义的词语
- 词法标注:确定每个词语的类别和浅层的歧义消除
- 命名实体识别:识别出一些较长的专有名词
对中文而言,词法分析常常是后续高级任务的基础
1.2.3 信息抽取
高频词、关键词、公司名称、专业术语等等。
词法分析之后,文本已经呈现出部分结构化的趋势,根据分析出来的每个单词和附有自己词性及其他标签的数据,抽取出一部分有用的信息,关键词、专业术语等,也可以根据统计学信息抽取出更大颗粒度的文本。
1.2.4 文本分类与文本聚类
将文本拆分为一系列词语之后,我们还可以在文章级别做一系列分析
有时我们想知道一段话是褒义还是贬义的,判断一封邮件是否是垃圾邮件,想把许多文档 分门别类地整理一下,此时的 NLP的任务称作文本分类
另一些时候,我们只想把相似的文本归档到一起,或者排除重复的文档,而不关心具体类 别,此时进行的任务称作文本聚类
1.2.5 句法分析
词法分析只能得到零散的词汇信息,计算机不知道词语之间的关系。在一些问答系统中, 需要得到句子的主谓宾结构。
1.2.6 语义分析与篇章分析
相较于句法分析,语义分析侧重语义而非语法。
它包括词义消歧(确定一个词在语境中的 含义,而不是简单的词性)、语义角色标注(标注句子中的谓语与其他成分的关系)乃至语义分析(分析句子中词语之间的语义关系)。
1.2.7 其他高级任务
除了上述“工具类”的任务外,还有许多综合性的任务,与终端应用级产品联系更紧密。比如:
- 自动问答,根据知识库或文本中的信息直接回答一个问题,比如微软的 Cortana 和苹果的 Siri
- 自动摘要,为一篇长文档生成简短的摘要;
- 机器翻译,将一句话从一种语言翻译到另一种语言。
注意,一般认为信息检索(IR)是区别于自然语言处理的独立学科。虽然两者具有密切的联系,但 IR的目标是查询信息,而 NLP的目标是理解语言。此外,IR 检索的未必是语言,还可以是以图搜图、听曲搜曲、商品搜索乃至任何信息的搜索。现实中还存 在大量不需要理解语言即可完成检索任务的场景,比如SQL中的 LIKE
1.3 自然语言处理的流派
1.3.1 基于规则的专家系统(难扩展)
规则,指的是由专家手工制定的确定性流程。专家系统要求设计者对所处理的问题具备深入的理解,并且尽量以人力全面考虑所有可能的情况。它最大的弱点是难以拓展。当规则数量增加或者多个专家维护同一个系统时,就容易出现冲突。
1.3.2 基于统计的学习方法
人们使用统计方法让计算机自动学习语言。所谓“统计”,指的是在语料库上进行的统计。所谓“语料库”,指的是人工标注的结构化文本。
统计学习方法其实是机器学习的别称,而机器学习则是当代实现人工智能的主要途径。
1.3.3 历史
1.3.4 规则与统计
1.3.5 传统方法与深度学习
1.4 机器学习
1.4.1 什么是机器学习
人工智能领域的先驱在 1959年给出的机器学习定义是:不直接编程却能赋予计算机提高能力的方法。
机器学习指的是计算机通过某项任务的经验数据提高了在该项任务上的能力
简而言之,机器学习是让机器学会算法的算法。
机器学习算法则可以称作“元算法”,它指导机器自动学习出另一个算 法,这个算法被用来解决实际问题。为了避免混淆,人们通常称被学习的算法为模型
1.4.2 模型
1.4.3 特征
特征指的是事物的特点转化的数值,比如牛的特征是 34条腿、0双翅膀,而鸟的特征是 2条腿、1双翅膀。
- 特征指的是事物的特点转化的数值。
- 如何挑选特征,如何设计特征模板,这称作特征工程。特征越多,参数就越多;参数越多,模型就越复杂。
1.4.4 数据集
1.4.5 监督学习
1.4.6 无监督学习
如果我们只给机器做题,却不告诉它参考答案,机器仍然可以学到知识吗?
可以,此时的学习称作无监督学习,而不含标准答案的习题集被称作无标注的数据集。
无监督学习一般用于聚类和降维,两者都不需要标注数据。
j降维指的是将样本点从高维空间变换到低维空间的过程。
1.4.7 其他类型的机器学习算法
如果我们训练多个模型,然后对同一个实例执行预测,会得到多个结果。如果这些结果 数一致,则可以将该实例和结果放到一起作为新的训练样本,用来扩充训练集。这样的算法被称为半监督学习。由于半监督学习可以综合利用标注数据和丰富的未标注数据,所以正在成为 热门的研究课题。
现实世界中的事物之间往往有很长的因果链:我们要正确地执行一系列彼此关联的决策, 才能得到最终的成果。这类问题往往需要一边预测,一边根据环境的反馈规划下次决策。这类算法被称为强化学习习。强化学习在一些涉及人机交互的问题上成果斐然,比如自动驾驶、电子 竞技和问答系统。
- 半监督学习:如果我们训练多个模型,然后对同一个实例执行预测,会得到多个结果。如果这些结果多数一致,则可以将该实例和结果放到一起作为新的训练样本,用力啊扩充训练集。这样的算法被称为半监督学习。
- 强化学习:现实世界中的事物之间往往有很长的因果链:我们要正确地执行一系列彼此关联的决策,才能得到最终的成果。这类问题往往需要一边预测,一边根据环境的反馈规划下次决策。这类算法被称为强化学习。
1.5 语料库
语料库作为自然语言处理领域中的数据集,是我们教机器理解语言不可或缺的习题集。在 这一节中,我们来了解一下中文处理中的常见语料库,以及语料库建设的话题
1.5.1 中文分词语料库
中文分词语料库指的是,由人工正确切分后的句子集合。
以著名的1998年《人民日报》语料库为例:
先 有 通货膨胀 干扰,后 有 通货 紧缩 叫板。
1.5.2 词性标注语料库
它指的是切分并为每个词语指定一个词性的语料
依然以《人民日报》语料库为例:
迈向/v 充满/v 希望/n 的/u 新/a 世纪/n --/w 一九九八年/t 新年/t 讲话/n
1.5.3 命名实体识别语料库
这种语料库人工标注了文本内部制作者关心的实体名词以及实体类别。比如《人民日报》语料库中-共含有人名、地名和机构名3种命名实体:
萨哈夫/nr 说/v ,/w 伊拉克/ns 将/d 同/p [联合国/nt 销毁/v 伊拉克/ns 大规模/b 杀伤性/n 武器/n 特别/a 委员会/n] /nt 继续/v 保持/v 合作/v 。/w
这个句子中的加粗词语分别是人名、地名和机构名。中括号括起来的是复合词,我们可以观察到:有时候机构名和地名复合起来会构成更长的机构名,这种构词法上的嵌套现象增加了命名实体识别的难度。
1.5.4 句法分析语料库
汉语中常用的句法分析语料库有CTB(Chinese Treebank,中文树库),其中一个句子可视化后如下图所示:
中文单词上面的英文标签标示词性,而箭头表示有语法联系的两个单词,具体是何种联系由箭头上的标签标示。
1.5.5 文本分类语料库
它指的是人工标注了所属分类的文章构成的语料库。
1.5.6 语料库建设
语料库建设指的是构建一份语料库的过程,分为规范制定、人员培训与人工标注这 3个阶段。
针对不同类型的任务,人们开发出许多标注软件,其中比较成熟的一款是brat,它支持词性标注、命名实体识别和句法分析等任务。
1.6 开源工具
目前开源界贡献了许多优秀的 NLP 工具,它们为我们提供了多种选择,比如教学常用的NLTK ( Natural Language Toolkit )、斯坦福大学开发的CoreNLP,以及国内哈工大开发的 LTP ( Language Technology Platform )、我开发的HanLP ( Han Language Processing )。
1.6.1 主流 NLP 工具比较
选择一个工具包,我们需要考虑的问题有:功能、精度、运行效率、内存效率、可拓展性、商业授权和社区活跃程度。
1.6.2 Python 接口
得益于Python简洁的设计,使用这门动态语言调用HanLP会省下不少时间。无论用户是否常用Python,都推荐一试。
HanLP的 Python接口由 pyhanlp包提供,其安装只需一句命令:pip install pyhanlp
1.7 总结
本章给出了人工智能、机器学习与自然语言处理的宏观缩略图与发展时间线。机器学习是人工智能的子集,而自然语言处理则是人工智能与语言学、计算机科学的交集。这个交集虽然小,它的难度却很大。为了实现理解自然语言这个宏伟目标,人们尝试了规则系统,并最终发展到基于大规模语料库的统计学习系统。
在接下来的章节中,就让我们按照这种由易到难的发展规律去解决第一个NLP问题一中文分词。我们将先从规则系统人手,介绍一些快而不准的算法,然后逐步进化到更加准确的统计模型。
1.8 GitHub项目
HanLP何晗–《自然语言处理入门》笔记:
https://github.com/NLP-LOVE/Introduction-NLP
-
自然语言处理(NLP)简介
2020-05-30 00:00:29简单地说,自然语言处理就是用计算机来处理、理解以及运用人类语言(如中文、英文等),它属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。由于自然语言是人类区别于其他动物的根本...目录
一、什么是自然语言处理
简单地说,自然语言处理(Natural Language Processing,简称NLP)就是用计算机来处理、理解以及运用人类语言(如中文、英文等),它属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。由于自然语言是人类区别于其他动物的根本标志。没有语言,人类的思维也就无从谈起,所以自然语言处理体现了人工智能的最高任务与境界,也就是说,只有当计算机具备了处理自然语言的能力时,机器才算实现了真正的智能。
从研究内容来看,自然语言处理包括语法分析、语义分析、篇章理解等。从应用角度来看,自然语言处理具有广泛的应用前景。特别是在信息时代,自然语言处理的应用包罗万象,例如:机器翻译、手写体和印刷体字符识别、语音识别及文语转换、信息检索、信息抽取与过滤、文本分类与聚类、舆情分析和观点挖掘等,它涉及与语言处理相关的数据挖掘、机器学习、知识获取、知识工程、人工智能研究和与语言计算相关的语言学研究等。
值得一提的是,自然语言处理的兴起与机器翻译这一具体任务有着密切联系。机器翻译指的是利用计算机自动地将一种自然语言翻译为另外一种自然语言。例如自动将英文“I like Beijing Tiananmen Square”翻译为“我爱北京天安门”,或者反过来将“我爱北京天安门”翻译为“I like Beijing Tiananmen Square”。由于人工进行翻译需要训练有素的双语专家,翻译工作非常耗时耗力。更不用说需要翻译一些专业领域文献时,还需要翻译者了解该领域的基本知识。世界上有超过几千种语言,而仅联合国的工作语言就有六种之多。如果能够通过机器翻译准确地进行语言间的翻译,将大大提高人类沟通和了解的效率。
《圣经》里有一个故事说巴比伦人想建造一座塔直通天堂。建塔的人都说着同一种语言,心意相通、齐心协力。上帝看到人类竟然敢做这种事情,就让他们的语言变得不一样。因为人们听不懂对方在讲什么,于是大家整天吵吵闹闹,无法继续建塔。后来人们把这座塔叫作巴别塔,而“巴别”的意思就是“分歧”。虽然巴别塔停建了,但一个梦想却始终萦绕在人们心中:人类什么时候才能拥有相通的语言,重建巴别塔呢?机器翻译被视为“重建巴别塔”的伟大创举。假如能够实现不同语言之间的机器翻译,我们就可以理解世界上任何人说的话,与他们进行交流和沟通,再也不必为相互不能理解而困扰。
事实上,“人工智能”被作为一个研究问题正式提出来的时候,创始人把计算机国际象棋和机器翻译作为两个标志性的任务,认为只要国际象棋系统能够打败人类世界冠军,机器翻译系统达到人类翻译水平,就可以宣告人工智能的胜利。四十年后的1997年,IBM公司的深蓝超级计算机已经能够打败国际象棋世界冠军卡斯帕罗夫。而机器翻译到现在仍无法与人类翻译水平相比,从此可以看出自然语言处理有多么困难!
自然语言处理兴起于美国。第二次世界大战之后,二十世纪五十年代,当电子计算机还在襁褓之中时,利用计算机处理人类语言的想法就已经出现。当时,美国希望能够利用计算机将大量俄语材料自动翻译成英语,以窥探苏联科技的最新发展。研究者从破译军事密码中得到启示,认为不同的语言只不过是对“同一语义”的不同编码而已,从而想当然地认为可以采用译码技术像破译密码一样“破译”这些语言。
1954年1月7日,美国乔治敦大学和IBM公司合作实验成功地将超过60句俄语自动翻译成英语。虽然当时的这个机器翻译系统非常简单,仅仅包含6个语法规则和250个词,但由于媒体的广泛报道,纷纷认为这是一个巨大的进步,导致美国政府备受鼓舞,加大了对自然语言处理研究的投资。实验完成者也当即自信地撰文称,在三到五年之内就能够完全解决从一种语言到另一种语言的自动翻译问题。他们认为只要制定好各种翻译规则,通过大量规则的堆砌就能够完美地实现语言间的自动翻译。
然而,事实是理解人类语言远比破译密码要复杂得多,因此研究进展非常缓慢。1966年的一份研究报告总结发现,经过十年之久的研究,结果远远未能达到预期,因此支持资金急剧下降,使自然语言处理(特别是机器翻译)的研究陷入长达二十年的低潮。直到二十世纪八十年代,随着电子计算机的计算能力的飞速提高和制造成本的大幅下降,研究者又开始重新关注自然语言处理这个极富挑战的研究领域。三十年沧海桑田,此时研究者已经认识到简单的语言规则的堆砌无法实现对人类语言的真正理解。研究发现,通过对大量的文本数据的自动学习和统计,能够更好地解决自然语言处理问题,如语言的自动翻译。这一思想被称为自然语言处理的统计学习模型,至今方兴未艾。
那么,自然语言处理到底存在哪些主要困难或挑战,吸引那么多研究者几十年如一日孜孜不倦地探索解决之道呢?
二、自然语言处理的主要困难
自然语言处理的困难可以罗列出来很多,不过关键在于消除歧义问题,如词法分析、句法分析、语义分析等过程中存在的歧义问题,简称为消歧。而正确的消歧需要大量的知识,包括语言学知识(如词法、句法、语义、上下文等)和世界知识(与语言无关)。这带来自然语言处理的两个主要困难。
首先,语言中充满了大量的歧义,这主要体现在词法、句法及语义三个层次上。歧义的产生是由于自然语言所描述的对象――人类活动非常复杂,而语言的词汇和句法规则又是有限的,这就造成同一种语言形式可能具有多种含义。
2.1 单词界定问题
单词定界问题是属于词法层面的消歧任务。在口语中,词与词之间通常是连贯说出来的。在书面语中,中文等语言也没有词与词之间的边界。由于单词是承载语义的最小单元,要解决自然语言处理,单词的边界界定问题首当其冲。特别是中文文本通常由连续的字序列组成,词与词之间缺少天然的分隔符,因此中文信息处理比英文等西方语言多一步工序,即确定词的边界,我们称为“中文自动分词”任务。通俗的说就是要由计算机在词与词之间自动加上分隔符,从而将中文文本切分为独立的单词。例如一个句子“今天天气晴朗”的带有分隔符的切分文本是“今天|天气|晴朗”。中文自动分词处于中文自然语言处理的底层,是公认的中文信息处理的第一道工序,扮演着重要的角色,主要存在新词发现和歧义切分等问题。我们注意到:正确的单词切分取决于对文本语义的正确理解,而单词切分又是理解语言的最初的一道工序。这样的一个“鸡生蛋、蛋生鸡”的问题自然成了(中文)自然语言处理的第一条拦路虎。
2.2 短语级别歧义问题
短语级别上,“进口彩电”可以理解为动宾关系(从国外进口了一批彩电),也可以理解为偏正关系(从国外进口的彩电)。又如在句子级别上,“做手术的是她的父亲”可以理解为她父亲生病了需要做手术,也可以理解为她父亲是医生,帮别人做手术。总之,同样一个单词、短语或者句子有多种可能的理解,表示多种可能的语义。如果不能解决好各级语言单位的歧义问题,我们就无法正确理解语言要表达的意思。
2.3 上下文知识的获取问题
另外一个方面,消除歧义所需要的知识在获取、表达以及运用上存在困难。由于语言处理的复杂性,合适的语言处理方法和模型难以设计。
例如上下文知识的获取问题。在试图理解一句话的时候,即使不存在歧义问题,我们也往往需要考虑上下文的影响。所谓的“上下文”指的是当前所说这句话所处的语言环境,例如说话人所处的环境,或者是这句话的前几句话或者后几句话,等等。假如当前这句话中存在指代词的时候,我们需要通过这句话前面的句子来推断这个指代词是指的什么。我们以“小明欺负小亮,因此我批评了他”为例。在其中的第二句话中的“他”是指代“小明”还是“小亮”呢?要正确理解这句话,我们就要理解上句话“小明欺负小亮”意味着“小明”做得不对,因此第二句中的“他”应当指代的是“小明”。由于上下文对于当前句子的暗示形式是多种多样的,因此如何考虑上下文影响问题是自然语言处理中的主要困难之一。
2.4 背景知识问题
再如背景知识问题。 正确理解人类语言还要有足够的背景知识。举一个简单的例子,在机器翻译研究的初期,人们经常举一个例子来说明机器翻译任务的艰巨性。在英语中“The spirit is willing but the flesh is weak.”,意思是“心有余而力不足”。但是当时的某个机器翻译系统将这句英文翻译到俄语,然后再翻译回英语的时候,却变成了“The Voltka is strong but the meat is rotten.”,意思是“伏特加酒是浓的,但肉却腐烂了”。从字面意义上看,“spirit”(烈性酒)与“Voltka”(伏特加)对译似无问题,而“flesh”和“meat”也都有肉的意思。那么这两句话在意义上为什么会南辕北辙呢?关键的问题就在于在翻译的过程中,机器翻译系统对于英语成语并无了解,仅仅是从字面上进行翻译,结果自然失之毫厘,差之千里。
上面的两个方面的主要困难,我们看到自然语言处理这个难题的根源就是人类语言的复杂性和语言描述的外部世界的复杂性。人类语言承担着人类表达情感、交流思想、传播知识等重要功能,因此需要具备强大的灵活性和表达能力,而理解语言所需要的知识又是无止境的。那么目前人们是如何尝试进行自然语言处理的呢?
三、自然语言处理的发展趋势
目前,人们主要通过两种思路来进行自然语言处理,一种是基于规则的理性主义,另外一种是基于统计的经验主义。
理性主义方法认为,人类语言主要是由语言规则来产生和描述的,因此只要能够用适当的形式将人类语言规则表示出来,就能够理解人类语言,并实现语言之间的翻译等各种自然语言处理任务。
而经验主义方法则认为,从语言数据中获取语言统计知识,有效建立语言的统计模型。因此只要能够有足够多的用于统计的语言数据,就能够理解人类语言。
然而,当面对现实世界充满模糊与不确定性时,这两种方法都面临着各自无法解决的问题。例如,人类语言虽然有一定的规则,但是在真实使用中往往伴随大量的噪音和不规范性。理性主义方法的一大弱点就是鲁棒性差,只要与规则稍有偏离便无法处理。而对于经验主义方法而言,又不能无限地获取语言数据进行统计学习,因此也不能够完美地理解人类语言。二十世纪八十年代以来的趋势就是,基于语言规则的理性主义方法不断受到质疑,大规模语言数据处理成为目前和未来一段时期内自然语言处理的主要研究目标。统计学习方法越来越受到重视,自然语言处理中越来越多地使用机器自动学习的方法来获取语言知识。
迈进21世纪,我们已经进入了以互联网为主要标志的海量信息时代,这些海量信息大部分是以自然语言表示的。一方面,海量信息也为计算机学习人类语言提供了更多的“素材”,另一方面,这也为自然语言处理提供了更加宽广的应用舞台。例如,作为自然语言处理的重要应用,搜索引擎逐渐成为人们获取信息的重要工具,涌现出以百度、谷歌等为代表的搜索引擎巨头;机器翻译也从实验室走入寻常百姓家,谷歌、百度等公司都提供了基于海量网络数据的机器翻译和辅助翻译工具;基于自然语言处理的中文输入法(如搜狗、微软、谷歌等输入法)成为计算机用户的必备工具;带有语音识别的计算机和手机也正大行其道,协助用户更有效地工作学习。
总之,随着互联网的普及和海量信息的涌现,自然语言处理正在人们的日常生活中扮演着越来越重要的作用。然而,面向海量的大规模文本数据,人们面临的一个严峻事实是,如何有效利用海量信息,人们逐渐意识到,单纯依靠统计方法已经无法快速有效地从海量数据中学习语言知识。
随着2013年word2vec技术的发表,以神经网络为基础的深度学习技术开始在自然语言处理中广泛使用,深度学习的分布式语义表示和多层网络架构具有强大的拟合和学习能力,显著提升了自然语言处理各种任务的性能,成为现阶段自然语言处理的主要技术方案。
深度学习是纯的数据驱动技术方案,需要从大规模标注数据中学习特定任务相关的复杂模式。一方面,有些学者开始探索面向大规模无标注文本数据的深度学习模型,如ELMo,GPT、BERT等,可以看做从大规模数据中学习知识的极致探索;另一方面,现有深度学习技术尚未考虑人类积累的丰富知识(包括语言知识、世界知识、常识知识、认知知识、行业知识等),如果将深度学习看做经验主义方法,将符号知识看做理性主义方法,那么如何充分发挥基于规则的理性主义方法和基于统计的经验主义方法的优势,两者互相补充,更好、更快地进行自然语言处理,仍然是我们需要探索的重要课题。
自然语言处理作为一个年龄尚不足一个世纪的新兴学科,正在进行着突飞猛进的发展。回顾自然语言处理的发展历程,并不是一帆风顺,有过低谷,也有过高潮。而现在我们正面临着新的挑战和机遇。例如,目前网络搜索引擎基本上还停留在关键词匹配,缺乏深层次的自然语言处理和理解。语音识别、文字识别、问答系统、机器翻译等目前也只能达到很基本的水平。路漫漫其修远兮,自然语言处理作为一个高度交叉的新兴学科,不论是探究自然本质还是付诸实际应用,在将来必定会有令人期待的惊喜和异常快速的发展。
四、与计算机视觉相比,自然语言处理有什么特点
从图像和语言两种模态来看,对文本处理技术的大规模应用要早于计算机视觉。将图像和语言中的处理对象做一个不太严谨的对应。如下图所示,大体上像素类似于语言中的字母;图像中的对象类似于语言中的单词/概念;图像中对象组成的场景类似于语言中的句子表达的语义;视频则类似于语言中的篇章(文章)。
在这种类比下看,NLP/IR在单词层面的处理要比CV中的图像识别简单得多,只需要做一下tokenization、lemmatization、stemming等(中文复杂一些需要额外做自动分词),就可以利用关键词匹配完成很多任务,例如信息检索、文本分类、拼写纠错、情感分析、关键词提取等等,实际上已经得到非常广泛的应用,如搜索引擎、拼音输入法、新闻分类、阅读推荐等。而由于图像中对象的复杂性和多样性,仅在对象识别层面,甚至特定的人脸识别,还有很多技术挑战。只不过是近年来,由于深度学习对非结构数据的强大表示和学习能力,开始让对象识别走向了实用化。
而进入到更高层面,例如面向图像的场景图构建,面向文本的句法语义分析,都需要对复杂语境(上下文)的精准而强大的建模能力。所以我感觉,并非NLP发展缓慢,只是两个领域的发展节奏和阶段不同。进入高层任务后,两个领域都将面临共同的关键挑战,都可以归结为复杂语境下的多对象(图像中是不同对象,文本中是不同概念)的语义组合问题。
五、中文NLP vs 英文NLP
中文NLP和英文NLP在理论、处理上有什么相同和不同, 尤其是中文 NLP有什么独特之处呢?
从实用文本分析技术而言,如果只做主题聚类、文本分类等任务的话,中英文最大差别就在于,中文需要做自动分词,相关工具包已经很多了,包括题主提到的Jieba,还有哈工大的LTP,北理工的ICTCLAS,还有我们组研制的THULAC。当然,在文本分类时,到底是选词还是Ngram作为特征,在SVM+BOW时代曾是个问题。进入到深度学习时代,就直接可以用基于字的神经网络模型了。
从NLP研究角度而言,中英文在词性标注、句法分析等任务上颇有差异。主要体现在英语有明显的屈折变化(单复数、时态等)而汉语缺少这些屈折变化,亦即有学者总结的“汉语重义合,英语重形合”。所以,英语里一个词被标为动词还是名词,没有太多争议;汉语里一个词应该被标为动词还是名词,例如“热爱学习”、“劳动光荣”中的“学习”、“劳动”如果按照英文语法规范应当标注为名词。著名语言学家沈家煊先生就曾提出“汉语动词和名词不分立”的理论。在句法分析层面汉语也有一些自己的特点,具体需要请教专业的语言学家解答了。
中英文相关分析任务的错误率问题。之所以在一些任务上中文分析性能显著低于英文,除了中文缺少屈者变化、有更多自由度从而提升了分析难度的原因外,中文标注资源相对较少、标注质量相对较低也是关键原因之一。语言资源标注既需要语言学家和计算机学者的通力合作,需要花费大量精力和时间,在国内环境下太费力不讨好了,希望未来会有改观。
从更广阔的语言研究角度而言,中英由于各自承载了两种截然不同的人类群体的文化信息,所以在更深层的文化内涵会有更明显的分野,例如两种语言的词汇联想网络、隐喻风格等,可能会有更大的不同。也许在NLP技术日渐成熟之后,我们可以透过语言更加定量地分析两种不同文化的差异。
参考文献
- 张钹. 自然语言处理的计算模型. 中文信息学报, 2007, 21(3):3-7.
- 冯志伟. 《统计自然语言处理》序言. 1版. 北京: 清华大学出版社, 2008.
- 孙茂松. 语言计算:信息科学技术中长期发展的战略制高点. 语言文字应用, 2005, 3:38-40.
-
自然语言处理(1)——绪论与概述
2021-11-28 21:08:06基本概念(1)语言学(2)语音学(3)计算语言学,Computational Linguistics(4)自然语言理解,Natural Language Understanding(5)自然语言处理,Natural Language Processing(6)中文信息处理2.HLT的产生与... -
自然语言处理(NLP)学习路线总结
2019-03-20 21:01:53自然语言处理概述 自然语言处理入门基础 自然语言处理的主要技术范畴 自然语言处理基本点 特征处理 模型选择 NLP常用工具 NLP语言模型 快速入门NLP方法 自然语言处理... -
常见10种自然语言处理技术
2021-09-02 08:57:33自然语言处理(NLP)是一种艺术与科学的结合,旨在从文本数据中提取信息。在它的帮助下,我们从文本中提炼出适用于计算机算法的信息。从自动翻译、文本分类到情绪分析,自然语言处理成为所有数据科学家的必备技能之... -
自然语言处理
2018-09-04 15:04:44语言认知模型:王少楠,宗成庆(中科院自动化研究所) 语言表示与深度学习:黄萱菁、邱锡鹏(复旦大学) 知识图谱与计算:李涓子、候磊(清华大学) 应用研究: 文本分类与聚类:涂存超,刘知远(清华大学... -
自然语言处理任务详解(万文多图)
2022-05-10 16:03:581. 基础自然语言任务 1.1 语法任务 1.1.1 语法任务:以词为基本单元 1.1.2 语法任务:以句子为基本单元 1.1.2.1 成分句法分析 1.1.2.2 依存句法分析 1.1.2.3 组合范畴语法 1.2 语义任务 1.2.1 语义任务:以词为基本... -
【自然语言处理】论述自然语言处理的技术范畴
2018-11-05 00:11:43文章目录论述自然语言处理的技术范畴(基本全貌) 一、前言二、主要技术范畴1、语音合成(Speech Synthesis)2、语音识别(Speech Recognition)3、中文自动分词4、词性标注5、句法分析7、文本分类7、文本挖掘8、信息抽取9... -
人工智能导论(9)——自然语言处理(Natural Language Processing)
2021-12-14 11:08:11自然语言处理(NLP)是指用计算机来处理、理解以及运用人类语言,实现人机交流的目的。核心任务;重点应用领域;分析层面;NLP分析流程;以及语音识别、机器翻译简介 -
统计自然语言处理(第2版
2017-03-13 10:13:02统计自然语言处理(第2版)mobi版 -
自然语言处理发展的四大阶段
2022-05-10 10:53:01自然语言处理研究的是自动的去理解与生成人类语言的算法。小到一个文本匹配的算法,大到机器翻译、对话系统、搜索引擎都能用到自然语言处理技术。自然语言处理的任务包括基础自然语言任务、信息抽取任务、文本... -
Python自然语言处理中文版PDF
2017-01-09 22:54:51学习自然语言处理的必备书目,讲解细致,有无编程基础都能看懂。 -
自然语言处理 特征提取
2019-04-10 14:44:021. 基本文本处理技能 1.1 分词 在语言中,语义的基本单元是单词。在英语句子中已天然就已经分割成单词(空白符和标点符号隔开),而在汉语中字和字紧紧的连在一起。所以我们需要进行分词。分词有很多种算法:... -
自然语言处理的21个基本概念
2020-08-15 22:09:52本文介绍了自然语言处理中的21个基本概念,包括语言、词、分词、词法分析、句法分析、语义分析等。 -
文本上的算法深入浅出自然语言处理
2018-10-23 20:22:12文本上的算法深入浅出自然语言处理,深度学习 自然语言 -
自然语言处理入门新手上路
2019-10-29 17:40:42自然语言处理 (Natural Language Processing,NLP)是一门融合了计算机科学、人工智能以及语言学的交叉学科,它们的关系如图 1-1 所示。这门学科研究的是如何通过机器学习等技术,让计算机学会处理人类语言,乃至... -
自然语言处理十大应用
2020-07-16 12:56:14自然语言处理是数据科学领域最热门的课题之一。公司在这一领域投入大量资金进行研究。每个人都在努力了解自然语言处理及其应用,并以此为生。 你知道为什么吗? 因为仅仅在短短几年的时间里,自然语言处理已经... -
强化学习 V.S. 自然语言处理,计算机保研er应该选哪个?
2022-03-15 21:13:56其中,感知解决what,在机器学习和深度学习技术的推动下,各行各业的AI应用得到了长足的发展,如计算机视觉、自然语言处理等等;决策解决how,强化学习在游戏、机器人等领域取得了一定效果;认知解决why,知识图谱、... -
NLP(自然语言处理技术)
2022-02-11 08:08:02一、需求:给一个excel存储的立场语字典,用自然语言处理技术(NLP)进行扩展,得到一个更大的立场语字典。 实现代码: 核心知识点:用pandas包进行excel表的读写操作,用nltk包的wordnet包对表... -
自然语言处理--概述篇
2019-02-27 01:35:591.1 自然语言处理概念 自然语言是指汉语、英语、法语等人们日常使用的语言,是自然而然的随着人类社会发展演变而来的语言,而不是人造的语言,它是人类学习生活的重要工具。概括说来,自然语言是指人类社会约定俗成... -
智能金融的三驾马车之自然语言处理NLP
2020-11-26 21:50:16什么是自然语言处理NLP 用通俗的话来讲,自然语言处理NLP的目标是让机器能够理解人类的语言,NLP就是人和机器进行交流的技术。用专业语言来讲,自然语言处理有狭义和广义之分。狭义的自然语言处理是使用计算机来完成...