2.X/3. Dealing with Human Language

3-4-2. Dictionary Stemmers

drscg 2017. 9. 24. 13:19

Dictionary stemmers work quite differently from algorithmic stemmers. Instead of applying a standard set of rules to each word, they simply look up the word in the dictionary. Theoretically, they could produce much better results than an algorithmic stemmer. A dictionary stemmer should be able to do the following:

사전 형태소 분석기(dictionary stemmers) 는 algorithmic stemmers와 전혀 다르게 동작한다. 각 단어에 규칙의 기준을 적용하지 않고, 단순하게 사전에서 단어를 찾는다. 이론적으로 알고리즘 형태소 분석기보다 더 나은 결과를 얻을 수 있다. 사전 형태소 분석기는 다음과 같은 것을 할 수 있다.

  • Return the correct root word for irregular forms such as feet and mice

    feetmice 같은 불규칙한 형태에 대해, 올바른 원형을 반환

  • Recognize the distinction between words that are similar but have different word senses—for example, organ and organization

    organ 과 organization 처럼, 비슷하지만 의미가 다른, 단어들 간의 차이를 인식

In practice, a good algorithmic stemmer usually outperforms a dictionary stemmer. There are a couple of reasons this should be so:

실제에서, 일반적으로 괜찮은 알고리즘 형태소 분석기는 사전 형태소 분석기를 능가한다. 이렇게 되는 두 가지 이유가 있다.

Dictionary quality

A dictionary stemmer is only as good as its dictionary. The Oxford English Dictionary website estimates that the English language contains approximately 750,000 words (when inflections are included). Most English dictionaries available for computers contain about 10% of those.

사전 형태소 분석기는 자신의 사전만큼만 좋다. Oxford 영어 사전 website는 대략 750,000개 정도의 영어 단어를 포함(굴절을 포함하는 경우)하고 있다고 추정된다. 컴퓨터에서 이용할 수 있는 대부분의 영어 사전은 이것의 약 10%를 포함하고 있다.

The meaning of words changes with time. While stemming mobility to mobil may have made sense previously, it now conflates the idea of mobility with a mobile phone. Dictionaries need to be kept current, which is a time-consuming task. Often, by the time a dictionary has been made available, some of its entries are already out-of-date.

단어의 의미는 시대에 따라 변화한다. mobility 를 형태소 분석하면 mobil 이 되는 것은 과거에는 당연했다. 하지만 이제는 휴대전화(mobile phone)의 이동성(mobility)에 대한 개념으로 혼합되었다. 사전은 현재를 반영해야 한다. 그런데, 이것은 시간이 걸리는 작업이다. 가끔씩, 사전이 나올 때, 일부 항목은 이미 시대에 뒤떨어진 경우가 있다.

If a dictionary stemmer encounters a word not in its dictionary, it doesn’t know how to deal with it. An algorithmic stemmer, on the other hand, will apply the same rules as before, correctly or incorrectly.

사전 형태소 분석기가 사전에 없는 단어를 만나면, 그것을 처리할 방법이 없다. 반면에, 알고리즘 형태소 분석기는 전과 동일한(정확하게 또는 부정확하게) 규칙을 적용할 것이다.

Size and performance

A dictionary stemmer needs to load all words, all prefixes, and all suffixes into memory. This can use a significant amount of RAM. Finding the right stem for a word is often considerably more complex than the equivalent process with an algorithmic stemmer.

사전 형태소 분석기는 모든 단어, 모든 접미사, 모든 접두사를 메모리에 올려야 한다. 이는 상당한 양의 RAM을 사용한다. 단어에 대해 올바른 형태소를 찾는 것은, 알고리즘 형태소 분석기를 이용한 동일한 프로세스보다, 가끔씩 상당히 더 복잡하다.

Depending on the quality of the dictionary, the process of removing prefixes and suffixes may be more or less efficient. Less-efficient forms can slow the stemming process significantly.

사전의 질에 따라, 접두어와 접미사를 제거하는 프로세스는 효율성이 다르다. 덜 효율적인 형태는 형태소 분석 프로세스가 상당히 느려질 수 있다.

Algorithmic stemmers, on the other hand, are usually simple, small, and fast.

반면에, 알고리즘 형태소 분석기는 일반적으로 간단하고, 작고 빠르다.

Tip

If a good algorithmic stemmer exists for your language, it is usually a better choice than a dictionary-based stemmer. Languages with poor (or nonexistent) algorithmic stemmers can use the Hunspell dictionary stemmer, which we discuss in the next section.

여러분의 언어에 좋은 알고리즘 형태소 분석기가 있다면, 사전에 기반한 형태소 분석기보다 일반적으로 더 나은 선택이다. 알고리즘 형태소 분석기가 없거나 빈약한 언어는 다음에 이야기할 Hunspell 사전 형태소 분석기를 사용할 수 있다.


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

3-4. Reducing Words to Their Root Form  (0) 2017.09.24
3-4-1. Algorithmic Stemmers  (0) 2017.09.24
3-4-3. Hunspell Stemmer  (0) 2017.09.24
3-4-4. Choosing a Stemmer  (0) 2017.09.24
3-4-5. Controlling Stemming  (0) 2017.09.24