query structures n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Query Structures PowerPoint Presentation
Download Presentation
Query Structures

Loading in 2 Seconds...

play fullscreen
1 / 33

Query Structures - PowerPoint PPT Presentation


  • 136 Views
  • Uploaded on

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

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

PowerPoint Slideshow about 'Query Structures' - thimba


An Image/Link below is provided (as is) to download presentation

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
slide2
Boolean Queries
  • Vector Queries
  • Extended Boolean Queries
  • Fuzzy Queries
  • Probabilistic Queries
  • c.f. Natural Language Queries, DB Queries
query structures1
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
3.1. Matching Criteria
  • Exact Match
    • Numerical or business DB
  • Range Match
    • Exact match의 확장
    • Natural order(numeric or alphabetic)가 있는 항목
    • 최소, 최대값 사용
  • Approximate Match
    • Text나 image DB
    • Document가 query를 만족하는 정도를 나타내는 척도(measure)가 필요: evaluation function
slide5
Exact와 Approximate match의 혼합
    • Ex) “federal funding for energy development project, but the funding must be at least $1,000,000”
3 2 boolean queries
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 queries1
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 queries2
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 queries3
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 queries4
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 queries5
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 queries6
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 queries7
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 queries8
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 queries9
3.2 Boolean Queries
  • Normalization의 예
    • (A OR B) AND (C OR NOT D) AND (D OR B)
3 2 boolean queries10
3.2 Boolean Queries
  • True rows of the table
  • Full DNF
3 2 boolean queries11
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 queries12
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 queries13
3.2 Boolean Queries
  • 처리 대상의 크기 최소화
    • 각 conjunction을 처리할 때마다 집합의 크기는 작아짐
      • A AND B의 경우, 최종 결과의 크기는 A를 포함하는 집합의 크기보다 작고 동시에 B를 포함하는 집합의 크기보다 작다
    • 따라서, query의 각 term에 해당하는 집합의 크기를 미리 알 수 있다면, 작은 집합들을 먼저 처리하고 큰 집합들을 나중에 처리하여 대상 집합을 최소화한다
3 2 boolean queries14
3.2 Boolean Queries
  • 문제점 5: 결과의 크기 조정
    • Query를 만족시키는 모든 document를 결과로 가져오기 때문에 결과의 크기를 조정할 수 없다
    • 해결책1: more restrictive query
    • 해결책2: 반환 문서수의 제한 (자동/사용자 지정)
      • 빈도수를 이용해 sort하는 경우에 문제가 될 수 있음

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

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

3 2 boolean queries15
3.2 Boolean Queries
  • 장점
    • 사용이 간편하다
      • 대부분의 사용자는 질의어로 2~3 단어만 사용
        • 더 정확한 탐색을 위해 매우 복잡한 연산 구조를 시도하기 보다는 적당한 성능(manual search보다는 나은)에 만족하는 경향
      • 각 단어의 상대적 중요도를 고려하지 않아도 된다
        • 편의성을 중시하는 사용자에게는 장점
3 3 vector queries
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 queries1
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 queries2
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
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 query1
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
extended boolean queries

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에 따라 가변적인 영역
extended boolean queries1

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 queries2
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
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
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
Natural Language Queries
  • User friendly
  • Ungrammatical
  • Hard to understand for computers
ir and db
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???