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

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

Info

Publication number
CN108319978B
CN108319978B CN201810102217.1A CN201810102217A CN108319978B CN 108319978 B CN108319978 B CN 108319978B CN 201810102217 A CN201810102217 A CN 201810102217A CN 108319978 B CN108319978 B CN 108319978B
Authority
CN
China
Prior art keywords
pinyin
sentence
similarity
calculating
sum
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.)
Active
Application number
CN201810102217.1A
Other languages
English (en)
Other versions
CN108319978A (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 Sinovoice Technology Co Ltd
Original Assignee
Beijing Sinovoice 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 Beijing Sinovoice Technology Co Ltd filed Critical Beijing Sinovoice Technology Co Ltd
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

Images

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

Abstract

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

Description

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

Claims (10)

1.一种语义相似度计算方法,其特征在于,所述方法包括:
获取第一语句中的每一个汉字的第一拼音;
获取第二语句中的每一个汉字的第二拼音;所述第一语句或者第二语句中的其中一个为智能问答系统接收到用于描述问题的语音之后,将该语音通过语音识别技术转化所得到的语句,所述第二语句或者第一语句中的另外一个为多个备选问题中的一个备选问题;
统计所述第一拼音和所述第二拼音中出现的拼音字母;
分别统计每一个所述拼音字母在所述第一拼音中出现的次数;
分别统计每一个所述拼音字母在所述第二拼音中出现的次数;
根据每一个所述拼音字母在所述第一拼音中出现的次数和每一个所述拼音字母在所述第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;
计算所述第一语句与所述第二语句之间的汉字相似度;
在语音识别时出现同音字错误时,根据所述拼音相似度和所述汉字相似度计算所述第一语句与所述第二语句之间的语义相似度,所述语义相似度用于选择与所述第一语句或所述第二语句的语义最接近的一个备选问题。
2.根据权利要求1所述的方法,其特征在于,所述根据每一个所述拼音字母在所述第一拼音中出现的次数和每一个所述拼音字母在所述第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度,包括:
对于每一个拼音字母,计算在所述第一拼音中出现所述拼音字母的次数与在所述第二拼音中出现所述拼音字母的次数的乘积,计算得到的所有乘积之和;
计算每一个所述拼音字母分别在所述第一拼音中出现的次数的第一平方和;
计算每一个所述拼音字母分别在所述第二拼音中出现的次数的第二平方和;
根据得到的所有乘积之和、所述第一平方和与所述第二平方和计算所述第一语句与所述第二语句之间的拼音相似度。
3.根据权利要求2所述的方法,其特征在于,所述根据得到的所有乘积之和、所述第一平方和与所述第二平方和计算所述第一语句与所述第二语句之间的拼音相似度,包括:
根据所有所述拼音字母对应的乘积之和、所述第一平方和与所述第二平方和,按照如下公式计算所述第一语句与所述第二语句之间的拼音相似度:
Figure FDA0002722144600000021
其中,在上述公式中,θ为所述拼音相似度,C为所有所述拼音字母对应的乘积之和,A为所述第一平方和以及B为所述第二平方和。
4.根据权利要求1所述的方法,其特征在于,所述根据所述拼音相似度和所述汉字相似度计算所述第一语句与所述第二语句之间的语义相似度,包括:
根据所述拼音相似度和所述汉字相似度,按照如下公式计算所述第一语句与所述第二语句之间的语义相似度:
F=α*P+(1-α)*N;
其中,在上述公式中,F为所述语义相似度,P为所述拼音相似度,N为所述汉字相似度以及α为预设系数。
5.一种语义相似度计算装置,其特征在于,所述装置包括:
第一获取模块,用于获取第一语句中的每一个汉字的第一拼音;
第二获取模块,用于获取第二语句中的每一个汉字的第二拼音;所述第一语句或者第二语句中的其中一个为智能问答系统接收到用于描述问题的语音之后,将该语音通过语音识别技术转化所得到的语句,所述第二语句或者第一语句中的另外一个为多个备选问题中的一个备选问题;
第一统计模块,用于统计所述第一拼音和所述第二拼音中出现的拼音字母;
第二统计模块,用于分别统计每一个所述拼音字母在所述第一拼音中出现的次数;
第三统计模块,用于分别统计每一个所述拼音字母在所述第二拼音中出现的次数;
第一计算模块,用于根据每一个所述拼音字母在所述第一拼音中出现的次数和每一个所述拼音字母在所述第二拼音中出现的次数计算第一语句和第二语句之间的拼音相似度;
第二计算模块,用于在语音识别时出现同音字错误时,计算所述第一语句与所述第二语句之间的汉字相似度;
第三计算模块,用于根据所述拼音相似度和所述汉字相似度计算所述第一语句与所述第二语句之间的语义相似度,所述语义相似度用于选择与所述第一语句或所述第二语句的语义最接近的一个备选问题。
6.根据权利要求5所述的装置,其特征在于,所述第一计算模块包括:
第一计算单元,用于对于每一个拼音字母,计算在所述第一拼音中出现所述拼音字母的次数与在所述第二拼音中出现所述拼音字母的次数的乘积,计算得到的所有乘积之和;
第二计算单元,用于计算每一个所述拼音字母分别在所述第一拼音中出现的次数的第一平方和;
第三计算单元,用于计算每一个所述拼音字母分别在所述第二拼音中出现的次数的第二平方和;
第四计算单元,用于根据得到的所有乘积之和、所述第一平方和与所述第二平方和计算所述第一语句与所述第二语句之间的拼音相似度。
7.根据权利要求6所述的装置,其特征在于,所述第四计算单元具体用于:
根据所有所述拼音字母对应的乘积之和、所述第一平方和与所述第二平方和,按照如下公式计算所述第一语句与所述第二语句之间的拼音相似度:
Figure FDA0002722144600000041
其中,在上述公式中,θ为所述拼音相似度,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 CN108319978A (zh) 2018-07-24
CN108319978B true 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)

