美文网首页NLP&NLU
文本向量化表示方法一(词袋模型)

文本向量化表示方法一(词袋模型)

作者: top_小酱油 | 来源:发表于2018-01-31 17:42 被阅读1880次

    词袋(Bag-of-words)模型简介


    Bag-of-words模型是信息检索领域常用的文档表示方法。在信息检索中,BOW模型假定对于一个文档,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的,不依赖于其它单词是否出现。也就是说,文档中任意一个位置出现的任何单词,都不受该文档语意影响而独立选择的。

    将两篇文本通过词袋模型变为向量模型,通过计算向量的余弦距离来计算两个文本间的相似度。

    词袋模型的缺点: 

    词袋模型最重要的是构造词表,然后通过文本为词表中的词赋值,但词袋模型严重缺乏相似词之间的表达。 

    比如“我喜欢北京”“我不喜欢北京”其实这两个文本是严重不相似的。但词袋模型会判为高度相似。 

    “我喜欢北京”与“我爱北京”其实表达的意思是非常非常的接近的,但词袋模型不能表示“喜欢”和“爱”之间严重的相似关系。(当然词袋模型也能给这两句话很高的相似度,但是注意我想表达的含义)


    具体案例:   

        例如有如下两个文档:

         1:Bob likes to play basketball, Jim likes too.

         2:Bob also likes to play football games.

        基于这两个文本文档,构造一个词典如下:

    Dictionary = {1:”Bob”, 2. “like”, 3. “to”, 4. “play”, 5. “basketball”, 6. “also”, 7. “football”, 8. “games”, 9. “Jim”, 10. “too”}。

        这个词典一共包含10个不同的单词,利用词典的索引号,上面两个文档每一个都可以用一个10维向量表示(用整数数字0~n(n为正整数)表示某个单词在文档中出现的次数):

         1:[1, 2, 1, 1, 1, 0, 0, 0, 1, 1]

         2:[1, 1, 1, 1 ,0, 1, 1, 1, 0, 0]

        向量中每个元素表示词典中相关元素在文档中出现的次数。不过,在构造文档向量的过程中可以看到,我们并没有表达单词在原来句子中出现的次序(这是本Bag-of-words模型的缺点之一,不过瑕不掩瑜甚至在此处无关紧要)。

    参考博客:http://blog.csdn.net/lxg0807/article/details/78615917

    http://blog.csdn.net/wsj998689aa/article/details/47089153

    相关文章

      网友评论

        本文标题:文本向量化表示方法一(词袋模型)

        本文链接:https://www.haomeiwen.com/subject/ufelzxtx.html