使用Gensim.summarization模块时遇ModuleNotFoundError的解决方案求助
解决
ModuleNotFoundError: No module named 'gensim.summarization' 的方案 方案1:安装旧版本Gensim
Gensim 4.0及后续版本已移除summarization模块,若要继续使用原代码,可安装3.x系列的稳定版本:
- 在Google Colab或终端执行以下命令:
安装完成后即可正常导入pip install gensim==3.8.3summarize函数。
方案2:改用替代摘要库
如果不想降级Gensim,推荐使用以下成熟的文本摘要工具:
Hugging Face Transformers:支持抽取式和生成式摘要,基于预训练模型效果更优
示例代码:from transformers import pipeline # 初始化摘要管道 summarizer = pipeline("summarization") # text为从PDF读取的目标文本 summary_result = summarizer(text, max_length=150, min_length=30, do_sample=False) print(summary_result[0]['summary_text'])安装命令:
pip install transformersSumy:专注于抽取式摘要,内置多种经典算法
示例代码:from sumy.parsers.plaintext import PlaintextParser from sumy.nlp.tokenizers import Tokenizer from sumy.summarizers.lsa import LsaSummarizer # 解析文本 parser = PlaintextParser.from_string(text, Tokenizer("english")) # 初始化LSA摘要器,生成3句摘要 summarizer = LsaSummarizer() summary = summarizer(parser.document, 3) # 输出结果 for sentence in summary: print(sentence)安装命令:
pip install sumy
补充:PDF文本读取工具
若尚未解决PDF内容读取问题,可使用以下工具:
PyPDF2:轻量易上手
import PyPDF2 def extract_pdf_text(file_path): text = "" with open(file_path, 'rb') as f: reader = PyPDF2.PdfReader(f) for page in reader.pages: text += page.extract_text() or "" return text安装命令:
pip install PyPDF2pdfplumber:文本提取精度更高,支持复杂排版PDF
import pdfplumber def extract_pdf_text(file_path): text = "" with pdfplumber.open(file_path) as pdf: for page in pdf.pages: text += page.extract_text() or "" return text安装命令:
pip install pdfplumber
内容的提问来源于stack exchange,提问作者EC20B1111 SHREERANG BAGAL
相关产品推荐
相关产品推荐

