Twitter如何使用自然語言查詢實現下一代資料洞察?

banq發表於2022-02-25

在 Twitter,我們實時處理大約 4000 億個事件並每天生成 PB 級資料。Twitter 的各個團隊可以透過不同的方式利用這些資料為每個人構建更好的 Twitter。 
從廣義上看,我們可以將一個全面而強大的大資料平臺的基礎設施和工具分為三類——資料處理、資料儲存和資料消費。在整個行業中,我們擁有強大的基礎架構來處理 PB 級資料(例如 Spark、Cloud Dataflow、Airflow)和儲存海量資料,例如分散式 blobstore(GCS、S3、Hadoop、Columnar DB、BigQuery)。然而,在透過儀表板、視覺化和報告從這些 EB 級資料平臺收集及時、有意義和可操作的見解方面仍然存在重大挑戰。
 

問題
行業中當前使用的資料消費產品的最大障礙之一是需要後臺處理,工程師和分析師需要在消費前建立儀表板、報告等。這會帶來挑戰:

  • 降低資料的時間價值,從而影響 Twitter 及時做出資料驅動決策的能力。
  • 增加從新屬性、功能和儀表板生成洞察的總成本。由於不斷變化的業務需求,工程師/分析師必須投資於儀表板/報告的持續開發和維護。
  • 錯失良機,因為當前的工具無法根據我們的內部業務客戶可能認為有用的資訊來預測和主動從 EB 資料中獲得洞察力。目前,問題是人為發起的,而不是人為和平臺發起的。

 

解決方案
在過去的 20 年中,洞察產品從交叉表報告(90 年代後期)和儀表板(2000 年代)到沉浸式視覺化(2010 年代)已經走過了漫長的道路。隨著自然語言處理和機器學習的最新進展,有一個獨特的機會來消費來自 exa-scale 平臺的資料,以獲得直觀和及時的見解。 
如果我們要滿足資料庫的臨時使用者的需求,我們必須突破目前阻礙這些使用者用母語來表達他們想要什麼的障礙:
我們建立了一個名為Qurious的內部產品,它允許我們的內部商業客戶用他們的自然語言提出問題。然後,他們就可以實時獲得洞察力,而不需要建立儀表盤。該產品包括一個網路應用程式和一個Slack聊天機器人,兩者都與BigQuery和Data QnA APIs整合。
 

步驟:

  • 使用者在以下其中一個地方輸入問題。
    - Slack聊天機器人
    - 網路應用程式
  • 問題從Google Cloud Load Balancer或NgRoutes被路由到Google Kubernetes Engine。
  • 問題請求被轉發到Data QnA 
  • 資料QnA返回包含使用者問題的建議SQL查詢翻譯的響應
  • SQL查詢翻譯被髮送到BigQuery執行。
  • 出口代理(Egress Proxy)將來自查詢執行的資料路由到Qurious Slack App。雲負載平衡將來自查詢執行的資料返回給Qurious網路應用。
  • 使用者的問題和返回的響應被儲存在Google Cloud Storage/Cloud SQL中。此外,還啟用了日誌和身份管理


詳細點選標題

相關文章