我使用這段代碼來填詞,這裏是它是如何工作的,首先有一個後綴列表,程序檢查該詞的結尾是否與列表中的結尾相同後綴,但是,當我運行代碼,我得到這樣的結果:在python中填詞詞組
suffixes = ['ing']
def stem(word):
for suff in suffixes:
return word[:-len(suff)]
stem ('having')
print (stem)
我使用這段代碼來填詞,這裏是它是如何工作的,首先有一個後綴列表,程序檢查該詞的結尾是否與列表中的結尾相同後綴,但是,當我運行代碼,我得到這樣的結果:在python中填詞詞組
suffixes = ['ing']
def stem(word):
for suff in suffixes:
return word[:-len(suff)]
stem ('having')
print (stem)
對於給定的列表中的每個後綴,您可以檢查如果給定的字與任何給定的後綴結束,如果是刪除後綴,否則返回這個詞。
suffixes = ['ing']
def stem(word):
for suff in suffixes:
if word.endswith(suff):
return word[:-len(suff)]
return word
print(stem ('having'))
>>> hav
試着看看Porter Stemmer(http://tartarus.org/martin/PorterStemmer/),還有一個Python。
*「程序檢查單詞的結尾是否與列表中的單詞結尾相同」* - 不,它不會...此外,除了剝離「ing」外,還有更多詞幹 - 如果您需要這樣做,看看'nltk'。 – jonrsharpe
anmol_uppal寫了正確的答案,但正如jonsrharpe所示,我會看看nltk或https://pypi.python.org/pypi/stemming/1.0 –
其實我正在爲波斯語編寫一個詞幹,這是隻有一部分代碼不起作用,我不想在這方面使用NLTK。 –