CN108874780A - 一种分词算法系统 - Google Patents
一种分词算法系统 Download PDFInfo
- Publication number
- CN108874780A CN108874780A CN201810676420.XA CN201810676420A CN108874780A CN 108874780 A CN108874780 A CN 108874780A CN 201810676420 A CN201810676420 A CN 201810676420A CN 108874780 A CN108874780 A CN 108874780A
- Authority
- CN
- China
- Prior art keywords
- sentence
- word
- list
- module
- phrase
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
一种分词算法系统,包括:录入模块、句子划分模块、列表导入模块、规则生成模块、分词模块、数据处理模块及存储器;所述句子划分模块、规则生成模块以及分词模块分别与所述数据处理模块连接;所述句子划分模块把从录入模块接收到的文本根据文本中的标点符号进行句子的划分;所述列表导入模块用于导入列表并发送到规则生成模块,所述规则生成模块根据导入的单词列表、短语列表和单词的原型与变形列表构建出匹配规则列表;所述分词模块通过获取所述句子以及匹配规则列表,按照匹配规则在句子中匹配出句子中存在的单词和短语;所述数据处理模块通过调取所述匹配结果来进行统计,生成单词或短语频次表。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种分词算法系统。
背景技术
在日常的英文学习中,尤其对于要迎接高考、雅思、托福、考研等考生来说,对于在考试中单词出现频率高的词汇,需要重点去复习。
在现有技术中,通常使用Word或者Excel表格进行单词的统计。这种统计只能统计单词的原型,不能统计单词的变形,且难以统计短语,统计出的数据非常有限,不够准确,尤其是一些中间穿插了单词的短语,无法在现有技术的常规手段中统计出来。
在现有的背单词软件中,虽然有关于单词在考试中出现频率的统计,进而统计出考试的重点词汇供用户复习,但仍然无法准确统计单词和短语出现在考试中出现的次数,以及每一次考试中出现的次数和出现的形式,统计出来的数据不精准,无法贴合用户的需求。
发明内容
为了解决上述问题,本发明提供了一种分词算法系统,具体技术方案如下:
一种分词算法系统,包括:录入模块、句子划分模块、列表导入模块、规则生成模块、分词模块、数据处理模块及存储器;所述存储器与数据处理模块连接,用于数据的存储;
所述录入模块与句子划分模块连接,用于文本的录入或导入,并把录入或导入的文本发送到所述句子划分模块;其中,所述录入模块除了对文本的文本内容进行录入,还对文本的属性进行录入;
所述句子划分模块与数据处理模块连接,所述句子划分模块把接收到的文本根据文本中的标点符号进行句子的划分,并通过所述数据处理模块把划分好的句子存储于所述存储器;
所述列表导入模块与规则生成模块连接,用于导入列表并发送到规则生成模块;所述列表包括:单词列表、短语列表、单词的原型与变形列表;
所述规则生成模块与数据处理模块连接,所述规则生成模块根据导入的单词列表、短语列表和单词的原型与变形列表构建出匹配规则列表,使句子中出现的单词,无论是单词的原型还是变形都可以匹配到所述单词的原型,并通过所述数据处理模块把所述匹配规则列表述存储于所述存储器;
所述分词模块与数据处理模块连接,通过获取所述存储器中存储的句子以及匹配规则列表,按照匹配规则匹配出句子中存在的单词和短语,并通过所述数据处理模块把匹配的结果存储于存储器;
所述数据处理模块通过调取存储器中存储的匹配结果来进行统计,生成单词或短语频次表,所述单词或短语频次表包括每一个匹配到的单词或短语,以及每一个匹配到的单词或短语出现的形式及出现的次数。
所述短语列表包括特殊短语列表;所述规则生成模块根据特殊短语列表和单词的原型与变形列表,列出特殊的短语的所有匹配形式,形成特殊短语的匹配规则列表,并存储到存储器中。
所述匹配结果包括若干匹配项,每一个匹配项均包括:句子ID、匹配到的单词或短语以及单词或短语在句子中的起始和终止位置信息;其中,所述起始位置信息为单词或短语中的第一个单词的首字母在句子中的位置;所述终止位置信息为单词或短语中的最后一个单词的最后一个字母在句子中的位置。
优选的,还包括审核模块,所述审核模块与数据处理模块连接;若相同的起始位置和终止位置上存在两个或以上的匹配项,数据处理模块判断该匹配项存在歧义,并把所述具有歧义的匹配项以及对应的句子发送到审核模块,由审核模块生成歧义项列表,人工对歧义项列表中的歧义项进行再确认后,审核模块把人工确认信息反馈到数据处理模块,并在存储器中单独存储。
所述句子划分模块还包括散列单元;所述散列单元对每一个划分的句子进行散列算法变换,得出每个句子对应的散列值。
所述句子划分模块还包括标记单元;所述标记单元生成输入文本的文本ID,并结合文本ID以及所述的散列值生成句子ID,并对每一个句子进行标记,关联句子与该句子对应的句子ID以及句子的属性。
一种歧义单词或短语的判断方法,包括以下步骤:
S1:按照句子ID把所述匹配结果划分为若干个子集,使每一个子集中的每一个匹配项都具有相同的句子ID,且每一个句子ID有且只有一个子集;
S2:调取一个子集:调取一个子集中每一个匹配项的起始和终止位置信息;
S3:判断通过步骤S2调取的信息中,是否存在起始位置和终止位置均相同的匹配项:若相同的起始位置和终止位置有且只有一种匹配结果,则判断为没有歧义;若相同的起始位置和终止位置上存在两个或以上的匹配项,判断该单词或短语存在歧义,并把存在歧义的匹配项标识为歧义项;
S4:重复步骤S2和S3,直至完成文本中所有子集的判断,然后进入步骤S5;
S5:把通过步骤S4得到的各个歧义项以及各个歧义项对应的句子发送到所述审核模块。
一种差量分词方法,包括以下步骤:
S1:通过所述录入模块进行文本的导入;
S2:所述句子划分模块对文本进行句子的划分,并生成每个句子的句子ID;所述句子ID包括文本ID与句子的散列值;并把划分好的句子及其句子ID信息发送到所述数据处理模块;
S3:数据处理模块接收到步骤S2发送的信息后,在所述存储器中调取已存储的句子的句子ID,并判断接收到的句子的文本ID是否已存在;
1)若接收到的句子的文本ID在存储器中不存在,则把这些句子以及对应的句子ID信息存储到所述存储器,同时把所述句子发送到分词模块,跳过步骤S4,进入步骤S5;
2)若接收到的句子的文本ID在存储器中存在,则把存储器中文本ID与接收到的句子的文本ID相同的句子都调取出来,并进入步骤S4;
S4:数据处理模块对步骤S3调取出来的句子与通过步骤S2接收到的句子进行散列值的匹配,判断是否存在散列值不同的句子;
1)若不存在散列值不同的句子,不需要进行分词;
2)若存在散列值不同的句子,把散列值不同的句子抽取出来,删除所述散列值不同的,且已存储于存储器的句子,同时,在所述散列值不同的句子中,把通过步骤S2接收到的句子作为新增句子存储到所述存储器中;把所述新增句子发送到所述分词模块,并进入步骤S5;
S5:所述分词模块对从数据处理模块接收到的句子进行单词及短语的匹配。
一种普通短语的匹配规则列表的生成方法,包括以下步骤:
S1:调取所述普通短语列表和单词的原型与变形列表;
S2:以所述单词的原型与变形列表对所述普通短语列表进行扩展,即穷举普通短语列表中所有的短语在句子中可能出现的变化形态,形成列表总集1:
a:识别普通短语列表中每一个普通短语所含有的原型单词;
b:以变形单词替换原型单词形成新的普通短语;
c:重复上述步骤a至b直至普通短语列表中所有的原型单词都均以变形单词重新生成新的普通短语;
d:把通过步骤c生成的普通短语进行汇总,形成列表总集1;
S3:根据所述普通短语列表与所述列表总集1生成普通短语的正则矩阵,使普通短语中出现的单词,无论是单词的原型还是变形都可以匹配到所述单词的原型。
10.根据权利要求2至6任一项所述的一种分词算法系统的一种特殊短语的匹配规则列表的生成方法,其特征在于,包括以下步骤:
S1:调取所述特殊短语列表和单词的原型与变形列表;
S2:以所述单词的原型与变形列表对所述特殊短语列表进行扩展,即穷举特殊短语列表中所有的短语在句子中可能出现的变化形态,形成列表总集2;
a:识别特殊短语列表中每一个特殊短语所含有的原型单词;
b:以变形单词替换原型单词形成新的特殊短语;
c:重复上述步骤a至b直至特殊短语列表中所有的原型单词都均以变形单词重新生成新的特殊短语;
d:把通过步骤c生成的特殊短语以及特殊短语列表中的特殊短语进行汇总,形成列表总集2;
S3:对特殊短语进行去空格处理,形成列表总集3:
a:对通过列表总集2中的特殊短语按空格进行切分,并去除特殊短语中的代词,以剩下的单词作为一个列表,所述列表包括特殊短语中各个单词的顺序信息;
d:重复步骤a对所有特殊短语进行处理,形成一个包含所有特殊短语列表的列表总集3;
S4:根据所述特殊短语列表与所述列表总集3生成特殊短语的正则矩阵,使特殊短语中出现的单词,无论是单词的原型还是变形都可以匹配到所述单词的原型。
本发明的达到的有益效果:一种分词算法系统,能统计单词和短语出现在考试中出现的次数,以及每一次考试中出现的次数和出现的形式;统计不同考试(或其他应用场景)中,出现频率最高,需要重点复习的单词和短语,且识别精度高;另外,当系统以高识别精度下进行识别时,可能会匹配有误,产生歧义,所述分词算法系统可以对产生歧义的匹配项进行汇总,供人工审核。
附图说明
图1一种分词算法系统的原理方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
一种分词算法系统,如图1所示,包括:录入模块、句子划分模块、列表导入模块、规则生成模块、分词模块以、数据处理模块、审核模块及存储器。所述句子划分模块、规则生成模块、分词模块、审核模块以及存储器分别与所述数据处理模块连接;其中,所述存储器为计算机或移动智能设备中内置的存储器,用于数据的存储。
所述列表导入模块用于导入列表并发送到规则生成模块;所述列表包括:单词列表、短语列表、单词的原型与变形列表,其中,所述短语列表包括普通短语列表和特殊短语列表。
所述规则生成模块根据导入将单词列表、短语列表和单词的原型与变形列表构建出匹配规则列表,并通过所述数据处理模块存储于所述存储器。
其中,所述匹配规则均为正则矩阵,且包括:单词的匹配规则列表、普通短语的匹配规则列表和特殊短语的匹配规则列表;其中,所述正则矩阵均包括若干正则表达式,正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
1)所述单词的匹配规则列表的生成:根据所述单词列表和单词的原型与变形列表生成单词的匹配规则,即穷举单词列表中所有的单词在句子中可能出现的变化形态,并生成单词的正则矩阵,使句子中出现的单词无论是单词的原型还是变形都可以匹配到所述单词的原型。
如:句子中出现单词“played”,单词“played”是原型单词“play”的变形,则以原型单词原“play”代替变形单词“played”,以原型“play”作为匹配到的单词。
2)所述普通短语为不包含代词的短语,所述普通短语的匹配规则列表的生成包括以下步骤:
S1:调取所述普通短语列表和单词的原型与变形列表;
S2:以所述单词的原型与变形列表对所述普通短语列表进行扩展,即穷举普通短语列表中所有的短语在句子中可能出现的变化形态,形成列表总集1:
a:识别普通短语列表中每一个普通短语所含有的原型单词;
b:以变形单词替换原型单词形成新的普通短语;
c:重复上述步骤a至b直至普通短语列表中所有的原型单词都均以变形单词重新生成新的普通短语;
d:把通过步骤c生成的普通短语进行汇总,形成列表总集1;
S3:根据所述普通短语列表与所述列表总集1生成普通短语的正则矩阵,使普通短语中出现的单词,无论是单词的原型还是变形都可以匹配到所述单词的原型。
3)所述特殊短语为包含代词的短语,所述特殊短语的匹配规则列表的生成包括以下步骤:
S1:调取所述特殊短语列表和单词的原型与变形列表;
S2:以所述单词的原型与变形列表对所述特殊短语列表进行扩展,即穷举特殊短语列表中所有的短语在句子中可能出现的变化形态,形成列表总集2;
a:识别特殊短语列表中每一个特殊短语所含有的原型单词;
b:以变形单词替换原型单词形成新的特殊短语;
c:重复上述步骤a至b直至特殊短语列表中所有的原型单词都均以变形单词重新生成新的特殊短语;
d:把通过步骤c生成的特殊短语以及特殊短语列表中的特殊短语进行汇总,形成列表总集2;
S3:对特殊短语进行去空格处理,形成列表总集3:
a:对通过列表总集2中的特殊短语按空格进行切分,并去除特殊短语中的代词,以剩下的单词作为一个列表,所述列表包括特殊短语中各个单词的顺序信息;
d:重复步骤a对所有特殊短语进行处理,形成一个包含所有特殊短语列表的列表总集3;
S4:根据所述特殊短语列表与所述列表总集3生成特殊短语的正则矩阵,使特殊短语中出现的单词,无论是单词的原型还是变形都可以匹配到所述单词的原型。
所述录入模块与句子划分模块连接,用于外部文本文件的录入或导入,并把录入或导入的文本发送到所述句子划分模块;其中,在录入时,除了录入的文本内容,还包括句子的属性;所述句子的属性包括属于该录入文本属于哪一张试卷(或书籍),以及句子在试卷中的成分,如:属于阅读题、听力题还是完形填空题,以及是题干还是选项。
所述句子划分模块包括标记单元和散列单元;所述句子划分模块把接收到的文本根据文本中的标点符号进行句子的划分,其中,所述标点符号包括:句号、叹号、问号、分号和换行符等标识一个句子结束的符号。所述散列单元对每一个划分的句子进行散列算法变换,得出每个句子对应的散列值。(散列值,即通过将单向数学函数(散列算法)应用到任意数量的数据所得到的固定大小的结果。同一个句子,若输入文本数据不变,即便重新输入,散列值也不会改变;若句子的文本数据中发生更改,则散列值也将更改。)所述散列单元完成散列算法变换后,所述标记单元生成输入文本的文本ID,并结合文本ID以及所述的散列值生成句子ID,并对每一个句子进行标记,关联句子与该句子对应的句子ID以及句子的属性,同时把划分且标记好的句子存储于所述数据处理模块的存储器。
所述分词模块通过所述数据处理模块获取所述存储器中存储的句子以及匹配规则列表,按照匹配规则在句子中匹配出句子中存在的单词和短语,并通过所述数据处理模块把匹配的结果存储于存储器。其中,所述句子中的一个单词,无论是其原型还是其变形形态,均能匹配到其对应的单词原型,同理,句子中的一个短语中若存在变形形态的单词,均能匹配到其对应的单词原型所对应的短语。
所述分词模块对单词和短语的匹配包括以下步骤:
S1:通过所述数据处理模块获取所述存储器中存储的匹配规则列表;
S2:通过所述数据处理模块按顺序调取所述存储器中的一个句子及其对应的句子ID;
S3:把所述调取的句子与所述匹配规则列表进行逐条比对;若句子与正在比对的某一匹配规则相匹配,把判断所述匹配规则对应的单词或短语在句子中存在,识别单词或短语在句子中的起始和终止位置信息,并把所述单词或短语、对应的句子ID以及所述起始和终止位置信息放进匹配结果;若与句子与正在比对的某一匹配规则不匹配,则判断所述匹配规则对应的单词或短语在句子不存在;重复此步骤,直至完成所述匹配规则列表中的所有的匹配规则的比对;
S4:重复步骤S2和S3,直至完成文本中所有句子的比对,然后进入步骤S5;
S5:把所述匹配结果发送到所述数据处理模块进行存储。
其中,所述匹配结果包括若干匹配项,每一个匹配项均包括:句子ID、匹配到的单词或短语以及单词或短语在句子中的起始和终止位置信息。所述起始位置信息为单词或短语中的第一个单词的首字母在句子中的位置(位于句子中的第几个字符);所述终止位置信息为单词或短语中的最后一个单词的最后一个字母在句子中的位置。
所述分词模块生成匹配结果后,所述数据处理模块对所述匹配结果来进行数据分析与统计,生成初步的单词和短语频次表;其中,所述单词和短语频次表包括每一个匹配到的单词或短语,以及每一个匹配到的单词或短语出现的形式及出现的次数。
优选的,所述数据处理模块还对所述匹配结果来进行数据分析,判断是否存在有歧义的单词或短语,并把存在歧义的单词或短语发送到所述审核模块;其中,包括以下步骤:
S1:按照句子ID把所述匹配结果划分为若干个子集,使每一个子集中的每一个匹配项都具有相同的句子ID,且每一个句子ID有且只有一个子集;
S2:调取一个子集:调取一个子集中每一个匹配项的起始和终止位置信息;
S3:判断通过步骤S2调取的信息中,是否存在起始位置和终止位置均相同的匹配项:若相同的起始位置和终止位置有且只有一种匹配结果,则判断为没有歧义;若相同的起始位置和终止位置上存在两个或以上的匹配项,判断该单词或短语存在歧义,并把存在歧义的匹配项标识为歧义项;
S4:重复步骤S2和S3,直至完成文本中所有子集的判断,然后进入步骤S5;
S5:把通过步骤S4得到的各个歧义项以及各个歧义项对应的句子发送到所述审核模块。
所述审核模块根据从所述数据处理模块接收到的信息,生成歧义项列表,由审核人员对列表中的各个存在歧义的单词或短语项进行人工确认,即人工选择该单词或短语对应的正确的匹配项;所述审核模块接收到人工确认信息后,把所述人工确认信息反馈到所述数据处理模块,并在存储器中进行单独存储。所述数据处理模块根据所述审核模块反馈的结果更新存储于存储器的匹配结果(即在匹配结果中保留经确认的匹配项,删除其他的歧义项),并根据更新后的匹配结果重新生成单词和短语频次表,并对存储在存储器中的单词和短语频次表进行更新。所述歧义项列表包括存在歧义的单词或短语、该单词或短语出现的句子以及该单词或短语对应的各个歧义项。
优选的,可设置为两位或以上的审核人员对同一个存在歧义的单词或短语进行共同审核,审核模块将对不同审核员的审核结果进行匹配,判断不同审核员的人工确认结果是否一致。
当设置为两位审核员进行共同审核时,所述审核模块对同一个歧义项的两位审核员的确认结果进行对比,若两位审核员均确认结果相同(即审核员都在歧义项中选择同一个歧义项作为正确的匹配项),所述审核模块判断人工确认结果一致,把所述人工结果反馈到所述数据处理模块;若两位审核员的确认结果不相同,所述审核模块判断人工结果存在异议,并生成异议列表,把存在异议的歧义项添加到所述异议列表中,需再次确认消除异议后,才把最终确认的结果反馈到所述数据处理模块。其中,所述异议列表中的歧义项可由所述两位审核员再次共同进行确认再比对,也可由另外的审核员进行再确认。
同理,设置为多位审核员共同审核时,可设置确认的一致人数(或百分比)阈值,其中,所述确认的一致人数需要与审核员人数的一半(大于50%),小于或等于审核员的人数(小于等于100%)。若所述审核模块判断人工确认结果相一致的人数大于等于所述一致人数(或百分比)阈值,所述审核模块判断人工确认结果一致;若所述审核模块判断人工确认结果相一致的人数小于所述一致人数(或百分比)阈值,所述审核模块判断人工确认结果存在异议。
一种根据所述分词算法系统的差量分词方法,包括以下步骤:
S1:通过所述录入模块进行文本的导入;
S2:所述句子划分模块对文本进行句子的划分,并生成每个句子的句子ID;所述句子ID包括文本ID与句子的散列值;并把划分好的句子及其句子ID信息发送到所述数据处理模块;
S3:数据处理模块接收到步骤S2发送的信息后,在所述存储器中调取已存储的句子的句子ID,并判断接收到的句子的文本ID是否已存在;
1)若接收到的句子的文本ID在存储器中不存在,则把这些句子以及对应的句子ID信息存储到所述存储器,同时把所述句子发送到分词模块,跳过步骤S4,进入步骤S5;
2)若接收到的句子的文本ID在存储器中存在,则把存储器中文本ID与接收到的句子的文本ID相同的句子都调取出来,并进入步骤S4;
S4:数据处理模块对步骤S3调取出来的句子与通过步骤S2接收到的句子进行散列值的匹配,判断是否存在散列值不同的句子;
1)若不存在散列值不同的句子,不需要进行分词;
2)若存在散列值不同的句子,把散列值不同的句子抽取出来,且在所述散列值不同的句子中,通过步骤S2接收到的句子作为新增句子存储到所述存储器中;同时删除所述散列值不同的句子中,原本已存储于存储器的句子;把所述新增句子发送到所述分词模块,并进入步骤S5;
S5:所述分词模块对从数据处理模块接收到的句子进行单词及短语的匹配。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (10)
1.一种分词算法系统,其特征在于,包括:录入模块、句子划分模块、列表导入模块、规则生成模块、分词模块、数据处理模块及存储器;
所述存储器与数据处理模块连接,用于数据的存储;
所述录入模块与句子划分模块连接,用于文本的录入或导入,并把录入或导入的文本发送到所述句子划分模块;其中,所述录入模块除了对文本的文本内容进行录入,还对文本的属性进行录入;
所述句子划分模块与数据处理模块连接,所述句子划分模块把接收到的文本根据文本中的标点符号进行句子的划分,并通过所述数据处理模块把划分好的句子存储于所述存储器;
所述列表导入模块与规则生成模块连接,用于导入列表并发送到规则生成模块;所述列表包括:单词列表、短语列表、单词的原型与变形列表;
所述规则生成模块与数据处理模块连接,所述规则生成模块根据导入的单词列表、短语列表和单词的原型与变形列表构建出匹配规则列表,使句子中出现的单词,无论是单词的原型还是变形都可以匹配到所述单词的原型,并通过所述数据处理模块把所述匹配规则列表述存储于所述存储器;
所述分词模块与数据处理模块连接,通过获取所述存储器中存储的句子以及匹配规则列表,按照匹配规则匹配出句子中存在的单词和短语,并通过所述数据处理模块把匹配的结果存储于存储器;
所述数据处理模块通过调取存储器中存储的匹配结果来进行统计,生成单词或短语频次表,所述单词或短语频次表包括每一个匹配到的单词或短语,以及每一个匹配到的单词或短语出现的形式及出现的次数。
2.根据权利要求1所述的一种分词算法系统,其特征在于:
所述短语列表包括特殊短语列表;所述规则生成模块根据特殊短语列表和单词的原型与变形列表,列出特殊的短语的所有匹配形式,形成特殊短语的匹配规则列表,并存储到存储器中。
3.根据权利要求2所述的一种分词算法系统,其特征在于:
所述匹配结果包括若干匹配项,每一个匹配项均包括:句子ID、匹配到的单词或短语以及单词或短语在句子中的起始和终止位置信息;其中,所述起始位置信息为单词或短语中的第一个单词的首字母在句子中的位置;所述终止位置信息为单词或短语中的最后一个单词的最后一个字母在句子中的位置。
4.根据权利要求3所述的一种分词算法系统,其特征在于,还包括审核模块,所述审核模块与数据处理模块连接;
若相同的起始位置和终止位置上存在两个或以上的匹配项,数据处理模块判断该匹配项存在歧义,并把所述具有歧义的匹配项以及对应的句子发送到审核模块,由审核模块生成歧义项列表,人工对歧义项列表中的歧义项进行再确认后,审核模块把人工确认信息反馈到数据处理模块,并在存储器中单独存储。
5.根据权利要求4所述的一种分词算法系统,其特征在于:
所述句子划分模块还包括散列单元;所述散列单元对每一个划分的句子进行散列算法变换,得出每个句子对应的散列值。
6.根据权利要求5所述的一种分词算法系统,其特征在于:
所述句子划分模块还包括标记单元;所述标记单元生成输入文本的文本ID,并结合文本ID以及所述的散列值生成句子ID,并对每一个句子进行标记,关联句子与该句子对应的句子ID以及句子的属性。
7.根据权利要求6所述的一种分词算法系统的一种歧义单词或短语的判断方法,其特征在于,包括以下步骤:
S1:按照句子ID把所述匹配结果划分为若干个子集,使每一个子集中的每一个匹配项都具有相同的句子ID,且每一个句子ID有且只有一个子集;
S2:调取一个子集:调取一个子集中每一个匹配项的起始和终止位置信息;
S3:判断通过步骤S2调取的信息中,是否存在起始位置和终止位置均相同的匹配项:若相同的起始位置和终止位置有且只有一种匹配结果,则判断为没有歧义;若相同的起始位置和终止位置上存在两个或以上的匹配项,判断该单词或短语存在歧义,并把存在歧义的匹配项标识为歧义项;
S4:重复步骤S2和S3,直至完成文本中所有子集的判断,然后进入步骤S5;
S5:把通过步骤S4得到的各个歧义项以及各个歧义项对应的句子发送到所述审核模块。
8.根据权利要求6所述的一种分词算法系统的一种差量分词方法,其特征在于,包括以下步骤:
S1:通过所述录入模块进行文本的导入;
S2:所述句子划分模块对文本进行句子的划分,并生成每个句子的句子ID;所述句子ID包括文本ID与句子的散列值;并把划分好的句子及其句子ID信息发送到所述数据处理模块;
S3:数据处理模块接收到步骤S2发送的信息后,在所述存储器中调取已存储的句子的句子ID,并判断接收到的句子的文本ID是否已存在;
1)若接收到的句子的文本ID在存储器中不存在,则把这些句子以及对应的句子ID信息存储到所述存储器,同时把所述句子发送到分词模块,跳过步骤S4,进入步骤S5;
2)若接收到的句子的文本ID在存储器中存在,则把存储器中文本ID与接收到的句子的文本ID相同的句子都调取出来,并进入步骤S4;
S4:数据处理模块对步骤S3调取出来的句子与通过步骤S2接收到的句子进行散列值的匹配,判断是否存在散列值不同的句子;
1)若不存在散列值不同的句子,不需要进行分词;
2)若存在散列值不同的句子,把散列值不同的句子抽取出来,删除所述散列值不同的,且已存储于存储器的句子,同时,在所述散列值不同的句子中,把通过步骤S2接收到的句子作为新增句子存储到所述存储器中;把所述新增句子发送到所述分词模块,并进入步骤S5;
S5:所述分词模块对从数据处理模块接收到的句子进行单词及短语的匹配。
9.根据权利要求2至6任一项所述的一种分词算法系统的一种普通短语的匹配规则列表的生成方法,其特征在于,包括以下步骤:
S1:调取所述普通短语列表和单词的原型与变形列表;
S2:以所述单词的原型与变形列表对所述普通短语列表进行扩展,即穷举普通短语列表中所有的短语在句子中可能出现的变化形态,形成列表总集1:
a:识别普通短语列表中每一个普通短语所含有的原型单词;
b:以变形单词替换原型单词形成新的普通短语;
c:重复上述步骤a至b直至普通短语列表中所有的原型单词都均以变形单词重新生成新的普通短语;
d:把通过步骤c生成的普通短语进行汇总,形成列表总集1;
S3:根据所述普通短语列表与所述列表总集1生成普通短语的正则矩阵,使普通短语中出现的单词,无论是单词的原型还是变形都可以匹配到所述单词的原型。
10.根据权利要求2至6任一项所述的一种分词算法系统的一种特殊短语的匹配规则列表的生成方法,其特征在于,包括以下步骤:
S1:调取所述特殊短语列表和单词的原型与变形列表;
S2:以所述单词的原型与变形列表对所述特殊短语列表进行扩展,即穷举特殊短语列表中所有的短语在句子中可能出现的变化形态,形成列表总集2;
a:识别特殊短语列表中每一个特殊短语所含有的原型单词;
b:以变形单词替换原型单词形成新的特殊短语;
c:重复上述步骤a至b直至特殊短语列表中所有的原型单词都均以变形单词重新生成新的特殊短语;
d:把通过步骤c生成的特殊短语以及特殊短语列表中的特殊短语进行汇总,形成列表总集2;
S3:对特殊短语进行去空格处理,形成列表总集3:
a:对通过列表总集2中的特殊短语按空格进行切分,并去除特殊短语中的代词,以剩下的单词作为一个列表,所述列表包括特殊短语中各个单词的顺序信息;
d:重复步骤a对所有特殊短语进行处理,形成一个包含所有特殊短语列表的列表总集3;
S4:根据所述特殊短语列表与所述列表总集3生成特殊短语的正则矩阵,使特殊短语中出现的单词,无论是单词的原型还是变形都可以匹配到所述单词的原型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810676420.XA CN108874780A (zh) | 2018-06-27 | 2018-06-27 | 一种分词算法系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810676420.XA CN108874780A (zh) | 2018-06-27 | 2018-06-27 | 一种分词算法系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108874780A true CN108874780A (zh) | 2018-11-23 |
Family
ID=64295837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810676420.XA Pending CN108874780A (zh) | 2018-06-27 | 2018-06-27 | 一种分词算法系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874780A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723571A (zh) * | 2020-06-12 | 2020-09-29 | 上海极链网络科技有限公司 | 一种文本信息审核方法及系统 |
CN112861513A (zh) * | 2021-02-05 | 2021-05-28 | 北京百度网讯科技有限公司 | 文本切分方法、装置、电子设备和存储介质 |
CN114443000A (zh) * | 2022-02-28 | 2022-05-06 | 智汇(中山)信息技术有限公司 | 一种基于互联网+的软件工程开发系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1728140A (zh) * | 2004-07-26 | 2006-02-01 | 咕果公司 | 信息检索系统中基于短语的索引编制 |
CN106649279A (zh) * | 2016-12-30 | 2017-05-10 | 上海禹放信息科技有限公司 | 特定信息自动生成系统和方法 |
CN107203542A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 词组提取方法及装置 |
-
2018
- 2018-06-27 CN CN201810676420.XA patent/CN108874780A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1728140A (zh) * | 2004-07-26 | 2006-02-01 | 咕果公司 | 信息检索系统中基于短语的索引编制 |
CN107203542A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 词组提取方法及装置 |
CN106649279A (zh) * | 2016-12-30 | 2017-05-10 | 上海禹放信息科技有限公司 | 特定信息自动生成系统和方法 |
Non-Patent Citations (2)
Title |
---|
许智坚: "《计算机辅助英语教学》", 31 March 2015, 厦门大学出版社 * |
陈小荷: "《现代汉语自动分析——Visual C++实现》", 31 March 2000, 北京语言文化大学出版社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723571A (zh) * | 2020-06-12 | 2020-09-29 | 上海极链网络科技有限公司 | 一种文本信息审核方法及系统 |
CN112861513A (zh) * | 2021-02-05 | 2021-05-28 | 北京百度网讯科技有限公司 | 文本切分方法、装置、电子设备和存储介质 |
CN112861513B (zh) * | 2021-02-05 | 2024-02-06 | 北京百度网讯科技有限公司 | 文本切分方法、装置、电子设备和存储介质 |
CN114443000A (zh) * | 2022-02-28 | 2022-05-06 | 智汇(中山)信息技术有限公司 | 一种基于互联网+的软件工程开发系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112328742B (zh) | 基于人工智能的培训方法、装置、计算机设备及存储介质 | |
CN111145052A (zh) | 司法文书的结构化分析方法及系统 | |
CN104216876B (zh) | 信息文本过滤方法及系统 | |
JP5043892B2 (ja) | エッセイ中の過度の反復語使用の自動評価 | |
CN109472033A (zh) | 文本中的实体关系抽取方法及系统、存储介质、电子设备 | |
CN110188351A (zh) | 语句通顺度及句法评分模型的训练方法及装置 | |
CN113779358B (zh) | 一种事件检测方法和系统 | |
CN112016313B (zh) | 口语化要素识别方法及装置、警情分析系统 | |
CN111125295B (zh) | 一种基于lstm的获取食品安全问题答案的方法及系统 | |
CN107122349A (zh) | 一种基于word2vec‑LDA模型的文本主题词提取方法 | |
CN105912629A (zh) | 一种智能问答方法及装置 | |
CN110599289A (zh) | 一种裁判文书格式化处理方法 | |
CN111177367B (zh) | 案件分类方法、分类模型训练方法及相关产品 | |
CN111899090A (zh) | 企业关联风险预警方法及系统 | |
CN117371534B (zh) | 一种基于bert的知识图谱构建方法及系统 | |
CN108874780A (zh) | 一种分词算法系统 | |
CN103092966A (zh) | 一种挖掘词汇的方法及装置 | |
CN117591657B (zh) | 一种基于ai的智能对话管理系统及方法 | |
CN111160034A (zh) | 一种实体词的标注方法、装置、存储介质及设备 | |
CN107688630A (zh) | 一种基于语义的弱监督微博多情感词典扩充方法 | |
CN110955767A (zh) | 一种机器人对话系统中生成意图候选集列表集合的算法及装置 | |
CN115186654A (zh) | 一种公文文本摘要生成方法 | |
CN109190556B (zh) | 一种公证意愿真实性鉴别方法 | |
CN113886357A (zh) | 基于数据库的数据处理方法、装置、设备和存储介质 | |
CN113961549B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181123 |