日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

解鎖搜索的力量:關鍵詞、相似性和語義解釋

來源: 責編: 時間:2024-07-12 17:26:55 747觀看
導讀譯者 | 李睿審校 | 重樓深入研究不同的搜索技術為了設定場景,假設有一系列關于各種技術主題的文本,并希望查找與“機器學習” (Machine Learning)相關的信息。接下來將研究關鍵字搜索、相似性搜索和語義搜索如何提供不同

譯者 | 李睿3Kp28資訊網——每日最新資訊28at.com

審校 | 重樓3Kp28資訊網——每日最新資訊28at.com

深入研究不同的搜索技術

3Kp28資訊網——每日最新資訊28at.com

為了設定場景,假設有一系列關于各種技術主題的文本,并希望查找與“機器學習” Machine Learning相關的信息。接下來將研究關鍵字搜索、相似性搜索和語義搜索如何提供不同程度的深度和理解,從簡單的關鍵字匹配到識別相關概念和場景。3Kp28資訊網——每日最新資訊28at.com

首先看看程序使用的標準代碼組件。3Kp28資訊網——每日最新資訊28at.com

1.使用的標準代碼組件

A.導入的庫

Python  import os import re from whoosh.index import create_in from whoosh.fields import Schema, TEXT from whoosh.qparser import QueryParser from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity from transformers import pipeline import numpy as np

在這個塊中導入了以下必要的庫:3Kp28資訊網——每日最新資訊28at.com

  • os用于文件系統的操作。
  • re表示正則表達式。
  • whoosh用于創建和管理搜索索引。
  • scikit-learn用于TF-IDF矢量化和相似度計算。
  • transformers使用深度學習模型進行特征提取。
  • numpy用于數值運算,特別是排序。

B.文檔初始化樣例

Python  # Sample documents used for demonstrating all three search techniques documents = [ "Machine learning is a field of artificial intelligence that uses statistical techniques.", "Natural language processing (NLP) is a part of artificial intelligence that deals with the interaction between computers and humans using natural language. ", "Deep learning models are a subset of machine learning algorithms that use neural networks with many layers.", "AI is transforming the world by automating tasks, providing insights through data analysis, and enabling new technologies like autonomous vehicles and advanced robotics. ", "Natural language processing can be challenging due to the complexity and variability of human language. ", "The application of machine learning in healthcare is revolutionizing the way diseases are diagnosed and treated.", "Autonomous vehicles rely heavily on AI and machine learning to navigate and make decisions.", "Speech recognition technology has advanced considerably thanks to deep learning models. " ]

定義一個示例文檔列表,其中包含與人工智能、機器學習和自然語言處理中的各種主題相關的文本。3Kp28資訊網——每日最新資訊28at.com

C.高亮功能

Python  def highlight_term(text, term): return re.sub(f"({term})", r'/033[1;31m/1/033[0m', text, flags=re.IGNORECASE)

用于美化輸出,以突出顯示文本中的搜索詞。3Kp28資訊網——每日最新資訊28at.com

2.關鍵字搜索

將搜索查詢與文檔中找到的精確或部分關鍵字相匹配的傳統方法。3Kp28資訊網——每日最新資訊28at.com

嚴重依賴于精確的詞匹配和簡單的查詢操作符(AND、OR、NOT)。3Kp28資訊網——每日最新資訊28at.com

A.關鍵字搜索如何工作

由于搜索查詢是“機器學習”(Machine Learning),因此關鍵字搜索會查找精確的文本匹配,并且只返回包含“機器學習”(Machine Learning)的文本。一些將被返回的文本示例是“機器學習正在改變許多行業?!薄白罱_設了一門機器學習的課程?!?/span>3Kp28資訊網——每日最新資訊28at.com

B.檢查關鍵字搜索背后的代碼

Python  # Function for Keyword Search using Whoosh def keyword_search(query_str): schema = Schema(content=TEXT(stored=True)) if not os.path.exists("index"): os.mkdir("index") index = create_in("index", schema) writer = index.writer() for doc in documents: writer.add_document(content=doc) writer.commit() with index.searcher() as searcher: query = QueryParser("content", index.schema).parse(query_str) results = searcher.search(query) highlighted_results = [(highlight_term(result['content'], query_str), result.score) for result in results] return highlighted_results

使用了Whoosh庫來執行關鍵字搜索。3Kp28資訊網——每日最新資訊28at.com

