語義搜索如何工作的以及它是為誰服務的?
時間:2024-05-12 08:30:02 | 來源:建站知識
時間:2024-05-12 08:30:02 來源:建站知識
對于簡單的用戶查詢,搜索引擎可以僅使用關鍵詞匹配可靠地找到正確的內(nèi)容?!凹t色烤面包機”查詢會提取標題或描述中帶有“烤面包機”且顏色屬性為紅色的所有產(chǎn)品。為紅色添加栗色等同義詞,您可以匹配更多的烤面包機。
但是事情很快就開始變得更加困難:您必須自己添加這些同義詞,并且您的搜索也會帶來烤面包機。這就是語義搜索的用武之地。語義搜索嘗試應用用戶意圖以及單詞和短語的含義(或語義)來查找正確的內(nèi)容。
它通過使用可能不會立即出現(xiàn)在文本(關鍵詞本身)中但與搜索者想要的信息密切相關的信息來超越關鍵詞匹配。例如,查詢“毛衣”甚至“更漂亮”的毛衣對于關鍵詞搜索來說是沒有問題的,而查詢“保暖衣物”或“如何在冬天保持身體溫暖?” 語義搜索可以更好地服務。
可以想象,試圖超越文本中嵌入的表面信息是一項復雜的工作。它已經(jīng)被許多人嘗試過,并包含了許多不同的組件。此外,與任何顯示出巨大希望的事物一樣,語義搜索是一個有時用于不真正名副其實的搜索的術語。
要了解語義搜索是否適用于您的業(yè)務以及如何最好地利用它,有助于了解它的工作原理以及構(gòu)成語義搜索的組件。
語義搜索的要素是什么?
語義搜索應用用戶意圖、上下文和概念含義來將用戶查詢與相應的內(nèi)容相匹配。它使用矢量搜索和機器學習來返回旨在匹配用戶查詢的結(jié)果,即使沒有單詞匹配也是如此。
這些組件協(xié)同工作以根據(jù)含義檢索和排列結(jié)果。最基本的部分之一是上下文。
語境
搜索發(fā)生的上下文對于理解搜索者試圖查找的內(nèi)容很重要。
上下文可以像語言環(huán)境一樣簡單(搜索“足球”的美國人與搜索相同事物的中國人想要不同的東西)或更復雜。
智能搜索引擎將在個人級別和組級別上使用上下文。個人層面對結(jié)果的影響被恰當?shù)胤Q為個性化。
個性化將使用該個人搜索者的親和力、先前的搜索和先前的交互來返回最適合當前查詢的內(nèi)容。
它適用于各種搜索,但語義搜索可以走得更遠。
在組級別上,搜索引擎可以使用有關所有搜索者如何與搜索結(jié)果交互的信息(例如最常點擊哪些結(jié)果,甚至某些結(jié)果比其他結(jié)果更受歡迎的季節(jié)性)對結(jié)果進行重新排名。
同樣,這顯示了語義搜索如何為搜索帶來智能,在這種情況下,智能是通過用戶行為。
語義搜索還可以利用文本中的上下文。我們已經(jīng)討論過同義詞在各種搜索中都很有用,并且可以通過將查詢匹配擴展到相關內(nèi)容來改進關鍵詞搜索。
但我們也知道同義詞不是通用的——有時兩個詞在一種情況下是等價的,而在另一種情況下卻不是。
當有人搜索“足球運動員”時,正確的結(jié)果是什么?美國的答案與中國肯定不同。然而,像“奶粉”這樣的查詢可能不需要知道搜索者的位置。
這是通過語義搜索進行查詢理解的示例。
用戶意圖
任何搜索引擎的最終目標都是幫助用戶成功完成一項任務。該任務可能是閱讀新聞文章、購買衣服或查找文件。
搜索引擎需要弄清楚用戶想要做什么,或者用戶意圖是什么。我們可以在電子商務網(wǎng)站上搜索時看到這一點。當用戶輸入查詢“喬丹”時,搜索會自動過濾類別“鞋子”。這預計用戶的意圖是尋找鞋子,而不是約旦杏仁(將在“食品和零食”類別中)。
通過領先于用戶意圖,搜索引擎可以返回最相關的結(jié)果,并且不會用文本匹配但不相關的項目分散用戶的注意力。在搜索頂部應用排序時,這可能更加相關,例如從最低到最高的價格。這是查詢分類的一個示例。
對查詢進行分類并限制結(jié)果集將確保僅顯示相關結(jié)果。
關鍵詞和語義搜索之間的區(qū)別
我們已經(jīng)看到了語義搜索的智能方式,但值得更多地了解它與關鍵詞搜索的不同之處。
雖然關鍵詞搜索引擎還引入了自然語言處理來改進這種詞對詞的匹配——通過使用同義詞、刪除停用詞等方法——但該處理仍然依賴于詞對詞的匹配。
但是語義搜索可以返回沒有匹配文本的結(jié)果,但是任何了解該領域的人都可以看到顯然有很好的匹配。
這與關鍵詞搜索和語義搜索之間的巨大差異有關,即查詢和記錄之間的匹配方式。
為了簡化一些事情,關鍵詞搜索是通過匹配文本來進行的。
由于文本質(zhì)量的重疊,“蘋果”將始終匹配“蘋果手機”或“一種水果”。更具體地說,有足夠的匹配關鍵詞告訴引擎搜索一個的用戶會想要另一個。
同樣的匹配也會告訴引擎查詢蘋果更可能匹配單詞“蘋果手機”而不是水果“蘋果”。
基于關鍵詞的搜索引擎還可以使用同義詞、替代詞或查詢詞刪除(所有類型的查詢擴展和放松)等工具來幫助完成此信息檢索任務。
NLP 和 NLU 工具(如錯字容錯、標記化和規(guī)范化)也有助于改進檢索。
雖然這些都有助于提供改進的結(jié)果,但它們可能無法提供更智能的匹配和概念匹配。
概念上的語義搜索匹配
因為語義搜索是在概念上進行匹配,所以搜索引擎不能再根據(jù)兩個詞共有多少個字來判斷記錄是否相關?;蛘吒鼜碗s的查詢,例如“洗衣店清潔劑”、“去除衣服上的污漬”或“我如何去除牛仔布上的草漬?”您甚至可以包括圖像搜索之類的內(nèi)容!
與此類似的例子是客戶詢問員工“馬桶疏通器”在哪里。除非商店明確將他們的柱塞、排水管清潔器和馬桶螺旋鉆稱為“馬桶疏通器”,否則對請求只有純關鍵詞式理解的員工會失敗。但是,我們希望員工足夠聰明,能夠在各種條款之間建立聯(lián)系,并將客戶引導到正確的通道。(也許員工知道客戶可以對任何給定產(chǎn)品使用的不同術語或同義詞)。
總結(jié)語義搜索所做的一個簡潔的方法是說語義搜索通過使用向量搜索帶來了更多的智能來匹配概念而不是單詞。
有了這種智能,語義搜索可以以更人性化的方式執(zhí)行,就像搜索者在搜索花式時尋找禮服和西裝,而看不到牛仔褲。
什么不是語義搜索?
到現(xiàn)在為止,語義搜索應該是一種提高搜索質(zhì)量的有力方法。因此,當您得知語義搜索的含義已被越來越廣泛地應用時,您應該不會感到驚訝。
通常,這些搜索體驗并不總是保證名稱。雖然語義搜索沒有官方定義,但我們可以說它是超越傳統(tǒng)基于關鍵詞的搜索的搜索。它通過結(jié)合現(xiàn)實世界的知識來根據(jù)查詢和內(nèi)容的含義得出用戶意圖來做到這一點。
這導致了這樣的結(jié)論:語義搜索不僅僅是應用 NLP 并將同義詞添加到索引中。
確實,標記化確實需要一些關于語言構(gòu)造的真實世界知識,并且同義詞適用于對概念匹配的理解。但是,在大多數(shù)情況下,它們?nèi)狈⑺阉魈嵘秸Z義級別所需的人工智能。
由矢量搜索提供支持
正是這最后一點使語義搜索既強大又困難。通常,對于術語語義搜索,有一種隱含的理解,即涉及到某種程度的機器學習。幾乎同樣經(jīng)常,這也涉及向量搜索。
向量搜索的工作原理是將有關項目的詳細信息編碼為向量,然后比較向量以確定哪些最相似。
同樣,即使是一個簡單的例子也能有所幫助。取兩個詞組:“豐田普銳斯”和“牛排”?,F(xiàn)在讓我們將它們與“混合動力”進行關聯(lián)。哪個更可以關聯(lián)?
兩者都不會在文本上匹配,但您可能會說“豐田普銳斯”是兩者中更相似的一個。
您可以這樣說是因為您知道“普銳斯”是一種混合動力汽車,因為您在與混合動力一詞類似的上下文中看到“豐田普銳斯”,例如“豐田普銳斯是值得考慮的混合動力車”或“像豐田普銳斯這樣的混合動力車”。
但是,您可以肯定,您無法將“牛排”和“混合動力”關聯(lián)起來。
繪制向量以查找相似性
這通常也是矢量搜索的工作方式。機器學習模型從網(wǎng)絡、書籍或其他來源獲取數(shù)千或數(shù)百萬個示例,然后使用這些信息進行預測。
當然,對模型進行逐個比較是不可行的(“豐田普銳斯和混合動力車經(jīng)常一起出現(xiàn)嗎?混合動力車和牛排呢?”)因此發(fā)生的情況是模型將編碼模式它注意到不同的短語。
這類似于您可能會如何看待一個短語并說“這個是積極的”或“那個包含一種顏色”。除了在機器學習中,語言模型的工作方式并不那么透明(這也是語言模型難以調(diào)試的原因)。
這些編碼存儲在一個向量或一長串數(shù)值中。然后,向量搜索使用數(shù)學計算不同向量的相似程度??紤]向量搜索所做的相似性測量的另一種方法是想象繪制出的向量。如果您嘗試將矢量繪制成數(shù)百個維度,這將非常困難。
如果你想象一個向量被繪制成三個維度,原理是一樣的。這些向量在繪制時形成一條線,問題是:這些線中哪一條最接近?
“牛排”和“牛肉”的線條將比“牛排”和“轎車”的線條更接近,因此更相似。這個原理稱為向量或余弦相似度。矢量相似度有很多應用。
它可以根據(jù)以前購買的產(chǎn)品進行推薦,找到最相似的圖像,并且可以確定哪些商品與用戶的查詢相比在語義上最匹配。
結(jié)論
隨著強大的深度學習模型和支持它們的硬件的興起,語義搜索是搜索應用程序的強大工具。雖然我們在這里觸及了許多不同的常見應用程序,但還有更多使用矢量搜索和 AI 的應用程序。甚至圖像搜索或從圖像中提取元數(shù)據(jù)也可能屬于語義搜索。我們正處于激動人心的時刻!
然而,它的應用仍處于早期階段,其已知的強大功能可能會導致對該術語的濫用。語義搜索管道中有許多組件,確保每個組件都正確很重要。
如果做得正確,語義搜索將使用現(xiàn)實世界的知識,特別是通過機器學習和矢量相似性,將用戶查詢與相應的內(nèi)容相匹配。