CN108319978A - 一种语义相似度计算方法及装置 - Google Patents

一种语义相似度计算方法及装置 Download PDF

Info

Publication number
CN108319978A
CN108319978A CN201810102217.1A CN201810102217A CN108319978A CN 108319978 A CN108319978 A CN 108319978A CN 201810102217 A CN201810102217 A CN 201810102217A CN 108319978 A CN108319978 A CN 108319978A
Authority
CN
China
Prior art keywords
phonetic
sentence
similarity
phonetic alphabet
alphabet
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
Application number
CN201810102217.1A
Other languages
English (en)
Other versions
CN108319978B (zh
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.)
BEIJING INFOQUICK SINOVOICE SPEECH TECHNOLOGY CORP
Beijing Sinovoice Technology Co Ltd
Original Assignee
BEIJING INFOQUICK SINOVOICE SPEECH TECHNOLOGY CORP
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 BEIJING INFOQUICK SINOVOICE SPEECH TECHNOLOGY CORP filed Critical BEIJING INFOQUICK SINOVOICE SPEECH TECHNOLOGY CORP
Priority to CN201810102217.1A priority Critical patent/CN108319978B/zh
Publication of CN108319978A publication Critical patent/CN108319978A/zh
Application granted granted Critical
Publication of CN108319978B publication Critical patent/CN108319978B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种语义相似度计算方法及装置。通过本发明实施例的方法,即使在语音识别时出现同音字错误,结合汉字相似度和拼音相似度一起计算第一语句与第二语句之间的语义相似度,可以降低由于语音识别错误而出现的语义相似度的误差,从而提高了计算语义相似度的精准度,进而提高最终向用户推送的答案能够解决用户的问题的可能性。

Description

