Add XML parsing and spell checking for input text extraction

This commit is contained in:
2025-01-17 13:33:57 +09:00
parent 894d6be884
commit 9b05f4781b

View File

@@ -1,9 +1,28 @@
from hanspell import spell_checker
from lxml import etree as ET
# sent = ['서울시 용일동 보건소에서 주최하는 ','즐거운 컬러푸드 영양교실', '은 제8회째 진행하는 행사입니다. 조화로운 식생활과 건강한 삶을 유지하도록 음식 재료의 빛깔만큼이나 다양한 효능이 그 속에 담겨져 있는 컬러푸드에 대한 올바른 영양지식을 제공하고 지역주민들이 직접 참여하여 각각의 맛과 특징을 살펴보고 골고루 먹기의 중요성을 컬러푸드 체험을 통하여 배울 수 있습니다. 이 밖에 아이들을 위한 영양 식단과 고혈압, 당뇨, 비만예방 식단 및 컬러푸드를 이용한 영양 간식 만들기 등 다양한 프로그램이 준비되어 있습니다. 아이들에게는 좋은 경험이 될 수 있는 이번 행사에 많은 참여 부탁드립니다.']
# spelled_check=spell_checker.check(sent)
sent = ['서울시 용일동 보건소에서 주최하는 ','즐거운 컬러푸드 영양교실', '은 제8회째 진행하는 행사입니다. 조화로운 식생활과 건강한 삶을 유지하도록 음식 재료의 빛깔만큼이나 다양한 효능이 그 속에 담겨져 있는 컬러푸드에 대한 올바른 영양지식을 제공하고 지역주민들이 직접 참여하여 각각의 맛과 특징을 살펴보고 골고루 먹기의 중요성을 컬러푸드 체험을 통하여 배울 수 있습니다. 이 밖에 아이들을 위한 영양 식단과 고혈압, 당뇨, 비만예방 식단 및 컬러푸드를 이용한 영양 간식 만들기 등 다양한 프로그램이 준비되어 있습니다. 아이들에게는 좋은 경험이 될 수 있는 이번 행사에 많은 참여 부탁드립니다.']
spelled_check=spell_checker.check(sent)
xml_path = r"/Users/waterdrw/Works/KAIT/HWP-Scoring/output/워드(한글)-010065-양야베스.hml"
tree = ET.parse(xml_path)
root = tree.getroot()
# xpath로 바이너리 부분추출
input_text = root.xpath('//CHAR/text()')
# input_text = input_text.encode('utf-8')
# print(input_text)
spelled_check = spell_checker.check(input_text)
# Checked(result=True, original='DIAT', checked='DIAT', errors=0, words=OrderedDict([('DIAT', 0)]), time=0.5238590240478516)
# 위와 같은 형식으로 반환
# 이때 words=OrderedDict([]) [] 안에 두번째 인덱스에 있는 값이 0이 아닌 경우에만 출력
err_list = []
for i in spelled_check:
print(i)
for word, value in i.words.items():
# words=OrderedDict([('과일야채', 0), ('항산화', 2), ('지수', 2), ('비교', 0)])
# 와 같은 형식으로 반환, value에 있는 값이 0이 아닌 경우에만 출력
if value != 0:
err_list.append(word)
print(word, value)