如何使用大型語言模型和知識圖來管理企業(yè)數(shù)據(jù)?
譯文譯者 | 布加迪
審校 | 重樓
51CTO讀者成長計劃社群招募,咨詢小助手(微信號:CTOjishuzhan)
近些年來,知識圖已成為組織和訪問醫(yī)療保健、工業(yè)、銀行、保險到零售的不同行業(yè)中大量企業(yè)數(shù)據(jù)的一種重要工具。
知識圖是一種基于圖的數(shù)據(jù)庫,它以一種結(jié)構(gòu)化和語義豐富的格式表示知識。這可以通過從結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)中提取實體和關(guān)系來生成,比如來自文檔的文本。維護知識圖中數(shù)據(jù)質(zhì)量的一個關(guān)鍵要求是將其建立在標(biāo)準(zhǔn)本體的基礎(chǔ)上。擁有標(biāo)準(zhǔn)化的本體常常需要將該本體整合到軟件開發(fā)周期中的成本。
組織可以采用一種系統(tǒng)性的方法來生成知識圖,方法是先攝取標(biāo)準(zhǔn)本體(比如保險風(fēng)險),并使用GPT-3等大型語言模型(LLM)創(chuàng)建腳本以生成和填充圖數(shù)據(jù)庫。
第二步是使用LLM作為中間層,接受自然語言文本輸入,并在圖上創(chuàng)建查詢以返回知識??梢愿鶕?jù)用來存儲圖的平臺定制創(chuàng)建和搜索查詢,比如Neo4j、AWS Neptune或Azure Cosmos DB。
一、結(jié)合本體和自然語言技術(shù)
這里概述的方法結(jié)合了本體驅(qū)動的技術(shù)和自然語言驅(qū)動技術(shù),以構(gòu)建一個可以輕松查詢和更新的知識圖,無需進(jìn)行大量的技術(shù)工作來構(gòu)建定制軟件。下面我們以一家保險公司為例,但是方法是通用的。
保險業(yè)面臨許多挑戰(zhàn),包括需要以一種既高效又有效的方式管理大量數(shù)據(jù)。知識圖提供了一種以結(jié)構(gòu)化和語義豐富的格式組織和訪問這些數(shù)據(jù)的方法。這可能包括節(jié)點、邊和屬性,其中節(jié)點表示實體,邊表示實體之間的關(guān)系,屬性表示實體和關(guān)系的屬性。
保險業(yè)中使用知識圖譜有幾個好處。首先,它提供了一種組織和訪問易于查詢和更新的數(shù)據(jù)的方法。其次,它提供了一種以結(jié)構(gòu)化和語義豐富的格式表示知識的方法,這使得它更容易分析和解讀。最后,它提供了一種方法來集成來自不同數(shù)據(jù)源的數(shù)據(jù),包括結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。
下面是分四個步驟的方法。不妨詳細(xì)看看每個步驟。
二、方法
1.研究本體,識別實體和關(guān)系
生成知識圖的第一步是研究相關(guān)的本體,并識別與該領(lǐng)域相關(guān)的實體和關(guān)系。本體是領(lǐng)域知識的正式表示,包括定義領(lǐng)域的概念、關(guān)系和約束。保險風(fēng)險本體定義了與保險領(lǐng)域相關(guān)的概念和關(guān)系,比如保單、風(fēng)險和保費。
本體可以使用各種技術(shù)加以研究,包括人工檢查和自動化方法。人工檢查包括閱讀本體文檔,并識別相關(guān)的實體和關(guān)系。自動化方法使用自然語言處理(NLP)技術(shù)從本體文檔中提取實體和關(guān)系。
一旦識別了相關(guān)的實體和關(guān)系,就可以將它們組織到知識圖的模式(schema)中。模式定義了圖的結(jié)構(gòu),包括用于表示實體和關(guān)系的節(jié)點和邊的類型。
2.為LLM構(gòu)建文本提示,以生成本體的模式和數(shù)據(jù)庫
生成知識圖的第二步涉及為LLM構(gòu)建文本提示,以生成本體的模式和數(shù)據(jù)庫。文本提示是本體、所需模式和數(shù)據(jù)庫結(jié)構(gòu)的自然語言描述。它充當(dāng)LLM的輸入,LLM生成Cypher查詢,用于創(chuàng)建和填充圖數(shù)據(jù)庫。
文本提示描述的對象應(yīng)該包括:本體、第一步中識別的實體和關(guān)系以及所需的模式和數(shù)據(jù)庫結(jié)構(gòu)。描述應(yīng)該使用自然語言,并且易于被LLM理解。文本提示還應(yīng)該包括模式和數(shù)據(jù)庫的任何約束或要求,比如數(shù)據(jù)類型、唯一鍵和外來鍵。
比如說,保險風(fēng)險本體的文本提示可能是這樣的:
“為保險風(fēng)險本體創(chuàng)建一個圖數(shù)據(jù)庫。每個保單都應(yīng)該有一個唯一的ID,應(yīng)該與一個或多個風(fēng)險相關(guān)聯(lián)。每個風(fēng)險都應(yīng)該有一個唯一的ID,并且應(yīng)該與一種或多種保費相關(guān)聯(lián)。每種保費都應(yīng)該有一個唯一的ID,應(yīng)該與一個或多個保單和風(fēng)險相關(guān)聯(lián)。數(shù)據(jù)庫還應(yīng)該包括確保數(shù)據(jù)完整性的約束,比如唯一鍵和外來鍵?!?/p>
文本提示準(zhǔn)備好后,就可以將其用作LLM的輸入,以生成Cypher查詢,用于創(chuàng)建和填充圖數(shù)據(jù)庫。
3.創(chuàng)建查詢以生成數(shù)據(jù)
生成知識圖的第三步涉及創(chuàng)建Cypher查詢,為圖數(shù)據(jù)庫生成數(shù)據(jù)。該查詢是使用在第二步中創(chuàng)建的文本提示生成的,用于用相關(guān)數(shù)據(jù)創(chuàng)建和填充圖數(shù)據(jù)庫。
Cypher查詢是一種聲明性語言,用于創(chuàng)建和查詢圖數(shù)據(jù)庫。它包括創(chuàng)建節(jié)點、邊和它們之間關(guān)系的命令,以及查詢圖中數(shù)據(jù)的命令。
第二步中創(chuàng)建的文本提示符充當(dāng)LLM的輸入,LLM基于所需的模式和數(shù)據(jù)庫結(jié)構(gòu)生成Cypher查詢。LLM使用NLP技術(shù)來理解文本提示并生成查詢。
查詢應(yīng)該包括為本體中的每個實體創(chuàng)建節(jié)點的命令以及表示它們之間關(guān)系的邊。比如說,在保險風(fēng)險本體中,查詢可能包括為保單、風(fēng)險和保費創(chuàng)建節(jié)點的命令,以及表示它們之間關(guān)系的邊。
查詢還應(yīng)該包括確保數(shù)據(jù)完整性的約束,比如唯一鍵和外來鍵。這將有助于確保圖中的數(shù)據(jù)是一致而準(zhǔn)確的。
一旦生成了查詢,就可以執(zhí)行它,用相關(guān)數(shù)據(jù)創(chuàng)建和填充圖數(shù)據(jù)庫。
三、攝取查詢并創(chuàng)建知識圖
生成知識圖的最后一步是攝取Cypher查詢,并創(chuàng)建圖數(shù)據(jù)庫。查詢是使用第二步中創(chuàng)建的文本提示生成的,并被執(zhí)行以便用相關(guān)數(shù)據(jù)創(chuàng)建并填充圖數(shù)據(jù)庫。
數(shù)據(jù)庫隨后可用于查詢數(shù)據(jù)和提取知識。圖數(shù)據(jù)庫是使用Neo4j之類的圖數(shù)據(jù)庫管理系統(tǒng)(DBMS)創(chuàng)建的。第三步中生成的Cypher查詢被攝入到DBMS中,DBMS在圖數(shù)據(jù)庫中創(chuàng)建節(jié)點和邊。
一旦創(chuàng)建了數(shù)據(jù)庫,就可以使用Cypher命令對其進(jìn)行查詢以提取知識。LLM還可以用作中間層,以獲取自然語言文本輸入,并在圖上創(chuàng)建Cypher查詢以返回知識。比如說,用戶可以輸入問題,比如“哪些保單有高風(fēng)險評級?”,LLM就可以生成Cypher查詢,從圖中提取相關(guān)數(shù)據(jù)。
知識圖還可以在新數(shù)據(jù)可用時進(jìn)行更新??梢孕薷腃ypher查詢,以添加新的節(jié)點和邊,更新后的查詢可以被攝入到圖數(shù)據(jù)庫中以添加新數(shù)據(jù)。
四、這種方法的幾個優(yōu)點
1.標(biāo)準(zhǔn)化
攝取保險風(fēng)險本體之類的標(biāo)準(zhǔn)本體,為在圖中標(biāo)準(zhǔn)化知識表示提供了一個框架。這使得集成來自不同來源的數(shù)據(jù)更加容易,并確保圖在語義上具有一致性。通過使用標(biāo)準(zhǔn)本體,組織可以確保知識圖中的數(shù)據(jù)是一致的、標(biāo)準(zhǔn)化的。這樣一來,就更容易集成來自多個來源的數(shù)據(jù),并確保數(shù)據(jù)具有可比性、有意義。
2.效率
使用GPT-3生成Cypher查詢來創(chuàng)建和填充圖數(shù)據(jù)庫是一種實現(xiàn)流程自動化的有效方法。這減少了構(gòu)建圖所需的時間和資源,并確保查詢在語法上和語義上是正確的。
3.直觀的查詢
使用LLM作為中間層來獲取自然語言文本輸入,并在圖上創(chuàng)建Cypher查詢以返回知識,這使得查詢圖來得更直觀、對用戶更友好。這樣用戶就不大需要深入了解圖結(jié)構(gòu)和查詢語言。
4.生產(chǎn)力
在過去,開發(fā)知識圖需要開發(fā)定制軟件,這項工作費時又費錢。有了這種方法,組織可以利用現(xiàn)有的本體和NLP工具來生成查詢,減少了對開發(fā)定制軟件的需求。
這種方法的另一個優(yōu)點是能夠在新數(shù)據(jù)可用時更新知識圖??梢孕薷腃ypher查詢以加入新的節(jié)點和邊,更新后的查詢可以被攝入到圖數(shù)據(jù)庫中以添加新數(shù)據(jù)。這樣一來,更容易維護知識圖并確保它保持最新和相關(guān)。
原文鏈接:https://venturebeat.com/ai/how-to-use-large-language-models-and-knowledge-graphs-to-manage-enterprise-data/