제9회 다국어 조직의 검색 기반 – 일본어, 영어, 중국어 문서를 올바르게 검색하는 환경 구축

들어가며

글로벌하게 사업을 전개하는 기업이나 외국 국적의 직원이 재직하는 조직에서는 사내 문서가 여러 언어로 작성됩니다. 일본어 회의록, 영어 기술 사양서, 중국어 시장 보고서 등 언어가 혼재하는 환경에서 적절하게 검색할 수 있는 기반이 필요합니다.

이 글에서는 일본어, 영어, 중국어 문서가 혼재하는 환경을 가정하고, 각 언어의 문서를 올바르게 검색할 수 있는 환경을 구축합니다.

대상 독자

  • 다국어 문서를 다루는 조직의 관리자

  • 일본어 이외의 언어에서 검색 품질을 개선하고 싶은 분

  • 전문 검색의 Analyzer에 대한 기본 지식을 배우고 싶은 분

시나리오

일본, 미국, 중국에 거점을 둔 기업을 가정합니다.

  • 일본 거점: 일본어 문서 작성(사양서, 회의록, 보고서)

  • 미국 거점: 영어 문서 작성(기술 문서, 프레젠테이션 자료)

  • 중국 거점: 중국어 문서 작성(시장 조사, 거래처 정보)

  • 공통: 영어로 작성된 글로벌 정책 문서

각 거점의 직원이 언어에 관계없이 문서를 검색할 수 있는 환경을 목표로 합니다.

다국어 검색의 기본

전문 검색에서의 언어 처리

전문 검색 엔진이 문서를 검색 가능하게 하려면 텍스트를 “토큰”(검색 가능한 단위)으로 분할해야 합니다. 이 처리를 “토크나이즈”라고 합니다.

언어에 따라 토크나이즈 방법은 크게 다릅니다.

영어: 공백으로 구분된 단어가 그대로 토큰이 됩니다. 또한 어간 변환(stemming: running -> run)과 소문자 변환이 수행됩니다.

일본어: 공백으로 구분되지 않기 때문에 형태소 분석기(Kuromoji 등)를 사용하여 단어로 분할합니다. “전문검색서버” -> “전문” “검색” “서버”와 같이 분할됩니다.

중국어: 일본어와 마찬가지로 공백으로 구분되지 않기 때문에 전용 토크나이저가 필요합니다. Fess에서는 독자적인 중국어 토크나이저를 사용하여 처리합니다.

Fess의 다국어 대응

Fess는 OpenSearch를 백엔드로 사용하고 있으며, OpenSearch가 제공하는 다국어 Analyzer를 활용할 수 있습니다. Fess의 기본 설정에서는 일본어(Kuromoji) Analyzer가 활성화되어 있지만, 다른 언어에도 대응 가능합니다.

Fess는 20개 이상의 언어에 대응한 인덱스 설정을 갖추고 있으며, 문서의 언어를 자동 감지하여 적절한 Analyzer를 적용하는 기능이 있습니다.

언어별 설정

일본어 설정

일본어 문서는 Kuromoji Analyzer로 처리됩니다. Fess의 기본 설정으로 일본어는 적절하게 처리되므로 특별한 추가 설정은 불필요합니다.

다만, 다음과 같은 커스터마이즈로 검색 품질을 향상시킬 수 있습니다.

사용자 사전

업계 고유의 용어나 사내 용어를 사전에 등록합니다. 관리 화면의 [시스템] > [사전]에서 Kuromoji 사전을 선택하여 설정할 수 있습니다.

예를 들어, 복합어가 개별 단어로 분할되지 않고 하나의 토큰으로 처리되도록 하고 싶은 경우에 유용합니다.

시노님

일본어 특유의 표기 흔들림에 대응합니다.

サーバー,サーバ
データベース,DB,ディービー
ユーザー,ユーザ,利用者

영어 설정

영어 문서는 Fess의 다국어 인덱스에 의해 자동으로 적절한 Analyzer로 처리됩니다.

영어 고유의 커스터마이즈로는 다음이 있습니다.