一种语义相似度计算方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种语义相似度计算方法及装置。
背景技术
随着技术的飞速发展,智能问答系统得到了广泛应用。在智能问答系统中,预先存储有多个备选问题以及用于回答每一个备选问题的答案。用户可以通过语音的形式向智能问答系统提问,例如向智能问答系统提交一段用于描述问题的语音,当智能问答系统接收到该语音之后,将该语音通过语音识别技术转化为语句,在本地预先存储的多个备选问题中选择与该语句的语义最接近的一个备选问题,并获取用户回答该备选问题的答案,将该答案推送给用户。
其中,智能问答系统在本地预先存储的多个备选问题中选择与该语句的语义最接近的一个备选问题时,需要计算该语句分别与每一个备选问题之间的语义相似度,将与该语句之间的语义相似度最高的备选问题确定为与该语句的语义最接近的备选问题。
在计算该语句与某一备选问题之间的语义相似度时,通常需要计算该语句与该备选问题之间的汉字相似度,例如将该语句拆分为多个词语,以及将该备选问题拆分为多个词语,计算将该语句拆分得到的多个词语与将该备选问题拆分为多个词语之间的余弦距离,并将该余弦距离确定为该语句与该备选问题之间的汉字相似度,以及将该汉字相似度作为该语句与该备选问题之间的语义相似度。
其中,由于语音识别的过程中往往会出现同音字错误,例如,将“演示”识别为“掩饰”,在出现这种错误时,则可能会导致最终确定出的备选问题所表达的语义并不是用户提交的语音所表达的语义,从而导致最终推送给用户的答案也可能无法解决用户的问题。
发明内容
为解决上述技术问题,本发明实施例示出了一种语义相似度计算方法及装置。
第一方面,本发明实施例示出了一种语义相似度计算方法,所述方法包括:
获取第一语句中的每一个汉字的第一拼音;
获取第二语句中的每一个汉字的第二拼音;
统计所述第一拼音和所述第二拼音中出现的拼音字母;
分别统计每一个所述拼音字母在所述第一拼音中出现的次数;
分别统计每一个所述拼音字母在所述第二拼音中出现的次数;
根据每一个所述拼音字母在所述第一拼音中出现的次数和每一个所述拼音字母在所述第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;
计算所述第一语句与所述第二语句之间的汉字相似度;
根据所述拼音相似度和所述汉字相似度计算所述第一语句与所述第二语句之间的语义相似度。
在一个可选的实现方式中,所述根据每一个所述拼音字母在所述第一拼音中出现的次数和每一个所述拼音字母在所述第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度,包括:
对于每一个拼音字母,计算在所述第一拼音中出现所述拼音字母的次数与在所述第二拼音中出现所述拼音字母的次数的乘积,计算得到的所有乘积之和;
计算每一个所述拼音字母分别在所述第一拼音中出现的次数的第一平方和;
计算每一个所述拼音字母分别在所述第二拼音中出现的次数的第二平方和;
根据得到的所有乘积之和、所述第一平方和与所述第二平方和计算所述第一语句与所述第二语句之间的拼音相似度。
在一个可选的实现方式中,所述根据得到的所有乘积之和、所述第一平方和与所述第二平方和计算所述第一语句与所述第二语句之间的拼音相似度,包括:
根据所有所述拼音字母对应的乘积之和、所述第一平方和与所述第二平方,按照如下公式计算所述第一语句与所述第二语句之间的拼音相似度:
其中,在上述公式中,θ为所述拼音相似度,C为所有所述拼音字母对应的乘积之和,A为所述第一平方和以及B为所述第二平方和。
在一个可选的实现方式中,所述根据所述拼音相似度和所述汉字相似度计算所述第一语句与所述第二语句之间的语义相似度,包括:
根据所述拼音相似度和所述汉字相似度,按照如下公式计算所述第一语句与所述第二语句之间的语义相似度:
F=α*P+(1-α)*N;
其中,在上述公式中,F为所述语义相似度,P为所述拼音相似度,N为所述汉字相似度以及α为预设系数。
第二方面,本发明实施例示出了一种语义相似度计算装置,所述装置包括:
第一获取模块,用于获取第一语句中的每一个汉字的第一拼音;
第二获取模块,用于获取第二语句中的每一个汉字的第二拼音;
第一统计模块,用于统计所述第一拼音和所述第二拼音中出现的拼音字母;
第二统计模块,用于分别统计每一个所述拼音字母在所述第一拼音中出现的次数;
第三统计模块,用于分别统计每一个所述拼音字母在所述第二拼音中出现的次数;
第一计算模块,用于根据每一个所述拼音字母在所述第一拼音中出现的次数和每一个所述拼音字母在所述第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;
第二计算模块,用于计算所述第一语句与所述第二语句之间的汉字相似度;
第三计算模块,用于根据所述拼音相似度和所述汉字相似度计算所述第一语句与所述第二语句之间的语义相似度。
在一个可选的实现方式中,所述第一计算模块包括:
第一计算单元,用于对于每一个拼音字母,计算在所述第一拼音中出现所述拼音字母的次数与在所述第二拼音中出现所述拼音字母的次数的乘积,计算得到的所有乘积之和;
第二计算单元,用于计算每一个所述拼音字母分别在所述第一拼音中出现的次数的第一平方和;
第三计算单元,用于计算每一个所述拼音字母分别在所述第二拼音中出现的次数的第二平方和;
第四计算单元,用于根据得到的所有乘积之和、所述第一平方和与所述第二平方和计算所述第一语句与所述第二语句之间的拼音相似度。
在一个可选的实现方式中,所述第四计算单元具体用于:
根据所有所述拼音字母对应的乘积之和、所述第一平方和与所述第二平方,按照如下公式计算所述第一语句与所述第二语句之间的拼音相似度:
其中,在上述公式中,θ为所述拼音相似度,C为所有所述拼音字母对应的乘积之和,A为所述第一平方和以及B为所述第二平方和。
在一个可选的实现方式中,所述第三计算模块具体用于:
根据所述拼音相似度和所述汉字相似度,按照如下公式计算所述第一语句与所述第二语句之间的语义相似度:
F=α*P+(1-α)*N;
其中,在上述公式中,F为所述语义相似度,P为所述拼音相似度,N为所述汉字相似度以及α为预设系数。
第三方面,本发明实施例示出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的语义相似度计算方法的步骤。
第四方面,本发明实施例示出了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的语义相似度计算方法的步骤。
与现有技术相比,本发明实施例包括以下优点:
在本发明实施例中,获取第一语句中的每一个汉字的第一拼音;获取第二语句中的每一个汉字的第二拼音;统计在第一拼音和第二拼音中出现的所有拼音字母;分别统计每一个拼音字母在第一拼音中出现的次数;分别统计每一个拼音字母在第二拼音中出现的次数;根据每一个拼音字母在第一拼音中出现的次数和每一个拼音字母在第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;计算第一语句与第二语句之间的汉字相似度;根据拼音相似度和汉字相似度计算第一语句与第二语句之间的语义相似度。
通过本发明实施例的方法,即使在语音识别时出现同音字错误,结合汉字相似度和拼音相似度一起计算第一语句与第二语句之间的语义相似度,可以降低由于语音识别错误而出现的语义相似度的误差,从而提高了计算语义相似度的精准度,进而提高最终向用户推送的答案能够解决用户的问题的可能性。
附图说明
图1是本发明的一种语义相似度计算方法实施例的步骤流程图;
图2是本发明的一种语义相似度计算装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种语义相似度计算方法实施例的步骤流程图,具体可以包括如下步骤:
在步骤S101中,获取第一语句中的每一个汉字的第一拼音;
例如,假设第一语句为“我来演示一下这种算法”;则获取“我”的拼音“wo”,获取“来”的拼音“lai”,获取“演”的拼音“yan”,获取“示”的拼音“shi”,获取“一”的拼音“yi”,获取“下”的拼音“xia”,获取“这”的拼音“zhe”,获取“种”的拼音“zhong”,获取“算”的拼音“suan”以及获取“法”的拼音“fa”。
在步骤S102中,获取第二语句中的每一个汉字的第二拼音;
例如,假设第二语句为“我来掩饰一下这个算法”;则获取“我”的拼音“wo”,获取“来”的拼音“lai”,获取“掩”的拼音“yan”,获取“饰”的拼音“shi”,获取“一”的拼音“yi”,获取“下”的拼音“xia”,获取“这”的拼音“zhe”,获取“个”的拼音“ge”,获取“算”的拼音“suan”以及获取“法”的拼音“fa”。
在步骤S103中,统计在第一拼音和第二拼音中出现的所有拼音字母;
例如,在第一语句“我来演示一下这种算法”中的每一个汉字的第一拼音中出现的拼音字母包括:w、o、l、ai、y、an、sh、i、y、x、ia、zh、e、zh、ong、s、u、an、f以及a。
在第二语句“我来掩饰一下这个算法”中的每一个汉字的第一拼音中出现的拼音字母包括:w、o、l、ai、y、an、sh、i、y、x、ia、zh、e、g、e、s、u、an、f以及a。
如此,在第一拼音和第二拼音中出现的所有拼音字母包括w、o、l、ai、y、an、sh、i、y、x、ia、zh、g、e、ong、s、u、an、f以及a。
在步骤S104中,分别统计每一个拼音字母在第一拼音中出现的次数;
例如,统计拼音字母“w”在第一拼音中出现的次数为1,统计拼音字母“o”在第一拼音中出现的次数为1,统计拼音字母“l”在第一拼音中出现的次数为1,统计拼音字母“ai”在第一拼音中出现的次数为1,统计拼音字母“y”在第一拼音中出现的次数为2,统计拼音字母“an”在第一拼音中出现的次数为1,统计拼音字母“sh”在第一拼音中出现的次数为1,统计拼音字母“i”在第一拼音中出现的次数为2,统计拼音字母“x”在第一拼音中出现的次数为1,统计拼音字母“ia”在第一拼音中出现的次数为1,统计拼音字母“zh”在第一拼音中出现的次数为1,统计拼音字母“g”在第一拼音中出现的次数为0,统计拼音字母“e”在第一拼音中出现的次数为1,统计拼音字母“ong”在第一拼音中出现的次数为1,统计拼音字母“s”在第一拼音中出现的次数为1,统计拼音字母“u”在第一拼音中出现的次数为1,统计拼音字母“an”在第一拼音中出现的次数为1,统计拼音字母“f”在第一拼音中出现的次数为1,统计拼音字母“a”在第一拼音中出现的次数为1。
在步骤S105中,分别统计每一个拼音字母在第二拼音中出现的次数;
例如,统计拼音字母“w”在第二拼音中出现的次数为1,统计拼音字母“o”在第二拼音中出现的次数为1,统计拼音字母“l”在第二拼音中出现的次数为1,统计拼音字母“ai”在第二拼音中出现的次数为1,统计拼音字母“y”在第二拼音中出现的次数为2,统计拼音字母“an”在第二拼音中出现的次数为1,统计拼音字母“sh”在第二拼音中出现的次数为1,统计拼音字母“i”在第二拼音中出现的次数为2,统计拼音字母“x”在第二拼音中出现的次数为1,统计拼音字母“ia”在第二拼音中出现的次数为1,统计拼音字母“zh”在第二拼音中出现的次数为1,统计拼音字母“g”在第二拼音中出现的次数为1,统计拼音字母“e”在第二拼音中出现的次数为2,统计拼音字母“ong”在第二拼音中出现的次数为0,统计拼音字母“s”在第二拼音中出现的次数为1,统计拼音字母“u”在第二拼音中出现的次数为1,统计拼音字母“an”在第二拼音中出现的次数为1,统计拼音字母“f”在第二拼音中出现的次数为1,统计拼音字母“a”在第二拼音中出现的次数为1。
在步骤S106中,根据每一个拼音字母在第一拼音中出现的次数和每一个拼音字母在第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;
本步骤可以通过如下流程实现,包括:
11)、对于每一个拼音字母,计算在第一拼音中出现该拼音字母的次数与在第二拼音中出现该拼音字母的次数的乘积,再计算得到的所有乘积之和;
例如,例如,计算在第一拼音中出现拼音字母“w”的次数1与在第二拼音中出现拼音字母“w”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“o”的次数1与在第二拼音中出现拼音字母“o”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“l”的次数1与在第二拼音中出现拼音字母“l”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“ai”的次数1与在第二拼音中出现拼音字母“ai”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“y”的次数2与在第二拼音中出现拼音字母“y”的次数2的乘积为4,计算在第一拼音中出现该拼音字母“an”的次数1与在第二拼音中出现拼音字母“an”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“sh”的次数1与在第二拼音中出现拼音字母“sh”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“i”的次数2与在第二拼音中出现拼音字母“i”的次数2的乘积为4,计算在第一拼音中出现该拼音字母“x”的次数1与在第二拼音中出现拼音字母“x”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“ia”的次数1与在第二拼音中出现拼音字母“ia”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“zh”的次数1与在第二拼音中出现拼音字母“zh”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“g”的次数0与在第二拼音中出现拼音字母“g”的次数1的乘积为0,计算在第一拼音中出现该拼音字母“e”的次数1与在第二拼音中出现拼音字母“e”的次数2的乘积为2,计算在第一拼音中出现拼音字母“ong”的次数1与在第二拼音中出现拼音字母“ong”的次数0的乘积为0,计算在第一拼音中出现该拼音字母“s”的次数1与在第二拼音中出现拼音字母“s”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“u”的次数1与在第二拼音中出现拼音字母“u”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“an”的次数1与在第二拼音中出现拼音字母“an”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“f”的次数1与在第二拼音中出现拼音字母“f”的次数1的乘积为1,计算在第一拼音中出现该拼音字母“a”的次数1与在第二拼音中出现拼音字母“a”的次数1的乘积为1,计算得到的所有乘积之和为24。
12)、计算每一个拼音字母分别在第一拼音中出现的次数的第一平方和;
具体地,对于任意一个拼音字母,计算该拼音字母在第一拼音中出现的次数的平方,对于其他每一个拼音字母,同样执行上述操作,然后再将每一个拼音字母在第一拼音中出现的次数的平方求和,得到第一平方和。
例如,计算在第一拼音中出现拼音字母“w”的次数1的平方为1,计算在第一拼音中出现拼音字母“o”的次数1的平方为1,计算在第一拼音中出现拼音字母“l”的次数1的平方为1,计算在第一拼音中出现拼音字母“ai”的次数1的平方为1,计算在第一拼音中出现拼音字母“y”的次数2的平方为4,计算在第一拼音中出现拼音字母“an”的次数1的平方为1,计算在第一拼音中出现拼音字母“sh”的次数1的平方为1,计算在第一拼音中出现拼音字母“i”的次数2的平方为4,计算在第一拼音中出现拼音字母“x”的次数1的平方为1,计算在第一拼音中出现拼音字母“ia”的次数1的平方为1,计算在第一拼音中出现拼音字母“zh”的次数1的平方为1,计算在第一拼音中出现拼音字母“g”的次数0的平方为0,计算在第一拼音中出现拼音字母“e”的次数1的平方为1,计算在第一拼音中出现拼音字母“ong”的次数1的平方为1,计算在第一拼音中出现拼音字母“s”的次数1的平方为1,计算在第一拼音中出现拼音字母“u”的次数1的平方为1,计算在第一拼音中出现拼音字母“an”的次数1的平方为1,计算在第一拼音中出现拼音字母“f”的次数1的平方为1,计算在第一拼音中出现拼音字母“a”的次数1的平方为1,将得到的所有平方求和,得到的第一平方和为25。
13)、计算每一个拼音字母分别在第二拼音中出现的次数的第二平方和;
具体地,对于任意一个拼音字母,计算该拼音字母在第二拼音中出现的次数的平方,对于其他每一个拼音字母,同样执行上述操作,然后再将每一个拼音字母在第二拼音中出现的次数的平方求和,得到第二平方和。
例如,计算在第二拼音中出现拼音字母“w”的次数1的平方为1,计算在第二拼音中出现拼音字母“o”的次数1的平方为1,计算在第二拼音中出现拼音字母“l”的次数1的平方为1,计算在第二拼音中出现拼音字母“ai”的次数1的平方为1,计算在第二拼音中出现拼音字母“y”的次数2的平方为4,计算在第二拼音中出现拼音字母“an”的次数1的平方为1,计算在第二拼音中出现拼音字母“sh”的次数1的平方为1,计算在第二拼音中出现拼音字母“i”的次数2的平方为4,计算在第二拼音中出现拼音字母“x”的次数1的平方为1,计算在第二拼音中出现拼音字母“ia”的次数1的平方为1,计算在第二拼音中出现拼音字母“zh”的次数1的平方为1,计算在第二拼音中出现拼音字母“g”的次数1的平方为1,计算在第二拼音中出现拼音字母“e”的次数2的平方为4,计算在第二拼音中出现拼音字母“ong”的次数1的平方为1,计算在第二拼音中出现拼音字母“s”的次数1的平方为1,计算在第二拼音中出现拼音字母“u”的次数1的平方为1,计算在第二拼音中出现拼音字母“an”的次数1的平方为1,计算在第二拼音中出现拼音字母“f”的次数1的平方为1,计算在第二拼音中出现拼音字母“a”的次数1的平方为1,将得到的所有平方求和,得到的第一平方和为29。
14)、根据所有拼音字母对应的乘积之和、第一平方和与第二平方和计算第一语句与第二语句之间的拼音相似度。
具体地,可以根据得到的所有乘积之和、第一平方和与第二平方和,按照如下公式计算第一语句与第二语句之间的拼音相似度:
其中,在上述公式中,θ为拼音相似度,C为得到的所有乘积之和,A为第一平方和以及B为第二平方和。
在步骤S107中,计算第一语句与第二语句之间的汉字相似度;
在本发明实施例中,可以使用现有技术中的任意一种计算汉子相似度的计算方法计算第一语句与第二语句之间的汉字相似度,例如,使用余弦距离计算第一语句与第二语句之间的汉字相似度,本发明实施例对此不加以限定。
在步骤S108中,根据拼音相似度和汉字相似度计算第一语句与第二语句之间的语义相似度。
具体地,可以根据拼音相似度和汉字相似度,按照如下公式计算第一语句与第二语句之间的语义相似度:
F=α*P+(1-α)*N;
其中,在上述公式中,F为语义相似度,P为拼音相似度,N为汉字相似度以及α为预设系数。
α为事先在本地设置的预设系数,α位于区间(0,1)内,当α越大时,拼音相似度在计算得到的语义相似度中占比较大,当α越小时,拼音相似度在计算得到的语义相似度中占比较小。
在本发明实施例中,获取第一语句中的每一个汉字的第一拼音;获取第二语句中的每一个汉字的第二拼音;统计在第一拼音和第二拼音中出现的所有拼音字母;分别统计每一个拼音字母在第一拼音中出现的次数;分别统计每一个拼音字母在第二拼音中出现的次数;根据每一个拼音字母在第一拼音中出现的次数和每一个拼音字母在第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;计算第一语句与第二语句之间的汉字相似度;根据拼音相似度和汉字相似度计算第一语句与第二语句之间的语义相似度。
通过本发明实施例的方法,即使在语音识别时出现同音字错误,结合汉字相似度和拼音相似度一起计算第一语句与第二语句之间的语义相似度,可以降低由于语音识别错误而出现的语义相似度的误差,从而提高了计算语义相似度的精准度,进而提高最终向用户推送的答案能够解决用户的问题的可能性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图2,示出了本发明一种语义相似度计算装置实施例的结构框图,该装置具体可以包括如下模块:
第一获取模块11,用于获取第一语句中的每一个汉字的第一拼音;
第二获取模块12,用于获取第二语句中的每一个汉字的第二拼音;
第一统计模块13,用于统计所述第一拼音和所述第二拼音中出现的拼音字母;
第二统计模块14,用于分别统计每一个所述拼音字母在所述第一拼音中出现的次数;
第三统计模块15,用于分别统计每一个所述拼音字母在所述第二拼音中出现的次数;
第一计算模块16,用于根据每一个所述拼音字母在所述第一拼音中出现的次数和每一个所述拼音字母在所述第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;
第二计算模块17,用于计算所述第一语句与所述第二语句之间的汉字相似度;
第三计算模块18,用于根据所述拼音相似度和所述汉字相似度计算所述第一语句与所述第二语句之间的语义相似度。
在一个可选的实现方式中,所述第一计算模块16包括:
第一计算单元,用于对于每一个拼音字母,计算在所述第一拼音中出现所述拼音字母的次数与在所述第二拼音中出现所述拼音字母的次数的乘积,计算得到的所有乘积之和;
第二计算单元,用于计算每一个所述拼音字母分别在所述第一拼音中出现的次数的第一平方和;
第三计算单元,用于计算每一个所述拼音字母分别在所述第二拼音中出现的次数的第二平方和;
第四计算单元,用于根据得到的所有乘积之和、所述第一平方和与所述第二平方和计算所述第一语句与所述第二语句之间的拼音相似度。
在一个可选的实现方式中,所述第四计算单元具体用于:
根据所有所述拼音字母对应的乘积之和、所述第一平方和与所述第二平方,按照如下公式计算所述第一语句与所述第二语句之间的拼音相似度:
其中,在上述公式中,θ为所述拼音相似度,C为所有所述拼音字母对应的乘积之和,A为所述第一平方和以及B为所述第二平方和。
在一个可选的实现方式中,所述第三计算模块18具体用于:
根据所述拼音相似度和所述汉字相似度,按照如下公式计算所述第一语句与所述第二语句之间的语义相似度:
F=α*P+(1-α)*N;
其中,在上述公式中,F为所述语义相似度,P为所述拼音相似度,N为所述汉字相似度以及α为预设系数。
在本发明实施例中,获取第一语句中的每一个汉字的第一拼音;获取第二语句中的每一个汉字的第二拼音;统计在第一拼音和第二拼音中出现的所有拼音字母;分别统计每一个拼音字母在第一拼音中出现的次数;分别统计每一个拼音字母在第二拼音中出现的次数;根据每一个拼音字母在第一拼音中出现的次数和每一个拼音字母在第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;计算第一语句与第二语句之间的汉字相似度;根据拼音相似度和汉字相似度计算第一语句与第二语句之间的语义相似度。
通过本发明实施例的方法,即使在语音识别时出现同音字错误,结合汉字相似度和拼音相似度一起计算第一语句与第二语句之间的语义相似度,可以降低由于语音识别错误而出现的语义相似度的误差,从而提高了计算语义相似度的精准度,进而提高最终向用户推送的答案能够解决用户的问题的可能性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种语义相似度计算方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种语义相似度计算方法,其特征在于,所述方法包括:
获取第一语句中的每一个汉字的第一拼音;
获取第二语句中的每一个汉字的第二拼音;
统计所述第一拼音和所述第二拼音中出现的拼音字母;
分别统计每一个所述拼音字母在所述第一拼音中出现的次数;
分别统计每一个所述拼音字母在所述第二拼音中出现的次数;
根据每一个所述拼音字母在所述第一拼音中出现的次数和每一个所述拼音字母在所述第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;
计算所述第一语句与所述第二语句之间的汉字相似度;
根据所述拼音相似度和所述汉字相似度计算所述第一语句与所述第二语句之间的语义相似度。
2.根据权利要求1所述的方法,其特征在于,所述根据每一个所述拼音字母在所述第一拼音中出现的次数和每一个所述拼音字母在所述第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度,包括:
对于每一个拼音字母,计算在所述第一拼音中出现所述拼音字母的次数与在所述第二拼音中出现所述拼音字母的次数的乘积,计算得到的所有乘积之和;
计算每一个所述拼音字母分别在所述第一拼音中出现的次数的第一平方和;
计算每一个所述拼音字母分别在所述第二拼音中出现的次数的第二平方和;
根据得到的所有乘积之和、所述第一平方和与所述第二平方和计算所述第一语句与所述第二语句之间的拼音相似度。
3.根据权利要求2所述的方法,其特征在于,所述根据得到的所有乘积之和、所述第一平方和与所述第二平方和计算所述第一语句与所述第二语句之间的拼音相似度,包括:
根据所有所述拼音字母对应的乘积之和、所述第一平方和与所述第二平方,按照如下公式计算所述第一语句与所述第二语句之间的拼音相似度:
其中,在上述公式中,θ为所述拼音相似度,C为所有所述拼音字母对应的乘积之和,A为所述第一平方和以及B为所述第二平方和。
4.根据权利要求1所述的方法,其特征在于,所述根据所述拼音相似度和所述汉字相似度计算所述第一语句与所述第二语句之间的语义相似度,包括:
根据所述拼音相似度和所述汉字相似度,按照如下公式计算所述第一语句与所述第二语句之间的语义相似度:
F=α*P+(1-α)*N;
其中,在上述公式中,F为所述语义相似度,P为所述拼音相似度,N为所述汉字相似度以及α为预设系数。
5.一种语义相似度计算装置,其特征在于,所述装置包括:
第一获取模块,用于获取第一语句中的每一个汉字的第一拼音;
第二获取模块,用于获取第二语句中的每一个汉字的第二拼音;
第一统计模块,用于统计所述第一拼音和所述第二拼音中出现的拼音字母;
第二统计模块,用于分别统计每一个所述拼音字母在所述第一拼音中出现的次数;
第三统计模块,用于分别统计每一个所述拼音字母在所述第二拼音中出现的次数;
第一计算模块,用于根据每一个所述拼音字母在所述第一拼音中出现的次数和每一个所述拼音字母在所述第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;
第二计算模块,用于计算所述第一语句与所述第二语句之间的汉字相似度;
第三计算模块,用于根据所述拼音相似度和所述汉字相似度计算所述第一语句与所述第二语句之间的语义相似度。
6.根据权利要求5所述的装置,其特征在于,所述第一计算模块包括:
第一计算单元,用于对于每一个拼音字母,计算在所述第一拼音中出现所述拼音字母的次数与在所述第二拼音中出现所述拼音字母的次数的乘积,计算得到的所有乘积之和;
第二计算单元,用于计算每一个所述拼音字母分别在所述第一拼音中出现的次数的第一平方和;
第三计算单元,用于计算每一个所述拼音字母分别在所述第二拼音中出现的次数的第二平方和;
第四计算单元,用于根据得到的所有乘积之和、所述第一平方和与所述第二平方和计算所述第一语句与所述第二语句之间的拼音相似度。
7.根据权利要求6所述的装置,其特征在于,所述第四计算单元具体用于:
根据所有所述拼音字母对应的乘积之和、所述第一平方和与所述第二平方,按照如下公式计算所述第一语句与所述第二语句之间的拼音相似度:
其中,在上述公式中,θ为所述拼音相似度,C为所有所述拼音字母对应的乘积之和,A为所述第一平方和以及B为所述第二平方和。
8.根据权利要求5所述的装置,其特征在于,所述第三计算模块具体用于:
根据所述拼音相似度和所述汉字相似度,按照如下公式计算所述第一语句与所述第二语句之间的语义相似度:
F=α*P+(1-α)*N;
其中,在上述公式中,F为所述语义相似度,P为所述拼音相似度,N为所述汉字相似度以及α为预设系数。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4中任一项所述的语义相似度计算方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的语义相似度计算方法的步骤。
CN201810102217.1A 2018-02-01 2018-02-01 一种语义相似度计算方法及装置 Active CN108319978B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810102217.1A CN108319978B (zh) 2018-02-01 2018-02-01 一种语义相似度计算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810102217.1A CN108319978B (zh) 2018-02-01 2018-02-01 一种语义相似度计算方法及装置

