CN107291683A - 一种拼写检查方法及装置 - Google Patents

一种拼写检查方法及装置 Download PDF

Info

Publication number
CN107291683A
CN107291683A CN201610224317.2A CN201610224317A CN107291683A CN 107291683 A CN107291683 A CN 107291683A CN 201610224317 A CN201610224317 A CN 201610224317A CN 107291683 A CN107291683 A CN 107291683A
Authority
CN
China
Prior art keywords
word
character
wrong
field
section
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
CN201610224317.2A
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 Kingsoft Office Software Inc
Zhuhai Kingsoft Office Software Co Ltd
Original Assignee
Beijing Kingsoft Office Software Inc
Zhuhai Kingsoft Office Software 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 Kingsoft Office Software Inc, Zhuhai Kingsoft Office Software Co Ltd filed Critical Beijing Kingsoft Office Software Inc
Priority to CN201610224317.2A priority Critical patent/CN107291683A/zh
Priority to US15/132,865 priority patent/US10769370B2/en
Publication of CN107291683A publication Critical patent/CN107291683A/zh
Pending legal-status Critical Current

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • 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

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)
  • Document Processing Apparatus (AREA)

Abstract

本申请实施例公开了一种拼写检查方法及装置,涉及计算机软件技术领域,其中,上述方法包括:按照预设的字符段划分规则,确定待展示页面所包含字符对应的字符段;获得所确定的各个字符段中错词的字符位置;展示所确定的各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应字符段中的错词进行标记。应用本申请实施例提供的方案,提高了文档加载速度,进而提高了文档展示速度,提高了用户体验。

Description

