精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在 DUCKDB 中構(gòu)建人工智能驅(qū)動(dòng)的搜索功能

發(fā)布于 2024-5-17 11:07
瀏覽
0收藏

TLDR

本文將展示如何使用 DuckDB 的數(shù)組類(lèi)型和余弦相似度函數(shù)實(shí)現(xiàn)高效的基于文本嵌入的向量搜索,并通過(guò)電影數(shù)據(jù)集實(shí)例演示其應(yīng)用。

簡(jiǎn)介

現(xiàn)在,許多分析任務(wù)涉及文本數(shù)據(jù),例如電子商務(wù)商店的產(chǎn)品評(píng)論。這些任務(wù)包括但不限于分類(lèi)、聚類(lèi)和相似性比較。它們主要使用文本數(shù)據(jù)的向量嵌入表示來(lái)實(shí)現(xiàn)矢量搜索功能。

DuckDB 提供了 Array[2] 和 List[3] 數(shù)據(jù)類(lèi)型,可以用來(lái)存儲(chǔ)和處理向量嵌入,以實(shí)現(xiàn)向量搜索。在這個(gè)系列博客的第一篇中,我們將探討相似性比較,學(xué)習(xí)如何在 DuckDB 中使用向量嵌入。我們將涵蓋向量嵌入、余弦相似度以及基于嵌入的向量搜索。

什么向量搜索?

在自然語(yǔ)言處理(NLP)的世界中,向量嵌入或稱為向量搜索,指的是文本數(shù)據(jù)的數(shù)值表示。這些嵌入將單詞、短語(yǔ)甚至整個(gè)文檔轉(zhuǎn)換為實(shí)數(shù)向量,捕捉詞之間的關(guān)系和文本數(shù)據(jù)的語(yǔ)義含義。通過(guò)將文本表示為向量嵌入,我們能夠應(yīng)用數(shù)學(xué)運(yùn)算,如相似性比較、聚類(lèi)和分類(lèi)。讓我們通過(guò)一個(gè)例子來(lái)進(jìn)一步理解這一點(diǎn)。

這里有四個(gè)詞的向量嵌入,使用了一個(gè)簡(jiǎn)單的向量嵌入模型:

在 DUCKDB 中構(gòu)建人工智能驅(qū)動(dòng)的搜索功能-AI.x社區(qū)

注意:上述向量嵌入是通過(guò) mixedbread-ai/mxbai-embed-large-v1[4]

將它們?cè)趫D表上可視化后,我們得到:

在 DUCKDB 中構(gòu)建人工智能驅(qū)動(dòng)的搜索功能-AI.x社區(qū)

graph visualization

根據(jù)我們的語(yǔ)義知識(shí)(常識(shí)),我們知道“狗”和“吠叫”之間的關(guān)系類(lèi)似于“貓”和“喵喵叫”。乍一看,我們?cè)?x 軸的左側(cè)看到“狗”和“吠叫”,而在右側(cè)看到“貓”和“喵喵叫”。為了定量分析這些詞的關(guān)系,我們需要使用諸如余弦相似度之類(lèi)的指標(biāo)。

什么是余弦相似度?

余弦相似度是一種計(jì)算向量嵌入語(yǔ)義相似性的指標(biāo)。它也常用于信息的語(yǔ)義檢索中。我們通過(guò)取兩個(gè)歸一化的向量之間的點(diǎn)積( dot product[5]

? 這個(gè)指標(biāo)的值為 1 表示兩個(gè)向量完全相同

? 值為 0 意味著它們是獨(dú)立的(正交)

? 值為-1 表示它們是對(duì)立的(相反)

下面列出的是詞對(duì)的余弦值:

在 DUCKDB 中構(gòu)建人工智能驅(qū)動(dòng)的搜索功能-AI.x社區(qū)

通過(guò)比較余弦值(cosine(“dog”, “meow”)) 和 cosine(“cat”, “bark”)),我們可以推斷出"meow"幾乎與"dog"相反,而"cat"和"bark"也是如此。在我們擁有的詞匯中,可以看到"dog"與"bark"的關(guān)系最為密切,而"cat"與"meow"的關(guān)系最為緊密。有趣的是,盡管"meow"和"bark"是對(duì)立的,但"dog"和"cat"并不是。也許這個(gè)模型捕捉到了它們都是被馴化的動(dòng)物、寵物,并且非常可愛(ài)這一共同點(diǎn)。??

