
什么是語義搜索?
語義搜索是一種使用自然語言處理算法來理解單詞和短語的含義和上下文以提供更準(zhǔn)確的搜索結(jié)果的搜索技術(shù)。 這種方法基于這樣的想法:搜索引擎不僅應(yīng)該匹配查詢中的關(guān)鍵字,還應(yīng)該嘗試?yán)斫庥脩羲阉鞯囊鈭D以及所使用的單詞之間的關(guān)系。
語義搜索旨在超越傳統(tǒng)的基于關(guān)鍵字的搜索算法,通過使用實體識別、概念匹配和語義分析等技術(shù)來識別單詞、短語和概念之間的關(guān)系。 它還考慮同義詞、相關(guān)術(shù)語和上下文,以提供更相關(guān)的搜索結(jié)果。
總體而言,語義搜索旨在提供更精確、更有意義的搜索結(jié)果,更好地反映用戶的意圖,而不僅僅是匹配關(guān)鍵字。 這使得它對于復(fù)雜的查詢特別有用,例如與科學(xué)研究、醫(yī)療信息或法律文檔相關(guān)的查詢。
語義搜索的歷史
語義搜索的概念可以追溯到計算機(jī)科學(xué)的早期,在 20 世紀(jì) 50 年代和 1960 年代就有人嘗試開發(fā)自然語言處理系統(tǒng)。 然而,直到 20 世紀(jì) 90 年代和 2000 年代,語義搜索領(lǐng)域才取得了重大進(jìn)展,這在一定程度上要歸功于機(jī)器學(xué)習(xí)和人工智能的進(jìn)步。
語義搜索最早的例子之一是 Douglas Lenat 在 1984 年創(chuàng)建的 Cyc 項目。 該項目旨在建立一個全面的常識知識本體或知識庫,可用于理解自然語言查詢。 雖然Cyc項目面臨諸多挑戰(zhàn),最終沒有實現(xiàn)其目標(biāo),但它為未來語義搜索的研究奠定了基礎(chǔ)。
20 世紀(jì) 90 年代末,Ask Jeeves(現(xiàn)稱為 Ask.com)等搜索引擎開始嘗試自然語言查詢和語義搜索技術(shù)。 這些早期的努力受到當(dāng)時技術(shù)的限制,但它們展示了更復(fù)雜的搜索算法的潛力。
2000 年代初 Web 本體語言 (OWL) 的發(fā)展提供了一種以機(jī)器可讀格式表示知識和關(guān)系的標(biāo)準(zhǔn)化方法,使得開發(fā)語義搜索算法變得更加容易。 2008 年被微軟收購的 Powerset 和 2007 年推出的 Hakia 等公司開始使用語義搜索技術(shù)來提供更相關(guān)的搜索結(jié)果。
如今,許多搜索引擎和公司正在使用語義搜索來提高搜索結(jié)果的準(zhǔn)確性和相關(guān)性。 其中包括于 2012 年推出知識圖譜的谷歌,以及使用語義搜索為其 Alexa 虛擬助手提供支持的亞馬遜。 隨著人工智能領(lǐng)域的不斷發(fā)展,語義搜索可能會變得更加復(fù)雜且適用于廣泛的應(yīng)用。
語義搜索的最新改進(jìn)
語義搜索最近出現(xiàn)了一些改進(jìn),有助于進(jìn)一步推動該領(lǐng)域的發(fā)展。 一些最值得注意的包括:
- 基于 Transformer 的模型:基于 Transformer 的模型,例如 BERT(來自 Transformers 的雙向編碼器表示),徹底改變了自然語言處理和語義搜索。 這些模型能夠更好地理解單詞和短語的上下文,從而更容易提供更相關(guān)的搜索結(jié)果。
- 多模態(tài)搜索:多模態(tài)搜索是指跨文本、圖像、視頻等多種模式搜索信息的能力。 機(jī)器學(xué)習(xí)的最新進(jìn)展使得開發(fā)更準(zhǔn)確、更復(fù)雜的多模態(tài)搜索算法成為可能。
- 對話式搜索:對話式搜索涉及使用自然語言處理和機(jī)器學(xué)習(xí)來為用戶查詢提供更準(zhǔn)確、更人性化的響應(yīng)。 這項技術(shù)已經(jīng)被用于虛擬助手,例如亞馬遜的 Alexa 和蘋果的 Siri。
- 個性化:個性化是指根據(jù)用戶的偏好和之前的搜索歷史來定制搜索結(jié)果的能力。 隨著在線可用數(shù)據(jù)量的不斷增長,這一點變得越來越重要。
- 特定領(lǐng)域搜索:特定領(lǐng)域搜索涉及使用語義搜索技術(shù)在特定領(lǐng)域或行業(yè)(例如醫(yī)療保健或金融)內(nèi)進(jìn)行搜索。 這有助于為這些行業(yè)的用戶提供更準(zhǔn)確、更相關(guān)的搜索結(jié)果。
總體而言,語義搜索的最新進(jìn)展使得在線查找信息變得更加容易,并為未來更復(fù)雜的搜索算法鋪平了道路。
語義搜索和知識圖譜有什么關(guān)系?
語義搜索和知識圖(knowledge graph)密切相關(guān),因為兩者都涉及使用語義技術(shù)來改進(jìn)搜索結(jié)果。
知識圖是一種結(jié)構(gòu)化的信息數(shù)據(jù)庫,它使用語義技術(shù)以機(jī)器可讀的格式表示知識。 它通常由實體(例如人、地點和事物)以及它們之間的關(guān)系組成。 例如,知識圖可能包含有關(guān)特定公司的信息,包括其位置、產(chǎn)品和員工以及這些實體之間的關(guān)系。
另一方面,語義搜索是一種使用自然語言處理和機(jī)器學(xué)習(xí)來更好地理解搜索查詢中單詞和短語的含義的搜索技術(shù)。 語義搜索算法使用知識圖和其他語義技術(shù)來分析實體和概念之間的關(guān)系,并基于此分析提供更相關(guān)的搜索結(jié)果。
換句話說,知識圖為語義搜索算法提供了底層結(jié)構(gòu)和數(shù)據(jù)。 通過利用知識圖提供的關(guān)系和上下文,語義搜索算法能夠提供更準(zhǔn)確、更有意義的搜索結(jié)果,更好地匹配用戶的意圖。
例如,谷歌的知識圖使用龐大的結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)庫來支持其搜索結(jié)果,并提供有關(guān)搜索結(jié)果中出現(xiàn)的實體(例如人物、地點和事物)的附加信息。 這使得用戶更容易找到他們正在尋找的信息并探索相關(guān)的概念和實體。
向量數(shù)據(jù)庫、知識圖譜和語義搜索
向量數(shù)據(jù)庫是另一種可以與語義搜索和知識圖結(jié)合使用以改進(jìn)搜索結(jié)果的技術(shù)。
向量數(shù)據(jù)庫使用機(jī)器學(xué)習(xí)算法將數(shù)據(jù)表示為向量,向量是數(shù)據(jù)的數(shù)學(xué)表示,可用于各種計算任務(wù),例如相似性搜索、聚類和分類。 這些向量可用于以允許更準(zhǔn)確和高效處理的方式表示實體、概念和其他類型的數(shù)據(jù)。
在語義搜索和知識圖的背景下,向量數(shù)據(jù)庫可以通過更好地理解實體和概念之間的關(guān)系來提高搜索結(jié)果的準(zhǔn)確性。 例如,向量可用于表示人、地點和事物等實體以及它們之間的關(guān)系。 通過比較這些向量,搜索算法可以識別數(shù)據(jù)本身可能無法立即顯現(xiàn)的關(guān)系和模式。
例如,當(dāng)用戶搜索 “Paris” 時,語義搜索算法可以使用知識圖和向量數(shù)據(jù)庫來了解用戶可能指的是法國巴黎市,而不是其他同名實體。 通過使用向量數(shù)據(jù)庫來表示和比較實體和概念,搜索算法可以提供更相關(guān)和更準(zhǔn)確的搜索結(jié)果。
總體而言,向量數(shù)據(jù)庫、語義搜索和知識圖譜都是共同提高搜索算法的準(zhǔn)確性和效率的技術(shù)。 通過利用這些技術(shù),搜索引擎和其他應(yīng)用程序可以更好地理解實體和概念之間的關(guān)系,從而更輕松地找到用戶正在尋找的信息。
如何對自己的私有數(shù)據(jù)進(jìn)行語義搜索
在我之前的文章 “ChatGPT 和 Elasticsearch:OpenAI 遇見私有數(shù)據(jù)(一)”,我詳細(xì)描述了目前我們的 LLMs (Large Language Models)雖然能夠?qū)崿F(xiàn)語義搜索,但是由于它的局限性,不能針對私有數(shù)據(jù)進(jìn)行語義搜索,因為私有數(shù)據(jù)對 LLMs 不可見。此外,由于 LLMs 的每次訓(xùn)練需要非常多的費(fèi)用,它不能及時地針對新的數(shù)據(jù)進(jìn)行訓(xùn)練,這也使得它的使用具有一定的局限性。正如我之前的文章中介紹的那樣,我們可以使用 Elasticsearch 結(jié)合 LLMs 來共同完成語義搜索:
有關(guān)這個展示的詳細(xì)步驟,請參閱文章 “ChatGPT 和 Elasticsearch:OpenAI 遇見私有數(shù)據(jù)(二)”。
針對語義搜索,除了上面的方案之外,Elastic 也提供一個叫做?Elasticsearch Relevance Engine? 的發(fā)布。我們可以使用 Elastic 的開箱即用的?Learned Sparse Encoder 模型實現(xiàn)基于 ML 的搜索,無需訓(xùn)練或維護(hù)模型,可在各種領(lǐng)域提供高度相關(guān)、語義化的搜索。詳細(xì)閱讀,請參考:
- Elasticsearch:部署 ELSER - Elastic Learned Sparse EncoderR
-
Elasticsearch:使用 ELSER 進(jìn)行語義搜索文章來源:http://www.zghlxwxcb.cn/news/detail-595022.html
如果你想了解更多關(guān)于 NLP,語義搜索方面的知識,請參閱 “Elastic:開發(fā)者上手指南” 中的 “NLP - 自然語言處理及向量搜索” 章節(jié)。文章來源地址http://www.zghlxwxcb.cn/news/detail-595022.html
到了這里,關(guān)于Elasticsearch:語義搜索、知識圖和向量數(shù)據(jù)庫概述的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!