CN113591456A - 文本纠错方法及装置、电子设备及存储介质 - Google Patents

文本纠错方法及装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113591456A
CN113591456A CN202110836693.8A CN202110836693A CN113591456A CN 113591456 A CN113591456 A CN 113591456A CN 202110836693 A CN202110836693 A CN 202110836693A CN 113591456 A CN113591456 A CN 113591456A
Authority
CN
China
Prior art keywords
text
corrected
character
correction
target
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.)
Pending
Application number
CN202110836693.8A
Other languages
English (en)
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.)
Beijing Xiaomi Mobile Software Co Ltd
Beijing Xiaomi Pinecone Electronic Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Beijing Xiaomi Pinecone Electronic Co Ltd
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 Beijing Xiaomi Mobile Software Co Ltd, Beijing Xiaomi Pinecone Electronic Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202110836693.8A priority Critical patent/CN113591456A/zh
Publication of CN113591456A publication Critical patent/CN113591456A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本公开是关于一种文本纠错方法及装置、电子设备及存储介质。该方法包括:获取待纠错文本;基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句;其中,所述预设对应关系包括:关键字符与校正语句之间的映射关系;从所述备选校正语句中确定出目标校正语句;确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置;用所述目标校正语句替换所述待纠错文本中所述起始位置至所述终止位置的部分,得到纠错后的目标文本。通过该方法,能节省计算资源。

Description

