System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于自然语言处理领域,尤其涉一种基于flex的句子边界检测方法、设备、存储介质及装置。
技术介绍
1、目前,大多数算法采用基于机器学习的方法进行句子断句。基于机器学习的方法则需要通过大量的标注数据训练分类模型,来预测每个标点符号是否是句子断句的位置。这种方法需要先对文本进行分词、词性标注等处理,再提取相应的特征,如上下文信息、语法关系等,最后使用分类器进行预测。常用的分类器包括决策树、支持向量机等。
2、目前实现英文句子断句的方案主要有:
3、1.有监督的机器学习。这种方式需要标注数据集;使用决策树和神经网络,需要词性信息和训练数据。这种方式需要大量的数据,以及人工的标注信息,训练数据对机器的内存以及cpu有较高的要求;
4、2.基于最大熵模型,从一组预先标记了断句的文档中自动学习一组规则;
5、3.satz架构使用神经网络消除句子边界歧义;
6、4.基于机器学习的方法。借助机器学习的方法如隐markov模型,利用大量已知断句位置的段落去训练分句器。
7、但是,目前可以正确识别以上形式中的句号的工具的前提是表示句子边界的句号后面必须有空白字符,并且句号后面的首字母需要大写,否则无法正确断句。由于书写的不规范等原因不能严格按照英文的书写规范保证句号末尾必须有空白字符,或者首字母大写等原因使断句变的复杂,断句的不准确直接影响英文的批改或翻译的效果。
技术实现思路
1、本专利技术的目的是提出一种基于flex
2、为了达到上述目的,在本专利技术第一方面提供了一种基于flex的句子边界检测方法,所述方法包括:
3、获取需要检测的句子;
4、对句子进行规范化处理,得到规则文件;
5、定义基于flex的词法规则,构建flex词法解析器;
6、使用jflex语法生成器将规则文件转换成java源文件;
7、使用flex词法解析器从左到右逐个字符清洗后的文本进行扫描,得到正确的分词结果;
8、根据句子边界的索引进行句子边界检测,根据检测结果获取断句结果。
9、进一步地,所述规范化处理为将中文标点符号改为对应英文的标点符号。
10、进一步地,所述基于flex的词法规则为读取输入,匹配输入与所有的正则表达式,flex词法解析器把所有的正则表达式翻译成内部格式,并且执行每次匹配后关联对应的动作。
11、进一步地,所述内部格式包括数字、邮箱、缩略词、空格、spaces、换行、空格或换行、带有换行的空格字符、文件后缀、文件名、数字、手机号、日期和句子边界。
12、进一步地,所述java源文件用于保证特殊token先被识别而不会匹配上句子边界。
13、进一步地,所述正确的分词结果包括:缩写标志、小数点、邮箱、省略号和序号中的句号以及特殊的字符会被识别为一个token,句子边界的句号被单独识别为一个token,根据token定位到所有句子边界的索引。
14、在本专利技术的第二方面提供了一种基于flex的句子边界检测设备,所述一种基于flex的句子边界检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的一种基于flex的句子边界检测程序,所述一种基于flex的句子边界检测程序被所述处理器执行时实现上述任一项所述的一种基于flex的句子边界检测方法的步骤。
15、在本专利技术的第三方面提供了一种存储介质,所述存储介质上存储有一种基于flex的句子边界检测程序,所述一种基于flex的句子边界检测程序被处理器执行时实现上述任一项所述的一种基于flex的句子边界检测方法的步骤。
16、在本专利技术的第四方面提供了一种基于flex的句子边界检测装置,所述一种基于flex的句子边界检测装置包括:获取模块、处理模块、定义模块、转换模块、扫描模块和断句模块;
17、所述获取模块,用于获取需要检测的句子;
18、所述处理模块,用于对句子进行规范化处理,得到规则文件;
19、所述定义模块,用于定义基于flex的词法规则,构建flex词法解析器;
20、所述转换模块,用于使用jflex语法生成器将规则文件转换成java源文件;
21、所述扫描模块,用于使用flex词法解析器从左到右逐个字符清洗后的文本进行扫描,得到正确的分词结果;
22、所述断句模块,用于根据句子边界的索引进行句子边界检测,根据检测结果获取断句结果。
23、本专利技术的有益技术效果至少在于以下:
24、(1)本专利技术是提出一种简单高效的对英文文章进行断句的方法。英文断句是进行语法批改以及进一步分析的前提,作为英语作文批改的输入。
25、(2)将文本分成按边界一个个单句。感叹号!和问号?是很明确的句子边界标志,但是英文中的句号.存在歧义。句号可以作为句子边界,缩写标志(如mr.和dr.)以及小数点(如0.2%和4.3等),邮箱xxx@xxx.com,,省略号,序号1.和文件的后缀。
26、(3)本专利技术使用flex定义词法规则,生成flex词法分析器对输入文本进行分词,这样缩写标志,小数点,邮箱,省略号和序号中的句号以及文件的名称包含后缀会被识别为一个token,不符合此规则的句号会单独成为一个token,进而可以根据句号感叹号问号进行断句。
本文档来自技高网...【技术保护点】
1.一种基于FLEX的句子边界检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种基于FLEX的句子边界检测方法,其特征在于,所述规范化处理为将中文标点符号改为对应英文的标点符号。
3.根据权利要求1所述的一种基于FLEX的句子边界检测方法,其特征在于,所述基于FLEX的词法规则为读取输入,匹配输入与所有的正则表达式,FLEX词法解析器把所有的正则表达式翻译成内部格式,并且执行每次匹配后关联对应的动作。
4.根据权利要求3所述的一种基于FLEX的句子边界检测方法,其特征在于,所述内部格式包括数字、邮箱、缩略词、空格、SPACES、换行、空格或换行、带有换行的空格字符、文件后缀、文件名、手机号、日期和句子边界。
5.根据权利要求1所述的一种基于FLEX的句子边界检测方法,其特征在于,所述java源文件用于保证特殊token先被识别而不会匹配上句子边界。
6.根据权利要求1所述的一种基于FLEX的句子边界检测方法,其特征在于,所述正确的分词结果包括:缩写标志、小数点、邮箱、省略号和序号中的句号以及特殊的字符会被
7.一种基于FLEX的句子边界检测设备,其特征在于,所述一种基于FLEX的句子边界检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的一种基于FLEX的句子边界检测程序,所述一种基于FLEX的句子边界检测程序被所述处理器执行时实现如权利要求1至6中任一项所述的一种基于FLEX的句子边界检测方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有一种基于FLEX的句子边界检测程序,所述一种基于FLEX的句子边界检测程序被处理器执行时实现如权利要求1至6中任一项所述的一种基于FLEX的句子边界检测方法的步骤。
9.一种基于FLEX的句子边界检测装置,其特征在于,所述一种基于FLEX的句子边界检测装置包括:获取模块、处理模块、定义模块、转换模块、扫描模块和断句模块;
...【技术特征摘要】
1.一种基于flex的句子边界检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种基于flex的句子边界检测方法,其特征在于,所述规范化处理为将中文标点符号改为对应英文的标点符号。
3.根据权利要求1所述的一种基于flex的句子边界检测方法,其特征在于,所述基于flex的词法规则为读取输入,匹配输入与所有的正则表达式,flex词法解析器把所有的正则表达式翻译成内部格式,并且执行每次匹配后关联对应的动作。
4.根据权利要求3所述的一种基于flex的句子边界检测方法,其特征在于,所述内部格式包括数字、邮箱、缩略词、空格、spaces、换行、空格或换行、带有换行的空格字符、文件后缀、文件名、手机号、日期和句子边界。
5.根据权利要求1所述的一种基于flex的句子边界检测方法,其特征在于,所述java源文件用于保证特殊token先被识别而不会匹配上句子边界。
6.根据权利要求1所述的一种基于flex的句子边界检测方法,其特征在于,所述正确...
【专利技术属性】
技术研发人员:赵荣华,
申请(专利权)人:北京粉笔蓝天科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。