比较PHP中两个字符串中单词的用法

比较PHP中两个字符串中单词的用法,php,Php,我如何比较句子中单词的相似性,而不是句子中的字符 我知道 similar_text($strA, $strB, $percentage); 返回两个字符串之间的相似度百分比,但如何对单词执行此操作。因此,它不是看字符串中字符之间的相似性,而是比较不同单词的内容 我能想到的实现这一点的唯一方法是给每个单词(空格之间的位)分配一个数字,并比较使用的数字,但这不是解决这个问题的最佳方法。就我所见,这简直是太复杂了 任何帮助都将不胜感激。计数(常用单词)/计数(一个数组中的单词总数)*100。 e、

我如何比较句子中单词的相似性,而不是句子中的字符

我知道

similar_text($strA, $strB, $percentage);
返回两个字符串之间的相似度百分比,但如何对单词执行此操作。因此,它不是看字符串中字符之间的相似性,而是比较不同单词的内容

我能想到的实现这一点的唯一方法是给每个单词(空格之间的位)分配一个数字,并比较使用的数字,但这不是解决这个问题的最佳方法。就我所见,这简直是太复杂了

任何帮助都将不胜感激。

计数(常用单词)/计数(一个数组中的单词总数)*100。 e、 g.每个数组有20个和30个单词,交集生成5个。因此,5/20=25%与一个阵列共用,5/30=16.7%与另一个阵列共用


由Marc B提交

请提及一些可能的解决问题的方法以及您尝试过的方法。将字符串按单词排列成数组,array_intersect(),然后查看两者之间有多少个单词是相同的。@Marc B Ok很好,这是可行的,但我可以把这些数字转换成百分比,这样我就可以发现这些字符串是否超过n%相似?(或具有相同效果的内容
计数(常用词)/count(一个数组中的总词)*100
。例如,您的数组中每个有20个和30个词,您的交集产生5个。因此,一个数组的5/20=25%,另一个数组的5/30=16.7%。@MarcB Brilliant,谢谢