APP下载

基于神经网络中文短文本作者识别研究

2020-07-04李孟林罗文华李绍鸣

关键词:短文向量卷积

李孟林, 罗文华, 李绍鸣

(1.中国刑事警察学院网络犯罪侦查系, 辽宁沈阳 110854;2.沈阳航空航天大学人机智能研究中心, 辽宁沈阳 110136)

0 引言

文本作者的身份识别一直以来都是法庭科学的重点。通常情况下,文本作者的身份识别多数以笔迹鉴定的方式在法庭呈现。但是随着信息技术在日常生活中的普及,犯罪分子为了便利和逃避侦查以电子书写方式代替手写方式来隐藏身份,如勒索信、暴恐信、诈骗信、举报信等,在没有笔迹的情况下,如何判断文本作者显得越发迫切和重要。

随着互联网的发展,短文本大量涌现。短文本通常是指长度较短,一般在160个字符以内的电子文本,包括了微博、电子邮件、手机短信(SMS)、即时聊天记录(微信/QQ/MSN/Skype)等。由于短文本在日常生活中的普遍使用使得短文本作为电子数据证据的案例越来越多,法庭也亟需对大量的短文本进行作者识别。因此,基于短文本的犯罪嫌疑人写作习惯乃至身份特征的分析成为法庭科学日益关注的热点与难点。

文本作者的身份识别来源于作品作者识别,国际上针对此类问题的研究已经比较丰富,并积累了一定的成功经验。Shunichi Ishihara[1]借助语言模型工具,针对英文短信,利用似然比对作者进行判断;Sarah R. Boutwell[2]则针对Twitter文本语料库,为每名作者构建统计模型,实现对文本作者的识别;Monika Nawrot[3]提出了一种混合算法,通过函数为英文电子邮件的不同特征赋以不同的权重,进而识别出作者。

国内虽然对此起步较晚,但在文本作者识别方面已经进行了大量探索。武晓春等[4]依据文体学理论,充分利用功能词以外的其他词汇,提出一种新的基于词汇语义分析的相似度评估方法。年洪东等[5]使用以词汇为基础的多种统计量作为识别特征对现代文学作品进行了作者身份识别研究。祁瑞华等[6]探索性的建立了由词汇特征、浅层句法特征、深层句法特征和结构特征组成的多层面文体风格特征模型,为网络文本作者身份的自动识别提供了新的技术思路。廖志芳等[7]以HowNet为语料库,以Standford为语法解析工具,结合中文语句语义相似性以及语法相似性,提出一种基于语法语义的短文本相似度算法。卢玲等[8]基于Word Embedding文本语义扩展方法,通过构造卷积神经网络(CNN)来提取扩展文本的特征,提高了中文新闻标题分类准确性。范亚超等[9]采用降噪自编码器深度模型提取文本结构特征,通过支持向量机分类器完成作者识别,准确率最高达到了78.2%。米硕等[10]提出了一种新的基于循环神经网络(RNN)和卷积神经网络(CNN)的网络架构,对电子邮件的作者识别取得了不错的效果。

现有模型研究多是针对长文本,无法直接应用于短文本中。而短文本的模型方法均是针对特定语料库(新闻标题、微博、电子邮件),识别结果依赖于特征的选择。此外,中文与英文的巨大差异,西方国家主要以英文为应用场景的研究成果在中文应用场景下并不能很好地适用,因此研究适合于中文应用场景的网络短文本作者识别模型非常有现实意义。

1 融合多属性的作者识别系统

为了克服短文本噪声大、特征稀疏、特征提取困难等缺陷,提出融合多属性的作者识别系统。该系统思想是通过提取主谓宾结构特征、语气词特征、附属信息特征,为文本引入更多的外部特征,将短文本做一个特征延伸。利用卷积神经网络(CNN)特征提取能力强的特点,提取文本序列特征,进一步得到内部特征和外部特征相融合的文本特征表示,并将其输入双向长短时记忆网络(Bi-LSTM)[12],发挥Bi-LSTM对序列数据进行建模的优势,得到上下文关系特征的文本表示。通过注意力机制(Attention)对文本不同位置特征信息赋以不同权重,从而对短文本作者进行有效识别。融合多属性的作者识别系统架构如图1所示。

图1 融合多属性的作者识别系统架构

1.1 预处理与特征提取

