项目概述
实体 +意见(方面)从客户服务评论中提取,以及针对真实带注释的标签的评估。
数据集:
- 描述: Yelp客户服务餐厅评论
- 名称:
train.csv - 内容: CSV文件包含两列(评论,情感/意见/上方标签)
- 注意:仅分析了原始评论。情绪/意见标签被忽略了,因为该法规的目的是找到提取它的改进方法。
- 注意:此文件仅用于EDA。
真正的标签
- 该数据集未接受人类注释来生成真实标签。
- 创建了一个
sample_review.csv文件(包含单个带注释的审查),以比较true-vs-pred标签。
项目部分:
第一部分 - EDA
第二部分 - 实体意见元组提取
该模块关注的是提取被审查的实体(例如,“食物”)以及审稿人对实体的看法(例如,“有点好吃”)。
第三部分 - 评估
该模块与对地面真相注释的实体开放元组提取的评估有关。
EDA:初始和一般见解
- 审查: 1121
- 情感: 〜60%(POS); 〜20%(中性); 〜20%(负)大多数人就其用餐体验表现出积极的情绪。

- 单词长度:大约50%的评论长6-15个令牌。大多数人不花时间写“非常彻底的”评论。

- Extended EDA - Additional NLP techniques that can be used for gaining insights: Q&A model, WordCloud, N-gram frequency count (after stopwords removal), fuzzy matching, exact/partial matching (stopwords, morphological prefixes and suffixes), clustering algorithms (lexicosyntactic, semantic), sentiment, polarity, aspect and sentiment combined, NER, distinction into食品/饮料,分为饭菜类型(早餐,午餐,晚餐),基于二进制POS的代币(形容词与休息)的区别,副词增强剂分析,句法依赖分析,点标点分布(类型,二进制,二进制,与情感结合)。
代码
- EDA-请参阅
EDA.ipynb文件 - 实体意见提取 + true-VS-PRED评估。 -项目(
.py模块)
指示
运行main.py模块
笔记:
- 确保创建一个
.env文件以存储您的OpenAI API密钥。 - 使用以下格式:
OPENAI_API_KEY = "your_openai_api_key"
实施和替代方案:
EDA
简单的方法(快速,仅提供数据的初始宏观视图)
- 单词计数的分布(绝对和归一化),以衡量整体评论的总长度。
- 字云
更深入的理解
从词典句法转变为语义 - 语法界面方法
实体开口提取
- NER模型仅限于一组受过训练的实体,这些实体并未反映所有领域中可能的全部实体(例如餐厅评论)。他们需要一个繁琐的注释,审查和培训的过程。
- 问答模型主要是在一组特定问题和数据集上培训的,并且比LLMS可能会有更多的I和II错误。
及时的工程
重点是以下内容:
- 婴儿床(思想链)
- 几乎没有学习
- 系统/用户/助手角色区分
- 放心模型
评估方法:针对地面真相注释的LLM提取
BERT句子转换器使用余弦相似性测量语义文本相似性。
在测试了真实VS预测的实体和观点(方面)的各种语言变化之后,设定了0.85的阈值,以接受该模型的预测到生产中。
评估替代方案
句子转换器与基于规则的解决方案以及
将复杂的方法(例如句子转换者)与传统的基于规则的方法相结合,以增强结果的有效性。
例如,基于变压器的解决方案与句法依赖解析,POS和NER(语言特征)相结合,可以帮助确保“餐厅”和“餐厅”被认为是相同的(与确定者/确定者)相同,而不是上面的“美味”和“有点美味的”示例。
传统分类指标(召回,精度,F1得分,准确性)
在这种情况下,更传统的分类指标(召回,精度,F1得分,准确性)的相关性较小。
许多混乱的矩阵组件与整个综述中的一个单词/短语的二进制分类任务无关(一次是用于实体识别,一次是在方面)。这使得无法计算其中一些指标。
此外,这些指标无法完全捕获受形容词/名词修饰符和副词强化器的包含/去除的影响的微小语义。以“美味”与“有点好吃”。
此外,这提出了一个问题,即在使用召回,精度,F1得分和准确性时是否要考虑到诸如此类的部分匹配。
传统的基于N-Gram的指标(词典句法相似性)
但是,我确实相信,可以使用基于N-Gram的传统指标来建立基准:
- BLEU(以精度为中心)
- 胭脂(以召回为中心)
- 流星(计算精度的谐波平均值,并以对单词顺序和短语差异的惩罚以及召回)
溶液生产的生存能力
尽管它确实需要进行更彻底的测试,但是用于测量Bert句子转换器嵌入语义文本相似性以及相对严格的阈值(应该大多应考虑到形容词/名词修饰符和副词强度的存在)之间的余弦相似性方法可能在生产环境中起作用。
生产环境也有其他考虑因素,例如延迟,计算时间,在服务器上托管重型模型以及额外的成本。