您好, 访客   登录/注册

基于文本处理的指标数据提取

来源:用户上传      作者:

  摘   要:“1331”工程依托大数据与智能技术山西生协同创新中心平台建设山西省职业教育大数据分析与决策平台。决策平台要使用哪些数据进行分析并决策出最终的结果。指标数据是通过分析国家标准指标库和各个升级标准指标库来确定要分析的数据指标项。决策平台要使用的一部分数据就来自各个中职学校的年报。人工梳理年报文档中的数据会耗费大量的人力和时间。本文提出基于文本处理的指标数据自动提取。本文使用jieba算法对文本数据进行指标数据处理。首先通过人工分析国标与各个省级标准指标库确定指标数据向,从而确定词典库,再使用TextRank算法文本分词并提取。由于年报文档中的数据时按模块进行书写的并且希望提取的数据也按原稳定的模块顺序进行呈现,TextRank是按整句进行预处理,所以不会破坏文章的顺序结构。
  关键词:文本处理  关键词提取  jieba算法  TextRank算法
  中图分类号:TP391                                 文獻标识码:A                        文章编号:1674-098X(2019)10(c)-0107-02
  1  基于jieba算法的关键字提取
  使用jieba算法对年报文档进行文本处理,首先要构建一个适合本文使用的自定义词典库,因为jieba算法主要是构建在统计词典的基础之上的。将整理出来的通用指标项使用trie树结构构造一个词缀词典。使用建好的词缀词典对待切分字符串进行初次切分,会得到所有可能的切分组合。将得到的切分组合构造出一个有向无环图,然后使用动态规划算法,计算该有向无环图的最大概率路径,进而寻找出该字符串的最大切分组合。虽然算法自带有自定义词典库,但也会有未登录词的出现。对于这些情况,算法基于HMM模型使用Viterbi算法将词典中未出现的词进行切分。最后,将文章中组合的候选关键词使用TextRank算法构建有向有权图,最后基于距离值将关联词对组合。
  1.1 jieba词库
  Jieba算法有一个自带的词典库叫dict.txt,词典库中有2万多条词,是作者训练得到的,词典库中包含词出现的次数以及词的词性。词典库中的词使用trie树存储,trie数是一棵前缀树,如果两项指标的前几个字一样,就表示它们有相同的前缀。使用Trie树结构存储可以实现快速的词图扫描并实现快速的查找,可以减少无谓字符串的比较。
  1.2 新词识别
  虽然我们建有自定义词库,对之后出现的新文章中的未登录词语,我们采用新词识别的方法。新词识别基于HMM模型使用Viterbi算法将单字成词表示为S、词组开头表示B、词组中间表示M、词组结尾表示E。可以得到HMM的各个参数,然后使用Viterbi算法来解释测试机,得到分词效果。
  通过把连续的B,E凑到一起得到一个词,单独S放单,就得到一个词。
  1.3 关键词提取
  自定义的词典确定了之后,对文本进行关键字提取,提取出词典中的通用指标、数字和数字的单位。本文将指标、数据和数据的单位作为一个整体进行提取,通用指标、数字和数字的单位在文章的句子上就具有一定的关联性。关联性体现在这三部分是在一句话中出现,并且在一句话中这三部分的距离比较近。本文的关键词是在原有文章结构的基础上提取,并且是在整句话上对关键词划分。所以本文重点介绍基于TextRank算法关键词提取方法并根据此文本处理的实际情况对该算法进行的改进。
  TextRank 用一个有向有权图G=(V,E)表示,有向有权图由点集合V和边集合E组成。图中两个点Vi,Vj之间边的权重Wij,对于一个给定的点Vi,In(Vi)为指向该点的集合,Out(Vi)为Vi指向的点集合。点Vi的得分定义如下:
  其中d为阻尼系数,取值范围为0-1,表示从图中某一点指向其他任一点的概率,一般取值为0.85。使用TextRank算法计算图中各点的得分时,需要给图中的点指定任意的初值,递归计算直到收敛,即图中任意一点的误差率小于给定的极限值时就可以达到收敛,一般该极限值取0.0001。关键词抽取的任务就是从一段给定的文本中自动抽取我们想要获取的词语或词组。TextRank算法直接从文本中利用局部词汇之间关系(共现窗口)对后续关键词进行排序,将满足条件约束关系的词组抽取。由于本处关键词为之的特殊性,我们不再使用贡献窗口这个约束关系,而是词汇之间的距离D,即有向有权图边上的权值。主要步骤如下:(1)将给定的年报文档按完整的句子进行分割,即 T=[S1,S2,…,Sm]。(2)对于每个句子Si∈T,使用我们的自定义词库将句子进行切分,过滤掉停用词,只保留指定的自定义词库中出现的词语或词组,即Si=[ti,1,ti,2,…,ti,m],其中ti,j∈Si是保留后的候选关键词。(3)构建候选关键词的有向有权图G=(V,E),其中V为节点集,由(2)生成的候选关键词组成,然后采用距离关系构造任两点之间边的权重,两个节点之间存在边仅当它们对应的词汇在长度为k,即关键词之间字的个数,通过训练得出k的阈值。
  2  基于距离的TextRank算法的优点
  TextRank算法是按整句对文章进行划分的,不会破坏文章句子的顺序结构,这样在将提取出的数据进行整合时,数据的结构顺序与文章是一致的。本文在进行文本分词时,建立了针对中职院校年报数据的词典库。所以在对句子记性且分词时能更快速准确,也不会对文章中不含数据的句子做多余切分与处理。关联性词组的提取更有针对性。
  3  实验与结果分析
  为了确定jieba分词算法在中文分词中的效果,本文提出了相对准确率作为评价指标:
  相对准确率按照如下方法计算:
  相联词对的势必具有较高的识别率,但仍不能完全准确100%的对文章中的数据进行提取,所以方法还有待改进、提升。
  4  结语
  在进行中文文本分词的研究工作中,本文提出了基于距离的关联词对提取。首先建立自定义词典库,将自定义词典库使用前缀数结构进行存储,以便之后高效的查找与搜索。为了不破坏句子的顺序结构,使用基于TextRank的算法将文章按整句进行切分。再使用分词方案按自定义词库进行词语切分,将候选关键词基于距离建立有向有权图,最后提取关联词对。
  由于该分词算法是根据自定义词典库来对文章中的句子进行针对性的词语切分,所以算法能识别的关联词是按指标项、数据、数据的单位这样的顺序来对提取完整的指标项数据,如“学校的占地面积为43561m2”,这样的数据会准确无误的提取。如果指标项、数据和数据的单位顺序在文档描述是出现调换,可能会给文本分析和数据提取带来一定的误差,如“学校现有281名双师型教师”,因为关联词提取是一三元组为结构提取的,如果一开始没有找到指标项,可能就会造成数据与指标项匹配造成混乱。
  参考文献
  [1] 杨涛.中文信息处理中的自动分词方法研究[J].现代交际,2019(7):93-95.
  [2] 嵩天,礼欣,黄天羽.Python语言程序设计基础[M].北京:高等教育出版社,2017.
  [3] 赵华,邓攀,张建伟.基于关联词对动态抽取的报道关系检测技术研究[J].计算机科学,2010,37(6):237-239.
转载注明来源:https://www.xzbu.com/1/view-15124367.htm