From a5c3564f15cea5ddb5f79ba15bf888a332698440 Mon Sep 17 00:00:00 2001 From: Hui Lan Date: Tue, 23 May 2023 22:22:57 +0800 Subject: [PATCH] difficulty.py: do not stem a word twice. --- app/difficulty.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/difficulty.py b/app/difficulty.py index 8179c57..1183999 100644 --- a/app/difficulty.py +++ b/app/difficulty.py @@ -49,15 +49,17 @@ def get_difficulty_level_for_user(d1, d2): 在d2的后面添加单词,没有新建一个新的字典 """ 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: # 用户的词 if k in d2: # 如果用户的词以原型的形式存在于词库d2中 continue # 无需评级,跳过 - elif stem.stemWord(k) in d2: # 如果用户的词的词根存在于词库d2的词根库中 - d2[k] = d2[stem.stemWord(k)] # 按照词根进行评级 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