2.X/3. Dealing with Human Language

3-2. Identifying Words

drscg 2017. 9. 24. 17:39

A word in English is relatively simple to spot: words are separated by whitespace or (some) punctuation. Even in English, though, there can be controversy: is you’re one word or two? What about o’clockcooperatehalf-baked, or eyewitness?

영어에서 단어를 찾는 것은 상대적으로 간단하다. 단어는 공백이나 (어떤) 문장 부호(쉼표, 마침표 등)로 구분된다. 영어이긴 하지만 논란이 있을 수 있다. you’re 는 한 단어인가 두 단어인가? o’clockcooperatehalf-bakedeyewitness 도 마찬가지다.

Languages like German or Dutch combine individual words to create longer compound words like Weißkopfseeadler (white-headed sea eagle), but in order to be able to return Weißkopfseeadler as a result for the query Adler (eagle), we need to understand how to break up compound words into their constituent parts.

독일어(German)나 네델란드어(Dutch) 같은 언어는 Weißkopfseeadler(붉은 머리 흰꼬리 수리)같은 더 긴 복합어를 만들기 위해 개별 단어를 조합한다. 그래서, Adler(독수리)에 대한 검색의 결과로Weißkopfseeadler 를 반환하기 위해, 복합어를 그들의 구성 요소로 나누는 방법을 이해해야 한다.

Asian languages are even more complex: some have no whitespace between words, sentences, or even paragraphs. Some words can be represented by a single character, but the same single character, when placed next to other characters, can form just one part of a longer word with a quite different meaning.

아시아의 언어들은 심지어 더 복잡하다. 어떤 언어는 단어, 문장, 심지어 단락 사이에 공백이 없다. 어떤 단어는 하나의 문자로 표시된다. 그러나 동일한 단일 문자가 다른 문자 다음에 위치하면, 전혀 다른 의미를 가진, 더 긴 단어의 일부가 된다.

It should be obvious that there is no silver-bullet analyzer that will miraculously deal with all human languages. Elasticsearch ships with dedicated analyzers for many languages, and more language-specific analyzers are available as plug-ins.

모든 인간의 언어를 극적으로 처리하는 마법 총알(silver bullet)같은 analyzer는 없는 것이 분명하다. Elasticsearch는 많은 언어를 위한 전용 analyzer를 가지고 있다. 그리고, 더 많은 언어별 analyzer를 plug-in으로 이용할 수 있다.

However, not all languages have dedicated analyzers, and sometimes you won’t even be sure which language(s) you are dealing with. For these situations, we need good standard tools that do a reasonable job regardless of language.

그러나, 모든 언어가 전용 analyzer를 가지고 있는 것은 아니다. 때때로, 여러분이 처리하는 것이 어떤 언어인지 확인할 수 없는 경우도 있다. 이러한 상황에 대비하여, 언어에 관계없이 적절한 작업을 할 좋은 표준 도구가 필요하다.

'2.X > 3. Dealing with Human Language' 카테고리의 다른 글

3-1-5. One Language per Field  (0) 2017.09.24
3-1-6. Mixed-Language Fields  (0) 2017.09.24
3-2-1. standard Analyzer  (0) 2017.09.24
3-2-2. standard Tokenizer  (0) 2017.09.24
3-2-3. Installing the ICU Plug-in  (0) 2017.09.24