tim1900 commited on
Commit
3de7ef9
·
verified ·
1 Parent(s): 82ed427

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +351 -75
README.md CHANGED
@@ -100,81 +100,357 @@ def chunk_text(model, text, tokenizer, prob_threshold=0.5):
100
 
101
  # chunking
102
  print("\n>>>>>>>>> Chunking...")
103
- doc = r'''9.
104
- *****
105
-
106
- 类提供了把数据和功能绑定在一起的方法。创建新类时创建了新的对象 *类型*
107
- ,从而能够创建该类型的新 *实例*。实例具有能维持自身状态的属性,还具有
108
- 能修改自身状态的方法(由其所属的类来定义)。
109
-
110
- 和其他编程语言相比,Python 的类只使用了很少的新语法和语义。Python 的类
111
- 有点类似于 C++ 和 Modula-3 中类的结合体,而且支持面向对象编程(OOP)的
112
- 所有标准特性:类的继承机制支持多个基类、派生的类能覆盖基类的方法、类的
113
- 方法能调用基类中的同名方法。对象可包含任意数量和类型的数据。和模块一样
114
- ,类也支持 Python 动态特性:在运行时创建,创建后还可以修改。
115
-
116
- 如果用 C++ 术语来描述的话,类成员(包括数据成员)通常为 *public* (例
117
- 外的情况见下文 私有变量),所有成员函数都为 *virtual* 。与 Modula-3 中
118
- 一样,没有用于从对象的方法中引用本对象成员的简写形式:方法函数在声明时
119
- ,有一个显式的第一个参数代表本对象,该参数由方法调用隐式提供。与在
120
- Smalltalk 中一样,Python 的类也是对象,这为导入和重命名提供了语义支持
121
- 。与 C++ 和 Modula-3 不同,Python 的内置类型可以用作基类,供用户扩展。
122
- 此外,与 C++ 一样,具有特殊语法的内置运算符(算术运算符、下标等)都可
123
- 以为类实例重新定义。
124
-
125
- 由于缺乏关于类的公认术语,本章中偶尔会使用 Smalltalk 和 C++ 的术语。本
126
- 章还会使用 Modula-3 的术语,Modula-3 的面向对象语义比 C++ 更接近
127
- Python,但估计听说过这门语言的读者很少。
128
-
129
-
130
- 9.1. 名称和对象
131
- ===============
132
-
133
- 对象之间相互独立,多个名称(甚至是多个作用域内的多个名称)可以绑定到同
134
- 一对象。这在其他语言中通常被称为别名。Python 初学者通常不容易理解这个
135
- 概念,处理数字、字符串、元组等不可变基本类型时,可以不必理会。但是,对
136
- 于涉及可变对象(如列表、字典,以及大多数其他类型)的 Python 代码的语义
137
- ,别名可能会产生意料之外的效果。这样做,通常是为了让程序受益,因为别名
138
- 在某些方面就像指针。例如,传递对象的代价很小,因为实现只传递一个指针;
139
- 如果函数修改了作为参数传递的对象,调用者就可以看到更改——无需像 Pascal
140
- 那样用两个不同的机制来传参。
141
-
142
-
143
- 9.2. Python 作用域和命名空间
144
- ============================
145
-
146
- 在介绍类前,首先要介绍 Python 的作用域规则。类定义对命名空间有一些巧妙
147
- 的技巧,了解作用域和命名空间的工作机制有利于加强对类的理解。并且,即便
148
- 对于高级 Python 程序员,这方面的知识也很有用。
149
-
150
- 接下来,我们先了解一些定义。
151
-
152
- *namespace* (命名空间)是从名称到对象的映射。现在,大多数命名空间都使
153
- 用 Python 字典实现,但除非涉及到性能优化,我们一般不会关注这方面的事情
154
- ,而且将来也可能会改变这种方式。命名空间的例子有:内置名称集合(包括
155
- "abs()" 函数以及内置异常的名称等);一个模块的全局名称;一个函数调用中
156
- 的局部名称。对象的属性集合也是命名空间的一种形式。关于命名空间的一个重
157
- 要知识点是,不同命名空间中的名称之间绝对没有关系;例如,两个不同的模块
158
- 都可以定义 "maximize" 函数,且不会造成混淆。用户使用函数时必须要在函数
159
- 名前面加上模块名。
160
-
161
- 点号之后的名称是 **属性**。例如,表达式 "z.real" 中,"real" 是对象 "z"
162
- 的属性。严格来说,对模块中名称的引用是属性引用:表达式
163
- "modname.funcname" 中,"modname" 是模块对象,"funcname" 是模块的属性。
164
- 模块属性和模块中定义的全局名称之间存在直接的映射:它们共享相同的命名空
165
- 间! [1]
166
-
167
- 属性可以是只读的或者可写的。 在后一种情况下,可以对属性进行赋值。 模块
168
- 属性是可写的:你可以写入 "modname.the_answer = 42" 。 也可以使用
169
- "del" 语句删除可写属性。 例如,"del modname.the_answer" 将从名为
170
- "modname" 对象中移除属性 "the_answer"。
171
-
172
- 命名空间是在不同时刻创建的,且拥有不同的生命周期。内置名称的命名空间是
173
- 在 Python 解释器启动时创建的,永远不会被删除。模块的全局命名空间在读取
174
- 模块定义时创建;通常,模块的命名空间也会持续到解释器退出。从脚本文件读
175
- 取或交互式读取的,由解释器顶层调用执行的语句是 "__main__" 模块调用的一
176
- 部分,也拥有自己的全局命名空间。内置名称实际上也在模块里,即
177
- "builtins" 。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  '''
179
  # Chunk the text. The prob_threshold should be between (0, 1). The lower it is, the more chunks will be generated.