通过对短文本内容进行分析,发现短文本中大量出现语气词和省略指代的情况,说明短文本虽然长度有限,但语言表达习惯却因人而异。首先,有些人在表达时习惯带上语气词,如“走,吃饭啦”,而有些人在表达时就不习惯使用语气词,如“走,吃饭”,同样的表达,即使是都使用语气词,也可能有所不同,比如“走,吃饭呀”。其次,受地域影响,有些人不按常规的主谓宾方式表达,习惯省略某一结构,甚至出现倒装,这在短文本中大量出现,如“晓不得”“晓得不”和“不晓得”的表达。最后,除文本自身外,文本的附属信息在一定程度上体现了作者的身份特征。因此,提取短文本语气词特征、短文本主谓宾特征、文本附属信息特征进行作者识别。为了提取这些特征,首先就要对短文本进行预处理,主要包括中文分词和词性标注。

中文分词就是对短文本按词切分的过程,目的是为了词性标注。例如,“他去北京了呀”经过中文分词后变成“他/去/北京/了/呀”。

词性标注就是对分词后的结果按照其上下文意思标记词性。词性包括名词(n)、代词(r)、动词(v)、形容词(a)、连词(c)、助词(u)等词性。例句词性标注后的结果如图2所示,其中“r”表示代词,“v”表示动词,“ns”表示名词中的地名,“u”表示助词。

提取短文本语气词。根据自己制定的语气词表提取出文本中语气词,语气词表如表1所示,从表1可以发现,“了”不在语气词表里,而“呀”在语气词表里,因此提取“呀”作为语气词特征:

表1 语气词表

图2 分词后词性标注的结果

提取文本主谓宾特征。利用文献[13]中使用的哈尔滨工业大学pyltp依存句法分析器提取文本的主语、谓语、宾语等文本主体结构。依存句法分析结果如图3所示,其中“HED”表示核心关系,指整个句子的核心(Root);“SBV”表示主谓关系,指“他”和“去”是主谓关系;“VOB”表示动宾关系,指“去”和“北京”是动宾关系;“RAD”表示右附加关系,指“了”、“呀”和“去”是右附加关系。根据该依存句法关系,可以提取出主语“他”,谓语“去”,宾语“北京”。

最终,例句“他去北京了呀”,经过语气词提取得到语气词“呀”,经过依存分析提取找到主语“他”,谓语“去”,宾语“北京”,最终将其转化为D={他,去,北京,呀}。

提取文本附属信息特征。短文本除了文本自身以外,通常还包含有一定附属信息,文本的附属信息也更能反映出作者的书写习惯和生活习惯,例如:文本发送频率、发送地点、发送时间、性别、年龄、输入法、系统版本号等,这里提取文本发送频率、发送地点、发送时间作为文本附属信息特征。

1.2 多属性融合

由于双向循环神经网络层是对序列数据进行建模,很难从短文本中学习到文本的有效特征,即使卷积神经网络自动提取特征能力很强,面对着长度较短的短文本也是力不从心,为此将文本的语气词特征、主谓宾结构特征、附属信息特征融合进原始文本序列,在一定程度上延长了神经网络捕获短文本特征的时间序列长度,从而能够让双向循环神经网络更充分地捕获文本特征。

首先,将文本分词并提取语气词后的短文本语义特征放入元组P中,然后将依存分析后提取的主谓宾结构特征放入元组D中,最后将短文本附属信息特征放入元组C中,C可以简单的表示为集合C={发送频率,发送地点,发送时间}。作为对比实验,一方面将该3组特征作为最大熵模型对文本进行作者识别的特征直接输入。另一方面将提取的短文本语义特征P、主谓宾结构特征D和短文本附属信息特征C做一个拼接,如公式(1):

x=P⊕D⊕C

(1)

其中⊕代表相邻两个元素的连接符,x作为神经网络的输入文本序列。通过引入文本的外部属性特征,增加了短文本的文本结构长度,从而能够让神经网络学习到更多的文本特征。

1.3 作者识别模型

在将数据特征融合的基础上,借鉴文献[14]提出的问句分类方法架构图,设置了词向量层、卷积层、双向长短时记忆网络层、注意力机制层。如图4所示,首先,将融合多属性后的短文本序列以词向量的形式来表示并输入神经网络;接下来将进入卷积层,充分发挥卷积层特征提取能力强的优势,更好的提取句子的特征,将提取的特征和分词后的文本放入循环神经网络层,循环神经网络能够很好捕获数据变化规律;接着利用注意力机制来识别文本主要特征;最后经过分类器得出作者识别结果。

图4 基于Attention的CNN+Bi-LSTM模型图

1.3.1 词向量层