Schema和TEXT采用單個字段內容定義模式。3Kp28資訊網——每日最新資訊28at.com

  • os.path.exists和os.path.existsmkdir:檢查索引目錄是否存在,如果不存在則創建它。
  • create_in:在名為index的目錄中建立索引。
  • writer:打開一個寫入器,將文檔添加到索引中。
  • add_document:向索引中添加文檔。
  • commit:將更改提交到索引。
  • with index.searcher():打開一個搜索器來搜索索引。
  • QueryParser:解析查詢字符串。
  • searcher.search:使用解析后的查詢搜索索引。
  • highlighted_results:高亮顯示結果中的搜索詞,并存儲結果及其分數。

將在本文后面檢查關鍵字搜索輸出和其他搜索技術。3Kp28資訊網——每日最新資訊28at.com

3.相似性搜索

該方法根據相關單詞或主題的存在等特征,將提供的文本與其他文本進行比較,從而找到與搜索查詢相似的文本。3Kp28資訊網——每日最新資訊28at.com

A.相似性搜索的工作原理

回到之前相同的搜索查詢“機器學習”,相似度搜索將返回概念上類似的文本,例如“醫療保健中的人工智能應用使用機器學習技術”和“預測建模通常依賴于機器學習”。3Kp28資訊網——每日最新資訊28at.com

B.檢查相似度搜索背后的代碼

Python  # Function for Similarity Search using Scikit-learn def similarity_search(query_str): vectorizer = TfidfVectorizer() tfidf_matrix = vectorizer.fit_transform(documents) query_vec = vectorizer.transform([query_str]) similarity = cosine_similarity(query_vec, tfidf_matrix) similar_docs = similarity[0].argsort()[-3:][::-1] # Top 3 similar documents similarities = similarity[0][similar_docs] highlighted_results = [(highlight_term(documents[i], query_str), similarities[idx]) for idx, i in enumerate(similar_docs)] return highlighted_results

使用Scikit-learn庫編寫了一個函數來執行相似性搜索。3Kp28資訊網——每日最新資訊28at.com

  • TfidfVectorizer:將文檔轉換為TF-IDF功能。
  • fit_transform:它將矢量器適配到文檔中,并將文檔轉換為TF-IDF矩陣。Fit從文檔列表中學習詞匯表,并識別唯一的單詞,以計算它們的TF和IDF值。
  • transform:使用在fit步驟中學習的相同詞匯表和統計信息,將查詢字符串轉換為TF-IDF向量。
  • cosine_similarity:計算查詢向量和TF-IDF矩陣之間的余弦相似度。
  • argsort()[-3:][::-1]:按相似度降序獲取前3個相似文檔的索引。這一步只與本文相關,如果不想將搜索結果限制在前3名,可以取消這一步驟。
  • highlighted_results:高亮顯示結果中的搜索詞,并存儲結果及其相似性得分。

4.語義搜索

現在進入了強大搜索技術的領域。此方法理解搜索詞的含義/場景,并使用該概念返回文本,即使沒有直接提到搜索詞。3Kp28資訊網——每日最新資訊28at.com

A.語義搜索如何工作

同樣的搜索查詢“機器學習”(Machine Learning),當與語義搜索一起應用時,會產生與機器學習概念相關的文本,例如“人工智能和數據驅動的決策正在改變行業”和“神經網絡是許多人工智能系統的?!?/span>3Kp28資訊網——每日最新資訊28at.com

B.檢查語義搜索背后的代碼

Python  # Function for Semantic Search using Transformersdef semantic_search(query_str): semantic_searcher = pipeline("feature-extraction", model="distilbert-base-uncased") query_embedding = semantic_searcher(query_str)[0][0]  def get_similarity(query_embedding, doc_embedding): return cosine_similarity([query_embedding], [doc_embedding])[0][0]  doc_embeddings = [semantic_searcher(doc)[0][0] for doc in documents] similarities = [get_similarity(query_embedding, embedding) for embedding in doc_embeddings] sorted_indices = np.argsort(similarities)[-3:][::-1] highlighted_results = [(highlight_term(documents[i], query_str), similarities[i]) for i in sorted_indices] return highlighted_results

使用Hugging Face transformers庫執行語義搜索的函數。3Kp28資訊網——每日最新資訊28at.com

