여러 사전 동시 사용
한 클라이언트에서 여러 사용자 사전 동시 사용 패턴
실무에서는 하나의 도메인 사전만으로 끝나지 않습니다. 회사 공통 용어 사전, 팀별 전문어 사전,
이번 캠페인용 임시 사전을 동시에 적용하고 싶을 때가 많습니다.
바른은 형태소 분석 요청에 custom_dict_names 배열을 넘겨, 여러 사용자 사전을 한 번에
적용할 수 있습니다.
이 문서는 여러 사용자 사전을 함께 쓰는 패턴과, 같은 단어가 여러 사전에 있을 때의 우선순위를 설명합니다.
custom_dict_names 배열로 여러 사전 적용
형태소 분석 요청(AnalyzeSyntaxRequest)의 custom_dict_names는 여러 도메인을 배열로
받습니다. 지정한 모든 사전이 함께 적용됩니다.
| 설정 | 적용되는 사전 |
|---|---|
custom_dict_names = [] (미지정) |
사용자 사전 없이 기본 결과 |
custom_dict_names = ["finance"] |
finance 한 개 |
custom_dict_names = ["common", "finance", "campaign"] |
세 사전 모두 |
먼저 지정한 사전이 우선합니다
같은 표제어가 여러 사전에 있으면, custom_dict_names에서 먼저 나온 사전이 우선합니다.
배열 순서가 곧 우선순위입니다. 따라서 더 구체적이거나 더 신뢰하는 사전을 앞쪽에 두세요.
사용 패턴
graph TD
REQ[분석 요청] --> ARR["custom_dict_names<br>[common, finance, campaign]"];
ARR --> P1[1순위 common];
ARR --> P2[2순위 finance];
ARR --> P3[3순위 campaign];
P1 --> OUT[병합 적용];
P2 --> OUT;
P3 --> OUT;
- 공통 + 도메인 조합: 회사 공통 사전(
common)을 항상 앞에 두고, 호출하는 서비스에 맞는 도메인 사전을 뒤에 덧붙입니다. - 임시 사전 우선 적용: 캠페인 기간 동안만 특정 표기를 우선하고 싶다면, 그 사전을 배열 맨 앞에 둬서 다른 사전보다 우선시킵니다.
- A/B 비교: 같은 문장을 서로 다른 사전 조합으로 분석해 결과를 비교할 수 있습니다.
예시
여신심사가 finance 사전에 등록돼 있어 한 덩어리 명사로 인식됩니다.
만약 common에도 같은 단어가 다른 품사로 있었다면, 배열에서 앞선 common이 우선합니다.
우선순위를 설계로 활용하세요
배열 순서가 우선순위라는 점을 적극 활용하세요. "구체적 → 일반적" 순서로 두면 도메인 특화 해석을 우선하고, "공통 → 도메인" 순서로 두면 회사 표준을 우선하게 됩니다.
사전 간 충돌은 미리 점검
여러 사전을 함께 쓸 때 같은 단어가 다른 품사로 흩어져 있으면 결과 예측이 어려워집니다.
조합해 쓸 사전들은 CheckConflict로 미리 점검하는 것이 좋습니다.
자주 묻는 질문
Q. 여러 사전을 동시에 적용할 수 있나요?
네. 형태소 분석 요청의 custom_dict_names에 도메인 이름을 배열로 넘기면 됩니다.
지정한 모든 사용자 사전이 함께 적용됩니다.
Q. 같은 단어가 여러 사전에 있으면 어느 것이 적용되나요?
custom_dict_names 배열에서 먼저 나온 사전이 우선합니다. 우선시킬 사전을 앞쪽에 두세요.
Q. 사전을 하나도 지정하지 않으면 어떻게 되나요?
사용자 사전 없이 기본 분석 결과가 나옵니다. 등록한 도메인을 적용하려면 반드시
custom_dict_names(또는 set_domain)로 지정해야 합니다.
도움이 되었나요?