自然语言处理底层技术实现及应用

训练营
关注

自然语言处理技术的重要性在当今的互联网生活中不言而喻。比如:搜索、输入法、智能客服等都极度的依赖于自然语言处理技术。本课程将以中文为处理对象,逐步讲解关于中文的自然语言处理技术常用的一些底层技术,即中文分词、词性标注、命名实体识别。这三项底层技术也是目前能够商用,且相对成熟的技术。所以弄懂它们的实现原理十分重要。

自然语言处理底层技术实现与应用


简介

人工智能在近年来异常的火热,其主要有三大研究领域,分别是计算机视觉、语音处理、自然语言处理。其中,自然语言处理也是这三个研究方向中最难啃的一个。这也使得自然语言处理相比于前两者,显得不温不火的状态。不过这一种局面似乎正在悄悄的改变。

2017 年,美国国家工程院院士、微软全球执行副总裁沈向洋博士参加中国计算机大会时提到下一个十年,懂语言者得天下

这其实也是许多学者的声音,因为计算机视觉和语言识别在仅年来都取得了巨大的发展,但似乎已遇到瓶颈。例如美国斯坦福大学教授李菲菲曾在一篇论文中指出,计算机视觉在 2012 年 Alex 所提出的 AlexNet 网络之后,实际上后续许多网络的提出已经没有了实质性的突破。
当然,由于目前关于自然语言处理的热度主要还是存在于学术圈,且自然语言处理并没有像计算机视觉那样有许多的深度学习框架可以直接调用。此外,目前即使有相关的工具,但大多数还是以处理英文为主,对中文的支持并不是很好。这也使得许多初学者想学习自然语言处理处理时感到无从下手。 本次课程将会以中文文本为研究对象,逐步讲解自然语言处理中常用的底层技术,并动手实现。

课程内容

本课程主要讲解自然语言处理的底层技术,具体来说是中文分词,词性标注以及命名实体识别。

  • 中文分词:基于字典的方法
  • 中文分词:基于隐马尔可夫模型的方法
  • 词性标注:基于条件随机场的方法
  • 命名实体识别:基于深度学习的方法

在中文分词实验中,主要会详细介绍以下几种方法:

  • 正向最大匹配法
  • 逆向最大匹配法
  • 双向最大匹配法
  • 隐马尔可夫方法

在实现时,主要选取正向最大匹配法来进行实验。但在课程后面会有一个关于逆向最大匹配法的挑战让你自己去实现,当然挑战里也会有关于逆向最大匹配法的详解。除此之外,我们还重点介绍了隐马尔可夫模型的数学原理。并将其应用在中文分词当中,实验中会介绍如何使用,并用代码来实现。

在词性标注实验中,主要会详细介绍下面几种方法:

  • 条件随机场
  • sklearn-crfsuite

词性标注目前主要使用的方法是条件随机场,因此在实验中会详细介绍其数学原理,并动手实现一个简单的条件随机场。当然,由于条件随机比较复杂,所以我们还介绍了一种常用的条件随机场实现工具。

在命名实体识别中,主要会详细讲到以下几种方法:

  • 双向长短时记忆网络
  • 双向长短时记忆网络+条件随机场的方法

在实验中,为了便于理解,会从简单的循环神经网络开始讲解。然后逐步详解长短时记忆网络的基本原理。再介绍其是如何使用在命名实体识别当中。最后讲解将其与条件随机场结合起来。

课程信息

  • 学习周期:课程有效期 2 个月, 2 个月后实验文档一直可以看,但无法进行在线实验
  • 课程价格:当前优惠价 129 元。
  • 企业团报:可获得更多支持服务,请点击购买咨询

适合人群

具有一定机器学习基础,想要进一步了解自软语言处理的同学。

实验列表

  • 实验1:自然语言处理简介
  • 实验2:基于字典的中文分词方法
  • 挑战1:实现逆向最大匹配法
  • 实验3:基于隐马尔可夫的中文分词方法
  • 挑战2:实现维特比算法
  • 实验4:基于条件随机场的词性标注方法
  • 挑战3:使用条件随机场工具进行分词
  • 实验5:基于深度学习的命名实体识别方法
  • 挑战4:实现基于规则的命名实体识别方法

补充说明

在本次课程中,主要使用 Python 来进行讲解,因此你需要有一点 Python 基础。此外,本课程还使用到了一些库,具体如下:

  • sklearn-crfsuite
  • SciPy
  • jieba
  • NumPy
  • Pandas
  • TensorFlow

由于自然语言处理相对较难,考虑到大家的基础不一样,本次课程仅讲解自然语言处理技术中常用的基础部分。也即是中文分词、词性标注、命名实体识别。