要实现按主题提取关键词的功能,可以使用自然语言处理库NLTK(Natural Language Toolkit)来帮助处理文本数据。以下是一个简单的示例代码,演示如何使用NLTK提取关键词。
首先,确保已经安装了NLTK库:
pip install nltk
然后,导入必要的库:
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from nltk.stem import WordNetLemmatizer
接下来,我们定义一个函数来提取关键词:
def extract_keywords(text):
# 分词
tokens = word_tokenize(text)
# 去除停用词
stop_words = set(stopwords.words('english'))
tokens = [word for word in tokens if word.lower() not in stop_words]
# 词形还原
lemmatizer = WordNetLemmatizer()
tokens = [lemmatizer.lemmatize(word) for word in tokens]
# 统计词频
freq_dist = nltk.FreqDist(tokens)
# 按词频排序
keywords = sorted(freq_dist.items(), key=lambda x: x[1], reverse=True)
return keywords[:10] # 返回前10个关键词
现在,我们可以调用这个函数来提取关键词。例如:
text = "This is a sample sentence. Please provide me with some keywords."
keywords = extract_keywords(text)
print(keywords)
输出结果会是一个包含关键词及其频率的列表。
请注意,这只是一个简单的示例代码,用于演示基本的关键词提取流程。实际应用中,你可能需要对文本进行预处理(如去除特殊字符、标点符号等),并根据具体需求调整停用词列表、词形还原等步骤,以获得更准确的关键词提取结果。
下一篇:按主题选择文本(LDA)