단어와 언어 규칙은 크게 다르지만 숫자, 날짜 및 시간과 같은 몇 가지 고려 사항은 모든 단어 분리기에서 일관되게 처리됩니다. 이 항목에서는 단어 분리기 구현에 영향을 줄 수 있는 정규화 고려 사항을 설명합니다.
이 항목은 다음과 같이 구성됩니다.
하이픈 넣기
하이픈(-)은 복합 단어 또는 이름의 부분 사이에 사용됩니다. 텍스트 줄의 끝에서 단어를 나눌 때 단어의 음절 사이에도 사용됩니다. 영어에서 단어는 컨텍스트에서 특수 관계를 나타내기 위해 하이픈과 조인되지만 일반적으로 다른 컨텍스트에서는 해당 단어에 하이픈을 넣지 않을 수 있습니다. 예를 들어 "단계별"입니다. 인덱스 생성 중에 단어 분리기는 하이픈을 단어 구분 기호로 처리해야 합니다. 예를 들어 "data-base"는 "data"와 "base"로 저장됩니다. 쿼리 시 하이픈 처리된 구를 두 단어 변형과 실제 복합체의 두 가지 대안으로 바꿔야 합니다. 예를 들어 "data-base"는 "data"와 "base" 및 "database"로 바뀝니다. 인덱스와 쿼리 시간의 차이로 인해 하이픈을 넣은 단어의 표현 조합이 늘어나고 쿼리에서 단어를 더 쉽게 일치시킬 수 있습니다.
다음 표에서는 하이픈을 영어에서 단어 구분 기호로 처리하면 인덱스에 포함된 각 용어에 대해 일치하는 쿼리 용어의 수가 증가하는 방법을 보여 줍니다.
인덱스에 포함된 용어 | 쿼리 시간 일치 |
---|---|
데이터 베이스 | 데이터 베이스, 데이터 베이스 |
데이터 기반 | 데이터 베이스, 데이터 베이스 |
데이터베이스 | 데이터 기반, 데이터베이스 |
소유자
소유물은 명사에서 소유를 나타내는 변형입니다. 영어 소유물은 아포스트로피(') 또는 아포스트로피와 단어에 아포스트로피를 추가하여 표현됩니다. 예를 들어 소유를 나타내기 위해 "Mary"라는 단어는 "Mary's"로 표현됩니다. 단어 분리기는 쿼리 시 아포스트로피와 아포스트로피 형식을 모두 생성합니다. "Mary"에 대한 쿼리는 "Mary"와 "Mary's" 모두와 일치해야 합니다.
분음 부호
분음 부호는 발음에 대한 특별한 윗주 값을 나타내기 위해 문자 또는 음소에 추가됩니다. 발음 부호는 그래픽과 동일한 단어를 구분할 수 있습니다. 예를 들어 영어로 "resume" 및 "resumé"를 사용합니다. 그러나 인덱스에 발음을 저장하면 인덱스의 고유한 단어 키 수가 증가하여 쿼리 성능이 저하됩니다. 언어에서 최소로만 발음을 사용하는 경우 해당 언어의 단어 분리기는 인덱스를 만들고 쿼리하는 동안 해당 단어 분리기를 제거해야 합니다. 예를 들어 영어 단어 분리기는 "resumé"를 처리할 때 "resume"을 생성하여 쿼리 결과의 관련성에 미치는 영향을 최소화합니다.
Clitics
진부한 단어는 스스로 서 있는 것이 불가능하고 스트레스가 많은 단어에 첨부하여 단일 단위를 형성하는 스트레스 없는 단어입니다. Clitics는 음음학, 구문 또는 형태학으로 쉽게 분류할 수 없습니다. Clitics는 절차 및 두 가지 유형으로 제공됩니다. 절차는 단어의 시작 부분에 자신을 연결합니다. 유혹은 단어의 끝에 자신을 연결합니다.
Clitics는 스페인어와 같은 언어로 구문 분석하기가 더 어렵습니다. 스페인어 동사는 시제에 따라 많은 표면 형태를 생성할 수 있습니다. 인덱스를 만드는 동안 clitic을 제거하고 쿼리 시간에 형태소 분석을 통해 표면 폼을 생성하는 경우를 고려해야 합니다. clitic 컴퍼지션의 형태가 모호한 경우 clitics를 제거하면 예측할 수 없는 결과가 발생할 수 있습니다. 단어에 대해 많은 수의 표면 폼을 생성하면 전체 텍스트 인덱스의 크기가 증가하고 쿼리 성능이 저하될 수 있습니다. 형태소 분석기는 적은 수의 표면 형태만 생성하는 것이 좋습니다.