在semantic_searcher = pipeline("feature-extraction", model="distilbert-base-uncased")代碼片段中,有很多操作在進行。3Kp28資訊網——每日最新資訊28at.com

  • pipeline:這是從transformer庫導入的函數,它幫助使用預訓練的模型設置各種類型的NLP任務。
  • Feature extractio:Pipeline執行特征提取(Feature extraction)任務,將文本轉換為可用于各種下游任務的數字表示(嵌入)。
  • 用于這一任務的預訓練模型是distilbert-base-uncased模型,它是BERT模型的一個更小、更快的版本,經過訓練以理解不區分大小寫的英文文本。
  • query_embedding:獲取查詢字符串的嵌入。
  • get_similarity這是一個嵌套函數,用于計算查詢嵌入和文檔嵌入之間的余弦相似度。
  • doc_embeddings:獲取所有文檔的嵌入。
  • similarities:計算查詢嵌入與所有文檔嵌入之間的相似度。
  • argsort()[-3:][::-1]:按相似度降序獲取前3個相似文檔的索引。
  • highlighted_results:高亮顯示結果中的搜索詞,并存儲結果及其相似度分數。

輸出

既然已經了解了各種搜索技術的景,并且已經設置了文檔以進行搜索,現在看一下基于每個搜索技術的搜索查詢的輸出。3Kp28資訊網——每日最新資訊28at.com

Python  # Main execution if __name__ == "__main__": query = input("Enter your search term: ") print("/nKeyword Search Results:") keyword_results = keyword_search(query) for result, score in keyword_results: print(f"{result} (Score: {score:.2f})")  print("/nSimilarity Search Results:") similarity_results = similarity_search(query) for result, similarity in similarity_results: print(f"{result} (Similarity: {similarity * 100:.2f}%)")  print("/nSemantic Search Results:") semantic_results = semantic_search(query) for result, similarity in semantic_results: print(f"{result} (Similarity: {similarity * 100:.2f}%)")

現在使用搜索詞“機器學習”(Machine Learning)和下面的搜索結果圖像來搜索文檔。3Kp28資訊網——每日最新資訊28at.com

3Kp28資訊網——每日最新資訊28at.com

搜索結果中的亮點:3Kp28資訊網——每日最新資訊28at.com

(1)highlighted_results函數幫助高亮搜索詞。3Kp28資訊網——每日最新資訊28at.com

(2)相似性搜索和語義搜索只返回3個結果,這是因為其代碼將這兩種搜索技術的搜索結果限制為3個。3Kp28資訊網——每日最新資訊28at.com

(3)關鍵詞搜索使用TF-IDF根據文檔中相對于查詢的術語出現的頻率和重要性來計算分數。3Kp28資訊網——每日最新資訊28at.com

(4)相似性搜索使用向量化和余弦相似性來度量文檔在向量空間中與查詢的相似程度。3Kp28資訊網——每日最新資訊28at.com

(5)語義搜索使用來自轉換器模型的嵌入和余弦相似度來捕獲文檔與查詢的語義和相關性。3Kp28資訊網——每日最新資訊28at.com

(6)需要注意,由于語義搜索的強大功能,它檢索了與自然語言處理相關的文本,因為自然語言處理在的場景中與機器學習更為接近。3Kp28資訊網——每日最新資訊28at.com

現在使用其他搜索詞“Artificially Intelligent”和“Artificial Intelligence”的搜索結果(需要注意,“Artificially”的拼寫錯誤是故意的),并討論結果。3Kp28資訊網——每日最新資訊28at.com

3Kp28資訊網——每日最新資訊28at.com

搜索結果中的亮點:3Kp28資訊網——每日最新資訊28at.com

(1)搜索“人工智能”(Artificially Intelligent),由于缺乏精確或部分匹配的術語,關鍵詞搜索沒有結果。3Kp28資訊網——每日最新資訊28at.com

(2)由于向量表示或相似度不匹配,相似度搜索的結果為零。3Kp28資訊網——每日最新資訊28at.com

(3)語義搜索可以有效地找到場景相關的文檔,顯示出理解和匹配概念的能力,而不僅僅是精確的單詞。3Kp28資訊網——每日最新資訊28at.com

