[1-15, 16] 채점기준 변경
This commit is contained in:
@@ -73,9 +73,12 @@ class XMLScorer:
|
||||
if xml_type == "hml":
|
||||
all_text = root.xpath(f"//BODY//text() | //TEXTART/@Text") if root is not None else []
|
||||
|
||||
if xml_type == "chart":
|
||||
elif xml_type == "chart":
|
||||
all_text = root.xpath(f"//c:chart//text()", namespaces=namespaces) if root is not None else []
|
||||
|
||||
else:
|
||||
all_text = []
|
||||
|
||||
# 유사도 비교
|
||||
max_score = 0
|
||||
similar_text = ''
|
||||
@@ -368,7 +371,23 @@ class XMLScorer:
|
||||
|
||||
self.evaluate_answer(scoring, user_answer, right_answer, points)
|
||||
|
||||
|
||||
# [1-16] ◈ 행사안내 ◈
|
||||
# 특수문자와 글자의 속성이 같고 문서 내부에 '행사안내'와 같은 문자가 있을 경우
|
||||
# 유사도 문제로 의도치 않은 부분의 속성이 채점되는것을 방지하고자
|
||||
# 해당 문자를 포함하는 모든 문단의 속성을 판단해
|
||||
# 정렬값이 정답과 일치하는 경우 정답으로 채점
|
||||
elif (category or "") == "Align":
|
||||
match_str = criterion.get('match_str', None)
|
||||
|
||||
xpath = xpath.replace('{match_str}', match_str)
|
||||
items = root.xpath(xpath)
|
||||
|
||||
for item in items:
|
||||
user_answer = item
|
||||
self.evaluate_answer(scoring, user_answer, right_answer, points)
|
||||
if scoring['points'] > 0:
|
||||
break
|
||||
|
||||
# 정답이 하나인 경우
|
||||
# elif (category or "") == "OneAnswer":
|
||||
elif (category or "") in ["OneAnswer", "ChartOneAnswer"]:
|
||||
@@ -1230,10 +1249,10 @@ def main():
|
||||
|
||||
# 채점하고자 하는 유형은 주석 해제
|
||||
exam_types = [
|
||||
'A',
|
||||
'B',
|
||||
# 'A',
|
||||
# 'B',
|
||||
'C',
|
||||
'D',
|
||||
# 'D',
|
||||
]
|
||||
|
||||
test_mode = False
|
||||
|
||||
Reference in New Issue
Block a user