一种拼写检查方法及装置
技术领域
本申请涉及计算机软件技术领域,特别涉及一种拼写检查方法及装置。
背景技术
随着计算机等终端设备的普及,越来越多的用户采用电子化办公方式,这样极大方便了用户的工作。然而,用户要浏览的文档中难免会存在输入错误等问题,为方便用户工作,现有技术中,用户所使用终端设备接收到文件打开指令,加载文档时,对整个文档进行拼写检查,然后,在进行文档显示时,根据拼写检查结果向用户展示拼写错误提示信息,这样可以使得用户能够直观的了解文档中存在的拼写错误。
例如中国专利申请第201510319466.2号《文本文档拼写及语法校对方法》提到微软公司的WORD2013提供的校对功能,对于作家、编辑、秘书等群体,编辑处理校对较长篇幅如百页以上的文本,效率较低,因为需要逐页的检查每页文本,避免遗漏标识出来的拼写语法错误。还提到该专利申请的技术方案是系统自动将文本文档全部内容与词典单元内容进行对比,并将拼写及语法错误之处进行标记,同时标记及排序单元将文本文档中含有拼写及语法错误的“行”进行标记并编号,系统将所有含有拼写及语法错误的“行”按顺序几种排列显示,用户在文档处理界面对拼写及语法错误进行处理,另外用户对拼写及语法错误进行处理完成后,在操作界面选择恢复文本文档排序选项,标记及排序单元将处理完成的“行”,按照前述标记,替换原有的“行”并重新进行排版,这种方法也是对整个文档进行拼写检查,效率依然很低。
实际应用中应用上述方式虽然可以获得拼写检查结果,然而由于在加载文档的过程中要对整个文档进行拼写检查,所以会使得文档加载速度变慢,进而文档展示速度也会变慢,用户体验差。
发明内容
本申请实施例公开了一种拼写检查方法及装置,以提高文档加载速度以及文档展示速度,进而提高用户体验。
为达到上述目的,本申请实施例公开了一种拼写检查方法,应用于客户端,所述方法包括:
按照预设的字符段划分规则,确定待展示页面所包含字符对应的字符段;
获得所确定的各个字符段中错词的字符位置;
展示所确定的各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应字符段中的错词进行标记。
为达到上述目的,本申请实施例公开了一种拼写检查方法,应用于服务器,所述方法包括:
接收客户端发送的待展示页面所包含字符对应的字符段,其中,所述字符段为所述客户端根据预设的字符段划分规则对所述待展示页面进行划分得到的;
获得所接收的字符段中错词的字符位置;
将各个字符段的字符位置发送至所述客户端,以使得所述客户端展示各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应对字符段中的错词进行标记。
为达到上述目的,本申请实施例公开了一种拼写检查装置,应用于客户端,所述装置包括:
字符段确定模块,用于按照预设的字符段划分规则,确定待展示页面所包含字符对应的字符段;
字符位置获得模块,用于获得所确定的各个字符段中错词的字符位置;
错词标记模块,用于展示所确定的各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应字符段中的错词进行标记。
为达到上述目的,本申请实施例公开了一种拼写检查装置,应用于服务器,所述装置包括:
字符段接收模块,用于接收客户端发送的待展示页面所包含字符对应的字符段,其中,所述字符段为所述客户端根据预设的字符段划分规则对所述待展示页面进行划分得到的;
字符位置获得模块,用于获得所接收的字符段中错词的字符位置;
字符位置发送模块,用于将各个字符段的字符位置发送至所述客户端,以使得所述客户端展示各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应对字符段中的错词进行标记。
由以上可见,本申请实施例中,对于待展示页面而言,获得待展示页面所包含字符对应的字符段中错词的字符位置,然后展示各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应字符段中的错词进行标记。与现有技术相比,本申请实施例提供的方案中,是在要展示待展示页面之前对该页面进行拼写检查,与现有技术中在加载文档时对整个文档进行拼写检查相比,加载文档过程中拼写检查占用的时间变短,因此,能够提高文档加载速度,进而提高文档展示速度,提高了用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的第一种拼写检查方法的流程示意图;
图2为本申请实施例提供的一种获得字符段中错词的字符位置的方法的流程示意图;
图3为本申请实施例提供的第二种拼写检查方法的流程示意图;
图4为本申请实施例提供的第三种拼写检查方法的流程示意图;
图5为本申请实施例提供的第四种拼写检查方法的流程示意图;
图6为本申请实施例提供的第一种拼写检查装置的结构示意图;
图7为本申请实施例提供的第二种拼写检查装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面先对本申请具体实例中涉及到的几个概念进行介绍:
文本流系统:由映射规则和数据池组成的系统。文本流技术,解决了添加和删除文字带来的后面文字的位置地址信息都需要调整的问题。数据池是在文本流系统中,在物理磁盘上存放的所有文本内容的统称。映射规则是一种索引,是数据的物理位置和逻辑位置的关系规则,可以采用树型结构来表示,将每个文本内容与该文本内容的物理地址、逻辑位置地址进行一一对应,以便计算机可以从物理地址下获取该文本内容。需要说明的是,映射规则也可以是map结构、链表结构,或者树型结构,本申请并不对此进行限定,优选树型结构。
ErrorWorldList列表:错词表,用于存储错词的Range,但不存放物料,目的是记录下哪个是错词。该错词的起点位置地址,是一种逻辑位置地址,并不是上述映射规则中物理地址。
ValidRange列表:记录了已进行过拼写检查的字符段的Range,但不存放物料。建立该表的目的是提高效率,处理过的错词,不再重复处理了,具体实现方法是进行过拼写检查并确认放入或不放入ErrorWorldList列表的字符段Range,并且这些字符段是没有发生变化的字符段,发生过变化后的字符段又需要进行拼写检查了,因此会从ValidRange列表中删除。
Marks列表:需要进行标记的错词表,用于存储以预设标记方式进行标记的错词的Range,但不存放物料。设置该表的目的是调用Marks表来完成绘制工作。
Errors列表:用来辅助完成右键菜单实现的列表,用于存储可能在右键菜单中展示建议词的所有可能错词的Range,但不存放物料。这些所有可能的错词中,最终会有一个错词被采纳。
Ignore列表:能够忽略拼写检查的错词列表,用于存储能够忽略拼写检查的错词的Range,但不存放物料。Ignore列表记录了因为应用软件的系统自身设置的需要,而要求被忽略的错词的Range,比如应用软件对于在修订功能中被删除的内容不再进行拼写检查,在批注中的文字不进行拼写检查等;还可能记录了用户根据自己的需求设置为被忽略的错词的Range;还可能记录了用户手动添加的,用户认为需要被忽略的错词的Range。
Range:是指起点位置地址(gcp)和区间长度(ccp)。起点位置地址,可以是从整个文本首位置开始编号,依次得到的逻辑位置地址。Range并不是上述文本流系统的映射规则中提到的物理地址。需要说明的是,上述各个表中存储的Range,可以是以起点位置和区间长度相结合表示的,还可以是以起点位置和结束位置相结合表示的,本申请并不对此进行限定,优选采用起点位置地址(gcp)和区间长度(ccp)相结合。
具体的,上述起点位置地址可以理解为:起点位置索引,上述结束位置地址可以理解为:结束位置索引。
下面对本申请实施例提供的拼写检查方法及装置进行详细介绍。
图1为本申请实施例提供的第一种拼写检查方法的流程示意图,该方法应用于客户端,包括:
S101:按照预设的字符段划分规则,确定待展示页面所包含字符对应的字符段。
对于一个文档或者网页而言,可以对应一个或者多个展示页面,本申请所提供的实施例仅仅对其中的一个展示页面进行拼写检查,其他页面对应的拼写检查方法均与此方法相同。
上述展示页面中包含多个字符,这些字符可以是中文字符、英文字符、法文字符、德文字符等等,本申请并不对此进行限定。
举例而言,中文字符可以理解为一个汉字,例如,我、你、她等等;
英文字符可以理解为一个英文字母或者一个英文单词,例如,a、we、you等等。
另外,不管是哪种字符,其中还可以包含标点符号、数字等等,例如,“,”、“、”、1、5、10等。
上述字符段可以简单的理解为:由一个或者多个字符形成的段。
例如,字符段可以是:
“解决了添加和删除”、“解决了,添加和删除……”、“解决了,添加和删除1、2、3”、“Pay attention to your spelling”、“Pay attention to your spelling!”、“Payattention to your spelling,1、2、3”等等。
具体的,按照预设的字符划分规则,确定待展示页面所包含字符对应的字符段时,可以先按照预设的字符划分规则得到一个字符段,然后对该字符段进行后续的拼写检查、展示该字符段等等操作,对该字符段处理完毕后,再按照预设的字符段划分规则获得下一字符段,并进行与上述相同的后续操作,如此循环直至完成对待展示页面的最后一个字符段的处理。
具体的,随着用户终端设备性能的不断提高,大多数设备均支持多任务并行处理,鉴于此,在按照预设的字符划分规则,确定待展示页面所包含字符对应的字符段时,还可以一次按照预设的字符划分规则获得多个字符段,然后对所获得的多个字符段进行上述后续操作,如此循环直至处理完毕待展示页面的最后一个字符段。
上述预设的字符段划分规则可以对应多种情况,具体如下:
第一种情况:将待展示页面所包含的所有字符确定为一个字符段,这样在展示一个字符段时,完成了整个待展示页面的展示;
例如,假设待展示页面所包含的所有字符为“将待展示页面所包含的所有字符确定为一个字符段”,则该待展示页面仅仅对应一个字符段,该字符段的内容为:“将待展示页面所包含的所有字符确定为一个字符段”。
第二种情况:将展示待展示页面时,每一展示行所包含的字符确定为一个字符段,这样在展示一个字符段时,仅仅完成了待展示页面中一行的展示;
例如,展示待展示页面时,第一展示行所包含的字符为“第一种情况是:”,第二展示行所包含的字符为“第二种情况是:”,第三展示行所包含的字符为“第三种情况是:”,则该待展示页面对应三个字符段,这三个字符段分别为:“第一种情况是:”、“第二种情况是:”、“第三种情况是:”。
第三种情况:按照预设的字符长度将待展示页面所包含的字符划分为字符段,这样在展示一个字符段时,仅仅完成待展示页面中一部分区域的展示,例如,上述预设的字符长度可以为90等等;
例如,假设待展示页面的一段字符内容为“解决了添加和删除文字带来的所有位置都需要调整的问题”,上述预设的长度为5,则待展示页面对应的字符段为:“解决了添加”、“和删除文字”、“带来的所有”、“位置都需要”、“调整的问题”。
第四种情况:按照预设的字符长度获得待展示页面所包含的字符对应的一个字符段后,检查该字符段末尾的字符是否与下一字符段的起始若干字符构成词,然后根据检查结果调整所获得的字符段,这样在展示一个字符段时,也仅仅完成待展示页面中一部分区域的展示。
例如,假设待展示页面的一段字符内容为“解决了添加和删除文字带来的所有位置都需要调整的问题”,按照预设的字符长度获得的一个字符段为:“解决了添加和删”,该字符段的最后一个字符为“删”,而下一字符段的起始第一个字符为“除”,显然“删除”为一个词,因此可以将上述字符段调整为“解决了添加和删除”,当然也可以调整为“解决了添加和”。
需要说明的是,本申请只是以上述为例进行说明,实际应用中预设的字符段划分规则并不仅限于上述几种情况。
在本申请的一种可选实现方式中,上述待展示页面所包含的字符可以是从文本流系统获得的,当然也可以是从其他文字保存系统获得的,本申请并不对此进行限定。
S102:获得所确定的各个字符段中错词的字符位置。
获得字符段中的错词的字符位置时可以借助词库进行,具体的,以一个字符段为例,可以先对该字符段进行分词处理,获得该字符段对应的词,然后采用预设的词库对上述字符段对应的词进行检测,确定其中的错词,进而获得该字符段中错词的字符位置。
其中,对上述字符段进行分词处理时,可以采用分词器对上述字符段进行分词处理,本领域内的技术人员可以根据现有技术获得分词器所采用的具体算法,这里不再详述。
由前面的描述得知,待展示页面中可以包含多种语言对应的字符,这里以中文和英文为例,对上述“词”进行介绍。
中文中的“词”可以理解为:中文中最小的能够独立运用的语言单位,可以是由一个中文字符组成的,也可以是由多个中文字符组成的,例如,“我”、“删除”、“实施例”等等。
英文中的词可以理解为:英文中最小的能够独立运用的语言单位,可以是由一个英文字符组成的,也可以是由多个英文字符组成的,例如,“a”、“we”、“happen”、“take place”等等。
需要说明的是,不管字符段中的字符是哪一种语言对应的字符,这些字符中均有可能包含标点符号、数字等等,利用分词器进行分词处理时,一般会将标点符号、数字等也分离出来,这样我们也可以将分离得到的标点符号、数字等称之为字符段对应的词。
上述预设的词库可以是客户端的默认词库,还可以是用户安装的第三方词库,还可以是用户根据自己的使用习惯,通过添加词等方式生成的自定义词库等等。
采用预设的词库对字符段对应的词进行检测,确定错词时,若采用预设的词库检测到字符段对应的词,则认为这样的词属于正确的词,而未检测到的词,则可以认为是错误的词,即错词。
具体的,上述错词的字符位置可以是以错词起点位置地址和错词字符长度相结合的形式表示的,还可以是以错词起点位置地址和错词终点位置地址相结合表示的,本申请并不对此进行限定。
S103:展示所确定的各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应字符段中的错词进行标记。
上述预设的标记形式可以是以“波浪线型下划线”形式进行标记、可以是以“双下划线”形式进行标记、可以是以加粗形式进行标记等等,本申请并不对预设的标记形式的具体表现形式进行限定。
本领域内的技术人员可以理解的是,用户在浏览文档或者网页的过程中可能会反复浏览已浏览过的内容,由于在用户第一次浏览一个展示页面的时候已经对其中的内容进行过拼写检查,为保证这种反复进行页面浏览的情况下,不会反复进行拼写检查,进而影响页面展示速度,本申请的一种较佳实现方式中,在获得所确定的各个字符段中错词的字符位置之后,还可以缓存所确定的各个字符段中错词的字符位置。
具体的,上述字符位置可以缓存在一个表中,例如,缓存在前述的ErrorWorldList列表中。
在获得所确定的各个字符段中错词的字符位置时,可以按照一定的规则分别获得各个字符段中错词的字符位置,在本申请的一种具体实现方式中,参见图2,提供了一种获得字符段中错词的字符位置的方法的流程示意图,该方法包括:
S102A:根据目标字符段的范围,判断是否已对目标字符段进行过拼写检查,若为否,执行S102B,若为是,执行S102D。
其中,上述目标字符段为所确定的各个字符段中的任一字符段。
上述目标字符段的范围可以是以起点位置地址和字符长度相结合表示的,也可以是以起点地址位置和终点地址位置相结合表示的。结合前面给出的定义,目标字符段的范围可以理解为目标字符段的Range。
在本申请的一种具体实现方式中,可以记录已进行过拼写检查的字符段的范围,例如,可以记录在前述的表ValidRange列表中。根据目标字符段的范围,判断是否已对目标字符段进行过拼写检查时,只需检查上述ValidRange列表中是否记录有目标字符段的范围,若记录有该范围,则认为已对目标字符段进行过拼写检查,若未记录有该范围,则认为没有对目标字符段进行过拼写检查。
S102B:对目标字符段进行分词处理,获得目标字符段对应的词。
例如,假设,目标字符段为“解决了添加和删除”,则对目标字符段进行分词处理,得到目标字符段对应的词可以包括:“解决”、“了”、“添加”、“和”、“删除”;
假设,目标字符段为“Pay attention to your spelling”,则对目标字符段进行分词处理,得到目标字符段对应的词可以包括:“Pay”、“attention”、“to”、“your”、“spelling”。
可以理解的,目标字符段中可能会包含标点符号、用户根据实际需要设置的不需要参与分词处理的字符等等,鉴于此,为保证准确获得目标字符段对应的词,在本申请的一种具体实现方式中,可以先对目标字符段进行分词处理,然后按照预设的词过滤规则对分词处理结果进行过滤处理,并根据过滤处理结果获得目标字符段对应的词。
假设,目标字符段为“S102B:对目标字符段进行分词处理,”,对目标字符段进行分词处理后得到的词为:“S”、“102”、“B”、“:”、“对”、“目标”、“字符段”、“进行”、“分词”、“处理”、“,”,预设的词过滤规则中规定过滤掉大写字母、数字和标点符号,则目标字符段对应的词为:“对”、“目标”、“字符段”、“进行”、“分词”、“处理”。
与上述情况类似,在本申请的另一种具体实现方式中,还可以先对目标字符段中满足预设字符过滤规则的字符进行过滤处理,然后再对经过滤处理后的目标字符段进行分词处理,获得目标字符段对应的词。
假设,目标字符段为“S102B:对目标字符段进行分词处理,”,预设的字符过滤规则中规定过滤掉大写字母、数字和标点符号,则过滤处理后的目标字符段为:“对目标字符段进行分词处理”,对过滤处理后的目标字符段进行分词处理得到目标字符段的词为:“对”、“目标”、“字符段”、“进行”、“分词”、“处理”。
S102C:根据预设的拼写检查规则,对目标字符段对应的词进行拼写检查,确定目标字符段中的错词,进而获得目标字符段中错词的字符位置。
可以理解的,在进行拼写检查时可以忽略字符段中的一些词,而只对其中的部分词进行拼写检查,例如,可以忽略网址、可以忽略数字、可以忽略数字和字母混合的词、可以忽略大写字符组成的词等等。
鉴于上述情况,在本申请的一种可选实现方式中,根据预设的拼写检查规则,对目标字符段对应的词进行拼写检查,确定目标字符段中的错词,进而获得目标字符段中错词的字符位置时,可以先根据预设的词库对目标字符段对应的词进行拼写检查,获得目标字符段中的错词,然后将目标字符段的错词中不能忽略拼写检查的错词的字符位置确定为目标字符段中错词的字符位置。
在本申请的另一种可选实现方式中,还可以先确定目标字符段对应的词中不能忽略拼写检查的词,然后对所确定的词进行拼写检查,获得错词,进而获得目标字符段中错词的字符位置。
S102D:根据已缓存的字符位置中针对目标字符段的信息,获得目标字符段中错词的字符位置。
由于在获得字符段中错词的字符位置后,还可以缓存错词的字符位置,所以,若已对目标字符段进行过拼写检查,则已缓存错词的字符位置中包含针对目标字符段中错词的字符位置等相关信息,基于此,在本申请的一种可选实现方式中,根据已缓存的字符位置中针对目标字符段的信息,获得目标字符段中错词的字符位置时,可以根据已缓存的字符位置中针对目标字符段的信息,获得目标字符段中的错词,然后将目标字符段的错词中不能忽略拼写检查的错词的字符位置确定为目标字符段中错词的字符位置。
值得一提的是,获得字符段中错词的字符位置后,缓存错词的字符位置时,可以仅仅缓存不能忽略拼写检查的错词的字符位置,这种情况下,根据已缓存的字符位置中针对目标字符段的信息,获得目标字符段中的错词后,可以直接将所获得的错词的字符位置确定为目标字符段中错词的字符位置。
由以上可见,本实施例中,对于待展示页面而言,获得待展示页面所包含字符对应的字符段中错词的字符位置,然后展示各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应字符段中的错词进行标记。与现有技术相比,本实施例提供的方案中,是在要展示待展示页面之前对该页面进行拼写检查,与现有技术中在加载文档时对整个文档进行拼写检查相比,加载文档过程中拼写检查占用的时间变短,因此,能够提高文档加载速度,进而提高文档展示速度,提高了用户体验。
下面结合文本流系统和上述各种列表对图1和图2对应的实施例进行进一步说明。
待展示页面是由文本流系统提供的,一个字符段对应待展示页面的一行。
从文本流系统中获得待展示页面第一行字符的范围,假设为:0-90,在ValidRange列表中查找是否存在该范围,若查找到了该范围,则从ErrorWorldList列表中获得上述范围内所有错词的范围,并将这些错词中不属于Ignore列表的错词添加至Marks列表中;
若在ValidRange列表中未查找到上述范围,则从文本流系统中获得上述范围对应的文本内容,也就是字符段,对上述文本内容进行分词处理,每获得一个词即进行如下拼写检查,直至对上述文本内容中的最后一个词进行拼写检查完毕:
检查预设的词库中是否存在所获得的词,若不存在,则认为该词属于错词,然后查看该词是否属于Ignore列表,若不属于Ignore列表,将该词添加至Marks列表中;
至此完成针对待展示页面第一行文本内容的拼写检查,这时可以展示上述文本内容,并以波浪线形式标记上述Marks列表中的词。
重复上述过程直至完成对待展示页面中所有行的展示。
需要说明的是,为防止影响对后续词的标记,可以在以波浪线形式标记Marks列表中的词后,对该表中的内容进行清空处理。
由前面的描述可以得知,可以根据预设的词库确定字符段中的错词,实际应用中,为保证能够正确使用预设的词库,在第一次使用词库时,可以对词库的相关信息进行初始化,具体如下:
获得当前所使用语言对应的主词库路径、默认自定义词库的路径,并通过扫描户注册表的形式获得注册表中记录的词库路径,根据所获得词库路径信息分别找到各个路径下的main.dic文件、main.aff文件,然后根据上述文件生成各个词库对应的标识,并将所生成的标识以及词库的相关信息添加至预设的词库列表中,在后续需要使用词库进行错词检查时,根据词库的标识从预设的词库列表中找到所需要使用的是哪一个词库,然后通过找到的词库进行错词检查。
在本申请的一种具体实现方式中,参见图3,提供了第二种拼写检查方法的流程示意图,与前述实施例相比,本实施例中,上述拼写检查方法还包括:
S104:接收建议词展示指令。
其中,上述建议词展示指令中携带待校正字符段的范围,该待校正字符段的范围,可以是以待校正字符段的起点位置地址和待校正字符段的字符长度相结合表示的,还可以是以待校正字符段的起点位置地址和待校正字符段的结束位置相结合表示的,本申请并不对此进行限定。
具体的,上述建议词展示指令可以是通过用户在以预设的标记形式标记的错词上点击鼠标右键获得的;还可以是用户选定词后通过点击鼠标右键获得的;还可以是用户将光标调整至以预设的标记形式标记的错词范围内后,通过点击预设按钮获得的;还可以是用户选定词后通过点击预设按钮获得的。
需要说明的是,上述仅仅为获得建议词展示指令的几种实现方式而已,本申请并不对此进行限定。
在本申请的一种可选实现方式中,上述待校正字段的范围可以通过以下方式获得:
获得用户点击鼠标右键的位置或者获得光标的当前位置后,根据所获得的位置,在已缓存的错词字符位置中进行匹配获得该位置对应的错词的字符位置,所获得的字符位置作为上述待校正字段的范围。
在本申请的另一种可选实现方式中,上述待校正字段的范围还可以通过以下方式获得:
将用户选定词的范围确定为上述待校正字段的范围。
S105:根据待校正字符段的范围,确定待校正字符段中的错词。
具体的,根据待校正字符段的范围,确定待校正字符段内的错词时,可以对待校正字符段的范围和已缓存的字符位置进行匹配,然后根据匹配结果,确定待校正字符段中的错词。
对待校正字符段的范围和已缓存的字符位置进行匹配时,查找已缓存的字符位置中位于待校正字符段的范围内的字符位置,将查找到的字符位置作为匹配结果的内容。
由于根据匹配结果确定的错词中可能会包含可以忽略拼写检查的错词,所以根据匹配结果,确定待校正字符段内的错词时,可以根据匹配结果中不能忽略拼写检查的错词,确定待校正字符段中的错词。
值得一提的是,上述待校正字符段中的错词可以是一个错词,也可以是多个错词,本申请并不对此进行限定。
S106:获得待校正字符段中错词对应的建议词。
获得错词对应的建议词时,可以通过预设的词库查找与该错词相似的词作为其建议词,另外,获得错词的建议词时,还可以考虑字符段中该错词前后的词。
具体的,在获得待校正字符段内的错词对应的建议词之后,还可以缓存待校正字符段中错词的字符位置以及待校正字符段中错词对应的建议词。
在每次获得了字符段中错词对应的建议词后均进行缓存的情况下,获得待校正字符段中错词对应的建议词时,可以根据待校正字符段中错词的字符位置,判断是否已缓存待校正字符段中错词对应的建议词,若为是,从已缓存的错词对应的建议词中获得待校正字符段中错词对应的建议词;若为否,根据预设的词库获得待校正字符段中错词对应的建议词。
S107:展示所获得的建议词。
由S104的描述可以得知,上述建议词展示指令可以是通过多种方式获得的,因此,相应的展示所获得的建议词时,可以以右键菜单的形式展示所获得的建议词,也可以以单一展示框的形式展示所获得的建议词。
本申请的一种可选实现方式中,在根据待校正字符段的范围,确定待校正字符段中的错词之后,还可以判断待校正字符段中错词的长度是否位于预设范围内,若为是,执行S106,这样可以保证不对过长或者过短的字符段进行建议词展示。
由以上可见,本实施例提供的方案中,接收到建议词展示指令后,展示错词的建议词,这样为用户提供了消除错词的更进一步提示信息,方便了用户消息待展示页面中的错词,进一步提高了用户体验。
下面结合文本流系统和上述列表对图3对应的实施例进行进一步说明。
用户在以波浪线标注的错词上面点击鼠标右键,根据用户点击鼠标右键的位置,从ErrorWorldList列表获得错词的起点位置地址和错词的长度,在该错词不属于Ignore列表的情况下,将该错词的范围添加至Errors列表中,若监测到Errors列表中错词的范围不为空,则设置右键菜单项中包含与拼写检查相关的操作项,例如,错词的建议词,以使得后续显示的右键菜单中包含与拼写检查相关的操作项,根据Errors列表中错词的范围从文本流系统中获得错词,并获得错词的建议词,生成右键菜单,右键菜单中包含上述错词的建议词。
在本申请的另一种具体实现方式中,参见图4,提供了第三种拼写检查方法的流程示意图,与图3所示实施例相比,本实施例中,上述拼写检查方法还包括:
S108:接收建议词选择指令。
其中,上述建议词选择指令中携带目标建议词。
S109:以目标建议词替换目标建议词对应的源词,并展示目标建议词。
上述目标建议词对应的源词为待校正字符段中的一个错词。
由前面的描述可以得知,在获得字符段中错词的字符位置后,可以缓存字符段中错词的字符位置,又由于进行上述建议词替换后,缓存的错词的字符位置已不再准确,所以,在本申请的一种可选实现方式中,可以根据目标建议词对应的源词对已缓存的信息进行更新。
可以理解的,在用户浏览页面的过程中,还可以会对该页面中的内容进行编辑,基于此,在本申请的一种具体实现方式中,上述拼写检查方法还可以包括:
获得改动字符段的范围,获得改动字符段中错词的字符位置,以预设的标记形式对改动字符段中的错词进行标记,并根据改动字符段的范围以及改动字符段中错词的字符位置,更新已缓存的错词的字符位置。
具体的,获得改动字符段的范围后,可以先判断ErrorWorldList列表中是否存在改动字符段的范围,若存在,从ErrorWorldList列表中删除上述范围,然后,判断是否存在以下情况中的任一种:
第一种情况:ValidRange列表中存在改动字符段的范围,这种情况下,从ValidRange列表删除该范围;
第二种情况:ValidRange列表包含改动字符段的部分范围或者全部范围的范围,这种情况下,从ValidRange列表中删除与改动字符段的范围相关的部分。
然后根据前述的方法获得改动字符段中错词的字符位置,并进行标记。
由以上可见,本实施例中,接收到建议词选择指令后,根据所选择的建议词进行替换,不需要用户自行输入替换词,方便了用户操作,进一步提高了用户体验。
为了减轻客户端的工作压力,拼写检查除了可以在客户端进行外,还可以在服务器侧进行,鉴于此本申请还提供了一种应用于服务器的拼写检查方法。
具体的,参见图5,提供了第四种拼写检查方法的流程示意图,该方法应用于服务器,包括:
S501:接收客户端发送的待展示页面所包含字符对应的字符段。
其中,上述字符段为客户端根据预设的字符段划分规则对待展示页面进行划分得到的。
S502:获得所接收的字符段中错词的字符位置。
S503:将各个字符段的字符位置发送至客户端,以使得客户端展示各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应对字符段中的错词进行标记。
在本申请的一种具体实现方式中,上述拼写检查方法还可以包括:
接收客户端发送的建议词展示指令,其中,建议词展示指令中携带待校正字符段的范围,根据待校正字段段的范围,确定待校正字符段中的错词,获得待校正字符段中错词对应的建议词,将所获得的建议词发送至客户端,以使得客户端展示所获得的建议词。
在本申请的另一种具体实现方式中,上述拼写检查方法还可以包括:
接收针对改动字符段的检查指令,其中,检查指令中携带改动字符段的范围,获得改动字符段中错词的字符位置,将改动字符段中错词的字符位置发送至客户端,以使得客户端根据改动字符段中错词的字符位置以预设的标记形式对错词进行标记。
需要说明的是,服务器获得所接收的字符段中错词的字符位置时,可以采用前述客户端获得字符段中错词的字符位置相同的方法,这里不再赘述。
由以上可见,本实施例提供的方案中,服务器获得待展示页面对应的字符段后,以字符段为单位获得各个字符段中错词的字符位置,并发送给客户端,这样不仅可以减轻客户端的工作压力,而且相对于现有技术中在加载文档时对整个文档进行拼写检查相比,加载文档过程中拼写检查占用的时间变短,因此,还能够提高文档加载速度,进而提高文档展示速度,提高了用户体验。
为更清楚的解释本申请实施例所提供的拼写检查方法,下面以WPS软件中的WPS文字应用软件为例,对拼写检查功能进行解释,但是如下具体实施例不构成对本申请的限定。
在图1所示实施例前面所介绍概念的基础上,进一步对前面所介绍的几个概念进行介绍。
文本流系统:由映射规则和数据池组成的系统。原有的线性存储技术在处理文档插入删除操作时,需要对修改点之后的数据逐一移位,文本流技术解决了由此导致的效率问题。数据池可以是存储在内存中的数据集合,存储了文本流中所有的实际文本数据,每个字符均拥有唯一的物理地址。映射规则是数据的物理位置和逻辑索引间的关系规则,可以采用树型结构来表示,将每个文本内容的逻辑索引与该文本内容实际的物理地址进行一一对应,以便计算机根据某逻辑索引位置查询到其实际物理地址,并从该物理地址下获取实际文本内容。需要说明的是,映射规则也可以是图形(map)结构、链表结构,或者树型(tree)结构,本申请并不对此进行限定,优选树型结构。
ErrorWordList列表:错词表,用于记录文本流中某个范围内的所有错词的Range。错词的Range可以使用其在文本流中的逻辑索引表示,例如[起点索引位置,区间长度],与其在内存中的实际物理地址无关,后文提到的Range均是如此。
ValidRange列表:已处理区间表,用于记录已进行过拼写检查的文本范围Range,在此列表中记录的Range保证自己范围内所有的错词均已加入ErrorWordList中。使用此表避免了对文本范围的重复拼写检查处理,提高了效率。当文本流产生变化,如用户输入或删除文本时,ValidRange中包含变化区域的所有Range也可以同时更新,需要重新进行拼写检查的区域会从ValidRange列表中截断或删除。
Marks列表:需要进行标记的错词表,用于存储以预设标记方式进行标记的错词的Range。系统会为所有存储在此表中的区间绘制预设标记,如下划线、波浪线,以提示用户这些区间内为错词。
Errors列表:用来辅助完成右键菜单实现的列表,用于存储可能在右键菜单中展示建议词的所有可能错词的Range。这些所有可能的错词中,最终会有一个错词被采纳。
Ignore列表:当次拼写检查过程中需要被忽略的错词Range的列表。在当次软件运行期间,存在于此列表中的Range将在拼写检查时被忽略,视为无错词。
Range:由起点位置索引(gcp)和区间长度(ccp)组成的表示一个区间的数据结构。起点位置索引,可以是从整个文本流首位置开始编号,依次得到的逻辑位置索引。Range并不是上述文本流系统的映射规则中提到的物理地址。需要说明的是,上述各个表中存储的Range,可以是以起点位置索引和区间长度相结合表示的,还可以是以起点位置索引和结束位置索引相结合表示的,本申请并不对此进行限定,优选采用起点位置索引(gcp)和区间长度(ccp)相结合的表示法。
需要说明的是,下述各个实施例中提起的起点位置地址可以理解为上述Rang解释中提及的起点位置索引。
应用WPS软件中的WPS文字应用软件的拼写检查功能进行拼写检查的过程如下:
步骤一:当检测到文本流系统发生变化时,获得改动的文本位置的起点位置地址(gcpA)。
步骤二:由于文本流变化,ErrorWordList中该处所存储的错词也已失效,通过上述改动的文本位置的起点位置地址gcpA,在ErrorWordList找到包含该gcp的range并删除。ErrorWordList会在之后的步骤中更新。
步骤三:确定gcpA所在行,获取所在行和该行后面每行的Range,从文本流系统中获取该行range的文本内容,将该文本内容进行分词处理,对分词处理结果进行筛选,删除掉特殊符号,获得每个干净词。
步骤四:每获得一个干净词后,就将这个干净词与词典库中的正确词进行比对,搜索该干净词是否在词典库中存在。如果不存在,则认为是一个错词。
步骤五:将错词的Range放入ErrorWordList,如果该词不应被忽略,也放入Marks列表中。
步骤六:启动绘制每一页,启动绘制该页的每行,当要绘制一行时,依次获取该行的每个Range,如果该Range在Marks列表中,则将该Range的位置绘制为波浪线。
作为一个具体的实施方式,在绘制一行时,对该行做拼写检查,绘制第二行时,再对第二行进行拼写检查,分流了任务,提高了效率。
步骤七:当用户点击右键希望调出右键菜单时,获得用户右键点击位置的起点位置地址gcp。
步骤八:根据起点位置索引gcp,从ErrorWordList中获得错词Range。
步骤九:根据错词的Range,获得该错词文本内容,在词典库中查询,获得与错词相对应的可行列表。
步骤十:制备右键菜单时加载可行列表,并通过界面显示给用户查看。
作为一个具体的实施方式,只有在请求右键菜单时,才会对错词有哪些建议词进行查询和确定,提高了工作效率,和显示效率。事实上,用户修改频繁,如果拼写检查的所有功能都提前做的话,很多检查和建议的修改词还没有开始利用,就被丢弃了。
下面通过更加详细的实施例对上述拼写检查过程进行介绍。
1、绘制标记的过程,即为错词标记红色波浪线。
用户输入了新内容或者进行了修改、删除,或者将文本移动到其他位置,导致了文本流系统的数据池或者是映射规则发生了变化。当监测到文本流系统有变化时,获取改动的文本位置的起点位置地址gcp,然后取改动过位置的行,逐行进行分词,检查各个分词是否有错词,如果有错词,就将错词放入Mark表中,然后一页一页地,每页的一行一行地将错词进行绘制,例如为错词加上波浪线。具体步骤如下。
步骤一:当检测到文本流系统发生变化时,获得改动的文本位置的起点位置地址(gcpA)。
即,用户输入了新内容或者进行了修改、删除,或者将文本移动到其他位置,导致了文本流系统的数据池或者是映射规则发生了变化,这时候开始获得改动过的文本位置的起点位置地址,假设起点位置地址gcpA的值是20。
步骤二:通过上述改动的文本位置的起点位置地址(gcpA),在ErrorWordList列表中查找各个Range,确定该起点位置地址(gcpA)在不在任何一个Range区间里。
假设ErrorWordList列表中有一个Range A的值是[15,50],即Range A的起点位置地址(gcp B)是15,区间长度(ccp B)是50,那么确定gcpA就在该Range A的区间里。
如果起点位置地址(gcpA)在某个Range区间里,则将起点位置地址(gcpA)变成该Range的起点位置地址(gcp B)的值,即gcpA的值由20变为15,然后删除ErrorWordList列表中对应的该Range,即删除Range A;如果有多个Range中都找到了gcpA,那么这些Range都做上述这种操作。如果起点位置地址(gcpA)不在任何一个Range区间里,则不用对gcpA的值做修改。这么做的目的是修改过的字符段,需要重新进行拼写检查。此时ErrorWordList中对该位置做的记录已经失效,因此从ErrorWordList列表中删除。如果拼写检查后仍然被认为是错词,那么再加入ErrorWordList列表中即可。更新gcpA为gcpB的目的是为了步骤三的操作,因为如果gcpA已处在ErrorWordList的一个区间中,则说明该区间是一个完整的词,那么在更新ValidRange时该词所在的整个范围都应被更新,所以将起点位置gcpA修改为gcpB,即它所在词的词首,的值。
步骤三:从ValidRange列表中的各个Range中查找,确定是否有gcpA,如果有,那么就从此处截断该Range;如果没有,则进入下一步。
假设gcpA的值是15,ValidRange列表中有一个Range B的值是[0,16],那么确定ValidRange列表中找到了gcpA,然后将Range B的值变为[0,15]。就是ValidRange列表中的这个Range B中,该Range B位于该gcp A之后的那一小段就不要了,就像壁虎把尾巴切断了一样,只要前面那一截。如果有多个Range中都找到了gcpA,那么这些Range都做上述这种操作。
步骤四:取文档中的一行内容,放入分词器进行分词。
例如,文档中的第一行的位置地址区间为[0,90],然后我们将[0,90]区间的文字内容通过文本流系统获得,然后一个一个进行分词。分出一个词来,就进入下一步,对这个词检查是否是错词;再分出来一个词,将这个词送入下一步流程。如果是并行系统,可以同时处理,如果是串行的系统,则一个分词处理完毕后再继续分下一个。
分词的步骤为:
(1)分词器会从当前剩余内容的起始拆分出一个Range,从文本流系统中获取该Range里的文本内容;
(2)将该文本内容,进行筛选,删除掉特殊符号,获得一个干净词,执行步骤五;其中,特殊符号包括:空格、问号等不具拼写检查意义的符号们,干净词就是一个从形式上而非语义上合法的词,比如是英文单词或者是中文词。
(3)在当前Range下执行步骤五、六、七。
(4)循环进行步骤(1),直到放入分词器的每个文本内容都被分完了。
步骤五:将干净词与词典库中的正确词进行比对,搜索该干净词是否在词典库中存在。如果不存在,则认为是一个错词,执行步骤六;如果存在,则认为是一个正确的词,返回,再次执行上述步骤四。
步骤六:将当前错词的Range放入ErrorWordList列表中。
步骤七:根据配置的Ignore选项,检查是否应该忽略该错词,例如是否忽略大写、数字字母混合文字、网址等。如果需要忽略,则忽略该错词,然后返回再次执行步骤四;如果不能忽略,则将该错词的Range放入Marks列表中。
哪些是应该忽略的错词?比如忽略全部大写的词,忽略数字和字母混合文字的词,修订功能下删除的内容、新增的内容,还有批注里面的内容,这些词不认为是错词,而是有特殊含义的词,不准备进行拼写检查。
分词工作是将整段文本拆分为一个一个词的过程,当整行文本、整段文本或者整页文本,或者是整篇文档的全部文本分词完毕没有词可以分的时候,开启绘制工作,将Mark表中的词进行绘制,加上波浪线。优选的,为了提高绘制速度,我们采用整行文本分词完毕后就拿去绘制。还有优选的方案是,仅对显示器能够显示的内容进行分词、和绘制,不需要显示的内容先不进行绘制。绘制的时候,采用了用波浪线标记错词的方式。
2、绘制步骤
步骤一:启动绘制一页,执行步骤二,然后启动绘制第二页,一直循环进行直到没有需要绘制的页为止。
需要绘制的页,可以是显示在屏幕上面的页,当前时间不在屏幕上面显示的页,在本具体实施例中,不再进行绘制。
步骤二:启动绘制该页的一行,执行步骤三,然后启动绘制第二行,一直循环进行,直到没有需要绘制的行为止。
步骤三:依次获取该行的每个Range。
步骤四:在ValidRange列表中查询,上述每个Range是否存在于ValidRange列表中;如果没有存在于ValidRange列表中,证明该Range还没有进行过拼写检查处理或者内容有更新需要重新进行拼写检查,那么就将文本流系统的当前区间放入分词器执行分词,进行前述分词步骤,重新获取分词,确认是否需要加入Marks列表中,然后执行步骤六;如果存在于ValidRange列表中,执行步骤五。
步骤五:从ErrorWordList列表中取出包含在该Range里的所有错词。
步骤六:确定所有错词中的每一个错词,是否在Ignore列表。该Ignore列表是用户指定的要忽略的词汇。如果不在,表示该错词不能被忽略,就将该错词的Range加入Marks表。
步骤七:将Marks表中的Range位置绘制上标记。
3、准备右键菜单的过程
用户在错词上面点击右键,才会触发下面的流程,准备右键菜单,在准备右键菜单的时候,才会将错词的建议词查找并显示出来。
步骤一:得到用户右键点击位置的起始索引位置gcp和区间长度ccp。
步骤二:在ErrorWordList列表中查询包含该区间的所有的错词,如果不应该被忽略,加入一个Error列表中。
步骤三:如果Error列表不为空,那么从中取出第一个错词的Range。
由于机器可能将该位置的词标记成了若干种可能的错词,所以Error列表可能存在多个错词的Range。其中,步骤二和步骤三可以由如下步骤替代“在ErrorWordList列表中查询,获得在该区间中发现的第一个错词,然后获得该错词的Range”,该步骤较之步骤二和三更有效率。
步骤四:检查和判断该Range是否应该被忽略,例如是否为修订状态的文本;如果不应被忽略,则进入步骤五。
步骤五:设置右键菜单的制备时,还需要加载拼写检查子项。
制备右键菜单的时候,系统会加载各个菜单子项,比如复制、粘贴等位于一个菜单子项,字体、段落等位于另一个菜单子项,拼写检查中推荐给用户的正确词列表位于一个菜单子项。如果需要加载该拼写检查子项,那么在右键菜单制备的时候,才去获取并加载。
步骤六:显示右键菜单,生成右键菜单子项。生成右键菜单子项包括如下(1)~(4)步骤。
(1)再次根据用户的点击位置,获取错词的range。
获取错词range的方法是:通过改动的文本位置的起点位置地址(gcp C),在ErrorWordList列表中查找各个Range,由于走到这一步说明必然此处有错词,所以会查找到包含此gcpC的Range C。
(2):从文本流中获取该Range的文本内容,判断文本内容是否超过或者小于某个预设的阈值,如果是,则太长太短的文本内容将被丢弃,不再执行下述步骤;如果否,则继续下一步。
(3):如果该文本内容在cookie中,已经存在有可行列表,那么直接用于生成菜单项列表,显示给用户查看;如果没有cookie,或者cookie里面没有该词;则进入下一步。可行列表,是该文本内容对应的多个建议正确词。
(4):获取词典库,查询可行列表并记录到cookie中,生成菜单项列表,显示给用户查看。
4、替换为正确词的过程
用户从右键菜单中选择了一个建议词,将触发下面的流程。比如用户将错词wod,准备修改为word。
步骤一:获得用户选择菜单项的内容,即一个文本内容“word”。
步骤二:设置选区为原错词的Range,即wod的Range值[5,3],位置地址是5,长度是3。
步骤三:替换选区内容为建议词,将文本流系统中的“wod”替换为“word”,此时词word的range就变为[5,4]。
步骤四:设置选区为建议词之后那个位置,即将光标位置放置于该词词尾,即放置在word的后面。
5、初始化词典库的过程
当用户设置了启动拼写检查功能后,需要在第一次要使用拼写检查相关功能时进行初始化,准备创建各种字典和系统功能。初始化的过程可以是下面三个步骤。
步骤一:获得当前语言的主词典路径和默认的自定义词典路径,扫描注册表相关信息,查找是否有其他用户自定义词典,如果有也获取相关路径信息。
自定义词典,是用户手动添加的,或者是系统自带的,或者是应用软件自带的系统等。
步骤二:分别添加这两个词典(主词典和可能多个自定义词典);
添加两个词典的方式是,创建词典信息记录,并将该词典信息记录放入词典管理模块的列表中,并放入注册表中。
步骤三:WPS应用软件加载两个词典。
与上述拼写检查方法相对应,本申请实施例还提供了一种拼写检查装置。
图6为本申请实施例提供的一种拼写检查装置的结构示意图,该装置应用于客户端,包括:
字符段确定模块601,用于按照预设的字符段划分规则,确定待展示页面所包含字符对应的字符段;
字符位置获得模块602,用于获得所确定的各个字符段中错词的字符位置;
错词标记模块603,用于展示所确定的各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应字符段中的错词进行标记。
具体的,上述拼写检查装置还可以包括:
字符位置缓存模块,用于在所述字符位置获得模块602获得字符位置之后,缓存所确定的各个字符段中错词的字符位置。
具体的,所述字符位置获得模块602可以包括:
字符段判断子模块,用于根据目标字符段的范围,判断是否已对所述目标字符段进行过拼写检查,其中,所述目标字符段为所确定的各个字符段中的任一字符段;
词获得子模块,用于在所述字符段判断子模块的判断结果为否的情况下,对所述目标字符段进行分词处理,获得所述目标字符段对应的词;
第一字符位置获得子模块,用于根据预设的拼写检查规则,对所述目标字符段对应的词进行拼写检查,确定所述目标字符段中的错词,进而获得所述目标字符段中错词的字符位置;
第二字符位置获得子模块,用于在所述字符判断子模块的判断结果为是的情况下,根据已缓存的字符位置中针对所述目标字符段的信息,获得所述目标字符段中错词的字符位置。
具体的,所述第一字符位置获得子模块可以包括:
第一错词获得单元,用于根据预设的词库对所述目标字符段对应的词进行拼写检查,获得所述目标字符段中的错词;
第一字符位置确定单元,用于将所述目标字符段的错词中不能忽略拼写检查的错词的字符位置确定为所述目标字符段中错词的字符位置。
具体的,所述第二字符位置获得子模块可以包括:
第二错词获得单元,用于根据已缓存的字符位置中针对所述目标字符段的信息,获得所述目标字符段中的错词;
第二字符位置确定单元,用于将所述目标字符段的错词中不能忽略拼写检查的错词的字符位置确定为所述目标字符段中错词的字符位置。
具体的,所述词获得子模块可以包括:
分词处理单元,用于对所述目标字符段进行分词处理;
过滤处理单元,用于按照预设的词过滤规则对分词处理结果进行过滤处理;
词获得单元,用于根据过滤处理结果获得所述目标字符段对应的词。
具体的,上述拼写检查装置还可以包括:
展示指令接收模块,用于接收建议词展示指令,其中,所述建议词展示指令中携带待校正字符段的范围;
错词确定模块,用于根据所述待校正字符段的范围,确定所述待校正字符段中的错词;
建议词获得模块,用于获得所述待校正字符段中错词对应的建议词;
建议词展示模块,用于展示所获得的建议词。
具体的,所述错词确定模块可以包括:
范围匹配子模块,用于对所述待校正字符段的范围和已缓存的字符位置进行匹配;
错词确定子模块,用于根据匹配结果,确定所述待校正字符段中的错词。
具体的,上述拼写检查装置还可以包括:
建议词缓存模块,用于在所述建议词获得模块获得建议词之后,缓存所述待校正字符段中错词的字符位置以及所述待校正字符段中错词对应的建议词。
具体的,所述建议词获得模块可以包括:
建议词判断子模块,用于根据所述待校正字符段中错词的字符位置,判断是否已缓存所述待校正字符段中错词对应的建议词;
第一建议词获得子模块,用于在所述建议词判断子模块的判断结果为是的情况下,从已缓存的错词对应的建议词中获得所述待校正字符段中错词对应的建议词;
第二建议词获得子模块,用于在所述建议词判断子模块的判断结果为否的情况下,根据预设的词库获得所述待校正字符段中错词对应的建议词。
具体的,所述拼写检查装置还可以包括:
长度判断模块,用于在所述错词确定模块确定错词之后,判断所述待校正字符段中错词的长度是否位于预设范围内,若为是,触发所述建议词获得模块获得建议词。
具体的,所述拼写检查装置还可以包括:
选择指令接收模块,用于接收建议词选择指令,其中,所述建议词选择指令中携带目标建议词;
词替换模块,用于以所述目标建议词替换所述目标建议词对应的源词,并展示所述目标建议词。
具体的,所述拼写检查装置还可以包括:
范围获得模块,用于获得改动字符段的范围;
所述字符位置获得模块,还用于获得所述改动字符段中错词的字符位置;
所述错词标记模块,还用于以预设的标记形式对所述改动字符段中的错词进行标记,并根据所述改动字符段的范围以及所述改动字符段中错词的字符位置,更新已缓存的错词的字符位置。
由以上可见,本实施例中,对于待展示页面而言,获得待展示页面所包含字符对应的字符段中错词的字符位置,然后展示各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应字符段中的错词进行标记。与现有技术相比,本实施例提供的方案中,是在要展示待展示页面之前对该页面进行拼写检查,与现有技术中在加载文档时对整个文档进行拼写检查相比,加载文档过程中拼写检查占用的时间变短,因此,能够提高文档加载速度,进而提高文档展示速度,提高了用户体验。
图7为本申请实施例提供的一种拼写检查装置的结构示意图,该装置应用于服务器,包括:
字符段接收模块701,用于接收客户端发送的待展示页面所包含字符对应的字符段,其中,所述字符段为所述客户端根据预设的字符段划分规则对所述待展示页面进行划分得到的;
字符位置获得模块702,用于获得所接收的字符段中错词的字符位置;
字符位置发送模块703,用于将各个字符段的字符位置发送至所述客户端,以使得所述客户端展示各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应对字符段中的错词进行标记。
具体的,上述拼写检查装置还可以包括:
展示指令接收模块,用于接收所述客户端发送的建议词展示指令,其中,所述建议词展示指令中携带待校正字符段的范围;
错词确定模块,用于根据所述待校正字段段的范围,确定所述待校正字符段中的错词;
建议词获得模块,用于获得所述待校正字符段中错词对应的建议词;
建议词发送模块,用于将所获得的建议词发送至所述客户端,以使得所述客户端展示所获得的建议词。
具体的,上述拼写检查装置还可以包括:
检查指令接收模块,用于接收针对改动字符段的检查指令,其中,所述检查指令中携带所述改动字符段的范围;
所述字符位置获得模块,还用于获得所述改动字符段中错词的字符位置;
所述字符位置发送模块,还用于将所述改动字符段中错词的字符位置发送至所述客户端,以使得所述客户端根据所述改动字符段中错词的字符位置以预设的标记形式对错词进行标记。
由以上可见,本实施例提供的方案中,服务器获得待展示页面对应的字符段后,以字符段为单位获得各个字符段中错词的字符位置,并发送给客户端,这样不仅可以减轻客户端的工作压力,而且相对于现有技术中在加载文档时对整个文档进行拼写检查相比,加载文档过程中拼写检查占用的时间变短,因此,还能够提高文档加载速度,进而提高文档展示速度,提高了用户体验。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (32)

