1 / 33

Query Structures

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

thimba
Download Presentation

Query Structures

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Query Structures

  2. Boolean Queries • Vector Queries • Extended Boolean Queries • Fuzzy Queries • Probabilistic Queries • c.f. Natural Language Queries, DB Queries

  3. 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)

  4. 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

  5. Exact와 Approximate match의 혼합 • Ex) “federal funding for energy development project, but the funding must be at least $1,000,000”

  6. 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

  7. 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) = ?

  8. 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을 구한다

  9. 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)

  10. 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}

  11. 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의 선호)

  12. 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를 앞에)

  13. 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들의 따로 처리한 각 결과를 나중에 병합

  14. 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

  15. 3.2 Boolean Queries • Normalization의 예 • (A OR B) AND (C OR NOT D) AND (D OR B)

  16. 3.2 Boolean Queries • True rows of the table • Full DNF

  17. 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

  18. 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)

  19. 3.2 Boolean Queries • 처리 대상의 크기 최소화 • 각 conjunction을 처리할 때마다 집합의 크기는 작아짐 • A AND B의 경우, 최종 결과의 크기는 A를 포함하는 집합의 크기보다 작고 동시에 B를 포함하는 집합의 크기보다 작다 • 따라서, query의 각 term에 해당하는 집합의 크기를 미리 알 수 있다면, 작은 집합들을 먼저 처리하고 큰 집합들을 나중에 처리하여 대상 집합을 최소화한다

  20. 3.2 Boolean Queries • 문제점 5: 결과의 크기 조정 • Query를 만족시키는 모든 document를 결과로 가져오기 때문에 결과의 크기를 조정할 수 없다 • 해결책1: more restrictive query • 해결책2: 반환 문서수의 제한 (자동/사용자 지정) • 빈도수를 이용해 sort하는 경우에 문제가 될 수 있음 중요한 문서가 배제될 수도 있다 (빈도수에 의한 sorting을 해도 단어간 상대적 중요도는 표현되지 않는다)

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

  22. 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 모두에서 단어가 나타나는지의 여부에 기반하여 유사도를 결정

  23. 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

  24. 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.

  25. 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의 합집합, 또는 여집합, 교집합

  26. 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

  27. 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에 따라 가변적인 영역

  28. 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

  29. 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

  30. 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에 대해 이 값을 계산해 낸다.

  31. 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”

  32. Natural Language Queries • User friendly • Ungrammatical • Hard to understand for computers

  33. 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???

More Related