大模型相关技术-embedding与分词

2024-04-30 17:36:10 浏览数 (1)

接上一篇文章大模型相关技术-初识RAG-腾讯云开发者社区-腾讯云 (tencent.com),我们已经对RAG(搜索增强)有了一定的了解,知道了为什么需要RAG和RAG的技术基石,本篇我们将详细学习一下RAG的两大关键技术中的embedding

在自然语言处理(NLP)领域,分词和Embedding是两个基础且重要的概念。分词是将文本切分为单词或词汇单元的过程,而Embedding入则是将这些词汇转换为可供机器学习模型处理的数值向量。下面将结合分词技术,详细解释大模型中Embedding入技术。

分词技术

分词是将连续的文本序列分割成一个个独立的词汇单元的过程。在英语等使用空格分隔词汇的语言中,分词相对简单;而在汉语、日语等没有明显词汇界限的语言中,分词则是一个复杂的任务,通常需要借助特定的算法来识别词汇边界。

分词算法通常包括以下几种:

  1. 基于规则的分词:利用预设的规则(如词典和语法规则)来识别词汇。
  2. 基于统计的分词:通过分析大量的语料库,统计词汇的出现频率和共现概率来进行分词。
  3. 基于机器学习的分词:使用标注好的语料库训练模型,使其学习如何分词。
  4. 基于深度学习的分词:使用循环神经网络(RNN)、长短时记忆网络(LSTM)或者Transformer等深度学习模型进行分词。

普通的全文检索用了基于规则的分词,比如著名的IKAnayzer,他的实现算法是“正向迭代最细粒度切分算法”,基本逻辑为:

抱歉,腾讯云markdown编辑出来再富文本里面会错行,只能截图了抱歉,腾讯云markdown编辑出来再富文本里面会错行,只能截图了

embedding技术

Embedding是将词汇转换为实数向量(无监督)的过程,这些向量能够捕捉词汇之间的语义关系。在大模型中,Embedding通常是模型的第一层,负责将输入的文本数据转换为可供后续层处理的数值形式。

Embedding入技术的关键特性包括:

  1. 分布式表示:每个词汇被表示为一个高维空间中的点,而不是单一的索引或符号。
  2. 上下文感知:Embedding通常考虑词汇的上下文信息,即同一个词在不同的上下文中可能有不同的表示。
  3. 语义相似性:在嵌入空间中,语义相近的词汇会被映射到相近的位置。

常见的Embedding模型有:

  1. Word2Vec:由Google提出的一种静态Embedding方法,包括连续词袋模型(CBOW)和Skip-gram模型。
  2. GloVe:全局向量Embedding模型,它结合了Word2Vec的优点,并加入了对词汇共现统计信息的考虑。
  3. FastText:由Facebook提出的一种模型,它可以看作是Word2Vec的扩展,支持对词汇进行子词级别的嵌入。
  4. BERT:基于Transformer结构的动态Embedding模型,它通过预训练的方式在大量文本上学习词汇的表示,能够很好地捕捉上下文信息。

目前主流的embedding模型评测结果:BCEmbedding/Docs/EvaluationSummary/embedding_eval_summary.md at master · netease-youdao/BCEmbedding (github.com)

有一个比较有意思的场景大家可能都遇到过,那就是各种信息流网站推送的推荐,我们盲猜一下推荐内容的来源,小王正在看文章《雪佛兰全尺寸SUV 太浩也许是你最终的选择》,当我点开这篇文章的时候embeddingModel将我的文章内容向量化,同时发起向量检索,找出匹配度高的文章,作为信息流不断地推给我,这也就是为什么推荐的新闻、视频越看越多?

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

0 人点赞