Reasoning with Sarcasm by Reading In-between读书笔记

发表于ACL2018

讽刺检测对于情感分析等任务非常重要,因为对于讽刺的句子往往会得出相反的情感结论。以往方法依赖LSTM等compositional模型,不利于句内词语关系的发现。本文认为讽刺的出现往往伴随某些相反极性的词语出现,因此建模词语间的关系非常重要。

模型:

    首先过embedding layer得到word embedding,然后计算两两词语间的匹配度得到匹配矩阵,再对于每个词用max-pooling后得到匹配向量,softmax归一化后作为权重对整个句子加权平均得到句子表示。

    上述表示没有compositional信息,本文再利用LSTM取最后的表征作为第二个表示。

    将上述两个表示拼接,过全连接网络输出预测结果。

 

notes:

    直接对word embedding计算相似度矩阵而不是先过LSTM再计算,因为LSTM后可能导致相邻词语表征非常相近,即使他们原本是反义词。直接对word embedding计算相似度能更好捕捉词语原来的关系。

"Fact-Checking Complex Claims with Program-Guided Reasoning" 是一种利用计算机程序辅助分析和验证复杂声明的技术,通常涉及到自然语言处理、机器学习和推理算法的结合。这种研究旨在创建系统,能够理解文本并评估其中信息的真实性。 代码复现这类技术通常需要以下步骤: 1. 数据收集:首先,需要收集包含真实和虚假声明的数据集,比如新闻文章、社交媒体帖等。 2. **模型设计**:基于深度学习(如BERT、RoBERTa等预训练模型),构建事实核实模型。这可能包括编码文本、提取特征、然后连接到分类层进行判断。 ```python from transformers import RobertaTokenizer, RobertaForSequenceClassification tokenizer = RobertaTokenizer.from_pretrained('roberta-base') model = RobertaForSequenceClassification.from_pretrained('roberta-base', num_labels=2) ``` 3. **训练**:使用标注好的数据对模型进行监督训练,优化模型参数以辨别真假陈述。 ```python train_encodings = tokenizer(train_texts, truncation=True, padding='max_length') outputs = model(**train_encodings) loss = outputs.loss loss.backward() optimizer.step() ``` 4. **推理**:对于新的声明,应用训练好的模型进行预测,并输出可信度分数或直接的事实判断。 5. **评估**:通过准确率、召回率、F1分数等指标评估模型性能。 代码的具体实现会依赖于使用的框架(如PyTorch或TensorFlow)、库(如Hugging Face Transformers)以及可用的开源代码库。复现此类工作时,还需要注意版权和数据隐私的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值