引言
在如今竞争激烈的市场中,企业努力理解并有效解决消费者投诉。消费者投诉可以揭示各种问题,包括产品缺陷、差劲的客户服务、计费错误和安全问题。它们在企业和客户之间的反馈(关于产品、服务或体验)循环中发挥着关键作用。分析和理解这些投诉可以为产品或服务改进、客户满意度和整体业务增长提供宝贵的见解。在本文中,我们将探讨如何利用Doctran Python库来分析消费者投诉,提取见解并做出数据驱动的决策。
学习目标
在本文中,您将:
- 了解Doctran Python库及其主要功能
- 了解Doctran和LLMs在文档转换和分析中的作用
- 探索Doctran支持的六种文档转换类型,包括提取、删除、询问、精炼、总结和翻译
- 全面了解将消费者投诉的原始文本数据转化为可行动见解的方法
- 了解Doctran的文档数据结构,使用ExtractProperty类来定义提取属性的模式
本文作为数据科学博客马拉松的一部分发布。
Doctran
Doctran是一种先进的Python库,用于文档转换和分析。它提供了一组函数来预处理文本数据,提取关键信息,分类,询问,总结信息,并将文本翻译成其他语言。Doctran利用OpenAI GPT型模型和开源NLP库等LLMs(大型语言模型)对文本数据进行解析。
它支持以下六种类型的文档转换:
- 提取:从文档中提取有用的特征/属性。
- 删除:在将数据发送给OpenAI之前,从文档中删除个人可识别信息(PII),如姓名、电子邮件地址、电话号码等。它在内部使用spaCy库删除敏感信息。
- 询问:将文档转换为问答格式。
- 精炼:从文档中消除与预定义主题无关的任何内容。
- 总结:将文档表示为简洁、全面且有意义的摘要。
- 翻译:将文档翻译成其他语言。
该集成还可在LangChain框架的document_transformers模块中使用。LangChain是一个先进的构建LLM支持应用程序的框架。
LangChain提供了灵活性,可以探索和利用各种开源和闭源的LLM模型。它无缝连接到多样化的外部数据源,如PDF、文本文件、Excel电子表格、PPT等。它还支持尝试不同的提示,进行提示工程,利用内置的链式和代理,等等。
在Langchain的document_transformers模块中,有三种实现:DoctranPropertyExtractor、DoctranQATransformer和DoctranTextTranslator。它们分别用于提取、询问和翻译文档转换。
安装
可以使用pip命令轻松安装Doctran。
pip install doctran
现在,我们已经了解了doctran库,让我们使用下面的消费者投诉示例,探索doctran中可用的不同类型的文档转换。
“`
2021年11月26日
经理
客户服务部
金牛座商店
新德里 – 110023
主题:关于有缺陷的‘VIP’洗衣机的投诉
尊敬的先生/女士,
我于2022年7月15日购买了一台自动洗衣机,型号为G 24,发票编号为1598。
上周,这台机器突然停止工作,尽管我们尽了最大努力,但至今仍未恢复正常。该机器在漂洗过程完成后停止运转,给我们造成了很多问题。并且,最近一天左右,该机器还开始发出很大的噪音,给我们带来了很多不便。
请派您的技术人员来修理它,并在下周内按需更换。
期待您早日回复
真诚的
“`
将投诉加载为Doctran文档
要使用Doctran执行文档转换,首先需要将原始文本转换为Doctran文档。Doctran文档是一种优化用于向量搜索的基本数据类型。它表示了一段非结构化数据。它由原始内容和相关元数据组成。
通过在open_ai_key参数中指定OPENAI_API_KEY来实例化一个doctran对象。接下来,通过在doctran对象上调用parse()方法,将原始内容解析为doctran文档。
sample_complain = """2021年11月26日经理客户服务部金牛座商店新德里 - 110023主题:关于有缺陷的‘VIP’洗衣机尊敬的先生/女士,我于2022年7月15日购买了一台自动洗衣机,型号为G 24,发票编号为1598。上周,这台机器突然停止工作,尽管我们尽了最大努力,但至今仍未恢复正常。该机器在漂洗过程完成后停止运转,给我们造成了很多问题。并且,最近一天左右,该机器还开始发出很大的噪音,给我们带来了很多不便。请派您的技术人员来修理它,并在下周内按需更换。期待您早日回复真诚的"""doctran = Doctran(openai_api_key=OPENAI_API_KEY)document = doctran.parse(content=sample_complain)print(document.raw_content)
输出:
DocTransformers
1. 提取
Doctran的主要功能之一是从文档中提取关键属性。在内部,它使用OpenAI的函数调用来从文档中提取属性(数据点)。它使用带有8000个令牌限制的OpenAI GPT-4模型。
GPT-4,全称为Generative Pre-trained Transformer 4,是OpenAI开发的多模态大型语言模型。与其前身相比,GPT-4在解决复杂任务方面具有增强的能力。此外,它可以使用视觉输入(如图像、图表、Memes等)以及文本。该模型在各种专业和学术基准测试中取得了人类水平的表现,包括统一律师考试。
我们需要通过实例化每个要提取的属性的ExtractProperty类来定义一个模式。模式包括几个关键元素:属性名称、描述、数据类型、可选择值列表和必需标志(布尔指示符)。
在此处,我们指定了四个属性 – 类别、情感、攻击性和语言。
from doctran import ExtractPropertyproperties = [ ExtractProperty( name="Category", description="这是哪种类型的消费者投诉", type="string", enum=["产品或服务", "等待时间", "交付", "沟通差距", "人员"], required=True ), ExtractProperty( name="Sentiment", description = "评估极性/情感", type="string", enum = ["积极", "消极", "中立"], required=True ), ExtractProperty( name="Aggressiveness", description="""描述投诉的攻击性, 数字越高,攻击性越强""", type="number", enum=[1, 2, 3, 4, 5], required=True ), ExtractProperty( name="Language", type="string", description = "源语言", enum = ["英语", "印地语", "西班牙语", "意大利语", "德语"], required=True ) ]
要检索属性,我们可以在文档上调用extract()函数。该函数将属性作为参数。
extracted_doc = await document.extract(properties=properties).execute()
提取操作返回一个具有提取属性的新文档,提取的属性位于extracted_properties键中。
print(extracted_doc.extracted_properties)
输出:
2. 询问
Doctran允许我们将文档内的内容转换为问答格式。用户查询通常以问题的形式提出。因此,在使用向量数据库进行搜索时,将信息转换为问题可以提高搜索结果。从这些问题中创建索引可以实现较原始文本的索引更好的上下文检索。
要对文档进行询问,请使用内置的interrogate()函数。它返回一个新的文档,而生成的问答集合则可以在extracted_properties属性中获得。
interrogated_doc = await document.interrogate().execute()print(interrogated_doc.extracted_properties['questions_and_answers'])
输出:
3. 概述
使用doctran,我们还可以生成原始文本的简洁而富有意义的摘要。调用summarize()函数来对文档进行概述。此外,还可以通过指定token_limit来配置摘要的大小。
summarized_doc = await document.summarize(token_limit=30).execute()print(summarized_doc.transformed_content)
输出:
4. 翻译
将文档翻译成其他语言可以帮助用户在不同语言中查询知识库,或在给定语言没有最新嵌入模型时使用。
对于我们的消费者投诉案例,语言翻译对于具有多语种客户群的全球企业非常有用。使用内置的translate()函数,我们可以将信息翻译成其他语言,如印地语、西班牙语、意大利语、德语等。
translated_doc = await document.translate(language="hindi").execute()print(translated_doc.transformed_content)
输出:
结论
在数据驱动的决策时代,消费者投诉分析是一个重要的流程,可以促进产品和服务的改进,最终提高客户满意度。使用LLMs和先进的NLP工具,我们可以将原始文本数据转化为可行动的见解,推动业务增长和改善。在本文中,我们讨论了doctran,以及该库支持的不同类型的文档转换,借助消费者投诉案例的帮助。
要点
- 消费者投诉不仅仅是抱怨,还是提供关键反馈的宝贵资源,可以为企业提供重要见解。
- doctran Python库与GPT-4等大型语言模型(LLMs)一起,提供了一套功能强大的工具,用于转换和分析文档。它支持各种转换,如提取、遮盖、询问、概述和翻译。
- Doctran使用OpenAI的GPT-4模型的提取能力可以帮助企业从文档中提取关键属性。
- 使用doctran的询问功能,将文档内容转换为问答格式,可以改善上下文检索。这种方法对于构建有效的搜索索引和提供更好的搜索结果非常有价值。
- 全球客户群的企业可以从doctran的语言翻译功能中受益,使信息可在多种语言中访问。此外,它还具有生成简洁而富有意义的文本摘要的能力。
常见问题
本文中显示的媒体内容不属于Analytics Vidhya,并由作者自行决定使用。