question answering on web data
play

Question Answering on Web Data Silei Xu CS294S April 9, 2020 Joint - PowerPoint PPT Presentation

Question Answering on Web Data Silei Xu CS294S April 9, 2020 Joint work with Giovanni Campagna, Sina Semnani, Jian Li, and Monica S. Lam Commercial Assistants Alexa User hand-codes question/code 1 by 1 get me an upscale restaurants What are


  1. Question Answering on Web Data Silei Xu CS294S April 9, 2020 Joint work with Giovanni Campagna, Sina Semnani, Jian Li, and Monica S. Lam

  2. Commercial Assistants Alexa User hand-codes question/code 1 by 1 get me an upscale restaurants What are the restaurants around here? What is the best restaurant? search for Chinese restaurants

  3. Commercial Assistants Alexa User hand-codes question/code 1 by 1 get me an upscale restaurants What are the restaurants around here? What is the best restaurant? search for Chinese restaurants 100K Alexa skills Sep 2019

  4. Commercial Assistants Alexa User hand-codes question/code 1 by 1 100K Alexa skills get me an upscale restaurants Sep 2019 What are the restaurants around here? What is the best restaurant? search for Chinese restaurants 1.8 billion websites

  5. Genie: Synthesize Question/Code from a Schema User Schema Name Price Cuisine … Property Annotations Genie 500 Domain- Independent Templates What is the <prop> of <subject>? What is the <subject>’s <prop>?

  6. Genie: Synthesize Question/Code from a Schema User get me an upscale restaurants Schema What are the restaurants around here? Name Price Cuisine … What is the best restaurant? search for Chinese restaurants What is the best restaurant within 10 miles? Find restaurants that serve Chinese or Japanese food Property Annotations What is the best non-Chinese restaurant near here? Show me a cheap restaurant with 5-star review. Genie Are there any restaurant with at least 4.5 stars? What is the phone number of Wendy’s? 500 Domain- I’m looking for an Italian fine dining restaurant. Independent Give me the best Italian restaurant. Templates Find me the best restaurant with 500 or more reviews Show me some restaurant with less than 10 reviews What is the <prop> of <subject>? What is the <subject>’s <prop>?

  7. The Web Has a Schema!

  8. The Web Has a Schema! • Schema.org • Structure data to mark up web pages • Mainly used by search engines • It covers many domains, including restaurants, hotels, people, recipes, products, news …

  9. The Web Has a Schema! • Schema.org <script type="application/ld+json"> • Structure data to mark up web pages { • Mainly used by search engines @type: "restaurant", name: "The French Laundry", • It covers many domains, including servesCuisine: “ French", restaurants, hotels, people, recipes, aggregateRating: { products, news … @type: "AggregateRating", reviewCount: 2527, ratingValue: 4.5 } ... Schema.org markup on Yelp }

  10. The Web Has a Schema! • Schema.org <script type="application/ld+json"> • Structure data to mark up web pages { • Mainly used by search engines @type: "restaurant", name: "The French Laundry", • It covers many domains, including servesCuisine: “ French", restaurants, hotels, people, recipes, aggregateRating: { products, news … @type: "AggregateRating", reviewCount: 2527, ratingValue: 4.5 } 40% of the websites use it! ... Schema.org markup on Yelp }

  11. Outline • Introduction to Schema.org • Represent Questions in ThingTalk • LUINet: NL to ThingTalk • Training data generation • Experimental results • Work in progress: automate everything!

  12. Introduction to Schema.org

  13. Graph Data Model of Schema.org

  14. Graph Data Model of Schema.org Organization legalName: Text slogan: Text aggregateRating: AggregateRating ...

  15. Graph Data Model of Schema.org class Organization legalName: Text slogan: Text aggregateRating: AggregateRating ...

  16. Graph Data Model of Schema.org class Organization properties legalName: Text slogan: Text aggregateRating: AggregateRating ...

  17. Graph Data Model of Schema.org class Organization types – primitive or class properties legalName: Text slogan: Text aggregateRating: AggregateRating ...

  18. Graph Data Model of Schema.org Organization AggregateRating legalName: Text ratingCount: Integer slogan: Text ratingValue: Integer aggregateRating: AggregateRating ... ...

  19. Schema.org Hierarchy Thing name: Text url: URL ... Organization ( Thing ) AggregateRating legalName: Text ratingCount: Integer slogan: Text ratingValue: Integer aggregateRating: AggregateRating ... ...

  20. Schema.org Hierarchy Thing name: Text url: URL ... Organization ( Thing ) AggregateRating legalName: Text ratingCount: Integer slogan: Text ratingValue: Integer aggregateRating: AggregateRating ... ... LocalBusiness ( Place , Organization ) openingHours: Text priceRange: Text ...

  21. Some useful tools • Google Structured Data Testing Tool • Show schema.org markups in a web page • Google Custom Search • Search for pages that contain certain schema.org domains

  22. ThingTalk for Questions

  23. ThingTalk for QA

  24. ThingTalk for QA @QA.restaurant(), geo == makeLocation (“ Stanford ”) now => => notify Show me restaurants in Stanford

  25. ThingTalk for QA @QA.restaurant(), geo == makeLocation (“ Stanford ”) now => && servesCuisine =~ “ Chinese ” => notify Show me Chinese restaurants in Stanford

  26. ThingTalk for QA @QA.restaurant(), geo == makeLocation (“ Stanford ”) now => && servesCuisine =~ “ Chinese ” => notify Show me Chinese restaurants in Stanford

  27. ThingTalk for QA sort aggregateRating.ratingValue desc of ( @QA.restaurant(), geo == makeLocation (“ Stanford ”) now => && servesCuisine =~ “ Chinese ” ) => notify Show me top-rated Chinese restaurants in Stanford

  28. ThingTalk for QA sort aggregateRating.ratingValue desc of ( @QA.restaurant(), geo == makeLocation (“ Stanford ”) now => && servesCuisine =~ “ Chinese ” ) => notify Show me top-rated Chinese restaurants in Stanford

  29. ThingTalk for QA sort aggregateRating.ratingValue desc of ( @QA.restaurant(), geo == makeLocation (“ Stanford ”) now => && servesCuisine =~ “ Chinese ” ) => notify join ( @QA.Review(), in_array(id, review) && author = “ bob ” ) Show me top-rated Chinese restaurants in Stanford reviewed by Bob

  30. ThingTalk for QA

  31. ThingTalk for QA

  32. ThingTalk for QA …

  33. LUINet: NL to ThingTalk

  34. Natural Language Programming LUINet Natural language ThingTalk What is the top-rated Chinese sort aggregateRating.ratingValue desc of ( @ QA.restaurant(), restaurant in Palo Alto? geo == new MakeLocation (“ Stanford ”) && servesCuisine =~ “ Chinese ” )

  35. Genie Pipeline LUINet Natural language ThingTalk

  36. Genie Pipeline Thingpedia Manifest Schema Natural Language Annotations Name Price Cuisine … cuisine of the restaurant restaurant’s cuisine cuisine served by the restaurant LUINet Natural language ThingTalk

  37. Genie Pipeline Thingpedia Manifest Schema Natural Language Annotations Name Price Cuisine … cuisine of the restaurant restaurant’s cuisine cuisine served by the restaurant ThingTalk Grammar Domain-independent Templates What is the <prop> of <table>? What is the <table >’s <prop>? LUINet Natural language ThingTalk

  38. Genie Pipeline Thingpedia Manifest Schema Natural Language Annotations Name Price Cuisine … cuisine of the restaurant restaurant’s cuisine cuisine served by the restaurant ThingTalk Grammar Synthesize sentence/code pairs Domain-independent Templates What is the <prop> of <table>? What is the <table >’s <prop>? LUINet Natural language ThingTalk

  39. Genie Pipeline Thingpedia Manifest Schema Natural Language Annotations Name Price Cuisine … cuisine of the restaurant restaurant’s cuisine cuisine served by the restaurant ThingTalk Grammar Synthesize sentence/code pairs Domain-independent Templates Paraphrase What is the <prop> of <table>? What is the <table >’s <prop>? LUINet Natural language ThingTalk

  40. Genie Pipeline Thingpedia Manifest Schema Natural Language Annotations Name Price Cuisine … cuisine of the restaurant restaurant’s cuisine cuisine served by the restaurant ThingTalk Grammar Synthesize sentence/code pairs Domain-independent Templates Paraphrase What is the <prop> of <table>? What is the <table >’s <prop>? Parameter & data augmentation LUINet Natural language ThingTalk

  41. Genie Pipeline Thingpedia Manifest Schema Natural Language Annotations Name Price Cuisine … cuisine of the restaurant restaurant’s cuisine cuisine served by the restaurant ThingTalk Grammar Synthesize sentence/code pairs Domain-independent Templates Paraphrase What is the <prop> of <table>? What is the <table >’s <prop>? Parameter & data augmentation Training Data LUINet Natural language ThingTalk

Recommend


More recommend