Families Citing this family (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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605694A (zh) * 2013-11-04 2014-02-26 北京奇虎科技有限公司 一种相似文本检测装置和方法
CN105320641A (zh) * 2014-07-30 2016-02-10 腾讯科技(深圳)有限公司 一种文本校验方法及用户终端
CN105512228A (zh) * 2015-11-30 2016-04-20 北京光年无限科技有限公司 一种基于智能机器人的双向问答数据处理方法和系统
CN107451119A (zh) * 2017-07-26 2017-12-08 上海智臻智能网络科技股份有限公司 基于语音交互的语义识别方法及装置、存储介质、计算机设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311390B2 (en) * 2008-01-29 2016-04-12 Educational Testing Service System and method for handling the confounding effect of document length on vector-based similarity scores
CN103853702B (zh) * 2012-12-06 2016-08-17 富士通株式会社 校正语料中的成语错误的装置和方法
CN106815197B (zh) * 2015-11-27 2020-07-31 北京国双科技有限公司 文本相似度的确定方法和装置
CN106815593B (zh) * 2015-11-27 2019-12-10 北京国双科技有限公司 中文文本相似度的确定方法和装置
CN105678324B (zh) * 2015-12-31 2019-03-26 上海智臻智能网络科技股份有限公司 基于相似度计算的问答知识库的建立方法、装置及系统
CN107038193B (zh) * 2016-11-17 2020-11-27 创新先进技术有限公司 一种文本信息的处理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605694A (zh) * 2013-11-04 2014-02-26 北京奇虎科技有限公司 一种相似文本检测装置和方法
CN105320641A (zh) * 2014-07-30 2016-02-10 腾讯科技(深圳)有限公司 一种文本校验方法及用户终端
CN105512228A (zh) * 2015-11-30 2016-04-20 北京光年无限科技有限公司 一种基于智能机器人的双向问答数据处理方法和系统
CN107451119A (zh) * 2017-07-26 2017-12-08 上海智臻智能网络科技股份有限公司 基于语音交互的语义识别方法及装置、存储介质、计算机设备

Also Published As

Publication number Publication date
CN108319978A (zh) 2018-07-24

Similar Documents

Publication Publication Date Title
TWI636452B (zh) 語音識別方法及系統
EP3508992A1 (en) Error correction method and device for search term
KR100750886B1 (ko) 학습 데이터 구축 장치 및 방법
CN107437417B (zh) 基于循环神经网络语音识别中语音数据增强方法及装置
CN104485115A (zh) 发音评价设备、方法和系统
CN110335608B (zh) 声纹验证方法、装置、设备及存储介质
CN109522397B (zh) 信息处理方法及装置
CN111368037A (zh) 基于Bert模型的文本相似度计算方法和装置
CN110990010A (zh) 一种软件界面代码的生成方法及装置
CN112820314A (zh) 一种智能语音控制大屏显示方法、系统及其相关组件
CN108319978B (zh) 一种语义相似度计算方法及装置
CN110188180B (zh) 相似问题的确定方法、装置、电子设备及可读存储介质
CN105243053A (zh) 提取文档关键句的方法及装置
CN109448717B (zh) 一种语音单词拼写识别方法、设备及存储介质
CN113177405B (zh) 基于bert的数据纠错方法、装置、设备及存储介质
CN112786028B (zh) 声学模型处理方法、装置、设备和可读存储介质
CN106896936B (zh) 词汇推送方法和装置
De Kok Feature selection for fluency ranking
CN109063561B (zh) 公式的识别计算方法和装置
CN111916085A (zh) 基于发音相似度的人机对话匹配方法、装置及介质
CN108415959B (zh) 一种文本分类方法及装置
CN112509581B (zh) 语音识别后文本的纠错方法、装置、可读介质和电子设备
CN111078921A (zh) 一种科目识别方法及电子设备
CN111666770B (zh) 一种语义匹配方法及装置
CN113704452A (zh) 基于Bert模型的数据推荐方法、装置、设备及介质

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