발푱 - Tistory

Download Report

Transcript 발푱 - Tistory

Query Biased Snippet
Generation in XML Search
PPT목차
1.
2.
3.
4.
5.
Overview
Problem Definition
Solutions
Experiments
Summaries
1. Overview
본 논문의 의미
• XML 검색의 Snippet에 대한 첫작업
• 4가지 목표의 식별
• 목표를 이루기 위해 Snippet에 들어갈중요한 정보
를 식별
• 우리가 주어진 크기제한 안에서 중요한 모든 정모
를 담으면서 Snippet을 생성할수있는지의 의사결
정 문제가 NP-Complete라는것을 증명
• 중요한 정보들을 제한된 크기내에서 생성 할 수 있
는 효과적인 알고리즘을 디자인
• 시스템을 구현하고 실험적 연구를 통해 효율성과
능력을 테스트
Abstraction
• XML 검색의 Snippet을 생성하는 것은 아
직 연구 되지않음
• 내용을 포함하고 의미 있는 크기의 사용
자가 다른 것과 쉽게 구별할 수 있는 적절
한 크기의 Snippet을 생성하는 첫 알고리
즘을 디자인 하고 구현한후 실험을 통해
그 능력과 효율성을 나타냄
Introduction
• 검색 엔진의 랭킹 시스템에서 검색결과의
의미상의 모호성을 정확하게 해결 하지 못
해서 텍스트의 일부분을 보여주는 Snippet
을 사용함
• 사용자는 Snippet을 이용하여 여러 검색
결과중에 가장 타당한 것을 빠르게 판단
할 수 있다.
Introduction 2
• XML데이터가 웹 데이터를 나타내는 표준
임에도 불구하고 XML데이터에 대한
Snippet을 생성해 내는 것에 대한 연구가
진행되지 않았다.
• 텍스트 검색은 구조의 부족으로 인해(컴퓨
터가 읽기 어려워) 키워드의 주변을 잘라
Snippet을 제공한다.
• XML은 텍스트 검색에 비하여 의미있는 검
색을 제공할 수 있는 기회가 많다.
Snippet
• Snippet
• 일반적으로 작은 단위의 무엇을 뜻함
• 컴퓨터에서 Snippet은 자주 쓰는 코드들을
주로 일컬으며 IDE등에 Snippets라고 되어
있는 윈도우를 보면 소스코드가 나옴
• 본 논문에서 말하는 Snippet은 검색 엔진
결과에 특정 검색 결과에 대한 요약 메시
지를 뜻함.
Objective
• XML문서들을 검색해서 키워드와 관련있는 문서를 찾고
해당 문서에서 의미 있는 부분을 찾아 간결한 문장으로
출력하여 사용자가 많은 Snippet들을 보고 쉽고 빠르게
판단 할 수 있게 한다.
• 논문의 가장 핵심은 Snippet의 크기의 적절한 크기를 찾
는 방법을 제시 하는 것이다.
요구사항
이유
Self-Contained
유저가 이해할수 있도록
Distinguishable
유저가 적은 노력으로 다른 것과 구별
할 수 있도록.
Representative
유저가 핵심을 포착 할 수 있도록
Small
유저가 여러 Snippet을 빠르게 훝어
볼 수 있도록
logic
• XML데이터는 구조화 되어 있기 때문에 노드
의 부모/자식 관계를 통해 자식 노드들이 부
모 노드와 관계가 있다는 것을 알 수 있다. 따
라서 특정 노드의 자식 노드들을 요약함으로
써 특정 노드의 특징을 알 수 있다.
• 단어(노드)의 출현 빈도가 그 단어의 중요도
를 나타 낸다. 남성옷이 100개 여성옷이 10개
라고 하면 남성옷을 주로 파는 가계이다.
• 키워드와 중요 단어를 Snippet에 추가하면
Snippet자체에 결과를 요약 포함 할 수 있다.
문제 정의
Result tree 구조
• 키워드와 매치되는 것들을 가짐
Self-contained
• Self-contained를 위해서 의미를 포함해야함
• 검색엔진이 하는 것처럼 키워드 근처에서 XML
문서를 잘라서 출력 하면 무슨 말인지 모름
• 구글 Desktop의 경우 내용만 붙여서 출력해줌
• 자신들의 엔진을 공개 할 수 없어서 Query
Result 만 보여줌. 키-값 쌍으로 노드 출현 통계
치를 낸다.
distingulish
• 텍스트 검색에서는 문서 제목을 이용하여 구
별을 했지만 이와 비슷하게 키를 이용하여 구
별한다.
• 검색 결과의 키를 식별해 내는 것이 문제
• 쿼리 결과의 있는 같은 이름을 가진 노드들의
값이 distinct하다면 key로 사용가능
• Texas apparel retailer로 검색하면 store이름
을 키로 사용가능하겠지만 retailler로 검색하
면 백여개의 store이름이 있을 수 있음
Representative summary
• 직관적으로 중요한 feature들은 출현빈도가 매우 높다.
• 1000개의 옷중에 600개의 남자옷과 40개의 아동복이 있
다면 남자를 대상으로 하는 상점이라는 것을 알 수있다.
• 하지만 houston:6를 살펴보면 brook Brothers가
houston에 있다는 것을 생각해 봤을때 아동복 40보다
더 중요한 값인 것을 알 수 있다.
문제.
• Snippet의 크기가 크다면 위의 문제는 쉽
게 해결 된다.
• 위 세 목표를 위해서 그냥 결과 그 자체를
Snippet으로 보여 줄 수도 있지만 그래선
안 된다.
• Snippet크기가 작아야 한다는 요구사항을
맞추기 위해서는 문제가 어려워진다.
Solution
문제 해결 overview
쿼리 결과에서 의미를 분석한다.
엔티티들을 찾는다.
키와 중요한 Feature들을 찾는다.
정보들의 리스트가 찾아지면 값의 중요도에 따라
서 Snippet에 들어갈 것을 선택하여 넣는다.
• 제한된 크기 안에서 최대한 많은 아이템을 넣어야
한다. 이는 NP-complete며 제한된 크기 안에서 효
과적으로 의미 있는 snippet을 생성한다.
• Entity단위로 값을 축약해서 중요한 특징이 모두
나타나면서 Edge의 갯수가 가장 작은 부분 집합을
찾아 낸다.
•
•
•
•
NP-complete
•
•
•
•
•
•
NP-완전
.
NP-완전(NP-complete, NP-C, NPC)은 NP 집합에 속하는 결정 문제 중에서
가장 어려운 문제의 부분집합으로, 모든 NP 문제를 다항 시간 내에 NP-완
전 문제로 환산할 수 있다. NP-완전 문제 중 하나라도 P에 속한다는 것을
증명한다면 모든 NP 문제가 P에 속하기 때문에, P-NP 문제가 P=NP의 형태
로 풀리게 된다. 반대로 NP-완전 문제 중의 하나가 P에 속하지 않는다는 것
이 증명된다면 P=NP에 대한 반례가 되어 P-NP 문제는 P≠NP의 형태로 풀
리게 된다.
정의
NP-완전은 다음의 조건을 만족하는 결정 문제 C의 집합이다:
– C가 NP에 속한다.
– NP에 속하는 모든 문제를 다항 시간 안에 C로 변환할 수 있다. 즉, 다항 시간 환산을
할 수 있다.
여기에서 두 번째 조건은 NP-난해의 정의이고, 즉 NP-완전은 NP-난해 중
NP인 문제들의 집합이다. 또한 위 정의에서 알 수 있듯이, NP-완전인 C를
다항시간 안에 풀 수 있다면 모든 NP-완전 문제를 다항시간 안에 풀 수 있
다.
기호 정의
항목
내용
D
Root, Labeled, Unordered tree
Internal node
이름으로 labeled
Leaf node
값으로 labeled
R(Q,D)
D에서 쿼리를 통해 추출된 Qurey result TREE
S(R,Q)
R에서 추출된 Snippet Tree
IList(R,Q)
가장 중요한 정보를 담은 리스트
Self-contained Snippet
• 사용자는 하나 이상의 완전한 구나 절로
키워드가 매치된 곳이 보이길 원한다.
• 그편이 Self-contained되어 있고 읽기 쉽기
때문이다.
• 앞서 본 것처럼 XML은 키워드 매치된 부
분을 제공한다고 Self-contained 되지 않는
다. 하지만 구조가 있기 때문에 내용의 정
보를 제공할 수 있다.
노드 구성
• 하나의 엔티티가 하나의 기초적인 의미있
는 단위를 표현한다.
• Leverages XML데이터 들을 엔티티, 에트
리뷰트, 노드커넥션의 3가지 분류로 나누
는 것을 사용한다.
노드 구분
분류
조건
Entity
*-node 라고 DTD에 있는경우
Attribute
*-node라는게 없고
하나의 자식만을 가지고 있으며
자식노드가 값만을 가지고 있을 때
Connection
Entity도 아니고 Attribute도 아닐 때
•한 속성이 entity E와 관련이 있을 경우 E는 A의 엔티티의 가장 가까운 조상이다.
•하나의 엔티티가 하나의 기초적인 의미있는 단위를 표현한다.
•Leverages XML데이터 들을 엔티티, 에트리뷰트, 노드커넥션의 3가지 분류로 나누
는 것을 사용한다.
•본 프로젝트에서는 XML데이터를 Tree로 만들기 위해서 노드를 구별을 위한 데이
터를 준비해 놓았다.
Distinguishable Snippet
• 다른 검색 결과와 구별
• 검색된 entity들의 키는 검색 결과의 키로
고려될수 있다.
• 사용자의 검색 목표에 의해서 엔티티들은
두 분류로 나뉘어 진다.
Entity
내용
Return Entity
쿼리가 수행될때 사용자가 보는 엔티티
Supporting
Entities
쿼리 결과에서 return entity를 설명하기 위해 사용되는
entity들
Return Entity 구별방법
• Heuristics하게 구현 될 수 있다.
• 제안
– Entity, attribute의 이름의 키워드와 매치 될경
우
– 매치가 아무것도 없을 경우 트리의 가장 높은
노드를 사용
• 주 속성을 찾는데 return Entity에서 가장
중복된 값이 적은 것을 선택한다.
Representative Snippets
• 가장 중요한 값들에 초점을 맞추어 요약을
하고 그 정보를 토대로 Summary를 제공
• Feature를 Triplet으로 정의한다.
항목
표기
Entity
e
Attribute
a
Value
v
Representative Snippets
• 중요한 특징과 출현빈도의 관계는 다음의
이유로 신뢰 할수 없다.
• Different features have different domain
• (e,a)의 도메인 크기는 (e,a,v)의 distinct
values의 개수에 의해 정해진다.
표기
내용
해석
D(e,a)
(e,a,v)의 distinct값 개수
값이 전체 에서 차지하는 비중
N(e,a)
(e,a)의 전체 값 개수
값 하나의 중요도
Outwear 와 women비교
•
•
•
•
D(clothes, category)=11
D(clothes, fitting)=3
Outwear는 220, 전체 850
Women은 320 전체 1000
Dominance score
• 다른 타입에서의 출현빈도가 중요한 정보
를 결정하기에는 부족함
• Normalized frequency가 필요
• Dominance score를 통해서 쿼리 결과에서
중요한 특징을 측정
예외 조건
처리
D(e,a)=1
DS(f,R)=1 중요한 값으로 처리
D(e,a)>1
DS(f,R)>1 중요한 값으로 처리
2.5 Algorithm for snippet information List Construction
•
•
Entity면 Ilist에 추가
Keyword면ReturnEntity에 추가
•
•
Attr면 E(e,a)++
Keyword면ReturnEntity에 추가
•
•
값이면 N(e,a,v)++
새 값이면 D(e,a) ++
•
ReturnEntity의 주 속성 Ilist에 추
•
•
•
DS계산
중요한 Feature를 Ilist에 추가
DS값에 따라 정렬
문제정의
• 최대한 많은 정보를 가지면서 크기 제한을 고려 해야한다.
–
–
–
–
–
노드 u는 T의 원소이다.
label(T)는 label(u)의 전체 집합이다.
|T|는 T의 edge의 개수다
cont(T,v)는 label v가 T에 있는지
P는 label v들의 집합 v는 label(T)의 원소
• 크기제한 c에서 label의 집합P를 T’를 찾을수 있는가?
3. Generating small and
meaningful result snippets
• 집합 덮개 문제 이 문제에서는 집합이 여러 개 있을 때 그 중 일부
집합을 골라내서, 골라낸 집합이 원래 전체 집합에 있던 원소를 모
두 포함하도록 해야 한다. 이때 집합을 가능한 한 적게 골라내는 것
이 목표이다. 이 문제는 리처드 카프가 NP-완전임을 보인 최초의 21
문제 중 하나이다.
• 엄밀히 말하면, 전체집합 와 의 부분집합으로 이루어진 집합족 가
있을 때, 덮개란 합집합이 U가 되는 부분집합족 를 뜻한다. 집합 덮
개 문제의 결정 문제판은 쌍과 정수 k가 입력될 때, k 이하인 집합
덮개가 있는지 묻는 문제이다. 최적화 문제판에서는 입력이 쌍뿐이
고, 집합 수가 가장 적은 덮개를 찾는 문제가 된다.
증명
• NP-complete임을 증명함으로써 동적 프
로그래밍을 할 수 없음을 이야기 하고
Greedy알고리즘 제시의 타당성 제공
Algorithm for Instance Selection
• 주어진 문제는 NP-complete다.
• 주어진 한계크기 내에서 meaningful 하고
Informative한 snippet을 제공하는 Greedy
알고리즘을 제시한다.
Several Chananges
• isolation되어 있는 노드는 큰 노드가 될수있
다.(비용이 많이든다.) 깊이 우선 탐색을 이용
• 노드에 대한 연관 비용은 선택 과정에 따라서 동
적으로 변한다.
• 비용이 동적으로 변하기 때문에 연산이 완전히
끝날 때까지 비용을 알 수 없다.
item의 가중치
• IList의 아이템들은 다른 가중치를 가진다.
• 완전히 작업이 끝날때 까지는 아이템은 고려되어서는 안
된다 그럼 결과를 믿을 수 없게된다.
• 리스트의 앞쪽에 있는 아이템이 더 높은 가중치를 가지
게 된다.
• 아이템의 가중치는 앞의 것의 반이다.
• 키워드, 엔티티이름등 앞의 것은 값이 1이다.
Entity Path Based Selection
• 노드에서 가까운 부모노드까지의 path가 필
요하다. root에서 leaf까지의 path가 해결책일
수있다.하지만 이는 leaf노드끼리의 관계는
나타낼 수 없다.
• 따라서 entity기반의 path를 제안한다.
• 이는 부모entity와 leaf entity까지의Path를 갖
는다.
• 만약 informative item이나 관련 entity가 경
로 상에 있으면 Covered된것이다.
• F.1에서 leaf entity가 5개 이므로 패스는 5개
Benefit-cost of an Entity Path
• benefit(아이템수)대 cost가 가장 높은 것을
찾아야 한다.
• p.cost는 p를 선택했을 때 추가 edge수다
• p.benefit은 covered item들의 가중치의 합계
이다. 이는 init에서 초기화 된다. benefit이
크려면 바로 밑의 자식노드 수가 많아야 한다.
• n.ancCover는 n이 선택되었을때 커버되는 아
이템을 표시한다. n이 선택되면 패스p의 n의
부모 n까지 snippet에 추가된다.
Path Selection and Benefit-cost
Updates
• v가 cover되어 있으면 v를 넣는다.
• v가 cover되어 있지 않으면 v를 커버하는
p’까지를 경로로 추가하고 p’에서 p’’까지의
cost는 뺀다.
Algotithm
알고리즘 전개
요약
대상
값
요약
값
값
값
값
4.Experiments
테스트 시스템
eXtract
Metric
Quality, Processing time ,
scalability
테스트 시스템
CPU
3.6Ghz 펨티엄 4
OS
XP
memory
2GB
HDD
160GB
한계 값 범위
6 에서 11까지
테스트 데이터
Firm
영화와 감독에 대
한 정보
Retailer
앞의 예제와 같은
구조
알고리즘
사용 알고리즘
Google
DeskTop
텍스트 검색
Optimal
한계 없음, Algorithm1
Greedy
Algorithm 2, Algorithm1
snippet Quality
• 프로젝트에 참가하지 않은 공대 대학원생 10명이 참가
• 대부분의 쿼리에서 우리의 방식이 optimal 방식에 근접
하거나 optimal알고리즘에서 하나 혹은 두 개의 아이템
이 빠져 있었다. 그렇기 때문에 그 값이 optimal에 가깝
게 나왔다.
보충, 재현
• Precision Measurement에서는 좋은 값을
가지지만 Recall에서는 그렇지 못하다.
• 가끔씩 IList의 내용이 달라지기 때문에 발
생한다.(Size Limit이 변한다)
Processing Time
•
•
•
•
•
소스가 되는 쿼리 결과 1KB~13KB
Snippet size 제한 6~11 edges
Greedy가 Optimal보다 더 빠를 것으로 예상
Optimal 방법은 exponential하게 증가
쿼리 크기가 작거나 size limit이 작으면 처리 시간은 둘
다 작다.
Scalability
요약
• 키워드와 도메인별 노드 출연빈도에 따라
서 도출된 중요 Feature가 중요 정보다.
• 중요 정보를 빠지지 않고 가장 작은 형태
로 보여주기 위해서 Greedy알고리즘사용
• Greedy를 사용하면 데이터가 많은 시 탈
락되는 것도 있지만 빠르고 일정한 크기의
결과를 보여줄 수 있다.