CN108460149A - 文本数据处理方法、装置、设备及计算机可读存储介质 - Google Patents
文本数据处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108460149A CN108460149A CN201810241226.9A CN201810241226A CN108460149A CN 108460149 A CN108460149 A CN 108460149A CN 201810241226 A CN201810241226 A CN 201810241226A CN 108460149 A CN108460149 A CN 108460149A
- Authority
- CN
- China
- Prior art keywords
- data
- session
- excel
- text data
- database
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种文本数据处理方法、装置、设备及计算机可读存储介质。所述方法包括:获取Excel数据源文件,其中,所述Excel数据源文件中保存的是消息级别的对话文本数据;将所述Excel数据源文件导入到数据库;将导入到数据库中的所述Excel数据源文件对应的数据进行预处理;将预处理后的数据整合成会话级别的会话文本数据。本发明实施例可将散乱无序、无上下文关系、无人员关系的消息级别的对话文本数据整合为以预定格式显示的会话级别的会话文本数据,整合的效率高,且方便分析人员进行更一步的分析。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种文本数据处理方法、装置、设备及计算机可读存储介质。
背景技术
在坐席销售的过程中,可能会与客户产生大量的对话文本数据,这些对话文本数据会保存在坐席销售的平台中。若要想对对话文本数据进行分析,如分析坐席是否有说错、是否有不礼貌行为或者通过坐席说错的地方来查看坐席哪一方面的知识比较欠缺以更好地为坐席制定培训计划等,目前采用的方法是先随机抽取一定条数的消息文本内容,再通过人工的方法进行分析。而由于对话文本数据量较大,因此分析人员拿到的对话文本数量大,且为消息级别,散乱无序、无上下文关系、无人员关系等,给分析工作造成很大的不便。
发明内容
本发明实施例提供一种文本数据处理方法、装置、设备及计算机可读存储介质,可将散乱无序、无上下文关系、无人员关系的消息级别的对话文本数据整合为以预定格式显示的会话级别的会话文本数据,整合的效率高,且方便分析人员进行更一步的分析。
第一方面,本发明实施例提供了一种文本数据处理方法,该方法包括:
获取Excel数据源文件,其中,所述Excel数据源文件中保存的是消息级别的对话文本数据;
将所述Excel数据源文件导入到数据库;
将导入到数据库中所述Excel数据源文件对应的数据进行预处理;
将预处理后的数据整合成会话级别的会话文本数据。
第二方面,本发明实施例提供了一种文本数据处理装置,该装置包括用于执行上述第一方面所述一种文本数据处理方法的单元。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储实现文本数据处理的计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的文本数据处理的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,实现上述第一方面所述的文本数据处理的方法。
本发明实施例可将散乱无序、无上下文关系、无人员关系的消息级别的对话文本数据整合为以预定格式显示的会话级别的会话文本数据,整合的效率高,且方便分析人员进行更一步的分析。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种文本数据处理方法的流程示意图;
图2是本发明实施例提供的一种文本数据处理方法的子流程示意图;
图3是本发明实施例提供的一种文本数据处理方法的另一子流程示意图;
图4是本发明实施例提供的一种文本数据处理方法的另一子流程示意图;
图5是本发明另一实施例提供的一种文本数据处理方法的流程示意图;
图6是本发明实施例提供的一种文本数据处理装置的示意性框图;
图7是本发明实施例提供的预处理单元的示意性框图;
图8是本发明实施例提供的整合单元的示意性框图;
图9是本发明实施例提供的导入单元的示意性框图;
图10是本发明另一实施例提供的文本数据处理装置的示意性框图;
图11是本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
图1为本发明实施例提供的一种文本数据处理方法的流程示意图。该方法包括以下步骤S101-S104。
S101,获取Excel数据源文件,其中,Excel数据源文件中保存的是消息级别的对话文本数据。Excel数据源文件中保存的是坐席与客户之间的对话文本数据。该对话文本数据从坐席销售的平台中获取,获取后保存在Excel文件中。该对话文本数据属于消息级别,可以理解为对话文本数据是以坐席与客户之间发送的消息为单位保存的数据,该对话文本数据由众多的消息文本数据组成,每一条消息文本数据包括发送人、接收人、具体的消息内容、发送消息的时间等。由于可能同时有多个坐席同时跟不同的客户有交流,如此会导致Excel数据源中保存的数据散乱无序、无上下文关系、无人员关系等。对于同一个坐席与同一个客户之间的消息文本数据,也可能也会出现重复保存,散乱无序等情况。
S102,将Excel数据源文件导入到数据库。其中,数据库可以是My Sql数据库、SqlServer数据库、Oracle数据库等可以处理大量数据的数据库之中的一种。由于每天会产生大量的Excel源文件数据,需要及时将该Excel源文件数据保存到数据库,保存到数据库中的Excel数据源文件中的数据可供后续使用。在将Excel数据源文件导入到数据库之前,建立与数据库之间的连接,并在结束导入之前保持与数据库之间的连接。
将Excel数据源文件导入到数据库时需使用开放源码函式库。其中,开放源码函式库指的是Apache POI(Poor Obfuscation Implementation),其是用Java 编写的免费开源的跨平台的JavaAPI,它允许程序员使用Java程序创建,修改和显示MS Office文件。可以理解地,Apache POI提供对MIcrosoft Office格式文件读和写的功能。Apache POI也可以简称为POI。具体地,将Excel数据源文件导入到数据库,包括:通过POI读取Excel数据源文件,并将读取的Excel 数据源文件保存到数据库。
将Excel数据源文件导入到数据库中之后,保存的仍然是消息级别的对话文本数据,该对话文本数据由众多的消息文本数据组成,每一条消息文本数据包括发送人、接收人、具体的消息内容、发送消息的时间等。将Excel数据源文件导入到数据库后,可以显示如表1所示的形式。需要注意的是,表1所示只是一个示例。从表1中可以看到,保存的对话文本数据共有12条消息文本数据,每条消息文本数据中包括消息编号、发送人、接收人、发送消息的时间、具体的消息内容。也可以看出保存的对话文本数据是杂乱无序的,如发送时间在后面的消息文本数据却显示在发送时间在前面的消息文本数据之前,如消息内容“希望赵大哥抓住机会,是个好产品”发送时间在消息内容“公司推出一款新产品,有兴趣看看?”之后,却显示在消息内容“公司推出一款新产品,有兴趣看看?”前面。
表1 保存到数据库中的对话文本数据
S103,将导入到数据库中的数据进行预处理。预处理的方法包括去重、筛选等,以去掉重复的无价值的数据,以及筛选出符合分析需求的数据,避免其他的数据对进一步分析造成影响,如降低分析的效率等。
具体地,如图2所示,将导入到数据库中的数据进行预处理,包括以下步骤S201-S202。S201,将导入到数据库中的数据去重。由于保存到数据库中的数据是消息级别的对话文本数据,可能在保存的时候对某些消息文本数据进行了重复保存,那么需要对导入到数据库中的数据去重,以去掉重复的无价值的数据。S202,从去重后的数据中筛选出预设消息类型的消息文本数据。其中,筛选包括两种类型的筛选,一,将具体的消息内容为空的值删除;二,从众多的消息类型中筛选出符合预设消息类型的消息文本。其中,消息类型有很多,如位置、分享小程序、红包、加好友请求、文字、图片、语音、小视频、动图等消息类型。可以根据分析人员具体分析的意图来确定预设消息类型,预设消息类型由分析人员预先设定。如分析坐席是否有说错、是否有不礼貌行为或者通过坐席说错的地方来查看坐席哪一方面的知识比较欠缺以更好地为坐席制定培训计划等意图,预设消息类型可以包括:文字、图片、语音、小视频、动图等。可以理解地,文字、图片、语音、小视频、动图等预设消息类型存在分析的必要性。
S104,将预处理后的数据整合成会话级别的会话文本数据。会话级别的会话文本数据理解为以坐席与客户之间的一个对话(会话)为单位保存的数据,即会话文本数据中保存的坐席与客户之间的多个对话数据。每个对话数据中对应有多条消息文本数据,该多条消息文本数据对应的发送消息的时间是连续的,连续指前后两条消息文本数据的发送消息的时间间隔不超过一定时间,如5分钟等。可以理解地,同一个坐席和同一个客户前一天和后一天的对话,属于两个不同的对话。将预处理后的数据整合成会话级别的会话文本数据,可以根据发送人、接收人来作为一个分组单元,将预处理后的数据分成多组,这意味发送人和接收人这两者相同的数据分为一组,根据分组将同一组中的消息文本数据按照消息发送的时间做正向排序,再按照分组将对应组中的排序后的消息文本数据进行显示。
具体地,如图3所示,将预处理后的数据整合成会话级别的会话文本数据,包括以下步骤S301-S303。S301,从预处理后的数据中查找每条消息文本数据中的发送人和接收人,将发送人和接收人作为一个集合。S302、按照集合对消息文本数据进行分组。具体地,将集合相同的消息文本数据分成一组,如此就分成了多组的数据。这意味着分成一组的发送人和接收人是同一个对话中的两个人,不同发送人和接收人的对话分成了不同的组。如表1中张三和李四在一组,王五和赵六在一组。S303、将每组中的消息文本数据按照预定格式显示。其中,先将每组中的消息文本数据按照发送消息时间的先后顺序排序,将排序后的消息文本数据按照预定格式显示,其中预定格式可以为:发送消息的时间 [空格]发送人[冒号]具体的消息内容。预定格式也可以为其他的格式。
整合后的会话文本可以显示为如表2所示的形式。需要注意的是,表2中所示仅仅是一个示例。从表2中可以看出,整合后的会话文本数据有2个对话数据,每个对话数据中包括对话编号、对话内容。每个对话内容中对应有多条消息文本数据,该多条消息文本数据是按照对应的发送消息的时间是顺序排列的。每条消息文本数据按照预定格式:发送消息的时间[空格]发送人[冒号]具体的消息内容,进行显示,如:2017-01-0110:01:01王五:赵大哥,你好。如此,把消息级别的对话文本数据整合成为会话级别的会话文本数据,整合后的会话文本一眼就可以看出是两个人之间的对话,方便分析人员查看和审阅文本内容。
表2 整合后的会话文本
以上实施例可将散乱无序、无上下文关系、无人员关系的消息级别的对话文本数据整合为以预定格式显示的会话级别的会话文本数据,方便了分析人员查看和审阅文本内容,以进行更一步的分析。
在一实施例中,所述Excel数据源文件是压缩过的XML格式文件,需要注意的是,这里的Excel特指包含Office 2007及后续版本,Office 2007及后续版本的单个Sheet可以支持1048576行数据,数据量非常大,因此为了方便保存和数据传输,将Excel数据源文件导入到数据库之前,需要将Excel文件进行处理转换为压缩过的XML格式文件。具体地,获取Excel数据源文件,包括:获取Excel文件,将获取的Excel文件进行处理转换为压缩过的XML格式文件,将压缩过的XML格式文件称为Excel数据源文件。
其中,将Excel文件进行处理转换为压缩过的XML格式文件,具体地,先完成Excel文件到XML的文件映射,即将Excel文件中的列映射成XML文件中的属性。如新建一个XML格式的文件,在XML格式的文件中,编辑写入两个以上的节点对,每个节点对中有与Excel文件中列数一致的子节点,子节点相当于XML文件中的属性。其中,在本实施例中,列数一致可以理解为:子节点的个数与Excel数据源文件中列数相同,子节点的名称可以与Excel数据源中的列名称相同,也可以不同。在XML格式的文件中,编辑写入两个以上的节点对,是为了避免Excel文件中的数据导入到XML文件中,只导出一列的数据。再打开Excel文件,点击开发工具--源--XML映射,添加新建的XML文件,会出现XML文件的属性列表,将XML文件的每个属性拖到Excel对应列上,以完成映射。然后点击XML选项下的导出,以将Excel文件导出为XML文件。将导出的XML文件在进行压缩,以方便保存和数据传输等。
如图4所示,将Excel数据源文件导入到数据库,即步骤S102,包括以下步骤S401-S404。
S401,利用开放源码函式库读取并解压Excel数据源文件以得到XML格式文件。具体地,利用POI读取经过压缩的XML文件;再将XML文件解压缩以得到XML格式文件。
S402,将所述XML格式文件解析成多行的数据。
譬如,下面XML数据对应一行Excel数据:
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
POI先读取<note>,标示为行首节点,然后读取<to>,识别为一个子节点的开始,再读取George,识别为子节点的值,最后读取</to>,标示为子节点的结束。因为XML规定</>中的/为节点结束符,<>和</>中间为节点值,如果中间没有任何字符,则认为没有值。依次读取其他子节点,最后读取 </note>,标示为行尾节点。这样一行数据解析完毕。如此可以解析出多行数据。具体地,可以通过开放源码函式库进行解析;也可以通过其他解析方式进行解析,如SAX(Simple API for XML)等。
以上步骤S401-S402利用POI读取并解压数据源文件,其中数据源文件是经过压缩的XML文件,并将解压后的XML格式文件解析成多行的数据,比起直接读取Excel文件中的数据,速度要快很多。
S403,利用开放源码函式库,通过连接池将解析后的多行数据保存到数据库。
其中,连接池是与数据库连接的通道。通过连接池将Java和数据库连接,其中,Java指的是使用Java语言编写的连接数据库的代码所在的设备。其中,连接池使用的是Hikari Java数据库连接池。数据库连接池负责分配、管理、释放数据库连接,它保证应用程序可以重复使用同一个连接而不需要每次都建立数据库连接,如果数据库连接时间超过设置的最长数据库连接时间会自动释放链接,为了避免因为没有释放链接而导致的数据库连接遗漏,因此,数据库连接池可以明显的提高数据库的连接性能。数据库连接池在初始化的时候会放入一定数量的连接,这个连接是由最小连接数决定的,就算没有用到这些连接,这个连接也会放在连接池中。如果连接数超过最大连接数,那么会放入队列中等待释放链接再使用。数据库连接是非常占用资源的,尤其是在高并发的情况下,如果每次都去建立数据库连接就会有性能问题,也会影响一个应用程序的延展性。数据库连接池避免了数据库连接频繁建立、关闭的开销,提高了数据库连接效率。使用Hikari Java数据库连接池,连接速度快,稳定性也非常好。利用开放源码函式库,通过连接池将解析后的多行数据保存到数据库。
以上步骤S403利用开放源码函式库,通过Hikari Java数据库连接池将解析后的数据保存到数据库,使用Hikari Java数据库连接池可以提高数据库连接的速度,如此也提高了保存数据的速度。
图4所示的实施例通过将Excel数据源文件解压得到XML格式文件,解析 XML格式文件中的数据,并将解析后的数据,通过高效连接池保存到数据库,可以快速将大量的Excel数据源文件导入到数据库,提高了Excel数据源文件导入到数据库的效率。
图5是本发明另一实施例提供的一种文本数据处理方法的流程示意图。该方法包括步骤S501-S506。其中,步骤S501-S504请参看图1实施例的所述的部分,在此不再赘述。下面将详细描述步骤S505-S506。
S505,对会话级别的会话文本数据建立倒排索引。其中,可使用全文搜索引擎来实现,如ElasticSearch全文搜索引擎。具体地,将会话级别的会话文本数据进行分词;统计分成的词在对会话文本数据中出现的次数和位置,如统计词“分红”在会话文本数据中出现的次数和位置,其中,位置包括在哪个会话文本数据表、哪段会话(用对话编号表示)等,需要注意的是,整合后的会话文本数据的数据量很大,因此会将会话文本数据放在不同的数据表中,或者放在不同终端上的不同表中,以减少一个终端损坏而带来的损失,同时也减少后续因大量查询工作而带来的压力;将分成的词根据出现的次数和位置进行倒排索引。通过该倒排索引可以根据分成的词快速获取包含这个词的对话列表,即哪些对话中出现了该词。
S506,根据接收到的查询关键字,利用建立的倒排索引,从会话文本数据中筛选出与所述查询关键字匹配的会话文本数据。其中,查询关键字可以由用户输入,检测并接收用户输入的查询关键字。根据该查询关键字,从建立的倒排索引中进行查询,即根据查询关键字与倒排索引中分成的词进行匹配,并返回与该查询关键字匹配成功的词所在的对话编号,根据该对话编号找到对应的对话内容,并返回对应的对话内容。如此为分析人员提供方便,以加快分析人员的分析速度。
该实施例通过对会话文本数据建立倒排索引,根据接收到的查询关键字,利用建立的倒排索引,从会话文本数据中筛选出与所述查询关键字匹配的会话文本数据,如此可以提供对会话文本数据的查询功能,方便分析人员进行进一步的分析。同时对会话文本数据建立倒排索引,加快了查询的速度,进一步提高了分析人员的分析效率。
图6是本发明实施例提供的一种文本数据处理装置的示意性框图。如图6 所示,该装置60包括获取单元601、导入单元602、预处理单元603、整合单元604。
获取单元601,用于获取Excel数据源文件,其中,Excel数据源文件中保存的是消息级别的对话文本数据。Excel数据源文件中保存的是坐席与客户之间的对话文本数据。该对话文本数据从坐席销售的平台中获取,获取后保存在 Excel文件中。该对话文本数据属于消息级别,可以理解为对话文本数据是以坐席与客户之间发送的消息为单位保存的数据,该对话文本数据由众多的消息文本数据组成,每一条消息文本数据包括发送人、接收人、具体的消息内容、发送消息的时间等。由于可能同时有多个坐席同时跟不同的客户有交流,如此会导致Excel数据源中保存的数据散乱无序、无上下文关系、无人员关系等。对于同一个坐席与同一个客户之间的消息文本数据,也可能也会出现重复保存,散乱无序等情况。
导入单元602,用于将Excel数据源文件导入到数据库。其中,数据库可以是My Sql数据库、Sql Server数据库、Oracle数据库等可以处理大量数据的数据库之中的一种。由于每天会产生大量的Excel源文件数据,需要及时将该Excel 源文件数据保存到数据库,保存到数据库中的Excel数据源文件中的数据可供后续使用。在将Excel数据源文件导入到数据库之前,建立与数据库之间的连接,并在结束导入之前保持与数据库之间的连接。
将Excel数据源文件导入到数据库时需使用开放源码函式库。其中,开放源码函式库指的是Apache POI(Poor Obfuscation Implementation),其是用Java 编写的免费开源的跨平台的JavaAPI,它允许程序员使用Java程序创建,修改和显示MS Office文件。可以理解地,Apache POI提供对MIcrosoft Office格式文件读和写的功能。Apache POI也可以简称为POI。具体地,将Excel数据源文件导入到数据库,包括:通过POI读取Excel数据源文件,并将读取的Excel 数据源文件保存到数据库。
将Excel数据源文件导入到数据库中之后,保存的仍然是消息级别的对话文本数据,该对话文本数据由众多的消息文本数据组成,每一条消息文本数据包括发送人、接收人、具体的消息内容、发送消息的时间等。将Excel数据源文件导入到数据库后,可以显示如表1所示的形式。从表1中也可以看出保存的对话文本数据是杂乱无序的。
预处理单元603,用于将导入到数据库中Excel数据源文件对应的的数据进行预处理。预处理的方法包括去重、筛选等,以去掉重复的无价值的数据,以及筛选出符合分析需求的数据,避免其他的数据对进一步分析造成影响,如降低分析的效率等。
具体地,如图7所示,将导入到数据库中的Excel数据源文件对应的数据进行预处理,即预处理单元603包括去重单元701、筛选单元702。去重单元 701,用于将导入到数据库中的数据去重。由于保存到数据库中的数据是消息级别的对话文本数据,可能在保存的时候对某些消息文本数据进行了重复保存,那么需要对导入到数据库中的数据去重,以去掉重复的无价值的数据。筛选单元702,用于从去重后的数据中筛选出预设消息类型的消息文本数据。其中,筛选包括两种类型的筛选,一,将具体的消息内容为空的值删除;二,从众多的消息类型中筛选出符合预设消息类型的消息文本。其中,消息类型有很多,如位置、分享小程序、红包、加好友请求、文字、图片、语音、小视频、动图等消息类型。可以根据分析人员具体分析的意图来确定预设消息类型,预设消息类型由分析人员预先设定。如分析坐席是否有说错、是否有不礼貌行为或者通过坐席说错的地方来查看坐席哪一方面的知识比较欠缺以更好地为坐席制定培训计划等意图,预设消息类型可以包括:文字、图片、语音、小视频、动图等。可以理解地,文字、图片、语音、小视频、动图等预设消息类型存在分析的必要性。
整合单元604,将预处理后的数据整合成会话级别的会话文本数据。会话级别的会话文本数据理解为以坐席与客户之间的一个对话(会话)为单位保存的数据,即会话文本数据中保存的坐席与客户之间的多个对话数据。每个对话数据中对应有多条消息文本数据,该多条消息文本数据对应的发送消息的时间是连续的,连续指前后两条消息文本数据的发送消息的时间间隔不超过一定时间,如5分钟等。可以理解地,同一个坐席和同一个客户前一天和后一天的对话,属于两个不同的对话。将预处理后的数据整合成会话级别的会话文本数据,可以根据发送人、接收人来作为一个分组单元,将预处理后的数据分成多组,这意味发送人和接收人这两者相同的数据分为一组,根据分组将同一组中的消息文本数据按照消息发送的时间做正向排序,再按照分组将对应组中的排序后的消息文本数据进行显示。
具体地,如图8所示,将预处理后的数据整合成会话级别的会话文本数据,即整合单元604包括集合形成单元801、分组单元802、显示单元803。集合形成单元801,用于从预处理后的数据中查找每条消息文本数据中的发送人和接收人,将发送人和接收人作为一个集合。分组单元802,用于按照集合对消息文本数据进行分组。具体地,将集合相同的消息文本数据分成一组,如此就分成了多组的数据。这意味着分成一组的发送人和接收人是同一个对话中的两个人,不同发送人和接收人的对话分成了不同的组。如表1中张三和李四在一组,王五和赵六在一组。显示单元803,用于将每组中的消息文本数据按照预定格式显示。其中,先将每组中的消息文本数据按照发送消息时间的先后顺序排序,将排序后的消息文本数据按照预定格式显示,其中预定格式可以为:发送消息的时间[空格]发送人[冒号]具体的消息内容。预定格式也可以为其他的格式。如此,把消息级别的对话文本数据整合成为会话级别的会话文本数据,整合后的会话文本数据一眼就可以看出是两个人之间的对话,方便分析人员查看和审阅文本内容。整合后的会话文本可以显示为如表2所示的形式。
以上实施例可将散乱无序、无上下文关系、无人员关系的消息级别的对话文本数据整合为以预定格式显示的会话级别的会话文本数据,方便了分析人员查看和审阅文本内容,以进行更一步的分析。
在一实施例中,所述Excel数据源文件是压缩过的XML格式文件,需要注意的是,这里的Excel特指包含Office 2007及后续版本,Office 2007及后续版本的单个sheet可以支持1048576行数据,数据量非常大,因此为了方便保存和数据传输,将Excel数据源文件导入到数据库之前,需要将Excel文件进行处理转换为压缩过的XML格式文件。具体地,获取单元,用于获取Excel文件,将获取的Excel文件进行处理转换为压缩过的XML格式文件。将压缩过的XML 格式文件称为Excel数据源文件。
其中,将Excel文件进行处理转换为压缩过的XML格式文件。具体地,先完成Excel数据源文件到XML的文件映射,即将Excel文件中的列映射成XML 文件中的属性。如新建一个XML格式的文件,在XML格式的文件中,编辑写入两个以上的节点对,每个节点对中有与Excel数据源文件中列数一致的子节点,子节点相当于XML文件中的属性。其中,在本实施例中,列数一致可以理解为:子节点的个数与Excel数据源文件中列数相同,子节点的名称可以与 Excel数据源中的列名称相同,也可以不同。在XML格式的文件中,编辑写入两个以上的节点对,是为了避免Excel文件中的数据导入到XML文件中,只导出一列的数据。再打开Excel源数据文件,点击开发工具--源--XML映射,添加新建的XML文件,会出现XML文件的属性列表,将XML文件的每个属性拖到Excel对应列上,以完成映射。然后点击XML选项下的导出,以将Excel 源数据文件压缩并导出为XML文件。将导出的XML文件在进行压缩,以方便保存和数据传输等。
如图9所示,将Excel数据源文件导入到数据库,即导入单元602包括解压单元901、解析单元902、连接单元903、保存单元904。
解压单元901,用于利用开放源码函式库读取并解压Excel数据源文件以得到XML格式文件。具体地,利用POI读取经过压缩的XML文件;再将XML 文件解压缩以得到XML格式文件。
解析单元902,用于将所述XML格式文件解析成多行的数据。具体地解析方法请参看对应方法实施例中的具体描述。
以上解压单元901、解析单元902,利用POI读取并解压数据源文件,其中数据源文件是经过压缩的XML文件,并将解压后的XML格式文件解析成多行的数据,比起直接读取Excel中的数据,速度要快很多。
保存单元903,用于利用开放源码函式库,通过连接池将解析后的多行数据保存到数据库。
其中,连接池是与数据库连接的通道。通过连接池将Java和数据库连接,其中,Java指的是使用Java语言编写的连接数据库的代码所在的设备。其中,连接池使用的是Hikari Java数据库连接池。数据库连接池负责分配、管理、释放数据库连接,它保证应用程序可以重复使用同一个连接而不需要每次都建立数据库连接,如果数据库连接时间超过设置的最长数据库连接时间会自动释放链接,为了避免因为没有释放链接而导致的数据库连接遗漏,因此,数据库连接池可以明显的提高数据库的连接性能。数据库连接池在初始化的时候会放入一定数量的连接,这个连接是由最小连接数决定的,就算没有用到这些连接,这个连接也会放在连接池中。如果连接数超过最大连接数,那么会放入队列中等待释放链接再使用。数据库连接是非常占用资源的,尤其是在高并发的情况下,如果每次都去建立数据库连接就会有性能问题,也会影响一个应用程序的延展性。数据库连接池避免了数据库连接频繁建立、关闭的开销,提高了数据库连接效率。使用Hikari Java数据库连接池,连接速度快,稳定性也非常好。利用开放源码函式库,通过连接池将解析后的多行数据保存到数据库。
以上保存单元903,利用开放源码函式库,通过Hikari Java数据库连接池将解析后的数据保存到数据库,使用Hikari Java数据库连接池可以提高数据库连接的速度,如此也提高了保存数据的速度。
图9所示的实施例通过将Excel数据源文件解压得到XML格式文件,解析 XML格式文件中的数据,并将解析后的数据,通过高效连接池保存到数据库,可以快速将大量的Excel数据源文件导入到数据库,提高了Excel数据源文件导入到数据库的效率。
图10是本发明另一实施例提供的一种文本数据处理装置的示意性框图。该装置100包括获取单元101、导入单元102、预处理单元103、整合单元104、索引单元105、查询单元106。其中,获取单元101、导入单元102、预处理单元103、整合单元104请参看图6实施例的所述的部分,在此不再赘述。下面将详细描述索引单元105、查询单元106。
索引单元105,用于对会话级别的会话文本数据建立倒排索引。其中,可使用全文搜索引擎来实现,如ElasticSearch全文搜索引擎。具体地,将会话级别的会话文本数据进行分词;统计分成的词在对会话文本数据中出现的次数和位置,如统计词“分红”在会话文本数据中出现的次数和位置,其中,位置包括在哪个会话文本数据表、哪段会话(用对话编号表示)等,需要注意的是,整合后的会话文本数据的数据量很大,因此会将会话文本数据放在不同的数据表中,或者放在不同终端上的不同表中,以减少一个终端损坏而带来的损失,同时也减少后续因大量查询工作而带来的压力;将分成的词根据出现的次数和位置进行倒排索引。通过该倒排索引可以根据分成的词快速获取包含这个词的对话列表,即哪些对话中出现了该词。
查询单元106,用于根据接收到的查询关键字,利用建立的倒排索引,从会话文本数据中筛选出与所述查询关键字匹配的会话文本数据。其中,查询关键字可以由用户输入,检测并接收用户输入的查询关键字。根据该查询关键字,从建立的倒排索引中进行查询,即根据查询关键字与倒排索引中分成的词进行匹配,并返回与该查询关键字匹配成功的词所在的对话编号,根据该对话编号找到对应的对话内容,并返回对应的对话内容。如此为分析人员提供方便,以加快分析人员的分析速度。
该实施例通过对会话文本数据建立倒排索引,根据接收到的查询关键字,利用建立的倒排索引,从会话文本数据中筛选出与所述查询关键字匹配的会话文本数据,如此可以提供对会话文本数据的查询功能,方便分析人员进行进一步的分析。同时对会话文本数据建立倒排索引,加快了查询的速度,进一步提高了分析人员的分析效率。
以上实施例可将散乱无序、无上下文关系、无人员关系的消息级别的对话文本数据整合为以预定格式显示的会话级别的会话文本数据,方便了分析人员查看和审阅文本内容,以进行更一步的分析。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图11 所示的计算机设备上运行。
图11为本发明实施例提供的一种计算机设备的示意性框图。该计算机设备 110可以是手机、pad等便携式设备,也可以是台式机等非便携式设备,该计算机设备110也可以是以服务器的形式存在。该设备110包括通过系统总线111 连接的处理器112、存储器和网络接口113,其中,存储器可以包括非易失性存储介质114和内存储器115。
该非易失性存储介质114可存储操作系统1141和计算机程序1142。该计算机程序1142被执行时,可使得处理器112执行一种文本数据处理方法。该处理器112用于提供计算和控制能力,支撑整个设备110的运行。该内存储器115 为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器 112执行时,可使得处理器112执行一种文本数据处理方法。该网络接口113 用于进行网络通信,如接收指令等。本领域技术人员可以理解,图110中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备110的限定,具体的设备110可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器112用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取Excel数据源文件,其中,所述Excel数据源文件中保存的是消息级别的对话文本数据;将所述Excel数据源文件导入到数据库;将导入到数据库中的所述Excel数据源文件对应的数据进行预处理;将预处理后的数据整合成会话级别的会话文本数据。
在一实施例中,所述Excel数据源文件是压缩过的XML格式文件,处理器 112在执行将所述Excel数据源文件导入到数据库时,具体执行:
利用Apache POI读取并解压Excel数据源文件以得到XML格式文件;将所述XML格式文件解析成多行的数据;利用Apache POI,通过连接池将解析后的多行的数据保存到数据库。
在一实施例中,处理器112在执行将导入到数据库中的数据进行预处理时,具体执行:
将导入到数据库中的数据去重;从去重后的数据中筛选出预设消息类型的消息文本数据。
在一实施例中,处理器112在执行将预处理后的数据整合成会话级别的会话文本数据时,具体执行:
从预处理后的数据中查找每条消息文本数据中的发送人和接收人,将发送人和接收人作为一个集合;按照集合对消息文本数据进行分组;将每组中的消息文本数据按照预定格式显示,以形成会话级别的会话文本数据。
在一实施例中,处理器112在执行将预处理后的数据整合成会话级别的会话文本数据之后,还执行:
对会话级别的会话文本数据建立倒排索引;根据接收到的查询关键字,利用建立的倒排索引,从所述会话文本数据中筛选出与所述查询关键字匹配的会话文本数据。
应当理解,在本发明实施例中,所称处理器112可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时实现以下步骤:
获取Excel数据源文件,其中,所述Excel数据源文件中保存的是消息级别的对话文本数据;将所述Excel数据源文件导入到数据库;将导入到数据库中的所述Excel数据源文件对应的数据进行预处理;将预处理后的数据整合成会话级别的会话文本数据。
在一实施例中,所述Excel数据源文件是压缩过的XML格式文件,所述处理器在执行将所述Excel数据源文件导入到数据库时,具体实现:
利用Apache POI读取并解压Excel数据源文件以得到XML格式文件;将所述XML格式文件解析成多行的数据;利用Apache POI,通过连接池将解析后的多行的数据保存到数据库。
在一实施例中,所述处理器在执行将导入到数据库中的数据进行预处理时,具体实现:
将导入到数据库中的数据去重;从去重后的数据中筛选出预设消息类型的消息文本数据。
在一实施例中,所述处理器在执行将预处理后的数据整合成会话级别的会话文本数据时,具体实现:
从预处理后的数据中查找每条消息文本数据中的发送人和接收人,将发送人和接收人作为一个集合;按照集合对消息文本数据进行分组;将每组中的消息文本数据按照预定格式显示,以形成会话级别的会话文本数据。
在一实施例中,所述处理器在执行将预处理后的数据整合成会话级别的会话文本数据之后,还执行:
对会话级别的会话文本数据建立倒排索引;根据接收到的查询关键字,利用建立的倒排索引,从所述会话文本数据中筛选出与所述查询关键字匹配的会话文本数据。
所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(SmartMedia Card, SMC),安全数字(SecureDigital,SD)卡等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种文本数据处理方法,其特征在于,所述方法包括:
获取Excel数据源文件,其中,所述Excel数据源文件中保存的是消息级别的对话文本数据;
将所述Excel数据源文件导入到数据库;
将导入到数据库中的所述Excel数据源文件对应的数据进行预处理;
将预处理后的数据整合成会话级别的会话文本数据。
2.根据权利要求1所述的方法,其特征在于,所述Excel数据源文件是压缩过的XML格式文件,所述将所述Excel数据源文件导入到数据库,包括:
利用开放源码函式库读取并解压Excel数据源文件以得到XML格式文件;
将所述XML格式文件解析成多行的数据;
利用开放源码函式库,通过连接池将解析后的多行的数据保存到数据库。
3.根据权利要求1所述的方法,其特征在于,所述将导入到数据库中的数据进行预处理,包括:
将导入到数据库中的数据去重;
从去重后的数据中筛选出预设消息类型的消息文本数据。
4.根据权利要求1所述的方法,其特征在于,所述将预处理后的数据整合成会话级别的会话文本数据,包括:
从预处理后的数据中查找每条消息文本数据中的发送人和接收人,将发送人和接收人作为一个集合;
按照集合对消息文本数据进行分组;
将每组中的消息文本数据按照预定格式显示,以形成会话级别的会话文本数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对会话级别的会话文本数据建立倒排索引;
根据接收到的查询关键字,利用建立的倒排索引,从所述会话文本数据中筛选出与所述查询关键字匹配的会话文本数据。
6.一种文本数据处理装置,其特征在于,所述文本数据处理装置包括:
获取单元,用于获取Excel数据源文件,其中,所述Excel数据源文件中保存的是消息级别的消息文本数据;
导入单元,用于将所述Excel数据源文件导入到数据库;
预处理单元,用于将导入到数据库中的所述Excel数据源文件对应的数据进行预处理;
整合单元,用于将预处理后的数据整合成会话级别的会话文本数据。
7.根据权利要求6所述的装置,其特征在于,所述Excel数据源文件是压缩过的XML格式文件,所述导入单元,包括:
解压单元,用于利用开放源码函式库读取并解压Excel数据源文件以得到XML格式文件;
解析单元,用于将所述XML格式文件解析成多行的数据;
保存单元,用于利用开放源码函式库,通过连接池将解析后的多行的数据保存到数据库。
8.根据权利要求6所述的装置,其特征在于,所述整合单元,包括:
集合形成单元,用于从预处理后的数据中查找每条消息文本数据中的发送人和接收人,将发送人和接收人作为一个集合;
分组单元,用于按照集合对消息文本数据进行分组;
显示单元,用于将每组中的消息文本数据按照预定格式显示,以形成会话级别的会话文本数据。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储实现文本数据处理的计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,实现如权利要求1-5任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810241226.9A CN108460149B (zh) | 2018-03-22 | 2018-03-22 | 文本数据处理方法、装置、设备及计算机可读存储介质 |
PCT/CN2018/100930 WO2019179012A1 (zh) | 2018-03-22 | 2018-08-17 | 文本数据处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810241226.9A CN108460149B (zh) | 2018-03-22 | 2018-03-22 | 文本数据处理方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108460149A true CN108460149A (zh) | 2018-08-28 |
CN108460149B CN108460149B (zh) | 2021-05-18 |
Family
ID=63236405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810241226.9A Active CN108460149B (zh) | 2018-03-22 | 2018-03-22 | 文本数据处理方法、装置、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108460149B (zh) |
WO (1) | WO2019179012A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753568A (zh) * | 2018-12-27 | 2019-05-14 | 联想(北京)有限公司 | 一种处理方法及电子设备 |
CN113064987A (zh) * | 2021-04-30 | 2021-07-02 | 中国工商银行股份有限公司 | 数据处理方法、装置、电子设备、介质和程序产品 |
CN114356864A (zh) * | 2021-12-09 | 2022-04-15 | 浪潮云信息技术股份公司 | 国产环境下批量导入excel文件的方法及导入系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015764A (zh) * | 2020-08-13 | 2020-12-01 | 仁励家网络科技(杭州)有限公司 | 业务系统的数据处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050088084A (ko) * | 2005-05-24 | 2005-09-01 | 노키아 코포레이션 | 클라이언트 세션 식별자를 이용한 세션 관리 방법 및시스템 |
CN102375859A (zh) * | 2010-08-25 | 2012-03-14 | 阿里巴巴集团控股有限公司 | 一种信息处理的方法及设备 |
AU2012275628B2 (en) * | 2011-06-28 | 2017-01-05 | Microsoft Technology Licensing, Llc | Summarization of conversation threads |
CN106776843A (zh) * | 2016-11-28 | 2017-05-31 | 浪潮软件集团有限公司 | 一种基于xml解析的导入excel文件的方法 |
CN107562705A (zh) * | 2017-07-25 | 2018-01-09 | 努比亚技术有限公司 | 一种数据导出方法、服务端及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090053174A (ko) * | 2007-11-22 | 2009-05-27 | 주식회사 케이티 | 상황인지 지식서비스를 위한 세션 관리 장치 및 그 방법 |
US9218344B2 (en) * | 2012-06-29 | 2015-12-22 | Thomson Reuters Global Resources | Systems, methods, and software for processing, presenting, and recommending citations |
CN102866990B (zh) * | 2012-08-20 | 2016-08-03 | 北京搜狗信息服务有限公司 | 一种主题对话方法和装置 |
-
2018
- 2018-03-22 CN CN201810241226.9A patent/CN108460149B/zh active Active
- 2018-08-17 WO PCT/CN2018/100930 patent/WO2019179012A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050088084A (ko) * | 2005-05-24 | 2005-09-01 | 노키아 코포레이션 | 클라이언트 세션 식별자를 이용한 세션 관리 방법 및시스템 |
CN102375859A (zh) * | 2010-08-25 | 2012-03-14 | 阿里巴巴集团控股有限公司 | 一种信息处理的方法及设备 |
AU2012275628B2 (en) * | 2011-06-28 | 2017-01-05 | Microsoft Technology Licensing, Llc | Summarization of conversation threads |
CN106776843A (zh) * | 2016-11-28 | 2017-05-31 | 浪潮软件集团有限公司 | 一种基于xml解析的导入excel文件的方法 |
CN107562705A (zh) * | 2017-07-25 | 2018-01-09 | 努比亚技术有限公司 | 一种数据导出方法、服务端及计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753568A (zh) * | 2018-12-27 | 2019-05-14 | 联想(北京)有限公司 | 一种处理方法及电子设备 |
CN109753568B (zh) * | 2018-12-27 | 2021-09-14 | 联想(北京)有限公司 | 一种处理方法及电子设备 |
CN113064987A (zh) * | 2021-04-30 | 2021-07-02 | 中国工商银行股份有限公司 | 数据处理方法、装置、电子设备、介质和程序产品 |
CN114356864A (zh) * | 2021-12-09 | 2022-04-15 | 浪潮云信息技术股份公司 | 国产环境下批量导入excel文件的方法及导入系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019179012A1 (zh) | 2019-09-26 |
CN108460149B (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108460149A (zh) | 文本数据处理方法、装置、设备及计算机可读存储介质 | |
CN105956082B (zh) | 实时数据处理与存储系统 | |
EP2629452B1 (en) | Method for displaying message and message display apparatus | |
CN102622696B (zh) | 一种客服回访的方法和装置 | |
CN110347708B (zh) | 一种数据处理方法以及相关设备 | |
US20130268516A1 (en) | Systems And Methods For Analyzing And Visualizing Social Events | |
CN102883059B (zh) | 显示短信的方法和装置、回复短信的方法和装置 | |
CN106789598A (zh) | 基于社交关系链的公众号消息推送方法、装置及系统 | |
US9396448B2 (en) | Distributed and open schema interactions management system and method | |
US20140067823A1 (en) | Textual Search for Numerical Properties | |
CN104135498A (zh) | 一种跨平台的信息推送系统及其推送方法 | |
CN106776986B (zh) | 一种可配置的表单扩展信息传递方法 | |
CN103390244A (zh) | 一种具有运营商特色的用户好友关系聚合方法及聚合平台 | |
CN109145050A (zh) | 一种计算设备 | |
Brito et al. | Experiences integrating heterogeneous government open data sources to deliver services and promote transparency in brazil | |
CN103150172B (zh) | 一种实现个性化场景的方法和设备 | |
CN104063456B (zh) | 基于向量查询的自媒体传播图谱分析方法和装置 | |
CN106488055A (zh) | 话单排重方法、数据节点设备及路由节点设备 | |
CN107423446A (zh) | 基于云存储的新媒体自动化可信部署系统和方法 | |
Oh et al. | A sociotechnical view of information diffusion and social changes: From reprint to retweet | |
CN116823493A (zh) | 一种特征处理方法、装置、存储介质及电子设备 | |
WO2016062090A1 (zh) | 短信过滤方法及短信过滤装置 | |
CN115270743A (zh) | 一种表单数据的处理方法及装置 | |
CN106125956A (zh) | 一种基于输入法的信息推送方法及系统 | |
CN107122417A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |