博客
关于我
NLP学习笔记10-文本表示
阅读量:142 次
发布时间:2019-02-26

本文共 1116 字,大约阅读时间需要 3 分钟。

一 序

本文属于NLP学习笔记系列。

二 one-hot 文本表示

这是一个经典的算法,将每个词表示为一个长向量,其维度等于词典的大小。向量中绝大部分元素为0,只有一个位置的值为1,表示当前词的位置。

以7个词为例,实际应用中词典可能包含几十万个词。这种表示方式虽然简单,但存在一个主要缺点:对词语的重要性缺乏体现。

2.1 单词的表示形式

通过一维向量表示,词典中的每个词对应一个位置。如果词在句子中出现(无论出现次数),则该位置标记为1。这种方式虽然直观,但难以反映词语的重要性。

2.2 句子的表达形式(不统计词频)

将词典视为一个一维向量,若词在句子中出现,则对应位置标为1。这种表示方式忽略了词语的出现频率。

2.3 句子的表达形式(统计词频)

在上述基础上,增加了词语出现次数的统计。通过对词频进行加权,可以更准确地反映词语的重要性。

三 文本的相似度

主要应用场景包括问答系统、信息检索和分类任务。

3.1 基于欧式距离的文本相似度

欧氏距离是计算两个向量之间真实距离的度量方法。在文本表示中,欧式距离可以直接用于衡量句子或文档之间的相似度。

公式为:d=|s1-s2|,其中s1和s2分别为待比较的两个向量。欧式距离越小,表示两个向量越接近,句子相似度越高。

3.2 余弦相似度

余弦相似度考虑了向量的方向性,计算方法为:cosθ = (A·B)/(||A|| * ||B||)。其中A和B为待比较向量,A·B为向量的点积,||A||和||B||分别为向量的模长(范数)。这种方法不受向量长度的影响,能够更准确地衡量向量间的夹角,从而反映文本的相似度。

优点是可以消除向量长度的影响,缺点是对高频词的过度依赖,可能导致重要性不够的词语对相似度评估产生较大影响。

四 TF-IDF 文本表示

TF-IDF是Term Frequency-Inverse Document Frequency(词频-逆文档频率)的缩写。其核心思想是:一个词在文档中出现的频率越高,其对文档的重要性可能越低。因此,我们需要通过计算逆向文档频率来增强低频词的重要性。

具体计算公式为:TF-IDF(w) = TF(w) * IDF(w)。其中,TF(w)表示词w在文档中出现的次数,IDF(w)则表示在所有包含词w的文档中,文档的数量。

这种方法的核心优势在于能够有效提升低频词的重要性,确保高频和高重要性词的权重都能得到充分体现。

缺点是对高频词过度依赖,可能导致高频但无意义词的影响较大。

总结:One-hot表示方式虽然直观,但难以反映词语的重要性;TF-IDF表示方式则通过词频和逆向文档频率的结合,能够更全面地反映词语的实际重要性。

转载地址:http://ldcy.baihongyu.com/

你可能感兴趣的文章
Python 和 RabbitMQ - 聆听来自多个渠道的消费事件的最佳方式?
查看>>
python编辑器打不开_关于命令ride.py打不开RF,而是打开pycharm编辑器问题解决思路...
查看>>
python编译exe同时支持32位_第三周:同时管理64位和32位版本的Python,并用Pyinstaller打包成exe...
查看>>
Python 和Java 哪个更适合做自动化测试?
查看>>
Python编程:掌握高级语言程序设计。从零基础到精通,收藏这篇就够了!
查看>>
python 图片转ico
查看>>
python 图片转文字、语音转文字、文字转语音保存音频并朗读
查看>>
python 在包含类似字符\x16、\x12、\x某某的数组中将以\x开头的字符找出来的方法
查看>>
Python 在并行进程之间共享字典
查看>>
Python 垃圾收集器文档
查看>>
python 基于 wordcloud + jieba + matplotlib 生成词云
查看>>
python 基于detectron或mask_rcnn的mask遮罩区域进行图片截取
查看>>
Python编程:Tkinter图形界面设计(2)
查看>>
Python 基础 - Day 5 Learning Note - 模块 之 标准库:time (1)
查看>>
Python 基础一
查看>>
python 基础操作知识整理总结
查看>>
Python 基础知识点整理与分享,期盼你的交流!
查看>>
python 基础第七篇
查看>>
Python编程:Tkinter图形界面设计(1)
查看>>
Python 基础语法:None
查看>>