Query Structures

1 / 33

# Query Structures - PowerPoint PPT Presentation

Query Structures. Boolean Queries Vector Queries Extended Boolean Queries Fuzzy Queries Probabilistic Queries c.f. Natural Language Queries, DB Queries. Query Structures. Query 의 특성 ( Document 와의 비교) 간략, 구문( syntax) 충족도가 약함 빈도수 정보가 덜 중요 Parallel Process for Matching Document Side

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Query Structures' - thimba

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Query Structures

Boolean Queries
• Vector Queries
• Extended Boolean Queries
• Fuzzy Queries
• Probabilistic Queries
• c.f. Natural Language Queries, DB Queries
Query Structures
• Query의 특성 (Document와의 비교)
• 간략, 구문(syntax) 충족도가 약함
• 빈도수 정보가 덜 중요
• Parallel Process for Matching
• Document Side
• Data의 수집->document의 작성(ectosystem)
• Document->internal represention->format for matching(endosystem)
• Query Side
• Information need->query의 작성(endosystem)
• Query->internal represention->format for matching(endosystem)
3.1. Matching Criteria
• Exact Match
• Range Match
• Exact match의 확장
• Natural order(numeric or alphabetic)가 있는 항목
• 최소, 최대값 사용
• Approximate Match
• Text나 image DB
• Document가 query를 만족하는 정도를 나타내는 척도(measure)가 필요: evaluation function
Exact와 Approximate match의 혼합
• Ex) “federal funding for energy development project, but the funding must be at least \$1,000,000”
3.2 Boolean Queries
• Boolean Query
• Based on concepts from logic, or Boolean algebra
• (list of) Terms joined by logical connectives(AND, OR, NOT)
• Boolean Query의 예
• restaurants AND (Midestern OR vegetarian) AND inexpensive
• Expansion
• Stemming: restaurant AND (Midest OR Veget) AND inexpens
• Thesaurus: Midestern -> list of specific countries
3.2 Boolean Queries
• Proximity Operator
• “icing within three words of chocolate”
• “if icing then chocolate”
• 출현 단어수의 명시
• 2 OF (A, B, C)

= (A AND B) OR (A AND C) OR (B AND C)

• 4 OF (peony, daisy, dahlia, lily, hosta, zinnia, marigold)

= ?

3.2 Boolean Queries
• Query의 의미(query의 결과)
• ex) A AND B: term A와 관계가 있는 document의 집합과, term B와 관계가 있는 document의 집합의 교집합
• 문서집합의 생성
• 불린식의 각 부분을 따로 처리한 후 결합

ex) “information”과 “retrieval”을 모두 포함하는 문서를

구하는 과정

1. “information”을 포함하는 문서집합 D1을 구한다

2. “retrieval”을 포함하는 문서집합 D2를 구한다

3. D1과 D2를 결합해서 최종적인 D3을 구한다

3.2 Boolean Queries
• 집합연산(결합 방법)
• U: 전체 문서
• D1, D2: 패턴 P1, P2를 포함하는 문서들의 집합
• 1. U-D1은 P1을 포함하지 않는 모든 문서집합이다(not)
• 2. D1∩D2는 P1과 P2를 둘 다 포함하는 모든 문서의 집합이다(and)
• 3. D1∪D2는 P1이나 P2를 포함하는 모든 문서의 집합이다(or)
• 4. D1∪D2-D1∩D2는 P1과 P2를 포함하지만 동시에 둘다 포함하는 것은 제외한 모든 문서의 집합이다(xor)
3.2 Boolean Queries
• ex)
• 질의어: {information and retrieval} or

not {retrieval and science}

• 문서집합:

({doc1,doc3} ∩ {doc1,doc2,doc4}) ∪

{doc1,doc2,doc3,doc4,doc5}

– ({doc1, doc2, doc4} ∩ {doc2, doc3, doc4, doc5})

= {doc1} ∪ {doc1, doc3, doc5} = {doc1, doc3, doc5}

3.2 Boolean Queries
• 문제점 1: Lack of weighting mechanism
• “music by Beethoven, preferably a sonata”
• Beethoven AND Sonata: 베토벤의 다른 음악 제외
• Beethoven OR Sonata: 다른 작곡자 음악 포함
• (Beethoven AND Sonata) OR Beethoven
• 대부분의 시스템에서 “Beethoven”과 거의 동일한 결과를 얻음
• 문제점 2: Misstated Query (and의 선호)
3.2 Boolean Queries
• 문제점 3: 연산 순서
• AND, OR
• A OR A AND C
• NOT>AND>OR 혹은 strict left-to-right order
• 해결책: 괄호명시
• 사람의 경우 : 의미(semantic) 정보로 구분
• coffee AND croissant OR muffin
• raincoat AND umbrella OR sunglasses
• NOT
• 모든 것을 다 찾아야 하는가?
• (NOT A) AND B AND C
• 해결책 : B AND C로 대상 제한(B AND C를 앞에)
3.2 Boolean Queries
• 문제점 4: Highly Complex Query
• 해결책:DNF, CNF로의 recast
• Disjunctive Normal Form(DNF)
• Terms: 하나의 단어, 숙어 혹은 그 부정형
• Conjuncts: AND에 의해 결합된 Terms
• Disjuncts: OR에 의해 결합된 Conjuncts
• e.g. (concert AND dinner AND NOT play) OR

(swimming AND tennis) OR

(baseball AND NOT football)

• 장점: 분리된 작은 query들의 따로 처리한 각 결과를 나중에 병합
3.2 Boolean Queries
• Full Disjunctive Normal Form
• Each conjunct contain all of the possible terms
• (A AND B) OR (A AND NOT C)

=> (A AND B AND C) OR (A AND B AND NOT C) OR

(A AND B AND NOT C) OR (A AND NOT B AND NOT C)

• Conjunctive Normal Form(CNF)
• e.g. (concert OR dinner OR NOT play) AND

(swimming OR tennis) AND

(baseball OR NOT football)

• Normalization
• Query를 DNF나 CNF로 변환(transform)하는 것
• Truth table을 사용
• True rows => Full DNF
3.2 Boolean Queries
• Normalization의 예
• (A OR B) AND (C OR NOT D) AND (D OR B)
3.2 Boolean Queries
• True rows of the table
• Full DNF
3.2 Boolean Queries
• Minimizing to simplest possible form
• 앞의 예에서 처음 두 줄은 (A AND B AND C)로 대체 가능
• 기타 몇 가지 기법을 사용하여 앞의 예를 단순화한 결과
• (A AND C AND D) OR (B AND C) OR (B AND (NOT D))
• Full CNF
• 테이블의 false row로부터 full DNF를 구한다
• DeMorgan’s Law
• NOT (A AND B) = (NOT A) OR (NOT B),
• NOT (A OR B) = (NOT A) AND (NOT B).
• Law of Double Negation
• NOT (NOT A) = A
3.2 Boolean Queries
• e.g. negation of query의 DNF가
• (A AND B AND NOT C) OR (NOT A AND C) OR

(B AND C) 이면,

• Negation을 취한 후 전개하면 아래와 같다
• 최종결과: (NOT A OR NOT B OR C) AND (A OR NOT C)

AND (NOT B OR NOT C)

3.2 Boolean Queries
• 처리 대상의 크기 최소화
• 각 conjunction을 처리할 때마다 집합의 크기는 작아짐
• A AND B의 경우, 최종 결과의 크기는 A를 포함하는 집합의 크기보다 작고 동시에 B를 포함하는 집합의 크기보다 작다
• 따라서, query의 각 term에 해당하는 집합의 크기를 미리 알 수 있다면, 작은 집합들을 먼저 처리하고 큰 집합들을 나중에 처리하여 대상 집합을 최소화한다
3.2 Boolean Queries
• 문제점 5: 결과의 크기 조정
• Query를 만족시키는 모든 document를 결과로 가져오기 때문에 결과의 크기를 조정할 수 없다
• 해결책1: more restrictive query
• 해결책2: 반환 문서수의 제한 (자동/사용자 지정)
• 빈도수를 이용해 sort하는 경우에 문제가 될 수 있음

중요한 문서가 배제될 수도 있다

(빈도수에 의한 sorting을 해도 단어간 상대적 중요도는 표현되지 않는다)

3.2 Boolean Queries
• 장점
• 사용이 간편하다
• 대부분의 사용자는 질의어로 2~3 단어만 사용
• 더 정확한 탐색을 위해 매우 복잡한 연산 구조를 시도하기 보다는 적당한 성능(manual search보다는 나은)에 만족하는 경향
• 각 단어의 상대적 중요도를 고려하지 않아도 된다
• 편의성을 중시하는 사용자에게는 장점
3.3 Vector Queries
• Vector Model
• Each document is represented by a vector, or ordered list of terms, rather than by a set of terms
• Boolean model과의 차이
• Term representations (weights)
• Methods of determining the similarity between a document and the query
• Boolean model에서는 query와 document 모두에서 단어가 나타나는지의 여부에 기반하여 유사도를 결정
3.3 Vector Queries
• Similarity Evaluation : 0-1 vector, weight vector
• Assigning weights to document terms in a vector
• frequency count (예외: a, an, the, of, …)
• user assigning
• “judging dilemma” : freely assigned weights
• normalization
3.3 Vector Queries
• Retrieval Determination
• fixed number(by decreasing similarity) or threshold
• Impractical
• document들의 components의 대부분이 0이다. (vector가 10000개의 component(term, vocabulary)로 구성되어 있다면, 문서에는 그 중 몇 백개의 term만 나타날 수 있다)
• 해결책
• 해당 document에 나오는 단어만 component로 한다.
• 이것이 올바르게 동작하기 위해서는….
• “dimensional compatibility” - the comparison of two documents is always based on comparing the same terms in each document.
• Expansion of the compact representation isneeded.
Extended Boolean Queries: Boolean Query + Vector Query
• 두 모델의 장점 결합
• Logical connectives, weights
• Weighted Boolean query
• Boolean operation + Weights(0.0 ~ 1.0)
• AW1 * BW2
• Query의 결과 : term A와 관련된 문서의 집합 A, term B와 관련된 문서의 집합 B의 합집합, 또는 여집합, 교집합
Extended Boolean Queries: Boolean Query + Vector Query
• Distance
• Distance between the document sets A and B corresponding to the term A and B
• Minimum of the distances between a pair of elements
• Element: a document represented by term vector
• If A contains m documents and B contains n documents, mn computations are needed

AND NOT : S=AB

OR : S =B - A

AND : S=A - B

A AND NOT B0 = A

A AND NOT B1 = A AND NOT B

A OR B0 = A

A OR B1 = A OR B

A AND B0 = A

A AND B1 = A AND B

A

B

A

B

A

B

Extended Boolean Queries: 연산의 정의
• AW1 * BW2(w1=1, w2=0~1 )
• S: weight에 따라 가변적인 영역

B-A

A-B

1,4,5,10,17

2, 7, 8, 13, 22

2,7,8,13,22

Min distance

Min distance

1, 2, 2, 2, 1

1, 2, 1, 1, 1

0.4

0.8

1,2,4,5,10,11,17,18,19,22,23

Extended Boolean Queries: 연산의 예

A:{1,4,5,10,11,15,17,18,19,23}

B:{1,2,4,5,7,8,10,13,17,23}

A 0.8 OR B 0.4

w1= 1

w2= 1

2, 22

2, 8, 13, 22

Extended Boolean Queries: 연산의 정의
• 문제점
• 포함될 원소수가 정수가 아닌 경우: 1.7, 1.4, …
• 근처 정수로 round up or down
• 동일 거리의 원소가 너무 많은 경우
• A의 weight가 0.6이고 S의 원소수가 4개인데 모두 거리가 1이라면 1개는 탈락되어야한다
• Random으로 선택하면 같은 query에 대해 다른 결과
• 논리적으로 동일한 query에 대해 다른 결과가 나올 수 있다
• (A AND B) OR (A AND C) vs. A AND (B OR C)
• Exercise 6
Fuzzy Queries
• Ordinary Set vs. Fuzzy Set
• Ordinary Set : sharp edge (e.g. “6feet를 넘으면 tall”)
• Fuzzy Set : membership grade
• e.g. “degree of tallness”에 대한 membership grade
• 4’5’’: 0.1, 5’8’’: 0.45, 6’2’’: 0,52, 6’10’’: 0.9
• Boolean operator in fuzzy set S
• query의 결과 : fuzzy function을 계산한 값, 각 document에 대해 이 값을 계산해 낸다.
Probabilistic Queries
• Fuzzy Queries
• membership grade function은 0~1사이의 값을 출력하는 한도 내에서 임의로 정해질 수 있다.
• Probabilistic Query
• the set returned from any query is supposed to consist of documents which satisfy that query with a probability higher than a specified threshold
• 제약조건
• 장점: 빈도수로부터 확률을 구하는 방법이 체계화되어있다
• Prob(Document Satisfy) +
• Prob(Document not Satisfy) = “1”
Natural Language Queries
• User friendly
• Ungrammatical
• Hard to understand for computers
IR and DB
• Full Text retrieval System needs to combine,
• Imprecise textual element
• Precise numerical or other limit
• 기존 문서 검색 시스템과 DB 시스템의 결합 필요
• 각 시스템의 상호 보완적 특성에도 불구하고 단순한 결합은 성능이 좋지 않다
• One Solution : OODB Model
• Object : set of properties
• textual portions + numeric or fixed field portions
• image components
• Can be Commercial???