嗨,我有一个相对较大的文本块,我想找到其中最常见的关键字,并计算这些关键字的密度.我想到的方式似乎可能很慢或性能要求和困难:
迭代文本块中的每个单词.
为每个单词找到所有相同的匹配数计算每个单词的总匹配数.取最前面的5个匹配项,然后计算它们相对于总计块的密度.输出结果
使用jquery有没有简单快捷的方法呢?
var text = "Lorem ipsum ...";
var word_list = text.split(/\W+/); // Split the text into words.
var counts = {};#
Allocate a dictionary
for (var i = 0; i < word_list.length; ++i) {
var word = word_list[i];
counts[word] = (counts[word] || 0) + 1; // Increment count by one.
}
var densities = {};
for (word in counts) {
densities[word] = parseFloat((counts[word] / word_list.length) * 100).toFixed(2); // Calculates all the densities percentage.
}
Run Code Online (Sandbox Code Playgroud)
剩下的就是获得最频繁的.
您可能希望更改文本拆分为关键字的方式,或者过滤非常常见/简短的单词.现在"它的"最终被分成'它','s'.这可能不是你想要的.
| 归档时间: |
|
| 查看次数: |
873 次 |
| 最近记录: |