文本纠错方法及装置、电子设备及存储介质
技术领域
本公开涉及自然语言处理技术领域,尤其涉及一种文本纠错方法及装置、电子设备及存储介质。
背景技术
文本纠错是一项比较基础的自然语言处理技术。它被广泛应用于搜索、人机语音交互、检索等依赖文本处理的场景中。具体应用有语音助手,如小爱同学、小度、Siri、车载语音助手、客服机器人或语音翻译等;搜索引擎,如google、百度等;各类应用(Application,App)的输入框,如美团、有道词典等等。
文本纠错是文本处理的第一步,对用户输入导致的文本错误或者语音识别(Automatic Speech Recognition,ASR)导致的文本错误进行识别和改正,以方便后续对文本进一步处理。用户输入错误包含比如“广州黄浦(埔)”、“哈蜜(密)”、“疑是地下(上)霜”等,语音识别错误或者用户方言导致的识别错误包含比如“南朝四百八十四(寺)”、“蓝京市有什么好玩的”等等。
如何准确又快速的进行文本纠错,一直以来备受关注。
发明内容
本公开提供一种文本纠错方法及装置、电子设备及存储介质。
根据本公开实施例的第一方面,提供一种文本纠错方法,包括:
获取待纠错文本;
基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句;其中,所述预设对应关系包括:关键字符与校正语句之间的映射关系;
从所述备选校正语句中确定出目标校正语句;
确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置;
用所述目标校正语句替换所述待纠错文本中所述起始位置至所述终止位置的部分,得到纠错后的目标文本。
在一些实施例中,所述从所述备选校正语句中确定出目标校正语句,包括:
从M个所述备选校正语句中,确定出满足预设条件的K个所述备选校正语句;其中,K小于或等于M;
从K个所述备选校正语句中,选取出与所述待纠错文本之间的相似度最高的语句作为所述目标校正语句。
在一些实施例中,所述方法还包括:
获取所述待纠错文本中所包含的字符对应的备选校正语句后,统计各所述备选校正语句被选中的次数;
所述从M个所述备选校正语句中,确定出满足预设条件的K个备选校正语句,包括:
从M个所述备选校正语句中,确定出被选中次数靠前的K个所述备选校正语句。
在一些实施例中,所述从K个所述备选校正语句中,选取出与所述待纠错文本之间的相似度最高的语句作为所述目标校正语句,包括:
计算所述待纠错文本和各所述备选校正语句之间的编辑距离,选取编辑距离最小的备选校正语句作为所述目标校正语句。
在一些实施例中,所述确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置,包括:
在所述待纠错文本中选取出与所述目标校正语句长度相同的第一文本片段;
计算各所述第一文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置;
根据所述目标校正语句在所述待纠错文本中的起始位置,确定所述终止位置。
在一些实施例中,若编辑距离最小的第一文本片段大于一个,所述选取编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置,包括:
比较各编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置;
选取起始字符位置靠前的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置。
在一些实施例中,所述根据所述目标校正语句在所述待纠错文本中的起始位置,确定所述终止位置,包括:
在所述待纠错文本中选取出以所述起始位置的字符为首个字符的第二文本片段;
计算各所述第二文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小且编辑距离小于预设距离阈值的第二文本片段对应的结尾字符在所述待纠错文本中的位置,作为所述目标文本在所述待纠错文本中的所述终止位置。
在一些实施例中,所述第二文本片段包括:
以所述起始位置字符为首个字符,且所述第二文本片段的长度与所述目标校正语句长度相同的片段;
以所述起始位置字符为首个字符,且所述第二文本片段的长度与所述目标校正语句长度差异在预设长度差异阈值范围内的片段。
在一些实施例中,所述基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句,包括:
在所述待纠错文本中,确定出待查询的满足预设字符长度条件的目标关键字符;
基于所述目标关键字符,在所述预设对应关系中查询出各所述目标关键字符对应的各所述备选校正语句。
在一些实施例中,所述预设对应关系中的关键字符包括以下至少之一:
校正语句中的至少一个字符;其中,若所述字符数为多个,多个所述字符连续;
与校正语句中的至少一个字符相关联的不同于所述校正语句中字符表达形式的字符;
校正语句中的非连续字符;
校正语句中的至少一个字符以及预设标识符组成的字符序列。
根据本公开实施例的第二方面,提供一种文本纠错装置,包括:
第一获取模块,配置为获取待纠错文本;
第二获取模块,配置为基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句;其中,所述预设对应关系包括:关键字符与校正语句之间的映射关系;
第一确定模块,配置为从所述备选校正语句中确定出目标校正语句;
第二确定模块,配置为确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置;
替换模块,配置为用所述目标校正语句替换所述待纠错文本中所述起始位置至所述终止位置的部分,得到纠错后的目标文本。
在一些实施例中,所述第一确定模块,还配置为从M个所述备选校正语句中,确定出满足预设条件的K个所述备选校正语句;其中,K小于或等于M;从K个所述备选校正语句中,选取出与所述待纠错文本之间的相似度最高的语句作为所述目标校正语句。
在一些实施例中,所述装置还包括:
第三获取模块,配置为获取所述待纠错文本中所包含的字符对应的备选校正语句后,统计各所述备选校正语句被选中的次数;
所述第一确定模块,还配置为从M个所述备选校正语句中,确定出被选中次数靠前的K个所述备选校正语句。
在一些实施例中,所述第一确定模块,还配置为计算所述待纠错文本和各所述备选校正语句之间的编辑距离,选取编辑距离最小的备选校正语句作为所述目标校正语句。
在一些实施例中,所述第二确定模块,还配置为在所述待纠错文本中选取出与所述目标校正语句长度相同的第一文本片段;计算各所述第一文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置;根据所述目标校正语句在所述待纠错文本中的起始位置,确定所述终止位置。
在一些实施例中,若编辑距离最小的第一文本片段大于一个,
所述第二确定模块,还配置为比较各编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置;选取起始字符位置靠前的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置。
在一些实施例中,所述第二确定模块,还配置为在所述待纠错文本中选取出以所述起始位置的字符为首个字符的第二文本片段;计算各所述第二文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小且编辑距离小于预设距离阈值的第二文本片段对应的结尾字符在所述待纠错文本中的位置,作为所述目标文本在所述待纠错文本中的所述终止位置。
在一些实施例中,所述第二文本片段包括:
以所述起始位置字符为首个字符,且所述第二文本片段的长度与所述目标校正语句长度相同的片段;
以所述起始位置字符为首个字符,且所述第二文本片段的长度与所述目标校正语句长度差异在预设长度差异阈值范围内的片段。
在一些实施例中,所述第二获取模块,还配置为在所述待纠错文本中,确定出待查询的满足预设字符长度条件的目标关键字符;基于所述目标关键字符,在所述预设对应关系中查询出各所述目标关键字符对应的各所述备选校正语句。
在一些实施例中,所述预设对应关系中的关键字符包括以下至少之一:
校正语句中的至少一个字符;其中,若所述字符数为多个,多个所述字符连续;
与校正语句中的至少一个字符相关联的不同于所述校正语句中字符表达形式的字符;
校正语句中的非连续字符;
校正语句中的至少一个字符以及预设标识符组成的字符序列。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行如上述第一方面中所述的文本纠错方法。
根据本公开实施例的第四方面,提供一种存储介质,包括:
当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述第一方面中所述的文本纠错方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
在本公开的实施例中,本公开基于词典(预设对应关系)获取备选校正语句,再从备选校正语句中确定出目标校正语句,并确定目标校正语句在待纠错文本中的位置后进行纠错,无需依赖模型来定位错误字符的范围,或者利用端到端的模型进行纠错,能节省计算资源。此外,本公开的纠错方法并非将关注点放在对局部错误关键词的纠错,而是根据字符确定备选校正语句,再基于备选校正语句在待纠错文本中的位置进行替换从而实现纠错,因而能适应文本输入和语音输入的场景,具有适应性强的特点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例示出的一种文本纠错方法流程图。
图2是本公开实施例示出的一种语音交互场景的处理方法示例图。
图3是本公开实施例示出的一种对应关系示例图。
图4是本公开实施例示出的一种备选校正语句查询方法示例图。
图5是根据一示例性实施例示出的一种文本纠错装置图。
图6是本公开实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
文本纠错应用场景比较多样,不同场景下的纠错类型有所区别,针对不同的纠错有着不同的方法。甚至在特定场景下,可能有一些比较简单而巧妙的方法可以快速而又高效地进行纠错。比如,针对用户给的关键词进行纠错,由于特定场景和应用下的关键词可以穷举(比如英文词典查词),基于现有词表和特定的数据结构(比如Burkhard Keller树)可以高效快速地完成候选关键词的查找。
但在另外一些场景下,需要对用户的语音(query)或者一段文本来进行纠错。这些语音/文本包含错误的字符,但是事先并不清楚错误字符所处在的位置。通常地,这类文本纠错需要先定位语音或者文本中的一个或者多个错误字符,再采用某种方法来获取可能正确的候选字符,最后通过对候选字符的排序和打分来进行纠错。在这种类型的纠错中,统计方法,机器学习和深度学习等是比较主流的手段。深度学习方法是在统计方法和机器学习之后发展起来的,它在效果上可能要好于统计和机器学习的方法,但是相比统计和机器学习的方法更加的耗费计算资源和时间。在真实场景下,对纠错模块的性能,耗时以及准确率等要求有所不同,统计和机器学习方法以及深度学习都得到了广泛地应用。
本公共提供一种不同于前述方法的文本纠错方法,以在兼顾纠错性能的同时减少计算资源消耗。图1是本公开实施例示出的一种文本纠错方法流程图,如图1所示,应用于电子设备中的文本纠错方法包括以下步骤:
S11、获取待纠错文本;
S12、基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句;其中,所述预设对应关系包括:关键字符与校正语句之间的映射关系;
S13、从所述备选校正语句中确定出目标校正语句;
S14、确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置;
S15、用所述目标校正语句替换所述待纠错文本中所述起始位置至所述终止位置的部分,得到纠错后的目标文本。
在本公开的实施例中,电子设备包括:移动设备和固定设备;所述移动设备包括:手机、平板电脑或可穿戴式设备等。所述固定设备包括但不限于个人电脑(PersonalComputer,PC)。
在步骤S11中,电子设备会获取待纠错文本,该待纠错文本可以是用户输入的任一文本,也可以是对语音设备接收到的语音信息进行语音识别后的文本,对此本公开实施例不做限制。
对于语音交互类的应用而言,其背后都是基于文本内容而不是直接基于用户的语音来处理和识别用户的意图的。图2是本公开实施例示出的一种语音交互场景的处理方法示例图,如图2所示,对于用户的语音输入,首先经过ASR识别成文本内容,接着采用文本纠错技术来对文本中的错误进行识别和改正,以方便下游文本处理模块对文本进一步地处理来满足应用的要求。
在语音场景下,造成文本错误的类型可以粗略分为四种:1、ASR本身识别错误,若语音包含的内容比较多,更容易出现ASR的识别错误;2、语音截断问题,表现为用户还未说完,就已经停止了对用户语音的识别从而导致翻译后的文本错误;3、用户方言导致的ASR识别内容不准确,如“诺夏(落霞)与孤鹜齐飞,秋水共长天一色”等;4、用户本身记忆偏差,导致ASR识别后的文本出错,比如用户说的可能是“床前明月光,疑是地下(上)霜”,这种在名人名言、歌词和诗句等长实体上,比较容易出现。
由此可见,识别用户的语音并获取正确的文本内容,是后续处理模块正确识别用户意图的基础。同理,对于非语音场景,基于用户输入的文本获取正确的文本内容,也是正确识别用户意图以进行后续处理的基础。
需要说明的是,本公开提及的实体,包括正确语法关系的句子、诗句、歌词或者历史古文等。
本公开的步骤S12中,电子设备会基于预设对应关系,获取待纠错文本中所包含的字符对应的备选校正语句。由于预设对应关系包括关键字符与校正语句之间的映射关系,因此本公开可通过待纠错文本中所包含的字符,在预设对应关系中查询字符对应的校正语句,校正语句中包括一个词或句法上有关联的一组词。
需要说明的是,本公开建立的关键字符与校正语句之间的映射关系属于一种倒排索引。以长实体“落霞与孤鹜齐飞”为例,已知这个实体后,我们很容易知道实体中包含有哪些字“落”、“霞”、“与”、“孤”、“鹜”、“齐”、“飞”。这种我们可以认为,长实体“落霞与孤鹜齐飞”与上述汉字存在一种对应关系,这种对应关系比较简单。以“落霞与孤鹜齐飞”作为关键字(key),以上述汉字作为值(value),即便没有索引的话,通过key“落霞与孤鹜齐飞”字面上就可以方便地知道value有哪些。但是反过来却不行。倒排索引就是,把上面这种value和key交换一下,建立以“落”等汉字为key和“落霞与孤鹜齐飞”为value的对应关系。因而,本公开不是通过一个长实体来查找它包含有哪些字,而是反过来通过一个字符来找到包含这些字符的长实体(即备选校正语句)有哪些。
在一种实施例中,所述预设对应关系中的关键字符包括以下至少之一:
校正语句中的至少一个字符;其中,若所述字符数为多个,多个所述字符连续;
与校正语句中的至少一个字符相关联的不同于所述校正语句中字符表达形式的字符;
校正语句中的非连续字符;
校正语句中的至少一个字符以及预设标识符组成的字符序列。
以校正语句是中文文本为例,作为关键字符的校正语句中的至少一个字符,可以是至少一个汉字,包括单个汉字、或几个连续的汉字。与校正语句中的至少一个字符相关联的不同于校正语句中字符表达形式的字符,可以是至少一个汉字对应的拼音。校正语句中的非连续字符,可以是间隔一个或多个字符而组成的字符序列。校正语句中的至少一个字符以及预设标识符组成的字符序列,例如可以是至少一个汉字和“.”或“-“等组成的字符序列,该预设标识符标识该字符可以为任意字符也可以为空。
例如,构建倒排索引时,可建立长度为n的字符(n-grams)与长实体的映射,以及从n-grams上扩展而来的字符序列到长实体的映射。n-grams前面的n代表的是一个数字,n为正整数。以“床前明月光”为例,其中包含的1-grams就是实体中每一个出现的字符“床”、“前”、“明”、“月”、“光”。包含的3-grams有“床前明”、“前明月”、“明月光”。
以预设对应关系中的关键字符为拼音为例,基于拼音的倒排是考虑到用户存在方音的情况。以“春”->“春雨润如酥”举例,拼音的映射关系是“chun”->“春雨润如酥”,同时也可以建立“cun”->“春雨润如酥”的模糊映射。这里“chun”整体是一个字符(1-gram),而不是按照字母上4个字符来考虑的。考虑到更多的模糊拼音的情况,可以认为“zang”和“zhang”,“li”和“ni”,“yin”和“ying”等等是同一个key值,相比汉字的n-grams而言,拼音的n-gram考虑到了方言的容错性,在应用上可能效果更好一些。
图3是本公开实施例示出的一种对应关系示例图,如图3所示,展示了一种3-grams以及在它基础上扩展而来的字符序列,建立的映射关系包括“床前月”->“床前明月光”,其中,关键字符“床前月”属于校正语句中的非连续字符。还包括“床前.月”->“床前明月光”,“.”表示任何可能的字符,关键字符“床前.月”属于校正语句中的至少一个字符以及预设标识符组成的字符组。如图3所示,“床”、“前”、“月”三个字组成了一个字符序列,相比较3-grams这种连续字符序列而言,这是一种不连续的字符序列,其中包含的字符数是3,是一种3-grams的扩展形式。
需要说明的是,在本公开的实施例中,倒排索引建立的是n-grams到实体之间的映射关系,以及字符序列到实体之间的映射关系。但是并不对使用的n-grams做限制,可以依据具体的情况来选择合适的n值。通常情况下,选择的n的范围是1-3。因为文本中的长实体可能存在错误,为了使n-grams或者字符序列能够检索到正确的字符,n的取值不会太大。n取值的不同,建立的倒排索引也有着一些区别。
以“床前明月光”为例,假设实体中存在一处错误,错误可以是删除了某个字符,替换某个字符,或者是插入了某个字符。所有可能的一处错误情况如下表1所示,图中带有删除标记的字符表示被删除的字符,斜体表示被替换成其他字符的情况,带有下划线的字符表示新插入的字符。
表1.“床前明月光”中出现一处错误的所有可能情况
Figure BDA0003177436030000091
在表1中一共存在16种错误的情况,无论对于哪种情况,都最少存在一个正确的1-gram字符和2-gram字符。即对于n=1,2而言,通过n-grams检索就能够获取到正确的长实体“床前明月光”。但是对于3-gram而言情况有所不同,“床前明月光”和“床前明月光”是不包含任何正确的3-gram字符的。这两种情况,需要引入额外的字符序列来解决。如图3所示,位于1,2,4这三个位置的字符,可以拆分成“床前.月”和“床前月”两种匹配模式,分别对应于第3个位置的字符被替换或者被删除的情况,这一字符序列正好可以作为3-grams的一个补充,来覆盖在实体长度为5个字符时,针对一处错误的纠正。
假设需要对出现一处错误的情况进行纠正的话,在不同的n取值情况下,建立倒排所需要的key如下表2所示。表2中,n=3时,“床前明”、“明月光”是属于3-grams字符串,“床前.月”和“床前月”来自于字符序列。
表2.针对“床前明月光”中一处错误建立倒排所需要的key值
n的取值 key
1 床、前、明、月、光
2 床前、前明、明月、月光
3 床前明、明月光、床前.月、床前月
需要说明的是,在本公开的实施例中,需要的字符序列的数量,不仅仅与n相关,还与实体本身的长度,以及实体存在的错误字符的数量相关。以长度为6个字符的实体,n=3为例,假设存在一个错误字符的情况下,可以不需要额外的字符序列,因为无论错误位于哪个位置,这个包含错误的实体一定存在一个完全正确的3-grams字符。但是若错误字符数量有两个,则可能不存在完成正确的3-grams,因而需要额外的字符序列。
在一种实施例中,所述基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句,包括:
在所述待纠错文本中,确定出待查询的满足预设字符长度条件的目标关键字符;
基于所述目标关键字符,在所述预设对应关系中查询出各所述目标关键字符对应的各所述备选校正语句。
在该实施例中,可设置不同的字符长度来确定目标关键字符,从而根据目标关键字符来查询备选校正语句。具体的,是在待纠错文本上施加一个预设字符长度为n的滑动窗口(这个n和n-grams的n是一样的),提取出目标关键字符,并在倒排索引中检索可能的长实体(备选校正语句)的过程。
以待纠错文本“含有罗夏与孤鹜齐飞的名篇是啥”为例,图4是本公开实施例示出的一种备选校正语句查询方法示例图,如图4所示,若预设字符长度为3,其对应的3-grams的滑动窗口如图4上半部分所示。这一待纠错文本中所涉及到的3-grams,从“含有罗”,“有罗夏”开始,一直到“篇是啥”为止,一共有14个3-grams,每一个3-grams都会作为目标关键字符(key),在倒排索引中寻找到包含这一key的长实体。图4下半部分对应的是一种字符序列的滑动窗口。对于字符序列而言,情况和n-grams的是一样的,不同的是滑动窗口是不连续的,同样地可以通过滑动窗口中所提取到的key,来找到包含这些字符序列的长实体。
前面建立对应关系时,会对不同的n值,以及拼音来构建索引,实际检索待纠错文本的时候,可以用不同的n值来检索,或者是将待纠错文本转换为拼音后再做检索,本公开实施例中不限定于对汉字或者特定n值的n-grams来做索引。
在步骤S13-S15中,基于前述的预设对应关系,获得备选校正语句后,即可进一步从备选校正语句中确定出目标校正语句,并确定目标校正语句在待纠错文本中的起始位置和终止位置,以根据位置进行替换,得到纠错后的目标文本。
需要说明的是,在本公开的实施例中,待纠错文本本身可能不存在任何错误,执行本公开的方法步骤后,由于基于正确的字符在预设对应关系中查找的备选校正语句大概率会是正确的,因而不会使原本正确的文本变为错误的文本。
相关方案中,有种方案以词典和语言模型为典型代表的一类基于统计/机器学习/深度学习的方法。这类方法依赖模型来定位错误字符的范围,训练模型的数据可能存在和应用场景分布不一样,会存在偏差,因而会导致模型存在错误判断的问题。一旦没法正确定位错误字符的范围,会导致后续没法对文本进行纠错。有一种方案中,基于深度模型,来对文本进行端到端的纠错。具体而言,将文本输入模型,在模型的输出端直接输出纠错后的文本。端到端的模型训练,需要收集一些错误的文本,以及对应的正确文本作为训练数据,对模型进行训练。这类标注数据的积累需要耗费人力。另外深度模型的部署需要耗费一定量的计算资源,在线对外提供服务时,对性能和耗时有一定的要求。因此在一些短平快或者纠错本身不是特别重要的场合下,该方案不太适合。还有一种方案中,词典和规则融合,这类方法通过找到所给词典中的近似字符来对用户所给的关键词来进行纠错。如果用户所给的文本不是关键词,而是一段文本或者语音,则没法确定关键词所在的文本中的位置,因而无法对文本或语音进行纠错,只适合于关键词纠错的场景。
相对的,本公开基于词典(预设对应关系)获取备选校正语句,再从备选校正语句中确定出目标校正语句,并确定目标校正语句在待纠错文本中的位置后进行纠错,无需依赖模型来定位错误字符的范围,或者利用端到端的模型进行纠错,能节省计算资源。此外,本公开的纠错方法并非将关注点放在对局部错误关键词的纠错,而是根据字符确定备选校正语句,再基于备选校正语句在待纠错文本中的位置进行替换从而实现纠错,因而能适应文本输入和语音输入的场景,具有适应性强的特点。
在一种实施例中,所述从所述备选校正语句中确定出目标校正语句,包括:
从M个所述备选校正语句中,确定出满足预设条件的K个所述备选校正语句;其中,K小于或等于M;
从K个所述备选校正语句中,选取出与所述待纠错文本之间的相似度最高的语句作为所述目标校正语句。
在本公开的实施例中,由于在基于步骤S12获得备选校正文本时,根据不同预设字符长度的目标关键字符检索获得的备选校正语句会很多,因而本公开对初筛的结果进行过滤后再确定目标文本,能提升确定目标文本的速度。
需要说明的是,在从M个备选校正语句中,确定出满足预设条件的K个备选校正语句时,在一种实施例中,满足预设条件可以是备选校正语句的长度与待纠错文本的长度小于预设长度阈值。由于通常在语音输入或手动输入检索的场景,用户输入待纠错文本一般可能就是一句话或一个词组,因而最可能的目标校正语句的长度就应该和输入的待纠错文本的长度差不多。在本公开实施例中,若筛选出K个备选校正语句是根据文本长度来确定的,由于文本长度度量也属于相似度度量的一种,那再从K个备选校正语句中,选取与待纠错文本之间的相似度最高的语句时,可以是根据编辑距离、Jaro距离等来确定,对此本公开实施例不做限制。
在从M个备选校正语句中,确定出满足预设条件的K个备选校正语句时,在另一种实施例中,所述方法还包括:
获取所述待纠错文本中所包含的字符对应的备选校正语句后,统计各所述备选校正语句被选中的次数;
所述从M个所述备选校正语句中,确定出满足预设条件的K个备选校正语句,包括:
从M个所述备选校正语句中,确定出被选中次数靠前的K个所述备选校正语句。
在该实施例中,基于预设对应关系和待纠错文本中包含的字符确定备选校正语句时,由于根据目标关键字符进行的检索,从直观上来说,待交错文本中所包含的潜在实体,被n-grams和字符序列检索到的次数应该更多,当n=1时,实体被检索的次数等同于这一长实体和待纠错文本中公共字符的个数,以“含有罗夏与孤鹜齐飞的名篇是啥”为例,实体“落霞与孤鹜齐飞”被检索的次数是5。
再例如以待纠错文本为“窗前明月光”为例,当n=1时,其中“前”、“明”、“月”、“光”基于预设对应关系均可以查询到“床前明月光”和“明月松间照”长实体,其中,“床前明月光”被检测到的次数是4,“明月松间照”被检测到的次数是2。实际上,被检测次数较多的“床前明月光”才更倾向于实际的输入文本,因此,本公开在过滤备选校正语句时,依据被选中次数来选取是有依据的。
在本公开的实施例中,由于待纠错文本中的不同n-grams的目标关键字符可能会检索到同一个实体,且候选实体的数量会比较大,为了方便对每一个实体进行检索的次数统计以及方便后续的排序等操作,实际检索的不是实体本身,而是与实体唯一对应的数字标识(Identity Document,ID),这个数字标识会用一个整型(int)的数字表示。被检索到实体,会有一个从ID到被检索次数的映射(map)。
如前所述,被检索次数更多的实体,更可能出现在待纠错文本中,本公开在筛选出被检索次数最多的K个实体时,可采用最小堆优化的方法,堆是计算机领域内一种比较典型的数据结构,最小堆实现方式是用于求解topK问题的常见方法。由于之前已经获取到了实体ID到实体被检索次数的映射map,这一步主要做的是遍历map,得到被检索次数最多的K个实体。若第一步获取到的实体个数有M个,这一步采用最小堆的时间复杂度是O(MlgK)。
这里简单地描述一下相关做法,最小堆相当于一个大小为K的菜篮子。为了找到被检索次数最多的K个实体,需要遍历所有的候选实体。对于每次遍历的候选实体而言,如果菜篮子没有装满的话,会直接把实体放在篮子里,同时记录下篮子里面的实体的最小被检索次数。如果菜篮子是满的,会比较当前候选实体的被检索次数和菜篮子中实体的最小被检索次数,若当前候选实体被检索次数更大,则用当前的候选实体来替换篮子中被检索次数最少的那个实体,反之,什么都不做。遍历完所有实体后,保留在篮子中的实体,就是被选中次数靠前的K个备选校正语句。
需要说明的是,本公开并不限定于使用最小堆的方法进行排序,还可以采用冒泡排序、希尔排序等,此处不再详述。
在一种实施例中,所述从K个所述备选校正语句中,选取出与所述待纠错文本之间的相似度最高的语句作为所述目标校正语句,包括:
计算所述待纠错文本和各所述备选校正语句之间的编辑距离,选取编辑距离最小的备选校正语句作为所述目标校正语句。
在本公开实施例中,在确定目标校正语句时,可基于编辑距离来确定相似度,选取编辑距离最小的备选校正语句作为目标校正语句。
首先介绍下编辑操作和编辑距离。对于一个字符串而言,从中删除一个字符、替换一个字符或者是插入一个字符被称作为一次编辑操作,在一些方法中,互换一下原始字符串中两个字符的位置也被称作一次编辑操作。编辑距离指的是一个字符串变换为另一个字符串所需要的最少的编辑操作。比如“床前明月光”和“窗前明月光”,将“窗”改为“床”就能完成后面一个错误实体到正确实体的改正,因此两者之间的编辑距离为1。一段存在错误字符的文本,可以采用它到真实的文本之间的编辑距离作为它的错误程度的量化指标。编辑距离可以采用动态规划(Dynamic Programming,DP)算法来快速求解。
有了编辑距离,查找并定位待纠错文本中可能出现的长实体,实际上就是寻找待纠错文本的字符片段(字符序列),与所给预设对应关系中的校正语句的编辑距离尽可能的小。因为预设对应关系中实体规模太大了,我们通过从M个备选校正语句中选取出了K个备选校正语句来缩小了候选备选校正语句的范围,这一步只需要比较得到的K个备选校正语句和待纠错文本的片段的编辑距离。
一个字符个数为L的待纠错文本,其中包含字符个数为1的片段有L个,包含字符个数为2的片段有L-1个,包含字符长度为x的片段(也即x-grams的个数)有L-x个,…一共包含的片段个数是L+L-1+L-2+…+1=L(L+1)/2。这个片段数有很多。从直观上来说,如果待纠错文本中包含有长实体,即便这个长实体存在错误,这个待纠错文本和正确的长实体之间的编辑距离应该要小于其他的长实体的。因此选择最优实体的方式是,直接计算K个备选校正语句和待纠错文本之间的编辑距离,选择编辑距离值最小的作为最优可能出现过的目标校正语句。编辑距离最小的实体可能有多个,比如“十一月四日风雨大作写的是啥”,对应的编辑距离为4的实体有“十一月四日风雨大作”和“十一月四日风雨大作其二”,这里两个实体都会保留,即最终确定的目标校正语句包括两个。
在一种实施例中,所述确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置,包括:
在所述待纠错文本中选取出与所述目标校正语句长度相同的第一文本片段;
计算各所述第一文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置;
根据所述目标校正语句在所述待纠错文本中的起始位置,确定所述终止位置。
在本公开的实施例中,在确定目标校正语句在待纠错文本中的位置时,同样根据编辑距离来确定起始位置,在根据起始位置确定终止位置。
具体的,在根据编辑距离确定起始位置时,由于错误实体和正确实体在字符个数上不一定是等同的。比如“落霞与孤鹜齐飞”,待纠错文本中出现的实体可能是“落霞与孤鹜一齐飞”,“下与孤鹜齐飞”,“落下与孤鹜齐飞”等。若目标校正语句E(正确实体)包含的字符数为L_e,首先需要遍历待纠错文本中所有字符个数为L_e的片段,逐个计算实体E和片段之间的编辑距离。当然,若待纠错文本中所有字符个数小于L_e,则可以通过预定字符,例如空格符来补齐,使片段长度为L_e后再计算编辑距离。到正确实体E编辑距离最小的第一文本片段P,被认为是与正确实体E相关的片段。
在一种实施例中,若编辑距离最小的第一文本片段大于一个,所述选取编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置,包括:
比较各编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置;
选取起始字符位置靠前的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置。
在本公开的实施例中,考虑到编辑距离最小的第一文本片段可能有多个,例如“包含落霞与孤鹜一齐飞的这首诗”中,与“落霞与孤鹜齐飞”编辑距离最小的片段有“落霞与孤鹜一齐”和“霞与孤鹜一齐飞”。这种情况下,我们采用前向匹配的方式,保留首先匹配的结果,即起始字符位置靠前的位置(若首先匹配的“落”所在的位置),作为目标校正语句在待纠错文本中的起始位置。
此外,需要说明的是,在本公开的实施例中,采用前向匹配的方式的原因是,通常阅读顺序是从左往右的,待纠错文本中可能包括了多个不同的需要校正的实体,因而基于语序习惯采用前向匹配的方式,能减少纠错跨域两个待校正实体从而使得纠错后语句混乱的可能。
在确定起始位置后,即可根据起始位置来确定目标校正语句在待纠错文本中的终止位置。在一种实施例中,所述根据所述目标校正语句在所述待纠错文本中的起始位置,确定所述终止位置,包括:
在所述待纠错文本中选取出以所述起始位置的字符为首个字符的第二文本片段;
计算各所述第二文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小且编辑距离小于预设距离阈值的第二文本片段对应的结尾字符在所述待纠错文本中的位置,作为所述目标文本在所述待纠错文本中的所述终止位置。
在该实施例中,在根据起始位置确定终止位置时,先以起始位置的字符为首个字符截取第二文本片段,再根据编辑距离来确定第二文本片段的长度以决定终止位置。
在该实施例中,确定结束位置的方式是,通过计算在编辑距离最小的第一文本片段P基础上延伸字符后的片段和目标校正语句之间的编辑距离,以及第一文本片段P基础上缩减字符后的片段和目标校正语句之间的编辑距离,找到编辑距离最小的第二文本片段P’,就是目标校正语句在待纠错文本中出现的片段,对应的编辑距离值就是第二文本片段P’到目标校正语句需要的操作次数。
无论待纠错文本中是否存在实体,以及实体是否存在错误,上面的步骤都会找到一个目标校正语句。因为前面的逻辑是从预设对应关系中找到一个待纠错文本中可能出现的备选校正语句,再基于编辑距离确定目标校正语句。再确定目标校正语句在待纠错文本中的位置时,也是根据编辑距离确定目标校正语句与待纠错文本中片段的相似度。然而,在极端情况下,编辑距离仍然很大,例如目标校正语句一共有7个字符,编辑距离最小的第二文本片段和目标校正语句之间的编辑距离可能是6,这种情况下目标校正语句和第二文本片段之间只有一个字符是相同的,显然第二文本片段不可能是存在错误的目标校正语句。
因而本公开还要对最小编辑距离进行约束,选取小于预设距离阈值的第二文本片段对应的结尾字符在待纠错文本中的位置,作为终止位置。本公开实施例中,预设距离阈值可以是1或2,即目标校正语句和待纠错文本中的错误片段之间的差异不超过两次编辑操作。需要说明的是,在本公开的实施例中,预设距离阈值越小,纠错的准确度越高。
在古诗领域的应用中,对于字符个数大于6的诗句,如果找到的待纠错文本中的片段和某个诗句实体之间的编辑距离小于2的话,我们会认为待纠错文本中的这个片段就是这一句诗来进行纠错,这种纠错依据的是古诗领域和长实体的特点。当然,如果待纠错文本中出现过长实体,而且表述是完全正确的,这时候找到的片段和实体之间的编辑距离为0,不需要进行纠错。
需要说明的是,在本公开的实施例中,若待纠错文本中存在多个错误的实体片段时,可以在执行完一次实体纠错操作后,可以把对应的实体片段从待纠错文本中移除,对移除片段后的新待纠错文本再从头执行一遍纠错,一直重复这个过程,直到不能纠错为止。
可以理解的是,本公开采用传统的技术手段,结合倒排索引、最小堆排序和动态规划求解编辑距离等常见手段和算法,对计算资源基本没有要求,具有方案简单,节省计算资源的优势。本技术方案可用于语音交互场景下,在线实时纠错。古诗领域的实践表明,对于约8万字的长实体,单次纠错响应耗时小于10ms,满足在线环境下对耗时的要求。
图5是根据一示例性实施例示出的一种文本纠错装置图。参照图5,所述装置包括:
第一获取模块101,配置为获取待纠错文本;
第二获取模块102,配置为基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句;其中,所述预设对应关系包括:关键字符与校正语句之间的映射关系;
第一确定模块103,配置为从所述备选校正语句中确定出目标校正语句;
第二确定模块104,配置为确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置;
替换模块105,配置为用所述目标校正语句替换所述待纠错文本中所述起始位置至所述终止位置的部分,得到纠错后的目标文本。
在一些实施例中,所述第一确定模块103,还配置为从M个所述备选校正语句中,确定出满足预设条件的K个所述备选校正语句;其中,K小于或等于M;从K个所述备选校正语句中,选取出与所述待纠错文本之间的相似度最高的语句作为所述目标校正语句。
在一些实施例中,所述装置还包括:
第三获取模块106,配置为获取所述待纠错文本中所包含的字符对应的备选校正语句后,统计各所述备选校正语句被选中的次数;
所述第一确定模块103,还配置为从M个所述备选校正语句中,确定出被选中次数靠前的K个所述备选校正语句。
在一些实施例中,所述第一确定模块103,还配置为计算所述待纠错文本和各所述备选校正语句之间的编辑距离,选取编辑距离最小的备选校正语句作为所述目标校正语句。
在一些实施例中,所述第二确定模块104,还配置为在所述待纠错文本中选取出与所述目标校正语句长度相同的第一文本片段;计算各所述第一文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置;根据所述目标校正语句在所述待纠错文本中的起始位置,确定所述终止位置。
在一些实施例中,若编辑距离最小的第一文本片段大于一个,
所述第二确定模块104,还配置为比较各编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置;选取起始字符位置靠前的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置。
在一些实施例中,所述第二确定模块104,还配置为在所述待纠错文本中选取出以所述起始位置的字符为首个字符的第二文本片段;计算各所述第二文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小且编辑距离小于预设距离阈值的第二文本片段对应的结尾字符在所述待纠错文本中的位置,作为所述目标文本在所述待纠错文本中的所述终止位置。
在一些实施例中,所述第二文本片段包括:
以所述起始位置字符为首个字符,且所述第二文本片段的长度与所述目标校正语句长度相同的片段;
以所述起始位置字符为首个字符,且所述第二文本片段的长度与所述目标校正语句长度差异在预设长度差异阈值范围内的片段。
在一些实施例中,所述第二获取模块102,还配置为在所述待纠错文本中,确定出待查询的满足预设字符长度条件的目标关键字符;基于所述目标关键字符,在所述预设对应关系中查询出各所述目标关键字符对应的各所述备选校正语句。
在一些实施例中,所述预设对应关系中的关键字符包括以下至少之一:
校正语句中的至少一个字符;其中,若所述字符数为多个,多个所述字符连续;
与校正语句中的至少一个字符相关联的不同于所述校正语句中字符表达形式的字符;
校正语句中的非连续字符;
校正语句中的至少一个字符以及预设标识符组成的字符序列。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种电子设备装置800的框图。例如,装置800可以是手机或平板电脑等。
参照图6,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行文本纠错方法,所述方法包括:
获取待纠错文本;
基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句;其中,所述预设对应关系包括:关键字符与校正语句之间的映射关系;
从所述备选校正语句中确定出目标校正语句;
确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置;
用所述目标校正语句替换所述待纠错文本中所述起始位置至所述终止位置的部分,得到纠错后的目标文本。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (22)

