要编写自己的词干提取器进行词干提取,你可以使用基于规则的方法或基于机器学习的方法。下面是一个基于规则的示例代码:
# 定义规则列表
rules = [('s', ''), ('ed', ''), ('ing', '')]
# 定义词干提取函数
def stem(word):
for rule in rules:
suffix = rule[0]
if word.endswith(suffix):
return word[:-len(suffix)] + rule[1]
return word
# 测试
words = ['running', 'played', 'cats']
for word in words:
print(stem(word))
这个示例代码中,我们定义了一个规则列表,包含了一些常见的词缀和对应的替换规则。然后我们定义了一个词干提取函数stem
,它会遍历规则列表,找到匹配的词缀并进行替换。如果没有匹配到任何规则,则返回原始单词。最后,我们对一些单词进行了测试,并打印出提取后的词干。
请注意,这只是一个简单的示例,实际上词干提取是一个复杂的任务,需要考虑更多的规则和特殊情况。如果你想要更准确和强大的词干提取器,可以考虑使用已经存在的开源工具,如NLTK、SpaCy或Stemming库。