DuckDB 的數(shù)組類(lèi)型和余弦相似度函數(shù)

自 0.10 版本以來(lái),DuckDB 提供了 ARRAY 類(lèi)型來(lái)存儲(chǔ)固定大小的數(shù)組,非常適合存儲(chǔ)向量嵌入。這意味著 ARRAY 類(lèi)型列中的所有字段都具有相同的長(zhǎng)度和相同的底層類(lèi)型。要使用此數(shù)據(jù)類(lèi)型初始化表,您需要指定數(shù)組中每個(gè)元素的數(shù)據(jù)類(lèi)型,后跟方括號(hào)和數(shù)組大小;例如, FLOAT[2] 將初始化一個(gè)大小為 2 的數(shù)組,其中每個(gè)元素都是 FLOAT 類(lèi)型。

讓我們來(lái)看看如何將上述數(shù)據(jù)轉(zhuǎn)化為表格形式:

CREATE TABLE word_embeddings 
(word VARCHAR, embedding FLOAT[2]);

INSERT INTO word_embeddings
VALUES ("dog", [ 0.23, 0.37]),
       ("cat", [-0.27, 0.29]),
       ("bark", [ 0.35, -0.02]),
       ("meow", [-0.32, -0.09]);

這里我們提供了一個(gè)表格,其中包含單詞及其向量嵌入。DuckDB還提供了一個(gè)函數(shù) array_cosine_similarity(array1, array2) ,用于計(jì)算兩個(gè)向量之間的余弦相似度指標(biāo)。

對(duì)于上述表格,讓我們計(jì)算詞對(duì)之間的余弦相似度指標(biāo)。

SELECT x.word as word_1,
       y.word as word_2,
       array_cosine_similarity(x.embedding, y.embedding) AS similarity_metric
FROM word_embeddings AS x
CROSS JOIN word_embeddings AS y
WHERE word_1 > word_2
ORDER BY similarity_metric DESC;

這為我們提供了與上述部分相同的結(jié)果:

在 DUCKDB 中構(gòu)建人工智能驅(qū)動(dòng)的搜索功能-AI.x社區(qū)

注意:在 DuckDB v0.10.0 之前,用于存儲(chǔ)可變大小數(shù)組的數(shù)據(jù)類(lèi)型 LIST 也可用于存儲(chǔ)嵌入。在這種情況下,您需要使用 list_cosine_similarity 函數(shù)。

基于嵌入的檢索是如何實(shí)現(xiàn)向量搜索的?

嵌入式檢索背后的核心思想是,將查詢輸入和數(shù)據(jù)集中的項(xiàng)目都表示為高維空間中向量嵌入,這樣在對(duì)查詢與項(xiàng)目之間的余弦相似度進(jìn)行排名時(shí),語(yǔ)義相似性得到了體現(xiàn)。因此,根據(jù)給定查詢與數(shù)據(jù)集中項(xiàng)目的余弦相似度進(jìn)行排名,排名靠前的項(xiàng)目是最相關(guān)的。讓我們使用 Kaggle 上的電影數(shù)據(jù)集[6]來(lái)說(shuō)明這一點(diǎn)。

數(shù)據(jù)集中包含電影的標(biāo)題和概述,我已經(jīng)通過(guò) sentence-transformers 包中的 mxbai-embed-large-v1 模型計(jì)算了標(biāo)題和概述的向量嵌入。

在 DUCKDB 中構(gòu)建人工智能驅(qū)動(dòng)的搜索功能-AI.x社區(qū)

現(xiàn)在,假設(shè)我想要搜索一部與以下描述非常相似的電影:“一部關(guān)于戰(zhàn)士為他的部落而戰(zhàn)的電影”。為了檢索相關(guān)的電影,我們將計(jì)算描述的嵌入,并將其與數(shù)據(jù)集中條目的嵌入進(jìn)行比較。

標(biāo)題嵌入的相似性

