您的位置:首頁>科技>正文

不用再學SQL語言了,Saleforce用自然語言就能在資料庫中查詢

雷鋒網 AI 科技評論按:隨著機器學習蓬勃發展, 新的研究領域不停出現。 除了創造並解決新的問題之外, 現有的應用其實也可以從機器學習中大為受益。 Salesforce 近期的一篇論文就介紹了利用機器學習, 無需學習SQL語言就可以在資料庫中進行查詢。 雷鋒網 AI 科技評論把相關報導編譯如下。

SQL在程式設計領域越來越少被提及, 但是SQL語言的學習曲線仍然陡峭, 這就讓很多人放棄了嘗試直接和關係型數據庫打交道。 CRM 軟體服務商 Salesforce 的人工智慧研究團隊就從自己的業務開始下手, 探索如何讓不具備 SQL 知識的人通過機器學習打開資料庫操作的大門。

在他們近期的論文「Seq2SQL: Generating Structured Queries from Natural Language using Reinforcement Learning」(Seq2SQL:用強化學習從自然語言生成結構化查詢語句)中, 構建了一個機器學習中典型的序列到序列模型。 在其中用到的強化學習讓模型在翻譯自然語言到SQL資料庫查詢語句任務中取得了讓人眼前一亮的成果。

這就意味著, 在實際應用中使用者可以直接問系統:“橄欖球高校巡迴賽排名第一的是哪支隊伍”, 系統就會自動查詢對應的資料庫, 然後告訴你答案是密西根大學隊。 正如下麵這張動圖示意的?

Salesforce 研究員 Victor Zhong, 也是這篇論文的第一作者, 介紹說:“一個正確的查詢語句其實可以有好幾種寫法。 如果給系統裡輸入一個自然語言的問題, 對應的查詢語句可能會有兩三種。 我們用強化學習來鼓勵系統選用能夠查詢到相同結果的語句。 ”

隨著自然語言的提問裡包含的單詞變多, 可以想像這種機器翻譯任務也會很快變得非常複雜。 應對方式就是, 對於每一個缺失單詞的可能翻譯數目施加的限制越多, 翻譯任務就會變得越簡單。 Salesforce 的研究人員們就利用了這種想法, 他們對系統的提問裡、資料庫標籤裡和典型 SQL 查詢語句裡能夠包含的單詞做了一些限制, 從而簡化了翻譯系統的設計難度。

讓 SQL 平民化其實也不是新鮮事了, Tableau 最近收購了創業公司 ClearGraph, 後者的業務就是提供用英語而不是SQL語言查詢資料的方案。

Victor Zhong 補充說:“有的模型直接在資料庫上做操作, 但是如果提問一個關於身份證號的問題就會有潛在的隱私問題。 ”

除了論文裡的方案本身, Salesforce 的這項研究還有一個貢獻是他們構建的 WikiSQL 資料集, 他們的翻譯模型就是用這個資料集訓練出來的。 他們首先從 Wikipedia 採集了HTML表單, 這些表單就成為了隨機生成的 SQL 查詢語句的基礎;他們從這些查詢生成了對應的問題, 然後把問題放到亞馬遜 Mechanical Turk 眾包平臺上讓人類把它們改寫成自然語言。 每個改寫後的句子都會被確認兩次, 而且還安排了單獨的人指導這些確認過程。 最終構成的 WikiSQL 資料集也是目前所有同質資料集中最大的一個。

via TechCrunch, 雷鋒網 AI 科技評論編譯

論文地址:https://einstein.ai/static/images/layouts/research/seq2sql/seq2sql.pdf

Next Article
喜欢就按个赞吧!!!
点击关闭提示