시드니랩

[Information Retrieval] 4. IR 과 NLP 본문

랩/Information Retrieval

[Information Retrieval] 4. IR 과 NLP

시드니효상 2020. 9. 27. 18:51

IR은 Searcher 가 원하는 정보를 가져다 주는 것이 목적이다. 

즉, 특정 대상을 위해 동작하는 목적이 있는 Application 이다.

 

반면, NLP는 인간과 인간이 의사소통 하는 문맥을 컴퓨터가 이해할 수 있도록 하는 기술이다. 

인간이 작성한 텍스트와, 말하는 문장 등을 컴퓨터가 이해하기 쉬운 구조로 바꾸는것에 목적이 있다. 

 

따라서, IR의 기능을 수행하는데에 있어서 중요한 Role을 차지하고 있는것이 NLP라고 할 수 있겠다. 

IR은 텍스트에만 국한되어있지 않고, 이미지와 같은 멀티미디어 Retrieval 또한 포함하고 있어서 NLP가 다루는 분야보다 훨씬 범주가 넓다.

 

IR은 또한 Application 이기 때문에, 정보 검색시 속도를 비롯한 Efficiency에 큰 비중을 둔다. 따라서 Stop word를 무시하고, Stemming을 사용, Indexing을 해서 Bag of words 를 만들어 Index에 집어넣기도 한다.

(Stop words : a, the, under 같은 article/preposition, IR에서는 Stop word Dictionary를 만들어서 stop word를 무시한다. )

(Stemming : -ing, -s, -ed 등을 무시하고 단어의 의미를 가지는 부분만을 떼어내서 채취, ex : Comput)

 

반면, NLP는 단어를 있는 그대로 가져오는 IR과 다르게, 단어 하나하나의 Semantic을 고려한다.

 

 

 

자연어를 단어 단위로 자르는 Tokenization 까지는 비슷하지만,

 

Tokenization 이후, 단어의 Semantic을 고려하는 작업이 들어가게 되면, NLP 프로세스,

 

문장의 stop word를 제거하고, 단어를 Semantic고려하지 않고 있는 그대로 가져온다면 일반적인 IR프로세스를 따라간다.

 

하지만 요즘은 IR과 NLP의 경계가 모호해지고 있는 것이 현실이기는 하다

 

참고로, 일반적인 상용 Search Engine 보다 더 좋은 Search Engine을 만들고 싶으면 Semantic을 고려하는 NLP기능을 추가하면 된다.

Comments