CN117235014A - 基于自然语言搜索文件的方法、系统及计算设备 - Google Patents

基于自然语言搜索文件的方法、系统及计算设备 Download PDF

Info

Publication number
CN117235014A
CN117235014A CN202311095225.5A CN202311095225A CN117235014A CN 117235014 A CN117235014 A CN 117235014A CN 202311095225 A CN202311095225 A CN 202311095225A CN 117235014 A CN117235014 A CN 117235014A
Authority
CN
China
Prior art keywords
file
natural language
searching
search
index
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
Application number
CN202311095225.5A
Other languages
English (en)
Inventor
郑幼戈
王波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202311095225.5A priority Critical patent/CN117235014A/zh
Publication of CN117235014A publication Critical patent/CN117235014A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于自然语言搜索文件的方法、文件搜索系统及计算设备,涉及计算机及人工智能技术领域。方法包括:响应于搜索客户端基于自然语言的文件搜索请求,从文件搜索请求中获取自然语言描述信息;利用文件分类算法,根据自然语言描述信息确定目标文件类型;利用语义关键词提取算法,从自然语言描述信息中提取文件关键词;从自然语言描述信息中提取文件时间信息;根据目标文件类型、文件关键词、文件时间信息,组合得到搜索条件;根据搜索条件进行搜索,以得到一个或多个目标文件。根据本发明的技术方案,能够根据用户输入的自然语言描述信息准确预判用户的搜索意图,准确查找目标文件,实现更加智能化地搜索文件。

Description

