如何从词干分析中排除某些名称和术语(Python-NLTK-snowballstember(Porter2))

2024-10-08 22:26:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚进入NLP,Python,同时在Stackoverflow上发帖,所以请耐心等待我,如果我可能看起来很无知:)。你知道吗

我在Python的NLTK中使用snowballstember来对单词进行词干分析。虽然lemmatization似乎在我的代币下面,但我读到的snowball porter2词干分析器比基本的porter词干分析器更受欢迎,它超越了我的代币。我正在分析推文,包括许多名字,可能还有地点和其他不应该词干的词,比如:希拉里,汉尼蒂,总统,现在减少到希尔拉里,汉尼蒂,和普雷西德(你可能已经猜到我正在分析谁的推文)。你知道吗

有没有一种简单的方法可以从词源中排除某些术语?相反地,我也可以只对标记进行柠檬化,并为常见后缀(如-ed、-s、…)添加规则…。另一个想法可能是只干动词和形容词以及以s结尾的名词。这可能也足够接近

我现在使用的代码如下:

# LEMMATIZE AND STEM WORDS

from nltk.stem.snowball import EnglishStemmer

lemmatizer = nltk.stem.WordNetLemmatizer()
snowball = EnglishStemmer() 

def lemmatize_text(text):

    return [lemmatizer.lemmatize(w) for w in text]

def snowball_stemmer(text):

    return [snowball.stem(w) for w in text]

# APPLY FUNCTIONS

tweets['text_snowball'] = tweets.text_processed.apply(snowball_stemmer)
tweets['text_lemma'] = tweets.text_processed.apply(lemmatize_text)

我希望有人能帮上忙…与我过去处理各种问题的经验相反,到目前为止,我还没有在网上找到足够的帮助来解决我的问题。你知道吗

谢谢!你知道吗


Tags: textin分析器forreturndeftweetslemmatizer
1条回答
网友
1楼 · 发布于 2024-10-08 22:26:04

你认识内尔吗?它意味着命名实体识别。您可以预处理文本并定位所有命名实体,然后将其从词干分析中排除。在词干分析之后,可以再次合并数据。你知道吗

相关问题 更多 >

    热门问题