下面的 SQL 查詢實(shí)現(xiàn)了上述描述嵌入的相似檢索,針對(duì)標(biāo)題嵌入。查詢計(jì)算余弦相似度,并按降序排列結(jié)果,選擇前 5 項(xiàng)。我們看到這些項(xiàng)目的標(biāo)題中都包含“戰(zhàn)士”這個(gè)詞。

SELECT title, overview
    FROM (
        SELECT *, 
        array_cosine_similarity(title_embeddings, [0.7058067321777344, -0.0012793205678462982, -0.08653011173009872...]) AS score
        FROM movies_embeddings
    ) sq
    WHERE score IS NOT NULL
    ORDER BY score DESC LIMIT 5;

在 DUCKDB 中構(gòu)建人工智能驅(qū)動(dòng)的搜索功能-AI.x社區(qū)

概述嵌入的相似性

當(dāng)將上述描述的嵌入與電影概述的嵌入進(jìn)行相似性檢索時(shí),結(jié)果完全不同,因?yàn)樗鼈兤ヅ淞烁攀觥_@是因?yàn)槊坎侩娪暗母攀鰧傩园嗪筒煌脑~語(yǔ),這些詞語(yǔ)與電影相關(guān),而標(biāo)題中這些詞語(yǔ)有時(shí)并不是電影本身的描述。概述嵌入將更好地與電影描述嵌入語(yǔ)義相似,而標(biāo)題嵌入有時(shí)可能對(duì)電影的描述不夠充分。

在 DUCKDB 中構(gòu)建人工智能驅(qū)動(dòng)的搜索功能-AI.x社區(qū)

嵌入組合的相似性

由于我們的數(shù)據(jù)集中有2個(gè)嵌入,我們可以通過(guò)將兩個(gè)分?jǐn)?shù)相加來(lái)計(jì)算它們的組合,并根據(jù)總和進(jìn)行排名。

SELECT title, overview
    FROM (
        SELECT *,
        array_cosine_similarity(title_embeddings, [0.7058067321777344, ...]) AS score_1,
        array_cosine_similarity(overview_embeddings, [0.7058067321777344, ...]) AS score_2
        FROM movies_embeddings
    ) sq
    WHERE score_1 IS NOT NULL AND score_2 IS NOT NULL
    ORDER BY score_1+score_2 DESC LIMIT 5;

這一輪我們得到了一個(gè)不同的結(jié)果,它與第一個(gè)結(jié)果有些相似。

在 DUCKDB 中構(gòu)建人工智能驅(qū)動(dòng)的搜索功能-AI.x社區(qū)

結(jié)論

文本數(shù)據(jù)包含的信息深度和豐富性使其非常有價(jià)值。通過(guò)向量嵌入,我們將語(yǔ)言轉(zhuǎn)換為數(shù)學(xué)空間,從而能夠進(jìn)行多種操作,這些操作提供了提取和轉(zhuǎn)換其中存儲(chǔ)的信息的機(jī)會(huì),從而解鎖向量搜索功能。DuckDB 憑借其高效的處理能力和用戶友好的 SQL 界面,使得與向量嵌入的交互過(guò)程變得更加輕松。無(wú)論是在進(jìn)行相似性搜索、聚類(lèi)還是執(zhí)行其他任何基于向量的操作時(shí),DuckDB 都能提供無(wú)縫連接,讓您更接近文本數(shù)據(jù)進(jìn)行分析實(shí)驗(yàn)。

引用鏈接

[1]? BUILDING AI-POWERED SEARCH IN DUCKDB: ??https://motherduck.com/blog/search-using-duckdb-part-1/[2]??? Array: ??https://duckdb.org/docs/sql/data_types/array.html[3]??? List: ??https://duckdb.org/docs/sql/data_types/list.html[4]??? mixedbread-ai/mxbai-embed-large-v1: ??https://huggingface.co/mixedbread-ai/mxbai-embed-large-v1[5]??? dot product: ??https://simple.wikipedia.org/wiki/Dot_product#:~:text=In mathematics%2C the dot product,used to designate this operation.[6]??? Kaggle 上的電影數(shù)據(jù)集: ??https://www.kaggle.com/datasets/rounakbanik/the-movies-dataset/versions/7?resource=download??