1.一种文本纠错方法,其特征在于,所述方法包括:
获取待纠错文本;
基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句;其中,所述预设对应关系包括:关键字符与校正语句之间的映射关系;
从所述备选校正语句中确定出目标校正语句;
确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置;
用所述目标校正语句替换所述待纠错文本中所述起始位置至所述终止位置的部分,得到纠错后的目标文本。
2.根据权利要求1所述的方法,其特征在于,所述从所述备选校正语句中确定出目标校正语句,包括:
从M个所述备选校正语句中,确定出满足预设条件的K个所述备选校正语句;其中,K小于或等于M;
从K个所述备选校正语句中,选取出与所述待纠错文本之间的相似度最高的语句作为所述目标校正语句。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述待纠错文本中所包含的字符对应的备选校正语句后,统计各所述备选校正语句被选中的次数;
所述从M个所述备选校正语句中,确定出满足预设条件的K个备选校正语句,包括:
从M个所述备选校正语句中,确定出被选中次数靠前的K个所述备选校正语句。
4.根据权利要求2所述的方法,其特征在于,所述从K个所述备选校正语句中,选取出与所述待纠错文本之间的相似度最高的语句作为所述目标校正语句,包括:
计算所述待纠错文本和各所述备选校正语句之间的编辑距离,选取编辑距离最小的备选校正语句作为所述目标校正语句。
5.根据权利要求1所述的方法,其特征在于,所述确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置,包括:
在所述待纠错文本中选取出与所述目标校正语句长度相同的第一文本片段;
计算各所述第一文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置;
根据所述目标校正语句在所述待纠错文本中的起始位置,确定所述终止位置。
6.根据权利要求5所述的方法,其特征在于,若编辑距离最小的第一文本片段大于一个,所述选取编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置,包括:
比较各编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置;
选取起始字符位置靠前的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置。
7.根据权利要求5所述的方法,其特征在于,所述根据所述目标校正语句在所述待纠错文本中的起始位置,确定所述终止位置,包括:
在所述待纠错文本中选取出以所述起始位置的字符为首个字符的第二文本片段;
计算各所述第二文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小且编辑距离小于预设距离阈值的第二文本片段对应的结尾字符在所述待纠错文本中的位置,作为所述目标文本在所述待纠错文本中的所述终止位置。
8.根据权利要求7所述的方法,其特征在于,所述第二文本片段包括:
以所述起始位置字符为首个字符,且所述第二文本片段的长度与所述目标校正语句长度相同的片段;
以所述起始位置字符为首个字符,且所述第二文本片段的长度与所述目标校正语句长度差异在预设长度差异阈值范围内的片段。
9.根据权利要求1所述的方法,其特征在于,所述基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句,包括:
在所述待纠错文本中,确定出待查询的满足预设字符长度条件的目标关键字符;
基于所述目标关键字符,在所述预设对应关系中查询出各所述目标关键字符对应的各所述备选校正语句。
10.根据权利要求1所述的方法,其特征在于,所述预设对应关系中的关键字符包括以下至少之一:
校正语句中的至少一个字符;其中,若所述字符数为多个,多个所述字符连续;
与校正语句中的至少一个字符相关联的不同于所述校正语句中字符表达形式的字符;
校正语句中的非连续字符;
校正语句中的至少一个字符以及预设标识符组成的字符序列。
11.一种文本纠错装置,其特征在于,所述装置包括:
第一获取模块,配置为获取待纠错文本;
第二获取模块,配置为基于预设对应关系,获取所述待纠错文本中所包含的字符对应的备选校正语句;其中,所述预设对应关系包括:关键字符与校正语句之间的映射关系;
第一确定模块,配置为从所述备选校正语句中确定出目标校正语句;
第二确定模块,配置为确定所述目标校正语句在所述待纠错文本中的起始位置和终止位置;
替换模块,配置为用所述目标校正语句替换所述待纠错文本中所述起始位置至所述终止位置的部分,得到纠错后的目标文本。
12.根据权利要求11所述的装置,其特征在于,
所述第一确定模块,还配置为从M个所述备选校正语句中,确定出满足预设条件的K个所述备选校正语句;其中,K小于或等于M;从K个所述备选校正语句中,选取出与所述待纠错文本之间的相似度最高的语句作为所述目标校正语句。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第三获取模块,配置为获取所述待纠错文本中所包含的字符对应的备选校正语句后,统计各所述备选校正语句被选中的次数;
所述第一确定模块,还配置为从M个所述备选校正语句中,确定出被选中次数靠前的K个所述备选校正语句。
14.根据权利要求12所述的装置,其特征在于,
所述第一确定模块,还配置为计算所述待纠错文本和各所述备选校正语句之间的编辑距离,选取编辑距离最小的备选校正语句作为所述目标校正语句。
15.根据权利要求11所述的装置,其特征在于,
所述第二确定模块,还配置为在所述待纠错文本中选取出与所述目标校正语句长度相同的第一文本片段;计算各所述第一文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置;根据所述目标校正语句在所述待纠错文本中的起始位置,确定所述终止位置。
16.根据权利要求15所述的装置,其特征在于,若编辑距离最小的第一文本片段大于一个,
所述第二确定模块,还配置为比较各编辑距离最小的第一文本片段的起始字符在所述待纠错文本中的位置;选取起始字符位置靠前的位置,作为所述目标校正语句在所述待纠错文本中的所述起始位置。
17.根据权利要求15所述的装置,其特征在于,
所述第二确定模块,还配置为在所述待纠错文本中选取出以所述起始位置的字符为首个字符的第二文本片段;计算各所述第二文本片段与所述目标校正语句之间的编辑距离,选取编辑距离最小且编辑距离小于预设距离阈值的第二文本片段对应的结尾字符在所述待纠错文本中的位置,作为所述目标文本在所述待纠错文本中的所述终止位置。
18.根据权利要求17所述的装置,其特征在于,所述第二文本片段包括:
以所述起始位置字符为首个字符,且所述第二文本片段的长度与所述目标校正语句长度相同的片段;
以所述起始位置字符为首个字符,且所述第二文本片段的长度与所述目标校正语句长度差异在预设长度差异阈值范围内的片段。
19.根据权利要求11所述的装置,其特征在于,
所述第二获取模块,还配置为在所述待纠错文本中,确定出待查询的满足预设字符长度条件的目标关键字符;基于所述目标关键字符,在所述预设对应关系中查询出各所述目标关键字符对应的各所述备选校正语句。
20.根据权利要求11所述的装置,其特征在于,所述预设对应关系中的关键字符包括以下至少之一:
校正语句中的至少一个字符;其中,若所述字符数为多个,多个所述字符连续;
与校正语句中的至少一个字符相关联的不同于所述校正语句中字符表达形式的字符;
校正语句中的非连续字符;
校正语句中的至少一个字符以及预设标识符组成的字符序列。
21.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1至10中任一项所述的文本纠错方法。
22.一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至10中任一项所述的文本纠错方法。
CN202110836693.8A 2021-07-23 2021-07-23 文本纠错方法及装置、电子设备及存储介质 Pending CN113591456A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110836693.8A CN113591456A (zh) 2021-07-23 2021-07-23 文本纠错方法及装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110836693.8A CN113591456A (zh) 2021-07-23 2021-07-23 文本纠错方法及装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113591456A true CN113591456A (zh) 2021-11-02

