오타 수정 기능에서 사전에 등록되지 않는 단어를 교체해버리는 경우가 있어서, 조사만 교정하는 기능이 있으면 좋을 거 같습니다.
이미 template에서 조사 맞춤 기능이 구현되어 있어서 큰 이슈 없이 구현할 수 있을 것 같아서 제안해 봅니다. (typo 모델 없이)
하지만 특정 조사 표현에 대해서 되고 안 되고 차이가 있어서 이를 해결해야 할 필요가 보입니다. (특정 조사는 잘 안 됨)
from kiwipiepy import Kiwi
kiwi = Kiwi()
tpl = kiwi.template("{}이 {}으로 돌아갔다.")
print(tpl.format("너", "서울"))
# 너가 서울로 돌아갔다. ("이/JKS" 조사가 "가/JKS" 로 바뀜, "으로/JKB" 조사가 "로/JKB" 로 바뀜)
tpl = kiwi.template("{}가 {}으로 돌아갔다.")
print(tpl.format("사람", "대구"))
# 사람가 대구로 돌아갔다. ("가/JKS" 조사가 바뀌지 않음, "으로/JKB" 조사가 "로/JKB" 로 바뀜)
As-Is
조사를 잘못 적은 사례에는 조사가 조사로 적혀있는지 판별하는 방법이 필요해 보입니다.
from kiwipiepy import Kiwi
kiwi = Kiwi()
print(kiwi.tokenize("너이 인천로 돌아갔다."))
# [
# Token(form='너', tag='NP', start=0, len=1),
# Token(form='이', tag='MM', start=1, len=1), <- 이/JKS
# Token(form='인천', tag='NNP', start=3, len=2),
# Token(form='로', tag='XSM', start=5, len=1), <- 로/JKB
## 뒷부분 생략
]
print(kiwi.tokenize("사람가 대구으로 돌아갔다."))
# [
# Token(form='사람', tag='NNG', start=0, len=2),
# Token(form='가', tag='VV', start=2, len=1), <- 가/JKS
# Token(form='대구', tag='NNP', start=4, len=2),
# Token(form='으', tag='NNG', start=6, len=1),
# Token(form='로', tag='JKB', start=7, len=1), <- 으로/JKB 로 붙어야 함.
## 뒷 부분 생략
]
To-Be
다음 처럼 잘못 적힌 조사에 대해서 알맞는 것을 선택할 수 있으면 좋겠습니다.
선택하는 기능도 괜찮을 거 같습니다.
print(kiwi.josa_fix("너이 인천로 돌아갔다."))
# 너가 인천으로 돌아갔다.
print(kiwi.josa_fix("사람가 대구으로 돌아갔다."))
# 사람이 대구로 돌아갔다.
print(kiwi.josa_select("나(은/는) 키위(이/가) 좋다."))
# 나는 키위가 좋다.
이 기능이 추가되면 텍스트 교정 시 조사만 정확하게 수정할 수 있어서 유용할 것 같습니다.
오타 수정 기능에서 사전에 등록되지 않는 단어를 교체해버리는 경우가 있어서, 조사만 교정하는 기능이 있으면 좋을 거 같습니다.
이미 template에서 조사 맞춤 기능이 구현되어 있어서 큰 이슈 없이 구현할 수 있을 것 같아서 제안해 봅니다. (typo 모델 없이)
하지만 특정 조사 표현에 대해서 되고 안 되고 차이가 있어서 이를 해결해야 할 필요가 보입니다. (특정 조사는 잘 안 됨)
As-Is
조사를 잘못 적은 사례에는 조사가 조사로 적혀있는지 판별하는 방법이 필요해 보입니다.
To-Be
다음 처럼 잘못 적힌 조사에 대해서 알맞는 것을 선택할 수 있으면 좋겠습니다.
선택하는 기능도 괜찮을 거 같습니다.
이 기능이 추가되면 텍스트 교정 시 조사만 정확하게 수정할 수 있어서 유용할 것 같습니다.