스톱워드

영어의 일반적인 스톱워드(the, a, an, is, are 등)는 기본적으로 제외되지만, 업계 고유의 스톱워드를 추가할 수도 있습니다.

스테머 오버라이드

특정 단어의 어간 변환을 덮어씁니다. 관리 화면의 [시스템] > [사전]에서 Stemmer 덮어쓰기 사전을 선택하여 설정할 수 있습니다.

예를 들어, 기술 용어가 의도하지 않은 변환이 되는 경우에 사용합니다.

중국어 설정

중국어 문서에는 Fess 독자적인 중국어 토크나이저가 사용됩니다. Fess의 다국어 인덱스에서는 간체자, 번체자 모두 적절하게 토크나이즈됩니다.

중국어 특유의 고려 사항으로는 다음이 있습니다.

  • 간체자와 번체자의 대응

  • 병음 입력에서의 검색 대응

  • 중국어 고유의 시노님 설정

다국어 환경에서의 검색 경험

검색 UI 고려 사항

다국어 환경에서는 검색 UI도 이용자의 언어에 맞출 필요가 있습니다.

Fess에서는 브라우저의 언어 설정에 기반하여 UI의 언어를 자동 전환하는 기능이 있습니다. 일본어, 영어, 중국어를 포함한 여러 언어로 검색 화면의 UI가 제공되고 있습니다.

크로스 언어 검색 고려 사항

“일본어 키워드로 영어 문서를 찾고 싶다”는 크로스 언어 검색의 요구도 있습니다. 현시점에서 완전한 자동 번역 검색은 Fess 단독으로는 대응하고 있지 않지만, 다음 방법으로 부분적으로 대응할 수 있습니다.

다국어 시노님 설정

일본어와 영어의 대역어를 시노님으로 등록합니다.

会議,meeting,ミーティング
報告書,report,レポート
仕様書,specification,スペック

이를 통해 “회의”로 검색하면 “meeting”을 포함하는 영어 문서도 검색 결과에 나타나게 됩니다.

라벨에 의한 언어 필터링

언어별로 라벨을 설정하여 이용자가 검색 대상 언어를 선택할 수 있도록 합니다.

  • lang-ja: 일본어 문서

  • lang-en: 영어 문서

  • lang-zh: 중국어 문서

사전 관리의 베스트 프랙티스

다국어 환경에서는 사전 관리가 검색 품질에 크게 영향을 미칩니다.

언어별 사전 정비

사전 정비의 포인트
사전 일본어 영어 / 중국어
시노님 표기 흔들림, 약어, 전문 용어 약어 전개, 동의어
스톱워드 업계 고유의 불필요한 단어 도메인 고유의 불필요한 단어
사용자 사전 사내 용어, 제품명 (Kuromoji 고유)
Protwords(보호어) 스테밍시키지 않을 단어 기술 용어, 고유 명사

정기적인 사전 유지보수

사전은 한 번 설정하면 끝이 아니라 정기적으로 재검토해야 합니다.

  • 새로운 제품명이나 프로젝트명 추가

  • 더 이상 사용되지 않는 용어 정리

  • 검색 로그에서 발견된 새로운 시노님 후보 추가

제8회에서 소개한 검색 품질 튜닝 사이클과 결합하여 사전도 지속적으로 유지보수합시다.

정리

이 글에서는 일본어, 영어, 중국어가 혼재하는 환경에서의 검색 기반 구축에 대해 해설했습니다.

  • 언어별로 다른 토크나이즈 처리의 이해

  • Fess의 다국어 인덱스와 Analyzer 설정

  • 일본어(Kuromoji), 영어, 중국어 각각의 커스터마이즈

  • 다국어 시노님에 의한 크로스 언어 검색 대응

  • 사전 관리의 베스트 프랙티스

다국어 대응은 한 번의 설정으로 완료되는 것이 아니라 이용 상황에 따른 지속적인 개선이 중요합니다.

다음 회에서는 검색 시스템의 안정 운용에 대해 다룹니다.

참고 자료