kakao / khaiii

Kakao Hangul Analyzer III
Apache License 2.0
1.4k stars 285 forks source link

사전(preanal) 빌드 후 적용 이슈 #87

Closed ekosis closed 4 years ago

ekosis commented 4 years ago
  1. preanal.test 로 기분석 사전을 만들어 rsc/src에 옮겨놓았습니다. -preanal.manual 과 중복되는 점 없이, 양식에 맞춰 만들었습니다.
  2. build에서 make resource를 해서, ./share/khaiii에 preana.tri 와 preanal.val이 잘 만들어지는 것을 확인했습니다.
  3. python에서 api = KhaiiiApi(rsc_dir='./share/khaiii') 로 하든, build에서 ./bin/khaiii --rsc-dir=./share/khaiii로 하든 기분석 사전 적용이 되지 않습니다.
krikit commented 4 years ago

rsc/Makefile을 살펴보니 기분석 사전의 소스는 preanal.auto와 preanal.manual 두 파일만 사용해서 빌드합니다. Makefile에 preanal.test 파일을 추가해 주시거나, preanal.manual 파일에 엔트리를 추가하셔야 할 것 같습니다.

ekosis commented 4 years ago

안녕하세요, 친절한 설명 감사합니다.

  1. rsc/Makefile에서 $(firstword $(PREANAL)): $(RSC_SRC)/preanal.auto $(RSC_SRC)/preanal.manual $(RSC_SRC)/preanal.test 를 넣었더니 make resource가 잘 진행되었습니다.

  2. make resource가 잘 되었음에도 preanal.test에 추가한 엔트리가 분석에 반영되지 않습니다. (rsc_dir 설정도 api = KhaiiiApi(rsc_dir='./share/khaiii')으로 preana.tri 와 preanal.val이 있는 위치로 잡아주었습니다)

  3. 사실 preanal.manual에 엔트리를 추가하고 make resource가 잘 되도 분석에 반영이 되지않아 preanal.test를 만들었습니다. 지금은 preanal.test, preanal.manual에 있는 단어 모두 반영이 되지 않습니다 ㅠ

krikit commented 4 years ago

빌드 결과물 디렉터리 문제가 아닐까 싶습니다. 설치 위치에 관하여 문서를 한번 보시고 정확한 디렉터리를 사용하고 계신지 다시 한번 확인을 좀 부탁드립니다.

ekosis commented 4 years ago

안녕하세요 친절한 답변 항상 감사드립니다. 빌드 결과물 문제는 아닌것 같습니다 ㅠ 참고하실 수 있게 제 화면스샷도 함께 드립니다.

  1. preanal.manual에 엔트리를 추가(단어 탭 단어/결과)
  2. make resource로 build/share/khaiii에 preanal.tri, val 생성 확인
  3. rsc-dir을 2번 폴더로 설정해서 실행 & 1번에 추가한 엔트리 미반영
1  preanal_manual 2  rsc_dir 3  run_rsc_load
ekosis commented 4 years ago

참고로 jupyter 로 돌려도 동일한 결과입니다 (그림)

그리고 스샷은 맥 환경이지만, 리눅스 환경에서도 동일한 증상입니다. ㅜ

+혹시 (preanal.tri나 val 같은) make resource 의 결과물을 확인할 수는 없을까요? 그러면 빌드가 잘 됐는지 여부를 알수 있을듯합니다.

++수정한 preanal.manual과 이를 make resource한 결과물(preanal.tri / preanal.val)도 함께 첨부해 봅니다. 형식이 틀렸거나 등등의 문제를 찾을 수 있지 싶습니다
preanal.zip

5  jupyter 위치 4  jupyter
krikit commented 4 years ago

저도 테스트 해보고 적용되지 않는 것을 보고 잠시 멘붕이 왔었습니다만, 가만히 보니 엔트리 기술하실 때 전방매칭 패턴이 아니라 완전일치 엔트리로 기술하셨기에 나타난 결과입니다. 기분석 사전 문서의 사전 엔트리의 종류 부분을 한번 살펴보시기 바랍니다.

결론적으로 아래와 같이 기술하셔야 원하시는 데로 동작할겁니다.

5G*    5G/NNP
띵작*    띵작/NNG
ekosis commented 4 years ago

해결했습니다. 조사와 같은 다른 글자와 붙을 수 있으니 전방매칭 패턴으로 써야겠군요. 감사합니다 :)