专业的英语词汇量统计工具,支持三种文件类型的批量处理,基于三遍验证技术确保统计准确性。
- ✅ 三种文件类型支持:1双语、2原文、3外教
- ✅ 智能中文过滤:自动识别并过滤中文字符
- ✅ 三遍验证机制:使用三种方法交叉验证,确保准确性
- ✅ Markdown处理:智能处理外教对话中的Markdown标记
- ✅ 详细报告:生成包含汇总、唯一词列表、验证详情的TXT报告
- ✅ Web界面:简洁易用的Streamlit界面
- 安装依赖
pip install -r requirements.txt- 启动应用
streamlit run app.py- 打开浏览器
-
上传文件:上传一本书的3个文件
1双语-xxx.txt- 中英文混合内容2原文-xxx.txt- 纯英文原文3外教-xxx.md- 双语对话
-
开始统计:点击"开始统计"按钮
-
查看结果:查看每种类型的详细统计
-
下载报告:下载TXT格式的完整报告
- 总词数:文本中所有英文单词的数量(含重复)
- 唯一词数:去重后的不同单词数量
- 验证状态:三遍验证的结果(通过/差异)
- 高频词:出现频率最高的单词列表
使用三种方法交叉验证统计准确性:
- 方法1:正则表达式
\b[a-zA-Z]+\b - 方法2:split() + 手动过滤
- 方法3:多重正则模式
验证结果分级:
- ✅ 验证通过:三种方法结果完全一致
⚠️ 轻微差异:差异 ≤2个词(可接受)⚠️ 中等差异:差异 3-5个词(需注意)- ❌ 显著差异:差异 >5个词(需人工复核)
4词汇统计streamlit/
├── app.py # Streamlit主程序
├── requirements.txt # 依赖包
├── README.md # 项目说明
├── utils/ # 工具模块
│ ├── __init__.py
│ ├── verify.py # 三遍验证模块
│ ├── word_analyzer.py # 词汇分析模块
│ ├── text_cleaner.py # 文本清理模块
│ ├── book_processor.py # 书籍处理模块
│ └── txt_exporter.py # TXT导出模块
└── input/ # 测试文件(可选)
- Python 3.7+
- Streamlit - Web界面框架
- 正则表达式 - 文本处理
- Unicode - 中文字符识别
- 移除所有中文字符(
\u4e00-\u9fff) - 移除中文标点(
\u3000-\u303f) - 移除全角字符(
\uff00-\uffef) - 只保留英文单词
- 纯英文文本,无需特殊处理
- 直接统计英文单词
- 移除Markdown粗体标记(
**text**) - 移除所有中文字符和标点
- 保留对话人名(Sally、Pete等)
- 只统计英文单词
- 推送到GitHub
git init
git add .
git commit -m "Initial commit"
git push origin main- 部署到Streamlit Cloud
- 访问 https://share.streamlit.io/
- 连接GitHub仓库
- 选择
app.py作为主文件 - 点击部署
- 分享链接
部署完成后,获得公开访问链接,分享给同事使用。
TXT报告包含以下内容:
- 汇总统计:所有文件的总词数、唯一词数对比
- 详细统计:每种类型的完整统计信息
- 唯一词列表:按字母顺序排列的所有唯一单词
- 验证详情:三遍验证的详细结果
- 高频词汇:Top 20 高频词及出现次数
Q: 支持哪些文件格式?
A: 支持 .txt 和 .md 格式
Q: 如何处理中英文混合的文档?
A: 自动使用Unicode范围精确过滤中文字符
Q: 数字和符号会被统计吗?
A: 不会,只统计纯英文字母组成的单词
Q: 大小写敏感吗?
A: 不敏感,"The"和"the"算作同一个单词
Q: Sally、Pete等人名会被统计吗?
A: 会,它们是英文单词的一部分
如有问题或建议,请联系开发团队。
-
v1.1 (2025-11-14)
- ✅ 新增智能缩写处理(70+个标准缩写)
- ✅ 自动过滤说话人标记(Sally:、Pete:)
- ✅ 优化验证策略(优先使用智能缩写方法)
- ✅ 新增详细文档(改进说明、缩写处理规则)
-
v1.0 (2025-11-14)
- 初始版本
- 支持三种文件类型
- 三遍验证机制
- TXT报告导出