180
  # Therefore adjust it to your need, when prob_threshold is small like 0.000001, each token is one chunk,
 
100
 
101
  # chunking
102
  print("\n>>>>>>>>> Chunking...")
103
+ doc = r'''经典中式家常菜:红烧肉 详尽版食谱
104
+
105
+ 红烧肉,作为中华美食殿堂中一颗璀璨的明珠,以其色泽红亮、肥而不腻、入口即化的独特风味,征服了无数食客的味蕾。它不仅仅是一道菜,更是一种情怀,是记忆中妈妈厨房里飘出的诱人香气,是团圆饭桌上最温暖的慰藉。要烹制出一盘完美的红烧肉,需要耐心、技巧以及对细节的专注。以下将为您详尽分解从选材到成品的每一个步骤,力求让您在家也能复刻出餐厅级别的美味。本食谱旨在深入剖析,故篇幅较长,以确保每个环节都清晰透彻。
106
+
107
+ 一、 精选主料:奠定美味的基石
108
+
109
+ • 猪肉选择。
110
+
111
+ ◦ 首选带皮的五花肉。
112
+
113
+ ◦ 层次分明为佳。
114
+
115
+ ◦ 肥瘦相间是关键。
116
+
117
+ ◦ 厚度约三指左右。
118
+
119
+ ◦ 重量约一斤半为宜。
120
+
121
+ ◦ 确保猪皮完整无缺。
122
+
123
+ ◦ 新鲜肉品呈鲜红色。
124
+
125
+ ◦ 脂肪部分应洁白细腻。
126
+
127
+ • 预处理工作。
128
+
129
+ ◦ 用镊子拔除残留猪毛。
130
+
131
+ ◦ 将肉块置于冷水中浸泡。
132
+
133
+ ◦ 浸泡时间约三十分钟。
134
+
135
+ ◦ 中途可换水一至两次。
136
+
137
+ ◦ 目的是泡出部分血水。
138
+
139
+ ◦ 然后用刀刮洗猪皮表面。
140
+
141
+ ◦ 彻底清除污物和杂质。
142
+
143
+ ◦ 最后用流动水冲洗干净。
144
+
145
+ 二、 准备辅料:调配灵魂之味
146
+
147
+ • 主要调味品。
148
+
149
+ ◦ 老抽:负责上色。
150
+
151
+ ◦ 用量需谨慎控制。
152
+
153
+ ◦ 过多会导致发黑发苦。
154
+
155
+ ◦ 生抽:提供咸鲜底味。
156
+
157
+ ◦ 与老抽比例约二比一。
158
+
159
+ ◦ 优质花雕酒是精髓。
160
+
161
+ ◦ 去腥增香效果显著。
162
+
163
+ ◦ 冰糖:首选黄冰糖。
164
+
165
+ ◦ 炒出的糖色更红亮。
166
+
167
+ ◦ 风味也比白糖醇和。
168
+
169
+ • 香辛料组合。
170
+
171
+ ◦ 生姜一大块,切片。
172
+
173
+ ◦ 大葱一根,切成长段。
174
+
175
+ ◦ 蒜头数瓣,轻轻拍松。
176
+
177
+ ◦ 八角两至三颗,增香。
178
+
179
+ ◦ 桂皮一小段,勿过多。
180
+
181
+ ◦ 香叶两片,增添风味。
182
+
183
+ ◦ 草果一颗,可拍裂开。
184
+
185
+ ◦ 干辣椒依个人口味添加。
186
+
187
+ • 其他基础材料。
188
+
189
+ ◦ 食用油适量,需耐高温。
190
+
191
+ ◦ 最好使用菜籽油或花生油。
192
+
193
+ ◦ 食盐少许,用于最后调味。
194
+
195
+ ◦ 因为酱油已有咸度。
196
+
197
+ ◦ 准备足量的开水备用。
198
+
199
+ ◦ 切记不可使用冷水。
200
+
201
+ ◦ 冷水会使肉质收缩变柴。
202
+
203
+ 三、 精细加工:关键步骤解析
204
+
205
+ • 肉块改刀。
206
+
207
+ ◦ 将洗净的五花肉捞出。
208
+
209
+ ◦ 用厨房纸彻底吸干水分。
210
+
211
+ ◦ 这一步非常重要。
212
+
213
+ ◦ 能有效防止后续溅油。
214
+
215
+ ◦ 将肉切成三厘米见方块。
216
+
217
+ ◦ 大小尽量保持均匀一致。
218
+
219
+ ◦ 以确保受热和入味均匀。
220
+
221
+ ◦ 切面应能看到完美层次。
222
+
223
+ • 焯水去腥。
224
+
225
+ ◦ 冷水下锅,放入切好的肉。
226
+
227
+ ◦ 同时加入几片生姜。
228
+
229
+ ◦ 倒入一汤匙花雕酒。
230
+
231
+ ◦ 开大火煮沸,撇净浮沫。
232
+
233
+ ◦ 浮沫是血水和杂质所致。
234
+
235
+ ◦ 务必撇除干净直至汤清。
236
+
237
+ ◦ 焯水时间约五到八分钟。
238
+
239
+ ◦ 煮至肉块变色定型即可。
240
+
241
+ • 捞出与冲洗。
242
+
243
+ ◦ 用漏勺将肉块捞出。
244
+
245
+ ◦ 立即放入温水中冲洗。
246
+
247
+ ◦ 洗去表面残留的浮沫。
248
+
249
+ ◦ 注意水温不宜过低。
250
+
251
+ ◦ 再次用厨房纸吸干水分。
252
+
253
+ ◦ 防止入锅时油花四溅。
254
+
255
+ ◦ 此时肉块呈灰白色。
256
+
257
+ ◦ 经过焯水已无肉腥味。
258
+
259
+ 四、 核心工艺:炒糖色与煸炒
260
+
261
+ • 炒制糖色。
262
+
263
+ ◦ 锅烧热,倒入少量底油。
264
+
265
+ ◦ 放入准备好的冰糖。
266
+
267
+ ◦ 开中小火慢慢搅动。
268
+
269
+ ◦ 观察冰糖融化的过程。
270
+
271
+ ◦ 先从固体变为液态。
272
+
273
+ ◦ 再从小泡转为密集大泡。
274
+
275
+ ◦ 当大泡逐渐回落消失时。
276
+
277
+ ◦ 糖液颜色开始加深。
278
+
279
+ • 观察颜色变化。
280
+
281
+ ◦ 从浅黄色变为枣红色。
282
+
283
+ ◦ 这个瞬间非常关键。
284
+
285
+ ◦ 枣红色时立即下入肉块。
286
+
287
+ ◦ 过早则甜腻,过晚则发苦。
288
+
289
+ ◦ 动作务必迅速而准确。
290
+
291
+ ◦ 糖色是红亮色泽的来源。
292
+
293
+ ◦ 也是风味层次的基础。
294
+
295
+ • 煸炒肉块。
296
+
297
+ ◦ 快速颠锅,使每块肉均匀裹上糖色。
298
+
299
+ ◦ 持续翻炒约三到五分钟。
300
+
301
+ ◦ 直到肉块表面微微焦黄。
302
+
303
+ ◦ 部分油脂被煸炒出来。
304
+
305
+ ◦ 这样吃起来肥而不腻。
306
+
307
+ ◦ 同时香味物质充分释放。
308
+
309
+ ◦ 煸出的猪油可倒出部分。
310
+
311
+ ◦ 留作炒青菜风味极佳。
312
+
313
+ 五、 炖煮入味:时间与火候的艺术
314
+
315
+ • 加入调料。
316
+
317
+ ◦ 沿着锅边烹入花雕酒。
318
+
319
+ ◦ 瞬间激发出浓郁酒香。
320
+
321
+ ◦ 接着倒入适量生抽。
322
+
323
+ ◦ 再加入少许老抽上色。
324
+
325
+ ◦ 放入所有香料:姜、葱、蒜等。
326
+
327
+ ◦ 与肉块一起翻炒均匀。
328
+
329
+ ◦ 让酱香与肉香充分融合。
330
+
331
+ ◦ 翻炒约两分钟至香气扑鼻。
332
+
333
+ • 注入开水。
334
+
335
+ ◦ 务必一次性加足开水。
336
+
337
+ ◦ 水量要完全没过肉块。
338
+
339
+ ◦ 甚至可以略多一些。
340
+
341
+ ◦ 避免中途再次加水。
342
+
343
+ ◦ 大火烧开后转小火。
344
+
345
+ ◦ 盖上锅盖,慢火焖炖。
346
+
347
+ ◦ 这是“入口即化”的关键。
348
+
349
+ ◦ 时间至少需要一小时。
350
+
351
+ • 慢炖过程。
352
+
353
+ ◦ 保持汤面微沸即可。
354
+
355
+ ◦ 火候切忌过大过急。
356
+
357
+ ◦ 否则容易烧干且肉不烂。
358
+
359
+ ◦ 期间可偶尔开盖查看。
360
+
361
+ ◦ 用勺子轻轻推动一下。
362
+
363
+ ◦ 防止粘锅底的情况发生。
364
+
365
+ ◦ 但尽量不要频繁翻动。
366
+
367
+ ◦ 以免影响肉块的完整。
368
+
369
+ 六、 收汁与装盘:成就最终美味
370
+
371
+ • 大火收汁。
372
+
373
+ ◦ 炖煮一小时后。
374
+
375
+ ◦ 用筷子戳一下瘦肉部分。
376
+
377
+ ◦ 若能轻松戳透即表示已软烂。
378
+
379
+ ◦ 此时根据汤汁咸度加盐。
380
+
381
+ ◦ 开大火,将汤汁收浓。
382
+
383
+ ◦ 用锅铲不停搅动。
384
+
385
+ ◦ 防止糊底,并让汤汁变稠。
386
+
387
+ ◦ 均匀包裹在每一块肉上。
388
+
389
+ • 收汁技巧。
390
+
391
+ ◦ 收到汤汁浓稠如蜜。
392
+
393
+ ◦ 油亮红润的汤汁紧裹肉块。
394
+
395
+ ◦ 锅中泛起密集的大泡。
396
+
397
+ ◦ 即可准备关火出锅。
398
+
399
+ ◦ 收汁程度依个人喜好。
400
+
401
+ ◦ 喜欢拌饭可多留些汤汁。
402
+
403
+ ◦ 整个过程需密切留意。
404
+
405
+ ◦ 最后阶段变化非常迅速。
406
+
407
+ • 最终成品。
408
+
409
+ ◦ 将红烧肉盛入预热好的盘中。
410
+
411
+ ◦ 可烫几棵小油菜围边。
412
+
413
+ ◦ 既点缀色彩,又解油腻。
414
+
415
+ ◦ 撒上少许葱花或香菜末。
416
+
417
+ ◦ 一道色香味俱全的红烧肉完成。
418
+
419
+ ◦ 肉质软糯,肥而不腻。
420
+
421
+ ◦ 咸中带甜,回味无穷。
422
+
423
+ ◦ 配上一碗白米饭是绝配。
424
+
425
+ 七、 要点总结与升华
426
+
427
+ • 成功关键。
428
+
429
+ ◦ 选材是基础,务必新鲜。
430
+
431
+ ◦ 焯水步骤不可省略。
432
+
433
+ ◦ 炒糖色是技术核心。
434
+
435
+ ◦ 火候控制是成败关键。
436
+
437
+ ◦ 耐心慢炖是美味保证。
438
+
439
+ • 变化与创新。
440
+
441
+ ◦ 可加入土豆、鹌鹑蛋同烧。
442
+
443
+ ◦ 吸收肉汤,滋味更丰富。
444
+
445
+ ◦ 也可尝试用啤酒代替水。
446
+
447
+ ◦ 别有一番风味层次。
448
+
449
+ ◦ 但万变不离其宗。
450
+
451
+ ◦ 核心技法仍需掌握。
452
+
453
+ 烹饪是一门需要实践的艺术,红烧肉更是如此。希望这份详尽的食谱能成为您厨房路上的得力助手,愿您能享受从准备到品尝的整个过程,与家人朋友分享这份由时间与匠心凝聚而成的温暖美味。每一次尝试都是一次经验的积累,祝您烹饪愉快,早日成就属于自己的招牌红烧肉!
454
  '''
455
  # Chunk the text. The prob_threshold should be between (0, 1). The lower it is, the more chunks will be generated.
456
  # Therefore adjust it to your need, when prob_threshold is small like 0.000001, each token is one chunk,