배경
LRGraph 기반 스코어링에서 핵심적으로 사용되는 cohesion score와 boundary score 수식이
코드 어디에도 언어학적 근거나 논문 참조 없이 사용되고 있다.
문제
# 현재 코드 — 수식의 의미 설명 없음
cohesion = freq(L+R) / freq(L) ** (1 / len(L))
- 수식이 어떤 언어학적 직관에서 도출되었는지 알 수 없음
- 관련 논문 참조가 코드/docstring 어디에도 없음
- 사용자가 임계값(
cohesion_threshold, boundary_threshold)을 튜닝하려 해도
수식의 의미를 모르면 적절한 값을 설정할 수 없음
개선 방향
- cohesion score, boundary score 각각의 수식을 docstring에 수식과 함께 명시
- 수식이 포착하려는 언어학적 직관 설명
- cohesion: L이 자립적인 단위일수록 높은 점수 → 명사 후보 판별
- boundary: R의 경계가 명확할수록 높은 점수 → 조사/어미 경계 판별
- 원 논문 참조 추가 (lovit 저자 블로그 또는 논문이 있다면 링크)
- 권장 임계값 범위 및 도메인별 튜닝 가이드 추가
대상 파일
soynlp/noun/lr.py — cohesion score 계산 함수
soynlp/word/word.py — boundary score 계산 함수
soynlp/core/lrgraph.py — score 조회 메서드
배경
LRGraph기반 스코어링에서 핵심적으로 사용되는 cohesion score와 boundary score 수식이코드 어디에도 언어학적 근거나 논문 참조 없이 사용되고 있다.
문제
cohesion_threshold,boundary_threshold)을 튜닝하려 해도수식의 의미를 모르면 적절한 값을 설정할 수 없음
개선 방향
대상 파일
soynlp/noun/lr.py— cohesion score 계산 함수soynlp/word/word.py— boundary score 계산 함수soynlp/core/lrgraph.py— score 조회 메서드