|
|
1
2
假设您有一种评估分类的方法,您可以使用“增强”方法进行机器学习。增强分类器使用一组弱分类器组合到强分类器。 比如,你有你的语料库和k个你可以使用的外部单词表。 选取n个频率阈值。例如,您可能有10个阈值:0.1%、0.2%、…、1.0%。 对于语料库和每个外部单词列表,创建n个“专家”,每个单词列表/语料库每个阈值一个专家,共n个*(k+1)专家。每个专家都是一个弱的分类器,有一个非常简单的规则:如果单词的频率高于其阈值,他们会认为该单词是“普通”的。每个专家都有分量。 学习过程如下:将权重1分配给每个专家。对于语料库中的每个词,让专家投票。投票总数:普通票的1*权重(i)和罕见票的-1*权重(i)。如果结果为正数,则将该词标记为“common”。 现在,总体思路是评估分类,增加对专家的权重,减少错专家的权重。然后一次又一次地重复这个过程,直到你的评价足够好为止。 重量调整的细节取决于如何评估分类。例如,如果您没有每个单词的评估,那么您可能仍然将分类评估为“太多常见”或“太多稀有”单词。在第一种情况下,提升所有的专业“稀有”专家,降低所有的专业“普通”专家,反之亦然。 |
|
|
2
1
你的分布很可能是 Pareto distribution (上述Zipf定律的超集)。我很震惊,最常用的词只使用了100次-这包括“a”和“the”之类的词吗?如果相同的话,你必须有一个小语料库。 无论如何,你必须为“稀有”和“普通”选择一个截止点。一个可能的选择是平均预期出现次数(请参阅上面链接的wiki文章来计算平均值)。由于分布的“肥尾”,相当少的词会出现在平均数之上——这些是“常见的”。其余的“稀有”。这将产生这样的效果,即更多的单词是罕见的,而不是普通的。不确定这是否是您要做的,但您可以上下移动截止值以获得所需的分布(例如,所有预期值为50%的单词都是“常见”的)。 |
|
|
3
0
虽然这不是你问题的答案,但你应该知道你在这里发明了一个轮子。 信息检索专家已经设计出根据搜索词的频率来加权搜索词的方法。一个很流行的重量是 TF-IDF 在文档中使用单词的频率,在语料库中使用单词的频率。TF-IDF也解释了 here . 另一个分数是 Okapi BM25 使用相似的因素。 也见 Lucene Similarity documentation 关于tf-idf是如何在流行的搜索库中实现的。 |
|
|
RSW · Python-检查序列中的最后一个值是否相对高于其余值 2 年前 |
|
|
mayen · Z-Score作为差异值的度量 2 年前 |
|
|
John Philips · Python中的重命名函数 2 年前 |
|
|
Yneedtobeserious · 给定的数据点,形成它们的关系 2 年前 |
|
|
Idan Hazan · 转换总和为1的列表并保持值之间的关系[重复] 2 年前 |
|
|
Jimmy3421 · 为什么pd.cut会产生NaN值 2 年前 |
|
|
JoRayMe · 有没有办法从数据数组中识别浮点数中的小数位数? 2 年前 |