1 importre2 importjsonlines3
4
5 #训练语料:metadata.txt
6 #生成文档: 1. d.jsonl文件, 2. output.jsonl文件 3. generator_5possible_value.jsonl文件 4. data.txt文件
7
8
9
10 new_ll=[] #词汇表:存储单词
11 dict_file={} #cut函数中,对每一行数据切分后,产生的中间存储变量, 字典格式:dict{the:[boy,boy, girl,apple, apple,...], boy:[like,like, eat, play,play.....], like:[eatting, playing.....], eatting:[apple,apple.... ].....}
12 total_list=[] #全部单词(包含重复单词)
13 d={} #存储每个单词以及它的统计频数, d{read:13, the:10, a:12, book: 15,......... }
14 frequency_dict={} #用于封装key_value{}的中间存储变量。
15 key_value={} #在output.jsonl文件中按行存储的字典
16 ###############################################################################################################
17 key_5value={} #用于封装value{}的中间存储变量。
18 word_num=5 #每个单词后最可能出现的单词的数目。
19 value={} #generator_5possible_value.jsonl文件中按行存储的字典
20
21
22
23 #count_list()函数:用于统计词汇表中的单词
24 #new_ll中存储词汇表中的单词
25 defcount_list(list_file):26 #用一个列表记录总共多少种单词
27 globalnew_ll28 for i inlist_file:29 if i not innew_ll:30 new_ll.append(i)31
32
33
34 #存储字典d (字典中包含键值对,例如:{r