False `르` 불규칙 by positive 해결하기
eubinecto opened this issue · 4 comments
eubinecto commented
Why?
#53 이전에도 있었지만, 이후에도 다음과 같은 테스트 에러가 뜬다 |
---|
What is the cause?
아마도 아래와 같은 르 불규칙으로 잘못 판단 (False by positive) 했기 때문일 것으로 추측 |
---|
실제로 출력을 확인해보니 그렇게 나옴 |
---|
이르렀, 일렀을 모두 정답이라고 간주한다.
하지만 내가 정답이 여러개인 경우, 가장 짧은 것을 선택하도록 해놓았으므로... |
---|
결과적으로는 일렀어요
가 최종 출력으로 나오게되는 것.
어떻게 고치지?
이것도 맥락에 해당하는건가...?
eubinecto commented
이르 + 어가 합쳐질 때.
일러 (러 불규칙)가 되어야 하는가 이르러 (르 불규칙)가 되어야 하는가? 규칙을 정하기가 힘들다.
이건 맥락이 필요한 부분아닌가? 예를 들어,
- 지금 하기에는
이르 + 어
+ 요 -> 지금 하기에는일러요
. - 반란을 일으키는 지경에
이르 + 어
+ 요 -> 반란을 일으키는 지경에이르러요
. - 하지말라고
이르 + 었
+ 다 -> 하지말라고일렀다
. - 정상에
이르 + 었
+ 다 -> 정상에이르렀다
.
로 비뀌게 되는데.
이를 해결하기 위해서는... 음.. 맥락에 대한 이해 없이는 규칙을 정의할수가 없다.
이 활용은 규칙기반 모델이 해결할 수 없는 부분이다.
바로 이런 애매모호함 (ambiguity) 때문에 soynlp
라이브러리의 conjugate
함수의 출력이 str
이 아니라 set
인 것일수도.
eubinecto commented
eubinecto commented
eubinecto commented
나름 가능할 것 같은 방법?
BERT를 쓰는건 속도때문에 옵션이 아니고. Word2Vec 룩업 테이블을 만들어서, 앞 맥락의 단어 중 쓸만한 단어 (아마도 명사?)
의 벡터표현과 candidates
속의 벡터표현사이의 유사도를 따져서 candidates에서 pop하는 방식도 고려해볼 수 있을 것 같다.
일단 지금은 이슈를 닫는다.