本文轉(zhuǎn)載自??alitrack  ??,作者: alitrack

已于2024-5-17 14:03:49修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
97国产在线视频| 精品一区电影国产| 2018中文字幕第一页| 亚洲色图21p| 麻豆精品视频在线观看免费| 久久av红桃一区二区小说| 欧美熟妇精品一区二区蜜桃视频| 国产精品伦理| 亚洲摸摸操操av| 欧美重口乱码一区二区| 99热这里只有精品66| 亚洲资源av| 久久成年人视频| 亚洲天堂视频一区| youjizzjizz亚洲| 欧美性xxxxx极品少妇| 亚洲熟妇无码一区二区三区导航| 国产黄在线播放| 丁香婷婷综合网| 国产日韩视频在线观看| 97免费在线观看视频| 香蕉视频官网在线观看日本一区二区| 亚洲国内精品在线| 国产裸体视频网站| julia一区二区三区中文字幕| 亚洲成人资源在线| 在线视频不卡国产| 黄色国产在线| 久久综合网色—综合色88| 亚洲综合精品伊人久久| 中文字幕一二区| 亚洲伊人网站| 九九视频直播综合网| 黄色免费一级视频| 视频精品在线观看| 日韩av综合网站| 免费看黄色片的网站| 国产精品中文| 在线电影院国产精品| 91香蕉视频污版| 小黄鸭精品aⅴ导航网站入口| 精品国产91乱高清在线观看| 欧美a级免费视频| 日本免费在线观看| 国产精品丝袜一区| 性欧美videosex高清少妇| 日韩欧美亚洲系列| www日韩大片| 久久久久久九九九九| 天天综合网在线| 91蜜桃视频在线| 久久www免费人成精品| 色婷婷视频在线| av中文一区二区三区| 国产伦精品一区二区三区| 性一交一乱一精一晶| 国产伦精品一区二区三区免费| 国产欧美欧洲在线观看| 91在线公开视频| 九九**精品视频免费播放| 国产日韩在线视频| 国产精品久久久久久免费播放| 美国十次了思思久久精品导航 | 一级黄色录像毛片| 国内精品视频在线观看| 在线色欧美三级视频| 99热99这里只有精品| 午夜精品毛片| 欧美激情伊人电影 | 成人黄色网址| 亚洲一区二区视频| 免费成人在线视频网站| 欧美va视频| 69av一区二区三区| 国产黑丝在线观看| 国产精品中文字幕亚洲欧美| 最近2019中文字幕mv免费看 | 午夜视频在线观看一区二区| 777久久久精品一区二区三区| 吉吉日韩欧美| 欧美疯狂性受xxxxx喷水图片| 男插女视频网站| 日韩三级av| 揄拍成人国产精品视频| 特一级黄色录像| 一本色道久久综合亚洲精品高清| 国产成人精品网站| 国产伦子伦对白视频| 99久久精品情趣| 亚洲精品国产精品久久| 在线黄色网页| 色妹子一区二区| 捷克做爰xxxⅹ性视频| 开心激情综合| 久久久999国产| 久久久久久久久久久久久久av| 美女视频黄 久久| 国产一级精品aaaaa看| 成人在线免费看| 亚洲成人av一区二区三区| 国产又大又黄又粗的视频| 97人人澡人人爽91综合色| 国产亚洲精品一区二555| 久久久精品人妻一区二区三区四| 乱码第一页成人| 97超碰在线播放| 国产一级网站视频在线| 亚洲精品大片www| 9久久婷婷国产综合精品性色 | 青青草手机在线观看| 日日骚欧美日韩| 国产精品裸体一区二区三区| 午夜视频在线| 91久久精品网| 五十路六十路七十路熟婆| 一区二区三区在线| 国产精品专区第二| 国产二区视频在线观看| 香港成人在线视频| 曰本三级日本三级日本三级| 精品久久久久久久| 欧美在线国产精品| 亚洲国产精品久久久久久6q| 亚洲天堂福利av| 亚欧在线免费观看| 亚洲国产国产| 26uuu另类亚洲欧美日本老年| 精品久久久久久亚洲综合网站| 久久精品亚洲乱码伦伦中文| 欧美 丝袜 自拍 制服 另类| 51精品国产| 久久国产精品偷| 国产情侣激情自拍| 椎名由奈av一区二区三区| 亚洲黄色小视频在线观看| 丝袜av一区| 97avcom| 人妻无码一区二区三区久久99| 一区二区三区精品| 国产sm在线观看| 国户精品久久久久久久久久久不卡| 国产在线98福利播放视频| 欧洲不卡视频| 欧美精选一区二区| 国产第一页浮力| 国内精品免费**视频| 中文字幕在线亚洲精品| 999精品嫩草久久久久久99| 北条麻妃在线一区二区| 国产精品久久久久毛片| 亚洲免费观看高清在线观看| 日本一本在线视频| 欧美日韩一区二区国产| 成人午夜电影在线播放| 成人在线免费观看黄色| 亚洲精品在线电影| 国产精品免费精品一区| 久久综合色综合88| 国产精品人人爽人人爽| 国产精品久久久乱弄| 亚洲一区二区三区久久| 成人a在线视频免费观看| 精品国产一区二区在线观看| 麻豆传媒在线看| 99国产成人精品| 国产亚洲自拍一区| 亚洲精品性视频| 综合国产精品| 国产日韩欧美亚洲一区| 美女100%一区| 色av吧综合网| 黄色美女一级片| 欧美午夜精品久久久久久人妖 | 欧美调教在线| 日本精品视频网站| 日本在线免费| 精品国一区二区三区| 免费视频久久久| 亚洲欧洲韩国日本视频| 日本黄色免费观看| 日本亚洲免费观看| 成年人视频大全| 色棕色天天综合网| 91传媒免费看| 日韩精选视频| 欧美日韩不卡合集视频| 欧美男男同志| 日韩一区二区免费在线电影| 国产一区二区三区影院| 国产精品久久久99| 人妖粗暴刺激videos呻吟| 日本女人一区二区三区| www插插插无码视频网站| 清纯唯美日韩| 精品在线视频一区二区| 宅男噜噜噜66国产精品免费| 2025国产精品视频| 日韩123区| 最新的欧美黄色| 天天操天天操天天操| 欧美丰满美乳xxx高潮www| 亚洲男人的天堂在线视频| 亚洲女同ⅹxx女同tv| 日韩一级av毛片| 国产成人精品三级| 九色91popny| 99在线精品免费视频九九视| 好色先生视频污| 成人情趣视频| 免费久久久一本精品久久区| 老司机亚洲精品一区二区| 国产精品极品美女粉嫩高清在线| 免费毛片在线看片免费丝瓜视频 | 欧美一区二区三区视频| 伊人久久久久久久久久久久| 亚洲福利视频一区| 婷婷在线精品视频| 中文字幕一区二区三区在线播放| 国产呦小j女精品视频| 成人天堂资源www在线| 色男人天堂av| 寂寞少妇一区二区三区| 国产xxxxx视频| 久久aⅴ国产紧身牛仔裤| 国产欧美久久久久| 欧美99在线视频观看| 制服国产精品| 国产精品99在线观看| 色综合久久88色综合天天提莫| 色爱av综合网| 久久国产一区| 亚洲+小说+欧美+激情+另类| 国产一区二区免费电影| 成人午夜三级| 国产乱码一区| 蜜桃久久久久| 久久99国产精品99久久| 精品午夜电影| 久久国产精品免费一区| 人体久久天天| 麻豆精品蜜桃一区二区三区| 亚洲+变态+欧美+另类+精品| 久久波多野结衣| 亚洲人成伊人成综合图片| 免费成人在线观看av| 岳的好大精品一区二区三区| 欧美成人在线免费观看| 九九亚洲精品| 五码日韩精品一区二区三区视频| 欧美美女视频| 在线看成人av电影| 欧美一区二区三区免费看| 日本男女交配视频| 亚洲毛片在线| 日日摸天天爽天天爽视频| 日韩激情视频在线观看| 午夜激情在线观看视频| 久久国产精品区| 欧美日韩久久婷婷| 国产精品77777| 日韩av无码一区二区三区不卡 | 青青草97国产精品免费观看| 天天干天天av| 成人天堂资源www在线| 91精品国产自产| 国产精品入口麻豆九色| 欧美视频www| 精品二区三区线观看| 青青视频在线免费观看| 欧美日韩国产精品自在自线| 国产国语亲子伦亲子| 亚洲成人久久一区| 精品成人一区二区三区免费视频| 色妞久久福利网| caoprom在线| 国产精品av电影| 久久三级中文| 欧美精品一区二区三区久久| 999久久久免费精品国产| 伊人久久在线观看| 亚洲视频1区| 亚洲天堂国产视频| av激情亚洲男人天堂| 欧美偷拍一区二区三区| 亚洲免费在线电影| caoporn国产| 日韩精品中文字幕一区| 免费av在线电影| 欧美精品在线看| 都市激情亚洲综合| 97se视频在线观看| 青草国产精品| 缅甸午夜性猛交xxxx| 精品一区二区三区在线视频| 国产chinese中国hdxxxx| 亚洲国产精品成人久久综合一区| 久久久久亚洲av无码专区| 欧亚洲嫩模精品一区三区| 开心激情综合网| 久久精品国产亚洲7777| 黄色亚洲网站| 国产综合色一区二区三区| 999久久久精品国产| 亚洲人成无码www久久久| 国产福利一区二区三区视频| 一级在线观看视频| 欧美日韩午夜激情| 精品国产亚洲一区二区麻豆| 中文字幕亚洲综合久久筱田步美| free性m.freesex欧美| 91久久精品国产91性色| 国产探花一区在线观看| 欧美牲交a欧美牲交| 福利一区二区在线| 男人操女人的视频网站| 欧美日韩国产精品成人| 激情小视频在线观看| 欧美一区二区三区免费观看| 91精品尤物| 国产亚洲精品久久久久久久| 国产综合久久久久久鬼色 | 国产精品女主播| 九色精品国产蝌蚪| 97国产在线视频| 亚洲小视频网站| 天堂精品中文字幕在线| 久久久久久久穴| 日韩美女视频一区二区 | 夜夜嗨网站十八久久 | 91影院在线观看| 久久精品99国产精| 日韩欧美国产系列| 国产丝袜在线| 国产在线精品成人一区二区三区| 不卡一区综合视频| 天天干在线影院| 国产精品免费av| 伊人网av在线| 色999日韩欧美国产| 日韩美女在线| 五月天av影院| 国产成人精品免费看| 久久久久久久黄色| 亚洲精品一线二线三线| 成人bbav| 欧美一区观看| 日韩不卡免费视频| 美女100%露胸无遮挡| 欧美丝袜第三区| 美女隐私在线观看| 91免费版网站入口| 欧美日本一区二区视频在线观看| 在线播放第一页| 午夜日韩在线电影| 美丽的姑娘在线观看免费动漫| 日韩美女免费观看| 日韩毛片视频| 亚洲高清av一区二区三区| 一个色在线综合| 日韩a级作爱片一二三区免费观看| 欧美在线观看日本一区| 日韩欧美午夜| 色男人天堂av| 精品久久久久久中文字幕| 美国成人毛片| 国产欧美一区二区白浆黑人| 综合天堂av久久久久久久| 亚洲一二三四五| 日韩欧美极品在线观看| 国产二区在线播放| 亚洲a中文字幕| 亚洲欧美清纯在线制服| 国产破处视频在线观看| 欧美福利视频一区| sm性调教片在线观看 | 日本69式三人交| 日本韩国精品在线| 国产在线激情视频| 国产在线观看一区| 开心九九激情九九欧美日韩精美视频电影| 黄色a级片在线观看| 亚洲精品日韩在线| av在线精品| 岳毛多又紧做起爽| 亚洲欧洲国产日韩| 日本福利片高清在线观看| 成人精品视频久久久久| 一区二区高清| 看黄色录像一级片| 亚洲精品不卡在线| 亚洲国产91视频| 97成人在线观看视频| 亚洲另类在线一区| 国产天堂素人系列在线视频| 99久久自偷自偷国产精品不卡| 日日骚欧美日韩| 日本熟妇色xxxxx日本免费看| 综合久久五月天| 日本中文字幕在线一区| 久久久福利影院|