要实现按主题提取关键词的功能,可以使用自然语言处理库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)