Closed eubinecto closed 2 years ago
이르 + 어가 합쳐질 때.
일러 (러 불규칙)가 되어야 하는가 이르러 (르 불규칙)가 되어야 하는가? 규칙을 정하기가 힘들다.
이건 맥락이 필요한 부분아닌가? 예를 들어,
이르 + 어
+ 요 -> 지금 하기에는 일러요
. 이르 + 어
+ 요 -> 반란을 일으키는 지경에 이르러요
.이르 + 었
+ 다 -> 하지말라고 일렀다
.이르 + 었
+ 다 -> 정상에 이르렀다
.로 비뀌게 되는데.
이를 해결하기 위해서는... 음.. 맥락에 대한 이해 없이는 규칙을 정의할수가 없다. 이 활용은 규칙기반 모델이 해결할 수 없는 부분이다.
바로 이런 애매모호함 (ambiguity) 때문에 soynlp
라이브러리의 conjugate
함수의 출력이 str
이 아니라 set
인 것일수도.
맥락에 대한 고려없이, 단순히 left
와 right
를 입력으로 받는 경우, 규칙으로 해결하는 것은 불가능하다.
음... 아니, 가능할수도 있다. 우리에게는 지금 pos
라는 정보가 존재한다. 이 정보를 사용한다면 해결할 수 있지 않을까?
아니다... 둘은 아쉽게도 품사가 동일하게 분석이된다 |
---|
결국엔 규칙만으로는 방법이 없다. 맥락이 필요하다. 이래서 예측기반 모델을 많이들 쓰나보다.
오직 규칙만을 사용하기로 한 이상, 이 친구는 테스트에서 제거하고, unittest.skip
로 기록해두자.
일단은 이렇게 두고.. .나중에 돌아옵시다 |
---|
BERT를 쓰는건 속도때문에 옵션이 아니고. Word2Vec 룩업 테이블을 만들어서, 앞 맥락의 단어 중 쓸만한 단어 (아마도 명사?)
의 벡터표현과 candidates
속의 벡터표현사이의 유사도를 따져서 candidates에서 pop하는 방식도 고려해볼 수 있을 것 같다.
일단 지금은 이슈를 닫는다.
Why?
53 이전에도 있었지만, 이후에도 다음과 같은 테스트 에러가 뜬다 |
--- | |
What is the cause?
르
불규칙으로 잘못 판단 (False by positive) 했기 때문일 것으로 추측이르렀, 일렀을 모두 정답이라고 간주한다.
결과적으로는
일렀어요
가 최종 출력으로 나오게되는 것.어떻게 고치지?
이것도 맥락에 해당하는건가...?