1.一种拼写检查方法,其特征在于,应用于客户端,所述方法包括:
按照预设的字符段划分规则,确定待展示页面所包含字符对应的字符段;
获得所确定的各个字符段中错词的字符位置;
展示所确定的各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应字符段中的错词进行标记。
2.根据权利要求1所述的方法,其特征在于,在所述获得所确定的各个字符段中错词的字符位置之后,还包括:
缓存所确定的各个字符段中错词的字符位置。
3.根据权利要求2所述的方法,其特征在于,所述获得所确定的各个字符段中错词的字符位置,包括:
通过以下步骤分别获得所确定的各个字符段中错词的字符位置:
根据目标字符段的范围,判断是否已对所述目标字符段进行过拼写检查,其中,所述目标字符段为所确定的各个字符段中的任一字符段;
若为否,对所述目标字符段进行分词处理,获得所述目标字符段对应的词;
根据预设的拼写检查规则,对所述目标字符段对应的词进行拼写检查,确定所述目标字符段中的错词,进而获得所述目标字符段中错词的字符位置;
若为是,根据已缓存的字符位置中针对所述目标字符段的信息,获得所述目标字符段中错词的字符位置。
4.根据权利要求3所述的方法,其特征在于,所述根据预设的拼写检查规则,对所述目标字符段对应的词进行拼写检查,确定所述目标字符段中的错词,进而获得所述目标字符段中错词的字符位置,包括:
根据预设的词库对所述目标字符段对应的词进行拼写检查,获得所述目标字符段中的错词;
将所述目标字符段的错词中不能忽略拼写检查的错词的字符位置确定为所述目标字符段中错词的字符位置。
5.根据权利要求3所述的方法,其特征在于,所述根据已缓存的字符位置中针对所述目标字符段的信息,获得所述目标字符段中错词的字符位置,包括:
根据已缓存的字符位置中针对所述目标字符段的信息,获得所述目标字符段中的错词;
将所述目标字符段的错词中不能忽略拼写检查的错词的字符位置确定为所述目标字符段中错词的字符位置。
6.根据权利要求3所述的方法,其特征在于,所述对所述目标字符段进行分词处理,获得所述目标字符段对应的词,包括:
对所述目标字符段进行分词处理;
按照预设的词过滤规则对分词处理结果进行过滤处理;
根据过滤处理结果获得所述目标字符段对应的词。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收建议词展示指令,其中,所述建议词展示指令中携带待校正字符段的范围;
根据所述待校正字符段的范围,确定所述待校正字符段中的错词;
获得所述待校正字符段中错词对应的建议词;
展示所获得的建议词。
8.根据权利要求7所述的方法,其特征在于,所述根据所述待校正字符段的范围,确定所述待校正字符段内的错词,包括:
对所述待校正字符段的范围和已缓存的字符位置进行匹配;
根据匹配结果,确定所述待校正字符段中的错词。
9.根据权利要求7所述的方法,其特征在于,在所述获得所述待校正字符段内的错词对应的建议词之后,还包括:
缓存所述待校正字符段中错词的字符位置以及所述待校正字符段中错词对应的建议词。
10.根据权利要求9所述的方法,其特征在于,所述获得所述待校正字符段中错词对应的建议词,包括:
根据所述待校正字符段中错词的字符位置,判断是否已缓存所述待校正字符段中错词对应的建议词;
若为是,从已缓存的错词对应的建议词中获得所述待校正字符段中错词对应的建议词;
若为否,根据预设的词库获得所述待校正字符段中错词对应的建议词。
11.根据权利要求7所述的方法,其特征在于,在所述根据所述待校正字符段的范围,确定所述待校正字符段中的错词之后,还包括:
判断所述待校正字符段中错词的长度是否位于预设范围内;
若为是,执行所述获得所述待校正字符段中错词对应的建议词的步骤。
12.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收建议词选择指令,其中,所述建议词选择指令中携带目标建议词;
以所述目标建议词替换所述目标建议词对应的源词,并展示所述目标建议词。
13.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获得改动字符段的范围;
获得所述改动字符段中错词的字符位置;
以预设的标记形式对所述改动字符段中的错词进行标记,并根据所述改动字符段的范围以及所述改动字符段中错词的字符位置,更新已缓存的错词的字符位置。
14.一种拼写检查方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的待展示页面所包含字符对应的字符段,其中,所述字符段为所述客户端根据预设的字符段划分规则对所述待展示页面进行划分得到的;
获得所接收的字符段中错词的字符位置;
将各个字符段的字符位置发送至所述客户端,以使得所述客户端展示各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应对字符段中的错词进行标记。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的建议词展示指令,其中,所述建议词展示指令中携带待校正字符段的范围;
根据所述待校正字段段的范围,确定所述待校正字符段中的错词;
获得所述待校正字符段中错词对应的建议词;
将所获得的建议词发送至所述客户端,以使得所述客户端展示所获得的建议词。
16.根据权利要求14或15所述的方法,其特征在于,所述方法还包括:
接收针对改动字符段的检查指令,其中,所述检查指令中携带所述改动字符段的范围;
获得所述改动字符段中错词的字符位置;
将所述改动字符段中错词的字符位置发送至所述客户端,以使得所述客户端根据所述改动字符段中错词的字符位置以预设的标记形式对错词进行标记。
17.一种拼写检查装置,其特征在于,应用于客户端,所述装置包括:
字符段确定模块,用于按照预设的字符段划分规则,确定待展示页面所包含字符对应的字符段;
字符位置获得模块,用于获得所确定的各个字符段中错词的字符位置;
错词标记模块,用于展示所确定的各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应字符段中的错词进行标记。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:
字符位置缓存模块,用于在所述字符位置获得模块获得字符位置之后,缓存所确定的各个字符段中错词的字符位置。
19.根据权利要求18所述的装置,其特征在于,所述字符位置获得模块,包括:
字符段判断子模块,用于根据目标字符段的范围,判断是否已对所述目标字符段进行过拼写检查,其中,所述目标字符段为所确定的各个字符段中的任一字符段;
词获得子模块,用于在所述字符段判断子模块的判断结果为否的情况下,对所述目标字符段进行分词处理,获得所述目标字符段对应的词;
第一字符位置获得子模块,用于根据预设的拼写检查规则,对所述目标字符段对应的词进行拼写检查,确定所述目标字符段中的错词,进而获得所述目标字符段中错词的字符位置;
第二字符位置获得子模块,用于在所述字符判断子模块的判断结果为是的情况下,根据已缓存的字符位置中针对所述目标字符段的信息,获得所述目标字符段中错词的字符位置。
20.根据权利要求19所述的装置,其特征在于,所述第一字符位置获得子模块,包括:
第一错词获得单元,用于根据预设的词库对所述目标字符段对应的词进行拼写检查,获得所述目标字符段中的错词;
第一字符位置确定单元,用于将所述目标字符段的错词中不能忽略拼写检查的错词的字符位置确定为所述目标字符段中错词的字符位置。
21.根据权利要求19所述的装置,其特征在于,所述第二字符位置获得子模块,包括:
第二错词获得单元,用于根据已缓存的字符位置中针对所述目标字符段的信息,获得所述目标字符段中的错词;
第二字符位置确定单元,用于将所述目标字符段的错词中不能忽略拼写检查的错词的字符位置确定为所述目标字符段中错词的字符位置。
22.根据权利要求19所述的装置,其特征在于,所述词获得子模块,包括:
分词处理单元,用于对所述目标字符段进行分词处理;
过滤处理单元,用于按照预设的词过滤规则对分词处理结果进行过滤处理;
词获得单元,用于根据过滤处理结果获得所述目标字符段对应的词。
23.根据权利要求18所述的装置,其特征在于,所述装置还包括:
展示指令接收模块,用于接收建议词展示指令,其中,所述建议词展示指令中携带待校正字符段的范围;
错词确定模块,用于根据所述待校正字符段的范围,确定所述待校正字符段中的错词;
建议词获得模块,用于获得所述待校正字符段中错词对应的建议词;
建议词展示模块,用于展示所获得的建议词。
24.根据权利要求23所述的装置,其特征在于,所述错词确定模块,包括:
范围匹配子模块,用于对所述待校正字符段的范围和已缓存的字符位置进行匹配;
错词确定子模块,用于根据匹配结果,确定所述待校正字符段中的错词。
25.根据权利要求23所述的装置,其特征在于,所述装置还包括:
建议词缓存模块,用于在所述建议词获得模块获得建议词之后,缓存所述待校正字符段中错词的字符位置以及所述待校正字符段中错词对应的建议词。
26.根据权利要求25所述的装置,其特征在于,所述建议词获得模块,包括:
建议词判断子模块,用于根据所述待校正字符段中错词的字符位置,判断是否已缓存所述待校正字符段中错词对应的建议词;
第一建议词获得子模块,用于在所述建议词判断子模块的判断结果为是的情况下,从已缓存的错词对应的建议词中获得所述待校正字符段中错词对应的建议词;
第二建议词获得子模块,用于在所述建议词判断子模块的判断结果为否的情况下,根据预设的词库获得所述待校正字符段中错词对应的建议词。
27.根据权利要求23所述的装置,其特征在于,所述装置还包括:
长度判断模块,用于在所述错词确定模块确定错词之后,判断所述待校正字符段中错词的长度是否位于预设范围内,若为是,触发所述建议词获得模块获得建议词。
28.根据权利要求23所述的装置,其特征在于,所述装置还包括:
选择指令接收模块,用于接收建议词选择指令,其中,所述建议词选择指令中携带目标建议词;
词替换模块,用于以所述目标建议词替换所述目标建议词对应的源词,并展示所述目标建议词。
29.根据权利要求18所述的装置,其特征在于,所述装置还包括:
范围获得模块,用于获得改动字符段的范围;
所述字符位置获得模块,还用于获得所述改动字符段中错词的字符位置;
所述错词标记模块,还用于以预设的标记形式对所述改动字符段中的错词进行标记,并根据所述改动字符段的范围以及所述改动字符段中错词的字符位置,更新已缓存的错词的字符位置。
30.一种拼写检查装置,其特征在于,应用于服务器,所述装置包括:
字符段接收模块,用于接收客户端发送的待展示页面所包含字符对应的字符段,其中,所述字符段为所述客户端根据预设的字符段划分规则对所述待展示页面进行划分得到的;
字符位置获得模块,用于获得所接收的字符段中错词的字符位置;
字符位置发送模块,用于将各个字符段的字符位置发送至所述客户端,以使得所述客户端展示各个字符段,并根据每一字符段中错词的字符位置以预设的标记形式对相应对字符段中的错词进行标记。
31.根据权利要求30所述的装置,其特征在于,所述装置还包括:
展示指令接收模块,用于接收所述客户端发送的建议词展示指令,其中,所述建议词展示指令中携带待校正字符段的范围;
错词确定模块,用于根据所述待校正字段段的范围,确定所述待校正字符段中的错词;
建议词获得模块,用于获得所述待校正字符段中错词对应的建议词;
建议词发送模块,用于将所获得的建议词发送至所述客户端,以使得所述客户端展示所获得的建议词。
32.根据权利要求30或31所述的装置,其特征在于,所述装置还包括:
检查指令接收模块,用于接收针对改动字符段的检查指令,其中,所述检查指令中携带所述改动字符段的范围;
所述字符位置获得模块,还用于获得所述改动字符段中错词的字符位置;
所述字符位置发送模块,还用于将所述改动字符段中错词的字符位置发送至所述客户端,以使得所述客户端根据所述改动字符段中错词的字符位置以预设的标记形式对错词进行标记。
CN201610224317.2A 2016-04-11 2016-04-11 一种拼写检查方法及装置 Pending CN107291683A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610224317.2A CN107291683A (zh) 2016-04-11 2016-04-11 一种拼写检查方法及装置
US15/132,865 US10769370B2 (en) 2016-04-11 2016-04-19 Methods and apparatus for spell checking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610224317.2A CN107291683A (zh) 2016-04-11 2016-04-11 一种拼写检查方法及装置