基于自然语言搜索文件的方法、系统及计算设备
技术领域
本发明涉及计算机及人工智能技术领域,尤其涉及一种基于自然语言搜索文件的方法、文件搜索系统及计算设备。
背景技术
在计算机使用过程中,查找文件是一种十分常见的功能。传统的文件搜索,例如Windows、MacOS、Linux自带的文件搜索功能,都需要对文件名全名或者部分名称进行匹配,用户通过输入文件名全名或者部分名称,来查找想要的文件,其本质上是一种基于字符串索引的搜索方案。这种搜索方式在传统操作系统以及搜索工具中使用非常广泛,它的优点是能快速找到文件名对应的文件。但,随着社会信息量数据的激增,在计算机上产生或者传递的文件数目越来越多,因此,每个使用计算机的用户,都需要处理大量的文件。在这种条件下,采用传统的文件搜索方案,需要用户记住所有的文件名称,这是一件及其困难的事情。
现有技术中,在UOS操作系统的全局搜索应用中,提供了通过关键字进行文件名匹配搜索的功能,可通过全局搜索对话框输入关键词,找到文件名中包含关键词的文件,并将结果呈现到下拉列表中。这种方案存在以下缺点:关键词需要精确匹配文件名的全部或者部分内容,不能进行模糊查询;在单纯使用文件名搜索的场景,无法针对文件内容进行搜索,因此在全局搜索中无法进行内容的检索。
现有技术中还有一种方案,在文件管理器中提供了全文检索的模式搜索,该模式虽然能针对文件内容进行搜索,但通过该方法搜索出来的文件,往往与关键字没什么联系,导致搜索出来的文件列表缺乏相关性。而且,使用该方法,也需要用户在搜索框中输入关键词,无法进行自然语言的模糊搜索工作。
因此,需要一种基于自然语言搜索文件的方法,以解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种基于自然语言搜索文件的方法及文件搜索系统,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种基于自然语言搜索文件的方法,在计算设备中执行,所述方法包括:响应于搜索客户端基于自然语言的文件搜索请求,从所述文件搜索请求中获取自然语言描述信息;利用文件分类算法,根据所述自然语言描述信息确定目标文件类型;利用语义关键词提取算法,从所述自然语言描述信息中提取文件关键词;从所述自然语言描述信息中提取文件时间信息;根据所述目标文件类型、文件关键词、文件时间信息,组合得到搜索条件;根据所述搜索条件进行搜索,以得到一个或多个目标文件。
可选地,在根据本发明的基于自然语言搜索文件的方法中,所述计算设备与文件索引存储装置耦接,所述文件索引存储装置中包括多种文件索引;根据所述搜索条件进行搜索,以得到一个或多个目标文件,包括:根据所述搜索条件从文件索引存储装置中进行搜索,其中,将所述文件关键词与所述文件索引存储装置中的多种文件索引进行匹配,以得到一个或多个目标文件。
可选地,在根据本发明的基于自然语言搜索文件的方法中,所述文件索引存储装置中的多种文件索引包括:文件名称索引、文件内容索引、文件属性索引、文件标签索引。
可选地,在根据本发明的基于自然语言搜索文件的方法中,还包括:将一个或多个目标文件,根据文件名称、文件内容、文件属性、文件标签按照预定算法进行排序,得到目标文件列表;将所述目标文件列表返回至搜索客户端进行显示。
可选地,在根据本发明的基于自然语言搜索文件的方法中,从所述自然语言描述信息中提取文件时间信息,包括:从所述自然语言描述信息中提取时间描述;利用时间语义解析算法,对所述时间描述进行解析得到预定格式的文件时间信息。
可选地,在根据本发明的基于自然语言搜索文件的方法中,在利用文件分类算法,根据所述自然语言描述信息确定目标文件类型之前,还包括:通过分词器,采用分词算法将所述自然语言描述信息转换为词向量。
可选地,在根据本发明的基于自然语言搜索文件的方法中,还包括:响应于文件更新信号,更新所述文件索引存储装置中的文件索引。
可选地,在根据本发明的基于自然语言搜索文件的方法中,所述文件关键词包括人名、地名、机构名称中的一种或多种。
可选地,在根据本发明的基于自然语言搜索文件的方法中,所述文件类型包括音乐、视频、图片、文本中的一种或多种。
根据本发明的一个方面,提供一种文件搜索系统,包括:文件索引存储装置,包括多种文件索引;文件监视器,适于监测到文件更新并发送文件更新信号;守护进程,适于响应于所述文件监视器发送的文件更新信号,对所述文件索引存储装置中的文件索引进行更新;算法封装库,适于封装文件分类算法、语义关键词提取算法;搜索客户端;以及搜索服务端,与所述搜索客户端、文件索引存储装置耦接,适于经由所述守护进程与所述算法封装库进行通信,以调用所述文件分类算法或语义关键词提取算法,并适于响应于所述搜索客户端基于自然语言的文件搜索请求,执行如上所述的方法来基于自然语言搜索文件。
根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的基于自然语言搜索文件的方法的指令。
根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的基于自然语言搜索文件的方法。
根据本发明的技术方案,提供了一种基于自然语言搜索文件的方法,可以响应于搜索客户端基于自然语言的文件搜索请求,从文件搜索请求中获取自然语言描述信息,随后可以利用文件分类算法,根据自然语言描述信息确定用户期望搜索的目标文件类型,并可以利用语义关键词提取算法从自然语言描述信息中提取文件关键词,以及,从自然语言描述信息中提取文件时间信息。之后,可以根据目标文件类型、文件关键词、文件时间信息,组合得到搜索条件,并根据搜索条件进行搜索得到目标文件。这样,根据本发明的技术方案,利用人工智能算法能够根据用户输入的自然语言描述信息准确预判用户的搜索意图,实现了基于自然语言模糊搜索文件,并且,能从文件类型、文件关键词、文件时间三个维度进行信息提取和文件匹配,以找到用户期望的目标文件。用户输入搜索信息时无需精确到文件名或文件内容的细节,通过日常描述用语或询问的方式,即可查找与文件类型、时间、关键词匹配的文件,实现更加智能化地搜索文件,使用户更易于找到期望的目标文件,用户体验感更佳。
进一步地,本发明可以将提取到的文件关键词与文件索引存储装置中的文件名称索引、文件内容索引、文件属性索引、文件标签索引进行多模态匹配,实现更全面、准确地查找用户期望的目标文件。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的文件搜索系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;
图3示出了根据本发明一个实施例的基于自然语言搜索文件的方法300的流程示意图;
图4~图6分别示出了根据本发明一个实施例的搜索客户端的界面示意图。
图7示出了根据本发明一个实施例的文件分类算法的训练过程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的文件搜索系统100的示意图。根据本发明的文件搜索系统100,能实现基于用户输入的自然语言描述信息来搜索文件。
如图1所示,文件搜索系统100包括搜索客户端110、搜索服务端120、文件索引存储装置130。搜索服务端120可以与搜索客户端110、文件索引存储装置130耦接。
在一个实施例中,文件索引存储装置130中可以包括多种文件索引。多种文件索引具体可以包括:文件名称索引、文件内容索引(即,全文检索索引)、文件属性索引、文件标签索引等。这里,文件内容索引例如可以包括文本文件中的内容、图片中的文字内容,文件属性索引例如可以包括歌手、专辑名、分辨率、时长等信息。
搜索服务端120可用于提供基于自然语言搜索文件的服务,其可以实现为现有技术中的任何一种能够提供该服务的计算设备,本发明对搜索服务端120的具体种类不作限制。例如,搜索服务端120可以实现为桌面电脑、笔记本电脑、处理器芯片、手机、平板电脑等,但不限于此。另外,搜索服务端120也可以是驻留在计算设备中的服务程序。
搜索客户端110为用户使用的终端设备,具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等移动终端,但不限于此,还可以是驻留在计算设备中的应用程序。
例如,在一些实施例中,本发明的文件搜索系统100可以部署在计算设备(例如下文所述的计算设备200)中,搜索客户端110可以作为一个应用程序部署在该计算设备的应用层,搜索服务端120可以作为服务程序部署在计算设备中,且搜索客户端110与搜索服务端120可以通过D-Bus接口进行通信。
在一些实施例中,文件搜索系统100还包括文件监视器140(部署在计算设备中),通过文件监视器140可以监测到文件更新并发送文件更新信号。计算设备可以响应于文件更新信号,对文件索引存储装置130中的文件索引进行更新。
在一些实施例中,文件搜索系统100还包括守护进程150(索引和中文识别守护进程),该守护进程150可以与搜索服务端120、文件索引存储装置130耦接。守护进程150可以部署在计算设备的操作系统中,并提供有文件索引更新服务。通过文件索引更新服务可以响应于来自于文件监视器140的文件更新信号,对文件索引存储装置130中的文件索引进行更新。
在一些实施例中,文件搜索系统100还包括算法封装库160(部署在计算设备中),算法封装库160封装有文件分类算法、语义关键词提取算法,以便用于文件识别。算法封装库160可以与守护进程150耦接,使得搜索服务端120可以经由守护进程150与算法封装库160进行通信,以调用文件分类算法或语义关键词提取算法。
在一个实施例中,通过针对Transformer框架进行特定的算法改造,形成针对文件类型分类的文件分类算法,以及针对文件关键词分类的语义关键词提取算法,从而在操作系统下层形成自然语言算法库,并可以使用ONNX运行库的方式将该自然语言算法库封装起来,形成专门针对文件识别的算法封装库160,实现在单机上即可部署的轻量化算法,可用于文件搜索场景。
在本发明的实施例中,搜索服务端120适于执行本发明的基于自然语言搜索文件的方法300。本发明的基于自然语言搜索文件的方法300将在下文中详述。
在本发明的一个实施例中,搜索服务端120可以实现为如下所述的计算设备200,使得本发明的基于自然语言搜索文件的方法300可以在计算设备200中执行。搜索服务端120通过执行本发明的基于自然语言搜索文件的方法300,可以基于自然语言生成指令并发送至对应的应用115,以便应用115执行所述指令。
图2示出了根据本发明一个实施例的计算设备200的示意图。如图2所示,在基本配置中,计算设备200包括至少一个处理单元202和系统存储器204。根据一个方面,取决于计算设备的配置和类型,处理单元202可以实现为处理器。系统存储器204包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。根据一个方面,系统存储器204中包括操作系统205。
根据一个方面,操作系统105例如适合于控制计算设备200的操作。此外,示例结合图形库、其他操作系统、或任何其他应用程序而被实践,并且不限于任何特定的应用或系统。在图2中通过在虚线内的那些组件示出了该基本配置。根据一个方面,计算设备200具有额外的特征或功能。例如,根据一个方面,计算设备200包括额外的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘、或者磁带。这样额外的存储在图2中是由可移动存储设备209和不可移动存储设备210示出的。
如在上文中所陈述的,根据一个方面,在系统存储器204中存储有程序模块203。根据一个方面,程序模块203可以包括一个或多个应用程序,本发明不限制应用程序的类型,例如应用程序可以包括:电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片展示应用程序、绘画或计算机辅助应用程序、网络浏览器应用程序等。在根据本发明的实施例中,程序模块203中包括执行本发明的基于自然语言搜索文件的方法300的多条程序指令。
根据一个方面,可以在包括分立电子元件的电路、包含逻辑门的封装或集成的电子芯片、利用微处理器的电路、或者在包含电子元件或微处理器的单个芯片上实践示例。例如,可以经由其中在图2中所示出的每个或许多组件可以集成在单个集成电路上的片上系统(SOC)来实践示例。根据一个方面,这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,其全部作为单个集成电路而被集成(或“烧”)到芯片基底上。当经由SOC进行操作时,可以经由在单个集成电路(芯片)上与计算设备200的其他组件集成的专用逻辑来对在本文中所描述的功能进行操作。还可以使用能够执行逻辑操作(例如AND、OR和NOT)的其他技术来实践本发明的实施例,所述其他技术包括但不限于机械、光学、流体、和量子技术。另外,可以在通用计算机内或在任何其他任何电路或系统中实践本发明的实施例。
根据一个方面,计算设备200还可以具有一个或多个输入设备212,例如键盘、鼠标、笔、语音输入设备、触摸输入设备等。还可以包括输出设备214,例如显示器、扬声器、打印机等。前述设备是示例并且也可以使用其他设备。计算设备200可以包括允许与其他计算设备218进行通信的一个或多个通信连接216。合适的通信连接216的示例包括但不限于:RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行和/或串行端口。
如在本文中所使用的术语计算机可读介质包括计算机存储介质。计算机存储介质可以包括以任何用于存储信息(例如,计算机可读指示、数据结构、或程序模块)的方法或技术来实现的易失性的和非易失性的、可移动的和不可移动的介质。系统存储器204、可移动存储设备209、和不可移动存储设备210都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦只读存储器(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或者可用于存储信息并且可以由计算设备200访问的任何其他制品。根据一个方面,任何这样的计算机存储介质都可以是计算设备200的一部分。计算机存储介质不包括载波或其他经传播的数据信号。
根据一个方面,通信介质是由计算机可读指令、数据结构、程序模块、或者经调制的数据信号(例如,载波或其他传输机制)中的其他数据实施的,并且包括任何信息传递介质。根据一个方面,术语“经调制的数据信号”描述了具有一个或多个特征集或者以将信息编码在信号中的方式改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外线的、以及其他无线介质之类的无线介质。
在根据本发明的实施例中,计算设备200被配置为执行根据本发明的基于自然语言搜索文件的方法300。计算设备200包括一个或多个处理器、以及存储有程序指令的一个或多个可读存储介质,当程序指令被配置为由一个或多个处理器执行时,使得计算设备200执行本发明实施例中的基于自然语言搜索文件的方法300。
图3示出了根据本发明一个实施例的基于自然语言搜索文件的方法300的流程示意图。方法300适于在搜索服务端120(例如前述计算设备200)中执行。搜索服务端120通过执行本发明的基于自然语言搜索文件的方法300,可以基于用户的自然语言描述信息来搜索文件。
如前文所述,根据本发明的文件搜索系统100,文件搜索系统100包括搜索客户端110、搜索服务端120、文件索引存储装置130。搜索服务端120可以与搜索客户端110、文件索引存储装置130耦接。
如图3所示,方法300始于步骤310。
在步骤310中,用户可以在搜索客户端110输入自然语言描述信息,通过搜索客户端发送基于自然语言的文件搜索请求。搜索服务端120可以响应于搜索客户端110发送的基于自然语言的文件搜索请求,从该文件搜索请求中获取用户在搜索客户端输入的自然语言描述信息。
这里,需要说明的是,用户输入的自然语言描述信息中可以包含描述文件特征的信息,无需精确到文件名或文件内容的细节。根据本发明的方法300,可以根据用户输入的自然语言描述信息进行多模态的信息提取和匹配,查找对应的目标文件。
随后,在步骤320中,可以利用文件分类算法,根据自然语言描述信息,确定用户期望搜索的目标文件类型。
在步骤330中,利用语义关键词提取算法,从自然语言描述信息中提取文件关键词。这里,文件关键词例如可以包括人名、地名、机构名称等名词。
在步骤340中,可以从自然语言描述信息中提取文件时间信息(具体可以是时间范围)。
在一些实施例中,通过从自然语言描述信息中提取时间描述,随后,可以利用时间语义解析算法,来对时间描述进行解析得到预定格式的文件时间信息。
在一个实施例中,从自然语言描述信息中提取时间描述时,首先可以采用分词器,通过Transformer分词算法对自然语言描述信息进行分词,判断分词是否成功,如果分词成功,则命名实体识别模型来从分词结果中提取出时间描述。例如,用户输入的自然语言描述信息为“上周的测试文件”,相应地,提取的时间描述可以为“上周”。
在一个实施例中,预定格式例如可以为yyyy:mm:dd hh::mm::ss(即,年月日时分秒)的标准时间格式。
需要说明的是,用户输入的自然语言描述信息中,关于时间的语言描述往往不是特别精确,不会精确到分钟或年月。例如,大部分用户对时间的描述一般类似于“上周”、“去年”、“上个月”、“昨天”、“xx号之前”、“最近一周”等格式,这些对时间的描述方式,很难被计算设备识别,因此需要转换成计算设备可识别的标准时间格式。由于计算设备可识别的标准时间格式必须精确到年月日时分秒,因此,在本发明的一个实施例中,可以利用时间语义解析算法,来将自然语言描述信息中的时间描述转换为标准时间格式(yyyy:mm:dd hh::mm::ss)。
之后,在步骤350中,根据上述得到的目标文件类型、文件关键词、文件时间信息,组合得到搜索条件。
最后,在步骤360中,根据搜索条件进行搜索,以得到一个或多个目标文件。这里,目标文件,即是与搜索条件中的目标文件类型、文件关键词、文件时间信息相匹配的文件。
这样,根据本发明的方法300,可以根据用户输入的自然语言描述信息,从文件类型、文件关键词、文件时间三个维度来对用户需要查找的文件进行匹配搜索。
图4~图6分别示出了根据本发明一个实施例的搜索客户端的界面示意图。如图4~图6所示,用户输入的自然语言描述信息例如可以为“帮忙找一找6月23号之前下载的李荣浩的歌”、“帮忙找一找6月23号之后下载的李荣浩的歌”、“有一首朴树的音乐,大概去年之前下载的,我忘了放在哪里”等,用户可以通过日常描述用语或询问的方式,来查找与文件类型、时间、关键词匹配的文件,实现多模态匹配搜索文件。并且,在搜索过程中,用户可以随时更改自然语言描述信息,以更改搜索条件,满足日常使用需求。
在本发明的一些实施例中,计算设备200(搜索服务端)可以与文件索引存储装置130耦接。搜索条件是适配文件索引存储装置130的搜索字段。这样,在步骤360中,可以根据搜索条件从文件索引存储装置130中进行搜索,得到一个或多个目标文件。
在一个实施例中,文件索引存储装置130中可以包括多种文件索引。多种文件索引具体可以包括:文件名称索引、文件内容索引(即,全文检索索引)、文件属性索引、文件标签索引等。这里,文件内容索引例如可以包括文本文件中的内容、图片中的文字内容,文件属性索引例如可以包括歌手、专辑名、分辨率、时长等信息。这里,根据计算设备200的操作系统提供的OCR文字识别方法,可以识别图片中的文字内容,并可以对图片中的文字内容进行分词生成文件内容索引,保存在文件索引存储装置130中。
这样,在步骤360中,在根据搜索条件从文件索引存储装置130中搜索目标文件时,可以将搜索条件中的文件关键词与文件索引存储装置130中的多种文件索引进行匹配(多模态匹配),以匹配得到一个或多个目标文件。
在一些实施例中,计算设备200中还部署有文件监视器,通过文件监视器可以监测到文件更新并发送文件更新信号,计算设备200可以响应于文件更新信号,对文件索引存储装置130中的文件索引进行更新。
需要说明的是,根据本发明的技术方案,通过将提取到的文件关键词与文件索引存储装置130中的多种文件索引(文件名称索引、文件内容索引、文件属性索引、文件标签索引)进行多模态索引匹配,可以找到对应名称、内容、属性或标签的目标文件。
在一些实施例中,在搜索得到一个或多个目标文件后,可以将一个或多个目标文件,根据文件名称、文件内容、文件属性、文件标签按照预定算法进行排序(例如,可以将文件名称与搜索条件匹配的目标文件排列在最前面),排序后得到目标文件列表。进而,可以将目标文件列表返回至搜索客户端进行显示,以便在客户端向用户展示目标文件列表。
值得注意的是,在本发明的技术方案中,根据用户输入的自然语言描述信息,准确判断用户期望搜索的目标文件类型十分关键。如果用户明确想要搜索音乐、视频类型的文件,但搜索结果中出现了标题有“音乐”的普通文本文件,这显然不符合用户搜索意图。因此,本发明利用文件分类算法,能够根据自然语言描述信息准确判断用户的搜索意图,提升了用户搜索文件时的体验感。
在本发明的一些实施例中,针对用户搜索文件的意图,初步设计了music、movie、picture、text四个意图字段,分别表示用户想要搜索音乐、视频、图片、文本四种类型的文件。根据用户输入的自然语言描述信息,通过自训练的文件分类算法可以识别出上述四种文件类型(音乐、视频、图片、文本)中的其中一种。本发明可以基于中文表达训练集来对文件分类算法进行训练,以使训练后的文件分类算法可以针对用户自然语言描述信息中的类似于“歌曲”、“录像”、“自拍”等关键词,来准确判断出用户期望搜索的目标文件类型。并在经过代码去重后,可以得到目标文件类型描述。
如7示出了根据本发明一个实施例的文件分类算法的训练过程示意图。如图7所示,本发明可以基于文本文件(同义词包括文档、文本、代码)、图片文件(同义词包括自拍、照片、相片)、音乐文件(同义词包括歌曲、乐曲、音频)、视频文件(同义词包括影片、录像、电影)等文件类型的描述及其同义词,来制作生成中文表达训练数据集。随后,基于中文表达训练数据集(包括400句)来对文件分类算法进行训练。
在一个实施例中,可以使用docanno软件来制作用于训练文件分类算法的中文表达训练数据集。考虑到不同用户对各类文件的表达方式、描述语言可能存在差异,例如,针对用户在查找图片时,可能会将图片文件描述为“照片”、“图画”、“自拍”、“合影”之类的词语。因此,在制作数据集时,需要充分查找这些文件类型的同义词或者近似词,尽可能将描述同一文件类型的同义词存放为同一个标签,以使基于数据集训练后的文件分类算法能够精准识别用户期望搜索的目标文件类型,使用户基于自然语言搜索的文件更加准确,符合用户意图。
根据本发明训练后的文件分类算法,通过分析用户输入的自然语言描述信息中的关键词,识别出音乐、视频、图片、文本等文件类型,从而确定用户期望搜索的目标文件类型。
在本发明的一些实施例中,在确定用户期望搜索的目标文件类型后,可以针对用户输入的自然语言描述信息进行文件关键词提取。具体地,可以利用Transformer分词器,针对特定类型的词汇进行打标签后,对语义关键词提取算法进行实体分类训练,例如,可以对人名词汇打上N标签,对地名词汇打上G标签,使得训练后的语义关键词提取算法能够准确识别人物、地点、时间等信息。这样,可以利用训练后的语义关键词提取算法,从用户输入的自然语言描述信息中提取人名、地名、机构名称等词汇,作为搜索文件的关键词。
在本发明的一些实施例中,在从文件搜索请求中获取自然语言描述信息之后,在执行步骤320之前,可以预先通过分词器,采用分词算法来将自然语言描述信息转换为词向量。这样,在步骤320~330中,可以利用文件分类算法,根据词向量确定期望搜索的目标文件类型;利用语义关键词提取算法,从词向量中提取文件关键词。
具体地,可以通过Transformer加载分词器(具体可以是中文分词器),利用分词算法(具体可以是中文分词算法),来对自然语言描述信息(中文内容)进行分词处理,以将中文的自然语言描述信息转换为一元词向量数值。随后,可以在一元词向量数值的首部和尾部分别插入101(转换为字符串为“CLS”)和102(转换为字符串为“SEP”)标识,分别作为后续算法计算的开始位和结束位。这样,便实现将中文的自然语言描述信息转换为词向量。之后,可以将转换得到的词向量带入后续步骤320~330中的文件分类算法、语义关键词提取算法中进行处理。
例如,将中文的自然语言描述信息“我想找周杰伦的歌”转换为一元词向量数值并在首部和尾部分别插入101和102后,得到的向量化结果如下:101,2769,2682,2823,1453,3345,840,4638,3625,102。
根据本发明的基于自然语言搜索文件的方法300,可以响应于搜索客户端基于自然语言的文件搜索请求,从文件搜索请求中获取自然语言描述信息,随后可以利用文件分类算法,根据自然语言描述信息确定用户期望搜索的目标文件类型,并可以利用语义关键词提取算法从自然语言描述信息中提取文件关键词,以及,从自然语言描述信息中提取文件时间信息。之后,可以根据目标文件类型、文件关键词、文件时间信息,组合得到搜索条件,并根据搜索条件进行搜索得到目标文件。这样,根据本发明的技术方案,根据本发明的技术方案,利用人工智能算法能够根据用户输入的自然语言描述信息准确预判用户的搜索意图,实现了基于自然语言模糊搜索文件,并且,能从文件类型、文件关键词、文件时间三个维度进行信息提取和文件匹配,以找到用户期望的目标文件。用户输入搜索信息时无需精确到文件名或文件内容的细节,通过日常描述用语或询问的方式,即可查找与文件类型、时间、关键词匹配的文件,实现更加智能化地搜索文件,使用户更易于找到期望的目标文件,用户体验感更佳。
进一步地,本发明可以将提取到的文件关键词与文件索引存储装置中的文件名称索引、文件内容索引、文件属性索引、文件标签索引进行多模态匹配,实现更全面、准确地查找用户期望的目标文件。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的基于自然语言搜索文件的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (12)

1.一种基于自然语言搜索文件的方法,在计算设备中执行,所述方法包括:
响应于搜索客户端基于自然语言的文件搜索请求,从所述文件搜索请求中获取自然语言描述信息;
利用文件分类算法,根据所述自然语言描述信息确定目标文件类型;
利用语义关键词提取算法,从所述自然语言描述信息中提取文件关键词;
从所述自然语言描述信息中提取文件时间信息;
根据所述目标文件类型、文件关键词、文件时间信息,组合得到搜索条件;
根据所述搜索条件进行搜索,以得到一个或多个目标文件。
2.如权利要求1所述的方法,其中,所述计算设备与文件索引存储装置耦接,所述文件索引存储装置中包括多种文件索引;
根据所述搜索条件进行搜索,以得到一个或多个目标文件,包括:
根据所述搜索条件从文件索引存储装置中进行搜索,其中,将所述文件关键词与所述文件索引存储装置中的多种文件索引进行匹配,以得到一个或多个目标文件。
3.如权利要求2所述的方法,其中,
所述文件索引存储装置中的多种文件索引包括:文件名称索引、文件内容索引、文件属性索引、文件标签索引。
4.如权利要求1-3中任一项所述的方法,其中,还包括:
将一个或多个目标文件,根据文件名称、文件内容、文件属性、文件标签按照预定算法进行排序,得到目标文件列表;
将所述目标文件列表返回至搜索客户端进行显示。
5.如权利要求1-4中任一项所述的方法,其中,从所述自然语言描述信息中提取文件时间信息,包括:
从所述自然语言描述信息中提取时间描述;
利用时间语义解析算法,对所述时间描述进行解析得到预定格式的文件时间信息。
6.如权利要求1-5中任一项所述的方法,其中,在利用文件分类算法,根据所述自然语言描述信息确定目标文件类型之前,还包括:
通过分词器,采用分词算法将所述自然语言描述信息转换为词向量。
7.如权利要求2或3所述的方法,其中,还包括:
响应于文件更新信号,更新所述文件索引存储装置中的文件索引。
8.如权利要求1-7中任一项所述的方法,其中,所述文件关键词包括人名、地名、机构名称中的一种或多种。
9.如权利要求1-8中任一项所述的方法,其中,所述文件类型包括音乐、视频、图片、文本中的一种或多种。
10.一种文件搜索系统,包括:
文件索引存储装置,包括多种文件索引;
文件监视器,适于监测到文件更新并发送文件更新信号;
守护进程,适于响应于所述文件监视器发送的文件更新信号,对所述文件索引存储装置中的文件索引进行更新;
算法封装库,适于封装文件分类算法、语义关键词提取算法;
搜索客户端;以及
搜索服务端,与所述搜索客户端、文件索引存储装置耦接,适于经由所述守护进程与所述算法封装库进行通信,以调用所述文件分类算法或语义关键词提取算法,并适于响应于所述搜索客户端基于自然语言的文件搜索请求,执行如权利要求1-9中任一项所述的方法来基于自然语言搜索文件。
11.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-9中任一项所述的方法的指令。
12.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-9中任一项所述方法。
CN202311095225.5A 2023-08-29 2023-08-29 基于自然语言搜索文件的方法、系统及计算设备 Pending CN117235014A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311095225.5A CN117235014A (zh) 2023-08-29 2023-08-29 基于自然语言搜索文件的方法、系统及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311095225.5A CN117235014A (zh) 2023-08-29 2023-08-29 基于自然语言搜索文件的方法、系统及计算设备

Publications (1)

Publication Number Publication Date
CN117235014A true CN117235014A (zh) 2023-12-15

Family

ID=89083538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311095225.5A Pending CN117235014A (zh) 2023-08-29 2023-08-29 基于自然语言搜索文件的方法、系统及计算设备

Country Status (1)

Country Link
CN (1) CN117235014A (zh)

Similar Documents

Publication Publication Date Title
CN107832414B (zh) 用于推送信息的方法和装置
CN107256267B (zh) 查询方法和装置
US11514235B2 (en) Information extraction from open-ended schema-less tables
EP2812883B1 (en) System and method for semantically annotating images
US9183226B2 (en) Image classification
CN111046221B (zh) 歌曲推荐方法、装置、终端设备以及存储介质
US9703782B2 (en) Associating media with metadata of near-duplicates
US11232147B2 (en) Generating contextual tags for digital content
US20120117051A1 (en) Multi-modal approach to search query input
US20130060769A1 (en) System and method for identifying social media interactions
US11429792B2 (en) Creating and interacting with data records having semantic vectors and natural language expressions produced by a machine-trained model
US10152540B2 (en) Linking thumbnail of image to web page
CN107861948B (zh) 一种标签提取方法、装置、设备和介质
CN111814481B (zh) 购物意图识别方法、装置、终端设备及存储介质
US8046361B2 (en) System and method for classifying tags of content using a hyperlinked corpus of classified web pages
US20190095525A1 (en) Extraction of expression for natural language processing
CN117235014A (zh) 基于自然语言搜索文件的方法、系统及计算设备
JP2001101184A (ja) 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体
US12032915B2 (en) Creating and interacting with data records having semantic vectors and natural language expressions produced by a machine-trained model
US20230409624A1 (en) Multi-modal hierarchical semantic search engine
CN115392389B (zh) 跨模态信息匹配、处理方法、装置、电子设备及存储介质
CN117194342A (zh) 文件重命名方法、系统及计算设备
CN114154072A (zh) 检索方法、装置、电子设备以及存储介质
CN117951324A (zh) 数据的搜索方法、装置、电子设备以及存储介质
CN115878756A (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