网站管理的内容包括,中山网站软件,网站系统管理计划,做app多少钱文档分词与词汇权重 1、文档分词2、词汇权重#xff08;TF-IDF#xff09; 1、文档分词 文本分类主要做的是如何提取文本中的主要信息。那么#xff0c;如何衡量哪些信息是主要信息呢#xff1f;
我们知道#xff0c;一篇文档是由若干词汇组成的#xff0c;也就是文档的… 文档分词与词汇权重 1、文档分词2、词汇权重TF-IDF 1、文档分词 文本分类主要做的是如何提取文本中的主要信息。那么如何衡量哪些信息是主要信息呢
我们知道一篇文档是由若干词汇组成的也就是文档的主要信息是词汇。从这个角度来看我们就可以用一些关键词来描述文档
这种处理文本的方式叫做词袋Bag of Words模型该模型会忽略文本中的词汇出现的顺序以及相应的语法将文档看做是由若干单词组成的且单词之间相互独立没有关联
要想提取文档中的关键词就需要对文档进行分词。分词的方法一般是基于统计和机器学习需要人工标注词性和统计特征训练分词模型
值得注意的是分词后词汇中必定存在一些普遍使用的停用词详见传送门这些停用词对文档分析作用不大因此在文档分析之前需要将这些词去掉
另外分词阶段还需要处理同义词很多时候一个事物有多个不同的名称例如番茄和西红柿等
中文分词与英文分词是不同的它们需要不同的分词库进行处理
中文分词jieba英文分词NLTK
关于jieba中文分词库和NLTK英文分词库的介绍与使用详见文章传送门
2、词汇权重TF-IDF 有了分词那么哪些关键词对文档才是重要的呢
例如可以通过词汇出现的次数次数越多就表示越重要。更为合理的方法是计算词汇的TF-IDF值
TF-IDFTerm Frequency-Inverse Document Frequency词频-逆文档频率是一种统计方法用来评估一个词汇对一篇文档的重要程度。词汇的重要性随着它在文档中出现的次数成正比增加但同时会随着它在语料库中出现的频率成反比下降 TFTerm Frequency即词频指某个特定的词汇在该文档中出现的次数 T F ω 词汇 ω 出现的次数 文档中的总词汇数 \mathrm{ TF_\omega\frac{词汇\omega出现的次数}{文档中的总词汇数}} TFω文档中的总词汇数词汇ω出现的次数 IDFInverse Document Frequency即逆向文档频率指一个词汇在文档中的类别区分度。它认为一个词汇出现在文档的数量越少这个词汇对该文档就越重要就越能通过这个词汇把该文档和其他文档区分开 I D F ω log 语料库中的文档总数 包含词汇 ω 的文档数 1 \mathrm{ IDF_\omega\log \frac{语料库中的文档总数}{包含词汇\omega的文档数1}} IDFωlog包含词汇ω的文档数1语料库中的文档总数
IDF是一个相对权重值 log \log log的底数可以自定义。其中分母加1是为了避免分母为0有些单词可能不在文档中出现
某一特定文档内的高频词汇以及该词汇在整个文档集合中的低频率文档可以产生出高权重的TF-IDF。因此TF-IDF倾向于过滤掉常见的词汇保留重要的词汇 T F − I D F ω T F ω × I D F ω \mathrm{ TF\!-\!IDF_\omega TF_\omega×IDF_\omega} TF−IDFωTFω×IDFω
以下是一个示例
假设一篇文章中共有2000个单词“中国”出现100次。假设全网共有1亿篇文章其中包含“中国”的有200万篇。求单词“中国”的TF-IDF值 T F ( 中国 ) 100 / 2000 0.05 I D F ( 中国 ) log 10 1 亿 200 万 1 1.70 T F − I D F ( 中国 ) 0.05 × 1.70 0.085 \begin{align} \mathrm{TF(中国) 100 / 2000 0.05} \notag \\[2ex] \mathrm{IDF(中国) \log_{10} \frac{1亿}{200万1} 1.70} \notag \\[3ex] \mathrm{TF\!-\!IDF(中国) 0.05 × 1.70 0.085} \notag \end{align} TF(中国)100/20000.05IDF(中国)log10200万11亿1.70TF−IDF(中国)0.05×1.700.085
通过计算文档中词汇的TF-IDF值我们就可以提取文档中的特征属性。即就是将TF-IDF值较高的词汇作为文档的特征属性
Sklearn提供了计算TF-IDF值的APITfidfVectorizer。具体使用详见下篇传送门