Family

ID=78249687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110836693.8A Pending CN113591456A (zh) 2021-07-23 2021-07-23 文本纠错方法及装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113591456A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114078475A (zh) * 2021-11-08 2022-02-22 北京百度网讯科技有限公司 语音识别和更新方法、装置、设备和存储介质
CN114117082A (zh) * 2022-01-28 2022-03-01 北京欧应信息技术有限公司 用于对待校正数据校正的方法、设备和介质
CN116628143A (zh) * 2023-07-26 2023-08-22 北京火山引擎科技有限公司 一种语言模型的处理方法及装置
CN116932922A (zh) * 2023-09-19 2023-10-24 腾讯科技(深圳)有限公司 搜索词条处理方法、装置、计算机设备和计算机存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114078475A (zh) * 2021-11-08 2022-02-22 北京百度网讯科技有限公司 语音识别和更新方法、装置、设备和存储介质
CN114117082A (zh) * 2022-01-28 2022-03-01 北京欧应信息技术有限公司 用于对待校正数据校正的方法、设备和介质
CN116628143A (zh) * 2023-07-26 2023-08-22 北京火山引擎科技有限公司 一种语言模型的处理方法及装置
CN116628143B (zh) * 2023-07-26 2023-10-03 北京火山引擎科技有限公司 一种语言模型的处理方法及装置
CN116932922A (zh) * 2023-09-19 2023-10-24 腾讯科技(深圳)有限公司 搜索词条处理方法、装置、计算机设备和计算机存储介质
CN116932922B (zh) * 2023-09-19 2024-01-26 腾讯科技(深圳)有限公司 搜索词条处理方法、装置、计算机设备和计算机存储介质

