神经网络和深度学习技术前沿:韩旭、傅群超讲座纪要

邢云

哈佛大学CBDB项目访问学者

 

       2017年9月21日,哈佛大学统计学系访问学者、北京邮电大学软件学院博士生韩旭和傅群超分别为“中国历代人物传记资料库”(CBDB)项目成员举办了有关神经网络和深度学习的讲座。

1003

关于古汉语断句的深度学习

        韩旭介绍说,神经网络的概念在上世纪40年代即已提出,通过模拟人类神经元的构造进行信息传递并建立网络。但由于当时计算机计算能力的局限,网络仅有一层,只能解决简单的问题,直到1986年科学家利用后向传播算法简化了神经网络的计算,因此神经网络由单层变为多层。2010年深度神经网络(Deep Neural Network)的出现使得利用多层神经网络解决复杂的文本问题成为可能,即计算机领域所说的自然语言处理(Natural Language Processing, NLP),包括机器翻译(Machine Translation)、文本分类(Text Summarization)、语言模型(Language Model)等等。古汉语的断句就属于一种语言模型的变体。语言模型即让机器学习人类说话的方式,预测将要出现的词汇。

       该断句模型即利用100多本不同朝代的古汉语著作的点校本训练而成,利用其预测没有标点的文章。模型名叫“条件随机场下的双向长短时记忆循环神经网络”(Bidirectional Long Short Term Memory-Recurrent Neural Network-Conditional Random Field, Bi-LSTM-RNN-CRF)。条件随机场能够增强输出结果的有效性。模仿人体神经的构造神经网络由输入层(input layer)、隐藏层(hidden layer)、输出层(output layer)三部分组成,隐藏层中进行着大部分的计算。循环神经网络(RNN)在隐藏层中存在多次循环,如下图:

1013-2.png

        Xt输入之后,隐藏层A中存在从X0开始进行的多次循环计算,并且相互连接,上一层的信息可以从隐藏层A传递到下一层。因此RNN可以解决序列问题,而文本的语序问题也正是序列问题。Bi-LSTM-RNN-CRF模型将隐藏层联系起来,前面的内容会影响到当前的输出,因此可以用来解决文本问题。长短时记忆能够让机器将前文重要的内容区分出来,例如“我今天上学迟到了,老师批评了__。”普通的RNN只能预测空格中是代词,“你我他”有同样的出现概率,但长短时记忆就能预测出这里的主语是“我”的概率更大。同样,如果后面开始说有关“你”的内容,那么机器就会降低“我”的出现概率。既能“记忆”,也能“忘记”。由于文章中有些信息是通过前后文获取的,因此双向循环就会从后往前,再循环一次模型,保证上下文的信息都对当前的字词有影响,整合后最终形成输出。

1003-2-1.png

       断句预测的具体操作包括预处理(preprocessing)、标签(tagging)、输入(word embedding)、训练模型(train model)。预处理即统一点校本的格式,只留下6个标点:句号、问号、感叹号、逗号、冒号、分号。随后利用BIO对文本进行标签——标点之前的词标为B,标点之后的字标为I,其他标为O ,方便机器学习。输入过程中的汉字以向量的形式进入模型,传统导入向量的方式为One-hot representation,缺点是可能产生维数灾难(汉字数量过大)或重新计算(新增一个汉字即改变维数),且无法反映两个词之间的互信息(例如凸显不出“读书”和“看书”的相近关系)。而采用word embedding的方法之后,每个位置都是从-1到1的一个数字,可以控制其维度,一个字代表高维向量中的一个点。从而表示两个词之间的关系,也就有了互信息。等于在输入的时候就已经为神经网络做了预处理,后面的运算也会更快。目前模型断句的准确性可以达到80%以上,断句不佳的部分主要是内容本身偏难的文言文。由于样本量的局限,机器学习的效果也与人相仿,对低难度的文言文辨识度更高。

中国慈善家项目

       傅群超则介绍了他参与的中国慈善家项目。鉴于目前的慈善榜存在原始数据不公开、数据来源不透明、行业促进不清晰等问题,该项目旨在建立一个公开、透明的慈善数据库,以呼吁更多人进行慈善捐赠、促进对于中国慈善业的学术研究以及慈善与公益行业的正规化。项目的数据来源主要从新闻和慈善组织的到账记录两方面进行获取。对于新闻的抓取主要通过网络爬虫的检索获得,步骤如下:

1003-5.png

       主要提取的信息包括捐赠者、受捐对象、时间、目标领域和数额。其中目标领域语义化程度较高,由于目前自然语言处理能够应对浅层的语言表达,还很难做到精确识别出目标领域。另外时间和数额的抓取也会涉及到其他类似信息的干扰而缺乏准确度。关于捐赠者和受捐对象,机器也只有实体识别,无法对两者进行区分。

        在初筛的过程中,发现黑名单还包括了一些发布“真新闻”的“假网站”——信息虽然真实有效,但网站本身由于没有备案而被放入了黑名单,因此又制定了可信新闻单位列表(白名单),与黑名单结合运用。随后对筛选出的文章再进行无效信息的分类,做第二步筛选,筛选的标准如附带了相关词汇但与捐赠无关的信息、多人共同捐赠、个人累计捐赠等。最后,再进行依存关系的识别,对文本进行语义角色标注:施事者(Agent)、受事者(Patient)、客体(Theme)、经验者(Experiencer)、受益者(Beneficiary)、工具(Instrument)、处所(Location)、目标(Goal)和来源(Source)等。通过这样的标签过程,可以让不识别语义的机器对信息进行处理,这些同样是通过处理序列信息效果较好的循环神经网络(RNN)进行处理。

1003-4

       关于捐赠人和受捐人的识别,即让机器将两个实体识别为A0和A1,可以采用四种方法,首先是SVM二分类法。因为数据过少,无法达到数量的需求,准确性只有63%。其次是聚类(Unsupervised Clustering Method),准确性也仅67%。第三是基于注意力的模型,将神经网络中加入注意力层(attention layer),对文本中的词汇和段落进行加权,准确性70%。最后是rule based model,首先建立高频词库,如A0包括公司、董事长等,A1包括小学、灾区、 扶贫户等。如果有匹配,直接判定。如果没有则提取特征(如与“捐赠”一词的距离),将其放入随机森林中进行识别,预计将来在经过机器学习和规则完善之后准确性能够达到87%。目前的工作即在放入随机森林之前建立更加完善的规则。由于不同的类型的样本有不同的特征,所以先人工分类样本,然后根据样本不断建立规则和更新规则,例如为“给”、“向”等介词建立新规则等,不断地对规则进行迭代、完善。