File size: 988 Bytes
f1e5728
93c008b
 
f1e5728
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from PyPDF2 import PdfReader
from transformers import pipeline

# 這裡你也可以改成你要的中文 BART、T5 等 summarization 模型
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")

def 提取_pdf文字(pdf檔案):
    """

    從 PDF 檔案讀取並合併所有頁面的內容為純文字

    """
    reader = PdfReader(pdf檔案)
    內容 = ""
    for 頁面 in reader.pages:
        內容 += 頁面.extract_text()
    return 內容

def 分段(內容, 每段字數=2000):
    """

    將長文本切成多個段落(方便 AI 處理)

    """
    return [內容[i:i+每段字數] for i in range(0, len(內容), 每段字數)]

def 摘要(段落們):
    """

    對每個段落做中文摘要,再合併回一份總結

    """
    結果 = []
    forin 段落們:
        結果.append(
            summarizer(段, max_length=130, min_length=30, do_sample=False)[0]["summary_text"]
        )
    return 結果