首先,对输入层的中文短文本进行分词,并通过Word2Vec[15]将文本中的词转化为词向量形式,这些词向量蕴含了文本的信息,将融合后的属性信息同样进行向量化表示。接下来,在词向量层加入了文本更多的特征信息,假设文本Q包含n个单词,Q={x1,x2,…,xn},xi代表文本中的第i个词,在文本信息后边加入该文本对应的发送时间、发送频率、发送地点等特征信息。公式(2)所示,首先根据文本建立一个词典Dic,初始化一个词向量矩阵Ew来获得词向量,根据单词在词典中的位置vi,可以将词转变为词向量ei:

ei=Ewvi

(2)

其中,vi是采用独立热编码的形式,在模型训练过程中不断更新。经过这个步骤,文本将以embeddingsQ={e1,e2,…,en}的形式进入下一层网络。

1.3.2 卷积层

在经过词向量层后,每个文本t可以表示成如下形式,其中T为句子长度:

t=[e1,e2,…,en]T

(3)

卷积过程中每次选取不同维度的卷积核提取文本中的特征,每次特征提取可以由卷积核在文本上进行一次卷积操作,每次选取窗口大小为m的核对文本t进行如下操作:

ci=f(whi:i+m-1+b)

(4)

其中w是过滤器,hi:i+m-1是词向量,b是一个偏置项,f是一个非线性函数,文本最后被表示为:

c*=[c0,c1,…,cn-m]

(5)

1.3.3 双向长短时记忆网络层

长短时记忆网络主要由3部分构成:(1)输入门;(2)输出门;(3)遗忘门。长短时记忆网络通过“门”的结构让信息有选择性地影响循环神经网络中每个时刻的状态,使用sigmoid函数(σ)作为激活函数的全连接神经网络层会输出一个0到1之间的数值,描述当前有多少信息量可以通过这个结构。输入门决定哪些信息加入到当前状态来生成新的状态信息,遗忘门的作用是让网络“忘记”之前没有用的信息,神经网络在得到新状态后产生新的输出是通过输出门完成的。不妨设输入门(it)的权重矩阵为Wxi、Whi、Wci、bi;遗忘门(ft)的权重矩阵为Wxf、Whf、Wcf、bf;输出门(ot)的权重矩阵为Wxo、Who、Wco、bo;候选信息(gt)的权重矩阵为Wxc、Whf、Wcc、bc。在t时刻,当前时刻网络的输入值为xt,上一时刻LSTM的输出值为ht-1,以及上一时刻的单元状态为ct-1,而当前时刻LSTM输出值是ht,bi、bf、bo、gt分是输入门、遗忘门、输出门以及候选信息的偏置项,具体每个“门”的公式定义如下:

it=σ(Wxixt+Whiht-1+Wcict-1+bi)

(6)

ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)

(7)

gt=tanh(Wxcxt+Whfht-1+Wccct-1+bc)

(8)

ct=itgt+ftct-1

(9)

ot=σ(Wxoxt+Whoht-1+Wcoct+bo)

(10)

ht=ottanh (ct)

(11)

因此,当前结构单元状态是由之前单元状态的权重和当前单元所生成的当前信息决定。在经典的循环神经网络中,状态的传输是从前往后单向传递,只考虑到上文中的信息,而忽略了下文中的信息。Bi-LSTM由两个单向的循环神经网络结合,每一时刻的输入会提供两个相反的循环神经网络,这样每一时刻的输出,都考虑到上下文信息。

1.3.4 注意力机制层

为了更好的捕捉文本中的有效信息,抓住文本重点信息,本文在作者识别模型中加入了注意力机制,该注意力机制的权重矩阵通过如下公式得到:

M=tanh (H)

(12)

α=softmax (wTM)

(13)

r=HαT

(14)

其中,H表示由上层Bi-LSTM网络输出向量所组成的矩阵,wT是一个参数向量。向量矩阵H通过tanh函数得到隐层表示M,M和wT通过softmax函数得到权重矩阵α。在向量矩阵H的基础上乘以该权重矩阵,就得到了句子的文本的表示r。最后用于识别文本作者的向量c*表示如下:

c*=tanh (r)

(15)

1.3.5 分类器

这一层网络结构,使用softmax分类器,在y中预测x所属的作者,w是参数向量,b是偏置项,分类器利用隐藏状态c*作为输入:

p(y|x)=softmax (Wc*+b)

(16)

y=arg maxp(y|x)

(17)

损失函数如下:

(18)

其中,t是one-hot表示,m是作者的数量,y代表估计每个作者的概率,θ表示正则化参数。

2 实验研究

2.1 实验数据