Publications (2)

Publication Number Publication Date
CN108319978A true CN108319978A (zh) 2018-07-24
CN108319978B CN108319978B (zh) 2021-01-22

Family

ID=62888228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810102217.1A Active CN108319978B (zh) 2018-02-01 2018-02-01 一种语义相似度计算方法及装置

Country Status (1)

Country Link
CN (1) CN108319978B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109493869A (zh) * 2018-12-25 2019-03-19 苏州思必驰信息科技有限公司 音频数据的采集方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090190839A1 (en) * 2008-01-29 2009-07-30 Higgins Derrick C System and method for handling the confounding effect of document length on vector-based similarity scores
CN103605694A (zh) * 2013-11-04 2014-02-26 北京奇虎科技有限公司 一种相似文本检测装置和方法
CN103853702A (zh) * 2012-12-06 2014-06-11 富士通株式会社 校正语料中的成语错误的装置和方法
CN105320641A (zh) * 2014-07-30 2016-02-10 腾讯科技(深圳)有限公司 一种文本校验方法及用户终端
CN105512228A (zh) * 2015-11-30 2016-04-20 北京光年无限科技有限公司 一种基于智能机器人的双向问答数据处理方法和系统
CN105678324A (zh) * 2015-12-31 2016-06-15 上海智臻智能网络科技股份有限公司 基于相似度计算的问答知识库的建立方法、装置及系统
CN106815197A (zh) * 2015-11-27 2017-06-09 北京国双科技有限公司 文本相似度的确定方法和装置
CN106815593A (zh) * 2015-11-27 2017-06-09 北京国双科技有限公司 中文文本相似度的确定方法和装置
CN107038193A (zh) * 2016-11-17 2017-08-11 阿里巴巴集团控股有限公司 一种文本信息的处理方法和装置
CN107451119A (zh) * 2017-07-26 2017-12-08 上海智臻智能网络科技股份有限公司 基于语音交互的语义识别方法及装置、存储介质、计算机设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090190839A1 (en) * 2008-01-29 2009-07-30 Higgins Derrick C System and method for handling the confounding effect of document length on vector-based similarity scores
CN103853702A (zh) * 2012-12-06 2014-06-11 富士通株式会社 校正语料中的成语错误的装置和方法
CN103605694A (zh) * 2013-11-04 2014-02-26 北京奇虎科技有限公司 一种相似文本检测装置和方法
CN105320641A (zh) * 2014-07-30 2016-02-10 腾讯科技(深圳)有限公司 一种文本校验方法及用户终端
CN106815197A (zh) * 2015-11-27 2017-06-09 北京国双科技有限公司 文本相似度的确定方法和装置
CN106815593A (zh) * 2015-11-27 2017-06-09 北京国双科技有限公司 中文文本相似度的确定方法和装置
CN105512228A (zh) * 2015-11-30 2016-04-20 北京光年无限科技有限公司 一种基于智能机器人的双向问答数据处理方法和系统
CN105678324A (zh) * 2015-12-31 2016-06-15 上海智臻智能网络科技股份有限公司 基于相似度计算的问答知识库的建立方法、装置及系统
CN107038193A (zh) * 2016-11-17 2017-08-11 阿里巴巴集团控股有限公司 一种文本信息的处理方法和装置
CN107451119A (zh) * 2017-07-26 2017-12-08 上海智臻智能网络科技股份有限公司 基于语音交互的语义识别方法及装置、存储介质、计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈二静、姜恩波: "文本相似度计算方法研究综述", 《数据分析与知识发现》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109493869A (zh) * 2018-12-25 2019-03-19 苏州思必驰信息科技有限公司 音频数据的采集方法及系统

