chinese-summary 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,231 @@
1
+ # chinese-summary 测试报告
2
+
3
+ > 测试日期:2026-06-16
4
+ > 测试环境:Node.js + tsx
5
+ > 测试版本:chinese-summary@1.0.0
6
+
7
+ ## 测试概览
8
+
9
+ | 测试文件 | 用例数 | 通过 | 失败 | 结果 |
10
+ |----------|--------|------|------|------|
11
+ | `test/test.ts` — 基础功能 | 5 组 | 5 组 | 0 | PASS |
12
+ | `test/test-robust.ts` — 健壮性 | 74 项 | 74 项 | 0 | PASS |
13
+ | `test/test-long.ts` — 长文本 | 3 组 | 3 组 | 0 | PASS |
14
+ | **合计** | **82 项/组** | **82** | **0** | **ALL PASS** |
15
+
16
+ ---
17
+
18
+ ## 一、基础功能测试(test/test.ts)
19
+
20
+ ### 1.1 多级压缩对比
21
+
22
+ 测试文本为 261 字的量子计算介绍(4 段 9 句),各级别输出如下:
23
+
24
+ | 级别 | 输出字数 | 句数 | 压缩率 | 说明 |
25
+ |------|----------|------|--------|------|
26
+ | 1 | 57 字 | — | 78.2% | 极致压缩,子句级提取拼接为一句话 |
27
+ | 2 | 50 字 | 2 句 | 80.8% | 高度压缩,多轮重排精选核心句 |
28
+ | 3 | 95 字 | 3 句 | 63.6% | 中度压缩,TextRank + MMR 选句 |
29
+ | 4 | 144 字 | 5 句 | 44.8% | 轻度压缩,保留约半数句子 |
30
+ | 5 | 263 字 | 9 句 | -0.8% | 不压缩,仅排序(字数微增因空格连接) |
31
+
32
+ **级别 1 子句得分:**
33
+
34
+ | 得分 | 来源句子 | 子句文本 |
35
+ |------|----------|----------|
36
+ | 1.5202 | 句3 | IBM和微软等科技巨头都在积极投入量子计算的研究。 |
37
+ | 1.4217 | 句4 | 量子计算目前仍面临许多技术挑战。 |
38
+ | 1.1595 | 句1 | 与经典计算机使用比特(0或1)不同, |
39
+ | 0.2855 | 句7 | 尽管如此, |
40
+ | 0.2668 | 句3 | 谷歌、 |
41
+ | 0.2612 | 句4 | 然而, |
42
+ | 0.2214 | 句1 | 可以同时处于0和1的叠加态。 |
43
+
44
+ > 连词"尽管如此,""然而,"被自动剥离,保证可读性。
45
+
46
+ ### 1.2 旧接口兼容性(sentenceCount)
47
+
48
+ | 参数 | 输出字数 | 句数 |
49
+ |------|----------|------|
50
+ | `sentenceCount=2` | 67 字 | 2 句 |
51
+
52
+ > 旧接口 `sentenceCount` 正常工作,与 `compressionLevel` 互斥时后者优先。
53
+
54
+ ### 1.3 极致压缩 maxClauses 参数对比
55
+
56
+ | maxClauses | 输出 |
57
+ |------------|------|
58
+ | 2 | 量子计算是一种利用量子力学原理进行计算的新型计算模式。量子计算机使用量子比特, |
59
+ | 3 | 量子计算是一种利用量子力学原理进行计算的新型计算模式。量子计算机使用量子比特,科学家们对量子计算的未来保持乐观。 |
60
+ | 4 | 量子计算是一种利用量子力学原理进行计算的新型计算模式。量子计算机使用量子比特,IBM和微软等科技巨头都在积极投入量子计算的研究。科学家们对量子计算的未来保持乐观。 |
61
+ | 5 | 量子计算是一种利用量子力学原理进行计算的新型计算模式。量子计算机使用量子比特,IBM和微软等科技巨头都在积极投入量子计算的研究。量子计算目前仍面临许多技术挑战。科学家们对量子计算的未来保持乐观。 |
62
+
63
+ ### 1.4 短文本保护
64
+
65
+ | 输入 | 输出 |
66
+ |------|------|
67
+ | "今天天气很好,适合出门散步。" | "今天天气很好,适合出门散步。" |
68
+
69
+ > 短文本(仅 1 句)在级别 1 下原样返回,不会丢失内容。
70
+
71
+ ---
72
+
73
+ ## 二、健壮性测试(test/test-robust.ts)
74
+
75
+ 共 74 项断言,全部通过。按类别分布如下:
76
+
77
+ ### 2.1 空值 / 非法输入(7 项)
78
+
79
+ | 用例 | 预期行为 | 结果 |
80
+ |------|----------|------|
81
+ | `null` | 返回空结果 | PASS |
82
+ | `undefined` | 返回空结果 | PASS |
83
+ | 数字 `123` | 返回空结果 | PASS |
84
+ | 空字符串 `""` | 返回空结果 | PASS |
85
+ | 纯空白 `" "` | 返回空结果 | PASS |
86
+ | 纯换行 `"\n\n\n"` | 返回空结果 | PASS |
87
+ | 纯制表符 `"\t\t"` | 返回空结果 | PASS |
88
+
89
+ ### 2.2 特殊字符(8 项)
90
+
91
+ | 用例 | 预期行为 | 结果 |
92
+ |------|----------|------|
93
+ | BOM + 零宽字符 | 正常处理 | PASS |
94
+ | BOM 被移除 | BOM 不出现在输出中 | PASS |
95
+ | 中文引号 `""` | 正常处理 | PASS |
96
+ | 书名号+圆括号 `《》()` | 正常处理 | PASS |
97
+ | 全角空格+省略号 | 正常处理 | PASS |
98
+ | 混合换行符 `\r\n/\r/\n` | 正常处理 | PASS |
99
+ | Emoji | 正常处理 | PASS |
100
+ | HTML 实体 ` ` | 正常处理 | PASS |
101
+
102
+ ### 2.3 极端参数(14 项)
103
+
104
+ | 用例 | 预期行为 | 结果 |
105
+ |------|----------|------|
106
+ | `compressionLevel=0` | 自动修正为有效值 | PASS |
107
+ | `compressionLevel=99` | 自动修正为有效值 | PASS |
108
+ | `compressionLevel=-1` | 自动修正为有效值 | PASS |
109
+ | `compressionLevel=1.5` | 自动修正为有效值 | PASS |
110
+ | `ngramSize=0` | 自动修正为默认值 | PASS |
111
+ | `ngramSize=100` | 自动修正为默认值 | PASS |
112
+ | `dampingFactor=0` | 自动修正为默认值 | PASS |
113
+ | `dampingFactor=2` | 自动修正为默认值 | PASS |
114
+ | `maxIterations=0` | 自动修正为默认值 | PASS |
115
+ | `minSentenceLength=-1` | 自动修正为默认值 | PASS |
116
+ | `maxClauses=0` | 自动修正为默认值 | PASS |
117
+ | `sentenceCount=NaN` | 自动修正为默认值 | PASS |
118
+ | `sentenceCount=Infinity` | 自动修正为默认值 | PASS |
119
+ | `weightFirstSentence=NaN` | 自动修正为默认值 | PASS |
120
+
121
+ ### 2.4 极短文本(4 项)
122
+
123
+ | 用例 | 预期行为 | 结果 |
124
+ |------|----------|------|
125
+ | 2 字文本 "你好" | 空结果(低于 minSentenceLength) | PASS |
126
+ | 5 字文本 "你好世界!" | 正常处理 | PASS |
127
+ | 单句级别 1 | 正常处理 | PASS |
128
+ | 单段 3 句级别 3 | 正常处理 | PASS |
129
+
130
+ ### 2.5 无句末标点(1 项)
131
+
132
+ | 用例 | 预期行为 | 结果 |
133
+ |------|----------|------|
134
+ | 无句末标点文本 | 整段作为一个句子 | PASS |
135
+
136
+ ### 2.6 纯英文 / 混合(2 项)
137
+
138
+ | 用例 | 预期行为 | 结果 |
139
+ |------|----------|------|
140
+ | 纯英文 | 正常处理 | PASS |
141
+ | 中英混合 | 正常处理 | PASS |
142
+
143
+ ### 2.7 重复文本(1 项)
144
+
145
+ | 用例 | 预期行为 | 结果 |
146
+ |------|----------|------|
147
+ | 完全重复句子 | 正常处理 | PASS |
148
+
149
+ ### 2.8 rankSentences 健壮性(4 项)
150
+
151
+ | 用例 | 预期行为 | 结果 |
152
+ |------|----------|------|
153
+ | `rankSentences(null)` | 返回空数组 | PASS |
154
+ | `rankSentences('')` | 返回空数组 | PASS |
155
+ | `rankSentences(42)` | 返回空数组 | PASS |
156
+ | `rankSentences(正常文本)` | 返回非空数组 | PASS |
157
+
158
+ ### 2.9 结果完整性校验(25 项)
159
+
160
+ 对 5 个压缩级别逐一校验,每级 5 项断言:
161
+
162
+ | 校验项 | 级别1 | 级别2 | 级别3 | 级别4 | 级别5 |
163
+ |--------|-------|-------|-------|-------|-------|
164
+ | `summary` 非空 | PASS | PASS | PASS | PASS | PASS |
165
+ | `sentences` 非空 | PASS | PASS | PASS | PASS | PASS |
166
+ | `text` 是字符串 | PASS | PASS | PASS | PASS | PASS |
167
+ | `compressionLevel` 正确 | PASS | PASS | PASS | PASS | PASS |
168
+ | `text === summary.join(' ')` | PASS | PASS | PASS | PASS | PASS |
169
+ | 所有句子得分为有限数 | PASS | PASS | PASS | PASS | PASS |
170
+
171
+ ### 2.10 子句拼接标点去重(3 项)
172
+
173
+ | 校验项 | 结果 |
174
+ |--------|------|
175
+ | 无 `。,` 重复标点 | PASS |
176
+ | 无 `,,` 重复标点 | PASS |
177
+ | 标点去重后仍有内容 | PASS |
178
+
179
+ ---
180
+
181
+ ## 三、长文本测试(test/test-long.ts)
182
+
183
+ 测试文本为 1584 字的 AI 发展史文章(8 段 20+ 句)。
184
+
185
+ ### 3.1 各级别压缩效果
186
+
187
+ | 级别 | 输出字数 | 句数 | 压缩率 | 说明 |
188
+ |------|----------|------|--------|------|
189
+ | 1 | 69 字 | — | 95.6% | 极致压缩,3 个子句拼接为一句话 |
190
+ | 2 | 408 字 | — | 74.2% | 高度压缩,多轮重排精选核心句 |
191
+ | 3 | 536 字 | — | 66.2% | 中度压缩,TextRank + MMR 选句 |
192
+ | 4 | 886 字 | — | 44.1% | 轻度压缩,保留约半数句子 |
193
+ | 5 | 1603 字 | — | -1.2% | 不压缩,仅排序(字数微增因空格连接) |
194
+
195
+ ### 3.2 极致压缩 maxClauses 参数对比
196
+
197
+ | maxClauses | 输出字数 | 压缩率 |
198
+ |------------|----------|--------|
199
+ | 2 | 49 字 | 96.9% |
200
+ | 3 | 69 字 | 95.6% |
201
+ | 4 | 94 字 | 94.1% |
202
+ | 5 | 116 字 | 92.7% |
203
+ | 6 | 145 字 | 90.8% |
204
+
205
+ ### 3.3 句子得分排名 Top-10
206
+
207
+ | 排名 | 得分 | 位置标记 | 句子(前 60 字) |
208
+ |------|------|----------|------------------|
209
+ | 1 | 2.1302 | 首段首句 | 人工智能(Artificial Intelligence,简称AI)是计算机科学的一个重... |
210
+ | 2 | 2.0271 | — | 2022年底,ChatGPT的发布更是引发了全球性的AI应用热潮,让普通大... |
211
+ | 3 | 1.7314 | — | 欧盟于2023年通过了《人工智能法案》,成为全球首个对AI进行全面立... |
212
+ | 4 | 1.7042 | 段尾 | AlphaGo的胜利不仅证明了AI在复杂决策任务上的能力,也标志着人工... |
213
+ | 5 | 1.7024 | — | 这次会议被认为是人工智能学科诞生的标志,标志着人类开始系统地研究... |
214
+ | 6 | 1.6668 | 首段+段尾 | 人工智能的发展可以追溯到20世纪50年代,当时一批具有远见卓识的科... |
215
+ | 7 | 1.5541 | 段首 | 自然语言处理是人工智能最活跃的研究方向之一。 |
216
+ | 8 | 1.5183 | 段首 | 然而,人工智能的快速发展也带来了一系列社会问题和伦理挑战。 |
217
+ | 9 | 1.4769 | — | 中国也出台了《生成式人工智能服务管理暂行办法》,对AI内容的生成和... |
218
+ | 10 | 1.4715 | 段首 | 进入21世纪后,随着计算能力的大幅提升、大数据的积累以及算法的突破... |
219
+
220
+ > 位置加权效果明显:首段首句得分最高(2.1302),段首/段尾句子普遍排名靠前。
221
+
222
+ ---
223
+
224
+ ## 四、测试结论
225
+
226
+ 1. **功能完整性**:5 级压缩、sentenceCount 旧接口、maxClauses 参数、rankSentences 排名均正常工作。
227
+ 2. **健壮性**:74 项边界用例全部通过,库对 null/undefined/空字符串/特殊字符/极端参数/极短文本等场景均有完善防护,不会崩溃。
228
+ 3. **压缩效果**:以 1584 字长文为例,级别 3(默认)压缩至 536 字(压缩率 66.2%),级别 1 极致压缩至 69 字(压缩率 95.6%),各级别压缩比例符合设计预期。
229
+ 4. **位置加权**:首段首句、段落首尾句的得分显著高于中间句子,符合中文文章"首段点题、段首概括"的结构特点。
230
+ 5. **子句连词处理**:极致压缩时,脱离上下文的连词(如"然而,""尽管如此,")被正确剥离,保证输出可读性。
231
+ 6. **标点去重**:子句拼接时不会出现 `。,` 或 `,,` 等重复标点。