温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
计算机
文本
分析
算法
发展
综述
孙静含
www.ChinaAET.comReview and Comment综述与评论计算机文本分析算法发展综述孙静含1,任静2(1.北京工业大学,北京 100124;2.中国电子信息产业集团第六研究所,北京 100083)摘 要:计算机文本分析是自然语言处理领域的一个重要分支,是研究如何在文本数据中提取出给定语料的各类信息的计算机技术。目前,计算机文本分析已经进入了新的历史阶段,一方面关键词提取算法已经逐渐完备,另一方面随着 BERT 方法的出现,词向量计算问题也取得了极大的进步。但是,无论是关键词提取还是词向量计算都仍存在一些有待解决的问题。另外,现有的许多适合使用文本分析的研究仍在使用早期的文本分析方法。因此在未来,如何更好地降低模型尺寸以促进学科融合、提升文本分析的综合社会效益,成为文本分析算法发展的重要问题。关键词:文本分析;自然语言处理;算法中图分类号:TP181 文献标志码:A DOI:10.16157/j.issn.0258-7998.223117中文引用格式:孙静含,任静.计算机文本分析算法发展综述J.电子技术应用,2023,49(3):42-47.英文引用格式:Sun Jinghan,Ren Jing.A survey of the development of computer text analysis algorithmsJ.Application of Electronic Technique,2023,49(3):42-47.A survey of the development of computer text analysis algorithmsSun Jinghan1,Ren Jing2(1.Beijing University of Technology,Beijing100124,China;2.The Sixth Research Institute of China Electronics Corporation,Beijing 100083,China)Abstract:Computer text analysis is an important branch in the field of natural language processing,and it is a computer technology that studies how to extract various types of information from a given corpus from text data.At present,computer text analysis has entered a new historical stage.On the one hand,the keyword extraction algorithm has gradually been completed.On the other hand,with the emergence of the BERT method,the word vector calculation problem has also made great progress.However,there are still some problems to be solved in both keyword extraction and word vector calculation.In addition,many existing studies suitable for using text analysis still use ancient text analysis methods.Therefore,in the future,how to better reduce the model size to promote the integration of disciplines and improve the comprehensive social benefits of text analysis will become an important issue in the development of text analysis algorithms.Key words:text analysis;natural language processing;algorithm0 引言计 算 机 文 本 分 析 是 自 然 语 言 处 理(Natural Language Processing,NLP)领域的一个重要分支,是指对文本数据或语料库内的语料进行分析,最终提取出给定语料的各种信息,包括关键词、词向量等内容的计算机技术,在一些文献中也将这一领域的相关技术纳入自然语言处理预训练技术之中12。文本分析最早起源于 20 世纪 5060 年代,这一阶段的研究重点是如何对语言规则进行设定3。到 20 世纪 70 年代,随着语料库的丰富和硬件设备的进步,文本分析技术开始融合机器学习算法,并得到了快速发展4。进入 21 世纪之后,深度学习方法被运用到文本分析之中,诞生了诸如 Word2Vec、BERT 等技术,进一步提高了文本分析的应用场景。在可以预见的未来,传统的基于数字数据的分析方法将逐渐无法满足越发庞杂的应用需求,文本分析和其所属的自然语言处理领域将会是一个愈发重要的发展方向。1 文本分析的基础1.1 分词分词是中文等亚洲语言的特有的问题,早在 20 世纪80 年代中期就已经开始了中文分词方法的相关探索,并出现了一些早期的分词系统5。1998 年,北京航空航天大学推出了新一代分词系统 CASS,该系统使用正向增42Review and Comment综述与评论电子技术应用 2023年 第49卷 第3期字最大匹配系统,使用知识库来处理歧义字段,实现了150 字/秒的分词速度67。截至目前,有三种主要的分词方法,第一种是基于字符串匹配的分词法,该方法是用待分析文本与一个词典进行匹配,若在词典中找到了该词,则视为匹配成功。依照扫描方法和匹配长度分为正向/逆向/双向最大/最小匹配89;第二种是基于理解的分词法,该方法通过计算机模拟人对句子的理解,以达到分词效果,以此为基本思路诞生了专家系统分词法和神经网络分词法1011;第三种是基于统计的分词法,该方法把每个词看作字的组成,相邻的字在语料库中出现的次数越多,就越可能组成一个词1213,该方法使用隐马尔科夫(Hidden Markov Model,HMM)或随机条件场(Conditional Random Field,CRF)进行概率计算。现如今,比较常用的分词方法是基于 Python 的 Jieba 分词技术14,该技术本身含有一个由人民日报等语料库训练出来的包含 20 000 多个中文单词的词典,首先用该词典生成前缀树进行词图扫描,用所有可能的分词情况构建有向无环图(Directed Acyclic Graph,DAG);通过 DAG和逆向最大匹配法原理,利用动态规划算法查找最大概率的切分组合;如果出现了未登录词,则使用 HMM 模型预测可能的分词方法1516。目前,虽然中文分词技术已经趋于成熟,但也仍面临粒度选择(分词长度)、分词歧义和未登录词识别的问题1718。Jieba 分词将基于字符串匹配的分词方法和基于统计的分词方法相结合,一定程度地减少了未登录词识别的问题,但分词歧义仍是中文分词中的难题。1.2 词根获取与词性标注在印欧语系的文本分析中,由于同一个词在不同语境中会有不同的变形,因此如何取词根成为了一个重要的问题。取词根方法包含基于规则和基于词典两种,但实际拟合效果均不够理想。Strzalkowski 等人和 Xu 等人先后对取词根方法进行了改进1920,但截至目前取词根仍是困扰印欧语系文本分析的主要问题。词性标注是同时出现在不同语系文本之中的,正确高效地对词性进行标注,有助于部分词义消歧,提高后续处理效果2122。词性标注已经是一个比较成熟的技术,早在 2005 年以前,英文词性标注和中文词性标注的准确率就已经都能达到 97%左右2324。2 文本分析方法2.1 语言预测N-gram 模型是一种比较早期的文本分析方法,由Brown 等人在 1998 年提出25,该方法基于统计概率模型,其所描述的是,在一个自然语言句子中,假设第 i 个词出现的概率只与前 i-1 个单词有关,那么其整个句子出现的概率就是每个单词出现概率的乘积,这就构成了一个 i-1 阶的马尔可夫假设。因此,在有足够大语料库的前提下,就可以通过前一到两个单词来预测下一个单词。已有的测试发现,在使用足够语料库的前提下,N-gram 可以起到很好的预测效果26。在实际操作中,N-gram 由于其极强的可操作性和效果,在自动索引、拼写检查等领域中广泛应用。N-gram 的缺点是:第一,i 的数量提升时,计算的复杂度也会指数增长,因此一般会采用二元或三元的简单模型,但此时就无法建模更远的关系;第二,N-gram 依赖于大量语料库,如果语料库数据量不充分大,则会出现预测水平下降的问题1。2.2 关键词提取2.2.1 TF-IDFTF-IDF 算法是一种关键词加权的算法2728,用以评估一个字词在一个语料库中的重要程度,其在信息检索等领域已被广泛使用。该算法的基本思想是,一个词语的重要程度应与其在文档中出现的频率成正比,在语料库中的其他文档内出现的重要程度成反比。TF(词频)为检索词 W 在检索文档 A 中出现的频率,用 W 词频数除以文档 A 中的总词数表示;IDF(逆文档频率)为 W 词出现在逆文档中的频数表示,用总文档数除以出现词 W的文档数加 1 的对数表示。则 W 的 TF-IDF 值为 TF 乘IDF,公式如式(1):TF-IDFW=F(W)count(A)ln(N1+N(W)(1)其中,F(W)表示 W 在文档 A 中出现的频次,count(A)表示 A 中的单词总数,N 表示文档总数,N(W)表示逆文档中出现词 W 的个数。由于 TF-IDF 算法高度依赖逆文档,因此当文档集的相似度比较高时,TF-IDF 算法无法有效地将关键词提取出来。与此同时,TF-IDF 算法认为文本频率大的单词就更为重要,这在很多情况下并不是完全正确的。2.2.2 TextRankTextRank 算法是由 PageRank 算法牵引而来的,后者是一种根据网页之间的链接关系计算页面重要性的方法,常用于搜索引擎的网页排序之中29。基于 PageRank算法,Mihalcea 和 Tarau 提出了 TextRank 算法30。该算法通过构造词拓扑图来对词和句子进行排序,最终生成关键词、关键词句。算法如式(2)所示:S()Wi=()1-d+d j In(wi)WjiWk Out(Wj)WjkS(Wj)(2)式中,S(Wi)是单词 i 的权重,d 是阻尼系数,在 01 之间,Wji表示两个句子的相似度,S(Wj)表示上次迭代出的句子 j 的权重。最终采用无监督学习方法,通过反复的迭代,得到每一个词的系数。与 TF-IDF 相同,TextRank 算法同样倾向于将最频繁出现的词作为关键词,但相对而言要更为有效。虽然相43Review and Comment综述与评论www.ChinaAET.com比于 TF-IDF 有更好的计算结果,但是由于其需要进行复杂的图运算和迭代运算,因此计算速度比较慢。2.3 静态词向量训练2.3.1 NNLM在文本分析中,词语之间往往缺乏相关性,很难构成稠密的向量空间,为了解决这一点,研究者首先提出了一些静态词向量训练算法。Brngio 等人在 2003 年结合 马 尔 科 夫 假 设 和 神 经 网 络 结 构,提 出 了 NNLM 模型31。与传统 N-gram 算法不同的是,NNLM 算法基于神经网络结构对目标进行求解,解决了 N-gram 算法只能进行低元运算的问题。NNLM 模型分为输入层、