我正在设计一个文本处理程序,需要在以后进行探索性分析词干。我的一个过程是词干,我必须使用波特词干。你知道吗
我设计了一个数据帧结构来存储我的数据。此外,我还设计了一个应用于数据帧的函数。当我把这个函数应用到DataFrame时,词干可以工作,但它不会保留大写(或专有名词)单词。你知道吗
我的代码片段:
from nltk.stem.porter import PorterStemmer
def stemming(word):
stemmer = PorterStemmer()
word = str(word)
if word.title():
stemmer.stem(word).capitalize()
elif word.isupper():
stemmer.stem(word).upper()
else:
stemmer.stem(word)
return word
dfBody['body'] = dfBody['body'].apply(lambda x: [stemming(y) for y in x])
这是我的结果,没有大写的单词: output
数据集示例(我的数据集非常大):
file body
PP3169 ['performing', 'Maker', 'USA', 'computer', 'Conference', 'NIPS']
预期输出(应用词干函数后):
file body
PP3169 ['perform', 'Make', 'USA', 'comput', 'Confer', 'NIPS']
任何建议都将不胜感激!你知道吗
首先:您应该将结果分配给
word
第二:
word.title()
不检查单词是否大写,但它会创建大写单词,所以您应该检查最终
相关问题 更多 >
编程相关推荐