深度学习 第五章 自然语言处理与深度学习

深度学习入门视频-唐宇迪 (笔记加自我整理)

深度学习 第五章 自然语言处理与深度学习

        自然语言处理主要是处理文本数据,是一种非结构化的数据,是一个非常热的方向,主要应用在拼写检查、机器翻译、客服系统等。这一章简单介绍下整体的发展,最主要的是word2vec词嵌入模型,word2vec不仅可以用在文本上,也可以延伸到推荐领域计算商品之间的相似性。

       一般文本数据都需要进行预处理,如果是网络爬虫得到的数据,需要提前去掉一些html的标签,变成我们常见的文章的形式,然后去除标点符号。文本数据一般都是一段话或者是一篇文章,但是自然语言处理的基本单元是单词,如果是中文的话,还需要对句子进行分词,一般使用jieba分词器,如果是英文则不用分词,分词就是把句子分成一个一个的单词。之后需要去掉一些停用词,比如英文里面的the,a,这些没有实际含义的词,中英文都有对应常见的停用词表,网上都有。最后再把词组重新组成句子,整个过程就是文本数据的预处理,用预处理的数据进行之后的建模操作。

1.  词袋模型

         词袋模型,顾名思义,就是把每一篇文章当成一个袋子,把对应文章里面包含的单词放到对应的袋子中。以每一篇文章(每个袋子)为单位,计算当前这篇文章中单词的重要性,抽取出最重要的前几n个单词,代表本篇文章。

       如何计算单词的重要性,有两种方法比较常见,一种是统计词频,就是袋子中每个单词出现的次数,取出现次数最大的前n个单词,比如前5000个;另一种叫tf-idf 词频-逆文档频率,即tf*idf,tf是指某个单词在某一篇文章中出现的频率,idf是指你文档频率,主要是表示该单词代表含义的重要程度,idf(t) = log( 文章总数 / (包含该单词的文章数+1 )) , idf可以理解为如果一个单词在越多的文档中出现,那么这个单词越不重要。tf*idf是指,某个单词在当前文章中出现频率越高,而且在其他文章中出现从次数越少,这个单词越能代表当前这篇文章的含义。这两种都不考虑词和词之间的顺序性。

  • 计算词的重要性有两种方法:
    • 词频统计,简单粗暴,scikit-learn中的CountVectorizer
    • tf-idf(词频-逆文档频率),  即 词频tf *  词义的重要性idf

2.语言模型 n-gram

        语言模型,就是计算一个句子的概率的模型,句子中的每个单词都和其前面的所有单词相关,然后将每个单词出现的概率相乘,就得到这个句子可能出现的概率。这里计算的是每个单词在前面单词出现的情况下出现的频率,即都是条件概率。比如“今天”P(w2|w1) 出现的概率,计算的是在“我”出现的情况下,出现“今天”的概率,最终句子的概率是所有单词的条件概率相乘。

      

        但是这样存在一个问题,每一个单词都依赖该单词前面出现的所有单词,会导致单词条件概率的值特别小,数据特别稀疏,而且从语义上来看,大部分单词都只和它附近的几个单词比较相关,所以出现了n-gram模型,n是需要自己指定的,可以是1-gram,2-gram,3-gram等,常用1-gram和2-gram。

  • 说明
    • 1-gram模型,是指当前单词出现的频率只和其前面的一个单词有关系
    • 2-gram模型,是指当前单词出现的频率只和其前面的两个单词有关系
    • n-gram模型,依次类推。

         

  •     1-gram的计算过程
    • 目标:预测的目标句子(I want english food)出现的概率
    • 说明:
    • 0
      点赞
    • 7
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    以下是适合本科学习的人工智能自然语言处理资料: 1. "自然语言处理入门"(第二版) by Jacob Eisenstein, Emily Bender and Martha Palmer:这本教科书是介绍自然语言处理基础的经典著作。它涵盖了自然语言处理的各个方面,包括语言模型、文本分类、信息抽取、词向量、机器翻译等等。该书也提供了许多练习和案例研究,帮助读者巩固所学知识。 2. "Python自然语言处理"(第二版) by Steven Bird, Ewan Klein, and Edward Loper:这本书介绍了如何使用Python进行自然语言处理。它涵盖了许多有用的技术,包括正则表达式、词干提取、文本分类、语言模型等等。书中还包含了很多代码示例和案例研究,非常适合自学。 3. "自然语言处理综述"(第二版) by Daniel Jurafsky and James H. Martin:这本书介绍了自然语言处理的一些基础概念和技术,如句法分析、语义分析、情感分析等等。该书的目的是介绍自然语言处理的广泛领域,对于对该领域感兴趣的学生来说非常有价值。 4. "机器学习"(周志华著):虽然该书不是关于自然语言处理的专业书籍,但它是机器学习方面的经典教材。由于自然语言处理是一个机器学习的应用领域,因此该书的知识对于理解和应用自然语言处理技术非常有帮助。 5. "TensorFlow实战Google深度学习框架"(第二版) by 黄文坚, 唐源等人:本书介绍了如何使用TensorFlow这个流行的深度学习框架来构建自然语言处理模型。读者可以学习如何使用神经网络来处理文本数据、进行文本分类、语言模型等等。书中还包含了许多代码示例和案例研究,适合自学。 以上是一些适合本科学习的人工智能自然语言处理资料,建议学生们选择自己感兴趣的书籍进行学习。

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值