CN112446213B - 一种文本语料扩充方法 - Google Patents

一种文本语料扩充方法 Download PDF

Info

Publication number
CN112446213B
CN112446213B CN202011345026.1A CN202011345026A CN112446213B CN 112446213 B CN112446213 B CN 112446213B CN 202011345026 A CN202011345026 A CN 202011345026A CN 112446213 B CN112446213 B CN 112446213B
Authority
CN
China
Prior art keywords
word
content
words
entry
sentence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011345026.1A
Other languages
English (en)
Other versions
CN112446213A (zh
Inventor
甘涛
成鑫
何艳敏
王志阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202011345026.1A priority Critical patent/CN112446213B/zh
Publication of CN112446213A publication Critical patent/CN112446213A/zh
Application granted granted Critical
Publication of CN112446213B publication Critical patent/CN112446213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

本发明属于自然语言处理技术领域,具体提供一种文本语料扩充方法,用以克服已有的文本增强方法在生成语料的句式多样性和语义保真性上存在的不足。本发明将词替换法与回译法相结合,并克服了两种方法联合使用带来的不足;首先,通过对同义词哈希表、输入句子等进行标准化处理,同时在词替换中采取按字数不减少的方向进行单向替换的策略,减少了存在错别字的词和口语化的词对回译效果的影响;另外,通过引入掩蔽回译,改善了回译法对专业名词翻译不准确的问题;本发明方法生成的语料,兼顾了句式多样性和语义保真性,尤其适合在初始语料不够充足的情况下的文本语料扩充应用。

Description

一种文本语料扩充方法
技术领域
本发明属于自然语言处理技术领域,具体涉及一种文本语料扩充方法。
背景技术
深度学习技术应用到自然语言处理的过程中往往会遇到文本训练数据不足或数据不平衡的问题,解决文本语料缺乏问题成为自然语言处理领域的研究重点。文本增强是增加文本训练语料的一种常用手段,它是在已有的文本数据的基础上,通过某些处理,构造更多的文本数据。不同于图像数据增强,文本是离散的,不能通过线性插值、旋转等方法来增加数据,需要考虑句子的语义信息、语法结构。
文本增强方法主要有人工标注、词替换、回译、神经网络等方法。人工标注法是早期语料扩充的主要方式,其扩充的语料质量很高,但工作周期长、成本高。词替换法通过将文本中的非核心词替换为其同义词、插入删除虚词和助词等多种方式来实现文本语料的扩充,这种方式快速便捷,但扩充的文本句式单一。回译法是近年来使用较多的一种文本增强方法,它通过将源语言翻译成另一种语言,再将得到另一种语言的句子翻译回源语言的方式,构造出源语言的增强数据;回译法虽然能生成不同句型的语料,但在文本中包含口语化的词、错别字的词、或领域专业词汇的情况下,该方法容易导致生成句子的语义发生变化。相比之下,近年出现的神经网络方法表现出更好的性能,但该方法面临着一个主要的矛盾问题,即要完成一个神经网络模型训练,本身就需要大量的文本语料;因此,在语料不够充足的情况下,难以训练出理想的神经网络模型以生成高质量的文本。
综上所述,已有的文本增强方法在生成语料的句式多样性和语义保真性上均存在不足,需要研究生成句式多样且语义保真的文本增强方法。
发明内容
本发明的目的在于针对上述现有技术的诸多问题,提供一种文本语料扩充方法,采用该方法生成的语料,能够兼顾句式多样性和语义保真性,尤其适合在初始语料不够充足的情况下的文本语料扩充应用。
为实现上述目的,本发明采用的技术方案为:
一种文本语料扩充方法,包括:索引表创建和语料扩充两个阶段;其特征在于,
所述索引表创建包括以下步骤:
A1.创建标准词哈希表;
A1-1.初始化标准词哈希表ST为空,非标准词集合U为空;
A1-2.从待处理的输入句子集合中提取口语化的词和存在错别字的词,将这些词作为非标准词,加入到非标准词集合中U,记
Figure GDA0003702656420000021
其中,ui表示第i个非标准词,i=1,2,...,Ns、Ns为非标准词的总个数;
A1-3.对非标准词集合U中的每个非标准词ui、i=1,2,...,Ns,作:
A1-3-1.确定ui所对应的正确书面用词,将其作为标准词、记为si
A1-3-2.以ui为关键字、si为值,创建键值对<ui,si>,并将其作为一个哈希表项存储到标准词哈希表ST中;
A2.创建同义词哈希表;
A2-1.初始化同义词哈希表HT为空:
A2-2.从开放的中文同义词库中获取多组同义词;
A2-3.对获取的每一组同义词,作:
A2-3-1.创建一个表项内容为词的同义词链表
Figure GDA0003702656420000022
设置
Figure GDA0003702656420000023
初始为空;
A2-3-2.设当前同义词组有Nh个同义词,依次对其中每一个同义词
Figure GDA0003702656420000024
j=1,2,...,Nh,创建一个内容为
Figure GDA0003702656420000025
的链表表项,并将其添加到同义词链表
Figure GDA0003702656420000026
中;
A2-3-3.对同义词链表
Figure GDA0003702656420000027
的每一个表项的内容
Figure GDA0003702656420000028
作:
A2-3-3-1.在标准词哈希表ST中查找关键字为
Figure GDA0003702656420000029
的表项,若查找成功,则将
Figure GDA00037026564200000210
替换为该表项的值;
A2-3-3-2.设同义词链表
Figure GDA00037026564200000211
的首地址为
Figure GDA00037026564200000212
创建一个关键字为
Figure GDA00037026564200000213
值为
Figure GDA00037026564200000214
的键值对
Figure GDA00037026564200000215
将其作为一个哈希表项存储到同义词哈希表HT中;
A3.创建掩蔽词集合;
A3-1.初始化掩蔽词集合M为空;
A3-2.从待处理的输入句子集合中提取业务专有名词,将这些词作为掩蔽词加入到掩蔽词集合M中;
所述语料扩充包括以下步骤:
B1.分词;
B1-1.创建一个表项内容为词的词链表Lw,设置Lw初始为空;
B1-2.采用中文分词工具对输入句子进行分词处理,将其分割成不同的词wi,i=1,2,...,Nw、Nw为分词得到的词的总个数;
B1-3.对分词得到的每一个词wi,创建一个内容为wi的链表表项,并按wi出现的先后顺序将该链表表项添加到词链表Lw中;
B2.句子标准化:对词链表Lw的每一个表项的内容wi,在标准词哈希表ST中查找关键字为wi的表项,若查找成功,则将wi替换为该表项的值;最终得到句子标准化后的词链表,记为SLw
B3.句子扩充;
B3-1.创建一个表项内容为词链表的链表LLw',设置LLw'初始为空,创建一个内容为词链表SLw的链表表项,并将其添加到LLw'中;
B3-2.设i为词链表表项的编号,初始化i=1;
B3-3.取词链表SLw的第i个表项的内容wi,在同义词哈希表HT中查找关键字为wi的表项,若查找成功,则找到该表项的值所对应的同义词链表
Figure GDA0003702656420000031
并转到步骤B3-4,否则转到步骤B3-7;
B3-4.创建一个表项内容为词链表的链表LLw”,设置LLw”初始为空;
B3-5.对链表LLw'中的每一个表项的内容Lw',作:
B3-5-1.针对同义词链表
Figure GDA0003702656420000032
中的每一个表项的内容wh,作:
B3-5-1-1.复制一个内容与Lw'相同的新词链表、记为Lw”
B3-5-1-2.设词链表Lw”第i个表项的内容为wi”,若wi”与wh不是同一个词,且wi”所含字的数目不大于wh所含字的数目,则将词链表Lw”第i个表项内容wi”替换为wh,并同时创建一个内容为词链表Lw”的链表表项,并将该链表表项添加到LLw”中;
B3-6.将链表LLw”链接到LLw'的尾部,作为LLw'的末尾部分;
B3-7.更新i为i+1,并进行判断,若i≤Nw,则转到步骤B3-3,否则转到步骤B3-8;
B3-8.创建一个表项内容为句子的句子链表Ls,设置Ls初始为空;
B3-9.对链表LLw'中的每一个表项的内容Lw',作:
B3-9-1.设置一个初始为空的字符串s;
B3-9-2.将词链表Lw'中的每一个表项的内容w'逐个追加到s中;
B3-9-3.创建一个内容为s的链表表项,并将其添加到句子链表Ls中;
B4.掩蔽回译;
B4-1.掩蔽词替换;
B4-1-1.创建一个表项内容为词的词链表Lc,设置Lc初始为空;
B4-1-2.对链表LLw'中的每一个表项的内容Lw',作:对Lw'中的每一个表项的内容w',在掩蔽词集合M中查找是否存在w',若存在,则将w'替换为预设的掩蔽符号mark,并创建一个内容为w'的链表表项,将其添加到加入词链表Lc中;
B4-2.回译;
B4-2-1.创建一个表项内容为句子的句子链表Ls',设置Ls'初始为空;
B4-2-2.对链表LLw'中的每一个表项的内容Lw',作:
B4-2-2-1.设置一个初始为空的字符串s;
B4-2-2-2.将词链表Lw'中的每一个表项的内容w'逐个追加到s中;
B4-2-2-3.使用标准回译法,对s所表示的句子进行回译,其过程是先将s翻译成外文,再将这条外文翻译回中文,回译法输出得到回译后的句子、记为s';
B4-2-2-4.创建一个内容为s'的链表表项,并将其添加到句子链表Ls'中;
B4-3.恢复掩蔽词;
B4-3-1.初始化k=1;
B4-3-2.对句子链表Ls'的每一个表项的内容s',作:如果s'中包含掩蔽符号mark,则将该符号mark替换为词链表Lc的第k个表项的内容,并同时更新k为k+1;
B4-3-3.将句子链表Ls'链接到句子链表Ls的尾部,作为Ls的末尾部分;
B4-3-4.将句子链表Ls的所有表项的内容作为扩充后的句子输出。
本发明的有益效果在于:
本发明提供了一种文本语料扩充方法,该方法将词替换法与回译法相结合,并克服了两种方法联合使用带来的不足;首先,通过对同义词哈希表、输入句子等进行标准化处理,同时在词替换中采取按字数不减少的方向进行单向替换的策略,减少了存在错别字的词和口语化的词对回译效果的影响;另外,通过引入掩蔽回译,改善了回译法对专业名词翻译不准确的问题;本发明方法生成的语料,兼顾了句式多样性和语义保真性,尤其适合在初始语料不够充足的情况下的文本语料扩充应用。
附图说明
图1为本发明的文本语料扩充方法的流程示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
本实施例提供了一种文本语料扩充方法,其流程如图1所示,包括索引表创建和语料扩充两个阶段;本实施例针对金融领域,说明应用于银行智能客服机器人的训练语料扩充方法;具体步骤如下:
第一、所述索引表创建包括以下步骤:
A1.创建标准词哈希表;
A1-1.初始化标准词哈希表ST为空,非标准词集合U为空;
A1-2.从待处理的输入句子集合中提取口语化的词和存在错别字的词,将这些词作为非标准词,加入到非标准词集合中U,记
Figure GDA0003702656420000051
其中,ui表示第i个非标准词,i=1,2,...,Ns、Ns为非标准词的总个数;
在本实施例中,共提取非标准词46个,其中包含18个口语化的词(如“咋个”和“不成”)和28个含错别字的词(如“AB代”);
A1-3.对非标准词集合U中的每个非标准词ui、i=1,2,...,Ns,作:
A1-3-1.确定ui所对应的正确书面用词,将其作为标准词、记为si
在本实施例中,以非标准词“咋个”、“不成”和“AB代”为例,非标准词“咋个”对应的标准词为“怎么”,非标准词“不成”对应的标准词为“不成功”,非标准词“AB代”对应的标准词为“AB贷”;
A1-3-2.以ui为关键字、si为值,创建键值对<ui,si>,并将其作为一个哈希表项存储到标准词哈希表ST中;
在本实施例中,以“咋个”为关键字、“怎么”为值,创建键值对<“咋个”,“怎么”>,以“不成”为关键字、“不成功”为值,创建键值对<“不成”,“不成功”>,以“AB代”为关键字、“AB贷”为值,创建键值对<“AB代”,“AB贷”>,并将每一个键值对作为一个哈希表项存储到标准词哈希表ST中;
A2.创建同义词哈希表;
A2-1.初始化同义词哈希表HT为空:
A2-2.从开放的中文同义词库中获取多组同义词;
在本实施例中,共获得26组同义词,如“开通,申请”、“失败,不成”等;
A2-3.对获取的每一组同义词,作:
A2-3-1.创建一个表项内容为词的同义词链表
Figure GDA0003702656420000061
设置
Figure GDA0003702656420000062
初始为空;
A2-3-2.设当前同义词组有Nh个同义词,依次对其中每一个同义词
Figure GDA0003702656420000063
j=1,2,...,Nh,创建一个内容为
Figure GDA0003702656420000064
的链表表项,并将其添加到同义词链表
Figure GDA0003702656420000065
中;
在本实施例中,以同义词组“开通,申请”和“失败,不成”为例,对于同义词组“开通,申请”,分别创建内容为“开通”和“申请”的链表表项,并将其添加到一个新建的同义词链表中,生成同义词链表“开通→申请”,该链表的首地址为0x7ffeefbff360;对于同义词组“失败,不成”,分别创建内容为“失败”和“不成”的链表表项,并将其添加到一个新建的同义词链表中,生成同义词链表“失败→不成”,该链表的首地址为0x7ffeefbff410;
A2-3-3.对同义词链表
Figure GDA0003702656420000066
的每一个表项的内容
Figure GDA0003702656420000067
作:
A2-3-3-1.在标准词哈希表ST中查找关键字为
Figure GDA0003702656420000071
的表项,若查找成功,则将
Figure GDA0003702656420000072
替换为该表项的值;
在本实施例中,对同义词链表“失败→不成”的第2个表项内容“不成”,在标准词哈希表ST中查找到关键字为“不成”的表项<“不成”,“不成功”>,则将同义词链表第2个表项内容“不成”替换为该表项的值“不成功”,这样同义词链表更新为“失败→不成功”;
A2-3-3-2.设同义词链表
Figure GDA0003702656420000073
的首地址为
Figure GDA0003702656420000074
创建一个关键字为
Figure GDA0003702656420000075
值为
Figure GDA0003702656420000076
的键值对
Figure GDA0003702656420000077
将其作为一个哈希表项存储到同义词哈希表HT中;
在本实施例中,对同义词链表“开通→申请”,因其首地址为0x7ffeefbff360,则分别以“开通”和“申请”为关键字、0x7ffeefbff360为值,创建键值对<“开通”,0x7ffeefbff360>和<“申请”,0x7ffeefbff360>;对同义词链表“失败→不成功”,因其首地址为0x7ffeefbff410,则分别以“失败”和“不成功”为关键字、0x7ffeefbff410为值,创建键值对<“失败”,0x7ffeefbff410>和<“不成功”,0x7ffeefbff410>,将每一个生成的键值对分别作为一个哈希表项存储到同义词哈希表HT中;
A3.创建掩蔽词集合;
A3-1.初始化掩蔽词集合M为空;
A3-2.从待处理的输入句子集合中提取业务专有名词,将这些词作为掩蔽词加入到掩蔽词集合M中;
在本实施例中,共提取出36个业务专有名词,如“征信”。
第二、所述语料扩充包括以下步骤:
在本实施例中,以输入句子“申请AB代时审核失败咋个办”为例进行说明;
B1.分词;
B1-1.创建一个表项内容为词的词链表Lw,设置Lw初始为空;
B1-2.采用中文分词工具对输入句子进行分词处理,将其分割成不同的词wi,i=1,2,...,Nw、Nw为分词得到的词的总个数;
在本实施例中,对输入句子“申请AB代时审核失败咋个办”进行分词处理得到“申请”、“AB代”、“时”、“审核”、“失败”、“咋个”和“办”7个词,即分词得到的词的总个数Nw=7。
B1-3.对分词得到的每一个词wi,创建一个内容为wi的链表表项,并按wi出现的先后顺序将该链表表项添加到词链表Lw中;
在本实施例中,对分词处理得到“申请”、“AB代”、“时”、“审核”、“失败”、“咋个”和“办”7个词分别创建内容为“申请”、“AB代”、“时”、“审核”、“失败”、“咋个”和“办”的链表表项,并依次添加到词链表Lw中,得到的Lw为“申请→AB代→时→审核→失败→咋个→办”;
B2.句子标准化:对词链表Lw的每一个表项的内容wi,在标准词哈希表ST中查找关键字为wi的表项,若查找成功,则将wi替换为该表项的值;最终得到句子标准化后的词链表,记为SLw
在本实施例中,对词链表“申请→AB代→时→审核→失败→咋个→办”的第2个表项内容“AB代”,在标准词哈希表ST中查找到关键字为“AB代”的表项<“AB代”,“AB贷”>,则将词链表第2个表项内容“AB代”替换为该表项的值“AB贷”,这样词链表Lw更新为“申请→AB贷→时→审核→失败→咋个→办”;
对更新后的词链表的第6个表项内容“咋个”,在标准词哈希表ST中查找到关键字为“咋个”的表项<“咋个”,“怎么”>,则将词链表第6个表项内容“咋个”替换为该表项的值“怎么”,待处理完词链表Lw的每一个表项后,最终得到句子标准化后的词链表SLw=“申请→AB贷→时→审核→失败→怎么→办”;
B3.句子扩充;
B3-1.创建一个表项内容为词链表的链表LLw',设置LLw'初始为空,创建一个内容为词链表SLw的链表表项,并将其添加到LLw'中;
B3-2.设i为词链表表项的编号,初始化i=1;
B3-3.取词链表SLw的第i个表项的内容wi,在同义词哈希表HT中查找关键字为wi的表项,若查找成功,则找到该表项的值所对应的同义词链表
Figure GDA0003702656420000081
并转到步骤B3-4,否则转到步骤B3-7;
在本实施例中,当i=1时,取词链表SLw的第1个表项的内容w1=“申请”,在同义词哈希表HT中查找到关键字为“申请”的表项<“申请”,0x7ffeefbff360>,将该表项的值0x7ffeefbff360作为首地址,找到同义词链表
Figure GDA0003702656420000091
为“开通→申请”,并转到步骤B3-4;
当i=5时,取词链表SLw的第5个表项的内容w5=“失败”,在同义词哈希表HT中查找到关键字为“失败”的表项<“失败”,0x7ffeefbff410>,将该表项的值0x7ffeefbff410作为首地址,找到同义词链表
Figure GDA0003702656420000092
为“失败→不成功”,并转到步骤B3-4;
当i=2,3,4,6,7时,由于在同义词哈希表HT中没有找到相应的表项,转到步骤B3-7;
B3-4.创建一个表项内容为词链表的链表LLw”,设置LLw”初始为空;
B3-5.对链表LLw'中的每一个表项的内容Lw',作:
如下以链表LLw'中的第一个表项的内容Lw'=“申请→AB贷→时→审核→失败→怎么→办”为例进行说明;
B3-5-1.针对同义词链表
Figure GDA0003702656420000093
中的每一个表项的内容wh,作:
在本实施例中,当i=1时,同义词链表
Figure GDA0003702656420000094
为“开通→申请”,对其表项内容wh=“开通”或wh=“申请”作:
B3-5-1-1.复制一个内容与Lw'相同的新词链表、记为Lw”
在本实施例中,复制Lw'得到的新词链表Lw”,其内容也为“申请→AB贷→时→审核→失败→怎么→办”;
B3-5-1-2.设词链表Lw”第i个表项的内容为wi”,若wi”与wh不是同一个词,且wi”所含字的数目不大于wh所含字的数目,则将词链表Lw”第i个表项内容wi”替换为wh,并同时创建一个内容为词链表Lw”的链表表项,并将该链表表项添加到LLw”中;
在本实施例中,当i=1时,对wh=“开通”,词链表Lw”第1个表项的内容为wi”=“申请”,由于wi”与wh不是同一个词,且wi”所含字的数目2不大于wh所含字的数目2,则将词链表Lw”第1个表项内容wi”=“申请”替换为wh=“开通”,故Lw”更新为“开通→AB贷→时→审核→失败→怎么→办”,此后,对更新后的词链表Lw”,创建一个内容为Lw”的链表表项,并将其添加到LLw”中;至此,LLw”中包含Lw”=“开通→AB贷→时→审核→失败→怎么→办”这一个表项;
B3-6.将链表LLw”链接到LLw'的尾部,作为LLw'的末尾部分;
在本实施例中,在i=1的循环结束时,LLw'包含“申请→AB贷→时→审核→失败→怎么→办”和“开通→AB贷→时→审核→失败→怎么→办”2个表项;
B3-7.更新i为i+1,并进行判断,若i≤Nw,则转到步骤B3-3,否则转到步骤B3-8;
在本实施例中,当步骤B3-3至步骤B3-7的循环体执行完毕时,LLw'共包含4个词链表表项,如表1所示;
表1
编号 链表表项
1 申请→AB贷→时→审核→失败→怎么→办
2 开通→AB贷→时→审核→失败→怎么→办
3 申请→AB贷→时→审核→不成功→怎么→办
4 开通→AB贷→时→审核→不成功→怎么→办
B3-8.创建一个表项内容为句子的句子链表Ls,设置Ls初始为空;
B3-9.对链表LLw'中的每一个表项的内容Lw',作:
B3-9-1.设置一个初始为空的字符串s;
B3-9-2.将词链表Lw'中的每一个表项的内容w'逐个追加到s中;
在本实施例中,以链表LLw'中第一个链表表项Lw'=“申请→AB贷→时→审核→失败→怎么→办”为例,将其每一个表项的内容逐个追加到s后,s=“申请AB贷时审核失败怎么办”;
B3-9-3.创建一个内容为s的链表表项,并将其添加到句子链表Ls中;
在本实施例中,当步骤B3-9执行结束时,句子链表Ls共包含4个句子链表表项,如表2所示;
表2
Figure GDA0003702656420000101
Figure GDA0003702656420000111
B4.掩蔽回译;
B4-1.掩蔽词替换;
B4-1-1.创建一个表项内容为词的词链表Lc,设置Lc初始为空;
B4-1-2.对链表LLw'中的每一个表项的内容Lw',作:对Lw'中的每一个表项的内容w',在掩蔽词集合M中查找是否存在w',若存在,则将w'替换为预设的掩蔽符号mark,并创建一个内容为w'的链表表项,将其添加到加入词链表Lc中;
在本实施例中,设置掩蔽符号mark为“AAA”,以链表LLw'中第一个链表表项Lw'=“申请→AB贷→时→审核→失败→怎么→办”为例,对于Lw'的第2个表项内容“AB贷”,由于“AB贷”存在于掩蔽词集合M中,则将Lw'的第2个表项内容“AB贷”替换为掩蔽符号“AAA”,Lw'被更新为“申请→AAA→时→审核→失败→怎么→办”,并将“AB贷”添加到加入词链表Lc中;
当步骤B4-1执行结束时,LLw'的词链表表项被更新,其更新结果如表3所示;
表3
编号 词链表表项
1 申请→AAA→时→审核→失败→怎么→办
2 开通→AAA→时→审核→失败→怎么→办
3 申请→AAA→时→审核→不成功→怎么→办
4 开通→AAA→时→审核→不成功→怎么→办
B4-2.回译;
B4-2-1.创建一个表项内容为句子的句子链表Ls',设置Ls'初始为空;
B4-2-2.对链表LLw'中的每一个表项的内容Lw',作:
B4-2-2-1.设置一个初始为空的字符串s;
B4-2-2-2.将词链表Lw'中的每一个表项的内容w'逐个追加到s中;
在本实施例中,以链表LLw'的第一个链表表项Lw'=“申请→AAA→时→审核→失败→怎么→办”为例,将其每一个表项的内容逐个追加到s后,s=“申请AAA时审核失败怎么办”;
B4-2-2-3.使用标准回译法,对s所表示的句子进行回译,其过程是先将s翻译成外文,再将这条外文翻译回中文,回译法输出得到回译后的句子、记为s';
在本实施例中,以s=“申请AAA时审核失败怎么办”为例,使用标准回译法回译输出的结果s'为“申请AAA审核不通过怎么办”;
B4-2-2-4.创建一个内容为s'的链表表项,并将其添加到句子链表Ls'中;
在本实施例中,当步骤B4-2执行结束时,句子链表Ls'共包含4个句子链表表项,如表4所示;
表4
编号 链表表项
1 申请AAA审核不通过怎么办
2 AAA开通时如何处理审计失败
3 申请AAA时审核不通过怎么办
4 开通AAA审核失败怎么办
B4-3.恢复掩蔽词;
B4-3-1.初始化k=1;
B4-3-2.对句子链表Ls'的每一个表项的内容s',作:如果s'中包含掩蔽符号mark,则将该符号mark替换为词链表Lc的第k个表项的内容,并同时更新k为k+1;
在本实施例中,当k=1时,以句子链表Ls'的第一个链表表项s'=“申请AAA审核不通过怎么办”为例,由于s'中包含掩蔽符号“AAA”,则将Ls'的第一个链表表项s'中的“AAA”替换为词链表Lc的第1个表项的内容“AB贷”,即s'=“申请AB贷审核不通过怎么办”,同时更新k为2;
当步骤B4-3-2执行结束时,句子链表Ls'的表项被更新,其更新结果如表5所示;
表5
Figure GDA0003702656420000121
Figure GDA0003702656420000131
B4-3-3.将句子链表Ls'链接到句子链表Ls的尾部,作为Ls的末尾部分;
B4-3-4.将句子链表Ls的所有表项的内容作为扩充后的句子输出;
在本实施例中,输入句子为“申请AB代时审核失败咋个办”,经步骤B1至步骤B4处理后,最终共输出8个句子,如表6所示;
表6
编号 输出句子
1 申请AB贷时审核失败怎么办
2 开通AB贷时审核失败怎么办
3 申请AB贷时审核不成功怎么办
4 开通AB贷时审核不成功怎么办
5 申请AB贷审核不通过怎么办
6 AB贷开通时如何处理审计失败
7 申请AB贷时审核不通过怎么办
8 开通AB贷审核失败怎么办
从表6中可以看到,输出的8个句子,其语义与输入句子是相近的,句式也有所变化,从而验证了本发明方法可以在无训练样本的情况下对文本语料进行有效的扩充。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

Claims (1)

1.一种文本语料扩充方法,包括:索引表创建和语料扩充;其特征在于,
所述索引表创建包括以下步骤:
A1.创建标准词哈希表;
A1-1.初始化标准词哈希表ST为空,非标准词集合U为空;
A1-2.从待处理的输入句子集合中提取口语化的词和存在错别字的词,将这些词作为非标准词,加入到非标准词集合中U,记
Figure FDA0003663127460000011
其中,ui表示第i个非标准词,i=1,2,...,Ns、Ns为非标准词的总个数;
A1-3.对非标准词集合U中的每个非标准词ui、i=1,2,...,Ns,作:
A1-3-1.确定ui所对应的正确书面用词,将其作为标准词、记为si
A1-3-2.以ui为关键字、si为值,创建键值对<ui,si>,并将其作为一个哈希表项存储到标准词哈希表ST中;
A2.创建同义词哈希表;
A2-1.初始化同义词哈希表HT为空:
A2-2.从开放的中文同义词库中获取多组同义词;
A2-3.对获取的每一组同义词,作:
A2-3-1.创建一个表项内容为词的同义词链表
Figure FDA0003663127460000012
设置
Figure FDA0003663127460000013
初始为空;
A2-3-2.设当前同义词组有Nh个同义词,依次对其中每一个同义词
Figure FDA0003663127460000014
创建一个内容为
Figure FDA0003663127460000015
的链表表项,并将其添加到同义词链表
Figure FDA0003663127460000016
中;
A2-3-3.对同义词链表
Figure FDA0003663127460000017
的每一个表项的内容
Figure FDA0003663127460000018
作:
A2-3-3-1.在标准词哈希表ST中查找关键字为
Figure FDA0003663127460000019
的表项,若查找成功,则将
Figure FDA00036631274600000110
替换为该表项的值;
A2-3-3-2.设同义词链表
Figure FDA00036631274600000111
的首地址为
Figure FDA00036631274600000112
创建一个关键字为
Figure FDA00036631274600000113
值为
Figure FDA00036631274600000114
的键值对
Figure FDA00036631274600000115
将其作为一个哈希表项存储到同义词哈希表HT中;
A3.创建掩蔽词集合;
A3-1.初始化掩蔽词集合M为空;
A3-2.从待处理的输入句子集合中提取业务专有名词,将这些词作为掩蔽词加入到掩蔽词集合M中;
所述语料扩充包括以下步骤:
B1.分词;
B1-1.创建一个表项内容为词的词链表Lw,设置Lw初始为空;
B1-2.采用中文分词工具对输入句子进行分词处理,将其分割成不同的词wi,i=1,2,...,Nw、Nw为分词得到的词的总个数;
B1-3.对分词得到的每一个词wi,创建一个内容为wi的链表表项,并按wi出现的先后顺序将该链表表项添加到词链表Lw中;
B2.句子标准化:对词链表Lw的每一个表项的内容wi,在标准词哈希表ST中查找关键字为wi的表项,若查找成功,则将wi替换为该表项的值;最终得到句子标准化后的词链表,记为SLw
B3.句子扩充;
B3-1.创建一个表项内容为词链表的链表LLw',设置LLw'初始为空,创建一个内容为词链表SLw的链表表项,并将其添加到LLw'中;
B3-2.初始化i=1;
B3-3.取词链表SLw的第i个表项的内容wi,在同义词哈希表HT中查找关键字为wi的表项,若查找成功,则找到该表项的值所对应的同义词链表
Figure FDA0003663127460000021
并转到步骤B3-4,否则转到步骤B3-7;
B3-4.创建一个表项内容为词链表的链表LLw”,设置LLw”初始为空;
B3-5.对链表LLw'中的每一个表项的内容Lw',作:
B3-5-1.针对同义词链表
Figure FDA0003663127460000022
中的每一个表项的内容wh,作:
B3-5-1-1.复制一个内容与Lw'相同的新词链表、记为Lw”
B3-5-1-2.设词链表Lw”第i个表项的内容为wi”,若wi”与wh不是同一个词,且wi”所含字的数目不大于wh所含字的数目,则将词链表Lw”第i个表项内容wi”替换为wh,并同时创建一个内容为词链表Lw”的链表表项,并将该链表表项添加到LLw”中;
B3-6.将链表LLw”链接到LLw'的尾部,作为LLw'的末尾部分;
B3-7.更新i为i+1,并进行判断,若i≤Nw,则转到步骤B3-3,否则转到步骤B3-8;
B3-8.创建一个表项内容为句子的句子链表Ls,设置Ls初始为空;
B3-9.对链表LLw'中的每一个表项的内容Lw',作:
B3-9-1.设置一个初始为空的字符串s;
B3-9-2.将词链表Lw'中的每一个表项的内容w'逐个追加到s中;
B3-9-3.创建一个内容为s的链表表项,并将其添加到句子链表Ls中;
B4.掩蔽回译;
B4-1.掩蔽词替换;
B4-1-1.创建一个表项内容为词的词链表Lc,设置Lc初始为空;
B4-1-2.对链表LLw'中的每一个表项的内容Lw',作:对Lw'中的每一个表项的内容w',在掩蔽词集合M中查找是否存在w',若存在,则将w'替换为预设的掩蔽符号mark,并创建一个内容为w'的链表表项,将其添加到加入词链表Lc中;
B4-2.回译;
B4-2-1.创建一个表项内容为句子的句子链表Ls',设置Ls'初始为空;
B4-2-2.对链表LLw'中的每一个表项的内容Lw',作:
B4-2-2-1.设置一个初始为空的字符串s;
B4-2-2-2.将词链表Lw'中的每一个表项的内容w'逐个追加到s中;
B4-2-2-3.使用标准回译法,对s所表示的句子进行回译,其过程是先将s翻译成外文,再将这条外文翻译回中文,回译法输出得到回译后的句子、记为s';
B4-2-2-4.创建一个内容为s'的链表表项,并将其添加到句子链表Ls'中;
B4-3.恢复掩蔽词;
B4-3-1.初始化k=1;
B4-3-2.对句子链表Ls'的每一个表项的内容s',作:如果s'中包含掩蔽符号mark,则将该符号mark替换为词链表Lc的第k个表项的内容,并同时更新k为k+1;
B4-3-3.将句子链表Ls'链接到句子链表Ls的尾部,作为Ls的末尾部分;
B4-3-4.将句子链表Ls的所有表项的内容作为扩充后的句子输出。
CN202011345026.1A 2020-11-26 2020-11-26 一种文本语料扩充方法 Active CN112446213B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011345026.1A CN112446213B (zh) 2020-11-26 2020-11-26 一种文本语料扩充方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011345026.1A CN112446213B (zh) 2020-11-26 2020-11-26 一种文本语料扩充方法

Publications (2)

Publication Number Publication Date
CN112446213A CN112446213A (zh) 2021-03-05
CN112446213B true CN112446213B (zh) 2022-10-14

Family

ID=74738416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011345026.1A Active CN112446213B (zh) 2020-11-26 2020-11-26 一种文本语料扩充方法

Country Status (1)

Country Link
CN (1) CN112446213B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906392B (zh) * 2021-03-23 2022-04-01 北京天融信网络安全技术有限公司 一种文本增强方法、文本分类方法及相关装置
CN113378513B (zh) * 2021-06-11 2022-12-23 电子科技大学 一种面向领域关系抽取的标注语料生成方法
CN113569581B (zh) * 2021-08-26 2023-10-17 中国联合网络通信集团有限公司 意图识别方法、装置、设备及存储介质
CN113553806B (zh) * 2021-09-22 2021-11-19 中国人民解放军国防科技大学 文本数据增强方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008203717A (ja) * 2007-02-22 2008-09-04 Oki Electric Ind Co Ltd コーパスベース音声合成のためのテキスト文セット選択方法、そのプログラム、及びその装置
CN104503960A (zh) * 2015-01-07 2015-04-08 渤海大学 一种用于英语翻译的文本数据处理方法
CN110543574A (zh) * 2019-08-30 2019-12-06 北京百度网讯科技有限公司 一种知识图谱的构建方法、装置、设备及介质
CN110888970A (zh) * 2019-11-29 2020-03-17 腾讯科技(深圳)有限公司 文本生成方法、装置、终端和存储介质
CN111695356A (zh) * 2020-05-28 2020-09-22 平安科技(深圳)有限公司 同义语料生成方法、装置、计算机系统及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920473B (zh) * 2018-07-04 2022-08-09 中译语通科技股份有限公司 一种基于同类词与同义词替换的数据增强机器翻译方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008203717A (ja) * 2007-02-22 2008-09-04 Oki Electric Ind Co Ltd コーパスベース音声合成のためのテキスト文セット選択方法、そのプログラム、及びその装置
CN104503960A (zh) * 2015-01-07 2015-04-08 渤海大学 一种用于英语翻译的文本数据处理方法
CN110543574A (zh) * 2019-08-30 2019-12-06 北京百度网讯科技有限公司 一种知识图谱的构建方法、装置、设备及介质
CN110888970A (zh) * 2019-11-29 2020-03-17 腾讯科技(深圳)有限公司 文本生成方法、装置、终端和存储介质
CN111695356A (zh) * 2020-05-28 2020-09-22 平安科技(深圳)有限公司 同义语料生成方法、装置、计算机系统及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Improving text simplification by corpus expansion with unsupervised learning;Akihiro Katsuta 等;《2019 International Conference on Asian Language Processing (IALP)》;20200319;全文 *
网络社区舆情引导技术研究与实现;邸文晨;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20140315(第(2014年)03期);I139-103 *

Also Published As

Publication number Publication date
CN112446213A (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
CN112446213B (zh) 一种文本语料扩充方法
Cotterell et al. CoNLL-SIGMORPHON 2017 shared task: Universal morphological reinflection in 52 languages
US6920419B2 (en) Apparatus and method for adding information to a machine translation dictionary
CN107870901B (zh) 从翻译源原文生成相似文的方法、记录介质、装置以及系统
US20140163951A1 (en) Hybrid adaptation of named entity recognition
US20050137853A1 (en) Machine translation
KR101732634B1 (ko) 의존관계 포레스트를 이용한 통계적 기계 번역 방법
Sabra et al. Sentiment analysis: Arabic sentiment lexicons
Ali et al. Pattern based comprehensive urdu stemmer and short text classification
CN106156013A (zh) 一种固定搭配型短语优先的两段式机器翻译方法
Nithya et al. A hybrid approach to English to Malayalam machine translation
CN112668281B (zh) 基于模板的语料自动化扩充方法、装置、设备及介质
Tennage et al. Transliteration and byte pair encoding to improve tamil to sinhala neural machine translation
Ali et al. Comprehensive stemmer for morphologically rich urdu language.
Aldarmaki et al. Robust part-of-speech tagging of Arabic text
Gao et al. Chinese-Naxi machine translation method based on Naxi dependency language model
CN115048940A (zh) 基于实体词属性特征和回译的中文金融文本数据增强方法
CN113705223A (zh) 以读者为中心的个性化英文文本简化方法
Neubarth et al. A hybrid approach to statistical machine translation between standard and dialectal varieties
Nathani et al. Part of Speech Tagging for a Resource Poor Language: Sindhi in Devanagari Script using HMM and CRF
Seresangtakul et al. Thai-Isarn dialect parallel corpus construction for machine translation
Ning et al. Team peter-parker at semeval-2019 task 4: Bert-based method in hyperpartisan news detection
Cheng et al. The revised wordframe model for the Filipino language
JP5416021B2 (ja) 機械翻訳装置、機械翻訳方法、およびそのプログラム
Radošević et al. A machine translation model inspired by code generation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant