比较单词,还需要查找复数和ing?

dar*_*ron 5 php regex mysql search

我有两个单词列表,假设LIST1和LIST2.我想比较LIST1与LIST2以找到重复项,但它应该找到该单词的复数形式以及形式.例如.

假设LIST1有单词"account",而LIST2有单词"accounts,accounting"当我做比较时,结果应显示两个匹配单词"account".

我在PHP中做它并在mysql表中有LIST.

Mar*_*ker 5

您可以使用一种名为porter stemming的技术将每个列表条目映射到其词干,然后比较词干.可以在此处此处找到PHP中的Porter Stemming算法的实现.


小智 0

我要做的就是将你的单词直接与 LIST2 进行比较,同时从你正在比较的每个单词中删除你的单词,寻找剩余的 ing、s、es 来表示复数或 ing 单词(这应该是足够准确)。如果没有,你将不得不生成一个算法来将单词变成复数,因为它不像添加 S 那么简单。

Duplicate Ending List
s
es
ing

LIST1
Gas
Test

LIST2
Gases
Tests
Testing
Run Code Online (Sandbox Code Playgroud)

现在比较 List1 和 List2。在同一比较循环中,对项目进行直接比较,其中列表 1 中的单词已从您在列表 2 中查看的当前单词中删除。现在只需检查此结果是否位于重复结束列表中。

希望这是有道理的。