我正在进行一个个人项目,旨在构建一个文本分类器。我从8个类别中抓取了大约3000篇新闻文章。我有一个数据框,包含每篇文章中每个单词及其所属的文章类别标签。
我在网上看到的答案提到在整篇文章或文本块上使用tfidf。有什么方法可以分析单个单词吗?
以下是我目前数据的示例:
Word: Category:Mobile Science/techPhone Science/techGoogle Science/techFacebook Science/techImplant Science/techInterest Business/economyBank Business/economyIMF Business/economyDownturn Business/economyPresident PoliticsDonald PoliticsTrump Politicsetc... etc...
我为糟糕的格式感到抱歉;我在这方面还比较新手。
回答:
没有办法用tf-idf分析单个单词,如果你问这个问题,我认为你对TF-IDF的理解还不清楚。
我会尽量清楚地解释tf-idf。
TF-IDF是一种计算文本中某些单词的“分数”或“权重”的方法,相对于一个语料库(文本集)。这将赋予单词在它们所在的文本中的重要性。因此,对于一个给定单词出现的每个文本,你将得到一个分数。
TF-IDF的第一部分是TF:
- TF代表词频,它会随着单词在文本中使用的次数增加而使分数增大,使用的次数越多,TF值就越大。
第二部分是IDF:
- IDF代表逆文档频率,这是一个应该随着术语在整个语料库中重复出现的次数增加而减小的系数。
通过将这两个系数相乘,你将得到一个单词在文本中相对于语料库的“重要性”。
这里有一个例子,如果单词“Mobile”出现在两篇文章中,一篇关于商业(如手机的销售),另一篇关于技术,你将在语料库中获得两个“Mobile”的分数,当你在未知文章中遇到这个单词时,你可以将未知文章中不同单词的分数相加,你就能相当准确地判断未知文章在讲什么。