一种用于越南语实体识别的数据集构造方法与流程

文档序号:20919694发布日期:2020-05-29 13:59阅读:426来源:国知局
一种用于越南语实体识别的数据集构造方法与流程

本发明涉及计算机应用技术领域,特别是自然语言处理技术,具体是一种用于越南语实体识别的数据集构造方法。



背景技术:

随着互联网技术的飞速发展以及自然语言处理领域研究的不断深入,可用信息资源得到极大丰富,人们迫切需要从海量非结构化文本中获取有用信息,在这种背景下,命名实体识别技术应运而生。命名实体识别是自然语言处理中的一个基本任务,目的是识别文本当中的人名、地名、机构名等命名实体,在所有设计自然语言处理的研究中,这是一个必须攻克的任务。命名实体识别作为信息抽取、问答系统、机器翻译等任务中的基础工作,近年来在多媒体索引、半监督和无监督的学习、复杂语言环境和机器翻译等方面取得大量新的研究成果。

然而,当前命名实体识别技术只是在汉语、英语等大语种上有较高的准确率,而且文本类型也仅仅局限于新闻文本,对于越南语等小语种来说,命名实体识别技术依旧是一个亟待解决的问题,小语种语料库严重不足,这也对我们的研究造成了极大的不便,小语种数据集人工标注耗时耗力,极大增加了研究成本。



技术实现要素:

本发明的目的是针对现有技术得不足,而提供一种用于越南语实体识别的数据集构造方法。这种方法能降低越南语数据集的构建成本、可扩充越南语语料库。

实现本发明目的的技术方案是:

一种用于越南语实体识别的数据集构造方法,包括如下步骤:

1)中文数据集获取:依据网址http://thuctc.thunlp.org/选取清华大学的文本分类数据作为中文文本数据集z;

2)命名实体提取:采用标签类别抽取出中文文本数据集z中的命名实体,并将带标签的命名实体数据存入文本文件ct,不带标签的命名实体数据存入文本文件c中,过程为:

2-1)读取中文文本数据集z,并按行读取文件,判断每行的标签,如果为“o”则不进行处理;

2-2)以第一个“b”开头的标签为起始,到下一个“b”开头标签之前阶段,将这几行的文本数据存入一行并按行写入中文实体带标签文本文件ct,并在本行末尾加上起始行的标签;

2-3)以第一个“b”开头的标签为起始,到下一个“b”开头标签之前阶段,将这几行的文本数据存入一行并按行写入中文实体不带标签文本文件c;

3)中文数据集拆分:读取中文文本数据集z,并删除每行的标签,然后删除每行的换行符,之后写入中文整体文件ca;

4)中文数据翻译:将中文整体文件ca中的内容翻译为越南语数据并存放到越南语整体数据文件va,将中文实体不带标签文本文件c中的内容逐行翻译为越南语并逐行存放到越南语实体不带标签文本文件v;

5)越南语数据文件构建:读取中文实体带标签文件ct和越南语实体不带标签文件v构造越南语实体带标签文件vt1,读取越南语整体数据文件va并每行加上“o”标签存入文本文件vat,包括:

5-1)分别读取中文实体带标签文件ct和越南语实体不带标签文件v,并提取出ct中的每行标签,之后按行写入文件v中,组成越南语实体带标签文件vt;

5-2)读取越南语实体带标签文件vt,并按行读取每个实体,以空格为单位拆分成多行字符,每个字符后加空格,并判断是否为本实体首个字符,如果是则标签不变,如果不是则用replace函数将标签“b-”替换为“i-”存放在每个字符之后,将结果写入vt1;

5-3)读取越南语整体数据文件va,并以字符为单位换行,换行之后统一在字符后加如空格符,并加上“o”标签,存入vat文件;

6)得到越南语实体识别数据集vndata:包括:

6-1)同时读取vat文件和vt1文件,并将vt1文件中的同一个实体拼接为一个字符串;

6-2)从vat中依次读取单个字符a,判断是否和vt1中某个实体的首字符相同,如果相同,则依次比较该实体中其余字符和字符a后同样位置的字符是否完全匹配,如果完全匹配则用vt1中该实体每个字符后的标签代替字符a及其后续相同数量字符的标签,最终得到越南语实体识别数据集vndata。

