Review_aspect_extraction

2025-12-10 0 758

三重嵌入基于CNN的序列标记,用于提取情感分析

介绍

这是基于方面的情感分析的示例。对评论的细粒情感分析的一项导入任务是提取用户表达意见的方面或功能。

模型利用两种类型的预训练的嵌入式和词性词具 + CNN模型用于提取方面。

目前,它在餐厅评论中效果很好,但是您也可以在其他产品评论上训练自己的域嵌入和方面提取模型!

型号

该代码基于本文的“双嵌入式和CNN基于CNN的序列标签,用于提取方面提取”,Xu,H.,Liu,B.,Shu,L。,&Yu,ps(2018)。

它的原始代码可以在github/ howardhsu/中找到,并在上面显示了模型的插图。

两个嵌入是:

  1. 通用手套嵌入
  2. 域特异性嵌入(可以使用Gensim-Word2Vec创建)

在我的“三重嵌入”模型中,从CONC层的特征映射输出与单词的域嵌入域以及其词性词汇量及其词性标记器(Stanford)串联,然后将其馈送到一个完全连接的神经网络中,其中一个大小50的隐藏层。

如何使用代码

必需的Python模块:Numpy,Pytorch(有或不带CUDA),KERAS,NLTK,ETC

如果您想使用预训练的模型来评估评论文本文件,则可以跳过步骤5/6/7。

步骤1:

下载常规嵌入式(手套:http://nlp.stanford.edu/data/glove.840b.300d.zip)。将其重命名为“ gen.vec”,并将其保存在文件夹中:数据/嵌入/

步骤2:

下载餐厅域嵌入式(您可以在https://www.**cs.*uic.edu/~hxu/中找到本文标题下的链接,将它们保存在文件夹中:data/embedding/

此文件夹中的文件列表是:

  • gen.vec
  • restaurant_emb.vec
  • restaurant_emb.vec.bin

如果您想创建自己的域嵌入,则可以使用Gensim-Word2Vec来做到这一点。可以在我的回购中找到演示代码:github -yafangy/word2vec_yelp_review_embedding

步骤3:

下载并安装FastText(https://gi*thu*b.c*om/facebookresearch/fastText)。

为Python构建快速文本:

 $ git clone https://gi*thub.c**om/facebookresearch/fastText.git
$ cd fastText
$ pip install .

现在,您应该能够在Python代码中import fastText

这是为了嵌入量量表的单词(单词不在特定于域的嵌入中)。

步骤4:

从斯坦福大学自然语言处理组中下载斯坦福log-linear的语音贴标签,以将其重命名为:Stanford-posttagger-full/

步骤5:

您可以跳过此步骤。包括数据集。

将官方数据集下载到文件夹:数据/官方_data/

数据来自Semeval 2016餐厅(http://alt.**q*cri.org/semeval2016/task5/)。

我认为名称如下:

  • absa16_restaurants_train_sb1_v2.xml(用于培训)
  • en_rest_sb1_test_a.xml(用于测试)
  • en_rest_sb1_test_gold.xml(给定最佳测试结果)

步骤6:

Semeval 2016餐厅的原始数据集以.xml格式编写。

运行脚本/step1_prep.py以构建词汇字典,用于通用嵌入和域嵌入的numpy文件,并为火车/测试准备数据集。

 python3 script/Step1_prep.py

运行此脚本后,您应该期望在文件夹中生成以下文件:data/prep_data

  • word_idx.json(单词的字典出现在数据集中,将单词映射到ID号)
  • gen.vec.npy,餐厅
  • RestaurantTrain.npz,餐厅test.npz(从.xml文件中提取准备的培训/文本数据集)
  • 其他.json文件(来自.xml文件的原始文本/意见)

这些文件包含在此存储库中,因此,如果您想直接跳入培训,则可以跳过此步骤。

步骤7:

运行脚本/step2_train.py训练餐厅模型。

 python3 script/Step2_train.py

这是用户可以调整的关键参数的列表:

  • – valid:int(定义验证数据大小)
  • – epochs:int(时代数)
  • -lr:双重(学习率)
  • – Dropout:double(辍学率)
  • -crf:bool(是否使用条件随机字段)
  • – postag:bool(是否包括词性词性标签)
  • – 运行:int(默认= 5,生成5个模型文件)

模型/餐厅0中包含了预训练的模型,因此,如果您想直接跳跃以评估您的评论文本,则可以跳过此步骤。

步骤8:

然后,您可以通过GitHub中提供的代码来评估模型-Howardhsu/Double-Embeddings and CNN基于基于Aspect-Aspect-Aspect-traction的代码。这是出于测试目的,您将在“ data/ofical_data”文件夹中生成一个“ pred.xml”。要测试模型的准确性,您需要从Semeval 2016餐厅(http://alt.*q*cr*i.org/semeval2016/task5/)下载官方评估脚本,并将其保存到脚本/a.jar

在文件夹“演示/”中,有一个文件,其中包含从Kaggle数据集(Yelp DataSet | Kaggle)提取的一些Yelp评论。欢迎您输入您感兴趣的任何评论。

 python3 script/Step3_evaluation_from_input.py --demo_fn \'test.txt\' --runs 2

“ – 运行”设置为2,因为我只在此处上传了2个运行的模型。请等待几秒钟准备文本嵌入。然后,您可以从终端中的评论中查看提取的方面(彩色文本):

下载源码

通过命令行克隆项目:

git clone https://github.com/yafangy/Review_aspect_extraction.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 Review_aspect_extraction https://www.zuozi.net/33172.html

nlp_classification
上一篇: nlp_classification
Processes List
下一篇: Processes List
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务