具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
通过线下的Microsoft Word等编辑软件,或者线上的Rich Text Editor等编辑器,可以实现对文档的编辑。但是,对于存在较多通用内容的文档,仍需要对各个文档单独进行编辑,而对于通用内容,仍需由人工进行查找(如逐个打开历史文档查找)、拷贝与修改等,使得对于存在较多通用内容的文档的编辑效率较低。
针对上述问题,本说明书实施例提供一种文档编辑方法,参见图1所示,该方法可以包括以下步骤:
S101,确定文档编辑策略;
本说明书实施例提供的文档编辑方法,可以应用于线上或线下的文档编辑软件,可以理解的是,所述线上的文档编辑软件,可以基于C/S(客户端/服务器)架构实现,也可以基于B/S(浏览器/服务器)架构实现。
本领域技术人员可以根据实际需求,对软件所针对的文档范围进行限定,例如,可以针对合同、产品说明书、以及简历等等各类包含通用内容的文档,也可以针对其中一种,甚至针对前述类型中的某一种或多种子类型,如针对租赁合同、借贷合同、等等。
显然,不同类型、子类型的文档,其中包含的通用内容存在区别,通用内容的形式也存在区别,因此,针对不同类型的文档可以设定不同的文档编辑策略。此外,针对同一类型的文档也可以设定不同的文档编辑策略,从而实现通过不同的方式进行更高效的文档编辑。例如,对于合同文档而言,具体可以由若干条款组成,因此,可以预设若干通用条款,而文档编辑策略为通过条款组成目标合同文档;或者,也可以预设若干通用模板,如买卖合同模板、租赁合同模板,模板中包括该类合同中一般会包含的通用条款,而文档编辑策略为基于模板生成目标合同文档;等等。通过设置不同的文档编辑策略,可以使用户基于需求通过多种方式,实现高效的文档编辑。
确定文档编辑策略,具体可以通过多种方式实现。
在本说明书的一种具体实施例中,可以由用户直接进行文档编辑策略选择。具体地,用户可以通过点击特定按钮等方式,做出文档编辑(包括创建与修改等)操作触发,在接收到文档编辑操作触发的情况下,展示文档编辑策略选择列表,然后根据用户针对所展示列表进行的选择操作触发,确定用户所选择的文档编辑策略。
例如,所展示的文档编辑策略选择列表中,可以包括“编辑合同”、“编辑简历”、等选项,当用户做出选择后,如点击“编辑合同”的按钮,则可以根据用户的选择,确定用户所选择的文档编辑策略为针对合同文档的编辑策略;又例如,本方法所应用的软件仅可以用于编辑租赁合同,则所展示的文档编辑策略选择列表中,可以包括“选择条款”、“选择模板”等选项,当用户做出选择后,如点击“选择条款”的按钮,则可以根据用户的选择,确定用户所选择的文档编辑策略为基于条款生成文档的编辑策略。
在本说明书的另一种具体实施例中,可以根据文档类型确定对应的文档编辑策略。具体地,可以预先设定各类型的文档与各文档编辑策略的对应关系,然后在需要确定文档编辑策略时,首先确定目标文档的文档类型,然后根据预设的文档类型与文档编辑策略的对应关系,确定所述文档类型对应的文档编辑策略。
在确定目标文档的文档类型时,可以直接提示用户进行选择。
也可以对文档编辑区域的自定义内容进行语义识别,具体地,首先获取所述文档编辑区域的全部或部分自定义内容,然后对所获取的自定义内容进行语义识别,如识别关键字、词汇、词组、语句、等等,并将语义识别结果与各文档类型的预设语句集合进行比较,确定所述语义识别的结果对应的文档类型。预设语句集合可以包括该类文档中通用的关键字、词汇、词组、语句、等等,例如,劳动合同的预设语句集合中可以包括“用人单位”、“劳动者”、“工作内容”等通用词汇、语句等,而如果语义识别结果得到的关键词句均包括与该集合中,则可以据此确定目标文档的文档类型为劳动合同。此外,对与不同预设语句集合的比较结果进行一致性排序等,从而更准确地确定目标文档的类型。
还可以通过目标文档的编辑环境确定目标文档的类型。例如,若本文档编辑方法应用于浏览器插件,则可以通过当前的网页环境,判断目标文档的类型,如当前为招聘网站,则可以确定目标文档的类型为个人简历或劳动合同。
确定目标文档的文档类型还可以通过其他方式实现,且各种方式不限于单独使用,也可以结合使用,本说明书实施例对此不做具体限定。
在本说明书的又一种具体实施例中,用户可以通过在文档编辑区域中进行单击、双击、右键选择等内容选择操作,触发展示内容选择界面,而根据用户进行内容选择操作触发的位置,可以确定对应的文档编辑策略。
例如,个人简历中通常包括个人信息、工作经历等内容,其中个人信息中又可以具体包括姓名、性别、毕业院校、联系方式、等内容,因此可以设置用户双击“个人信息”的标题,即相当于进行了“个人信息”内容选择操作触发,确定对应的文档编辑策略为针对个人信息的编辑策略。
又例如,一些文档中不仅存在较多通用文档,其格式也较为固定,例如电器产品的说明书,一般包括产品信息(名称、型号等)、示意图、使用方法、注意事项等通用内容,且同一类型不同型号的产品,其说明书中各部分内容的格式也基本固定,如第1页为产品信息、第2、3页为示意图、第4至8页为使用方法、等等。因此,可以设置用户在固定位置(如页面)中进行鼠标或快捷键操作,即可触发展示内容选择界面,根据用户操作的位置确定对应的文档编辑策略。如用户双击第1页即可确定文档编辑策略为针对产品信息的编辑策略。
可以理解的是,确定文档编辑策略的具体方式,还可以为其他多种方式,且各种方式不限于单独使用,也可以结合使用,本说明书实施例对此不做具体限定,本领域技术人员可以结合实际情况灵活地设置。
S102,根据所述文档编辑策略,向用户展示该策略对应的内容选择界面,以使用户从该界面包括的预设内容中选择需加入目标文档的内容;
如前面所述,可以将通用内容提前存储为预设内容,当用户需要调用时,可以通过选择文档编辑策略、进行内容选择操作触发等,使软件展示策略对应的内容选择界面。
一种具体实施方式中,可以将通用内容存储于预设内容库,如将合同中的通用条款存储于条款库、将预先创建的劳动合同模板、借贷合同模板等存储于模板库等。需要展示内容选择界面时,首先确定所述文档编辑策略对应的预设内容库,然后读取所确定预设内容库中的预设内容,通过内容选择界面进行展示。
预设内容库中的通用内容,可以由用户预先进行编辑、保存。以合同的条款库为例,用户可以预先逐条输入与保存,得到若干预设条款。为提高效率,也可以对合同进行自动分解,自动得到若干预设条款。
具体地,首先获取待分解文档,根据指定的分解规则,将所述待分解文档分解为若干部分内容,例如,对于条款而已,指定的分解规则可以是分段符等文档格式、或第x条等关键字。对分解得到的任一部分内容:进行语义识别;根据语义识别结果,将该部分内容存入对应的预设内容库,以便后续在对应内容选择界面展示,例如,对合同分解得到的各条款均可以存储条款库。
此外,预设内容库中的内容,可以并非固定不变的,用户也可以对已存入预设内容库中的预设内容进行修改,如对条款库中某条款的措辞、语序等进行调整,或对模板库中某模板的内容进行修改,等等。
在对预设内容进行修改后,可以进一步提示用户是否对引用了预设内容的文档进行更新。具体地,在进行文档编辑时需要记录所述目标文档对预设内容的引用关系,例如,条款库中的条款均有唯一的ID,某文档引用某条款后将自动记录这一引用关系。然后,在对任一预设内容库中的预设内容进行修改的情况下,根据预先记录的引用关系,确定引用所修改预设内容的文档,对所确定文档进行更新提示,以提示用户是否根据所述修改对该文档的内容进行更新,例如,对上述条款进行修改后,通过预先记录的引用关系确定该文档,则用户下次打开该文档时,即可以提示用户是否对文档内容进行更新。此外,还可以展示更新前后的2种版本的对比效果,对修改内容进行高亮显示等,以便于用户确定是否更新文档。
为了便于用户管理预设内容库与所编辑的文档,可以为预设内容库中的各个预设内容、以及所编辑的各个文档,分别设置标识(如ID)与版本号,并且,在进行修改时还可以提示用户记录修改原因,以便后续对各版本进行回溯。
S103,将用户所选择的预设内容展示于文档编辑区域,并获取用户在该文档编辑区域中添加的自定义内容;
S104,生成由所述文档编辑区域中的预设内容与自定义内容组成的目标文档。
为便于描述,将S103与S104结合进行说明。
将用户所选择的预设内容展示于文档编辑区域后,用户可以对预设的通用内容中的细节进行修改,或在其中补充入具体的信息,还可以添加预设内容中未包括的、非通用的内容。
在完成对预设内容与自定义内容的编辑后,即可根据这些内容生成目标文档。具体地,可以直接根据文档编辑区域中的预设内容与自定义内容的格式,生成目标文档。
也可以根据所述文档编辑策略,确定所述文档编辑区域中的预设内容与自定义内容的结构关系,将所述文档编辑区域中的预设内容与自定义内容,按照所确定的结构关系组合,生成目标文档。
例如,用户编辑合同文档时,选择预设条款及添加自定义条款时,各条款的顺序可以是乱序的,但各条款中“第x条”的序号是正确的,则生成目标文档时,可以根据基于条款生成合同的编辑策略,确定预设内容与自定义内容的结构关系为根据条款序号顺序组合生成文档,则实际生成文档时,基于这一结构关系,尽管用户在文档编辑区域中编辑的各条款是乱序地,仍可以按照条款序号顺序组合生成合同,从而提高用户的编辑效率。
下面结合一个更为具体的实例,对本说明书提供的文档编辑方法进行说明。
大部分合同是由若干条款组成,且对于同一类型的合同,如对于借贷合同,其中存在较多通用条款,这些通用条款在不同的借贷合同中,条款内容完全相同、或仅存在较小差别。
因此,可以以几份完成编辑的借贷合同为范本,通过分段符、句号、第x条等字符进行分解,并利用语义识别对条款进行分类,如可以分为甲乙方信息条款、甲方责任条款、甲方义务条款、等等,将得到的各条款分别存入对应的条款库。
此外,还可以预先引用条款库中的各条款,生成几种常用的模板,从而可以在编辑合同时,直接基于模板进行编辑。条款库、模板库与合同库中各内容的对应结构,可以如图2所示(图中仅以1个条款库进行示意性表示)。
在实际进行合同创建、编辑时,可以选择基于条款库生成合同,即选择与排列条款库中的各条预设条款,并补充自定义的部分,从而生成合同。也可以选择基于模板库生成合同,即选择模板库中已有的某模板,并根据当前的情况进行修改与补充,当然,基于模板库生成合同,也可以从条款库中选择条款,对现有内容进行补充,图3所示为基于模板库生成合同时的一种编辑界面的示意图,界面左侧为文档编辑区域,其中所显示的内容为用户选择并打开的模板,界面右侧为条款库的内容选择界面,用户可以选择条款加入该模板,也可以对文档编辑区域中的具体信息进行修改与添加。
此外,所编辑的各条款、模板及合同,均对应着唯一的ID,以便于三者间的关联,同一ID的每份条款、模板及合同还对应着版本号,以便于对历史修改记录进行回溯。
当对某条款进行修改后,可以将引用该条款的模板自动进行版本更新,也可以在用户使用该模板时提示用户进行更新。对应已完成编辑的合同,一般不会进行内容变更,但也可以在用户打开该合同时提示用户是否进行版本更新。还可以由用户对各次修改进行批注,以便于回溯修改理由,如果是条款变更后的自动更新,还可以自动生成修改理由。
此外,用户编辑合同时所补充的内容,也可以逆向保存为条款与模板,从而丰富条款库与模板库,使合同编辑的效率越来越高。
可见,应用上述方案,将通用内容以预设库的形式直接提供给用户进行选择,可以在较大程度上简化文档的编辑流程,且通过ID与版本号的关联,可以对各次修改、各个版本进行回溯,使用户在合同数量较大的情况下也可以方便地管理、回溯。
相应于上述方法实施例,本说明书实施例还提供一种文档编辑装置,参见图4所示,该装置可以包括:
编辑策略确定模块110,用于确定文档编辑策略;
预设内容确定模块120,用于根据所述文档编辑策略,向用户展示该策略对应的内容选择界面,以使用户从该界面包括的预设内容中选择需加入目标文档的内容;将用户所选择的预设内容展示于文档编辑区域;
自定义内容获取模块130,用于获取用户在该文档编辑区域中添加的自定义内容;
目标文档生成模块140,用于生成由所述文档编辑区域中的预设内容与自定义内容组成的目标文档。
在本说明书提供的一种具体实施方式中,所述编辑策略确定模块110,具体可以用于:
在接收到文档编辑操作触发的情况下,展示文档编辑策略选择列表;
根据用户针对所展示列表进行的选择操作触发,确定用户所选择的文档编辑策略。
在本说明书提供的一种具体实施方式中,所述编辑策略确定模块110,可以包括:
文档类型确定单元,用于确定目标文档的文档类型;
编辑策略确定单元,用于根据预设的文档类型与文档编辑策略的对应关系,确定所述文档类型对应的文档编辑策略。
在本说明书提供的一种具体实施方式中,所述文档类型确定单元,具体可以用于:
获取所述文档编辑区域的全部或部分自定义内容;
对所获取的自定义内容进行语义识别;
将语义识别结果与各文档类型的预设语句集合进行比较,确定所述语义识别的结果对应的文档类型。
在本说明书提供的一种具体实施方式中,所述编辑策略确定模块110,具体可以用于:
接收在所述文档编辑区域中进行的内容选择操作触发;
根据所述内容选择操作触发的位置,确定对应的文档编辑策略。
在本说明书提供的一种具体实施方式中,所述目标文档生成模块140,具体可以用于:
根据所述文档编辑策略,确定所述文档编辑区域中的预设内容与自定义内容的结构关系;
将所述文档编辑区域中的预设内容与自定义内容,按照所确定的结构关系组合,生成目标文档。
在本说明书提供的一种具体实施方式中,所述预设内容确定模块120,具体可以用于:
确定所述文档编辑策略对应的预设内容库;
读取所确定预设内容库中的预设内容,通过内容选择界面进行展示。
在本说明书提供的一种具体实施方式中,参见图5所示,还可以包括预设内容生成模块150,具体可以用于:
获取待分解文档;
根据指定的分解规则,将所述待分解文档分解为若干部分内容;
对分解得到的任一部分内容:进行语义识别;根据语义识别结果,将该部分内容存入对应的预设内容库,以便后续在对应内容选择界面展示。
在本说明书提供的一种具体实施方式中,参见图5所示,还可以包括文档更新模块160,具体可以用于:
记录所述目标文档对预设内容的引用关系;
在对任一预设内容库中的预设内容进行修改的情况下,根据预先记录的引用关系,确定引用所修改预设内容的文档;
对所确定文档进行更新提示,以提示用户是否根据所述修改对该文档的内容进行更新。
可以理解的是,预设内容生成模块150与文档更新模块160作为两种功能独立的模块,既可以如图5所示同时配置在装置中,也可以分别单独配置在装置中,因此图5所示的结构不应理解为对本说明书实施例方案的限定。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的文档编辑方法。该方法至少包括:
一种文档编辑方法,该方法包括:
确定文档编辑策略;
根据所述文档编辑策略,向用户展示该策略对应的内容选择界面,以使用户从该界面包括的预设内容中选择需加入目标文档的内容;
将用户所选择的预设内容展示于文档编辑区域,并获取用户在该文档编辑区域中添加的自定义内容;
生成由所述文档编辑区域中的预设内容与自定义内容组成的目标文档。
图6示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的文档编辑方法。该方法至少包括:
一种文档编辑方法,该方法包括:
确定文档编辑策略;
根据所述文档编辑策略,向用户展示该策略对应的内容选择界面,以使用户从该界面包括的预设内容中选择需加入目标文档的内容;
将用户所选择的预设内容展示于文档编辑区域,并获取用户在该文档编辑区域中添加的自定义内容;
生成由所述文档编辑区域中的预设内容与自定义内容组成的目标文档。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。