Publications (1)

Publication Number Publication Date
CN107291683A true CN107291683A (zh) 2017-10-24

Family

ID=59998190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610224317.2A Pending CN107291683A (zh) 2016-04-11 2016-04-11 一种拼写检查方法及装置

Country Status (2)

Country Link
US (1) US10769370B2 (zh)
CN (1) CN107291683A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109492208A (zh) * 2018-10-12 2019-03-19 天津字节跳动科技有限公司 文档编辑方法及其装置、设备、存储介质
CN110569427A (zh) * 2019-08-07 2019-12-13 智者四海(北京)技术有限公司 一种多目标排序模型训练、用户行为预测方法及装置
CN113095072A (zh) * 2019-12-23 2021-07-09 华为技术有限公司 文本处理方法及装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HK1210371A2 (zh) * 2015-11-20 2016-04-15 衍利行資產有限公司 種分析文本的方法和系統
CN111381751A (zh) * 2016-10-18 2020-07-07 北京字节跳动网络技术有限公司 一种文本处理方法及装置
CN108090043B (zh) * 2017-11-30 2021-11-23 北京百度网讯科技有限公司 基于人工智能的纠错举报处理方法、装置及可读介质
US11132505B2 (en) * 2019-08-22 2021-09-28 Culture Com Technology (Macau), Limited Chinese composition reviewing system
CN110633461B (zh) * 2019-09-10 2024-01-16 北京百度网讯科技有限公司 文档检测处理方法、装置、电子设备和存储介质
CN110929514B (zh) * 2019-11-20 2023-06-27 北京百分点科技集团股份有限公司 文本校对方法、装置、计算机可读存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070162847A1 (en) * 2006-01-10 2007-07-12 Microsoft Corporation Spell checking in network browser based applications
CN101131688A (zh) * 2006-08-24 2008-02-27 国际商业机器公司 检查文档拼写的方法和系统
CN102937949A (zh) * 2012-10-15 2013-02-20 福建榕基软件股份有限公司 一种在富文本编辑器内实现英文拼写检查的方法及系统
US20130060560A1 (en) * 2011-09-01 2013-03-07 Google Inc. Server-based spell checking
US20130283156A1 (en) * 2012-04-20 2013-10-24 King Abdulaziz City For Science And Technology Methods and systems for large-scale statistical misspelling correction
CN105159872A (zh) * 2015-08-25 2015-12-16 长沙市麓智信息科技有限公司 基于专利撰写的在线业务处理系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649222A (en) * 1995-05-08 1997-07-15 Microsoft Corporation Method for background spell checking a word processing document
US5907680A (en) * 1996-06-24 1999-05-25 Sun Microsystems, Inc. Client-side, server-side and collaborative spell check of URL's
US6963871B1 (en) * 1998-03-25 2005-11-08 Language Analysis Systems, Inc. System and method for adaptive multi-cultural searching and matching of personal names
US6694055B2 (en) * 1998-07-15 2004-02-17 Microsoft Corporation Proper name identification in chinese
US6785869B1 (en) * 1999-06-17 2004-08-31 International Business Machines Corporation Method and apparatus for providing a central dictionary and glossary server
US7610189B2 (en) * 2001-10-18 2009-10-27 Nuance Communications, Inc. Method and apparatus for efficient segmentation of compound words using probabilistic breakpoint traversal
US20060229995A1 (en) * 2001-11-06 2006-10-12 Ferraro Eugene F Report form generator for anonymous reporting system
US7404143B2 (en) * 2003-12-26 2008-07-22 Microsoft Corporation Server-based single roundtrip spell checking
CA2694327A1 (en) * 2007-08-01 2009-02-05 Ginger Software, Inc. Automatic context sensitive language correction and enhancement using an internet corpus
US20090100335A1 (en) * 2007-10-10 2009-04-16 John Michael Garrison Method and apparatus for implementing wildcard patterns for a spellchecking operation
US8644488B2 (en) * 2008-10-27 2014-02-04 Nuance Communications, Inc. System and method for automatically generating adaptive interaction logs from customer interaction text
WO2011091340A1 (en) * 2010-01-22 2011-07-28 Cornell University Multi-focal optical component, optical system, and imaging method
US8341222B2 (en) * 2010-04-02 2012-12-25 Microsoft Corporation Text suggestion framework with client and server model
US8473507B2 (en) * 2011-01-14 2013-06-25 Apple Inc. Tokenized search suggestions
US8640026B2 (en) * 2011-07-11 2014-01-28 International Business Machines Corporation Word correction in a multi-touch environment
US20130061139A1 (en) * 2011-09-01 2013-03-07 Google Inc. Server-based spell checking on a user device
US9372858B1 (en) * 2013-12-12 2016-06-21 Google Inc. Systems and methods to present automated suggestions in a document
US9910931B2 (en) * 2014-03-19 2018-03-06 ZenDesk, Inc. Suggestive input systems, methods and applications for data rule creation
US9959296B1 (en) * 2014-05-12 2018-05-01 Google Llc Providing suggestions within a document
US9881010B1 (en) * 2014-05-12 2018-01-30 Google Inc. Suggestions based on document topics
US10042841B2 (en) * 2015-07-17 2018-08-07 International Business Machines Corporation User based text prediction

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070162847A1 (en) * 2006-01-10 2007-07-12 Microsoft Corporation Spell checking in network browser based applications
CN101131688A (zh) * 2006-08-24 2008-02-27 国际商业机器公司 检查文档拼写的方法和系统
US20130060560A1 (en) * 2011-09-01 2013-03-07 Google Inc. Server-based spell checking
US20130283156A1 (en) * 2012-04-20 2013-10-24 King Abdulaziz City For Science And Technology Methods and systems for large-scale statistical misspelling correction
CN102937949A (zh) * 2012-10-15 2013-02-20 福建榕基软件股份有限公司 一种在富文本编辑器内实现英文拼写检查的方法及系统
CN105159872A (zh) * 2015-08-25 2015-12-16 长沙市麓智信息科技有限公司 基于专利撰写的在线业务处理系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109492208A (zh) * 2018-10-12 2019-03-19 天津字节跳动科技有限公司 文档编辑方法及其装置、设备、存储介质
CN110569427A (zh) * 2019-08-07 2019-12-13 智者四海(北京)技术有限公司 一种多目标排序模型训练、用户行为预测方法及装置
CN113095072A (zh) * 2019-12-23 2021-07-09 华为技术有限公司 文本处理方法及装置

