一种时间信息提取方法及装置、智能问答系统的制作方法_2

文档序号:9929516阅读:来源:国知局
[0032]其中,文本分割规则可以采用这样的规则:按照标点符号对用户输入文本进行分割;提取规则可以采用这样的规则:按照年、月、日的顺序从短文本中提取至少包含年、月、日三个字中至少一个字的文本信息。当然,这里所采用的文本分割规则和提取规则仅仅是一种较佳的实施方式,在实际应用中,完全可以采用其它文本分割规则和提取规则。
[0033]在实际应用中,由于中文对年、月、日的表达方式有多种,因此在对文本中的中文时间信息进行提取时,可以支持对年、月、日的日期标记字段进行扩展(可以在时间信息提取方法实施之前进行配置),例如,可以将默认使用的日期标记字段为:年:年,月:月,日:日、号,进行配置时,可通过在年、月、日中加入扩展标记字,来实现其它日期标记字的添加。
[0034]通过该步骤,将当前文本分割为多个短文本,可以更加精确地提取到中文时间信息,以避免直接从当前文本中直接进行提取造成的遗漏或产生错误。而且,对年、月、日等日期标记字进行扩展之后,可以对文本中与年、月、日意思类似的文字都可以提取处理,防止遗漏情况的发生。
[0035]步骤S104、根据预定的转换规则,对中文时间信息中的中文时间短语进行转换,得到数字年份信息、数字月份信息、和/或数字日数信息。
[0036]在本实施例中,该步骤中使用的转换规则可以是:数字年份信息=预先配置的年份差值X+当前年份的年份数字,其中,年份差值X代表中文时间短语中的中文年份与当前年份的数字差值;数字月份信息=预先配置的月份差值Y+当前月份的月份数字,其中,月份差值Y代表中文时间短语中的中文月份与当前月份的数字差值;数字日数信息=预先配置的日数差值Z+当前日数的日数数字,其中,日数差值Z代表中文时间短语中的中文日数与当前日数的数字差值。
[0037]在实际应用中,对于通过中文时间词语表达日期信息时,根据转换规则(可以预先进行配置)需要对文本(甚至可能包括语音)中的中文时间短语进行转换,对于转换规则的配置过程,可以采用这样的方式:设置时间词语与当前年、当前月、当前天的相差值,即“XX = num”,XX为时间词语,num为时间词语和当前年、月、日的距离。例如,“去年=-1”(去年和今年相差-1),“下个月=I”(下个月和当前月相差1),“大后天=3”(大后天和今天相差3) ο
[0038]可以看出,通过这种方式,可以将中文时间短语准确地转换为与当前天、月、日相差的数字,这样就可以得出中文时间短语想要表达的数字日期。
[0039]步骤S106、根据数字年份信息、数字月份信息、和/或数字日数信息计算出符合预定时间格式的数字时间信息。
[0040]在本实施例中,该步骤可以通过这样的方式实现:先按照每个自然年的12个自然月的日数不同的特点,按照顺序对数字日数信息、数字月份信息、和/或数字年份信息进行更新和组合,得到数字时间信息;再按照预定时间格式输出数字时间信息。其中,预定时间格式可以采用这样的方式:yyyymmdd、mmddyyyy、ddmmyyyy,其中,yyyy代表年,mm代表月,dd代表日。
[0041]在本实施例中,在执行步骤S104之前,还可以先将中文时间信息中的中文数字(直接时间信息)转换成阿拉伯数字,再从阿拉伯数字中分别提取数字年份信息、数字月份信息、和/或数字日数信息,在提取失败的情况下,确定需要使用转换规则对中文时间短语进行转换。当然,这是一种较佳的实施方式,在实际应用中,在执行步骤S102之后,直接执行步骤S104即可。
[0042]在实际应用中,当文本使用直接时间信息(即上述中文数字)表达时间时,需要把相应的时间转换为数字形式,因此在执行时间信息提取之前的配置过程中,可以配置为:“X = digtial”,其中,X为数字的中文表示,digtial为具体的数字。例如,“壹=1”,“两=2”等。
[0043]通过本实施例,可以使用预先设定的转换规则对中文时间信息中的时间短语进行转换等操作,得到符合预定时间格式的时间信息,通过这样的方式,可以满足用户对智能问答系统提取多样性时间信息的需求。
[0044]为便于理解本实施例提供的时间信息提取方法的实施过程,以下结合优选实施例以及图2、图3进行更进一步的说明。
[0045]在一段文本中,可能包含许多与时间相关的词语(即时间短语),本步骤把具体的时间提取出来,供后续的步骤进行处理。切分文本,按标点符号分割文本,形成短文本,对短文本进行提取。
[0046]图2是根据本发明优选实施例的日期提取流程图,如图2所示,该流程包括:
[0047]步骤S202、按标点符合分割输入文本,得到短文本;
[0048]步骤S204、判断文本中是否只包含年、月、日三个标记字中的一个,如果是,则执行步骤S214,否则,执行步骤S206 ;
[0049]步骤S206、判断文本中是否包含年、月、日三个标记字,如果是,则执行步骤S214,否则,执行步骤S208 ;
[0050]步骤S208、判断文本中是否包含年、月两个标记字,如果是,则执行步骤S214,否贝IJ,执行步骤S210 ;
[0051]步骤S210、判断文本中是否包含年、日两个标记字,如果是,则执行步骤S214,否贝IJ,执行步骤S212 ;
[0052]步骤S212、判断文本中是否包含月、日两个标记字,如果是,则执行步骤S214,否贝IJ,结束流程;
[0053]步骤S214、判断是否按照年、月、日的顺序按从左到右依次出现,如果是,执行步骤S216,否则,结束流程;
[0054]步骤S216,提取包含上述标记字的文字。
[0055]图3是根据本发明优选实施例的日期计算流程图,如图3所示,该流程包括以下步骤:
[0056]步骤S302,提取直接时间信息和时间短语,对文本进行一次数字转换,把中文格式的数字转换成阿拉伯数字,如壹转换为1,两转换为2等。
[0057]步骤S304,从时间短语中提取年份信息,即提取数字年份信息,若直接是数字形式,直接获得数字年份,若没有提取到相应的年份,根据时间词语提取年份,根据配置信息经过计算把年份转换为具体的数字。
[0058]步骤S306,从时间短语中提取月份信息,即提取数字月份信息,若直接是数字形式,直接获得数字月份,若没有提取到相应的月份,根据时间词语提取月份,根据配置信息经过计算把月份转换为具体的数字。
[0059]步骤S308,从时间短语中提取日数信息,即提取数字日数信息,若直接是数字形式,直接获得数字日数,若没有提取到相应的日数,根据时间词语提取日数,根据配置信息经过计算把日数转换为具体的数字。
[0060]步骤S310,日期计算,通过以上步骤获得的年、月、日还需要进行计算,例如,在I月I号说“昨天”,日期的年、月、日都会发生变化,在按日、月的顺序一次运算的过程中,计算日数对月份的影响,再计算月份对年份的影响,根据获得的日数,计算月份的变化,获得最终月份(MM),并计算生成最后的天数(dd),根据获得的月份,计算年份的变化,获得最终年份(yyyy)。
[0061]步骤S312,输出日期格式,将计算后获得的yyyy、丽、dd转换成具体的输出格式(例如,yyyyMMdd、yyyy-MM),最终输出日期。
[0062]对应于上述时间信息提取方法,本发明还提供了一种时间信息提取装置,用于执行上述时间?目息提取方法。
[0063]图4是根据本发明实施例的时间信息提取装置的结构框图,如图4所示,该装置包括:第一提取模块10、第一转换模块20以及计算模块30,其中:
[0064]第一提取模块10,用于从当前文本中提取出中文时间信息;第一转换模块20,用于根据预定的转换规则,对中文时间信息中的中文时间短语进行转换,得到数字年份信息、数字月份信息、和/或数字日数信息;计算模块30,用于根据数字年份信息、数字月份信息、和/或数字日数信息计算出符合预定时间格式的数字时间信息。
[0065]在本实施例中,转换规则可以包括:数字年份信息=预先配置的年份差值X+当前年
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1