(4)在第二次搜索中,拼寫錯誤的“人工智能”(Artificial Intelligence沒有正確地產生關鍵字搜索結果,但由于匹配的情況,其中一個文本產生了相似性得分。在智能、語義搜索方面,像往常一樣,從文檔中檢索到場景匹配的文本。3Kp28資訊網——每日最新資訊28at.com

結論

現在已經了解了各種搜索技術的性能,以下了解一些關鍵要點:3Kp28資訊網——每日最新資訊28at.com

(1)搜索方法的正確選擇應取決于任務的要求。對任務進行徹底的分析,并插入正確的搜索方法以獲得最佳性能。3Kp28資訊網——每日最新資訊28at.com

(2)使用關鍵字搜索進行簡單、直接的術語匹配。3Kp28資訊網——每日最新資訊28at.com

(3)當需要查找具有輕微術語變化但仍然基于關鍵字匹配的文檔時,可以使用相似度搜索。3Kp28資訊網——每日最新資訊28at.com

(4)對需要深入理解內容的任務使用語義搜索,例如在處理各種術語或需要捕獲查詢的底層含義時。3Kp28資訊網——每日最新資訊28at.com

(5)還可以考慮將這些方法結合起來,以實現良好的平衡,利用每種方法的優勢來提高總體性能。3Kp28資訊網——每日最新資訊28at.com

(6)每種搜索技術都有進一步優化的余地,本文沒有對此進行介紹。3Kp28資訊網——每日最新資訊28at.com

參考文獻

以下參考文獻的文本已被這個文檔用于本文的搜索:3Kp28資訊網——每日最新資訊28at.com

  • Is Deep Learning and Machine Learning the Same Thing?
  • CloudBank
  • What is artificial intelligence?
  • AI augmenting human capabilities across the care delivery value chain
  • The power of Artificial Intelligence
  • ChatGPT and Artificial Intelligence

原文標題:Unlocking the Power of Search: Keywords, Similarity, and Semantics Explained,作者:Pavan Vemuri3Kp28資訊網——每日最新資訊28at.com


3Kp28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-100739-0.html解鎖搜索的力量:關鍵詞、相似性和語義解釋

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 突破與創新:Vue.js 創始人尤雨溪 2024 年度技術前瞻

下一篇: 點線面的智慧: 轉轉JTS技術如何塑造上門履約地理布局

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲图片欧美午夜| 亚洲激情在线观看| 欧美视频中文字幕在线| 欧美日韩在线播放一区二区| 国产精品久久久久久久久搜平片 | 好吊一区二区三区| 亚洲电影专区| 亚洲午夜精品久久久久久app| 欧美亚洲一区二区在线观看| 久久婷婷一区| 欧美日韩一区二区三区在线看 | 亚洲国产裸拍裸体视频在线观看乱了| 日韩视频三区| 久久精品盗摄| 欧美激情一区二区三区蜜桃视频 | 亚洲国产精品va在看黑人| 一本色道婷婷久久欧美| 欧美制服第一页| 欧美另类69精品久久久久9999| 国产精品乱子久久久久| 在线成人h网| 亚洲一区网站| 欧美电影免费观看| 国产在线视频欧美| 在线亚洲欧美| 免费欧美电影| 国产精品免费福利| 亚洲精品久久久久久久久久久| 午夜日韩在线观看| 欧美日韩爆操| 1204国产成人精品视频| 午夜影视日本亚洲欧洲精品| 欧美久久在线| 在线国产精品播放| 午夜亚洲伦理| 欧美视频二区36p| 亚洲国产精品第一区二区| 午夜亚洲福利| 欧美视频在线观看| 亚洲区第一页| 久热精品视频在线免费观看| 国产欧美一区二区视频| 中文精品视频一区二区在线观看| 久热精品视频在线观看| 国产日韩在线不卡| 亚洲无线视频| 欧美日韩免费观看一区三区 | 亚洲一级在线观看| 欧美精品系列| 亚洲国产成人精品女人久久久| 欧美一区二区视频在线观看2020| 欧美体内谢she精2性欧美 | 性欧美暴力猛交另类hd| 欧美日韩视频在线第一区| 亚洲第一精品福利| 久久久999国产| 国产偷国产偷精品高清尤物| 亚洲天堂男人| 欧美日韩亚洲在线| 亚洲乱码日产精品bd| 米奇777在线欧美播放| 狠狠色狠狠色综合日日91app| 香蕉免费一区二区三区在线观看| 欧美性猛交xxxx乱大交蜜桃| 亚洲美女免费视频| 欧美激情第8页| 91久久国产自产拍夜夜嗨| 美国成人直播| 在线精品福利| 鲁大师影院一区二区三区| 激情国产一区二区| 久久久免费av| 精品1区2区3区4区| 久久久久久尹人网香蕉| 国产一区二区三区黄视频| 欧美亚洲三区| 国产亚洲精品成人av久久ww| 欧美亚洲一区二区在线| 国产欧美午夜| 久久国产精品久久国产精品| 国产午夜精品久久久久久免费视| 欧美一区二区三区电影在线观看 | 一本色道久久| 国产精品国产精品| 亚洲免费视频网站| 国产麻豆综合| 久久精品成人欧美大片古装| 狠久久av成人天堂| 米奇777在线欧美播放| 亚洲高清在线播放| 欧美高清在线一区二区| 亚洲美女黄色| 国产精品国产三级欧美二区| 亚洲欧美文学| 国产在线播放一区二区三区| 久久午夜色播影院免费高清| 亚洲高清自拍| 欧美日本一区| 亚洲男人的天堂在线| 国产麻豆视频精品| 久久天堂国产精品| 亚洲精品视频在线观看免费| 欧美日韩综合视频| 小黄鸭精品aⅴ导航网站入口| 国产一区二区欧美| 免费亚洲电影在线观看| 日韩亚洲欧美成人| 国产精品一区二区三区成人| 久久精品最新地址| 亚洲欧洲一区二区三区| 国产精品高潮呻吟久久av黑人| 欧美一区2区视频在线观看| 影音先锋另类| 欧美日韩综合在线免费观看| 亚洲一区在线免费观看| 国产永久精品大片wwwapp| 欧美aaaaaaaa牛牛影院| 宅男噜噜噜66一区二区66| 国产婷婷一区二区| 美女视频网站黄色亚洲| 中文日韩在线| 在线精品视频一区二区| 欧美三区视频| 久久久天天操| 99精品福利视频| 国产婷婷色综合av蜜臀av| 欧美国产精品日韩| 午夜激情亚洲| 最新国产乱人伦偷精品免费网站| 国产精品久久久久三级| 狂野欧美激情性xxxx| 一区二区三区视频观看| 国产一区二区三区免费观看| 欧美精品一区二区在线播放| 欧美一级大片在线免费观看| 最近中文字幕日韩精品| 国产精品制服诱惑| 欧美激情一区二区三区在线视频观看 | 国产精品久久久一本精品| 看片网站欧美日韩| 亚洲一区二区三区四区五区午夜| 一区国产精品| 国产精品一二三四区| 欧美+日本+国产+在线a∨观看| 亚洲一区二区精品视频| 在线观看亚洲视频| 国产精品视频区| 欧美激情第3页| 久久激情婷婷| 亚洲性视频h| 亚洲激情社区| 国产在线观看一区| 国产精品mv在线观看| 免费观看日韩| 欧美主播一区二区三区美女 久久精品人 | 亚洲一区二区欧美| 亚洲国内高清视频| 国产一区高清视频| 国产精品福利网站| 欧美电影打屁股sp| 久久精品国产久精国产思思| 亚洲四色影视在线观看| 亚洲日本一区二区| 影音先锋日韩精品| 国产日韩欧美| 国产精品久久久久久久久动漫| 欧美国产在线电影| 久久亚洲高清| 欧美一区国产在线| 亚洲一区亚洲| 一区二区三区.www| 亚洲精品自在久久| 亚洲国产精品黑人久久久| 国产自产精品| 国产日本欧美一区二区| 国产精品久久久久久模特| 欧美日韩91| 欧美区日韩区| 欧美激情欧美狂野欧美精品| 老司机免费视频久久| 久久久久久久999精品视频| 欧美亚洲一级片| 亚洲一线二线三线久久久| 一区二区高清在线观看| 亚洲精品之草原avav久久| 亚洲黄色有码视频| 亚洲高清av在线| 亚洲第一狼人社区| 在线观看日韩一区| 伊人男人综合视频网| 激情婷婷久久| 黄网站免费久久| 国模套图日韩精品一区二区| 国产女主播一区| 国产久一道中文一区| 国产精品揄拍500视频| 国产精品免费电影| 国产精品视频网址| 国产精品一区视频网站| 国产麻豆视频精品| 国产自产在线视频一区| 狠狠色综合网站久久久久久久| 国产一区二区在线观看免费播放| 国内成+人亚洲+欧美+综合在线|