Also Published As

Publication number Publication date
US10769370B2 (en) 2020-09-08
US20170293604A1 (en) 2017-10-12

Similar Documents

Publication Publication Date Title
CN107291683A (zh) 一种拼写检查方法及装置
US11621940B2 (en) Systems, devices, and methods for generating a domain name using a user in interface
US20080079730A1 (en) Character-level font linking
US20080071803A1 (en) Methods and systems for real-time citation generation
US8976118B2 (en) Method for character correction
US20190050376A1 (en) Automatic value formatting based on intrinsic structural semantics
DE112009001107T5 (de) Verfahren einer Email-Adress-Suche und Email-Adress-Transliteration und zugehörige Vorrichtung
CN107203498A (zh) 一种创建电子书的方法、系统及其用户终端和服务器
CN108710601A (zh) 一种文本显示方法及其设备、存储介质、电子设备
CN109117032A (zh) 基于epub电子书的阅读处理方法及装置
CN104063498A (zh) 浏览器书签的搜索方法和装置
CN105279245A (zh) 一种收藏网页上内容的方法及电子设备
CN112651217A (zh) 论文文档的处理方法、处理装置、电子设备及存储介质
US8001138B2 (en) Word relationship driven search
JP6994138B2 (ja) 情報管理装置並びにファイル管理方法
JP2005011055A (ja) 電子帳票設計管理方法及び装置並びに処理プログラムと記録媒体
WO2017043664A1 (ja) 情報管理装置並びにファイル管理方法
CN112016277A (zh) 一种格式调整的方法、装置、计算机存储介质及终端
CN106293368A (zh) 一种数据处理方法及电子设备
CN105786297A (zh) 基于输入法启动软件的方法和装置
WO2021025091A2 (ja) 情報管理装置並びにファイル管理方法
JP5564932B2 (ja) 文書校正支援装置、プログラム及び方法
JPH09330107A (ja) プログラマブルコントローラ用ラダー図作成cadシステムにおけるコメント付与方法
JPH03105557A (ja) 文書に対する情報の付加方法
JP2022122798A (ja) 情報管理装置並びにファイル管理方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171024

RJ01 Rejection of invention patent application after publication