词权重公式

博客主要围绕公式的定义展开,虽未给出具体内容,但明确核心为阐述公式定义这一信息技术相关概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 公式的定义

### 使用TF-IDF算法计算文本中语的重要性分数 #### 计算频 (TF) 为了量化单在单个文档内的相对频率,采用如下公式: \[ \text{TF}(t,d) = \frac{\text{术语} t \text{在文档} d \text{中的出现次数}}{\text{文档} d \text{中的总数}} \] 这里 \( t \) 表示目标汇项而 \( d \) 则代表具体的文档实例[^1]。 #### 计算逆文档频率 (IDF) 逆文档频率反映了某个特定汇在整个语料库中的稀有程度。其定义为: \[ \text{IDF}(t,D) = \log\left(\frac{|D|}{|\{d \in D : t \in d\}|}\right) \] 其中 \( |D| \) 是文档集合的大小;分母表示包含汇项 \( t \) 的文档数量。当一个越少见时,它的IDF值越高,意味着这个可能携带更多关于文档主题的信息[^4]。 #### 结合TF与IDF获得最终得分 通过乘积的方式将两者结合起来形成TF-IDF评分机制: \[ \text{TF-IDF}(t, d, D) = \text{TF}(t, d) \times \text{IDF}(t, D) \] 这使得那些既频繁出现在当前文档又不常见于整个语料库里的关键能够脱颖而出,从而更好地反映它们相对于其他汇的独特价值[^2]。 下面给出一段Python代码来展示如何基于上述原理实现简单的TF-IDF计算功能: ```python import math from collections import Counter def compute_tf(text): words = text.split() word_counts = Counter(words) total_words = len(words) tf_dict = {word: count / float(total_words) for word, count in word_counts.items()} return tf_dict def compute_idf(documents): N = len(documents) idf_dict = {} all_words_set = set([word for doc in documents for word in doc.split()]) for word in all_words_set: df = sum(1 for doc in documents if word in doc) idf_dict[word] = math.log(N/float(df)) return idf_dict def compute_tfidf(tf_doc, idfs): tfidf = {} for word, val in tf_doc.items(): tfidf[word] = val * idfs.get(word, 0) return tfidf documents = [ "the cat sat on the mat", "the dog ate my homework" ] tf_docs = [compute_tf(d) for d in documents] idfs = compute_idf(documents) for i, tf_doc in enumerate(tf_docs): print(f"Document {i+1}:") tfidf_scores = compute_tfidf(tf_doc, idfs) for term, score in sorted(tfidf_scores.items(), key=lambda item:item[1], reverse=True)[:5]: print(f"\t{term}: {score:.3f}") ``` 这段程序首先分别计算每篇文档内各的TF值以及全局范围内所有不同对应的IDF值,最后利用这两个数值相乘得出各个条针对各自所属文档的具体TF-IDF得分情况并按降序排列显示前五名的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值