ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

华为AI全栈成长计划课程——AI应用篇——第二周笔记

2020-11-30 22:34:43  阅读:288  来源: 互联网

标签:词性 AI 基于 全栈 第二周 自然语言 语料 分词 标注


第2章 人工智能的诗与远方:NLP案例

2.1 NLP介绍

    自然语言处理

  • 自然语言处理(NLP, Natural Language Processing),作为AI领域中最重要的分支之一,与语言文字这一承载人类文明的重要载体紧密相连,研究语言能力和语言应用的模型,建立计算机(算法)框架来实现这样的语言模型,并完善、评测、最终用于设计各种实用系统。
  • 自然语言处理领域常见任务,并按照任务类型分成五大类:
  1. 词法分析:对自然语言进行词汇层面的分析,是NLP基础性工作。
  2. 句子分析:对自然语言进行句子层面的分析,包括句法分析和其他句子级别的分析任务。
  3. 语义分析:对给定文本进行分析和理解,形成能够表达语义的形式化表示或分布式表示。
  4. 信息抽取:从无结构文本中抽取结构化的信息。
  5. 顶层任务:直接面向普通用户,提供自然语言处理产品服务的系统级任务,会用到多个层面的自然语言处理技术。

    神经网络语言模型发展

  1. 语言模型:语言模型就是用来计算一个句子的概率的模型,也就是判断一句话是否是人说出来的自然句子的概率。语言模型包括文法语言模型和统计语言模型。
  2. 词向量(word embedding):词向量是为了解决自然语言处理领域的文字信息表示问题。在自然语言处理领域,将每个词映射成一个向量编码,作为神经网络的输入。词向量的核心问题是上下文与目标词之间的关系建模。
  3. ELMO:Word Embedding无法解决多义词问题,Word Embedding本质是一个静态的方式,不会根据上下文的改变而变化。所以引出ELMO(Embedding from Language Models)。
  4. GPT(Generative Pre-Training):其含义是指的生成式的预训练。GPT 的预训练虽然仍然是以语言模型作为目标任务,但是采用的是单向的语言模型,单向的含义是指:只使用单词的上文来进行预测,而抛开了下文。
  5. NNLM(神经网络语言模型):通过为每个单词学习一个分布式表征来实现在连续空间上的建模。
  6. Transformer:Transformer 是个叠加的自注意力机制(Self Attention)构成的深度网络,是目前NLP里最强的特征提取器。

    语料

  • 在自然语言处理领域,数据就是语料,语料的集合被称为语料库(Corpus)。语料的获取方式有以下几种:
  1. 业务提供的已有语料
  2. 国内外标准开放数据集
  3. 通过爬虫抓取网络数据(合法情况下)
      在获取语料的基础上,另一个重要的步骤是语料的预处理。语料的质量直接影响模型的训练性能,噪声很大、与任务无关的语料需要进过一系列预处理工作才可以被使用。在一个完整的中文自然语言处理工程应用中,语料预处理大概会占到50%-70%的工作量。常用的语料预处理方式包括:去除不规则符号及格式,人工去重、对齐、删除和标注等,或者规则提取内容、正则表达式匹配、根据词性和命名实体提取、编写脚本或者代码批处理等。

    jieba中文分词组件

  • 近年来,随着 NLP 技术的日益成熟,开源的分词工具越来越多,如Ansj、盘古分词等。在本部分中,我们选取了优秀的 Python 中文分词组件——jieba。

    1 分词

  • 分词任务是中文自然语言处理的基础性工作。汉语是以字位单位,不像西方语言,词与词之间没有空格之类的标志指示词的边界。词是最小的能够独立活动的有意义的语言成分,因此分词的好坏直接对后续文本处理任务起到关键作用。
  • 中文分词示例:
    北京 / 故宫 / 是 / 中国 / 明清 / 两代 / 的 / 皇家 / 宫殿 / , / 旧称 / 紫禁城,位于 / 北京 / 中轴线 / 的 / 中心 / , / 是 / 中国 / 古代 / 宫廷 / 建筑 / 之 / 精华 / 。 / 北京 / 故宫 / 占地 / 面积 / 72 / 万 / 平方米 / , / 建筑 / 面积 / 约 / 15 / 万 / 平方米 / 。
  • 中文分词方法
  1. 基于字典、词库匹配的分词方法(基于规则):基于字符串匹配分词,机械分词算法。将待分的字符串与一个充分大的机器词典中的词条进行匹配。分为正向匹配和逆向匹配;最大长度匹配和最小长度匹配;单纯分词和分词与标注过程相结合的一体化方法。所以常用的有:正向最大匹配,逆向最大匹配,最少切分法。
  2. 基于词频度统计的分词方法(基于统计):相邻的字同时出现的次数越多,越有可能构成一个词语,对语料中的字组频度进行统计,基于词的频度统计的分词方法是一种全切分方法。
  3. 基于知识理解的分词方法:该方法主要基于句法、语法分析,并结合语义分析,通过对上下文内容所提供信息的分析对词进行定界。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式。因此目前基于知识的分词系统还处在试验阶段。
  • jieba 分词结合了基于规则和基于统计这两类方法。
      首先基于前缀词典进行词图扫描,前缀词典是指词典中的词按照前缀包含的顺序排列,例如词典中出现了“广”,之后以“广”开头的词都会出现在这一部分,例如“广东”,进而会出现“广东省”,从而形成一种层级包含结构。
      如果将词看作节点,词和词之间的分词符看作边,那么一种分词方案则对应着从第一个字到最后一个字的一条分词路径。
      因此,基于前缀词典可以快速构建包含全部可能分词结果的有向无环图,这个图中包含多条分词路径,有向是指全部的路径都始于第一个字、止于最后一个字,无环是指节点之间不构成闭环。
      基于标注语料,使用动态规划的方法可以找出最大概率路径,并将其作为最终的分词结果。对于未登录词,jieba使用了基于汉字成词的 HMM(隐马尔可夫模型)模型,采用了 Viterbi(维特比)算法进行推导。
  • jieba 分词支持三种分词模式:
  1. 全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
  2. 精确模式:试图将句子最精确地切开,适合文本分析;
  3. 搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

    2 关键词提取

  • 关键词提取就是从文本里面把跟这篇文章意义最相关的一些词语抽取出来,在文献检索、自动文摘、文本分类等方面有着重要的应用。
      目前比较常用的关键词提取算法都是基于无监督算法,如:TF-IDF 算法,TextRank 算法和主题模型算法(包括LSA,LSI,LDA等)。
      jieba 提供了两种关键词提取方法,分别基于 TF-IDF 算法和 TextRank 算法。
  • TF-IDF 算法
      TF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率)是一种统计方法,用以评估一个词语对于一个文件集或一个语料库中的一份文件的重要程度,其原理为:一个词语在一篇文章中出现次数越多,同时在所有文档中出现次数越少,越能够代表该文章。
  • TextRank 算法
      TextRank是另一种关键词提取算法,其基本思想来源于PageRank算法,通过把文本分割成若干组成单元(单词、句子)并建立图模型,利用投票机制对文本中的重要成分进行排序,仅利用单篇文档本身的信息即可实现关键词提取、文摘。

    3 词性标注

  • 词性标注(POS tagging,Part-Of-Speech tagging)也被称为语法标注,是自然语言处理中一项非常重要的基础性工作。
      词性标注是各类基于文本的机器学习任务,例如语义分析和指代消解的预处理步骤。
      词性是词汇基本的语法范畴,通常也称为词类,主要用来描述一个词在上下文的作用。例如,描述一个概念的词就是名词,在下文引用这个名词的词就是代词。有的词性经常会出现一些新的词,例如名词,这样的词性叫做开放式词性。另外一些词性中的词比较固定,例如代词,这样的词性叫做封闭式词性。因为存在一个词对应多个词性的现象,所以给词准确地标注词性并不是很容易。例如,“改革”在“中国开始对计划经济体制进行改革”这句话中是一个动词,但是在“医药卫生改革中的经济问题”这个句子中是一个名词。把这个问题抽象出来,就是已知单词序列,给每个单词标注词性。
      目前采用的词性标注方法主要有基于统计模型的标注方法、基于规则的标注方法、统计方法与规则方法相结合的方法、基于有限状态转换机的标注方法和基于神经网络的词性标注方法。
      jieba 中提供了词性标注功能,可以标注标注句子分词后每个词的词性,词性标注集采用北大计算所词性标注集,属于采用基于统计模型的标注方法。

2.2 华为云对话机器人服务介绍

省略

2.3 华为云对话机器人服务使用指导

省略

2.4 BERT模型完成中文命名实体识别

    自然语言处理(NLP)——中文命名实体识别(NER)

  • 分类任务:分词,词性标注,拼写矫正
  • 词法分析:文本分类,情感计算
  • 命名实体识别:术语抽取,关系抽取
  • 顶层任务:机器翻译,问答系统,阅读理解
  • 命名实体:三大类(实体类、时间类和数字类),七小类(人名、地名、机构名、时间、日期、货币和百分比)

    BERT——Bidirectional Encoder Representations from Transformers

  • 使用庞大的开源语料库在64块TPU上训练4天
  • TPU的速度约是GPU Tesla V100的8倍

    完整PPT<参考资料来自华为云学院,仅供学习资料参考,侵删,感谢各位!>

标签:词性,AI,基于,全栈,第二周,自然语言,语料,分词,标注
来源: https://www.cnblogs.com/Sno-W-olF/p/14062235.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有