我正在处理一些nlp任务。我的输入是法文,因此,在我的上下文中,只有Snowball Stemmer可用。但是,不幸的是,它一直给我提供较差的词干,因为即使plural "s"
或silent e
也无法删除。下面是一些示例:
from nltk.stem import SnowballStemmer
SnowballStemmer("french").stem("pommes, noisettes dorées & moelleuses, la boîte de 350g")
Output: 'pommes, noisettes dorées & moelleuses, la boîte de 350g'
最佳答案
词干不是单词,而是词干,因此要对句子进行标记,然后逐个词干。
>>> from nltk import word_tokenize
>>> from nltk.stem import SnowballStemmer
>>> fr = SnowballStemmer('french')
>>> sent = "pommes, noisettes dorées & moelleuses, la boîte de 350g"
>>> word_tokenize(sent)
['pommes', ',', 'noisettes', 'dorées', '&', 'moelleuses', ',', 'la', 'boîte', 'de', '350g']
>>> [fr.stem(word) for word in word_tokenize(sent)]
['pomm', ',', 'noiset', 'dor', '&', 'moelleux', ',', 'la', 'boît', 'de', '350g']
>>> ' '.join([fr.stem(word) for word in word_tokenize(sent)])
'pomm , noiset dor & moelleux , la boît de 350g'