如何删除未知单词?

2024-09-28 01:23:38 发布

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

我正在尝试在tweets上使用NLTK WordNet Lemmatizer。在

我想删除所有在WordNet(twitter句柄等)中没有找到的单词,但是没有来自WordNetElemMatizer.lemmatize(). 如果找不到它,它只返回单词unchanged。在

有没有一种方法可以检查WordNet中是否有一个单词?

或者,有没有更好的方法来删除字符串中除了“正确的英语单词”之外的任何内容?在


Tags: 方法字符串内容twitter句柄单词tweetswordnet
1条回答
网友
1楼 · 发布于 2024-09-28 01:23:38

您可以使用wordnet.synsets(token)进行检查。一定要处理标点符号,然后检查它是否在列表中。下面是一个例子:

from nltk.tokenize import WordPunctTokenizer
from nltk.corpus import wordnet

my_list_of_strings = []  # populate list before using

wpt = WordPunctTokenizer()
only_recognized_words = []

for s in my_list_of_strings:
    tokens = wpt.tokenize(s)
    if tokens:  # check if empty string
        for t in tokens:
            if wordnet.synsets(t):
                only_recognized_words.append(t)  # only keep recognized words

但是你真的应该为处理Twitter数据创建一些定制的逻辑,特别是处理散列标签、@replies、用户名、链接、转发等等。在

相关问题 更多 >

    热门问题