openAI维基百科 openAI维基百科
  • 首页
  • 语言
    • LLaMA
    • ChatGPT
      • 基础教程
      • Prompt训练
      • API编程指南
      • ChatGPT拓展
    • 其它模型
  • 图像
    • 风格化
    • 画质增强
    • 图像识别
    • 视觉交互
    • 扩展填充
  • 绘画
    • Midjourney
    • Stable Diffusion
      • LoRA
      • ControlNet
      • Fooocus
      • ComfyUI
    • 其它模型
  • 音频
    • 人声模拟
    • 音频识别
    • 音频分离
    • 智能编曲
  • 视频
    • AI换脸
    • AI补帧
    • 视频抠图
    • 视频动漫化
    • 文本生成视频
  • 3D
    • 文本生成模型
  • 教程
    • 基础知识
    • 微软AI学习
    • 深度学习笔记
    • 交互式了解AI
  • 问答
  • 资源
首页 › 语言 › ChatGPT › openAI|使用嵌入的语义文本搜索

openAI|使用嵌入的语义文本搜索

PhiltreX
2 年前

语义文本搜索

本文介绍了如何使用OpenAI的文本嵌入来进行语义文本搜索。通过将查询嵌入与文档嵌入进行比较,可以很高效地在数据集中搜索相关文本。本文展示了如何使用余弦相似度计算来搜索文本,并展示了搜索结果。该方法可以大大提高搜索效率并降低成本。

正文

我们可以通过简单地嵌入我们的搜索查询,然后找到最相似的评论,以非常有效的方式以非常低的成本在语义上搜索所有评论。 数据集在 Obtain_dataset Notebook 中创建。

import pandas as pd
import numpy as np

datafile_path = "data/fine_food_reviews_with_embeddings_1k.csv"

df = pd.read_csv(datafile_path)
df["embedding"] = df.embedding.apply(eval).apply(np.array)

请记住对文档(在本例中为评论)使用文档嵌入引擎,对查询使用查询嵌入引擎。 请注意,这里我们只是比较查询嵌入和文档嵌入的余弦相似度,并显示 top_n 个最佳匹配项。

from openai.embeddings_utils import get_embedding, cosine_similarity

# 搜索特定产品的评论
def search_reviews(df, product_description, n=3, pprint=True):
    product_embedding = get_embedding(
        product_description,
        engine="text-embedding-ada-002"
    )
    df["similarity"] = df.embedding.apply(lambda x: cosine_similarity(x, product_embedding))

    results = (
        df.sort_values("similarity", ascending=False)
        .head(n)
        .combined.str.replace("Title: ", "")
        .str.replace("; Content:", ": ")
    )
    if pprint:
        for r in results:
            print(r[:200])
            print()
    return results


results = search_reviews(df, "美味的豆子", n=3)
好买:我喜欢这些豆子。 它们是真空密封的,丰满而湿润。 会推荐它们用于任何用途。 我亲自将它们分开并放入一些伏特加酒中制成香草精。 百胜!

牙买加蓝豆:非常适合烘焙的咖啡豆。 我们家刚刚又买了 5 磅用于更多的烘烤。 烘烤成深褐色的豆子时味道浓郁,酸度适中

美味!:我喜欢这种白豆调味料,它给豆子带来浓郁的味道我就是喜欢它,我的婆婆不知道这个 Zatarain 的品牌,现在她正在托盘不同的调味料
results = search_reviews(df, "全麦面食", n=3)
美味又快捷的意大利面:百味来全麦意大利面配蔬菜卤汁味道鲜美,而且有一种极好的厚实的蔬菜卤汁。 我只希望有更多。 如果你没有挨饿或

sooo good: 味道真好。 物有所值。 我男朋友讨厌小麦面食,但喜欢这个。 厨师快,味道好。我喜欢这个品牌,并开始购买更多他们的意大利面。 散装最好。

方便:喜欢即食意大利面的想法,仅此一点,这款产品就受到了好评。 意大利面是全麦的,所以这是一个很大的优势,而且它实际上是有嚼劲的。 蔬菜海员

我们可以轻松地搜索这些评论。 为了加快计算速度,我们可以使用一种特殊的算法,旨在通过嵌入进行更快的搜索。
results = search_reviews(df, "不良交货", n=1)
很棒的产品,很差的送货:咖啡很棒,我是回头客。 这次的问题是 UPS 递送。 他们把箱子留在车道中间我的车库门前

正如我们所见,这可以立即带来很多价值。 在这个例子中,我们展示了能够快速找到交付失败的例子。
results = search_reviews(df, "被宠坏的", n=1)
非常失望:嗨,我对过去收到的 ONE 椰子水发货感到非常失望。 3 个盒子漏水,椰子水变质了。谢谢。
results = search_reviews(df, "宠物食品", n=2)
美食:我的猫王唯一会吃的干粮。 有助于防止毛球。 良好的包装。 及时到达。 卖宠物食品的朋友推荐的。

猫喜欢它:我的 7 只猫喜欢这种食物,但对人类来说有点难吃。 在深色肉汤中游动的鲭鱼片。 它被标榜为"完整"食物,包含胡萝卜、豌豆和意大利面。
APIopanAI APIopenAI
0
0
openAI|使用嵌入进行问答
上一篇
openAI|使用嵌入的建议
下一篇

评论 (0)

取消
    发表评论

猜你喜欢

  • ChatGPT|HTML网页制作
  • GPT Engineer|自动编程
  • POE|ChatGPT-4 & Claude+

论坛公告

为方便大家交流,交换资源等。

本站论坛限量开放注册中,免费答疑。

欢迎大家踊跃注册,关闭注册时间待定。

论坛地址:https://bbs.openai.wiki

增值服务

本站无广告|无会员|免注册

  1. 提供有偿远程帮助服务
  2. 提供POE会员代充代售
  3. 提供ChatGPT代充代售
  4. 提供Midjourney代充服务

商务合作

关于合作请点此联系

  • 首页
  • 语言
  • 图像
  • 绘画
  • 音频
  • 视频
  • 3D
  • 教程
  • 问答
  • 资源
Copyright © 20221212-2025 openAI维基百科. Designed by nicetheme. 京公网安备 11010502051430号 京ICP备2021019752号-5
  • 首页
  • 语言
    • LLaMA
    • ChatGPT
      • 基础教程
      • Prompt训练
      • API编程指南
      • ChatGPT拓展
    • 其它模型
  • 图像
    • 风格化
    • 画质增强
    • 图像识别
    • 视觉交互
    • 扩展填充
  • 绘画
    • Midjourney
    • Stable Diffusion
      • LoRA
      • ControlNet
      • Fooocus
      • ComfyUI
    • 其它模型
  • 音频
    • 人声模拟
    • 音频识别
    • 音频分离
    • 智能编曲
  • 视频
    • AI换脸
    • AI补帧
    • 视频抠图
    • 视频动漫化
    • 文本生成视频
  • 3D
    • 文本生成模型
  • 教程
    • 基础知识
    • 微软AI学习
    • 深度学习笔记
    • 交互式了解AI
  • 问答
  • 资源