Also Published As

Publication number Publication date
CN108319978B (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
US11803711B2 (en) Depthwise separable convolutions for neural machine translation
TWI636452B (zh) 語音識別方法及系統
CN104766606B (zh) 将自然语言翻译成指令的方法、装置及其导航应用
CN111126068A (zh) 一种中文命名实体识别方法和装置及电子设备
CN104933158B (zh) 数学问题求解模型的训练方法和装置、推理方法和装置
EP3113174A1 (en) Method for building a speech feature library, method, apparatus, and device for speech synthesis
CN110795572B (zh) 一种实体对齐方法、装置、设备及介质
US10685012B2 (en) Generating feature embeddings from a co-occurrence matrix
CN109190007A (zh) 数据分析方法及装置
CN105760361B (zh) 一种语言模型建立方法及装置
CN110211571A (zh) 错句检测方法、装置及计算机可读存储介质
CN110874528B (zh) 文本相似度的获取方法及装置
CN111368037A (zh) 基于Bert模型的文本相似度计算方法和装置
US20230121838A1 (en) Video question answering method, electronic device and storage medium
CN111767714B (zh) 一种文本通顺度确定方法、装置、设备及介质
CN108038200A (zh) 用于存储数据的方法和装置
CN115438149A (zh) 一种端到端模型训练方法、装置、计算机设备及存储介质
CN110046344B (zh) 添加分隔符的方法及终端设备
CN115114419A (zh) 问答处理方法、装置、电子设备和计算机可读介质
CN111062209A (zh) 自然语言处理模型训练方法和自然语言处理模型
CN108319978A (zh) 一种语义相似度计算方法及装置
CN110309278B (zh) 关键词检索方法、装置、介质及电子设备
CN116662496A (zh) 信息抽取方法、训练问答处理模型的方法及装置
CN112509581B (zh) 语音识别后文本的纠错方法、装置、可读介质和电子设备
Octavany et al. Cleveree: an artificially intelligent web service for Jacob voice chatbot

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