2007년 06월 04일
오토태그에 대한 정리
빠른 Grep 기능의 인터넷 검색엔진이 아니고, 태그를 이용한 검색 서비스를 왜, 언제, 어떻게 하여야 하는지에 대해서 나름 정리를 해보려고 합니다. 이글 역시도 완전히 정리된 것이 아니고, 정리해 나가는 과정에 있는 수준임을 죄송스럽게 생각합니다.
------------
오토태그 : Tag 시스템이 가지는 장점을 이용하기 위해서, 자동화된 태그 추출 프로그램을 통해서 Tag를 추출하는 것
Tag 시스템의 장점 :
- 정보 혹은 문서의 내용을 잘 반영하고 있다.
- 태그들이 서로 연관되어 있다.
- 멀티미디어 검색에서는 접근성을 위한 필수적 시스템이다.
발견에 있어서 Tag 시스템과 카테고리 시스템 :
- 연역적인 발견 : 카테고리 시스템, 전문가에 의해서 분류된 다계층의 분류체계에 정보 혹은 문서를 발견해 나가는 것
- 귀납적인 발견 : Tag 시스템, 구체적인 정보에 연관된 정보들을 발견해 나가는 것
Tag의 단위와 시스템의 한계 :
- 단어단위 Tag : 고유명사(인명, 지명, 기관명, 상품명 등)에 대해서는 구체적인 사례를 발견하는 것이 가능하지만, 일반명사 (예: 사랑, 가을, 낙엽 등)에 대해서는 구체화가 요구된다. 단어단위를 뛰어 넘는 명칭이나 상황표현에 대해서는 Tag의 범위를 벗어나므로 이들을 포함할 수가 없다. 국어사전의 명사의 갯수는 보통 10만개, 사람 이름 50만개, 상품명/기업명/지명 등을 합하면 350만개 수준
- 명칭단위 Tag : 고유명사와 명칭 (named entity: 노래제목, 책 제목, 사건명 등)에 대해서 구체적인 사례를 발견하는 것이 가능하다. 그러나 일반명사에 대해서는 구체화가 불가능하고 상황표현 (예: 김옥분 속옷 노출, 가수 싸이의 병역특례, 한화회장의 보복폭행, 가장 잘 팔리는 책, 포카리스웨트를 만든 회사 등)은 표현의 범위를 벗어나므로, 검색과 발견 기능의 촉진 역할을 하는 매개체(실시간 검색어 등)의 기법을 사용할 수 없다.
- 분야단위 Tag : 단어들의 집합을 분야로 볼것인지, 분야에 속한 단어들을 찾아볼 것인지에 대해서는 고민의 여지가 있지만, 두가지 모두 장단점은 가지고 있다. (예: 남자가수명 : 조용필, 싸이, SG 워너비, 태진아, 이승철, 바비킴) Tag로써 분야를 설정하는 것은 정보의 분류적 속성을 이용한 발견의 과정에서는 상위분야로의 이동, 즉 일반화의 범주로 이동시키는 것인데, 이것은 Tag로서는 부적합한 것이 아닌가 싶다. 다만, 정보의 내용이 부실한 경우에 혹은 상위 범주로의 이동 경로로의 안내역할로 삽입되어야 하는 것 같다. 그러므로 정보 자체에 상위 개념의 Tag를 부착하기 보다는 Navigation Path를 만드는 과정에서 즉, Tag Cloud에서의 역할 일 것 같다.
- 구절단위 Tag : 명사구(예: 가수 싸이의 병역특례 문제, 한화회장의 구속)와 관형된명사구 (예: 축구를 잘하는 방법, 2007년에 예상되는 히트상품)에 대해서 구체적인 사례를 발견하는 것이 가능하다. 그러나 사실에 대한 표현 (예: 삼성전자의 순이익이 감소하였다. 주가가 사상 최고가를 경신하였다. 북한과 미국의 정상회담이 불확실하다) 등에 대한 표현의 범위를 벗어나므로, 에이전트로서의 사실 수집 기능이 약하다. 즉, 사람을 대신하는 검색/발견 행위에의 적용이 불가능 하다.
- 사실단위 Tag : 사실에 대한 표현을 Tag로 하는 것으로 사람이 정보자체에 직접 접근하여 내용을 읽지 않아도, 해당 사실에 대한 다양한 산술적인 계산을 자동화할 수 있다.
각 단계 Tag 시스템의 실현가능성 :
- 단어단위 Tag : 일반명사, 고유명사에 대한 추출은 현재 검색엔진에서 사용하고 있는 자동 색인기의 성능을 향상시키고 Over Generation하도록 하는 장치를 제한시킴으로써 비교적 틀리지 않는 단어를 95% 이상의 성능으로 추출하는 것이 가능하다. 다만, 문서의 내용에 기반해서 우선순위를 부여하는 방식에 대해서는 정보학이론 (tf/idf)를 사용하거나 격이론(case theory, 문장에서 단어의 역할과 문서에서 문장의 역할 분석)을 도입하거나, Topics (문서에 많이 나오는 단어들의 분야 가중치를 부여하는 방법)를 도입하고, 이들을 섞어서 사용할 수 있겠다. 다만, 왜 그러한 우선순위가 나왔느냐고 묻는다면 - 사용자는 이해하기를 원하니까 - 정보학 이론이 가장 설명하기 쉽고, 격이론과 Topics는 증거를 보여주는 과정이 포함되기 어려우므로 사용자의 인정을 받을때까지 성능을 향상시켜나가야 할 것 같다.
- 명칭단위 Tag는 단어단위 Tag와 거의 동일한 실현가능성을 가진다. 다만, 최신의 명칭은 포함시키지 못하는 한계를 가지지만, 95%의 성능을 유지하지 하기 위해서는 명칭 데이타베이스의 질적/양적 한계가 존재하고, 만약에 최신의 명칭을 추정하는 방식을 적용한다면 80% 수준의 성능으로 떨어질 가능성이 높다. 이는 명칭 추정방식은 그 근본적인 원리상, 사용자 언어에 포함된 문법/용어 오류에 휘말리기 쉬운 속성을 가지고 있기 때문이다.
- 구절단위 Tag : 명사구(X의 Y, 띄어쓴 X)와 관형된 명사구(X를 V한 Y)를 추출하는 것에 대해서는 몇%의 성능을 발휘할 수 있다고 명시하기는 어려운 것 같다. 여기서의 성능 측정이 검색엔진 평가방법처럼 Precision(나온 것 중에 제대로 나온 갯수)과 Recall(나와야 하는 것중에 나온 갯수)로 평가될 수 밖에 없기 때문이다. Tag 추출도 어차피 뽑아내는 것이므로, 검색엔진의 속성과 비슷하게 Precision과 Recall은 반비례하는 성향을 가진다. 즉, 모든것을 뽑으려고 시도하면, 틀린 것들이 다수 포함되고, 틀리지 않으려고 하면 안뽑히는 것들이 많이 발생하게 된다. 그래도 전체적인 성능을 높이기 위해서는 문장분석이 잘 되어야 한다.
- 사실단위 Tag : 문서내의 문장에 대해서 작은 단위의 문장 혹은 사실 혹은 Fact 단위로 Rewriting하여 인간과 더불어 기계도 Count할 수 있도록 변환한 것을 사실단위 Tag라고 한다. 사람과 기계가 동일하게 이해할 수 있는 공통의 단위이므로 마치 숫자를 더하거나 평균내거나 정렬하거나 하는 것과 유사하게 문서 혹은 정보에 대해서도 이러한 Operation을 가능하게 하려는 것이다. 이때에 문제가 되는 것은 구절단위의 문제와 더불어 생략(ellipsis)과 조응(anaphora)문제와 더불어 동의어(synonym), 동형이의어(Homonym)의 문제를 밟고 넘어가야 한다. 그러나 부정확한 성능이 문제가 됨에도 불구하고, 그 결과값을 이해하는 사람의 지능이 이 문제를 극복하여 줄 것으로 예상된다. 그 이유는 사람으로서는 불가능한 혹은 값이 너무 비싼 정보 reading, counting, comparison의 기능을 기계가 대신하여 주기 때문이다. 기계가 이해한 내용을 다른 기계적인 시스템의 입력으로 사용하기에는 무리가 있겠지만, 사람이라는 고지능의 시스템에 오류치의 범위와 함께 입력하여 고지능의 사람이 해독하는 것은 가능할 것으로 보여지기 때문이다.
-----------------
Fact Search에 대한 것은 사실단위의 Tag라는 관점을 마이너리티리포트의 탐쿠르즈가 사용하는 인터페이스에 넣고 생각해보면 어떨까 싶네요... Machine Understanding 후의 Q&A로 보면 안됀다는 관점입니다.
# by | 2007/06/04 21:59 | 발견엔진 | 트랙백 | 덧글(1)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]