2.X/3. Dealing with Human Language

3-7-4. Scoring Fuzziness

drscg 2017. 9. 24. 12:26

Users love fuzzy queries. They assume that these queries will somehow magically find the right combination of proper spellings. Unfortunately, the truth is somewhat more prosaic.

사용자들은 fuzzy query를 좋아한다. 이들 query가 적절한 맞춤법의 올바른 조합을, 왠지 마술처럼 찾을 거라 생각한다. 유감스럽게도, 진실은 어느 정도 더 평범하다.

Imagine that we have 1,000 documents containing "Schwarzenegger", and just one document with the misspelling "Schwarzeneger". According to the theory of term frequency/inverse document frequency, the misspelling is much more relevant than the correct spelling, because it appears in far fewer documents!

"Schwarzenegger" 를 포함하고 있는 1,000개의 document와, 맞춤법이 틀린 "Schwarzeneger" 를 가진 단 하나의 document를 가지고 있다고 가정해 보자. term frequency/inverse document frequency 이론에 따르면, 그것은 훨씬 더 적은 document에 나타나기 때문에, 맞춤법 오류가 있는 것은 맞춤법이 올바른 것보다 훨씬 더 관련이 있다.

In other words, if we were to treat fuzzy matches like any other match, we would favor misspellings over correct spellings, which would make for grumpy users.

즉, 다른 어떤 일치처럼 퍼지 일치를 다룬다면, 맞춤법 오류가 있는 것을 맞춤법이 올바른 것 이상으로 선호하게 되는 것이다.

Tip

Fuzzy matching should not be used for scoring purposes—only to widen the net of matching terms in case there are misspellings.

퍼지 일치는 score를 계산하는 목적으로는 사용하지 않아야 한다. 맞춤법 오류가 있는 경우에, 일치하는 단어의 검색의 범위를 넓히기 위해서만 사용된다.

By default, the match query gives all fuzzy matches the constant score of 1. This is sufficient to add potential matches onto the end of the result list, without interfering with the relevance scoring of nonfuzzy queries.

기본적으로, match query는, 모든 퍼지 일치에게, 항상 score 1을 부여한다. 이것은 fuzzy가 아닌 query의 relevance score 계산을 방해하지 않고, 결과 목록의 마지막에 잠재적인 일치를 추가하는 것으로 충분하다.

Tip

Fuzzy queries alone are much less useful than they initially appear. They are better used as part of a "bigger" feature, such as the search-as-you-type completionsuggester or the did-you-mean phrase suggester.

fuzzy query 단독으로는 처음에 언급했던 것보다 훨씬 덜 유용하다. 자동 완성(search-as-you-typecompletion suggester)이나, 검색 제안(정확한 의미를 파악한 제안, did-you-meanphrase suggester)같은, "더 큰" 기능의 일부로 사용되는 것을 선호한다.


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

3-7. Typoes and Mispelings  (0) 2017.09.24
3-7-1. Fuzziness  (0) 2017.09.24
3-7-2. Fuzzy Query  (0) 2017.09.24
3-7-3. Fuzzy match Query  (0) 2017.09.24
3-7-5. Phonetic Matching  (0) 2017.09.24