main
HuangHai 4 weeks ago
parent 138bfbd826
commit 1cac767a61

@ -1,33 +1,31 @@
from openai import OpenAI
from Config import Config
class DocxProcessor:
def __init__(self):
# 独立初始化DeepSeek客户端
self.client = OpenAI(
api_key=Config.DEEPSEEK_API_KEY,
base_url=Config.DEEPSEEK_URL
# 初始化DeepSeek客户端
client = OpenAI(
api_key=Config.DEEPSEEK_API_KEY,
base_url=Config.DEEPSEEK_URL
)
def call_deepseek(prompt):
"""调用DeepSeek API"""
try:
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "你是一个专业的文档分析助手"},
{"role": "user", "content": prompt}
],
temperature=0.3
)
def call_deepseek(self, prompt):
"""独立调用DeepSeek API"""
try:
response = self.client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "你是一个专业的文档分析助手"},
{"role": "user", "content": prompt}
],
temperature=0.3
)
return response.choices[0].message.content
except Exception as e:
print(f"调用DeepSeek API出错: {str(e)}")
return ""
return response.choices[0].message.content
except Exception as e:
print(f"调用DeepSeek API出错: {str(e)}")
return ""
def ask_llm(self, text_chunk):
"""向大模型提问并获取响应"""
prompt = f"""请分析以下文本段落并返回有价值的内容:
def ask_llm(text_chunk):
"""向大模型提问并获取响应"""
prompt = f"""请分析以下文本段落并返回有价值的内容:
要求:
1. 保持原文关键信息
2. 用清晰的格式返回
@ -35,13 +33,8 @@ class DocxProcessor:
文本段落内容:
{text_chunk}"""
return self.call_deepseek(prompt)
return call_deepseek(prompt)
# 初始化DeepSeek客户端
client = OpenAI(
api_key=Config.DEEPSEEK_API_KEY,
base_url=Config.DEEPSEEK_URL
)
def split_text(text, chunk_size=6000):
"""按段落分割文本确保每个块接近6000字"""
@ -49,7 +42,7 @@ def split_text(text, chunk_size=6000):
chunks = []
current_chunk = []
current_length = 0
for para in paragraphs:
para_length = len(para)
if current_length + para_length > chunk_size and current_chunk:
@ -58,34 +51,27 @@ def split_text(text, chunk_size=6000):
current_length = 0
current_chunk.append(para)
current_length += para_length
if current_chunk:
chunks.append('\n'.join(current_chunk))
return chunks
def ask_llm(text_chunk, is_final=False):
prompt = """请将以下文本按内容相关性划分为段落,要求:
1. 意思一致或强相关的内容放在同一段落
2. 每个段落有明确的主题
3. 输出格式为## 段落主题\n段落内容\n\n"""
return call_deepseek_api(prompt)
def process_document(input_file, output_file):
"""处理文档主流程"""
text = read_docx(input_file)
chunks = split_text(text)
for i, chunk in enumerate(chunks, 1):
print(f"正在处理第{i}个段落...")
try:
processor = DocxProcessor()
response = processor.ask_llm(chunk)
paragraphs = processor.process_llm_response(response)
response = ask_llm(chunk)
paragraphs = process_llm_response(response)
for para in paragraphs:
processor.save_to_txt(para, output_file)
save_to_txt(para, output_file)
except Exception as e:
save_to_txt(f"段落{i}处理失败: {str(e)}", output_file)
print(f"处理完成,结果已保存到 {output_file}")
@ -99,6 +85,7 @@ def read_docx(file_path):
print(f"读取docx文件出错: {str(e)}")
return ""
def save_to_txt(content, file_path, mode='a'):
"""将内容保存到txt文件"""
try:
@ -107,6 +94,7 @@ def save_to_txt(content, file_path, mode='a'):
except Exception as e:
print(f"保存到txt文件出错: {str(e)}")
# 在process_document方法中调用时请确保output_file参数是完整的文件路径
@ -122,7 +110,7 @@ def call_deepseek_api(prompt, stream_callback=None):
temperature=0.3,
stream=True
)
full_response = ""
for chunk in response:
if chunk.choices[0].delta.content:
@ -130,7 +118,7 @@ def call_deepseek_api(prompt, stream_callback=None):
full_response += content
if stream_callback:
stream_callback(content)
return full_response
except Exception as e:
print(f"调用DeepSeek API出错: {str(e)}")
@ -154,5 +142,5 @@ def process_llm_response(response):
if __name__ == "__main__":
input_file = '../Txt/小学数学(史校长).docx'
output_file ='../Txt/小学数学(史校长).txt'
process_document(input_file, output_file)
output_file = '../Txt/小学数学(史校长).txt'
process_document(input_file, output_file)

