The final part of this chapter is devoted to symbol synonyms, which are unlike the synonyms we have discussed until now. Symbol synonyms are string aliases used to represent symbols that would otherwise be removed during tokenization.
이 장의 마지막은, 지금까지 이야기했던 동의어와는 다른, symbol synonym이다. 상징의 동의어(Symbol Synonyms) 는 token을 만드는 도중에 제거되는, 상징을 표시하는데 사용되는 문자열로 이루어진 별칭이다.
While most punctuation is seldom important for full-text search, character combinations like emoticons may be very significant, even changing the meaning of the text. Compare these:
대부분의 문장 부호는 full-text 검색에서 거의 중요하지 않지만, 이모티콘 같은 문자의 조합은 매우 의미가 있어, 심지어 문장의 의미를 변경하기도 한다. 아래 문장을 비교해 보자.
- I am thrilled to be at work on Sunday.
- I am thrilled to be at work on Sunday :(
The standard
tokenizer would simply strip out the emoticon in the second sentence, conflating two sentences that have quite different intent.
standard
tokenizer는 두 번째 문장의 이모티콘을 단순하게 제거할 것이다. 매우 다른 의도를 가지고 있는 두 문장을 동일하게 취급한다.
We can use the mapping
character filter to replace emoticons with symbol synonyms like emoticon_happy
and emoticon_sad
before the text is passed to the tokenizer:
문장을 tokenizer에 전달하기 전에, 이모티콘을 emoticon_happy
, emoticon_sad
같은 상징의 동의어(Symbol Synonyms)로 대체하는, mapping
character filter 를 사용할 수 있다.
PUT /my_index { "settings": { "analysis": { "char_filter": { "emoticons": { "type": "mapping", "mappings": [ ":)=>emoticon_happy", ":(=>emoticon_sad" ] } }, "analyzer": { "my_emoticons": { "char_filter": "emoticons", "tokenizer": "standard", "filter": [ "lowercase" ] ] } } } } } GET /my_index/_analyze?analyzer=my_emoticons I am :) not :(
It is unlikely that anybody would ever search for emoticon_happy
, but ensuring that important symbols like emoticons are included in the index can be helpful when doing sentiment analysis. Of course, we could equally have used real words, like happy
and sad
.
누구도 emoticon_happy
를 검색하지는 않겠지만, 이모티콘 같은 중요한 상징이 index에 포함된다는 것은, 심리 분석의 경우 매우 유용할 수 있다. 물론, happy
, sad
같은 실제의 단어를 똑같이 사용할 수 있다.
The mapping
character filter is useful for simple replacements of exact character sequences. For more-flexible pattern matching, you can use regular expressions with the pattern_replace
character filter.
mapping
character filter는 정확한 문자 배열의 교체에 유용하다. 보다 유연한 pattern 일치의 경우, pattern_replace
character filter 로 정규식을 사용할 수 있다.
'2.X > 3. Dealing with Human Language' 카테고리의 다른 글
3-6-4. Synonyms and The Analysis Chain (0) | 2017.09.24 |
---|---|
3-6-5. Multiword Synonyms and Phrase Queries (0) | 2017.09.24 |
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 |