zoukankan      html  css  js  c++  java
  • 自然语言处理3-1:文本表示之one-hot representation

    词的one-hot表示

    下面直接举例吧

    现在假设我们有一个词典库【“我们”,“去”,“爬山”,“今天”,“你们”,“昨天”,“跑步”】,对于“我们”这个词,可以用这么一个向量表示,向量的维度是词典库的长度,这个向量的元素是0和1。由于“我们”在词典中是第一个位置,所以对应的向量第一个元素是1,其他位置元素是0,即【1,0,0,0,0,0,0】

    对于“去”这个单词,它在词典库中是第二个位置,所以对应的向量第二个元素是1,其他元素是0,即【0,1,0,0,0,0,0】

    同理,对于“你们”这个单词,对应的one-hot向量为【0,0,0,0,1,0,0】

    ……

    总结:one-hot向量的维度等于词典库的大小,每一个单词对应的one-hot向量只有一个元素是1,其他元素是0。并且1这个元素所在的位置就是该单词在词典库中的位置

    句子的one-hot表示

    还是举例吧

    第一种是boolean representation:

    例如,对于“我们今天去爬山”这一句话,仍然构造一个向量,且向量的维度等于词典的大小。这个向量的元素也是0或者1。如果某个单词在句子中出现了,那么向量中对应位置的元素是1,否则是0。例如,“我们”在词典中位置是1,所以向量第一个元素是1,“今天”在词典中的位置是4,所以向量的第4个元素是1,“去”在词典中的位置是2,所以向量的第2个元素是1,“爬山”在词典中的位置是3,所以向量的第3个元素是1。而向量的其他位置的元素则是0。该向量为【1,1,1,1,0,0,0】

    而对于“你们昨天去爬山”这一句话,因为“你们”在词典库中的第5个位置,“昨天”在第6个位置,所以对应的one-hot向量是【0,1,1,0,1,1,0】

    总结:句子的Boolean representation 对应的one-hot向量维度也是词典库的长度,元素是0或者1。对于向量的第k个元素,如果词典库中的第k个词出现在句子中,那么其值为1,否则为0

    第二种是count-based representation

    和Boolean representation的区别是,它的向量的值的范围是所有非负整数,每一个值代表的是对应位置的单词在句子中的出现次数。例如“我们昨天去爬山今天去爬山”,“我们”出现了1次,所以第一个元素的值是1,“昨天”,“今天”也是出现一次,所以第4个和第6个元素的值是1。“去”和“爬山”出现了两次,所以向量的第2和第3个元素的值是2,即【1,2,2,1,0,1,0】

  • 相关阅读:
    MF研究:TinyCLR运行时原理
    不到600美元,即可获取一套MF Porting kit 3.0
    SideShow Gadget开发[1]
    我眼中的WinHEC大会台前幕后
    Visual C++ 2008入门经典 第四章数组 字符串(二) 简单
    PHP的常用函数 简单
    Visual C++ 2008入门经典 第五章程序结构(二) 简单
    用PHP将Unicode 转化为UTF8 简单
    sql GROUP_CONCAT(... SEPARATOR) 简单
    Visual C++ 2008入门经典 第四章数组 字符串(练习题) 简单
  • 原文地址:https://www.cnblogs.com/loubin/p/13702696.html
Copyright © 2011-2022 走看看