1 / 21

Ontology-Based Free-Form Query Processing for the Semantic Web

Ontology-Based Free-Form Query Processing for the Semantic Web. by Mark Vickers. Supported by:. The Problem. Searching the web for an answer to a question is hard. Returns documents (usually too many) Can it instead return just the right answers? Semantic web

spruitt
Télécharger la présentation

Ontology-Based Free-Form Query Processing for the Semantic Web

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. Ontology-Based Free-Form Query Processing for the Semantic Web by Mark Vickers Supported by:

  2. The Problem • Searching the web for an answer to a question is hard. • Returns documents (usually too many) • Can it instead return just the right answers? • Semantic web • Proposed ontology-based framework for making information machine-readable • Better access to information • How should semantic web be searched?

  3. Solution: AskOntos – a Query System for the Semantic Web • Allows free-form queries • Processes queries using information extraction • Returns tables of extracted values

  4. Extraction Ontologies Object sets Relationship sets Participation constraints Lexical Non-lexical Primary object set Aggregation Generalization/Specialization

  5. Extraction Ontologies Data Frame: Internal Representation: float Value Phrase Value Expression: \s*[$]\s*(\d{1,3})*(\.\d{2})? Left Context: $ Key Word Phrase Key Word Expression: ([Pp]rice)|([Cc]ost)| … Operation Phrase Operator: > Expression: (more\s*than)|(more\s*costly)|…

  6. AskOntos Overview Extraction Ontology Repository Query AskOntos Ontology Matching Extracted Values Extracted Values Extracted Values Extracted Query Values Extracted Data Extracted Values Form XQuery Web Answer

  7. Step 1. Parse Query “Find me the and of all s – I want a ” price mileage red Nissan 1998 or newer >= Operator

  8. Step 2. Find Corresponding Ontology “Find me the price and mileage of all red Nissans – I want a 1998 or newer” >= Operator Similarity value: 2 Similarity value: 6

  9. <Car rdf:ID="CarIns7"> <CarValue rdf:datatype="&xsd;string">7</CarValue> </Car> <Makerdf:ID="MakeIns7"> <MakeValuerdf:datatype="&xsd;string">Nissan</MakeValue> <ontos:URIrdf:datatype="&xsd;string">MakeIns7</ontos:URI> <offset rdf:datatype="&xsd;nonNegativeInteger">41893</offset> </Make> <Year rdf:ID="YearIns7"> <YearValue rdf:datatype="&xsd;string">1999</YearValue> <ontos:URI rdf:datatype="&xsd;string">YearIns7</ontos:URI> <offset rdf:datatype="&xsd;nonNegativeInteger">41641</offset> </Year> <Color rdf:ID="ColorIns7"> <ColorValuerdf:datatype="&xsd;string">red</ColorValue> <ontos:URI rdf:datatype="&xsd;string">ColorIns7</ontos:URI> <offset rdf:datatype="&xsd;nonNegativeInteger">42186</offset> </Color> <owl:Thing rdf:about="#CarIns7"> <hasMakerdf:resource="#MakeIns7"/> <hasYearrdf:resource="#YearIns7" /> <hasColorrdf:resource="#ColorIns7"/> <hasMileagerdf:resource="#MileageIns7"/> <hasPricerdf:resource="#PriceIns7"/> </owl:Thing> Step 3. Formulate XQuery Expression Conjunctive queries run over selected ontology’s extracted values

  10. Step 3. Formulate XQuery Expression • Value-phrase-matching words determine conditions • Conditions: • Color = “red” • Make = “Nissan” • Year >= 1998 >= Operator

  11. Step 3. Formulate XQuery Expression 1: for$docindocument("file:///c:/ontos/owlLib/Car.OWL")/rdf:RDF 2: for$Recordin$doc/owl:Thing 3: 4: let$id := substring-after(xs:string($Record/@rdf:about), "CarIns") 5: let$Color := $doc/car:Color[@rdf:ID=concat("ColorIns", $id)]/car:ColorValue/text() 6: let$Make := $doc/car:Make[@rdf:ID=concat("MakeIns", $id)]/car:MakeValue/text() 7: let$Year := $doc/car:Year[@rdf:ID=concat("YearIns", $id)]/car:YearValue/text() 8: let$Price := $doc/car:Price[@rdf:ID=concat("PriceIns", $id)]/car:PriceValue/text() 9: let$Mileage := $doc/car:Mileage[@rdf:ID=concat("MileageIns", $id)]/car:MileageValue/text() 10: 11: where($Color="red" orempty($Color)) and 12: ($Make="Nissan" orempty($Make)) and 13: ($Year>="1998" orempty($Year)) 14: return <Record ID="{$id}"> 15: <Price>{$Price}</Price> 16: <Mileage>{$Mileage}</Mileage> 17: <Color>{$Color}</Color> 18: <Make>{$Make}</Make> 19: <Year>{$Year}</Year> 20: </Record> For each owl:Thing Get the instance ID and extracted values Check conditions Return values

  12. Step 4. Run XQuery Expression Over Ontology’s Extracted Data • Uses Qexo 1.7, GNU’s XQuery engine for Java • Use XSLT to transform results to HTML table

  13. Evaluation of AskOntos • Measure success by: • Ability to match query to correct ontology • Ability to translate free-form queries into formal queries • We create: • Extraction ontologies for: car ads, diamonds, … • Queries for preliminary evaluation: 10 Conjunctive queries for car ads • Future work: do more evaluation

  14. Query Translation Metrics “Find me the price and mileage of all red Nissans – I want a 1998 or newer.” for$docin document("file:///.../Car.OWL")/rdf:RDF for$Recordin$doc/owl:Thing … where($Color="red" orempty($Color)) and ($Make="Nissan" orempty($Make)) and ($Year="1998" orempty($Year)) return <Record ID="{$id}"> <Price>{$Price}</Price> <Color>{$Color}</Color> <Make>{$Make}</Make> <Year>{$Year}</Year> </Record> Human conversion PROJECT: {Price, Mileage,Color, Make, Year} SELECT: {(Color,=,“red”), (Make,=,“Nissan”), (Year,>=,“1998”)} Automated conversion PROJECT: {Price,Color, Make, Year} SELECT: {(Color,=,“red”), (Make,=,“Nissan”), (Year,=,“1998”)}

  15. Preliminary Results 1. Find me a 1994 red Nissan for $2000 2. Find me the price and mileage of all red Nissans – I want a 1998 or newer. 3. Find me a black Ford for under $8000 -- it should be a 1990 or newer and have less than 120K miles on it. 4. Show me the year of all chevy corvettes for less than $25,000. 5. I want the year, price, mileage, and color of all Toyota Camrys 6. What 2002 cars cost less than $9,000? 7. I want a 1998 or newer Ford for $10,000 or less 8. I want the year of any Honda with at least 200K miles on it 9. What colors can I get a camry in between 1999 - 2004 10. I want to see all 2001 Toyota 4 Runners with less than 100K miles, that are blue, and have AC 6. What 2002 cars cost less than $9,000? 8. I want the year of any Honda with at least 200K miles on it

  16. Conclusion/Contributions • AskOntos • Is a free-form query system for the semantic web • Applies information extraction for query processing • Answers questions with extracted data values • Contributions • Web queries that use semantic annotations • Web queries returning answers from extracted data • Processing free-form queries using ontologies

  17. TREC 2004 QA Question Topics

  18. Related Research

  19. Evaluating the Framework Input: • Obituaries ontology • 25 obituaries from two newspapers Four of eighteen object sets shown above. Data from Salt Lake Tribune and Arizona Daily Star

  20. Scaling to the Web • Ontologies crawl and harvest web pages • Ontologies extract values from pages • Ontologies indexed (??) • Queries extracted by relevant ontologies • Rely on Google-like technology

More Related