gpt4 book ai didi

python - 如何编写一个 python 程序返回在文本中出现至少 5 次的所有单词?

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:58 25 4
gpt4 key购买 nike

我只需要按照这篇文章的标题所说:编写一个 python 程序,返回在文本中出现至少 5 次的所有单词。我意识到这是一个非常简单的问题。我是一名新手程序员,试图掌握一些 NLP 技能,但出于某种原因我无法弄清楚这一点。非常感谢您的帮助!

谢谢!

最佳答案

您应该定义“单词”的含义。不同的定义会产生不同的结果。通用模板是:

from collections import Counter

count = Counter(getwords(normalize(text)))
words = [w for w, c in count.items() if c >= 5]

您可以在哪里使用 getwords()normalize() 的各种定义,例如:

import re

def normalize(text): # remove non-ascii, convert to lowercase
return text.encode('ascii', 'ignore').lower().decode()

def getwords(text): # allow only a-z
return re.findall(ur"[a-z]+", text)

或者基于 nltk 的分词器:

from nltk.tokenize import sent_tokenize, word_tokenize

def getwords(text):
return (w for sent in sent_tokenizer(text) for w in word_tokenize(sent))

关于python - 如何编写一个 python 程序返回在文本中出现至少 5 次的所有单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14179543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com