CN116127101A - 文本检索方法、装置、电子设备及存储介质 - Google Patents
文本检索方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116127101A CN116127101A CN202210784810.5A CN202210784810A CN116127101A CN 116127101 A CN116127101 A CN 116127101A CN 202210784810 A CN202210784810 A CN 202210784810A CN 116127101 A CN116127101 A CN 116127101A
- Authority
- CN
- China
- Prior art keywords
- text
- target
- sentence
- character string
- characters
- 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
Images
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/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- 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/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/387—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提出一种文本检索方法、装置、电子设备及存储介质,该方法包括:根据检索关键词构建正则表达式;其中,所述正则表达式用于检索所述检索关键词以及预设字符,所述预设字符由所述检索关键词包含的字符和预设字符组成;在所述预设字符串中所述预设字符位于所述检索关键词中任意两个相邻字符之间;从目标文本中检索与所述正则表达式相匹配的目标字符串;所述目标文本具有属于同一词的相邻两个字符被所述预设字符隔开的特点;从所述目标文本中确定出包含所述目标字符串的文本句。采用上述方法进行文本检索,能够降低文本断句和特殊字符对文本检索的影响,提高文本检索效果。
Description
技术领域
本申请涉及数据检索技术领域,尤其涉及一种文本检索方法、装置、电子设备及存储介质。
背景技术
为了方便理解文本语义,长篇文本在存储时会被断句或者添加标点符号、特殊字符等,例如通过语音识别得到的文本,其中包含大量的标点符号。同时,对长篇文本进行断句或者添加标点符号,也有利于从中召回只包含目标关键词的最小文本单句。在某些场景下,可能需要筛选出文本的一部分内容,比如包括某些关键词的文本内容,然后以高亮等特殊符号将关键词突出显示。因此,如何从文本中检索出想要的文本内容成为研究的热点问题。
通常的文本检索方法是将想要检索的内容作为检索关键词,然后以检索关键词为检索条件从文本中检索包含该检索关键词的文本内容。但是,这种文本检索方案的检索效果不佳,通常无法准确地召回包含检索关键词的文本句。
发明内容
基于上述技术现状,本申请提出一种文本检索方法、装置、电子设备及存储介质,以期降低文本断句和特殊字符对文本检索的影响,提高文本检索效果。
本申请第一方面提供了一种文本检索方法,包括:根据检索关键词构建正则表达式;其中,所述正则表达式用于检索所述检索关键词以及预设字符串,所述预设字符串由所述检索关键词包括的字符和预设字符组成;在所述预设字符串中所述预设字符位于所述检索关键词中任意两个相邻字符之间;从目标文本中检索与所述正则表达式相匹配的目标字符串;所述目标文本具有属于同一词的相邻两个字符被所述预设字符隔开的特点;从所述目标文本中确定出包含检索到的所述目标字符串的文本句。
本申请第二方面提供了一种文本检索装置,包括:检索准备单元,用于根据检索关键词构建正则表达式;其中,所述正则表达式用于检索所述检索关键词以及预设字符串,所述预设字符串由所述检索关键词包括的字符和预设字符组成;在所述预设字符串中所述预设字符位于所述检索关键词中任意两个相邻字符之间;文本检索单元,用于从目标文本中检索与所述正则表达式相匹配的目标字符串;所述目标文本具有属于同一词的相邻两个字符被所述预设字符隔开的特点;检索处理单元,用于从所述目标文本中确定出包含所述目标字符串的文本句。
本申请第三方面提供了一种电子设备,包括:存储器和处理器;其中,所述存储器与所述处理器连接,用于存储计算机程序;所述处理器,用于通过运行所述存储器中的计算机程序,实现上述的文本检索方法。
本申请第四方面提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现上述的文本检索方法。
本申请提出的文本检索方法在从目标文本中检索关键词时,并非直接用检索关键词对目标文本进行检索,而是先根据检索关键词构建一个正则表达式,该正则表达式不仅可以从目标文本中检索出上述的检索关键词,该可以检索出由上述检索关键词包括的字符和预设字符组成的预设字符串的正则表达式;进一步的根据该正则表达式,从目标文本中检索与该正则表达式相匹配的目标字符串。最后,从目标文本中确定出包含检索到的目标字符串的文本句,即可到与检索关键词对应的检索结果。
由于使用正则表达式进行字符串检索的宽容性和灵活性更高,因此,当该文本检索方法应用于具有属于同一词的相邻两个字符被预设字符隔开的特点的目标文本时,该检索方法不仅能够从目标文本中检索命中检索关键词,即便检索关键词在目标文本中与预设字符中的一个或多个相混杂,该检索方法也能够从目标文本中将包含检索关键词以及预设字符的字符串命中,从而提高了对检索关键词的召回率。将该检索方法应用于具有断句或分段的文本检索场景中,可以避免标点符号或分段符、断句符等字符对检索关键词的检索造成影响,从而显著改善文本检索效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的文本检索方案的一种实施环境示意图;
图2为本申请实施例提供的文本检索方案的一种应用场景示意图;
图3为本申请实施例提供的一种文本检索应用界面示意图;
图4为本申请实施例提供的一种文本检索方法的流程示意图;
图5为本申请实施例提供的另一种文本检索方法的流程示意图;
图6为本申请实施例提供的又一种文本检索方法的流程示意图;
图7为本申请实施例提供的文本检索方法应用于实际场景时的处理过程示意图;
图8为本申请实施例提供的一种文本检索装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
本申请实施例技术方案适用于文本检索应用场景,采用本申请实施例技术方案,能够更加全面、准确地从目标文本中召回包含检索关键词的文本句。
通常而言,文本检索是指从目标文本中找出包含感兴趣文本的文本句或文本段等。常规的文本检索方案是,将希望检索的关键词作为检索条件对目标文本进行检索,从中找出与检索条件完全一致的字符串,即得到检索结果。
但是在某些情况下,文本中的原本属于同一个词的相邻两个字符会被某些字符隔开,这将直接导致不能将这个词作为检索条件从文本中检索出这个词。
比如,在从“今天的阳光真温,暖和春日里的阳光似的。在寒冬腊月能够有这样的好天气可是非常难得的。碰巧,公司在今天组织了登山活动。登山开始后,身体很快就暖和了起来,感觉自己活力满满。”如果检索关键词是“温暖”一词,那么在这段文本中检索“温暖”一词时,按照常规的文件检索方案,会将“温暖”一词分别与上述文本段中的各个字符依次进行比对,判断所比对的字符是否为“温暖”一词,如果是,则将命中的字符所在的单句作为命中文本句召回,如果不是则继续后续字符的比对。
按照上述检索方案,利用“温暖”一词作为检索条件,不能从上述文本中召回任何检索结果,其根本原因是上述文本中的“温暖”一词被“,”隔开了,目前的检索方案无法从文本中识别到“温,暖”与“温暖”相匹配,因此无法得到检索结果。
上述情况尤其在对语音识别文本进行检索的场景中最常见。受语音识别的准确度影响,有些情况下会在不合适的文本位置添加标点或进行断句,从而导致原本属于同一个词的相邻字符被标点符号断开或被划分到不同语句。这样在想要从语音文本中检索这个词时,按照常规的文本检索方案,如果将这个词作为检索条件进行检索,则无法从语音文本中检索到这个词。
在其他场景中,例如敏感信息筛查、语音文本质检等场景中,通常有用户通过在违规信息中添加特殊符号逃避违规信息筛查,或者故意不按照语言习惯进行断句说话逃避语音质检。这些场景均会存在大量的具备原本属于同一个词的相邻字符被隔开的特征的文本,按照目前的检索技术,均难以对这些文本进行有效的文本检索。
针对上述文本检索场景,为了保证文本检索的召回率,有研究者提出,可以将文本段中的除字符之外的特殊符号剔除或者不对文本进行断句,这样就可以避免特殊字符或者断句对文本检索的影响。但是,剔除特殊字符或者没有进行断句的文本的可读性很差,而且召回的文本句冗长,不利于用户理解。
比如,若将上述的文本段中的标点符号都剔除,则该文本段变为“今天的阳光真温暖和春日里的阳光似的在寒冬腊月能够有这样的好天气可是非常难得的碰巧公司在今天组织了登山活动登山开始后身体很快就暖和了起来感觉自己活力满满”。可见,该文本段的可读性很差,用户需要在阅读时自己进行断句理解。
另一方面,如果从这一文本段中检索“温暖”一词,则由于整个文本段都没有断句,在从该文本段中命中“温暖”一词时,会将整个文本段召回,即召回的文本句为“今天的阳光真温暖和春日里的阳光似的在寒冬腊月能够有这样的好天气可是非常难得的碰巧公司在今天组织了登山活动登山开始后身体很快就暖和了起来感觉自己活力满满”这一完整的文本段,此时,用户还需要自己确认“温暖”一词到底在召回文本的哪个位置或者在哪一句,非常不方便。
可见,常规的文本检索方案非常容易受到文本断句和特殊字符的影响,导致无法准确地召回包含检索关键词的文本句。但是若不对文本进行断句或添加特殊字符,又会影响检索结果的可读性,无法满足用户想要直观并且全面地从目标文本中检索出包含检索关键词的文本句的需求。
基于上述技术现状,本申请实施例提出了一种新的文本检索方案,本方案对存在特殊字符和断句的文本的检索进行了优化,具体是对检索条件进行优化,使得检索条件不仅限于检索关键词本身所包含的字符,还可以包含其他的特殊字符,由此使得检索条件更加泛化、宽容度更高,然后再利用优化后的检索条件从目标文本中检索与之匹配的字符串。上述处理使得对关键词的检索可以不受特殊字符的影响,即便关键词在目标文本中被特殊字符分割,也能在检索时从目标文本中命中该被分割的关键词。从而,该方法既可以保证检索结果的召回率,又能从长篇的目标文本中召回包含检索关键词的文本单句,保证检索结果的可读性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
示例性实施环境
图1示出了本申请实施例的一种示例性实施环境,该实施环境为一种数据检索系统。参见图1所示,该系统主要包括一个或多个终端设备001、服务器002以及数据库003。
其中,终端设备001可以包括各种类型的计算机设备,例如可以是智能终端设备(如便携式手持设备等)、计算机(个人计算机或膝上型计算机等)、自助终端、智能机器人、车载终端以及可穿戴设备等。其中,智能终端设备可以包括智能手机、平板电脑、个人数字助理(PDA)等;自助终端可以包括自助查询终端、自助服务终端等;智能机器人可以包括服务机器人等;可穿戴设备可以包括头戴式显示器、智能手表、智能手环和其他设备。
终端设备001能够安装和运行支持文本检索的应用程序,例如系统应用、各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。示例性的,终端设备001能够获取用户输入的检索关键词,然后,终端设备001通过与服务器002进行交互或者通过本地数据检索,获取对检索关键词的检索结果,并将得到的检索结果输出。在整个过程中,终端设备001可以与用户进行任意形式的人机交互,例如通过图像、文本、语音等数据交互方式进行人机交互。
服务器002可以运行能够执行文本检索的一个或多个服务或应用程序。作为可选的实施方式,服务器002具体可以是分布式系统服务器、云服务器、工作站,或者基于人工智能技术的智能云计算服务器或智能云主机等。服务器002的数量可以视需求设置为一个或多个。
该服务器002用于为支持文本检索的应用程序提供后台服务。例如为终端设备001提供文本检索服务,或者提供文本数据支持、提供文本检索算法支持等。
数据库003作为整个数据检索系统的数据中心,其主要用于存储数据,具体例如存储音频数据、文本数据、图像数据等各种类型的数据。数据库003可以驻留在各种位置。例如,由服务器002使用的数据库可以在服务器002本地,或者可以远离服务器002且可以经由基于网络或专用的连接与服务器002通信。数据库003可以是任意类型、任意数量的数据库。在某些实施例中,由服务器002使用的数据库可以为关系数据库。这些数据库中的一个或多个可以响应于服务器002的命令而存储、更新和检索到数据库以及来自数据库的数据。
上述的终端设备001、服务器002和数据库003之间,可以通过网络004相互连接,具体可以是任意两者相互连接,或者是三者依次串联。
网络004可以是任意类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。示例性的,网络004可以是一个网络,又可以细分为多个子网络,该网络004或网络004包含的多个子网络,具体可以是局域网(LAN)、以太网、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)、移动网络(例如4G、5G)、物联网和/或这些和/或其他网络的任意组合。
本申请实施例技术方案可应用于任意一种需要进行文本检索的应用场景中,例如敏感信息筛查、信息查询、数据内容质检等。可以理解,这些应用场景均可以在图1所示的实施环境,或者基于图1所示的实施环境而简化或扩展得到的实施环境中实现。
其中,敏感信息筛查用于从目标文本中筛查是否包含敏感信息。例如用户向互联网或数据库上传文本信息,通过敏感信息筛查,可以辨认其上传的文本信息是否符合规范,是否包含敏感信息。
信息查询是最常见的数据检索应用场景,其用于从数据库中检索得到用户感兴趣的数据内容。例如在文本信息查询场景中,用户希望从海量文本数据中找出包含感兴趣文本的文本句或文本段时,可以将感兴趣文本作为检索条件,通过文本检索,从文本数据库中检索得到包含感兴趣文本的文本句或文本段。
数据内容质检与上述的敏感信息筛查类似,其主要是检查在目标数据中是否包含必要的数据项,或者是否包含不应当包含的数据项。例如在文本内容质检时,可以通过从目标文本中检索应当包含的文本关键词,或者检索不应当出现的文本关键词,来确定目标文本是否包含应当包含的文本关键词,或者是否包含不应当出现的文本关键词。
作为一种具体的应用场景,本申请实施例技术方案可适用于图2所示的语音质检应用场景。其中,语音质检是指检查语音中是否包含必要的或不允许的语音内容。
参见图2所示,语音质检的应用场景可以基于图1所示的数据检索系统和语音识别系统005而实现。
参见图2所示,说话人006的语音数据经过语音识别系统005识别后转换为文本内容,该文本内容经过服务器002处理后存储至数据库003,或者,该文本内容经过服务器002或不经过服务器002而直接存储至数据库003中。
其中,说话人006可以是单个说话人,也可以是两个或两个以上的说话人。相应的,输入语音识别系统005的语音数据,可以是单人语音数据,也可以是双方或多方对话的语音数据。
在本申请实施例中,上述的语音质检应用场景,具体是对坐席话务员与客户进行电话沟通时的语音进行质检的应用场景,即,在图2所示的应用场景中,说话人006具体包括坐席话务员和客户。将坐席话务员和客户之间的电话语音数据输入语音识别系统005进行文本转换得到双方电话语音的文本内容,然后将该文本内容存储至数据库003中。在此基础上,用户通过终端设备001和/或服务器002,对数据库中存储的坐席话务员和客户之间的电话语音文本进行关键词检索,从而确定坐席话务员或客户在电话过程中是否说过不该说的关键词,或者是否说过必要的关键词。例如检查坐席话务员在与客户沟通时是否使用礼貌用语,是否说过不礼貌用语等。
在上述的坐席话务员和客户电话语音质检场景中,还可以分角色进行语音质检,例如只对坐席话务员的语音进行质检,或者只对客户的语音进行质检,或者对双方语音同时进行质检。
为了实现上述的针对不同角色的语音质检需求,本申请实施例在终端设备001的文本检索应用界面中,至少设置如图3所示的输入输出窗口。
参见图3所示,在该文本检索应用界面中,至少包括“查询对象”、“关键词”、“上下文”三个输入输出窗口,还包括“检索”按钮。
其中,“查询对象”窗口用于设定语音质检对象,具体可选“坐席”、“客户”和“双方”。“关键词”窗口用于输入检索关键词。“上下文”窗口用于输出从查询对象的语音文本中检索关键词得到的文本检索结果。“检索”按钮用于触发检索操作。
相应的,为了实现对不同角色的语音文本的单独检索,在数据库003中,针对不同角色的语音文本进行区别存储,即,将不同角色的语音文本分开存储,从而便于针对不同角色的语音文本进行文本检索。
例如,当用户在“查询对象”窗口选择“坐席”,在“关键词”窗口输入“到期了现在”,然后点击“检索”按钮,则开始执行文本检索操作,在执行文本检索时,从坐席话务员与客户进行电话沟通而产生的坐席话务员的语音文本中,检索“到期了现在”这一关键词,当从坐席话务员的语音文本中检索到包含“到期了现在”这一关键词的文本句时,从“上下文”窗口输出这些文本句。
下面,将结合上述的实施环境和应用场景,对本申请实施例提出的文本检索方案进行示例性的具体介绍。
示例性方法
本申请实施例首先提出一种文本检索方法,该方法可以由电子设备执行,该电子设备可以是图1所示的终端设备001和/或服务器002。参见图4所示,该方法包括:
S101、根据检索关键词构建正则表达式。
其中,上述的检索关键词,是指作为从目标文本中进行文本检索的检索条件的关键词。该检索关键词具体可以是由任意语种、任意语言的单个文本字符,或者多个文本字符组成的词组、短语、短句等。
例如,假设在图2所示的应用场景中,用户希望从目标文本中检索“到期了现在”这些文本字符,则“到期了现在”即可作为检索关键词。用户可以将“到期了现在”输入图3所示的“关键词”窗口中,同时选择查询对象,即可从所选的查询对象对应的文本中检索包含“到期了现在”这一关键词的文本句。
正则表达式又可称为规则表达式,是对字符串进行操作的一种逻辑公式,其可用于检索符合某个规则的文本。构建正则表达式,就是用事先定义好的一些特定字符(包括普通字符和计算机语言所定义的一些元字符)及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤、筛选逻辑。
例如,正则表达式“^.{3,20}$”用于匹配长度为3-20的所有字符;正则表达式“^[A-Za-z]+$”用于匹配由26个英文字符组成的字符串;正则表达式“^[A-Z]+$”用于匹配由26个大写英文字符组成的字符串;正则表达式“^[A-Za-z0-9]+$”用于匹配由数字和26个英文字母组成的字符串,等等。
在给定一个正则表达式和一个字符串时,可以利用该正则表达式对该字符串进行检索或查找,从而确定该字符串是否符合该正则表达式的过滤逻辑,即是否与该正则表达式相匹配,或者,还可以从该字符串中筛选出与该正则表达式匹配的特定部分。
由于正则表达式具有更强的灵活性、逻辑性和功能性,通过正则表达式可以迅速地用极简的方式实现字符串的过滤或检索。
本申请实施例将正则表达式用于文本检索。具体而言,在确定或获取到检索关键词时,由检索关键词构建正则表达式。具体是利用检索关键词所包含的全部字符以及预设字符,来构建正则表达式,构建得到的正则表达式,用于从目标文本中检索上述的检索关键词,以及用于从目标文本中检索由检索关键词包括的字符和预设字符组成的预设字符串。
其中,上述的预设字符,可以是预设标点符号和预设标识字符中的任意一个或多个,例如可以是标点符号、图形符号、数字、字母、空格、断句符、分段符等,或者是#、*、@等标识字符。
基于上述构建得到的正则表达式,只要在目标文本中的某一字符串构成了上述的检索关键词,或者该字符串包含了上述的检索关键词的全部字符以及预设字符中的一个或多个,则该字符串与该正则表达式相匹配。
例如,假设利用检索关键词“到期了现在”构建正则表达式,则该正则表达式不仅可以匹配“到期了现在”这一字符串,还可以匹配“到期了,现在”、“到期了!现在”、“到期。了,现在”等包含其他字符的字符串。
另外,基于正则表达式的灵活性特点,还可以对正则表达式的匹配宽容度进行设置,例如,可以设置只有与正则表达式中限定的各个字符的字符顺序完全一致的字符串,才可以被视为与正则表达式匹配的字符串;或者,也可以设置只要包含了正则表达式中限定的各个字符,即视为与正则表达式匹配,而不考虑各个字符的顺序是否与这些字符在正则表达式中的顺序一致。另外,还可以对匹配字符串的长度进行限定,例如,与正则表达式匹配的字符串不能超过设定的字符长度。
在本申请实施例中,根据检索关键词构建的正则表达式,用于从目标文本中筛选检索关键词,以及从目标文本中筛选那些包含检索关键词的所有字符和预设字符中的一个或多个字符,并且所包含的检索关键词的所有字符之间的顺序与这些字符在检索关键词中的顺序相同的字符串,而且,该字符串的长度不能超过设定长度,例如不能超过2N-1,N为检索关键词所包含的字符总数。
若字符串的长度过长,虽然它包含了检索关键词的所有字符,但是其可能已经是一个语句,其含义可能与检索关键词已经完全不同;或者,将字符串长度放大到篇章级,那么由于字符的复用,该篇章就有很大概率能够包含检索关键词的所有字符,但显然这并不是关键词检索的理想结果。因此,本申请实施例对检索的字符串的长度进行限制,实践发现,若允许检索关键词的每两个相邻字符之间存在一个特殊字符,则可以得到相对于现有文本检索方案更高的召回率,并且可以保证召回结果的合理性。检索关键词的每两个相邻字符之间存在一个特殊字符的话,此时字符串的长度达到2N-1,因此,将2N-1作为从目标文本中检索与正则表达式匹配的字符串的长度限制。
若某一字符串包含了检索关键词的所有字符,但是各个字符之间的顺序与各个字符在检索关键词中的顺序不一致,或者其长度超过了2N-1,则不认为该字符串与该正则表达式匹配。
可以理解,若直接通过检索关键词进行文本检索,则只能从被检索文本中命中与检索关键词完全一致的字符串。而根据检索关键词构建正则表达式后,则不仅可以利用正则表达式从被检索文本中匹配与检索关键词完全一致的字符串,还可以利用正则表达式从被检索文本中匹配包含检索关键词的所有字符以及其他预设字符的、形式和内容更宽泛的字符串。
因此,利用正则表达式作为检索条件,可以使得检索条件的宽容度更高、更泛化,能够有效避免由于检索关键词被特殊字符分割而影响对检索关键词的检索效果。
S102、从目标文本中检索与所述正则表达式相匹配的目标字符串。
上述的目标文本,即为被检索的文本,也就是希望从中找到包含上述的检索关键词的文本。该目标文本具体可以是任意语种、任意语言的文本句、文本段、文本篇章、著作、书籍、刊物等各种形式、各种格式和内容的文本数据。
例如在图2所示的应用场景中,用户希望从坐席话务员的语音文本中检索某一关键词,则用户可以在图3所示的“查询对象”窗口中选择“坐席”,此时即可将坐席话务员的语音文本作为目标文本,按照该检索方式进行检索,即可从坐席话务员的语音文本中检索关键词。
在确定正则表达式后,将该正则表达式与目标文本的字符进行匹配,从中查找与该正则表达式相匹配的字符串,作为目标字符串。可以理解,该目标字符串,可以是检索关键词本身,还可以是包含检索关键词的全部字符,同时包含预设字符中的一个或多个字符的字符串。根据正则表达式的限定内容的不同,检索得到的目标字符串的长度也可以是设定长度或不超过设定长度的字符串。
在实际检索过程中,可以根据目标文本所在的数据库,选用与该数据库相匹配的检索方式进行字符串检索。例如,本申请实施例将坐席与客户之间的电话语音的文本存储在Elasticsearch数据库中,则可以使用Elasticsearch数据库的match_phrase检索方法对Elasticsearch数据库中的目标文本进行检索,从中查找与正则表达式相匹配的字符串。
S103、从所述目标文本中确定出包含所述目标字符串的文本句。
具体的,当经过步骤S102的检索,从目标文本中检索到目标字符串时,从该目标文本中截取包含该目标字符串的文本句,即得到与上述的检索关键词对应的文本检索结果。
示例性的,上述的包含目标字符串的文本句,可以是文本单句,也可以是多个连续文本单句构成的文本片段。上述的文本单句或文本片段,具体可以是根据目标文本的语义进行划分得到的具有完整语义的文本单句或文本片段,也可以是对目标文本进行形式上的语句或段落划分得到的文本单句或文本片段。
例如,假设目标文本是预先经过分段或断句的文本,则目标文本中的具体文本内容本身就是划分了文本单句或文本片段后存储的。此时,若从目标文本中检索到了目标字符串,则将目标字符串所在的文本单句或文本片段,确定为包含目标字符串的文本句即可。
具体而言,若检索到的目标字符串的所有字符均位于同一文本单句或文本片段中,则将该文本单句或文本片段确定为包含该目标字符串的文本句。若检索到的目标字符串跨越了两个相邻的文本单句或文本片段,例如一部分字符位于前一文本单句或文本片段,而另一部分字符位于与前一文本单句或文本片段相邻的后一文本单句或文本片段,则将这两个相邻的文本单句或文本片段共同确定为包含该目标字符串的文本句。
假设目标文本是未经分段或断句的文本,若此时若从目标文本中检索到了目标字符串,则先对目标文本进行语义或形式上的文本单句或文本片段划分,然后再按照上述的方式从中确定出包含检索到的目标字符串的文本单句或文本片段,作为最终确定的文本句。
按照上述示例,当从目标文本中确定出包含检索到的目标字符串的文本句时,可以将该文本句作为与检索关键词对应的检索结果输出。
通过上述介绍可见,本申请实施例提出的文本检索方法在从目标文本中检索关键词时,并非直接用检索关键词对目标文本进行检索,而是先根据检索关键词构建用于检索上述的检索关键词,以及用于检索由上述检索关键词包括的字符和预设字符组成的预设字符串的正则表达式,然后根据该正则表达式,从目标文本中检索与该正则表达式相匹配的目标字符串。最后,从目标文本中确定出包含检索到的目标字符串的文本句,即可到与检索关键词对应的检索结果。
由于使用正则表达式进行字符串检索的宽容性和灵活性更高,因此,当该文本检索方法应用于具有属于同一词的相邻两个字符被预设字符隔开的特点的目标文本时,该检索方法不仅能够从目标文本中检索命中检索关键词,即便检索关键词在目标文本中与预设字符中的一个或多个相混杂,该检索方法也能够从目标文本中将该包含检索关键词以及预设字符的字符串命中,从而提高了对检索关键词的召回率。将该检索方法应用于具有断句或分段的文本检索场景中,可以避免标点符号或分段符、断句符等字符对检索关键词的检索造成影响,从而显著改善文本检索效果。
作为一种示例性的实施方式,在根据检索关键词构建正则表达式时,先获取预设字符,然后根据检索关键词的全部字符以及获取的预设字符,构建正则表达式。
上述的预设字符,可以是预设标点符号和预设标识字符中任意一个或多个,例如可以是标点符号、图形符号、数字、字母、空格、断句符、分段符等,或者是#、*、@等标识字符。
本申请实施例按照正则表达式的构建规则,将检索关键词包括的字符以及预设字符进行组合,得到正则表达式。
基于检索关键词的全部字符以及预设字符而构建的正则表达式,用于对检索关键词本身进行检索,以及由检索关键词包括的全部字符和预设字符中的一个或多个组成的字符串。也就是说,当检索关键词的字符中掺杂了预设字符中的一个或多个字符时,也可以被该正则表达式检索命中。
该正则表达式可以限定检索关键词的字符中可以掺杂的预设字符的数量。例如,在检索关键词中掺杂不超过设定数量的预设字符时,该由检索关键词的全部字符掺杂预设字符构成的字符串会被该正则表达式命中,而当检索关键词中掺杂超过设定数量的预设字符时,该由检索关键词的全部字符掺杂预设字符构成的字符串不会被该正则表达式命中。
同时,该正则表达式还可以限定检索关键词的字符中掺杂预设字符的位置,例如,只允许在检索关键词的任意两个相邻字符之间掺杂预设字符。
实践发现,在实际的文本检索场景中,文本中的特殊符号,尤其是标点符号,是除文本字符外出现最多的字符,同时也是对文本检索影响最大的字符。例如,标点符号是对文本进行断句和分段的必不可少的字符,因此,在断句或分段的文本中,标点符号是影响文本检索的主要字符内容。
针对上述现状,本申请实施例根据检索关键词的全部字符以及预设的标点符号,构建正则表达式。
上述的预设的标点符号,包括常见的所有标点符号,例如“,”、“。”、“?”、“!”、“;”等。
基于检索关键词的全部字符,以及上述的预设标点符号,本申请实施例构建正则表达式,并且在该正则表达式中限定了预设标点符号在检索关键词的出现位置。
具体的,上述构建得到的正则表达式,用于检索上述的检索关键词,以及,用于检索包含上述检索关键词的全部字符、并且在上述检索关键词的任意两个相邻字符之间包含任意预设标点符号的字符串。
即,若目标文本中的某一字符串只包含检索关键词的全部字符,则该字符串会被该正则表达式检索命中;若目标文本中的某一字符串除了包含检索关键词的全部字符外,还包括标点符号,并且该标点符号是该正则表达式中限定的标点符号中的任意一个,同时,该标点符号位于检索关键词的全部字符的任意两个相邻字符之间,则字符串也会被该正则表达式检索命中。
比如,假设检索关键词为“到期了现在”,则基于“到”、“期”、“了”、“现”、“在”和预设的各个标点符号,构建正则表达式,该正则表达式用于检索“到期了现在”这一关键词,以及在该关键词的任意两个相邻字符之间包含任意的预设标点符号的字符串,例如某字符串包含了“到”、“期”、“了”、“现”、“在”这些字符,并且在“到”和“期”之间、“期”和“了”之间、“了”和“现”之间、“现”和“在”之间出现预设标点符号中的任意标点符号时,该字符串依然被视为与正则表达式匹配。
可以理解,按照上述方式构建的正则表达式,不仅能够从目标文本中检索命中需检索的关键词,而且,即便检索关键词在目标文本中被标点符号分割,也能检索命中包含该检索关键词以及标点符号的字符串。因此,利用该正则表达式执行关键词检索任务,可以避免文本中的标点符号对关键词检索产生影响,也就是能够避免文本分段和断句对文件检索产生影响,从而能够提高对检索关键词的检索召回率,改善检索效果。
作为一种示例性的实施方式,参见图5所示,上述的从目标文本中确定出包含检索到的目标字符串的文本句,可以通过执行如下步骤S1031~S1033实现:
S1031、确定检索到的目标字符串在目标文本中的位置信息,以及,确定目标文本中的各个文本单句在目标文本中的位置信息。
其中,目标字符串在目标文本中的位置信息,是指字符串作为一个整体,其在目标文本中所占据的位置的信息。
具体而言,目标字符串在目标文本中的位置,可以通过目标字符串在目标文本中所占据的字符位置来表示。示例性的,目标字符串在目标文本中的位置,可以通过目标字符串第一个字符所处的字符位置,到目标字符串最后一个字符所处的字符位置来表示。其中,目标字符串的字符所处的字符位置,是指从目标文本的第一个字符开始计算确定的字符位置。
同时,目标字符串在目标文本中的位置,也可以通过目标字符串所处的文本单句的序号来表示。具体的,对目标文本中的各个文本单句按照其在目标文本中的前后顺序依次进行排序,可以确定目标文本中的各个文本单句的序号。在此基础上,当从目标文本中检索到目标字符串时,确定目标字符串所在的文本单句的序号,也可以区分不同的目标字符串在目标文本中的位置。
进一步的,当同一文本单句中出现两个或两个以上的目标字符串时,如果仅用目标字符串所处的文本单句的序号来表示目标字符串的位置,则可能会发生混淆,因此,当同一文本单句中出现多个目标字符串时,本申请实施例针对该同一文本单句中的各个目标字符串,分别通过字符位置来区分各个目标字符串在该文本单句中的具体位置。
因此,确定检索到的目标字符串在目标文本中的位置信息,具体包括确定检索到的目标字符串在目标文本中的起始位置和结束位置,即目标字符串的第一个字符在目标文本中的字符位置,以及目标字符串的最后一个字符在目标文本中的字符位置,和/或,确定检索到的目标字符串所处的文本单句的序号。另外,当同一文本单句中包含多个目标字符串时,除了确定这些目标字符串所处的文本单句的序号之外,还同时确定这些目标字符串在目标文本中的起始字符位置和结束字符位置,或者确定这些目标字符串在该文本单句中的起始字符位置和结束字符位置,以便区分该同一文本单句中的不同目标字符串。
同理,目标文本中的各个文本单句在目标文本中的位置,是指文本单句作为一个整体,其在目标文本中所占据的位置的信息。
当确定目标文本中的各个文本单句的位置信息时,需要首先确定目标文本中的各个文本单句,也就是明确各个文本单句之间的界限。
示例性,若目标文本是预先经过分段或断句的文本,则根据目标文本的分段或断句信息,可以确定目标文本的各个文本单句之间的界限,也就是可以从目标文本中确定出各个文本单句。
若目标文本不是经过预先分段或断句的文本,则可以通过对目标文本进行语义分段或语义断句,将目标文本划分为各个文本单句。
上文介绍到,本申请实施例技术方案适用于图2所示的语音质检应用场景,该语音质检应用场景本质上是一种交互场景,具体是一种语音交互场景。在该交互场景下,上述的目标文本可以是对目标交互场景中产生的对话语音进行语音转文本处理得到的文本,例如可以是对目标交互场景中产生的对话语音进行语音识别得到的文本。
上述的交互场景,除了可以是坐席话务员与客户之间进行电话沟通的场景,还可以是任意双方或多方通过电话或网络进行语音沟通的场景,或者是任意双方或多方进行对话的现实场景等。
上述的对话语音,是至少由第一类角色和第二类角色进行对话的语音,即,该对话语音中包括第一类角色语音和第二类角色语音。该第一类角色和第二类角色,可以按照对话发起方和对话接收方进行划分,也可以按照角色身份进行划分,本实施例不做限定。
对上述的对话语音进行语音转文本处理得到的文本包括多个文本单句,该多个文本单句,又可具体分为第一类角色语音对应的多个文本单句以及第二类角色语音对应的多个文本单句。
例如,假设上述的目标交互场景为坐席话务员与客户进行电话沟通的交互场景,则上述的目标文本是对坐席话务员与客户之间的电话沟通语音进行语音转文本得到的、包括坐席话务员语音对应的多个文本单句,以及客户语音对应的多个文本单句的文本。
在上述的应用场景下,作为一种可选的确定目标文本中的各个文本单句的实施方式,可以根据对上述场景下的对话语音进行语音识别得到的断句后的语音识别结果,确定目标文本中的各个文本单句,以及确定目标文本中的各个文本单句的位置信息。
常规的语音识别系统通常是基于自动语音识别技术(Automatic SpeechRecognition,ASR)实现对语音的自动识别。而ASR本身具有语义断句的功能,因此其识别结果中自带标点符号和断句。因此,通过上述的语音识别系统对目标语音进行识别得到的语音识别结果,是断句后的语音识别结果,其中不仅包含目标语音对应的目标文本内容,还包含对目标文本的断句信息。因此,根据对目标语音进行语音识别得到的断句后的语音识别结果,能够确定目标文本中的各个文本单句。
例如,对目标语音进行语音识别得到的语音识别结果所包含的全部文本字符,即组成目标文本的全部文本字符。而语音识别结果中所包含的断句信息,例如标点符号、断句符等,则体现了对语音文本的断句结果,也就是对目标文本的断句结果。按照语音识别结果中的标点符号、断句符等所在位置,对目标文本进行断句,即可得到目标文本的各个文本单句。
示例性的,本申请实施例在对上述的目标语音进行语音识别后,将语音识别得到的文本以整句格式存储,同时还以断句格式存储,并将整句格式存储的文本作为上述的目标文本,对该目标文本进行检索即可实现语音质检功能。
其中,将文本以整句格式存储,是指将文本组合为一个整句进行存储;将文本以断句格式存储,是指将文本包含的每一文本断句分别作为一个单独的语句进行存储。
针对上述的客服与客户电话沟通的场景,本申请实施例将客服与客户之间的对话语音作为上述的目标语音进行语音识别,将该对话语音转为文本,然后从识别文本中选择部分或全部作为目标文本。
作为一种优选的实施方式,本申请实施例对上述的对话语音对应的识别文本进行整句存储,并且分角色进行整句存储。从而,当对上述的对话语音进行质检时,可以对某一语音角色对应的语音文本进行质检,或者对全部语音角色对应的语音文本进行质检。
在上述的对话语音包括第一类角色语音和第二类角色语音的情况下,为便于区分不同语音角色的语音文本,本申请实施例设置第一类文本集合、第二类文本集合和第三类文本集合。其中,第一类文本集合用于存储第一列角色语音对应的文本,第二类文本集合用于存储第二类角色语音对应的文本,第三类文本集合则用于存储第一类角色与第二类角色对话的语音对应的文本,也就是存储第一类角色与第二类角色完整的对话语音对应的文本。
作为一种示例性的实施方式,按照如下处理,通过对上述的对话语音进行语音转文本处理,可以生成上述的第一类文本集合、第二类文本集合和第三类文本集合:
首先,对上述的对话语音进行语音识别处理,得到断句的语音识别结果,并至少将语音识别结果中的各个文本单句,以及每一文本单句对应的语音角色和位置信息,存储至语音文本集合中。
参见上文所述,本申请实施例通过基于ASR的语音识别系统,对上述的对话语音进行语音识别,得到语音识别结果。该语音识别结果,是断句后的、包括语音对应的字符以及标点符号的文本内容。
对上述的语音识别结果进行存储,构成语音文本集合。在该语音文本集合中,存储有语音识别结果中的各个文本单句,以及每一文本单句的属性信息。该属性信息,至少包括文本单句对应的语音角色,以及文本单句的位置信息。
本申请实施例对断句的语音识别结果进行格式化存储,例如,每一文本句作为一个json串进行存储,在json串中,包含文本句在目标语音中的开始时间(beginTime)、结束时间(endTime)、语音频道(channelId)、情感类型(emotionType)、情感程度(emotionValue)、噪声(noise)、说话人角色(role)、静默时长(silenceDuration)、语音内容(text)、音量(volume)等信息。
具体可按照如下方式存储:
{"change_asr_text":
"[{"beginTime":2700,"channelId":0,"emotionType":"M","emotionValue":0.1,"endTime":3760,"noise":false,"role":"1","silenceDuration":2700,"text":"喂!","volume":67.78014601428619},
{"beginTime":3240,"channelId":1,"emotionType":"N","emotionValue":0.2,"endTime":5380,"noise":false,"role":"0","silenceDuration":0,"text":"您好,张某某某对吧?","volume":78.37947800427285},
{"beginTime":6340,"channelId":1,"emotionType":"N","emotionValue":0.3,"endTime":10380,"noise":false,"role":"0","silenceDuration":960,"text":"XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。","volume":77.03651663572252},
{"beginTime":11680,"channelId":1,"emotionType":"N","emotionValue":0.3,"endTime":15328,"noise":false,"role":"0","silenceDuration":1300,"text":"中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。","volume":80.46160440715954}]"
}
可以理解,对断句的语音识别结果进行格式化存储,即可得到上述的语音文本集合。通过该语音文本集合,可以直观、准确地确定对目标语音进行语音识别得到的各个文本单句,以及确定各个文本单句的开始时间、结束时间、对应的说话人等属性信息。
同时,本申请实施例还对目标语音的语音识别结果的文本进行分角色的整句存储,得到与不同角色对应的文本集合。
基于上述的语音文本集合中的各个文本单句,以及语音文本集合中的各个文本单句的语音角色信息,从语音文本集合中提取对应第一类角色语音的各个文本单句并组合为一个整句后进行存储,得到第一类文本集合;从语音文本集合中提取对应第二类角色语音的各个文本单句并组合成一个整句后进行存储,得到第二类文本集合;以及,从语音文本集合中提取第一类角色语音和第二类角色语音对应的各个文本单句并组合成一个整句后进行存储,得到第三类文本集合。
以上述的对坐席话务员与客户之间的电话语音进行质检的场景为例,由于在上述的语音质检场景中,涉及到坐席话务员和客户双方的语音,相应的经过语音识别会得到双方各自对应的语音文本内容。为便于区分不同说话人的语音文本内容,本申请实施例对语音识别结果的文本进行分角色的整句存储,具体分为双方(asr_both_text)、坐席(asr_service_text)、客户(asr_customer_text),如:
{"asr_both_text":"喂!您好,张某某某对吧?XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。"}
{"asr_service_text":"您好,张某某某对吧?XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。"}
{"asr_customer_text":"喂!"}
对应双方(asr_both_text)的文本,即为上述的第三类文本集合、对应坐席(asr_service_text)、客户(asr_customer_text)的文本,即为上述的第一类文本集合和第二类文本集合。
本申请实施例将对话语音的语音识别结果的文本内容进行分角色存储,可以便于后期针对不同角色的语音进行质检,即,从上述的语音识别结果的存储文本中,选择相应角色的语音文本内容进行文本检索,即可实现对该角色的语音质检。
基于上述的语音文本集合,以及上述的第一类文本集合、第二类文本集合和第三类文本集合,当对于某一角色或双方角色的语音进行质检时,可以将某一角色或双方角色对应的语音识别结果文本确定为文本检索的目标文本。即从上述的第一类文本集合、第二类文本集合和第三类文本集合中任选一个集合的文本作为目标文本。然后,通过将选择的目标文本中的文本与上述语音文本集合中的各个文本单句进行映射匹配,可以将目标文本划分为各个文本单句。
具体而言,根据上述语音文本集合中的各条json串的“role”属性,确定与该目标文本对应的角色的各个语音文本句,将确定的各个语音文本句与目标文本中的文本进行映射匹配,从目标文本中找出与各个语音文本句匹配的文本,即得到目标文本所包含的各个文本单句。
例如,假设用户选择针对坐席的语音进行质检,则将坐席语音对应的文本作为文本检索的目标文本,即“您好,张某某某对吧?XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。”然后,根据"change_asr_text"中各个json串的“role”属性,从中确定出对应坐席的文本句,即"您好,张某某某对吧?"、"XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。"、"中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。"这三个文本句,此时,可以确定,目标文本“您好,张某某某对吧?XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。”包括三个文本单句,分别为"您好,张某某某对吧?"、"XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。"和"中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。"
在确定目标文本中的各个文本单句后,即可进一步确定各个文本单句在目标文本中的位置信息。
具体而言,文本单句在目标文本中的位置,可以通过文本单句在目标文本中所占据的字符位置来表示。示例性的,文本单句在目标文本中的位置,可以通过文本单句第一个字符所处的字符位置,到文本单句最后一个字符所处的字符位置来表示。其中,文本单句的字符所处的字符位置,是指从目标文本的第一个字符开始计算确定的字符位置。
同时,文本单句在目标文本中的位置,也可以通过文本单句在目标文本中的序号来表示。具体的,对目标文本中的各个文本单句按照其在目标文本中的前后顺序依次进行排序,可以确定目标文本中的各个文本单句的序号。
因此,确定目标文本中的各个文本单句在目标文本中的位置信息,具体包括确定目标文本中的各个文本单句在目标文本中的起始位置和结束位置,即目标文本中的各个文本单句的第一个字符在目标文本中的字符位置,以及文本单句的最后一个字符在目标文本中的字符位置,和/或,确定目标文本中的各个文本单句在目标文本中的序号。
作为一种示例性的实施方式,在预先分段或断句的目标文本中,通过对字符或文本单句按前后顺序进行排序,可以确定每个字符、每个文本单句的字符序号、文本单句序号。字符序号和文本单句序号,均可以作为字符和文本单句的位置表示。
在此基础上,当从目标文本中检索到目标字符串时,可以先确定目标字符串所处的字符位置,或目标字符串所处的文本单句的单句位置,然后利用该字符位置对应的字符序号,或该单句位置对应的单句序号,确定目标字符串的位置信息。
S1032、根据目标字符串在目标文本中的位置信息,以及目标文本中的各个文本单句在目标文本中的位置信息,从目标文本中确定出目标文本单句。
上述的目标文本单句,是指从目标文本中检索得到的目标字符串所命中的文本单句。其中,文本单句被目标字符串命中,是指目标字符串的一个或多个字符处于该文本单句中。
由于目标字符串为连续字符构成的字符串,因此,目标字符串命中文本单句,主要分两种情况:
一种是目标字符串的全部字符都处于文本单句当中,即目标字符串是文本单句的一部分。例如,假设从“您好,张某某某对吧?XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。”这一目标文本中检索“到期了现在”这一关键词时,按照本申请实施例上述方案,检索到了目标字符串“到期了,现在”,而且,“XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。”是一个文本单句,则可以确定,“到期了,现在”这一目标字符串的全部字符都处于该文本单句中,因此“XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。”这一文本单句为目标文本单句。
另一种情况是,目标字符串的部分字符处于文本单句当中,即目标字符串的部分字符是文本单句的一部分。这种情况通常是目标字符串的一部分字符处于一个文本单句中,而另一部分字符处于另一个相邻的文本单句中,即目标字符串跨越覆盖两个相邻的文本单句,此时,这两个相邻的文本单句均为目标文本单句。
例如,假设从“您好,张某某某对吧?XX还款期限到期了。现在X千X百XXX元今天APP处理的好吧。中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。”这一目标文本中检索“到期了现在”这一关键词时,按照本申请实施例上述方案,检索到了目标字符串“到期了。现在”,而且,“XX还款期限到期了。”和“现在X千X百XXX元今天APP处理的好吧。”都是文本单句,则可以确定,“到期了。现在”这一目标字符串同时命中了“XX还款期限到期了。”和“现在X千X百XXX元今天APP处理的好吧。”这两个文本单句,因此“XX还款期限到期了。”和“现在X千X百XXX元今天APP处理的好吧。”这两个文本单句均为目标文本单句。
基于上述情况可以理解,若目标字符串在目标文本中所处的位置,与目标文本中的某一文本单句在目标文本中所处的位置之间存在交集,则目标字符串的至少一个字符与该文本单句重合,此时,目标字符串一定命中该文本单句,该文本单句也必定是目标文本单句。
因此,作为一种可选的实施方式,本申请实施例根据目标字符串在目标文本中的位置信息,以及目标文本中的各个文本单句在目标文本中的位置信息,从目标文本中确定出其所处的位置与目标字符串所处的位置存在交集的文本单句,作为目标文本单句。
示例性的,若目标字符串的位置信息中包含目标字符串所处的文本单句的序号,同时,目标文本中的各个文本单句的位置信息中包含各个文本单句的序号,则,目标字符串所处的文本单句的序号所对应的文本单句,即为与目标字符串所处的位置存在交集的文本单句,该文本单句即为目标文本单句。
若目标字符串的位置信息中包含目标字符串的起始位置和结束位置,同时,目标文本的各个文本单句的位置信息中包含各个文本单句的起始位置和结束位置,则通过判断目标字符串的起止位置和目标文本的各个文本单句的起止位置之间是否存在重叠位置,即可确定目标字符串所处的位置与目标文本的各个文本单句所处的位置之间是否存在交集,若存在交集,则可将与目标字符串所处的位置存在交集的文本单句确定为目标文本单句。
经过上述的步骤S1031和S1032的处理,实现了根据从目标文本中检索到的目标字符串,从目标文本中确定出目标文本单句。
S1033、根据确定出的目标文本单句,构建得到包含检索到的目标字符串的文本句。
通过上述介绍可知,通过上述处理确定的目标文本单句,是包括目标字符串的部分或全部字符的文本单句。这些文本单句,均为包含检索关键词字符的文本单句,因此,可以将这些文本单句,或者这些文本单句的组合,作为对从目标文本中检索上述的检索关键词得到的检索结果。
本申请实施例对通过上述步骤S1031和S1032从目标文本中确定出目标文本单句后,将确定出的各个目标文本单句确定为包含目标字符串的文本句,和/或将由确定出的各个目标文本单句组合得到的文本句,确定为包含检索到的目标字符串的文本句,这些文本句,即可作为与检索关键词对应的检索结果输出。因此,最终确定出的包含检索到的目标字符串的文本句为一个文本句或多个文本句。
作为一种示例性的实施方式,本申请实施例根据确定出的各个目标文本单句的位置关系,将确定出的目标文本单句直接确定为包含检索到的目标字符串的文本句,或者将确定出的目标文本单句进行组合,作为包含检索到的目标文本字符串的文本句。
示例性的,当确定出的目标文本单句的数量为多个时,可以按照如下方式根据确定出的目标文本单句,构建得到包含检索到的目标字符串的文本句:
对于确定出的各个目标文本单句,按照各个目标文本单句在目标文本中的位置顺序,依次遍历各个目标文本单句。
当遍历到第i个目标文本单句时,若该第i个目标文本单句存在位置信息连续的相邻的目标文本单句,则将该第i个目标文本单句与该第i个目标文本单句的相邻目标文本单句进行拼接处理,拼接处理后得到一个包含目标字符串的文本句。其中,i为从1开始的正整数。
上述的拼接处理,具体是将相邻的各个目标文本单句按照其在目标文本中的相互位置关系,依次进行拼接,得到拼接的文本句,该文本句,作为包含检索到的目标字符串的文本句。
若该第i个目标文本单句不存在位置信息连续的相邻目标文本单句,则将该第i个目标文本单句作为一个包含目标字符串的文本句。
基于上述处理,在输出包含检索到的目标字符串的文本句时,可以将各个文本句分开输出,例如不同的文本句分段输出,这样可以使得用户通过检索结果更加直观地确定哪些文本句中包含检索关键词。
可见,本申请实施例提出的文本检索方法,能够从目标文本中召回包含检索关键词的全部字符的文本句,从而对检索关键词的检索更加灵活,召回率更高。同时,该方法能够有效过滤目标文本中的与检索关键词无关的文本内容,使检索结果更加直观、简要,大大提高了检索结果的可读性。
图5所示的方法实施例中的步骤S101、S102分别与图4所示的方法实施例中的步骤S101、S102相对应,其具体处理内容请参见与图4对应的实施例介绍,此处不再重复介绍。
作为一种可选的实施方式,参见图6所示,本申请实施例提出的文件检索方法,还包括步骤S104:
S104、输出各个文本句,并突出显示每一文本句中的目标字符串。
其中,设置文本句中的目标字符串突出显示,是指设置文本句中的目标字符串与文本句中的其他字符区别显示。
示例性的,设置文本句中的目标字符串突出显示,可以通过设置文本句中的目标字符串以与其他字符串不同的字体、字号、颜色等显示属性进行显示,或者,对文本句中的目标字符串添加标识,例如添加下划线、删除线、文本框等。
本申请实施例在经过正则表达式构建、基于正则表达式的目标文本检索、以及基于检索得到的目标字符串确定包含目标字符串的文本句后,将确定的各个文本句输出,同时,在输出各个文本句时,设置每一文本句中的目标字符串突出显示。
按照上述的文本句输出方式,用户不仅可以直观的了解在目标文本中的哪些文本句包含了检索关键词,还能通过突出显示确定检索关键词在这些文本句中的具体位置和具体存在形式。
例如,假设用户希望从“您好,张某某某对吧?XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。”这一目标文本中检索“到期了现在”这一关键词,则按照本申请上述实施例的介绍,先根据“到期了现在”构建正则表达式,然后利用该正则表达式从上述目标文本中检索与正则表达式匹配的目标字符串,即“到期了,现在”,以及,确定包含检索到的目标字符串的文本句,即“XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。”最后,将该文本句输出,并且将其中的目标字符串“到期了,现在”提出显示。例如,对“到期了,现在”这一目标字符串添加下划线,最终得到的文本句输出效果为“XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。”可见,通过该文本句,用户可以直观地确定目标文本中的哪一文本句包含了关键词“到期了现在”,同时,可以直观地确定“到期了现在”这一关键词在这一文本句中的存在形式,即,“到期了现在”这一关键词被逗号“,”分割。
作为一种示例性的实施方式,本申请实施例通过为输出文本句中的目标字符串添加标识标签,使得文本句中的目标字符串在显示输出时达到突出显示的效果。
具体的,本申请实施例通过如下步骤A1-A2的处理,输出各个文本句,并设置输出的每一文本句中的目标字符串突出显示:
A1、将所述正则表达式作为检索条件,从各个文本句中定位出目标字符串。
具体的,上述的正则表达式,即为在上述实施例的步骤S101中根据检索关键词构建得到的正则表达式。
由于最终输出的文本句可能是对目标文本中的文本单句进行拼接组合得到的文本句,因此,为了准确地筛选出输出的文本句中的目标字符串,本申请实施例再次利用上述的正则表达式对准备输出的各个文本句进行检索,从中定位出每一目标字符串。
A2、为每一文本句中定位到的目标字符串添加标识标签。
具体的,在从将要输出的每一文本句中定位到每一目标字符串后,对应每个目标字符串,分别对其添加标识标签。该标识标签,包括但不限于是高亮标签,或者是用于调整字体、字号、颜色等显示属性的属性标签,或者是用于添加下划线、删除线、文本框等标识的标签。
例如,假设从将要输出的文本句中定位到了目标字符串“到期了,现在”,则为“到期了,现在”这一字符串添加显示颜色标签"<span style='color:red'>","</span>"。
经过上述的标识标签添加处理后,将各个文本句输出。由于输出的文本句中的目标字符串都为携带显示颜色标签的字符串,当该字符串被渲染显示时,会以标签所示的显示颜色显示输出。
图6所示实施例中的步骤S101~S103的具体处理内容,请参见图1所示的实施例中的步骤S101~S103的介绍。
另外需要说明的是,本申请上述实施例均是以单个检索关键词为例介绍的文本检索处理过程。在实际应用本申请实施例技术方案时,用户可能希望从目标文本中同时检索多个关键词,针对这种场景,本申请上述实施例技术方案也是支持的。
当用户输入多个检索关键词时,参照上述实施例介绍,针对每个检索关键词分别构建正则表达式,然后根据构建的正则表达式对目标文本进行检索得到目标字符串,再根据检索得到的目标字符串,分别确定包含检索到的目标字符串的文本句,并将文本句输出。
其中,在针对每个检索关键词分别确定文本句后,可以将各个检索关键词对应的文本句归集到一起,进行相邻文本句合并,将合并的文本句输出。或者,也可以将每个检索关键词对应的文本句分别输出。
在上述处理过程中的正则表达式构建、目标字符串的检索、文本句的确定、文本句的合并等,均可以参照上述各个实施例的介绍,此处不再详述。
为了更加形象地说明本申请实施例技术方案在实际应用场景中的处理过程,下面结合具体示例,对具体的文本检索过程进行介绍。
参引上述举例,假设用户希望对坐席话务员与客户之间的电话沟通进行语音质检。参见图2所示,坐席话务员与客户之间的电话沟通语音数据已经通过语音识别系统,转为文本数据进行存储,因此该语音质检可以通过文本检索实现。
坐席话务员与客户之间的电话沟通语音的文本数据,存储至图2所示的数据库中,具体的存储方式按照上述实施例的介绍,分为两种方式存储,一种方式是按照语音识别的断句识别结果,以json串的格式对每一断句进行存储;另一种方式是针对语音识别的文本内容,分角色进行存储。
该文本检索过程,可以通过用户在端侧操作,以及系统侧响应用户在端侧的操作进行后台处理,而实现。其中,上述的端侧是指用户执行文本检索操作的客户端,例如其可以是图2中所示的终端设备001,在端侧能够显示文本检索应用界面,该文本检索应用界面可以是如图3所示的文本检索应用界面。用户可以在该文本检索应用界面输入检索关键词、检索范围等信息,以及用户可以通过触发文本检索应用界面的检索按钮,触发系统侧执行相应的文本检索处理。
上述的系统侧,则是实际执行文本检索过程的设备或系统,例如其可以是图2中所示的服务器002,或者是服务器002和数据库003的组合,或者是终端设备001本地系统。
假设用户希望对坐席的电话语音进行质检,查看坐席在电话中是否讲过“到期了现在”和“七百六”这两个关键词。
参见图7所示,在实际检索时,用户在端侧的文本检索应用界面的“查询对象”窗口中选择“坐席”,然后在“关键词”窗口中输入“到期了现在,七百六”,其中,两个关键词之间的逗号“,”用于区分这两个关键词。然后用户点击文本检索应用界面的“检索”按钮。
此时,查询对象信息和检索关键词信息传输到系统侧。
系统侧首先分别根据各个检索关键词构建正则表达式。
其次,利用构建的正则表达式分别对坐席语音的文本进行检索,得到与每个正则表达式匹配的目标字符串。
即,从“您好,张某某某对吧?XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。中午十二点之前自己主动还进了,再不还的话直接还清款加违约金。”中检索与构建的正则表达式匹配的目标字符串。
根据本申请上述实施例介绍可以理解,从中能够检索出“到期了,现在”和“七百六”这两个目标字符串。
再次,从坐席语音的文本中确定出各个目标字符串命中的目标文本单句。
通过上述检索可见,两个目标字符串“到期了,现在”和“七百六”,均命中了同一文本单句“XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。”,因此,该文本单句为目标文本单句。
然后,对各个目标文本单句进行相邻文本单句合并处理。
最后,将合并后的各个文本句输出。
由于对“到期了现在”和“七百六”这两个关键词进行检索确定的目标文本单句为同一文本单句,所以上述的对相邻文本单句合并处理,得到的还是该同一文本单句。
其中,在将合并后的各个文本句输出时,为输出的文本句中的目标字符串添加显示颜色标签(例如添加红色显示标签),使输出的文本句中的目标字符串高亮显示。
系统侧输出的各个文本句在端侧进行渲染显示,最终在端侧的文本检索应用界面的“上下文”窗口中进行显示输出。端侧在对接收的文本句进行显示输出时,由于文本句中的“到期了,现在”和“七百六”这两个字符串携带显示颜色标签,因此这两个字符串的显示效果按照显示颜色标签所表示的显示颜色显示。即,最终在端侧的文本检索应用界面的“上下文”窗口中显示“XX还款期限到期了,现在X千X百XXX元今天APP处理的好吧。”这句文本,并且文本中的“到期了,现在”和“七百六”这些字符以区别于其他字符的不同颜色显示,例如这些字符以红色字体显示,其他字符以黑色字体显示。
示例性装置
与上述的文本检索方法相对应的,本申请实施例还提供了一种文本检索装置,参见图8所示,该装置包括:
检索准备单元100,用于根据检索关键词构建正则表达式;其中,所述正则表达式用于检索所述检索关键词以及预设字符串,所述预设字符串由所述检索关键词包括的字符和预设字符组成;在所述预设字符串中所述预设字符位于所述检索关键词中任意两个相邻字符之间;
文本检索单元110,用于从目标文本中检索与所述正则表达式相匹配的目标字符串;所述目标文本具有属于同一词的相邻两个字符被所述预设字符隔开的特点;
检索处理单元120,用于从所述目标文本中确定出包含所述目标字符串的文本句。
作为一种可选的实施方式,所述根据检索关键词构建正则表达式,包括:按照正则表达式的构建规则,将所述检索关键词包括的字符以及预设字符进行组合,得到正则表达式。
作为一种可选的实施方式,所述预设字符包括预设标点符号和预设标识字符中任意一个或多个。
作为一种可选的实施方式,所述目标文本包括多个文本单句,所述从所述目标文本中确定出包含所述目标字符串的文本句,包括:根据检索到的所述目标字符串,从所述目标文本中确定出目标文本单句,其中,所述目标文本单句在所述目标文本中所处的位置与所述目标字符串在所述目标文本中所处的位置之间存在交集;根据确定出的目标文本单句,构建得到包含所述目标字符串的文本句。
作为一种可选的实施方式,所述目标字符串在所述目标文本中的位置信息包括:所述目标字符串在所述目标文本中的起始位置和结束位置,和/或所述目标字符串所处的文本单句的序号;所述目标文本中的各个文本单句在所述目标文本中的位置信息包括:所述各个文本单句在所述目标文本中的起始位置和结束位置,和/或所述各个文本单句在所述目标文本中的序号。
作为一种可选的实施方式,所述目标文本为通过对目标交互场景中产生的对话语音进行语音转文本处理而生成的第一类文本集合、第二类文本集合和第三类文本集合中的任意一个集合中的文本;所述对话语音包括第一类角色语音和第二类角色语音,所述第一类文本集合包括第一类角色语音对应的文本,所述第二类文本集合包括第二类角色语音对应的文本,所述第三类文本集合包括所述对话语音对应的文本;所述第一类文本集合、所述第二类文本集合和所述第三类文本集合,通过如下处理得到:对所述对话语音进行语音识别处理,得到断句的语音识别结果,并至少将语音识别结果中的各个文本单句,以及每一文本单句对应的语音角色和位置信息,存储至语音文本集合;从所述语音文本集合中提取第一类角色语音对应的多个文本单句,添加到第一类文本集合;从所述语音文本集合中提取第二类角色语音对应的多个文本单句,添加到第二类文本集合;以及,从所述语音文本集合中提取第一类角色语音和第二类角色语音对应的多个文本单句,添加到第三类文本集合;所述目标文本中各个文本单句是通过将所述目标文本中的文本与所述语音文本集合中的各个文本单句进行映射匹配而确定的。
作为一种可选的实施方式,所述根据确定出的目标文本单句,构建得到包含检索到的所述目标字符串的文本句,包括:将确定出的各个目标文本单句确定为包含所述目标字符串的文本句,和/或,将由确定出的各个目标文本单句组合得到的文本句,确定为包含所述目标字符串的文本句。
作为一种可选的实施方式,所述目标文本单句的数量为多个;所述根据确定出的目标文本单句,构建得到包含所述目标字符串的文本句,包括:依序遍历多个目标文本单句,针对第i个目标文本单句,若所述第i个目标文本单句存在位置信息连续的相邻目标文本单句,则将所述第i个目标文本单句与所述第i个文本单句的相邻目标文本单句进行拼接处理,拼接处理后得到一个包含所述目标字符串的文本句;其中,i为正整数;若所述第i个目标文本单句不存在位置信息连续的相邻目标文本单句,则将所述第i个目标文本单句作为一个包含所述目标字符串的文本句。
作为一种可选的实施方式,所述检索处理单元还用于:将所述正则表达式作为检索条件,从各个文本句中定位出目标字符串;为每一文本句中定位到的目标字符串添加标识标签。
本实施例提供的文本检索装置,与本申请上述实施例所提供的文本检索方法属于同一申请构思,可执行本申请上述任意实施例所提供的文本检索方法,具备执行该文本检索方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请上述实施例提供的文本检索方法的具体处理内容,此处不再加以赘述。
示例性电子设备
本申请另一实施例还提出一种电子设备,参见图9所示,该电子设备包括:存储器200和处理器210;其中,所述存储器200与所述处理器210连接,用于存储计算机程序;所述处理器210,用于通过运行所述存储器200中存储的计算机程序,实现上述任一实施例公开的文本检索方法。
具体的,上述电子设备还可以包括:总线、通信接口220、输入设备230和输出设备240。
处理器210、存储器200、通信接口220、输入设备230和输出设备240通过总线相互连接。其中:总线可包括一通路,在计算机系统各个部件之间传送信息。处理器210可以是通用处理器,例如通用中央处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。处理器210可包括主处理器,还可包括基带芯片、调制解调器等。存储器200中保存有执行本发明技术方案的计算机程序,还可以保存有操作系统和其他关键业务。具体地,计算机程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器200可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。输入设备230可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。输出设备240可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。通信接口220可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。处理器210执行存储器200中所存放的程序,以及调用其他设备,可用于实现本申请上述实施例所提供的任意一种文本检索方法的各个步骤。
示例性计算机程序产品和存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的文本检索方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述“示例性方法”部分中描述的文本检索方法中的步骤。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。本申请各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种文本检索方法,其特征在于,包括:
根据检索关键词构建正则表达式;其中,所述正则表达式用于检索所述检索关键词以及预设字符串,所述预设字符串由所述检索关键词包括的字符和预设字符组成;在所述预设字符串中所述预设字符位于所述检索关键词中任意两个相邻字符之间;
从目标文本中检索与所述正则表达式相匹配的目标字符串;所述目标文本具有属于同一词的相邻两个字符被所述预设字符隔开的特点;
从所述目标文本中确定出包含所述目标字符串的文本句。
2.根据权利要求1所述的方法,其特征在于,所述根据检索关键词构建正则表达式,包括:
按照正则表达式的构建规则,将所述检索关键词包括的字符以及预设字符进行组合,得到正则表达式。
3.根据权利要求2所述的方法,其特征在于,所述预设字符包括预设标点符号和预设标识字符中任意一个或多个。
4.根据权利要求1所述的方法,其特征在于,所述目标文本包括多个文本单句,所述从所述目标文本中确定出包含所述目标字符串的文本句,包括:
根据检索到的所述目标字符串,从所述目标文本中确定出目标文本单句,其中,所述目标文本单句在所述目标文本中所处的位置与所述目标字符串在所述目标文本中所处的位置之间存在交集;
根据确定出的目标文本单句,构建得到包含所述目标字符串的文本句。
5.根据权利要求4所述的方法,其特征在于,所述目标字符串在所述目标文本中的位置信息包括:所述目标字符串在所述目标文本中的起始位置和结束位置,和/或所述目标字符串所处的文本单句的序号;所述目标文本中的各个文本单句在所述目标文本中的位置信息包括:所述各个文本单句在所述目标文本中的起始位置和结束位置,和/或所述各个文本单句在所述目标文本中的序号。
6.根据权利要求5所述的方法,其特征在于,所述目标文本为第一类文本集合、第二类文本集合和第三类文本集合中的任意一个集合中的文本;
所述第一类文本集合、所述第二类文本集合以及所述第三类文本集合是通过对目标交互场景中产生的对话语音进行语音转文本处理而生成的;所述对话语音包括第一类角色语音和第二类角色语音,所述第一类文本集合包括第一类角色语音对应的文本,所述第二类文本集合包括第二类角色语音对应的文本,所述第三类文本集合包括所述对话语音对应的文本;
所述第一类文本集合、所述第二类文本集合和所述第三类文本集合,通过如下处理得到:
对所述对话语音进行语音识别处理,得到断句的语音识别结果,并至少将语音识别结果中的各个文本单句,以及每一文本单句对应的语音角色和位置信息,存储至语音文本集合;
从所述语音文本集合中提取第一类角色语音对应的多个文本单句,添加到第一类文本集合;从所述语音文本集合中提取第二类角色语音对应的多个文本单句,添加到第二类文本集合;以及,从所述语音文本集合中提取第一类角色语音和第二类角色语音对应的多个文本单句,添加到第三类文本集合。
7.根据权利要求4所述的方法,其特征在于,所述根据确定出的目标文本单句,构建得到包含检索到的所述目标字符串的文本句,包括:
将确定出的各个目标文本单句确定为包含所述目标字符串的文本句,和/或,将由确定出的各个目标文本单句组合得到的文本句,确定为包含所述目标字符串的文本句。
8.根据权利要求6所述的方法,其特征在于,所述目标文本单句的数量为多个;所述根据确定出的目标文本单句,构建得到包含所述目标字符串的文本句,包括:
依序遍历多个目标文本单句,针对第i个目标文本单句,若所述第i个目标文本单句存在位置信息连续的相邻目标文本单句,则将所述第i个目标文本单句与所述第i个文本单句的相邻目标文本单句进行拼接处理,拼接处理后得到一个包含所述目标字符串的文本句;其中,i为正整数;
若所述第i个目标文本单句不存在位置信息连续的相邻目标文本单句,则将所述第i个目标文本单句作为一个包含所述目标字符串的文本句。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述正则表达式作为检索条件,从各个文本句中定位出目标字符串;
为每一文本句中定位到的目标字符串添加标识标签。
10.一种文本检索装置,其特征在于,包括:
检索准备单元,用于根据检索关键词构建正则表达式;其中,所述正则表达式用于检索所述检索关键词以及预设字符串,所述预设字符串由所述检索关键词包括的字符和预设字符组成;在所述预设字符串中所述预设字符位于所述检索关键词中任意两个相邻字符之间;
文本检索单元,用于从目标文本中检索与所述正则表达式相匹配的目标字符串;所述目标文本具有属于同一词的相邻两个字符被所述预设字符隔开的特点;
检索处理单元,用于从所述目标文本中确定出包含所述目标字符串的文本句。
11.一种电子设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器与所述处理器连接,用于存储计算机程序;
所述处理器,用于通过运行所述存储器中的计算机程序,实现如权利要求1至9中任意一项所述的文本检索方法。
12.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如权利要求1至9中任意一项所述的文本检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210784810.5A CN116127101A (zh) | 2022-07-05 | 2022-07-05 | 文本检索方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210784810.5A CN116127101A (zh) | 2022-07-05 | 2022-07-05 | 文本检索方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116127101A true CN116127101A (zh) | 2023-05-16 |
Family
ID=86299608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210784810.5A Pending CN116127101A (zh) | 2022-07-05 | 2022-07-05 | 文本检索方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116127101A (zh) |
-
2022
- 2022-07-05 CN CN202210784810.5A patent/CN116127101A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868732B2 (en) | System for minimizing repetition in intelligent virtual assistant conversations | |
CN108305626A (zh) | 应用程序的语音控制方法和装置 | |
CN102782751B (zh) | 社会网络中的数字媒体语音标签 | |
CN111108476B (zh) | 通过语音驱动的计算基础设施进行的图形用户界面渲染管理 | |
US20210383078A1 (en) | Automatic translation of advertisements | |
US10803253B2 (en) | Method and device for extracting point of interest from natural language sentences | |
US11580299B2 (en) | Corpus cleaning method and corpus entry system | |
JP5835197B2 (ja) | 情報処理システム | |
CN107609101A (zh) | 智能交互方法、设备及存储介质 | |
CN109801648B (zh) | 消息弹窗语音编辑方法、装置、计算机设备及存储介质 | |
US20220254507A1 (en) | Knowledge graph-based question answering method, computer device, and medium | |
CN108304375A (zh) | 一种信息识别方法及其设备、存储介质、终端 | |
CN110597952A (zh) | 信息处理方法、服务器及计算机存储介质 | |
JPWO2005101235A1 (ja) | 対話支援装置 | |
WO2020233386A1 (zh) | 基于aiml的智能问答方法、装置、计算机设备及存储介质 | |
CN107992523B (zh) | 移动应用的功能选项查找方法及终端设备 | |
CN107967250B (zh) | 一种信息处理方法及装置 | |
CN107844470B (zh) | 一种语音数据处理方法及其设备 | |
CN107155121B (zh) | 语音控制文本的显示方法及装置 | |
WO2022001888A1 (zh) | 基于词向量生成模型的信息生成方法和装置 | |
CN110808032A (zh) | 一种语音识别方法、装置、计算机设备及存储介质 | |
EP2869219A1 (en) | Text processing apparatus, text processing method, and computer program product | |
CN111314566A (zh) | 一种语音质检方法、装置与系统 | |
US20200026742A1 (en) | Integrating communications into a social graph | |
CN116501960B (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 |