NLP
BeforeEasy
这个作者很懒,什么都没留下…
展开
-
一个简单的英文自然语言处理流程
以细粒度情感分析为例,每条语句有三行:句子-aspect-情感极性,分为train和test两个数据集。整体流程tokennizer: 处理分词,以空格分开,建立word2id,id2word词典embedding:查找预训练的词向量,将每个单词对应的词向量组成词典,未知词另作处理填充语句:将训练和测试语句先转化为tokenid中的word2id,再padding到最大长度然后就可以走模型的部分进行训练了tokennizer入口: 初始调用函数,指定数据集、最大长度 – build_to原创 2020-07-07 10:31:04 · 760 阅读 · 0 评论 -
【论文翻译】Issues and Challenges of Aspect-based Sentiment Analysis: A Comprehensive Survey
Issues and Challenges of Aspect-based Sentiment Analysis: A Comprehensive Survey细粒度情感分析的问题和挑战:综述。ps:写综述就写综述,能不能别用这么多复杂从句,真的,没意义……翻译的很不好…aspect通常会翻译成属性 也不知道够不够准确超级长 一万多字摘要随着社交媒体上公共反馈越来越多,细粒度情感分析领域越来越受到关注,包括aspect提取,aspects情感分析以及随着时间地情感变化。这个领域快速发展,迫使研究原创 2020-06-24 20:03:33 · 2053 阅读 · 9 评论 -
【论文阅读】Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence
Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence这篇论文主要是通过用aspect构造辅助句子,将ABSA问题转成sentence-pair分类任务,模型就是用了bert,然后再sentihood和semeval2014 task4上都取得了很好的结果简介这篇文章的问...原创 2020-04-05 16:46:23 · 3044 阅读 · 5 评论 -
朴素贝叶斯推导
先导说明我们经常用MLE最大似然来构造模型的目标函数,最大似然的目的是让观测到的数据概率最大,所以最大化的就是训练数据的概率。而MAP后验是在观测数据之上又加上了先验概率,要让模型符合先验概率。当数据足够多的时候,MAP趋近于MLE。求极值最容易想到的方法是求导置零。贝叶斯定理:也就是联合概率P(A,B)=P(B,A)=P(A|B)*P(B)=P(B|A)*P(A)朴素贝叶斯是生成...原创 2020-02-12 15:46:35 · 788 阅读 · 0 评论 -
【论文阅读】 Aspect Based Sentiment Analysis with Gated Convolutional Networks
Aspect Based Sentiment Analysis with Gated Convolutional NetworksAbstract把细粒度情感分析分为两种,ACSA(给定一系列aspect,判断句子对aspect的情感极性)和ATSA(对句子中出现的taget,判断句子对target的情感极性)。之前的方法大多数使用LSTM和attention,模型复杂训练时间长。文章提出一个...原创 2019-12-05 11:47:41 · 1071 阅读 · 0 评论 -
【论文阅读】Attention-based LSTM for Aspect-level Sentiment Classificatio
Attention-based LSTM for Aspect-level Sentiment Classificatio这是一篇还算经典的早期用LSTM+Attention解决细粒度情感分析的文章,2016 年发表在EMNLP 上。文章指出一个句子的情感类别是受不同aspect 的影响的,举例来说,在句子“The appetizers are ok, but the service issl...原创 2019-11-19 15:27:38 · 675 阅读 · 0 评论 -
python 最大匹配分词
参考博客参考博客# given a dictli = ["北京大学","生前","来","应聘","大学生","前来","北京"]dic = {w:i for i,w in enumerate(li)}print(dic) forward max matching窗口从前面开始滑动,每次取maxlength匹配不上也是舍弃后面的# forward max matching# ...原创 2019-11-04 11:46:46 · 962 阅读 · 0 评论 -
python实现分词(普通&维特比算法)
普通方法思路:读入词典中的词,每个词对应一个概率;读入句子,得到所有可能的句子的划分,返回unigram得分最大的一个分割;其中得到所有可能的分割采用递归的方法,当前词在词典中,就继续递归划分后半段;概率原理:P(x1,x2,x3,xn)=P(x1)* P(x2)*…*P(xn)可以转化成-log的加法,返回最小值代码:#切割代码def seg_all(string):# ...原创 2019-11-03 23:13:11 · 1859 阅读 · 4 评论 -
信息、熵、信息增益、基尼指数
信息信息是用来消除随机不确定性的东西,放在机器学习的语境里是这样的,每个类xi的信息为:I表示信息,p(xi)表示指xi的概率熵熵是对随机变量不确定性的度量,是信息的期望值熵只依赖于随机变量的分布,和其取值没有关系熵是用来度量不确定的,所以熵越大,X=xi的不确定性越大给了样本集合D后,其经验熵为:k表示有k个分类,|CK|为样本集中属于K类的样本数条件熵在一个条件下,随...原创 2019-04-18 15:07:05 · 773 阅读 · 0 评论 -
Windows python3 sklearn 决策树可视化参数及中文乱码
需要安装graphviz,简单的pip install 之后,执行却一直报“无法找到文件”最后只好手动安装,在graphviz官网(https://graphviz.gitlab.io/_pages/Download/Download_windows.html) 找到windows的对应版本wheel文件,安装后修改系统用户变量path,将安装路径:F:\graphviz\bin 添加到path...原创 2019-04-11 14:29:04 · 1731 阅读 · 0 评论 -
实现CNN for sentence classfication
论文: Convolutional Neural Networks for Sentence Classification将每个词取出词向量的形式,作为卷积的输入。通过filter获取不同的特征,经过池化和全连接,用softmax求出概率,进行分类仍然是简化文本处理的部分,只用6个句子作为全部训练语句,同时batch_size =6三部分parameters计算卷积池化全连接的主体...原创 2019-02-27 20:57:57 · 313 阅读 · 0 评论