1.提取语料中的50个高频词; 2.使用TextRank提取语料中的5个关键词; 3.提取语料中的5个短语。 扩展任务:抽取语料中的关系。
时间: 2024-10-12 08:16:17 浏览: 49
1. 提取语料中的50个高频词通常涉及文本预处理步骤,包括分词、去除停用词(如“的”、“了”等常见词语)、计数和排序。你可以使用Python库如jieba进行分词,NLTK或sklearn提供停用词表,然后统计每个词出现的频率,并选取出现次数最多的前50个词作为高频词。
```python
import jieba.analyse
from collections import Counter
# 分词并去停用词
words = [word for word in jieba.cut(text) if word not in stop_words]
# 计算词频并获取前50个高频词
top_50_words = Counter(words).most_common(50)
```
2. 使用TextRank算法(一种基于图论的关键词抽取算法),比如Gensim库中的`summarize`函数,可以提取出语料中的关键信息。例如:
```python
from gensim.summarization import keywords
keyword_text = "..." # 输入你的文本
top_5_keywords = keywords(keyword_text, ratio=0.1) # 指定保留关键词的比例
```
这里`ratio=0.1`表示保留10%的重要性最高的词汇作为关键词。
3. 对于短语提取,可以考虑使用n-gram模型,如NLTK的bigrams或trigrams:
```python
from nltk import ngrams
# 示例文本
text = "..."
# 生成2-gram(双词短语)
bigram_phrases = [" ".join(ngram) for ngram in ngrams(text.split(), 2)]
# 获取最常见的5个短语
top_5_phrases = Counter(bigram_phrases).most_common(5)
```
扩展任务:抽取语料中的关系,这取决于语料的具体内容,如果是结构化的数据,如网络数据、知识图谱,可以分析实体之间的关系;如果是非结构化文本,如新闻或社交媒体,可能需要使用命名实体识别(NER)和依存句法分析来识别主谓宾关系、时间空间关系等。常见的工具和库有spaCy、Stanford CoreNLP等。
阅读全文