英文分词算法(Porter stemmer)
主要可以实现单词原型的还原,官网http://tartarus.org/~martin/PorterStemmer/
一些词汇的处理结果:http://snowball.tartarus.org/algorithms/porter/diffs.txt
官方给出的主程序代码:https://tartarus.org/martin/PorterStemmer/python.txt
具体实现代码:
import NLTKWrapper
def getStemming(sentence):
words = []
tokens = NLTKWrapper.wordtokenizer(sentence)
#tokens数组存放已经从句子中分好的词
#NLTKWrapper是我的另一个python文件
p = PorterStemmer()
for token in tokens:
words.append(p.stem(token, 0, len(token)-1))
return " ".join(words)
#返回单词原型组成的句子
if __name__ == '__main__':
print getStemming("I am a girl who is good at computer.")