这种方法能降低越南语数据集的构建成本、可扩充越南语语料库。

附图说明

图1为实施例的方法流程框图示意图。

具体实施方式

下面结合附图和实施例对本发明的内容做进一步的阐述,但不是对本发明的限定。

实施例:

本例以清华大学的中文文本数据集作为中文文本数据集z、以百度翻译api作为翻译接口、以python3.6作为开发语言、以pycharm软件作为开发环境中文文本数据集z为两列:第一列为单个字符,第二列为对应的标签,字符和标签以空格分开,标注体系为bio,标签含有四类,loc,org,per,o,其中loc,per,org又根据是否为实体中的首个字符在标签前加上”b-”,”i-”。

参照图1,一种用于越南语实体识别的数据集构造方法,包括如下步骤:

1)中文数据集获取:依据网址http://thuctc.thunlp.org/选取清华大学的文本分类数据作为中文文本数据集z;

2)命名实体提取:采用标签类别抽取出中文文本数据集z中的命名实体,并将带标签的命名实体数据存入文本文件ct,不带标签的命名实体数据存入文本文件c中,过程为:

2-1)读取中文文本数据集z,并按行读取文件,判断每行的标签,如果为“o”则不进行处理,本例中将文本数据集z读入python程序,并通过python中的split函数将数据集按行读取,判断每行的标签,如果标签为“o”将其摒弃;

2-2)以第一个“b”开头的标签为起始,到下一个“b”开头标签之前阶段,将这几行的文本数据存入一行并按行写入中文实体带标签文本文件ct,并在本行末尾加上起始行的标签;

2-3)以第一个“b”开头的标签为起始,到下一个“b”开头标签之前阶段,将这几行的文本数据存入一行并按行写入中文实体不带标签文本文件c;

3)中文数据集拆分:读取中文文本数据集z,并删除每行的标签,然后删除每行的换行符,之后写入中文整体文件ca,本例中,采用python中的split函数和strip函数除去每行的标签数据,并删除每行的换行符,之后写入中文整体文件ca;

4)中文数据翻译:将中文整体文件ca中的内容本例采用百度翻译接口翻译为越南语数据并存放到越南语整体数据文件va;将中文实体不带标签文本文件c中的内容通过翻译接口逐行翻译为越南语并逐行存放到越南语实体不带标签文本文件v;

5)越南语数据文件构建:读取中文实体带标签文件ct和越南语实体不带标签文件v构造越南语实体带标签文件vt1,读取越南语整体数据文件va并每行加上“o”标签存入文本文件vat,包括:

5-1)分别读取中文实体带标签文件ct和越南语实体不带标签文件v,并提取出ct中的每行标签,之后按行写入文件v中,组成越南语实体带标签文件vt;

5-2)读取越南语实体带标签文件vt,并按行读取每个实体,以空格为单位拆分成多行字符,每个字符后加空格,并判断是否为本实体首个字符,如果是则标签不变,如果不是则用replace函数将标签“b-”替换为“i-”存放在每个字符之后,将结果写入vt1;

5-3)读取越南语整体数据文件va,并以字符为单位换行,换行之后统一在字符后加如空格符,并加上“o”标签,存入vat文件;

6)得到越南语实体识别数据集vndata:包括:

6-1)同时读取vat文件和vt1文件,并将vt1文件中的同一个实体拼接为一个字符串;

6-2)从vat中依次读取单个字符a,判断是否和vt1中某个实体的首字符相同,如果相同,则依次比较该实体中其余字符和字符a后同样位置的字符是否完全匹配,如果完全匹配则用vt1中该实体每个字符后的标签代替字符a及其后续相同数量字符的标签,最终得到越南语实体识别数据集vndata。

实施例2:

本例以英文实体识别数据集作为翻译源,其余同实施例1。

实施例3:

本例以谷歌翻译为翻译接口,其余同实施例1。

实施例4:

本例开发语言选用java语言,其余同实施例1。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1