‘15] • オントロジーに基づくSPARQLクエリ⽣成[Chen+ ‘21] • SPARQLクエリを⽣成するGUIツールの開発[Yamaguchi ’14] • ⾃然⾔語からSPARQLクエリ⽣成(後述) • など 3 [Bizer+ ‘08] C. Bizer, et al.: Benchmarking the Performance of Storage Systems that expose SPARQL Endpoints. SSWS, 2008 [Shekarpour+ ‘11] S. Shekapour, et al.: Keyword-Driven SPARQL Query Generation Leveraging Background Knowledge. WI-IAT, 2011 [Qiao+ ‘15] S. Qiao, et al.: RBench: Application-Specific RDF Benchmarking. SIGMOD, 2015 [Chen+ ‘21] Y. Chen, et al.: SPARQL Query Generator (SQG), J. of Data Semantics, 2021 [Yamaguchi+ ‘14] A. Yamaguchi, et al.: An Intelligent SPARQL Query Builder for Exploration of Various Life-science Databases, IESD, 2014 特に近年ではニューラル機械翻訳(NMT)による⾃然⾔語からの SPARQLクエリ⽣成が多く提案されており、LLMも利⽤され始めている
to SPARQL Queries[Lin+ ‘21] • Transformerを⽤いたアプローチを提案 • TransformerによるSPARQLクエリ⽣成後にエ ンティティタイプのタグを考慮したクエリ修 正 • QALD-7データセットで評価 5 [Lin+ ‘21] J. Lin, et al.: An NMT-based Approach to Translate Natural Language Questions to SPARQL Queries, IT Convergence and Security, 2021 [Lin+ ‘22] J. Lin, et al.: SPARQL Generation with an NMT-based Approach. J. of Web Engineering, 2022 • SPARQL Generation with an NMT-based Approach[Lin+ ‘22] • 上記を発展させてさらにQALD-8,LC-QuAD を追加した⽐較実験を⾏った • LC-QuADではYinらの実験結果を上回る精度 を達成した(BLEU=76.21%)
• (+) Wikidataが対象であることの指⽰を追加 • (+) クエリのコメントを書かないように指⽰を追加 11 Given the question generate a SPARQL query for Wikidata! Do not write comments. Question: {質問⽂} SPARQL query: Zero-shot Learningのプロンプトテンプレート The Diary of Anne Frank has how many editions? 質問⽂の例 select distinct ?answer where { wd:Q6911 wdt:P747 ?answer} SPARQLクエリの例
the question generate a SPARQL query for Wikidata! Do not write comments. Example Question 1: {例1の質問⽂} Example SPARQL query 1: {例1のSPARQL} Example Question 2: {例2の質問⽂} Example SPARQL query 2: {例2の質問⽂} Example Question 3: {例3の質問⽂} Example SPARQL query 3: {例2の質問⽂} Question: {質問⽂} SPARQL query: Few-shot Learningのプロンプトテンプレート
インデックスの作成 • Vector Store Indexを採⽤ • chunk_size=100, separator=“¥n¥n” • データ取得 • 類似度検索上位3個のノードを取得 14 Context information is below. --------------------- {上位3個のノード(チャンク)} --------------------- Given the context information and not prior knowledge, answer the question. Given the question generate a SPARQL query for Wikidata! Do not write comments. Question: {質問⽂} SPARQL query: RAGで最終的に作成されるプロンプトのテンプレート
例⽰された質問⽂とSPARQLクエリが 正解に近い 17 Context information is below. --------------------- What is the position of Alvaro Uribe in Colombia SELECT ?value WHERE { wd:Q187413 p:P39 ?s . ?s ps:P39 wd:Q853475 . ?s pq:P2715 ?value} What is the position held by Mariano Rajoy who was elected in Spanish general election, 2016? SELECT ?obj WHERE { wd:Q10819 p:P39 ?s . ?s ps: P39 ?obj . ?s pq:P2715 wd:Q22812047 } What is the position held by Jacob Zuma whose series ordinal is 4? SELECT ?obj WHERE { wd:Q57282 p:P39 ?s . ?s ps: P39 ?obj . ?s pq:P1545 ?x filter(contains(?x ,’4’)) } --------------------- Given the context information and not prior knowledge, answer the question. Given the question generate a SPARQL query for Wikidata! Do not write comments. Question: What position does Iván Duque Máarquez hold at 2018-4-10? SPARQL: SELECT ?obj WHERE { wd:Q187413 p:P39 ?s . ?s ps :P39 ?obj . ?s pq:P580 ?date filter(?date >= "2018-04-10T00:00:00Z"ˆˆxsd:dateTime) } 正解クエリの実⾏結果と⼀致したときのプロンプト 正解クエリの実⾏結果と⼀致した出⼒クエリ