CN112860846A - 问题词汇的推荐方法、装置、计算机设备及存储介质 - Google Patents
问题词汇的推荐方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112860846A CN112860846A CN202110069592.2A CN202110069592A CN112860846A CN 112860846 A CN112860846 A CN 112860846A CN 202110069592 A CN202110069592 A CN 202110069592A CN 112860846 A CN112860846 A CN 112860846A
- Authority
- CN
- China
- Prior art keywords
- sentence
- candidate
- sentences
- question
- vocabulary
- 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
- G06F40/00—Handling natural language data
- G06F40/30—Semantic 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/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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种问题词汇的推荐方法,应用于人工智能技术领域,用于解决现有的搜索词汇的推荐方法针对用户输入的问题词条不具有扩展性导致出现无效词条推荐的技术问题。本发明提供的方法包括:将用户输入的问题语句输入至语言模型得到词向量;计算该问题语句的词向量与数据库中各语句对应词向量的余弦相似度;根据计算的该余弦相似度对该数据库中各语句对应的词向量进行排序,获取该余弦相似度在预设排位对应的词向量,得到候选词向量;计算该问题语句与数据库中该候选词向量对应各语句之间的杰卡德相似系数;获取与计算的该杰卡德相似系数小于预设值对应的语句,得到候选语句集;将该候选语句集包含的候选语句显示在屏幕的词汇推荐区域。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种问题词汇的推荐方法、装置、计算机设备及存储介质。
背景技术
现在在很多场景中都存在词汇推荐的情况,例如当用户在网购平台输入想要购买的商品类型时,系统会根据用户输入的词汇匹配出相似程度最高的若干个商品名称,以供用户选择,再例如用户通过搜索引擎搜索想要浏览的网页时,系统会根据用户在文本框中输入的词条,匹配出包含有该用户输入的词条中相关程度最高的若干个可供选择的词条。目前的这种词条推荐方法在匹配出用户实际想要输入的完整句子、或匹配出用户实际想要购买的商品时,可以节约用户打字输入的时间,且一般能够通过匹配推荐出的词条,该网站上都存在对应的资源,可以避免用户输入无效词汇进行搜索,提高词条搜索效率及有效性。
随着网上搜索平台的应用场景越来越丰富,发明人意识到现有的搜索框中词汇推荐方法并不能适用所有的场景,例如用户通过智能机器人在询问问题的过程中,经常会出现由于用户的专业词汇量有限而不知道一个问题该怎么去问的情况,如果按照现有的推荐方法,将与用户输入的词汇最相近的相关词汇推荐给用户,可能用户输入的问题是“卫生纸怎么卖”,匹配出的推荐词汇是“纸巾多少钱”,推荐出的词汇跟用户输入的词汇基本上是一个意思,不具有与该用户输入的问题相关的启发性。
当某个具有搜索功能的系统平台新上线时,数据库中存储的用户历史数据是匮乏的,在根据用户输入的词汇进行匹配推荐时,根据现有的推荐方法只能通过数据库存储的原始词汇结合单一算法进行词汇匹配和词汇推荐,在该系统平台冷启动时,无法给用户推荐出与用户输入的问题具有相关性又具有扩展性的搜索推荐信息。
发明内容
本发明实施例提供一种问题词汇的推荐方法、装置、计算机设备及存储介质,以解决现有的搜索词汇的推荐方法针对用户输入的问题词条不具有扩展性导致出现无效词条推荐的技术问题,提高问题词条推荐的有效性。
一种问题词汇的推荐方法,该方法包括:
接收到用户输入的问题语句时,将该问题语句输入至语言模型,得到该问题语句的词向量;
计算该问题语句的词向量与数据库中各语句对应词向量的余弦相似度;
根据计算的该余弦相似度对该数据库中各语句对应的词向量进行排序,获取该余弦相似度在预设排位对应的词向量,得到候选词向量;
计算该用户输入的问题语句与数据库中该候选词向量对应各语句之间的杰卡德相似系数;
获取与计算的该杰卡德相似系数小于预设值对应的语句,得到包含有至少一个候选语句的候选语句集;
将该候选语句集包含的候选语句显示在屏幕的词汇推荐区域。
一种问题词汇的推荐装置,该装置包括:
问题语句接收模块,用于接收到用户输入的问题语句时,将该问题语句输入至语言模型,得到该问题语句的词向量;
相似度计算模块,用于计算该问题语句的词向量与数据库中各语句对应词向量的余弦相似度;
排序模块,用于根据计算的该余弦相似度对该数据库中各语句对应的词向量进行排序,获取该余弦相似度在预设排位对应的词向量,得到候选词向量;
相似系数计算模块,用于计算该用户输入的问题语句与数据库中该候选词向量对应各语句之间的杰卡德相似系数;
候选语句集获取模块,用于获取与计算的该杰卡德相似系数小于预设值对应的语句,得到包含有至少一个候选语句的候选语句集;
显示模块,用于将该候选语句集包含的候选语句显示在屏幕的词汇推荐区域。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述问题词汇的推荐方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述问题词汇的推荐方法的步骤。
本发明提出的问题词汇的推荐方法、装置、计算机设备及存储介质,在接收到用户输入的问题语句时,将该问题语句输入至语言模型,得到该问题语句的词向量,计算该问题语句的词向量与数据库中各语句对应词向量的余弦相似度,根据计算的该余弦相似度对该数据库中各语句对应的词向量进行排序,获取该余弦相似度在预设排位对应的词向量,得到候选词向量,以确定从数据库中得到的候选词向量与用户输入的问题词汇具有强相关性,然后计算该用户输入的问题语句与数据库中该候选词向量对应各语句之间的杰卡德相似系数,获取与计算的该杰卡德相似系数小于预设值对应的语句,得到包含有至少一个候选语句的候选语句集,使得根据该候选词向量选出的候选语句集与用户输入的问题语句不完全相似,最后将该候选语句集包含的候选语句显示在屏幕的词汇推荐区域,以供用户参考和选择。本发明通过从数据库中找出与用户输入的问题语句相关又不完全相似的词汇推荐给用户,以使得推荐的词汇与用户问题相关且具有发散性,给用户提供更多有扩展性的搜索信息。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中问题词汇的推荐方法的一应用环境示意图;
图2是本发明一实施例中问题词汇的推荐方法的一流程图;
图3是本发明另一实施例中问题词汇的推荐方法的一流程图;
图4是本发明又一实施例中问题词汇的推荐方法的一流程图;
图5是本发明一实施例中问题词汇的推荐装置的结构示意图;
图6是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的问题词汇的推荐方法,可应用在如图1的应用环境中,其中,计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一实施例中,如图2所示,提供一种问题词汇的推荐方法,以该方法应用在图1中的计算机设备为例进行说明,包括如下步骤S101至S106。
S101、接收到用户输入的问题语句时,将该问题语句输入至语言模型,得到该问题语句的词向量。
在其中一个实施例中,该语言模型例如bert语言模型。在其他实施例中,也可以通过word2vec语言模型将问题语句转换成相应的词向量。
在其中一个实施例中,在将该问题语句输入至语言模型的步骤之前,该方法还包括对所述问题语句进行预处理,预处理的内容包括但不限于:
删除所述问题语句中的空格和“的”等预设字符或者文字。
词向量(Word embedding),又叫Word嵌入式自然语言处理(NLP,NaturalLanguage Processing)中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向量。
下面以word2vec语言模型为例简述通过语言模型得到词向量的过程:将one-hot向量转换成低维词向量的这一层,因为word2vec语言模型的输入是one-hot。one-hot可看成是1*N(N表示词总数)的矩阵,与这个系数矩阵(N*M,M是word2vec词向量维数)相乘之后就可以得到1*M的向量,这个向量就是这个词对应的词向量了。那么对于那个N*M的矩阵,每一行就对应了每个词语的词向量。接下来就是进入神经网络,然后通过训练不断更新这个矩阵以更新该单词或短语被映射到实数的向量,最终得到该问题语句的词向量。
S102、计算该问题语句的词向量与数据库中各语句对应词向量的余弦相似度。
进一步地,通过以下公式(1)计算所述问题语句的词向量与数据库中语句对应词向量的余弦相似度:
S103、根据计算的该余弦相似度对该数据库中各语句对应的词向量进行排序,获取该余弦相似度在预设排位对应的词向量,得到候选词向量。
在其中一个实施例中,在根据计算的余弦相似度对数据库中各语句对应的词向量进行排序时,排序可以是升序排列,也可以是降序排列。
可以理解的是在本实施例中余弦相似度越高排序越靠前,用户输入的问题语句与数据库中该词向量对应句子的语义相似性越大。
在其中一个实施例中,该预设排位例如前20位。
S104、计算该用户输入的问题语句与数据库中该候选词向量对应各语句之间的杰卡德相似系数。
进一步地,通过以下公式(2)计算所述用户输入的问题语句与所述候选词向量对应语句之间的杰卡德相似系数:
其中,A表示所述问题语句拆分得到的第一词汇集合,B表示所述候选词向量对应语句拆分得到的第二词汇集合。
可以理解的是,杰卡德相似系数计算的是两个集合(例如集合A和集合B)交集的大小与这两个集合并集的大小的比值。例如:
集合A={1,2,3,4};
集合B={3,4,5,6};
则J(A,B)={3,4}/{1,2,3,4,5,6}=1/3。
应用在本实施例中,集合A可以看做是问题语句包含的第一词汇集合,集合B可以看做是候选词向量对应语句包含的第二词汇集合。例如:
集合A={我,是,小明};
集合B={我,是,小红};
则J(A,B)={我,是}/{我,是,小明,小红}=1/2。
图3是本发明另一实施例中问题词汇的推荐方法的一流程图,在其中一个实施例中,如图3所示,该计算该用户输入的问题语句与数据库中该候选词向量对应各语句之间的杰卡德相似系数的步骤包括以下步骤S301至S303。
S301、获取用户输入的问题语句包含的第一词汇集合。
可以理解的是,该第一词汇集合中包含的第一词汇是将该问题语句拆分为一个个词汇所对应的集合。
S302、获取该数据库中各候选词向量对应语句包含的各第二词汇集合。
可以理解的是,该第二词汇集合中包含的第二词汇是将候选词向量对应的语句拆分成的词汇所对应的集合。
S303、计算该第一词汇集合与各该第二词汇集合之间的杰卡德相似系数。
在该实施例中,可以先计算该第一词汇集合与该第二词汇集合的交集的个数,在计算出该第一词汇集合与该第二词汇集合的并集的个数,然后将该交集的个数除以该并集的个数得到的结果作为该第一词汇集合与该第二词汇集合之间的杰卡德相似系数。
在其中一个实施例中,当该问题语句包含的第一词汇集合为空,且该候选词向量对应语句包含的第二词汇集合也为空时,该方法还包括:
将该问题语句与该候选词向量对应语句之间的杰卡德相似系数确定为1。
本实施例通过当该问题语句包含的第一词汇集合为空,且该候选词向量对应语句包含的第二词汇集合也为空时,将该问题语句与该候选词向量对应语句之间的杰卡德相似系数直接确定为1,使得当第一词汇集合与第二词汇集的并集为空时,可以避免分母为0导致程序报错。
S105、获取与计算的该杰卡德相似系数小于预设值对应的语句,得到包含有至少一个候选语句的候选语句集。
可以理解的是,该候选语句可以是句子,也可以是词汇。
在其中一个实施例中,该预设值例如为0.6。进一步地,还可以优选设置该杰卡德相似系数的下限,该下限例如为0.1,则表示获取与计算的所述杰卡德相似系数在(0.1,0.6)这个区间内对应的语句。
可以理解的是,该候选语句集包括了所有卡德相似系数在(0.1,0.6)这个区间内对应的语句。
在其中一个实施例中,在该得到包含有至少一个候选语句的候选语句集的步骤之后,该方法还包括:
获取该候选语句集中与该问题语句的杰卡德相似系数相同的多个候选语句;
将获取的该多个候选语句的其中一个保留在该候选语句集中。
本实施例的目的在于对候选语句进行去重,根据本实施例的一个应用场景例如:当计算出三个不同的候选语句集中与所述问题语句的杰卡德相似系数均为0.5时,则随机删除这三个不同的候选语句种的其中两个,仅将其中一个候选语句保留在该选语句集中。
本实施例通过对候选语句进行去重,使得最终推荐给用户的候选语句集中不会出现重复的词汇推荐,提高用户体验。
作为可选地,在该得到包含有至少一个候选语句的候选语句集的步骤之后,该方法还包括:
获取该候选语句集中各该候选语句与该问题语句的杰卡德相似系数;
计算该候选语句集中不同的两个候选语句对应的杰卡德相似系数之间的差值;
获取该差值小于预设差值的两个候选语句;
将该两个候选语句中与该问题语句的杰卡德相似系数较小的候选语句从该候选语句集中移除。
在其中一个实施例中,该预设差值例如为0.01。
根据本实施例的一个使用场景例如:若计算出候选语句M与所述问题语句的杰卡德相似系数为0.453,计算出候选语句N与所述问题语句的杰卡德相似系数为0.452,则这两个候选语句M和N对应的杰卡德相似系数之间的差值为0.001,由于该差值小于预设差值0.1,表示这两个候选语句过于相似和相近,不同时具有给与用户多角度询问问题的提示,则将杰卡德相似系数较小的候选语句N从所述候选语句集中移除。
S106、将该候选语句集包含的候选语句显示在屏幕的词汇推荐区域。
在其中一个实施例中,该步骤进一步包括:
将所述候选语句集包含的候选语句按照所述候选语句对应杰卡德相似系数由高到低的顺序依次显示在屏幕的词汇推荐区域。
可以理解的是,该词汇推荐区域位于文本输入框的下方,当用户通过文本框输入问题语句时,显示该词汇推荐区域及该词汇推荐区域中的候选语句。
作为可选地,在该步骤S101中得到该问题语句的词向量的步骤之后,该方法还包括:
判断该数据库中是否存储有该用户输入的问题语句;
若该数据库中没有存储该用户输入的问题语句,将该问题语句及与该问题语句相对应的词向量存储在该数据库中。
本实施例通过在数据库中没有存储用户输入的该问题语句时,将该问题语句及与该问题语句相对应的词向量存储在所述数据库中,以达到通过用户数据对数据库进行更新和迭代的目的,在通过更新的数据库再次对该用户输入的问题进行匹配推荐时,能够进一步提高对用户输入的问题词条的扩展性。
根据本实施例的一个使用场景例如,当用户输入的问题是“卫生纸怎么卖”时,根据现有的常规推荐算法匹配出的推荐词汇可能是“纸巾多少钱”,但是这种句子的推荐是没有参考性的,无法给用户提供多一点询问对应问题的角度的可选性,通过本方案计算出的与该“卫生纸怎么卖”相对应的推荐问题可能是“卷纸多少钱”、“抽纸多少钱”等,能够给与用户问同一个问题更多的询问角度的提示,以便于用户能够搜索出其实际想问的问题的答案。
根据本实施例的另一个使用场景例如,当用户输入的问题是“平安福”时,根据现有的常规推荐算法匹配出的推荐词汇可能是“平安平安福”或者“平安福是什么”,但是这种句子的推荐是没有参考性的,无法给用户提供多一点询问对应问题的角度的可选性,通过本方案计算出的与该“平安福”相对应的推荐问题可能是“平安少儿福”、“平安福上福”、“平安万能福”等,能够给与用户问同一个问题更多的询问角度的提示,以便于用户能够搜索出其实际想问的问题的答案。
本实施例提出的问题词汇的推荐方法在接收到用户输入的问题语句时,将该问题语句输入至语言模型,得到该问题语句的词向量,计算该问题语句的词向量与数据库中各语句对应词向量的余弦相似度,根据计算的该余弦相似度对该数据库中各语句对应的词向量进行排序,获取该余弦相似度在预设排位对应的词向量,得到候选词向量,以确定从数据库中得到的候选词向量与用户输入的问题词汇具有强相关性,然后计算该用户输入的问题语句与数据库中该候选词向量对应各语句之间的杰卡德相似系数,获取与计算的该杰卡德相似系数小于预设值对应的语句,得到包含有至少一个候选语句的候选语句集,使得根据该候选词向量选出的候选语句集与用户输入的问题语句不完全相似,最后将该候选语句集包含的候选语句显示在屏幕的词汇推荐区域,以供用户参考和选择。本实施例通过从数据库中找出与用户输入的问题语句相关又不完全相似的词汇推荐给用户,以使得推荐的词汇与用户问题相关且具有发散性,给用户提供更多有扩展性的搜索信息。
图4是本发明又一实施例中问题词汇的推荐方法的一流程图,考虑到表达同一意思的句子,数据库中存储的长句相对于短句而言与用户输入的问题语句会具有更低的杰卡德相似系数,为了提高计算结果的准确性,根据本发明又一实施例中问题词汇的推荐方法如图4所示,该方法在包括上述步骤S101~S103、S105和S106的基础上,该步骤S104进一步包括以下步骤S401和S402。
S401、判断该数据库中候选词向量对应语句的句长是否小于预设长度。
在其中一个实施例中,所述预设长度例如为6。当所述预设长度为6时,表示所述数据库中候选词向量对应语句的字数小于六个字时,判断所述数据库中候选词向量对应语句的句长小于预设长度。
S402、若该数据库中候选词向量对应语句的句长小于预设长度,则将计算得到的对应语句的原始杰卡德相似系数与预设系数的乘积作为该语句的杰卡德相似系数,其中,该预设系数大于0且小于1。
在其中一个实施例中,该预设系数的取值例如为0.8。
本实施例通过对表达同一意思的句子配置0至1之间的预设系数,可以避免表达同一意思的句子仅由于句长不同计算出的杰卡德相似系数差别过大的问题,从而进一步提高根据本申请挑选出的推荐词汇具有的扩展性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种问题词汇的推荐装置,该问题词汇的推荐装置与上述实施例中问题词汇的推荐方法一一对应。如图5所示,该问题词汇的推荐装置100包括问题语句接收模块11、相似度计算模块12、排序模块13、相似系数计算模块14、候选语句集获取模块15和显示模块16。各功能模块详细说明如下:
问题语句接收模块11,用于接收到用户输入的问题语句时,将该问题语句输入至语言模型,得到该问题语句的词向量。
相似度计算模块12,用于计算该问题语句的词向量与数据库中各语句对应词向量的余弦相似度。
进一步地,该相似度计算模块12通过以下公式(1)计算所述问题语句的词向量与数据库中语句对应词向量的余弦相似度:
排序模块13,用于根据计算的该余弦相似度对该数据库中各语句对应的词向量进行排序,获取该余弦相似度在预设排位对应的词向量,得到候选词向量。
相似系数计算模块14,用于计算该用户输入的问题语句与数据库中该候选词向量对应各语句之间的杰卡德相似系数。
进一步地,相似系数计算模块14通过以下公式(2)计算所述用户输入的问题语句与所述候选词向量对应语句之间的杰卡德相似系数:
其中,A表示所述问题语句拆分得到的第一词汇集合,B表示所述候选词向量对应语句拆分得到的第二词汇集合。
可以理解的是,集合A可以看做是问题语句包含的第一词汇集合,集合B可以看做是候选词向量对应语句包含的第二词汇集合,杰卡德相似系数计算的是两个集合(例如集合A和集合B)交集的大小与这两个集合并集的大小的比值。例如:
集合A={我,是,小明};
集合B={我,是,小红};
则J(A,B)={我,是}/{我,是,小明,小红}=1/2。
候选语句集获取模块15,用于获取与计算的该杰卡德相似系数小于预设值对应的语句,得到包含有至少一个候选语句的候选语句集。
显示模块16,用于将该候选语句集包含的候选语句显示在屏幕的词汇推荐区域。
在其中一个实施例中,相似系数计算模块14具体包括:
第一词汇集合获取单元,用于获取用户输入的问题语句包含的第一词汇集合;
第二词汇集合获取单元,用于获取该数据库中各候选词向量对应语句包含的各第二词汇集合;
第一计算单元,用于计算该第一词汇集合与各该第二词汇集合之间的杰卡德相似系数。
在该实施例中,该第一计算单元可以先计算该第一词汇集合与该第二词汇集合的交集的个数,在计算出该第一词汇集合与该第二词汇集合的并集的个数,然后将该交集的个数除以该并集的个数得到的结果作为该第一词汇集合与该第二词汇集合之间的杰卡德相似系数。
进一步地,当该问题语句包含的第一词汇集合为空,且该候选词向量对应语句包含的第二词汇集合也为空时,该相似系数计算模块14具体用于将该问题语句与该候选词向量对应语句之间的杰卡德相似系数确定为1。
本实施例通过当该问题语句包含的第一词汇集合为空,且该候选词向量对应语句包含的第二词汇集合也为空时,通过相似系数计算模块14将该问题语句与该候选词向量对应语句之间的杰卡德相似系数直接确定为1,使得当第一词汇集合与第二词汇集的并集为空时,可以避免分母为0导致程序报错。
在其中一个实施例中,该相似系数计算模块14还包括判断单元和第二计算单元。
判断单元,用于判断该数据库中候选词向量对应语句的句长是否小于预设长度。
在其中一个实施例中,所述预设长度例如为6。当所述预设长度为6时,表示所述数据库中候选词向量对应语句的字数小于六个字时,判断所述数据库中候选词向量对应语句的句长小于预设长度。
第二计算单元,用于若该数据库中候选词向量对应语句的句长小于预设长度,则将计算得到的对应语句的原始杰卡德相似系数与预设系数的乘积作为该语句的杰卡德相似系数,其中,该预设系数大于0且小于1。
在其中一个实施例中,该预设系数的取值例如为0.8。
本实施例通过对表达同一意思的句子配置0至1之间的预设系数,可以避免表达同一意思的句子仅由于句长不同计算出的杰卡德相似系数差别过大的问题,从而进一步提高根据本申请挑选出的推荐词汇具有的扩展性。
在其中一个实施例中,该问题词汇的推荐装置100还包括:
候选语句获取模块,用于获取该候选语句集中与该问题语句的杰卡德相似系数相同的多个候选语句;
保留模块,用于将获取的该多个候选语句的其中一个保留在该候选语句集中。
在其中一个实施例中,该问题词汇的推荐装置100还包括:
系数获取模块,用于获取该候选语句集中各该候选语句与该问题语句的杰卡德相似系数;
差值计算模块,用于计算该候选语句集中不同的两个候选语句对应的杰卡德相似系数之间的差值;
候选语句获取模块,用于获取该差值小于预设差值的两个候选语句;
移除模块,用于将该两个候选语句中与该问题语句的杰卡德相似系数较小的候选语句从该候选语句集中移除。
在其中一个实施例中,该预设差值例如为0.01。
根据本实施例的一个使用场景例如:若计算出候选语句M与所述问题语句的杰卡德相似系数为0.453,计算出候选语句N与所述问题语句的杰卡德相似系数为0.452,则这两个候选语句M和N对应的杰卡德相似系数之间的差值为0.001,由于该差值小于预设差值0.1,表示这两个候选语句过于相似和相近,不同时具有给与用户多角度询问问题的提示,则将杰卡德相似系数较小的候选语句N从所述候选语句集中移除。
在其中一个实施例中,该问题词汇的推荐装置100还包括:
判断模块,用于判断该数据库中是否存储有该用户输入的问题语句;
存储模块,用于若该数据库中没有存储该用户输入的问题语句,将该问题语句及与该问题语句相对应的词向量存储在该数据库中。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
本实施例提出的问题词汇的推荐装置通过计算问题语句的词向量与数据库中各语句对应词向量的余弦相似度,在余弦相似度最高的N个对应词汇中,计算搜索词汇与这N个词汇的杰卡德Jaccard相似系数,将杰卡德Jaccard相似系数小于预设值(例如0.6)对应的词汇推荐给用户,本申请通过找出相关又不完全相似的词汇,以使得推荐的词汇与用户问题相关且具有发散性,给用户提供更多有扩展性的搜索信息。
关于问题词汇的推荐装置的具体限定可以参见上文中对于问题词汇的推荐方法的限定,在此不再赘述。上述问题词汇的推荐装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端设备,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种问题词汇的推荐方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中问题词汇的推荐方法的步骤,例如图2所示的步骤101至步骤106及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中问题词汇的推荐装置的各模块/单元的功能,例如图5所示模块11至模块16的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中问题词汇的推荐方法的步骤,例如图2所示的步骤101至步骤106及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中问题词汇的推荐装置的各模块/单元的功能,例如图5所示模块11至模块16的功能。为避免重复,这里不再赘述。
本实施例提出的问题词汇的推荐方法、装置、计算机设备及存储介质,在接收到用户输入的问题语句时,将该问题语句输入至语言模型,得到该问题语句的词向量,计算该问题语句的词向量与数据库中各语句对应词向量的余弦相似度,根据计算的该余弦相似度对该数据库中各语句对应的词向量进行排序,获取该余弦相似度在预设排位对应的词向量,得到候选词向量,以确定从数据库中得到的候选词向量与用户输入的问题词汇具有强相关性,然后计算该用户输入的问题语句与数据库中该候选词向量对应各语句之间的杰卡德相似系数,获取与计算的该杰卡德相似系数小于预设值对应的语句,得到包含有至少一个候选语句的候选语句集,使得根据该候选词向量选出的候选语句集与用户输入的问题语句不完全相似,最后将该候选语句集包含的候选语句显示在屏幕的词汇推荐区域,以供用户参考和选择。本实施例通过从数据库中找出与用户输入的问题语句相关又不完全相似的词汇推荐给用户,以使得推荐的词汇与用户问题相关且具有发散性,给用户提供更多有扩展性的搜索信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种问题词汇的推荐方法,其特征在于,所述方法包括:
接收到用户输入的问题语句时,将所述问题语句输入至语言模型,得到所述问题语句的词向量;
计算所述问题语句的词向量与数据库中各语句对应词向量的余弦相似度;
根据计算的所述余弦相似度对所述数据库中各语句对应的词向量进行排序,获取所述余弦相似度在预设排位对应的词向量,得到候选词向量;
计算所述用户输入的问题语句与数据库中所述候选词向量对应各语句之间的杰卡德相似系数;
获取与计算的所述杰卡德相似系数小于预设值对应的语句,得到包含有至少一个候选语句的候选语句集;
将所述候选语句集包含的候选语句显示在屏幕的词汇推荐区域。
2.根据权利要求1所述的问题词汇的推荐方法,其特征在于,所述计算所述用户输入的问题语句与数据库中所述候选词向量对应各语句之间的杰卡德相似系数的步骤包括:
获取用户输入的问题语句包含的第一词汇集合;
获取所述数据库中各候选词向量对应语句包含的各第二词汇集合;
计算所述第一词汇集合与各所述第二词汇集合之间的杰卡德相似系数。
3.根据权利要求2所述的问题词汇的推荐方法,其特征在于,当所述问题语句包含的第一词汇集合为空,且所述候选词向量对应语句包含的第二词汇集合也为空时,所述方法还包括:
将所述问题语句与所述候选词向量对应语句之间的杰卡德相似系数确定为1。
4.根据权利要求1所述的问题词汇的推荐方法,其特征在于,所述计算所述用户输入的问题语句与数据库中所述候选词向量对应各语句之间的杰卡德相似系数的步骤包括:
判断所述数据库中候选词向量对应语句的句长是否小于预设长度;
若所述数据库中候选词向量对应语句的句长小于预设长度,则将计算得到的对应语句的原始杰卡德相似系数与预设系数的乘积作为所述语句的杰卡德相似系数,其中,所述预设系数大于0且小于1。
5.根据权利要求1所述的问题词汇的推荐方法,其特征在于,在所述得到包含有至少一个候选语句的候选语句集的步骤之后,所述方法还包括:
获取所述候选语句集中与所述问题语句的杰卡德相似系数相同的多个候选语句;
将获取的所述多个候选语句的其中一个保留在所述候选语句集中。
6.根据权利要求1所述的问题词汇的推荐方法,其特征在于,在所述得到包含有至少一个候选语句的候选语句集的步骤之后,所述方法还包括:
获取所述候选语句集中各所述候选语句与所述问题语句的杰卡德相似系数;
计算所述候选语句集中不同的两个候选语句对应的杰卡德相似系数之间的差值;
获取所述差值小于预设差值的两个候选语句;
将所述两个候选语句中与所述问题语句的杰卡德相似系数较小的候选语句从所述候选语句集中移除。
7.根据权利要求1至6任一项所述的问题词汇的推荐方法,其特征在于,在所述得到所述问题语句的词向量的步骤之后,所述方法还包括:
判断所述数据库中是否存储有所述用户输入的问题语句;
若所述数据库中没有存储所述用户输入的问题语句,将所述问题语句及与所述问题语句相对应的词向量存储在所述数据库中。
8.一种问题词汇的推荐装置,其特征在于,所述装置包括:
问题语句接收模块,用于接收到用户输入的问题语句时,将所述问题语句输入至语言模型,得到所述问题语句的词向量;
相似度计算模块,用于计算所述问题语句的词向量与数据库中各语句对应词向量的余弦相似度;
排序模块,用于根据计算的所述余弦相似度对所述数据库中各语句对应的词向量进行排序,获取所述余弦相似度在预设排位对应的词向量,得到候选词向量;
相似系数计算模块,用于计算所述用户输入的问题语句与数据库中所述候选词向量对应各语句之间的杰卡德相似系数;
候选语句集获取模块,用于获取与计算的所述杰卡德相似系数小于预设值对应的语句,得到包含有至少一个候选语句的候选语句集;
显示模块,用于将所述候选语句集包含的候选语句显示在屏幕的词汇推荐区域。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述问题词汇的推荐方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述问题词汇的推荐方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110069592.2A CN112860846A (zh) | 2021-01-19 | 2021-01-19 | 问题词汇的推荐方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110069592.2A CN112860846A (zh) | 2021-01-19 | 2021-01-19 | 问题词汇的推荐方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112860846A true CN112860846A (zh) | 2021-05-28 |
Family
ID=76007296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110069592.2A Pending CN112860846A (zh) | 2021-01-19 | 2021-01-19 | 问题词汇的推荐方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860846A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113705221A (zh) * | 2021-08-27 | 2021-11-26 | 北京百度网讯科技有限公司 | 一种单词推送方法、装置、电子设备及存储介质 |
CN117313713A (zh) * | 2023-10-18 | 2023-12-29 | 北京语源科技有限公司 | 一种自回归大语言模型的推理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063004A (zh) * | 2018-07-09 | 2018-12-21 | 深圳追科技有限公司 | 一种自动生成faq相似问句的方法和装置 |
CN110348539A (zh) * | 2019-07-19 | 2019-10-18 | 知者信息技术服务成都有限公司 | 短文本相关性判别方法 |
CN111695349A (zh) * | 2019-02-28 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 文本匹配方法和文本匹配系统 |
CN111708862A (zh) * | 2020-06-02 | 2020-09-25 | 上海硬通网络科技有限公司 | 文本匹配方法、装置及电子设备 |
-
2021
- 2021-01-19 CN CN202110069592.2A patent/CN112860846A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063004A (zh) * | 2018-07-09 | 2018-12-21 | 深圳追科技有限公司 | 一种自动生成faq相似问句的方法和装置 |
CN111695349A (zh) * | 2019-02-28 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 文本匹配方法和文本匹配系统 |
CN110348539A (zh) * | 2019-07-19 | 2019-10-18 | 知者信息技术服务成都有限公司 | 短文本相关性判别方法 |
CN111708862A (zh) * | 2020-06-02 | 2020-09-25 | 上海硬通网络科技有限公司 | 文本匹配方法、装置及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113705221A (zh) * | 2021-08-27 | 2021-11-26 | 北京百度网讯科技有限公司 | 一种单词推送方法、装置、电子设备及存储介质 |
CN113705221B (zh) * | 2021-08-27 | 2023-11-10 | 北京百度网讯科技有限公司 | 一种单词推送方法、装置、电子设备及存储介质 |
CN117313713A (zh) * | 2023-10-18 | 2023-12-29 | 北京语源科技有限公司 | 一种自回归大语言模型的推理方法 |
CN117313713B (zh) * | 2023-10-18 | 2024-04-30 | 北京语源科技有限公司 | 一种自回归大语言模型的推理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647205B (zh) | 细粒度情感分析模型构建方法、设备及可读存储介质 | |
CN109614618B (zh) | 基于多语义的集外词处理方法及装置 | |
CN111767737A (zh) | 文本意图相似度确定方法、装置、电子设备和存储介质 | |
CN109522397B (zh) | 信息处理方法及装置 | |
CN112860846A (zh) | 问题词汇的推荐方法、装置、计算机设备及存储介质 | |
CN109635294B (zh) | 基于单语义的未登录词处理方法、智能问答方法及装置 | |
CN109344246B (zh) | 一种电子问卷生成方法、计算机可读存储介质及终端设备 | |
CN113641767B (zh) | 实体关系抽取方法、装置、设备及存储介质 | |
CN114818729A (zh) | 一种训练语义识别模型、查找语句的方法、装置及介质 | |
CN113204953A (zh) | 基于语义识别的文本匹配方法、设备及设备可读存储介质 | |
CN113988057A (zh) | 基于概念抽取的标题生成方法、装置、设备及介质 | |
CN105550217B (zh) | 场景音乐搜索方法及场景音乐搜索装置 | |
CN113342958A (zh) | 问答匹配方法、文本匹配模型的训练方法和相关设备 | |
CN110516164B (zh) | 一种信息推荐方法、装置、设备及存储介质 | |
US7831602B2 (en) | Method for comparing search profiles | |
CN108021544B (zh) | 对实体词的语义关系进行分类的方法、装置和电子设备 | |
CN116186326A (zh) | 视频推荐方法、模型训练方法、电子设备及存储介质 | |
CN108763221B (zh) | 一种属性名表征方法及装置 | |
CN111737607A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN111062449A (zh) | 预测模型的训练方法、兴趣度预测方法、装置和存储介质 | |
CN116910201A (zh) | 一种对话数据生成方法及其相关设备 | |
CN110717008A (zh) | 基于语意识别的搜索结果排序方法及相关装置 | |
CN112989022B (zh) | 虚拟文本智能选取方法、装置以及计算机设备 | |
CN107562788B (zh) | 交互方法、装置及计算机可读存储介质 | |
CN115391490A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210528 |
|
RJ01 | Rejection of invention patent application after publication |