forked from mrlan/EnglishPal
添加测试convert_test_type_to_difficulty_level和get_difficulty_level_for_user函数运行所需时间的几行代码
parent
4d2535a6e8
commit
3361e4ba79
|
@ -7,6 +7,8 @@
|
||||||
|
|
||||||
import pickle
|
import pickle
|
||||||
import math
|
import math
|
||||||
|
import time
|
||||||
|
|
||||||
from wordfreqCMD import remove_punctuation, freq, sort_in_descending_order, sort_in_ascending_order
|
from wordfreqCMD import remove_punctuation, freq, sort_in_descending_order, sort_in_ascending_order
|
||||||
import snowballstemmer
|
import snowballstemmer
|
||||||
|
|
||||||
|
@ -24,6 +26,7 @@ def convert_test_type_to_difficulty_level(d):
|
||||||
:param d: 存储了单词库pickle文件中的单词的字典
|
:param d: 存储了单词库pickle文件中的单词的字典
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
|
time_start = time.time()
|
||||||
result = {}
|
result = {}
|
||||||
L = list(d.keys()) # in d, we have test types (e.g., CET4,CET6,BBC) for each word
|
L = list(d.keys()) # in d, we have test types (e.g., CET4,CET6,BBC) for each word
|
||||||
|
|
||||||
|
@ -38,6 +41,8 @@ def convert_test_type_to_difficulty_level(d):
|
||||||
result[k] = 7
|
result[k] = 7
|
||||||
elif 'BBC' in d[k]:
|
elif 'BBC' in d[k]:
|
||||||
result[k] = 8
|
result[k] = 8
|
||||||
|
time_end = time.time()
|
||||||
|
print('convert_test_type_to_difficulty_level totally cost', time_end - time_start)
|
||||||
|
|
||||||
return result # {'apple': 4, ...}
|
return result # {'apple': 4, ...}
|
||||||
|
|
||||||
|
@ -48,6 +53,7 @@ def get_difficulty_level_for_user(d1, d2):
|
||||||
d1 用户不会的词
|
d1 用户不会的词
|
||||||
在d2的后面添加单词,没有新建一个新的字典
|
在d2的后面添加单词,没有新建一个新的字典
|
||||||
"""
|
"""
|
||||||
|
time_start = time.time()
|
||||||
# TODO: convert_test_type_to_difficulty_level() should not be called every time. Each word's difficulty level should be pre-computed.
|
# TODO: convert_test_type_to_difficulty_level() should not be called every time. Each word's difficulty level should be pre-computed.
|
||||||
d2 = convert_test_type_to_difficulty_level(d2) # 根据d2的标记评级{'apple': 4, 'abandon': 4, ...}
|
d2 = convert_test_type_to_difficulty_level(d2) # 根据d2的标记评级{'apple': 4, 'abandon': 4, ...}
|
||||||
stemmer = snowballstemmer.stemmer('english')
|
stemmer = snowballstemmer.stemmer('english')
|
||||||
|
@ -61,6 +67,8 @@ def get_difficulty_level_for_user(d1, d2):
|
||||||
d2[k] = d2[stem] # 按照词根进行评级
|
d2[k] = d2[stem] # 按照词根进行评级
|
||||||
else:
|
else:
|
||||||
d2[k] = 3 # 如果k的词根都不在,那么就当认为是3级
|
d2[k] = 3 # 如果k的词根都不在,那么就当认为是3级
|
||||||
|
time_end = time.time()
|
||||||
|
print('get_difficulty_level_for_user totally cost', time_end - time_start)
|
||||||
return d2
|
return d2
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue