Doctran 和 LLM:分析消费者投诉的强大组合

介绍

在当今竞争激烈的市场中,企业努力有效地了解和解决消费者投诉。消费者投诉可以揭示广泛的问题,从产品缺陷和糟糕的客户服务到计费错误和安全问题。它们在企业与其客户之间的反馈(关于产品、服务或体验)循环中起着至关重要的作用。分析和理解这些投诉可以为产品或服务改进、客户满意度和整体业务增长提供有价值的见解。在本文中,我们将探讨如何利用 Doctran Python 库来分析消费者投诉、提取见解并做出数据驱动的决策。

Doctran

Doctran 是一个最先进的 Python 库,专为文档转换和分析而设计。它提供了一组函数来预处理文本数据、提取关键信息、分类/分类、查询、汇总信息以及将文本翻译成其他语言。Doctran 利用 LLM(大型语言模型),例如基于 OpenAI GPT 的模型和开源 NLP 库来剖析文本数据。

它支持以下六种类型的文档转换:

  1. 提取:从文档中提取有用的功能/属性。

  2. 编辑:在将数据发送到 OpenAI 之前,从文档中删除个人身份信息 (PII),例如姓名、电子邮件 ID、电话号码等。在内部,它利用 spaCy 库来删除敏感信息。

  3. 审问:将文档转换为问答格式。

  4. 完善:从文档中删除与一组预定义主题无关的任何内容。

  5. 总结:将文档表示为简明、全面和有意义的摘要。

  6. 翻译:将文档翻译成其他语言。

该集成也可在 LangChain 框架 document_transformers 模块内使用。LangChain 是一个尖端的框架,用于构建 LLM 驱动的应用程序。

LangChain 提供了探索和利用各种开源和闭源 LLM 模型的灵活性。它允许无缝连接到各种外部数据源,例如 PDF、文本文件、Excel 电子表格、PPT 等。它还能够尝试不同的提示、参与提示工程、利用内置链和代理等。

在 Langchain 的 document_transformers 模块中,有三种实现:DoctranPropertyExtractor、DoctranQATransformer 和 DoctranTextTranslator。它们分别用于提取、询问和翻译文档转换。

安装

Doctran 可以使用 pip 命令轻松安装。

pip install doctran

了解了 doctran 库之后,现在让我们使用下面用三重反引号 (“`) 括起来的消费者投诉来探索 doctran 中可用的不同类型的文档转换。

“`

十一月26 2021

经理

客户服务部

金牛座商店

新德里 – 110023

主题:关于“VIP”洗衣机有缺陷的投诉

尊敬的先生,

我于 2022 年 7 月 15 日购买了一台自动洗衣机,型号为 G24,发票编号为 1598。

上周,这台机器突然停止工作,尽管我们付出了一切努力,但从那时起就没有工作过。漂洗过程完成后机器停止运行,导致很多问题。此外,从过去一天左右开始,机器也开始发出很大的噪音,给我们带来了不便。

请派您的技术人员进行维修,如果需要,请在下周内更换。

希望早日得到回应

你真的

“`

将投诉加载为 Doctran 文档

要使用 doctran 执行文档转换,首先我们需要将原始文本转换为 doctran 文档。 doctran 文档是一种针对向量搜索进行优化的基本数据类型。它表示一段非结构化数据。它由原始内容和关联的元数据组成。

通过在 open_ai_key 参数中指定 OPENAI_API_KEY 来实例化 doctran 对象。接下来,通过调用 doctran 对象顶部的 parse() 方法,将原始内容解析为 doctran 文档。

sample_complain  = """

November 26, 2021

The Manager
Customer Service Department
Taurus Shop
New Delhi – 110023

Subject: Complaint about defective ‘VIP’ washing machine


Dear Sir,

I had purchased an automatic washing machine on 15 July 2022, 
model no. G 24 and the invoice no. is 1598.

Last week, the machine stopped working abruptly and has not been working 
since then despite all our efforts. 
The machine stops running after the rinsing process is completed, 
causing a lot of problems. 
Moreover, the machine since the last day or so has also started making loud noises,  
creating inconvenience for us.

Please send your technician to repair it and if needed get it replaced within the following week.

Hoping for an early response

Yours truly
"""

doctran = Doctran(openai_api_key=OPENAI_API_KEY)
document = doctran.parse(content=sample_complain)
print(document.raw_content)

输出:

DocTransformers 公司

1. 提取

doctran 的主要功能之一是从文档中提取关键属性。在内部,它利用 OpenAI 函数调用从文档中提取属性(数据点)。它使用 OpenAI GPT-4 模型,代币限制为 8000 个代币。

GPT-4 是 Generative Pre-trained Transformer 4 的缩写,是 OpenAI 开发的多模态大型语言模型。与其前辈相比,GPT-4 表现出处理复杂任务的增强能力。此外,它可以在文本旁边使用视觉输入(如图像、图表、模因等)。该模型在各种专业和学术基准上都达到了人类水平的表现,包括统一律师考试。

我们需要通过实例化要提取的每个属性的 ExtractProperty 类来定义一个架构。架构包含几个关键元素:属性名称、说明、数据类型、可选值列表和必需标志(布尔指示器)。

在这里,我们指定了四个属性——类别、情绪、攻击性和语言。

from doctran import ExtractProperty
properties = [
    ExtractProperty(
        name="Category", 
        description="What type of consumer complaint this is",
        type="string",
        enum=["Product or Service", "Wait Time", "Delivery", "Communication Gap", "Personnel"],
        required=True
        ),
    ExtractProperty(
        name="Sentiment", 
        description = "Assess the polarity/sentiment",
        type="string",
        enum = ["Positive", "Negative", "Neutral"],
        required=True
        ), 
    ExtractProperty(
        name="Aggressiveness", 
        description="""describes how aggressive the complaint is, 
        the higher the number the more aggressive""",
        type="number",
        enum=[1, 2, 3, 4, 5],
        required=True
        ),   
    ExtractProperty(
        name="Language", 
        type="string",
        description = "source language",
        enum = ["English", "Hindi", "Spanish", "Italian", "German"],
        required=True
        )         
]

要检索属性,我们可以在文档上调用 extract() 函数。此函数将属性作为参数。

extracted_doc = await document.extract(properties=properties).execute()

提取操作将返回一个新文档,该文档 extracted_properties 键中提供了属性。

print(extracted_doc.extracted_properties) 

输出:

2. 审讯

Doctran 允许我们将文档中的内容转换为问答格式。用户查询通常表述为问题。因此,为了在使用矢量数据库时改进搜索结果,将信息转换为问题可能会有所帮助。与索引原始文本相比,从这些问题创建索引可以更好地检索上下文。

要查询文档,请使用内置的 interrogate() 函数。它返回一个新文档,生成的 Q&A 集 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)

输出:

结论

在数据驱动的决策时代,消费者投诉分析是一个至关重要的过程,可以改进产品和服务,并最终提高客户满意度。使用 LLM 和高级 NLP 工具,我们可以将原始文本数据转换为可操作的见解,从而推动业务增长和改进。在本文中,我们讨论了 doctran,这是该库在消费者投诉的帮助下支持的不同类型的文档转换。

关键要点

● 消费者投诉不仅是不满,也是宝贵的反馈来源,可以为企业提供重要的见解。

● doctran Python 库以及 GPT-4 等大型语言模型 (LLM) 为转换和分析文档提供了强大的工具集。它支持各种转换,例如提取、编辑、询问、汇总和翻译。

● Doctran 使用 OpenAI 的 GPT-4 模型的提取功能可以帮助企业从文档中提取关键属性。

● 使用 doctran 的询问功能将文档内容转换为问答格式可改善上下文检索。这种方法对于构建有效的搜索索引和促进更好的搜索结果很有价值。

● 拥有全球客户群的企业可以从 doctran 的语言翻译功能中受益,使信息以多种语言访问。此外,它还提供了生成简明而有意义的文本内容摘要的能力。

常见问题

Q1:Doctran Python 库的主要目的是什么?

答:doctran Python 库的主要目的是执行文档转换和分析。它提供了一组功能来预处理文本数据、提取有价值的信息、对内容进行分类和分类,以及将文本翻译成不同的语言。它使用大型语言模型 (LLM),如 OpenAI 基于 GPT 的模型来剖析文本数据。

Q2:如何使用 Doctran 从文档中提取关键属性,它可以提取哪些属性示例?

答:Doctran 可以使用 OpenAI 的 GPT-4 模型从文档中提取关键属性。这些属性在架构中定义,可以使用 extract() 函数进行检索。一些例子是从原始文本中提取类别、情绪、攻击性、语言。

Q3:将文档内容转换为问答格式有什么好处,如何使用 Doctran 实现这一点?

答:使用 Doctran 的询问功能将文档内容转换为问答格式可以改善信息检索。与索引原始文本相比,它允许更好的上下文检索,使其更适合搜索引擎。内置的 interrogate() 函数将文档转换为问答格式,从而增强搜索结果。

Q4:为什么语言翻译在消费者投诉分析中很重要,Doctran 如何支持此功能?

答:语言翻译在消费者投诉分析中至关重要,特别是对于拥有多语言客户群的企业。此功能可确保全球受众可以访问信息。Doctran 支持使用内置的 translate() 函数进行语言翻译,使文档能够翻译成各种语言,例如印地语、西班牙语、意大利语、德语等。
 


非常感谢大家的阅读,小Mo在这里祝你在末来的 Python 学习职业生涯中一切顺利! 后续小Mo会不定期更新书籍、视频等学习资源,以上这些书籍资料也可通过关注微信公众号免费获取哦! 欢迎关注我们的微信公众号:MomodelAl 同时,欢迎使用「Mo AI编程」微信小程序 以及登录官网,了解更多信息:Mo 人工智能教育实训平台 Mo,发现意外,创造可能 注:部分资源来源于互联网,若有侵权,请直接联系作者删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值