國產資料庫的發展在21世紀初取得了顯著的進展。根據不完全統計,目前在國內已有超過300種不同的資料庫在案。這一現象在40年前幾乎是不可想象的,標誌著中國在資料庫領域取得了巨大的突破和多樣化選擇。對於對老一輩的故事或資料庫發展史充滿興趣的朋友們,我強烈推薦觀看紀錄片《中國資料庫的前世今生》。雖然是紀錄片形式,但內容生動有趣,非常值得一看。
接著這個話題,我們可以看到,儘管國產資料庫在不斷髮展和壯大,但近年來向量資料庫的興起引起了廣泛關注。向量資料庫的快速發展不僅展示了其在處理複雜資料和高維資料方面的獨特優勢,還解決了一些傳統資料庫無法高效處理的技術難題。向量資料庫的成功主要得益於其在大規模資料分析、實時檢索和智慧推薦等領域的卓越表現。
這種技術進步引發了市場的廣泛關注和熱烈討論,也對傳統資料庫產生了不小的衝擊。傳統資料庫在處理結構化資料和事務管理方面表現出色,但在處理非結構化資料、語義搜尋和機器學習任務時往往顯得力不從心。因此,向量資料庫的崛起不僅推動了資料儲存和處理技術的革新,也促使傳統資料庫系統不斷適應新的需求和挑戰。
我們可以以智慧客服場景為例,來回顧一下從傳統資料庫到現在向量資料庫的演變,以及國內企業在這一過程中所做的選擇。
智慧客服
如果談到智慧客服的起源,我們可以追溯到網際網路興起之初,那個時候國內企業已經開始探索客服系統的建設。傳統的人工客服模式雖然能夠提供較為貼心的服務,但卻需要大量的人力資源和資金投入。尤其是面對大量的重複性問題時,人工客服不僅效率低下,而且成本高昂。因此,市場迫切需要一種更為高效和經濟的解決方案來應對這些重複性的查詢。
市場規模
智慧客服的市場規模非常龐大,且不斷增長。其主要技術目標是實現對高頻率、簡單問題的自動處理,以大幅度減少人工客服的負擔。這種自動化處理可以顯著提升服務效率,降低企業成本,同時保證基礎問題的快速響應。然而,對於複雜和疑難問題,人工客服仍然是不可或缺的,因為這些問題往往需要更高水平的理解和判斷。
中國智慧客服行業在2022年的市場規模達到了66.8億元,預計2027年將達到181.3億元的規模。在AI大模型的賦能下,智慧客服能夠實現更精準、更智慧個性化的客戶互動。隨著A!大模型的不斷開發和應用,我國智慧客服行業的市場規模有望持續增長。
正因如此,各大企業在早期就開始積極尋找和探索智慧客服的解決方案。透過引入先進的技術和系統,企業希望能夠實現自動化處理的目標,從而最佳化客服流程,提高使用者體驗,同時保持對複雜問題的人工處理能力。這一過程中,智慧客服系統的不斷演進和技術創新,成為了企業提升服務質量和運營效率的關鍵所在。
智慧客服分類
我們可以從日常生活中接觸到的智慧客服系統入手,來彙總並分析智慧客服的幾種主要型別,並探討向量資料庫如何解決了智慧客服中的關鍵痛點,從而推動了其快速發展。
首先,智慧客服系統可以分為幾種主要型別:
- 任務管理類模組:
這種型別的智慧客服系統主要專注於特定任務的處理。例如,訂機票、預訂酒店等功能,這類系統類似於蘋果的Siri,屬於任務處理型的智慧助手。它們旨在完成具體的任務,透過預定義的流程和操作,幫助使用者高效地達成目標。 - 知識庫問答系統:
知識庫問答系統主要用於提供諮詢類的回答。它們依託於一個預設的知識庫,處理使用者提出的各種諮詢問題。與任務管理系統不同,知識庫問答系統並不處理實際的任務,只是提供資訊和建議。這類系統的核心是維護一個詳盡的知識庫,確保能夠準確回答使用者的問題。 - 知識圖譜問答系統:
知識圖譜問答系統則利用圖結構來提供資訊。這類系統不僅包含問答對結構和樹型結構,還透過知識圖譜將相關的資訊以圖的形式組織起來。知識圖譜可以更全面地展示和關聯各種資訊,因此它被認為是廣義上的知識庫問答系統。這種結構使得智慧客服能夠在更大範圍內提供準確的資訊和關聯性回答。 - 聊天機器人:
聊天機器人雖然並非客服的首要功能,但在智慧客服系統中仍然佔有重要地位。聊天功能的引入有兩個主要原因:首先,在使用者沒有輸入知識庫內容或需要對系統進行技術能力測試時,聊天機器人可以充當評測物件;其次,在某些場景下,聊天功能可以使客服對話更為自然和生動,減少單調感。儘管如此,很多智慧客服系統允許使用者選擇關閉聊天功能,以便專注於文字客服。
值得注意的是,語音識別技術雖然也是智慧客服領域的一部分,但由於其涉及的技術和應用場景較為複雜,我們在此暫不展開討論。
工作原理
自然語言理解
自然語言理解(NLU)主要涉及以下幾個關鍵任務:首先,當使用者的問題由多個句子組成時,我們需要進行“分句”處理,以便對每個句子進行獨立的理解和回答。最終,將這些獨立的答案組合起來,提供給使用者。其次,“分詞”是非常常見的處理步驟,它是理解文字的基礎。分詞之後,我們可以進行進一步的處理,例如標註、實體識別等。
除此之外,句法分析也是重要的處理環節,它幫助我們瞭解句子中的結構和關係。指代消解則用於確定句子中代詞所指代的實體,從而提高理解的準確性。此外,詞權重計算和語義相似度分析也是關鍵步驟,這些分析為後續的演算法提供了重要的資料支援。總的來說,這些步驟構成了自然語言理解的預處理階段,為更復雜的語言處理任務奠定基礎。
意圖識別
第二部分的預處理工作是意圖識別。意圖識別的核心在於解析使用者的句子,揭示其背後的意圖。例如,在使用者提問“今天天氣怎麼樣”時,意圖識別系統能夠識別出使用者的主要目的是詢問天氣情況。再比如,當使用者說“幫我定一張去長春的機票”時,意圖識別系統會明確其意圖是要求預訂機票。
意圖識別通常透過兩種主要方式實現:模板匹配和分類器。模板匹配的方法涉及建立特定的詞典,例如一個包含城市名(如“北京”、“上海”、“天津”)的“city”詞典,以及一個包含時間詞彙(如“今天”、“明天”、“後天”)的“date”詞典。系統會根據這些詞典構建模板,比如“city”詞典中的城市名與“date”詞典中的日期詞彙配合,幷包含關鍵詞如“天氣”,從而識別出詢問天氣的意圖。這樣,當句子匹配這些模板時,我們可以確定使用者的意圖。
我們可以用Python程式碼來簡單實現基本的意圖識別:
import re
# 城市詞典
city_dict = ["北京", "上海", "天津", "廣州", "深圳"]
# 日期詞典
date_dict = ["今天", "明天", "後天"]
# 模板
weather_template = ["city", "任意字串", "date", "天氣"]
def match_template(user_input):
# 定義正規表示式
city_pattern = "|".join(city_dict)
date_pattern = "|".join(date_dict)
pattern = rf"({city_pattern}).*({date_pattern}).*天氣"
# 匹配使用者輸入
match = re.search(pattern, user_input)
if match:
return "詢問天氣的意圖"
else:
return "未識別意圖"
# 測試
user_input = "北京今天天氣怎麼樣?"
print(match_template(user_input)) # 輸出: 詢問天氣的意圖
雖然模板匹配方法在實現上簡單、易於理解和維護,並且適用於規則明確且結構化的場景,但它的靈活性相對較差。對於複雜或多變的表達方式,它的處理能力有限,因為模板只能識別與預定義模式匹配的句子。此外,該方法無法處理詞典中未出現的詞彙或詞彙的變化形式,這可能導致對使用者意圖的識別不夠全面或準確。
分類器方法在意圖識別中也非常有效,其核心思想是透過機器學習模型對使用者的意圖進行分類。具體實現時,我們需要在特定領域內收集大量的語料,並對這些語料進行人工標註,以確定它們對應的具體意圖。接著,我們使用這些標註好的資料來訓練分類器模型,這些模型可以是二分類器或者多分類器,用於對新的輸入進行意圖分類。
然而,儘管分類器方法能夠處理複雜的句子結構和多樣化的表達方式,它也有一些挑戰。首先,它需要大量的人工標註資料,這個過程不僅耗時且成本高昂。標註資料的質量直接影響模型的表現,因此需要確保標註的準確性。其次,分類器方法還面臨如何有效收集和處理來自多個領域的語料的問題。不同領域的語料可能具有不同的特徵和表達方式,這需要在資料收集和預處理過程中進行適當的調整和最佳化。
知識庫問答
接下來,我們將討論系統中的功能模組。首先,我們關注第一個最常見的模組——知識庫問答功能。這一功能在智慧客服系統中非常普遍,其核心技術本質上與搜尋引擎技術類似,但應用方式有所不同。知識庫問答功能通常分為兩個主要階段:候選集召回和重排序。
在候選集召回階段,系統透過多種方式從知識庫中選出與使用者查詢最相關的候選答案。雖然召回方法有很多種,但相較於搜尋引擎的複雜性,知識庫的召回過程相對簡單。這是因為搜尋引擎需要處理海量的資訊檢索,而知識庫的內容通常是由人工匯入和維護的,規模相對較小,因此召回的複雜度較低。
接下來的重排序階段旨在對候選集中的答案進行排序,以找到最合適的回應。這個過程可以利用多種技術來實現,包括文字相似度、檢索相關度等。如果資料量足夠,神經網路的語義相似度模型也可以應用於重排序。為了提高準確性,系統還可以採用多模型融合的方法,將不同模型的結果綜合考慮,以獲得最終的答案。
知識圖譜問答
接下來是跟知識庫比較相關的一種工作,知識圖譜問答。
知識圖譜(Knowledge Graph, KG)是一種語義網路,它透過節點和邊的形式來表示實體及其關係。每個節點代表一個實體(如人、地點、事件),邊則表示實體之間的關係(如“屬於”、“位於”、“影響”)。知識圖譜不僅儲存結構化資訊,還可以融入語義資訊,實現更智慧的資訊檢索和推理。
在人工智慧領域,知識圖譜的重要性顯而易見。它提供了一種機器可讀的知識表達方式,使計算機能夠更好地理解和處理複雜的人類語言及其與現實世界的關係。透過構建知識圖譜,人工智慧系統能夠實現更有效的知識整合、推理和查詢,從而在眾多應用領域發揮關鍵作用。
然而,在知識圖譜問答系統的實現中,最具挑戰性的部分是資料的整理,其次是選擇和最佳化合適的工具。
假設我們已經解決了資料來源和更新的問題,並且具備了所需的工具,接下來的關鍵任務就是進行查詢轉換。由於大多數知識圖譜工具採用特定的查詢語言,我們需要將自然語言透過某種方式轉換成這些工具支援的查詢語言。
這一轉換過程通常有兩種常見的方法:其一是使用模板來進行查詢轉換,其二是如果資料量足夠大,可以利用機器翻譯技術實現轉換。此外,知識庫和知識圖譜可以整合成一個統一的模組,這種模組通常被稱為知識庫問答系統。
目前,我們可以總結出幾個技術難點必須解決。第一個難點是資料冷啟動問題。在大多數情況下,我們初期沒有足夠的資料來訓練模型,導致知識圖譜中的實體和關係較少,從而限制了知識的覆蓋範圍,這會使系統在回答使用者複雜問題時遇到困難。初始階段的資料更新和擴充套件速度較慢,影響了圖譜的豐富程度和準確性。
第二個難點是多輪對話問題。在智慧客服系統中,多輪對話是一個重大挑戰。多輪對話涉及使用者和系統之間的多次互動,通常包括多個問題和回答。處理這種對話時,系統必須有效地保持對話的上下文和狀態,以便提供一致且相關的回答。
第三個難點是人機協作。在現有的智慧客服系統中,人機協作的方式尚未能最大化機器人的價值。當前機器人主要作為輔助工具,未能成為系統中的主要決策者或處理者,這限制了其在智慧客服中的潛力和作用。
開發方式
知識圖譜最常見的應用場景之一就是智慧客服,但其開發過程複雜且耗時。開發流程通常包括以下步驟:
- 定義需求:明確智慧客服系統需要解決的問題和目標功能。
- 構建知識圖譜:建立和組織包含各種實體和關係的知識圖譜,以支援系統的知識庫。
- 整合知識圖譜:將構建好的知識圖譜與系統進行整合,確保資訊流的順暢。
- 對話系統設計:設計智慧客服的對話系統,包括對話流程、使用者互動方式和響應機制。
- 測試和最佳化:對系統進行測試,最佳化其效能和準確性,確保能夠高效回答使用者問題。
- 部署和維護:將系統投入實際使用,並進行持續的維護和更新,以應對新的需求和挑戰。
在這個過程中,知識圖譜的維護是一個非常耗時且需要大量人力資源的環節。即使使用第三方服務,企業仍然難以對其進行高度個性化設定,尤其是針對企業內部特有的問題解決方案。因此,通常只有大型企業才能負擔得起這樣的解決方案,而小型網站或企業則往往無法開發或實施這樣的智慧助手。
AI的浪潮出現
在去年的時候,OpenAI釋出的ChatGPT可謂是徹底顛覆了大眾對智慧客服的認知。傳統智慧客服主要集中解決兩個問題:首先是處理與企業相關的標準化問題,其次是無法像人類一樣進行自然流暢的溝通交流。遇到這種客服時,許多人常常會優先選擇人工服務。
然而,隨著AI技術的發展,ChatGPT的出現使得與智慧客服的交流變得更加自然和靈活。使用者可以隨心所欲地提問,無論是技術問題、開發難題,還是企業內部的各種問題,ChatGPT都能提供詳細的解答和建議。這種能力不僅提升了使用者體驗,還極大地拓寬了智慧客服的應用範圍和效能。
提示詞助手
此時,智慧客服領域迎來了新的發展方向,即透過直接對接API來提升其功能。然而,最初人們發現,結合適當的提示詞可以顯著改善AI的回答質量。於是,各種各樣的提示詞被設計出來,以幫助大模型在不同的客服場景中表現得更加出色。
隨著這種趨勢的加劇,國內的大型企業和初創公司紛紛投入到大模型的開發中,彷彿在這股浪潮中沒有自己的大模型就會面臨淘汰一樣。在這種背景下,騰訊也迅速響應,開發出了自己的混元大模型,以便在激烈的市場競爭中佔據一席之地。
開發方式
在此階段,智慧客服的開發方式已變得相對成熟,企業可以透過本地編寫提示詞,並提供相關的參考資料來定製智慧客服解決方案。這種方法使得構建企業專屬的客服系統變得更加便捷和高效。
然而,即便如此,這種策略仍未能徹底解決大模型時常出現的“一本正經的胡說八道”問題。大模型在處理某些複雜或模糊問題時,仍可能給出不準確或不切實際的回答,這在某種程度上限制了其在實際應用中的可靠性和有效性。
AI的外掛功能浪潮
2023年3月23日,OpenAI推出了ChatGPT外掛系統,該系統以安全性為核心設計,允許ChatGPT透過外掛連線到各種第三方應用程式,並執行多種操作,包括檢索實時資訊、訪問知識庫和代使用者進行各類操作等。
由於整合了知識庫外掛,這一系統顯著提升了大模型的回答準確性,使得透過精心設計的提示詞結合外掛功能,能夠有效地解決約90%的“一本正經的胡說八道”問題。這樣的進步不僅增強了智慧客服的實用性,也大幅提高了其在實際應用中的可靠性。
向量資料庫
向量資料庫的廣泛應用和火熱趨勢在今年才真正顯現出來,這與OpenAI推出的外掛功能密切相關。透過這一外掛系統,ChatGPT可以利用大模型的能力來訪問和處理各類資料,從而極大地推動了向量資料庫的實際應用。外掛系統不僅增強了大模型的資料處理能力,還促進了向量資料庫在資訊檢索和知識管理等領域的應用,進一步推動了資料驅動技術的創新和發展。
騰訊雲在向量資料庫領域的投入,源自於對市場需求的洞察。經過調研,他們發現許多企業已經在使用向量資料庫,特別是在大模型的上下文中,向量資料庫作為解決方案顯得尤為重要。
大模型基於公開資料進行訓練,而企業的私有資料往往無法被直接利用。為了讓大模型有效服務於企業,企業需要透過兩種主要方式來處理資料:預訓練和微調。然而,這兩種方式的成本和技術門檻較高,因此並非所有企業都能負擔得起。此時,向量資料庫作為一種成本較低、操作簡單的解決方案,便成為了企業的優選。
向量資料庫的核心在於將文字、圖片等資訊轉化為向量資料,並透過相似度計算來進行檢索。這種技術透過索引最佳化,提高了檢索效率,使得大模型能夠更快速地處理資料。騰訊在內部已有多年向量資料庫的經驗,並將這些經驗轉化為雲服務產品,使得向量資料庫能夠在實際應用中發揮作用。
工作原理
向量是指在數學和物理中用來表示大小和方向的量。它由一組有序的數值組成,這些數值代表了向量在每個座標軸上的分量。
向量檢索是一種基於向量空間模型的資訊檢索方法。向量資料庫透過相似度計算方法計算兩個向量之間的相似距離來分析它們之間的相關性。如果兩個嵌入向量非常相似,則意味著原始資料來源也相似。
直觀來說,你可以將所有的知識庫中的非結構化資料(如文字、圖片等)想象成向量資料,因為計算機只能處理數字。具體而言,這些非結構化資料會被轉換為數字向量,例如:[0.2123,0.23,0.213]
。這種數字化表示使得計算機能夠進行高效的計算和處理,從而使複雜的資料分析和檢索變得可行。
開發方式
儘管在當前階段,人們的開發方式尚未完全採用大模型的函式呼叫形式,但公司內部的開發方法已經發生了顯著轉變。現在的做法是:首先,透過提前搜尋向量資料庫中的企業內部私有知識,並將這些資訊提供給大模型;然後,透過結合提示詞的方式來完成一輪正常的智慧問答。這種方法利用了大模型本身所具備的多輪問答能力,從而實現了高效的資訊檢索和互動問答。
實際上,這種開發模式使得任何企業,只要具備一定的技術能力,都可以輕鬆地對接並實現類似的智慧應用。無論企業的規模或領域如何,只需藉助現有技術,就能建立出高效的智慧問答系統,從而提高工作效率和資訊處理能力。
智慧體浪潮
可以說,今年最為熱門的發展趨勢就是智慧體。這一趨勢的崛起主要因為它從技術層面顯著降低了企業使用大模型的技術門檻。正如我們之前提到的,雖然向量資料庫提供了一種技術解決方案,但企業仍需有技術團隊來進行開發和實施。
然而,智慧體的出現徹底消除了這一顧慮。透過智慧體,使用者可以利用圖形介面直接將知識庫手動上傳,從而省去了複雜的開發過程。這種直觀的操作方式不僅簡化了技術應用,還大大減少了企業在部署智慧問答系統時的時間和成本。智慧體的這種易用性,使得各類企業能夠更快速、高效地實現智慧化,推動了技術的廣泛應用。
知識庫-向量資料庫
在這裡,我們將對各種智慧體平臺的知識庫功能進行一個簡要的講解,以騰訊元器為例來進行演示。這一過程將幫助大家更好地理解智慧體平臺如何管理和利用知識庫,以及這些功能如何在實際應用中發揮作用。
這裡的知識庫實際上完全依賴於向量資料庫在後臺的強大支援。當我們上傳檔案時,系統會自動將這些檔案轉換成相應的向量,並將這些向量插入到向量資料庫中。
向量資料庫在這個過程中扮演了關鍵角色,它不僅儲存了這些向量,還使得後續的檢索和查詢變得更加高效。透過這種方式,知識庫能夠更精準地處理使用者查詢,實現智慧體的高效資訊檢索和問答能力。
接下來,您可以透過維護和更新知識庫的方式,使智慧體能夠隨時呼叫並有效地回覆使用者提出的問題。透過定期更新知識庫,您可以確保智慧體獲得最新的、最相關的資訊,從而提高其回答問題的準確性和有效性。
這樣,智慧體不僅能快速檢索和處理儲存在知識庫中的資訊,還能不斷適應業務需求的變化,提供更加智慧化和個性化的服務。
開發方式
這樣,大多數公司只需對接智慧體的API,即可完成智慧客服系統的開發。透過這種方式,企業可以實現智慧體的即時上線與維護,無需擔心伺服器管理或技術開發的複雜問題。對接API的過程相對簡單,公司只需掌握基本的操作即可開始使用。此外,智慧體還可以輕鬆地釋出到各大平臺,如微信訂閱號等,這進一步減少了對接和整合的複雜性。
因此,儘管大模型技術在不斷髮展,向量資料庫在資料處理和管理中的角色依然不可或缺。向量資料庫與大模型的關係體現了計算與儲存需求的分離,這種分離將成為長期的趨勢。大模型雖然在不斷提升,但向量資料庫在資料檢索、管理和排程中的作用依舊顯著。它不僅改變了資料處理的方式,使得檢索更加自然和直觀,還為資料管理帶來了新的正規化。向量資料庫的技術創新提供了一種高效的方式來最佳化資料的訪問和應用,確保了資料處理的靈活性和高效性。
總結
國產資料庫在21世紀初取得了顯著進展,超出了許多人當年的預期。如今,國內已擁有超過300種不同的資料庫,這一現象不僅展現了中國在資料庫領域的創新和突破,也為企業和個人提供了豐富的選擇。然而,技術的演進並未止步於此。近年來,向量資料庫的興起在資料處理和儲存領域掀起了新的風潮。
向量資料庫的崛起,為傳統資料庫提供了強有力的補充。它的優勢在於處理複雜資料和高維資料時的高效性,尤其是在大規模資料分析、實時檢索和智慧推薦等領域表現突出。傳統資料庫在結構化資料和事務管理方面表現優異,但在非結構化資料處理、語義搜尋和機器學習任務中的侷限性逐漸顯現。向量資料庫的出現,不僅推動了資料儲存和處理技術的革新,也迫使傳統資料庫系統不斷調整和適應新的技術要求和挑戰。
在智慧客服領域,這種技術演變尤為明顯。智慧客服從最初的人工模式逐步轉向自動化和智慧化。早期,企業透過人工客服解決大量重複性問題,但這種方法既耗時又昂貴。隨著技術的發展,智慧客服系統逐漸引入了自然語言處理、知識庫問答和聊天機器人等先進功能。智慧客服不僅能高效處理高頻問題,還透過機器學習和自然語言處理技術提升了使用者體驗。然而,對於複雜的疑難問題,人工客服仍然具有不可替代的優勢。
隨著AI技術的飛速發展,尤其是大模型的出現,智慧客服系統的功能和表現得到了進一步的提升。OpenAI的ChatGPT、智慧體平臺和向量資料庫的結合,為智慧客服帶來了全新的應用場景和可能性。智慧體的引入使得企業能夠更加便捷地部署和維護智慧客服系統,透過對接API和最佳化知識庫,企業能夠實現高效的智慧化服務。
展望未來,國產資料庫和向量資料庫的發展將繼續推動資料處理和儲存技術的創新。隨著大模型和智慧體技術的不斷成熟,企業將能夠更好地利用這些先進工具,提高資訊處理效率和使用者服務質量。國產資料庫的多樣化和向量資料庫的技術革新,不僅標誌著中國在資料技術領域的持續進步,也為全球科技的發展貢獻了新的力量。智慧客服的演變和AI技術的應用,預示著我們正邁向一個更加智慧和高效的未來。
我是努力的小雨,一名 Java 服務端碼農,潛心研究著 AI 技術的奧秘。我熱愛技術交流與分享,對開源社群充滿熱情。同時也是騰訊雲創作之星、阿里雲專家博主、華為云云享專家、掘金優秀作者。
💡 我將不吝分享我在技術道路上的個人探索與經驗,希望能為你的學習與成長帶來一些啟發與幫助。
🌟 歡迎關注努力的小雨!🌟