基于实时学习的word辅助编写系统和方法
技术领域
本发明涉及一套在Microsoft Word中使用的辅助编写系统及其方法,更具体地,本发明涉及当使用者编写某种特定类型文档时,根据使用者已经输入的文档内容,通过实时分析学习使用者以前编写过的相类似文档和从第三方系统获取跟文档相关信息,预测用户可能将要输入的内容(不限于词汇内容,有可能是整句甚至整段内容),从而给出相应提示信息供使用者选择输入。
背景技术
文书编写是国家政府机关工作人员一项相当重要的工作,例如在法院,每件案件审理完毕后,都需要由法官来制作裁判文书,送达给案件相关人员。但现实存在案多人少的情况,一名法官一年最多可能处理1000件案件,按年工作日250天计算,平均每天需要编写4篇文书,工作量是相当大。而这些文书段落结构大多形式相同,都是按照法院名称、文书名称、案号、当事人基本信息、案件由来信息、案件具体情况、本院意见、裁判结论、审判组织成员、文书日期这几部分组成,有一定的固定格式,以前编写的文书可以进行参考,只是其中关键信息不同,但这些关键信息可以从其他地方获取,比如当事人基本信息,这些在审判业务系统数据库中有相应数据,案件由来和案件基本情况可以从起诉文书或者原审文书中获取,法律法规具体条文可以从法律法规库中获取,但法官在实际文书编写过程中无法直接获取相关信息,需要重新手工输入,手工输入不仅速度比较慢,而且容易出错,因此本发明致力于减轻有类似文书编写需求人员的工作强度,提高文书编写效率和质量,在现实生活中有很重要的应用价值。
现实应用中也采取了一些措施来解决上述问题,比如使用具有司法词库的输入法,将文书中经常出现的字词、短语做成司法词库,能够比较快的输入一些固定词语,但这些词语一般都不太长,对于减少输入工作量有一定帮助,但对于减少总体工作量来说还是比较有限,而且由于司法词库是针对大多数人使用,都是一些比较通用的,增加具有本人书写表达习惯特点的词语比较困难。也有人使用模板方式,将一些常用的文书制作成固定模板,在模板基础上编写文书,但由于实际情况复杂,模板一般数量有限,不同案件在具体描述表达方面存在很大差异,不可能照顾到每种案件具体情况,而且不同地区,不同级别法院的法官,甚至同院不同的法官之间,因为其经验、习惯等原因,其表述方式可能存在较大差异,固定格式限制法官依据具体案件情况,根据自己经验或习惯去分析、研判表述,因此实际应用中大多数法官也不喜欢使用模板来编写文书。
在本发明之前,也有很多发明专利试图解决类似问题。例如从输入法角度尝试解决的专利,专利申请号为01134827.5的专利(“提供辅助写作模板的中文输入法”)其实也是按照模板方式的解决思路,同样具有模板方式的不足之处。专利申请号为99115931.4的专利(“汉字输入中的语句提示及输入方法”)和专利申请号为201010122688.2的专利(“输入过程中的语句提示及处理方法”),提出根据当前输出的汉字数据对语句库进行检索,这其实就是将以前司法词库中的词语长度加大,并没有考虑到实际编写文书类型、所处段落特征,输入点前后上下文环境等因素。从输入法角度来解决,其重大缺陷在于输入法只能根据当前正在输入的字词进行来确定可能将要输入的内容,这个信息量太少,无法从文书的全文角度来对将要输入的内容进行预测,因此提供的帮助非常有限。本发明将抛弃从输入法角度去考虑解决该问题的想法,而是从文书编写工具角度去尝试解决该问题。
实际应用中,大多数人都会选择使用Microsoft Word来编写文书,它在文字处理软件市场上居于统治地位,其文档格式和操作方式已经成为事实标准,法院、检察院、政府机关的工作人员日常编写文书大部分都使用Microsoft Word,因此本发明选择基于MicrosoftWord来实现。Microsoft Word本身提供插件开发机制,让开发者能够制作插件,嵌入Microsoft Word中一起运行,给Microsoft Word增加一些其本身并不具备的功能,这个特性使得从文书全文角度去分析使用者书写文书类型、所处段落特征、输入点前后上下文环境成为可能。
还有一些专利文献,并没有强调从输入法角度去考虑提示使用者将要输入的内容,而是从通用角度去描述,例如专利申请号为03134379.1的专利(“写作语义辅助提示系统及方法”),该专利提出对使用者输入的字符串按照词法规则及语法规则进行分析,确认输入是否正确,在确认后输出。本发明与其最大区别在于,本发明并非对要输入的内容进行校正,而是对未来可能要输入的内容进行预测,直接提示用户可能接下来要输入的内容,而并非用户正在输入的内容。专利申请号为200710018035.8的专利(“一种实时句子辅助写作方法及系统”)和专利申请号为201010200796.7的专利(“文章辅助写作系统及其方法”)都可能用于预测使用者输入,而且也没有限制做出预测的判断条件因素是正在输入的内容,但本发明与这两个专利的不同之处在于,这两个专利都是存在一个预置的例句库,采用将已经输入的内容做为检索条件去寻找可能匹配的例句,由于这个例句库是固定,预先设置好的,并不能随使用者的不同而发生变化,更不能学习到使用者的一些常用表达习惯,这样就不能解决不同用户其表达方式不尽相同这个问题。学习用户习惯表述,不同用户其提示内容也可能不同,即提示信息个性化也是本发明一个重要初衷。
综上所述,以往实际应用和专利,都没能解决背景技术开头说描述的相关问题,本发明将重点解决这些问题。
发明内容
本发明采用Microsoft Word公布的插件技术,伴随Microsoft Word一起启动,通过Microsoft Word提供的VBA操作API,获取正在编写文档的全部内容、段落信息、输入点位置等,将这些信息输入到文书特征分析模块,从而得出用户正在编写的文书类型、所处段落特性、输出点前后上下文环境,以此做为判断条件因素来预测将来可能的输入内容,较以往专利或系统更加全面和准确。
本发明与目前流行的输入法配合使用,由于中文的特殊性,在文档中输入中文必须依靠输入法。输入法作用是将键盘按键信息转化为字词信息,通过用户确认后输出到文档中。本发明就是截获输入法输出字词到文档这个动作消息,在中文输出到文档这个动作完成后,转入本发明的处理流程。本发明根据上述Word提供的方法获取文书类型,判断是否属于我们要进行编写提示的文档,然后依据其所处段落特征以及输出点前后上下文特征,从内容预测分析模块中获取提示信息,将这些信息以提示框的形式展现出来,用户可以通过键盘上的上下键来选择合适的提示,按回车键后输出到文档中。如果用户按下除了上下键以外的其他按键时,本提示窗口消失,并将按键消息传递给输入法,由输入法继续进行中文字词的输入操作。
本发明采用实时学习的方式,从正在编写文档的同目录下和系统中使用者指定的存储目录下,寻找可以识别的文档格式文件,例如Word文档、TXT文档,依靠实时分析模块,采用自然语言处理技术,去实时分析、学习跟使用者当前编写文书类型相近的文档,其书写格式、表达内容、习惯用语等,然后根据这些内容去预测用户可能要输入内容,这样能够更加符合使用者的本身特点,预测准确率会比以往固定词库或者固定例句库方式高很多。
根据本发明的一个方面,提供了一种基于实时学习的Word辅助编写系统,所述辅助编写系统包括:文书特征分析模块,用于分析当前编辑文档的信息,以确定本文档的文书类型;实时分析模块,用于实时分析以前编写的文档的内容,从中提取与当前编辑文档相似的内容;以及,内容预测分析模块,用于将所述文书特征分析模块、所述实时分析模块获得的内容进行统一处理,并且对获得的内容进行排序,以形成提示内容。
所述辅助编写系统还可以包括:数据获取模块,用于从第三方应用系统中获取所需要的内容,其中,所述内容预测分析模块将所述文书特征分析模块、所述实时分析模块和所述数据获取模块获得的内容进行统一处理,并且对获得的内容进行排序,以形成所述提示内容。
其中,所述内容预测分析模块可以根据与当前编写文档的具体内容的相关性,对所述提示内容进行替换处理,筛选出相似度高的内容,并且对所述获得的内容进行排序,形成最终的所述提示内容。
所述辅助编写系统还可以包括:信息提示展现模块,用于作为可见的界面模块,以展现所述提示内容以及接收用户选择操作。其中所述以前编写的文档可以为本地文档。
根据本发明的另一方面,提供了一种基于实时学习的Word辅助编写方法,所述辅助编写方法包括:分析当前编辑文档的信息,以确定本文档的文书类型;实时分析以前编写的文档的内容,从中提取与当前编辑文档相似的内容;以及,将所述文书特征分析模块、所述实时分析模块获得的内容进行统一处理,并且对获得的内容进行排序,以形成提示内容。
所述辅助编写方法还可以包括:从第三方应用系统中获取所需要的内容,其中,将所述文书特征分析模块、所述实时分析模块和所述数据获取模块获得的内容进行统一处理,并且对获得的内容进行排序,以形成所述提示内容。
其中“将所述文书特征分析模块、所述实时分析模块获得的内容进行统一处理,并且对获得的内容进行排序,以形成提示内容”的步骤可以包括根据与当前编写文档的具体内容的相关性,对所述提示内容进行替换处理,筛选出相似度高的内容,并且对所述获得的内容进行排序,形成最终的所述提示内容。
所述辅助编写方法还可以包括:以可见的界面模块来展现所述提示内容以及接收用户选择操作。其中,所述以前编写的文档可以为本地文档。
以前系统基本都是孤立的,没有与外界其他系统进行结合使用,不能获得外界系统提供信息支持,因而提示内容固定而且有限,而本发明专门提出数据获取模块,就是从其他系统中获取文档编写中说需要的信息,比如从审判业务数据库中获取跟文书所述案件的内容信息,或是从法律法规系统中获取文档中所引用法律法规具体条文信息,这些信息是在文书编写过程中大量使用的,可以极大加少使用者输入工作量,而且可以极大避免使用者在输入过程中失误发生,从而提高文书整体质量。
附图说明
通过参照对本发明的实施方案的图示说明可以更好地理解本发明,在附图中:
图1给出本发明实现的逻辑结构图;
图2给出本发明实现的系统流程图;
图3给出本发明具体实现系统的展示图。
具体实施方式
在以下的描述中,为了达到解释说明的目的以对本发明有一个全面的认识,阐述了大量的具体细节,然而,很明显地,对本领域技术人员而言,无需这些具体细节也可以实现本发明。在其他示例中,公知的结构和装置在方框图表中示出。在这方面,所举的说明性的示例实施方案仅为了说明,并不对本发明造成限制。因此,本发明的保护范围并不受上述具体实施方案所限,仅以所附的权利要求书的范围为准。
本发明具体实现系统的逻辑结构参见图1,主要分为五个模块:
1、文书特征分析模块,主要用于分析本(当前/正在编辑)文档的一些信息,这主要采用中文信息处理技术,根据内容特征来确定文档的一些信息,比如根据文书名称就可以确定本文档的文书类型,根据案号就可以确定本文书的案件类别、审判程序等信息。这些主要是跟业务相关的一些信息,因此如果本发明应用到其他行业,则该模块将需要重新编写。
2、实时分析模块,与文书特征分析模块类似,但它主要目的分析以前编写的文档的内容,从中提取与本文档相似的内容,它采用一般搜索技术,就可以达到通用目的,但如果需要获得更加准确的提示内容,需要根据业务特征,对原文档搜索范围做一定限制,比如本文档处于案件由来信息段,那么分析以前编写的文档也只是搜索案件由来信息段,这样得出的提示内容将更加准确。
3、数据获取模块,它其实是从第三方应用系统中获取本系统需要的信息,比如从审判业务系统中获取案件信息,案件信息有些是用于替换从以前文档中获得的提示内容,比如当事人信息,有些可以直接做为提示内容,比如案件情况描述,证人证言等,有些可以根据业务特性,直接构造具体提示内容,例如根据审判结论固定表述已经审判结论数据,可以直接构造审判结论内容,比如:某人犯某罪,判处有期徒刑X年X个月,并处罚金人民币X元。
4、内容预测分析模块,它是将上述文书特征分析、实时分析模块、数据获取模块获得的内容进行统一处理,并根据与正在编写文档的具体内容相关性,对提示内容进行替换处理,筛选出相似度高的内容,并对内容进行排序,形成最终的提示内容。
5、信息提示展现模块,主要功能就是展现提示内容和接收用户选择操作,它是本系统唯一可见的界面模块,涉及到一些实际操作中需要处理的问题,比如提示框定位问题,提示框需要随着用户输入光标的移动而移动,在Word窗口放大缩小、移动时,也要保证其始终处于光标下方。
本发明具体实现系统运行流程参见图2,具体描述如下:
1、系统以Microsoft Word的插件形式存在,在Microsoft Word启动时加载,系统开始监控输入法输入以及文档更改。
2、输入法输出内容到Word后,触发文书特征分析模块,获取文档具体内容,通过分析特定的文书标题和文书名称,确定是否属于要进行输入提示的文档类型,如果属于,分析线程启动,否则一直等待,直到确认是属于要提示的文档类型。
3、分析线程获取文档内容,提取文档内容特征,获取当前所处段落和输入点前后上下文环境,然后分别调用本地文档信息处理模块和第三方系统信息处理模块
4、本地文档信息处理模块是根据分析线程提取的信息和本地已有文档中的内容进行匹配,预测用户可能下一步要输入的内容。通过文书类型和文书特征,寻找相似文档,通过段落特征,定位相似文档中相对应的段落,然后通过输入上下文模糊匹配到具体语句或者具体段落,然后将这些信息返回给分析线程。
5、第三方系统也是根据分析线程提取的信息,查找对应的系统信息,比如审判业务系统查找跟此文档相关的案件信息,法律法规库系统根据罪名和文中引用的法律条款项,查找其对应的具体法律条文内容,然后返回给分析线程。
6、分析线程根据文档内容具体业务特征,更改部分内容,比如根据本文档当事人段具体描述或者审判业务系统中当事人信息,替换当事人具体名称,比如在原来文档中的被告人为李某某,本文档的被告人为张某某,将从本地文档中获取的提示信息进行相应修改后,生成内容提示。
7、通过Word的接口,获取光标所处位置。Word接口返回的光标位置是相对于文档窗口的位置,需要根据文档窗口在屏幕中的位置转化为光标处于屏幕中的绝对位置。同时根据光标当前位置字体大小,确定该光标高度,用以调整提示窗口具体位置,使其总是处于光标下方。
8、显示提示框,将已输入内容用红色标记,未输入内容以默认黑色显示。同时将提示内容根据与已输入内容匹配度进行排序,匹配度高的排在最前面。
9、接收用户按键,如果是上下键,将激活提示框,除此之外,将按键消息传递给输入法,提示框消失。
10、用户按上下键选择合适的提示信息后,按回车键输入到文档中,如果按ESC键,提示框也消失。
11、重复2描述,继续监控输入法输入以及文档更改。
本发明在实现过程中一些具体改进:
1、为了保证用户使用输入法输入文字顺畅,输入法上屏后,会有一段时间延时(默认等待1秒),如果在延时期间用户按按键,将触发输入法,继续输入文字,本系统并不触发,只有但延时结束还没有按按键,才会触发本系统。这样就保证用户一直使用输入法去输入。用户也可以通过快捷键直接触发本系统运行,而不需要等待这段延时时间。
2、在实际应用中,由于动态分析处理是需要时间进行处理的,为了不影响系统正常使用,分析处理工作都是由单独线程,后台处理,不影响用户正常输入操作,分析处理线程并不是在每次输入完毕后才工作,而是在文档打开后就开始工作,而且根据使用者已经编写内容,会逐步确定使用者正在编写文档的具体类型,不断缩小需要分析文档的范围,对于已经分析过的文档会记录该文档分析结果内容,并做标记,下次就不用在对其进行分析,由于新增文档和更改文档的数量不会太多,因此本发明实际使用过程中分析工作量并不太大,并不会造成系统操作阻塞,响应速度还是比较快。
3、从第三方系统审判业务系统中获取数据是有一定的系统延迟,所以在实际实现过程中,一旦分析确认该文档的所表示的案件(通过文档中书写的案号信息),就从审判业务系统中一次性生成关于该案件所可能需要的信息,比如当事人基本信息、案件审理信息、证据信息、判决信息等,这些信息在文档编写过程中一般不会有所变化,因此一次生成后,只要案号信息不更改,就不需要每次都去审判业务系统中获取相关信息,因此不会对系统使用造成延迟影响。
尽管已经在上面以细节描述了数个示例性实施方案,但是所公开的实施方案仅是示例性而非限制性的,并且本领域技术人员将容易意识到,在示例性实施方案中很多其他修改、改动和/或替换是可能的,而不实质偏离本公开的新颖性教导和优点。因此,所有这些修改、改动和/或替换意图被包括在如所附权利要求书所限定的本公开的范围内。