研究采用新加坡国立大学收集的短信库(NUS SMS Corpus),使用2015.03.09版本进行,该版本包含有31 465条中文短信,分别归属于594位作者。每条短信都伴随有相应的附属信息,例如:date(发送日期)、time(时间)、text(内容)、UserID(发送人唯一识别号)、manufactuer(手机厂商)、age(年龄)、sex(性别)、city(发送短信时所在的城市)、experience(手机使用时间)、frequency(每天发送短信的数量)、inputMethod(输入法)等。

2.2 实验设置

为使实验结果更具有普遍性,从实验数据中随机抽取80%作为训练集,其余20%作为测试集,采用机器学习方法中最大熵模型作为对比模型。实验设置2组对照实验。第1组分别采用最大熵模型和神经网络模型进行对比,第2组对神经网络模型和融合后的神经网络模型进行对比。第1组设置4个模型,分别是最大熵模型、长短期记忆神经网络(LSTM)、卷积神经网络+长短期记忆神经网络(CNN+LSTM)、卷积神经网络+长短期记忆神经网络+注意力机制(CNN+LSTM+Attention)。第2组设置3个模型,这3个模型均是在融合多属性情况下进行的,分别是LSTM、CNN+LSTM、CNN+LSTM+Attention。

本次实验最大熵模型选取7个特征,分别是短文本的主语、谓语、宾语、语气词、发送时间、发送频率、发送地点,最大熵模型中的参数估计使用 GIS 算法,迭代100次后结束。由于文本长度较短,本次实验在卷积层设置窗口大小为3,在训练时使用随机梯度下降算法,batch_size大小设置为50,droupout rate 设置为 0.5,epoch大小设置为1 000,使用的词向量是谷歌通过Word2Vec预先训练好的包含1 000亿词汇量的谷歌新闻语料。

2.3 评价指标

采用3个评价指标对本次实验结果进行评价,即准确率(P)、召回率(R)、F1值(F1),计算公式如下:

(19)

(20)

(21)

2.4 结果分析

相同数据集在融合多属性前后对比实验的准确率、召回率、F1值如表2、表3所示。

表2 数据集在融合多属性前各个模型实验的准确率、召回率、F1值

表3 数据集在融合多属性后各个模型实验的准确率、召回率、F1值

(1)通过对比最大熵和Bi-LSTM模型的实验结果可知,结合上下文信息的Bi-LSTM模型比传统的最大熵模型更优,说明深度神经网络捕获了更深层次文本特征,F1值提高了3.35%。

(2)通过对比Bi-LSTM和CNN+Bi-LSTM模型的实验结果可知,CNN层很大程度上获取了短文本的内部语义特征,F1值提高了30.86%。

(3)通过对比CNN+Bi-LSTM和CNN+Bi-LSTM+Attention模型实验结果可知,引入注意力机制,很大程度上获取了句子不同位置的特征信息。F1值提高了1.93%。

(4)通过对比Bi-LSTM和融合多属性的Bi-LSTM模型实验结果可知,融合多属性的Bi-LSTM捕获到了引入的文本外部特征,F1值提高了0.86%。

(5)通过对比CNN+Bi-LSTM模型实验结果可知,融合多属性的CNN+Bi-LSTM,融合多属性的CNN+Bi-LSTM模型聚焦于文本序列深层次的语义特征。尽管F1值仅提高了0.01%,但实验的准确率提高了0.86%。

(6)通过对比CNN+ Bi-LSTM +Attention和融合多属性的CNN+ Bi-LSTM +Attention模型的实验结果可知,通过引入外部属性特征,文本序列融入了更多的特征信息,Attention机制的加入,让模型更多聚焦于文本不同位置特征信息。模型的准确率、召回率、F1值分别提高了1.24%、1.62%、1.43%。

3 结语

本文提出了融合多属性的神经网络中文短文本作者识别方法,通过对短文本语气词特征、主谓宾结构特征的提取,结合文本发送时间、发送位置、年龄、发送频率等附属信息特征,使用最大熵模型与传统的神经网络模型进行作者识别的对比实验,在此基础上采用了融合多属性的神经网络模型进一步提高了实验的准确率,在实验数据集上验证了融合多属性的神经网络方法的有效性。

猜你喜欢

短文向量卷积
向量的分解
基于3D-Winograd的快速卷积算法设计及FPGA实现
聚焦“向量与三角”创新题
卷积神经网络的分析与设计
从滤波器理解卷积
KEYS
Keys
基于傅里叶域卷积表示的目标跟踪算法
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线