如何从一段文本中找出我最常用的两个单词是什么?换句话说,是否有一个在线或离线(或代码)工具,我可以在其中复制和粘贴文本,它会输出我最常用的两个词频,例如:
从最常用到最少:
“猫” 2.9% “她说” 1.8% “去” 1.2%
谢谢
如何从一段文本中找出我最常用的两个单词是什么?换句话说,是否有一个在线或离线(或代码)工具,我可以在其中复制和粘贴文本,它会输出我最常用的两个词频,例如:
从最常用到最少:
“猫” 2.9% “她说” 1.8% “去” 1.2%
谢谢
这很有趣,但我有一点尝试,这应该让你开始,而不是你的答案。
这基本上是将单词分组为2,将它们索引到一个数组中并增加找到的时间,最后转换为百分比:)
$data = 'In the first centuries of typesetting, quotations were distinguished merely by indicating the speaker, and this can still be seen in some editions of the Bible. During the Renaissance, quotations were distinguished by setting in a typeface contrasting with the main body text (often Italic type with roman, or the other way round). Block quotations were set this way at full size and full measure.
Quotation marks were first cut in type during the middle of the sixteenth century, and were used copiously by some printers by the seventeenth. In Baroque and Romantic-period books, they could be repeated at the beginning of every line of a long quotation. When this practice was abandoned, the empty margin remained, leaving an indented block quotation';
//Clean The Data from un required chars!
$data = preg_replace("/[^\w]/"," ",$data);
$segments = explode(" ",$data);
$indexes = array();
for($i=0;$i<count($segments);$i++)
{
if($i == 0)
{
continue;
}
if(trim($segments[$i - 1]) != "" && trim($segments[$i]) != "")
{
$key = trim($segments[$i - 1]) . " " . trim($segments[$i]);
if(array_key_exists($key,$indexes))
{
$indexes[$key]["count"]++;
}else
{
$indexes[$key] = array(
'count' => 1,
'words' => $key
);
}
}
}
//Change to the percentage:
$total_double_words = count($segments);
foreach($indexes as $id => $set)
{
$indexes[$id]['percentage'] = number_format((($set['count']/ $total_double_words) * 100),2) . "%";
}
var_dump($indexes);
你可以在这里看到它:http: //codepad.org/rcwpddW8