forked from mrlan/EnglishPal
difficulty.py: do not stem a word twice.
parent
1295616d5b
commit
a5c3564f15
|
@ -49,15 +49,17 @@ def get_difficulty_level_for_user(d1, d2):
|
||||||
在d2的后面添加单词,没有新建一个新的字典
|
在d2的后面添加单词,没有新建一个新的字典
|
||||||
"""
|
"""
|
||||||
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, ...}
|
||||||
stem = snowballstemmer.stemmer('english')
|
stemmer = snowballstemmer.stemmer('english')
|
||||||
|
|
||||||
for k in d1: # 用户的词
|
for k in d1: # 用户的词
|
||||||
if k in d2: # 如果用户的词以原型的形式存在于词库d2中
|
if k in d2: # 如果用户的词以原型的形式存在于词库d2中
|
||||||
continue # 无需评级,跳过
|
continue # 无需评级,跳过
|
||||||
elif stem.stemWord(k) in d2: # 如果用户的词的词根存在于词库d2的词根库中
|
|
||||||
d2[k] = d2[stem.stemWord(k)] # 按照词根进行评级
|
|
||||||
else:
|
else:
|
||||||
d2[k] = 3 # 如果k的词根都不在,那么就当认为是3级
|
stem = stemmer.stemWord(k)
|
||||||
|
if stem in d2: # 如果用户的词的词根存在于词库d2的词根库中
|
||||||
|
d2[k] = d2[stem] # 按照词根进行评级
|
||||||
|
else:
|
||||||
|
d2[k] = 3 # 如果k的词根都不在,那么就当认为是3级
|
||||||
return d2
|
return d2
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue