명칭과 복합명사의 처리에 대해서...



명확한 명칭을 복합명사인듯 분리해서 검색결과를 늘이는 일이 버졋이 일어나고 있는 요즈음, 그래도 검색에 대해서는 구글을 인정할 수 밖에 없구나 하는 생각이 들었습니다. 언제부터인지 구글에서 "모란소프트"를 명칭으로 인식하고 있는 것 같습니다. 네이버 70% VS 구글 2%의 시장점유율임을 비추어 보았을때, 검색의 횟수로는 네이버에 비해서 턱없이 작은 양이 일어 났을텐데도 언젠가부터 구글에서는 "모란소프트"를 명칭으로 인식하고 있습니다. 이것은 검색결과에 그대로 반영되어서 최상위부터 몇 페이지가 "모란소프트"라는 단어가 들어간 문서를 불러 내었고, 한참 뒤에야 "모란"과 "소프트"가 나뉘어진 것이 나타납니다.




반면에, 한국어 처리를 잘 해야하는 네이버나 다음의 경우에는 대충 첫페이지부터 "모란소프트"를 복합명사 처리해서 "모란"과 "소프트"로 검색하는 결과를 보여주고 있습니다.

작은 문제로 보이지만, 사실 초기의 검색 모델에는 "명칭"과 "복합명사"에 대한 개념이 없고 단지 색인어 혹은 키워드의 개념만 있었기 때문에, "명칭"과 "복합명사"를 다루기 위해서는 랭킹모델과 쿼리분석 모델을 손보아주어야 하기 때문에 나름데로의 자신감이 필요한 일입니다.

명칭과 복합명사를 구분하지 못하는 것, 혹은 명칭의 수집에 소홀히 하는 것은 새로운 명칭이 계속 발생하게 되는 언어의 속성에 비추어, 점점 검색 품질을 낮추는 것인데, 좀 답답하다는 생각이 들었습니다. 반면에 구글은 역시 구글이구나 하는 생각도 들었습니다.



명칭(named entity)은   하나의 명사로 취급해주세요~~~


by 하니가모 | 2008/05/19 21:41 | 검색엔진 | 트랙백(1) | 덧글(9)

트랙백 주소 : http://hanigamo.egloos.com/tb/1896097
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from Andy님의 이글루 at 2008/06/03 05:02

제목 : 간단한 복합명사 인식처리
명칭과 복합제 표현이 부정확했군요. "고유명사인식처리를 한것처럼"복합어 혹은 고유명사를 통사적인 견지에서 봐야할지 혹은 조어법견지에서 봐야할지는 각언어마다 다르기 때문에 적절한 알고리듬은 처리언어에 따라 다르를수 있겟죠. 별 생각 아닙니다만, 간단히 설명하자면:1. aa bb cc dd 라는 3개의 단어로 이루어진 query를 입력햇다고 가정하자.2. 인버티드 파일을 토대로 이 3 단어 혹은 스트링을 포함하는 문서들을 찻는다. 3. 이들 문서들......more

Commented by Andy at 2008/06/02 03:33
아 중요한 문제에 대해서 언급해주셧군요. 고유명사를 하나의 분석단위로 규정하고 다음 분석을 하면 본글에서 언급한 문제는 깔끔할수 있지만..

각설하면 고유명사를 구성하는 명사들을 분석초기에서는 그대로 놔두고,,(즉 고유명사 인식을 위한 처리를 하지앟고,,) 나중에 qurey 에 나타나는 information 을 이용해서, 고유명사인척하게 사용자들한테 지원해주는게 어떻겟냐는 생각을 한적이 있었습니다.





Commented by 하니가모 at 2008/06/02 09:26
"고유명사인척하게 사용자들한테 지원"이라는 아이디어를 좀 더 풀어주시면 감사하겠습니다. 역색인 구조를 좀 다르게 가지고 가는 것 인가요?

Commented by Andy at 2008/06/03 05:06
제 표현이 부정확했군요. "고유명사인식처리를 한것처럼" 이라고 수정하겠습니다.

대충 쓰다가 보니 길어져서 트렉벡으로 씁니다.
Commented by 하니가모 at 2008/06/03 10:10
^^ 저는 색인어 추출할때에 3계층을 사용합니다. 형태소단위, 단어단위, 명칭단위. 미리 가능한 조합을 뽑아 놓고 질의어 (query) 입력이 들어오면 쿼리에 대해서도 3단계로 추출해서 명칭단위부터 역색인을 탐색하는 방식으로 검색 결과의 숫자를 채우는 방식이죠 ^^, 간단한 방법인데 기존의 랭킹모델을 좀 고쳐야합니다.

말씀하신 것을 고려하면 색인어 추출을 두가지 방식으로 정리할 수 있겠는데, 가능한 모든 색인어를 1) 미리뽑은 후에 버리는 선-추출 후-삭제 2) 일부분에 대해서 분포상 전체를 선택하는 기법이 있게 될 것 같습니다. ^^

말씀하신 것은 두번째의 기법일 수 있겠는데, 새로운 조합등을 반영하는 데에 장점이 있겠고, 비 언어적인 표현도 빈도에 따라서 잡힐 수 있는 문제도 가지고 있겠네요... IBM에서 쓰이고 있다는 PAT tree (패트리샤 트리)를 적용해 봄직도 하네요. ^^

비슷한 일을 해보았는데, 한국어에서는 띄어쓰기 오류로 인한 신조어 인식문제가 있더라구요... "본논문에서", "제2장" 등과 같이 단어라고 보기도, 형태소라고 보기도 명칭이라고 보기도 어려운 띄어쓰기 문제....

Commented by 봉천동뺀침 at 2008/06/10 17:31
뜬금없이 찾아와서 여쭈어 보는 것입니다만.. 음음.. 혹. 사용자 질의 쪽에서 위에서 언급하신 "명칭과 복합명사"를 구분하는 방법은 고려해 보신 적은 없으신가요?
Commented by 하니가모 at 2008/06/10 18:59
검색엔진을 위한 색인어 추출이라면, 검색 쿼리 = "명칭" 이라고 보는 것이 합당하다고 생각해서, 그러한 DB를 구축해서 적용하고 있습니다.

다른 응용에서는 - 예) 지도 서비스 - POI 를 명칭의 단위로 사용하여야 합니다. 그래서 응용마다 합당한 명칭 Set를 만들어 사용하고 있습니다. ^^

Commented by 아웃링크 at 2008/08/07 12:02
안녕하세요. 건지소프트 입니다.

100% 아웃링크 방식의 통합검색 서비스가 요즘 인기를 떨치고 있습니다.

아웃링크 통합검색 서비스(http://www.outlink.co.kr)
한번 써보시죠..

복합명사 검색도 잘됩니다..
Commented by NeoKubric at 2008/09/03 08:59
블로그 업데이트 할때가 됐는데..아직 안됐네요^^ 어제 강의 올려주세요~
Commented by 하니가모 at 2008/09/03 11:47
^^ 올렸어요...

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