@ -1,206 +0,0 @@
段落1响应:
### 小学数学教学中的若干问题 - 关键信息分析
#### **作者信息**
- **作者**: 史宁中
- **机构**: 东北师范大学数学与统计学院
---
### **核心内容总结**
本书围绕小学数学教学的核心问题,探讨数学本质、教学方法和课程目标(“四基”:基础知识、基本技能、基本思想、基本活动经验),强调通过抽象、推理、模型培养学生的数学素养和创新思维。
---
### **目录结构及关键问题**
#### **第一部分:数的认识**
1. **数量与数量关系**
- 数量:对事物量的抽象。
- 本质关系:多与少。
2. **自然数**
- 抽象方法:对应法或定义法。
- 表示关键:十个符号和数位(十倍递进)。
3. **负数**
- 定义:与自然数数量相等、意义相反的数。
4. **分数**
- 本质是数(非运算),表示整体等分或比例关系。
5. **小数**
- 十进制扩展,表示有理数/无理数。
6. **数感**
- 抽象与现实背景的联系。
#### **第二部分:数的运算**
- 加法:对应或定义方法。
- 减法:加法的逆运算。
- 乘法:自然数中为加法简便运算,整数中则否。
- 除法:乘法的逆运算(推广到有理数)。
- **符号意识**:字母表示数,代数的基础。
- **方程本质**:描述现实世界的等量关系。
#### **第三部分:图形与几何**
- 几何核心:构建空间度量方法(欧几里得几何)。
- 图形抽象:点、线、面、体、角。
- 度量:长度(一维)、面积(二维)、体积(三维)。
- **几何直观**:经验层面的直接判断能力。
#### **第四部分:统计与概率**
- **数据分析观念**:通过样本推断总体。
- **统计图**:条形(数量)、扇形(比例)、折线(变化)。
- **随机性**:减少人为误差,估计概率。
- **平均数**:无偏估计,误差抵消。
---
### **附录与教学设计**
- **附录1**:拓展话题(如古代数字符号、素数、无理数证明等)。
- **附录2**:针对核心问题的教学片段设计(如自然数、负数、分数等)。
---
### **前言要点**
1. **课程目标演变**:从“双基”到“四基”,强调隐性素养(思想与经验)。
2. **教学改革**
- 反对机械记忆和重复练习,提倡感悟数学思想。
- 教师需设计符合认知规律的教学过程。
3. **本书目的**
- 揭示小学数学内容的实质,提供适合“四基”目标的教学方法。
---
### **简要总结**
本书系统分析了小学数学的核心概念(数、运算、几何、统计)及其教学实质,倡导通过“四基”培养数学素养。内容兼顾理论(数学本质)与实践(教学设计),适合教师及教育研究者参考。
段落2响应:
### 文本分析结果
#### 1. **数量的概念与历史发展**
- **定义**:数量是对现实生活中事物量的抽象。
- **历史背景**
- 远古时代:人们用语言表达量的多少(如狩猎收获、祭祀牺牲)。
- 商代甲骨文:早期数量表达的记录。
- **现代汉语中的数量表达**
- 数字 + 后缀名词(如“一粒米”“两条鱼”)。
- 这些表达具有具体背景,数字不具备符号功能,无法直接运算。
#### 2. **数量与数学抽象**
- **局限性**:数量是具体事物的抽象,但不足以作为数学研究对象。
- **本质**:数量关系的本质是“多与少”。
- 动物也能分辨多与少,说明这是基本属性。
- **比较方法**
- 同类事物通过递增多与传递性比较如3个苹果 < 4个苹果
- 不同事物:通过“对应法”比较(如集合配对法)。
#### 3. **自然数的抽象与表示**
- **定义**:自然数是对数量及数量关系的抽象(数的本质是“大与小”)。
- **两种抽象方法**
1. **基于对应**
- 图形 → 命名 → 符号化如“□□”对应“2”
- 适用于小学数学教学(直观、现实背景)。
2. **基于定义**
- 通过“后继”概念定义如2 = 1 + 13 = 2 + 1
- 完全脱离现实背景,适合数学严谨性研究。
- **表示自然数的关键**
- **十进制**基于十个符号0-9和数位个、十、百等
- **数位法则**:每高位是低位的十倍(如十个“千”是“万”)。
- **跨文化差异**
- 东亚系统:数位以四为基础(个、万、亿、兆)。
- 欧洲系统:数位以三为基础(个、千、百万、十亿)。
#### 4. **自然数的性质与分类**
- **分类标准**
- 奇数与偶数:
- 定义不能被2整除的为奇数能被2整除的为偶数。
- 应用:运算规律(如奇数 + 偶数 = 奇数)。
- 素数与合数:
- 素数只能被1和自身整除如2, 3, 5
- 合数可分解为素数乘积如60 = 2×2×3×5
- 高斯代数基本定理:多项式可分解为线性因式乘积。
#### 5. **负数的引入与意义**
- **现实背景**表示相反意义的量如盈余30元 vs. 亏损15元
- **定义**:在自然数前加“-”表示负数(如-2
- **性质**
- 绝对值越大,正数越大,负数越小。
- 0是正负数的分界点。
---
### 总结
文本系统性地阐述了从数量到自然数、再到负数的数学抽象过程,包括:
1. 数量的历史起源与现代表达。
2. 自然数的两种抽象方法(对应法 vs. 定义法)及其教学意义。
3. 自然数的表示(十进制与数位)和跨文化差异。
4. 自然数的分类(奇偶性、素数与合数)及其数学应用。
5. 负数的现实意义与数学定义。
核心观点:数学抽象通过剥离具体背景,研究一般规律,再应用于实际问题。
段落3响应:
### 文本分析结果
#### 1. 负数的发展历史
- **中国《九章算术》**
- 最早提到负数并给出正负数加减运算法则。
- 在“方程”篇中讨论“正负术”,用不同颜色的算筹解释运算法则。
- **印度数学家婆罗摩芨多Brahmagupta**
- 约公元628年给出负数的四则运算规则。
- **关键关系**
- 负数与减法运算密切相关,减法运算又依赖于加法运算。
#### 2. 分数的认识
- **定义与背景**
- 分数是数而非运算形如a/ba为分子b为分母通常为正整数
- 古希腊学者最初认为所有数可表示为分数后因√2的发现引入“有理数”与“无理数”概念。
- **真分数的本质**
- 表达两种关系:
1. **整体与等分**如1/5表示五等分之一2/5 = 1/5 + 1/5。
2. **整比例关系**如4只鹅对应鸭子数量的1/3即比例4:x=1:3。
- **运算规则**同分母分数相加直接合并单位异分母需通分如1/5 + 1/10 = 3/10
- **无量纲性**
- 分数与具体数量无关如1/5的月饼或蛋糕百分数用于比较增长率等
#### 3. 小数的认识
- **历史背景**
- 18世纪才建立稳定的十进位小数表示晚于微积分。
- 用途现实数量表达如6.75元)及数学需求(如无理数运算)。
- **十进制与幂表示**
- 整数和小数均可表示为10的幂次组合如238=2×10²+3×10¹+8×10⁰6.75=6×10⁰+7×10⁻¹+5×10⁻²
- 小数乘法解释0.1×0.1=10⁻¹×10⁻¹=0.01。
- **实数分类**
- 有理数:有限小数或无限循环小数;无理数:无限不循环小数。
#### 4. 数感(核心概念)
- **定义**
- 对数量、关系及运算结果的直觉感悟如100粒黄豆 vs. 100匹马100元买菜 vs. 买房)。
- **培养目标**
- 抽象与现实的联系(如估算数量、步长、场地大小)。
- 量纲选择(如促销让利单位依产品价格调整)。
#### 5. 数的运算
- **四则运算关系**
- 加法为基础,减法为其逆运算;乘法扩展加法,除法为其逆运算。
- 数集扩张保证运算封闭性(如整数集满足减法,有理数集满足除法)。
- **模型与应用**
- 小学数学基于加法与乘法模型派生问题。
- 符号化推动算术到代数(如方程表示数量关系的等式)。
#### 6. 自然数加法教学
- **两种解释方法**
1. **定义法**利用等式对称性如3+1=4因4=3+1
2. **对应法**:通过实物比较(如方块图)强调“量相等”本质。
- **教学建议**
- 低学段优先采用对应法,结合现实背景培养数学思想。
#### 7. 减法与逆运算
- **源于加法**:四则运算均以加法为源头。
- **教学示例**:用对应法(如方块图)直观解释减法关系。
---
### 简要总结
文本系统梳理了负数、分数、小数的历史发展与数学本质,强调数感培养及运算的抽象-现实联系。教学上建议通过对应法(如实物比较)直观解释加减法,避免过早依赖抽象定义。核心观点包括:
- 数学概念需结合现实背景理解(如分数无量纲性、数感)。
- 运算的逆关系与数集扩张逻辑(如减法→整数,除法→有理数)。
- 十进制幂表示是小数运算的基础,分数单位等分是关键过渡。
Loading…
Cancel
Save