人工智能

中文NLP笔记:5. 文本数据如何转换成计算机能够计算的数据

2019-01-31  本文已影响360人  不会停的蜗牛

文本数据如何转换成计算机能够计算的数据

中文NLP笔记:5. 文本数据如何转换成计算机能够计算的数据

1. 词袋模型(Bag of Words Model)

  把文本(段落或者文档)看作无序的集合,忽略语法和单词的顺序,计算每个单词出现的次数

  实战步骤:

  例如有三句话语料

    ["机器学习带动人工智能飞速的发展。",

              "深度学习带动人工智能飞速的发展。",

              "机器学习和深度学习带动人工智能飞速的发展。"

              ]

  1.引入 jieba 分词器、语料和停用词集合

  2.对语料进行分词操作,用到 lcut() 方法:

  3.去掉停用词和标点符号

  4.把所有的分词放到一个袋子(List)里面,取并集,去重,得到特征词结果

    ['飞速', '的', '深度', '人工智能', '发展', '和', '机器', '学习', '带动']

  5.最后得到三句话的词袋向量

    [[1, 1, 0, 1, 1, 0, 1, 1, 1], [1, 1, 1, 1, 1, 0, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1]]


2. 词向量 (Word Embedding)

  One-Hot Encoder

  向量的长度为整个语料库的大小,每个单词的向量在它自己对应位置上的数值为1,其他位置上为0

  这样的词向量看不出词语之间可能存在的关联关系

  形成的矩阵过于稀疏,会造成维度灾难。

  Word2Vec

  是 Google 团队2013年推出的,被广泛应用在自然语言处理任务中

  主要包含两种模型:Skip-Gram 和 CBOW

  可以将 One-Hot Encoder 转化为低维稠密向量

  相似单词之间的距离比较近


学习资料:

《中文自然语言处理入门实战》

上一篇 下一篇

猜你喜欢

热点阅读