Similar Documents

Publication Publication Date Title
CN110580290B (zh) 用于文本分类的训练集的优化方法及装置
CN113591456A (zh) 文本纠错方法及装置、电子设备及存储介质
CN106570180B (zh) 基于人工智能的语音搜索方法及装置
CN104142915B (zh) 一种添加标点的方法和系统
US11640503B2 (en) Input method, input device and apparatus for input
CN103971684B (zh) 一种添加标点的方法、系统及其语言模型建立方法、装置
CN111428474A (zh) 基于语言模型的纠错方法、装置、设备及存储介质
CN111145756A (zh) 一种语音识别方法、装置和用于语音识别的装置
CN108345612B (zh) 一种问题处理方法和装置、一种用于问题处理的装置
CN107424612B (zh) 处理方法、装置和机器可读介质
CN111651586B (zh) 文本分类的规则模板生成方法、分类方法及装置、介质
CN111078884B (zh) 一种关键词提取方法、装置及介质
CN108875743B (zh) 一种文本识别方法及装置
CN113255329A (zh) 英文文本拼写纠错方法、装置、存储介质及电子设备
CN115831117A (zh) 实体识别方法、装置、计算机设备和存储介质
CN116127062A (zh) 预训练语言模型的训练方法、文本情感分类方法及装置
CN112687271B (zh) 语音翻译方法、装置、电子设备和存储介质
KR102327790B1 (ko) 정보 처리 방법, 장치 및 저장 매체
CN113177408A (zh) 一种文本检测方法、装置及设备
CN107368602A (zh) 一种用于智能设备的照片存储方法和照片存储装置
CN111695350B (zh) 一种文本的分词方法及分词装置
CN110780749B (zh) 一种字符串纠错方法和装置
CN109426354B (zh) 一种输入方法、装置和用于输入的装置
CN107665206B (zh) 清理用户词库的方法、系统和用于清理用户词库的装置
CN113272873A (zh) 用于增强现实的方法和设备

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