extracNoun 실행 시 단어로 끝나는 벡터에서 잘못된 결과를 반환합니다.
brainy78 opened this issue · 1 comments
안녕하세요? 금번 업데이트에 감명 받고 아주 잘 사용하고 있습니다. 다시 한번 감사드리며...
저 같은 경우에는 정부기관이나 연구소의 보고서를 많이 다루는데 , 그러한 자료에서 형태소 분석을 할 경우에는 종종 문제가 발생합니다. 많은 보고서가 개요체에 끝에 구두 점을 찍지 않습니다. 구두점이 없는 개요체 형식의 컨텐츠 벡터를 extracNoun 함수를 사용하여 명사를 추출할 경우 잘못된 결과를 종종 반환합니다.
그 증상 패턴을 분석해 보니, 구두점 있는 경우와 어절의 형태소가 사전에 등록되어 있는 경우에는 올바른 결과를 추출합니다. 하지만 사전에 없는 마지막 어절은 강제적으로 추출되며 마지막 한 글자를 분리하여 반환합니다. 예를 들면, "힣힣힣" => "힣힣" "힣" 이렇게 분리됩니다.
저 같은 경우는 벡터 끝에 구두점을 붙여서 임시방편으로 해결하지만, 빅데이터 같은 경우에는 의미없는 부하량이 증가되어 부담이 됩니다.
원인 파악과 해결이 가능할까요?
예제 코드
useNIADic()
txt.vt0 <- "저는 유능한 돌팔이입니다."
txt.vt1 <- "나는 유능한 연구원"
txt.vt2 <- "그동안 많은 일들을 해왔습니다."
txt.vt3 <- "그동안 많은 일들을 해왔음."
txt.vt4 <- "그동안 많은 일들을 해왔음"
txt.vt5 <- "그동안 많은 일들을 힣힣힣"
txt.vt6 <- "그동안 많은 일들을 힣힣힣."
extractNoun(txt.vt0)
[1] "저" "유능" "한" "돌팔이"
extractNoun(txt.vt1)
[1] "나" "유능" "한" "연구"
extractNoun(txt.vt2)
[1] "그동안" "일" "들"
extractNoun(txt.vt3)
[1] "그동안" "일" "들"
extractNoun(txt.vt4)
[1] "그동안" "일" "들" "해왔" "음"
extractNoun(txt.vt5)
[1] "그동안" "일" "들" "힣힣" "힣"
extractNoun(txt.vt6)
[1] "그동안" "일" "들" "힣힣힣"
문장에서 마침표 등의 구두점은 형태소를 결정하는데 중요한 요소가 되고 해당 단어가 명사인지 추정하는데 중요한 역할을 수행합니다. 그러한 부분에 대해서 마침표를 정확히 찍어주고 분석을 수행하는게 필요하며 마침표를 추정하는 어떠한 로직도 고려하고 있지 않습니다.