BERTopic(二) Fine-tune representation by llm

简介: bertopic

在overview中,使用了KeyBERT来fine-tune representation。BERTopic还支持使用大语言模型来fine-tune。BERTopic支持openai、llama.cpp和langchain。本文使用openai和ollama进行本地部署。

ollama参考https://ollama.com/

import openai
import bertopic.representation
client = openai.OpenAI(
    base_url = 'http://localhost:11434/v1',
    api_key='ollama', # required, but unused
)

representation_model = bertopic.representation.OpenAI(client, model="yi", chat=True)

默认prompt

DEFAULT_CHAT_PROMPT = """
I have a topic that contains the following documents: 
[DOCUMENTS]
The topic is described by the following keywords: [KEYWORDS]

Based on the information above, extract a short topic label in the following format:
topic: <topic label>
"""

简单看看源码的流程,从fit_transform开始,433行self._extract_topics(documents, embeddings=embeddings, verbose=self.verbose)。来到_openai.py,方法extract_topics调用了_extract_representative_docs。对每个有代表性的doc,调用self.client.chat.completions.create,大模型生成一个response,然后用response.choices[0].message.content.strip().replace("topic: ", "")获得label。

下面介绍bertopic.representation.OpenAI的主要参数。默认情况下,四个最有代表性的文档传给[DOCUMENTS]。
可以用nr_docs改变传入的文档数。用参数diversity改善文档过于相似的问题,这个参数在0到1之间,推荐设为0.1。
可以用doc_length截断文档。
tokenizer决定了doc_length的计算方式,例如是按char还是whitespace切分文档。

相关文章
|
机器学习/深度学习 自然语言处理 算法
文本分析-使用jieba库进行中文分词和去除停用词(附案例实战)
文本分析-使用jieba库进行中文分词和去除停用词(附案例实战)
11687 145
|
存储 项目管理 Python
数据导入与预处理-第4章-数据获取python读取docx文档(上)
数据导入与预处理-第4章-pandas数据获取docx文档 1.python读取docx文档概述 1.1 从Word文件获取数据 1.2 python-docx库介绍 1. Paragraph类 2. Table类
数据导入与预处理-第4章-数据获取python读取docx文档(上)
|
NoSQL API 数据库
【Cassandra】使用Docker部署Cassandra集群
Cassandra是一个开源分布式NoSQL数据库系统。
2900 0
|
弹性计算 Linux 测试技术
阿里云ECS网络不稳定、访问丢包、延迟高怎么办?
若ECS服务器经常出现网络不稳定、延迟高等情况,针对不同情况,下面列出一些常用的解决方法供大家参考: 一、Linux实例 可以尝试先用如winmtr之类的工具,查看是服务端的丢包还是网际路由线路的丢包。
|
6月前
|
存储 自然语言处理 算法
大模型应用:基于千问大模型 + 图算法:可追溯知识图谱问答系统构建.83
本文介绍“图算法+大模型”双引擎智能问答方案:用PageRank、最短路径等图算法处理关系推理与知识验证,由千问大模型负责自然语言理解与生成,实现可信、可溯源、强推理的高可靠问答,破解幻觉、推理弱、不可溯三大难题。
731 7
|
9月前
|
数据采集 自然语言处理 监控
大模型应用:情感分析模型微调深度分析:从基础预测到性能优化.6
本文系统讲解中文情感分析模型微调后的深度评估方法,涵盖微调流程、预测置信度分析、混淆矩阵可视化、错误模式挖掘及系统性偏差诊断,强调超越准确率的可解释性分析,助力构建可靠、鲁棒的AI系统。
536 13
|
机器学习/深度学习 自然语言处理 数据可视化
28_主题建模详解:从LDA到BERTopic - 深度解析与教学
主题建模(Topic Modeling)是自然语言处理(NLP)领域的核心技术之一,旨在从大量非结构化文本中自动发现潜在的主题结构和语义模式。随着大语言模型的崛起,主题建模技术也在不断演进,从传统的统计方法到基于深度学习的高级模型,为文本理解、信息检索、舆情分析等任务提供了强大的技术支撑。
2291 0
|
自然语言处理 算法 数据可视化
NLP-基于bertopic工具的新闻文本分析与挖掘
这篇文章介绍了如何使用Bertopic工具进行新闻文本分析与挖掘,包括安装Bertopic库、加载和预处理数据集、建立并训练主题模型、评估模型性能、分类新闻标题、调优聚类结果的详细步骤和方法。
NLP-基于bertopic工具的新闻文本分析与挖掘
|
自然语言处理 数据可视化 数据挖掘
BERTopic(一)基本用法
bertopic基本用法
1375 1