您的当前位置:首页正文

一种基于语义表示的个性化检索式对话方法和系统[发明专利]

2021-07-03 来源:独旅网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 112182159 A(43)申请公布日 2021.01.05

(21)申请号 202011055580.6(22)申请日 2020.09.30

(71)申请人 中国人民大学

地址 100872 北京市海淀区中关村大街59

号(72)发明人 窦志成 马跃元 文继荣 (74)专利代理机构 北京纪凯知识产权代理有限

公司 11245

代理人 赵悦(51)Int.Cl.

G06F 16/33(2019.01)G06F 16/332(2019.01)G06F 40/211(2020.01)G06F 40/216(2020.01)G06F 40/30(2020.01)

权利要求书2页 说明书5页 附图1页

G06N 3/04(2006.01)

CN 112182159 A(54)发明名称

一种基于语义表示的个性化检索式对话方法和系统(57)摘要

本发明涉及一种基于语义表示的个性化检索式对话方法和系统,包括以下步骤:S1从用户发言历史语句集中抽取出个性化特征语句p;S2根据用户给出的输入语句q,结合个性化特征语句p,在预建立的对话集中检索,并将检索结果生成候选集C;S3将候选集C中的所有候选回复r={r1,r2,...,rn}与用户输入语句q、个性化特征语句p进行语句匹配,得到每个候选回复ri的语句匹配得分score(q,p,ri);S4将候选回复ri的语句匹配得分进行排序,并选出得分最高的候选回复作为最终的个性化回复。其针对社交媒体平台的开放域对话系统,个性化对话数据更易获得,数据可扩展性强。

CN 112182159 A

权 利 要 求 书

1/2页

1.一种基于语义表示的个性化检索式对话方法,其特征在于,包括以下步骤:S1从用户发言历史语句集中抽取出个性化特征语句p;S2根据用户给出的输入语句q,结合所述个性化特征语句p,在预建立的对话集中检索,并将检索结果生成候选集C;

S3将所述候选集C中的所有候选回复r={r1,r2,…,rn}与用户输入语句q、个性化特征语句p进行语句匹配,得到每个候选回复ri的语句匹配得分score(q,p,ri);

S4将所述候选回复ri的语句匹配得分进行排序,并选出得分最高的候选回复作为最终的个性化回复。

2.如权利要求1所述的基于语义表示的个性化检索式对话方法,其特征在于,所述步骤S3中所述语句匹配包含个性化特征语句匹配和语义匹配两部分,将这两部分的语句匹配结果相加,经过softmax函数,输出候选回复ri作为输入语句q合理的个性化回复的概率,并生成语句匹配结果score(q,p,ri)。

3.如权利要求2所述的基于语义表示的个性化检索式对话方法,其特征在于,所述步骤S3中每个候选回复ri的语句匹配得分score(q,p,ri)的计算公式为:

score(q,p,r)=softmax(Matchs(q,r)+Matchp(q,p,r))其中,Matchp表示候选回复r与输入语句q,个性化特征语句p的语句匹配,Matchs表示不考虑个性化特征语句p的输入语句q与候选回复r的语义匹配。

4.如权利要求3所述的基于语义表示的个性化检索式对话方法,其特征在于,所述个性化特征语句匹配的方法为:首先将输入语句q、个性化特征语句p和候选回复语句ri分别输入LSTM模型中,获取句子语义表示,将输入语句q和个性化特征语句p的句子语义表示进行对位相加,将对位相加后的向量与候选回复语句ri进行点乘,得到个性化特征语句匹配度,其表示为:

5.如权利要求4所述的基于语义表示的个性化检索式对话方法,其特征在于,所述语义匹配的方法为:将输入语句q和候选回复语句ri分别输入LSTM结构中,并将得到的语句表示与输入语句q进行点乘,获取输入语句q和候选回复语句ri间的语义匹配结果Matchs(q,r)。

6.如权利要求4所述的基于语义表示的个性化检索式对话方法,其特征在于,所述LSTM模型通过Adam优化器进行优化。

7.如权利要求1-6任一项所述的基于语义表示的个性化检索式对话方法,其特征在于,所述步骤S1中将满足以下特征的语句作为个性化特征语句p提取方法为:1)句子长度为5~30个字符;2)句中包含“我”;3)句中至少存在一个动词;4)句中存在名词,形容词或代词;5)句中包括用户历史语句中出现频次前20%的非停用词词语。

8.如权利要求1-6任一项所述的基于语义表示的个性化检索式对话方法,其特征在于,所述步骤S2中生成候选集C的方法为:

S2.1记录输入语句q经过分词后的词语列表长度S2.2从个性化特征语句p中抽取出用户使用频率最高的

个非停词词语,加

入到待查询词语列表中,构成新的输入语句,记为q′;

S2.3分别将新的输入语句q′与预建立的对话集中内容进行语句匹配,并计算语句匹配

2

CN 112182159 A

权 利 要 求 书

2/2页

度;

S2.4输出所述语句匹配度大于阈值的结果,所有所述结果构成候选集C。9.如权利要求8所述的基于语义表示的个性化检索式对话方法,其特征在于,所述预建立的对话集中内容包括发布内容和评论内容,故所述候选集C表示为:

C={r:match(p,q′)>阈值,}∪{r:match(r,q′)>阈值}其中,{r:match(p,q′)>阈值}表示与“发布内容”的语句匹配结果,{r:match(r,q′)>阈值}表示与“评论内容”的语句匹配结果,r为评论,p为与评论r对应的发布内容。

10.一种基于语义表示的个性化检索式对话系统,其特征在于,包括:特征提取模块,用于从用户发言历史语句集中抽取出个性化特征语句p;候选集模块,用于根据用户给出的输入语句q,结合所述个性化特征语句p,在预建立的对话集中检索,并将检索结果生成候选集C;

语句匹配模块,用于将所述候选集C中的所有候选回复r={r1,r2,…,rn}与用户输入语句q、个性化特征语句p进行语句匹配,得到每个候选回复ri的语句匹配得分score(q,p,ri);

重排序模块,用于将所述候选回复ri的语句匹配得分进行排序,并选出得分最高的候选回复作为最终的个性化回复。

3

CN 112182159 A

说 明 书

一种基于语义表示的个性化检索式对话方法和系统

1/5页

技术领域

[0001]本发明涉及一种基于语义表示的个性化检索式对话方法和系统,属于人工智能技术领域。

背景技术

[0002]个性化对话系统的实现主要可以分为两种形式,一种是为计算机直接设定键值对形式的个性化特征,即给定系统用户的具体年龄、性别、职业等信息。系统计算按照这种特征对应用户群体的说话风格给出回复。固定性格的个性化对话系统早期是通过机器学习和规则实现的,这种早期的个性化聊天机器人,使用定义输入输出模式、系统个性化与系统表现,决定针对某一输入的回复。而随着人工智能的发展,深度学习技术可用于个性化聊天系统的构建。然而,由于单一性格对话对话集的缺乏,使用深度学习技术解决固定性格的个性化聊天系统的工作较少。部分学者将个性定义为包含具体的年龄、性别、爱好等信息的键值对,引入个性检测器,基于序列到序列模型(SeqSeq)的解码器等,构建个性化聊天系统。[0003]另一种个性化对话系统的实现方法是为计算机提供个性相关的描述性语句,或构建直接从用户的说话历史中提取个性化信息的个性化对话系统。在实现时,可以事先给定聊天者描述性的个性化特征语句,让聊天者按此性格进行对话,收集这些对话语句,构建出个性化对话对话集,进而构建出个性化聊天系统。也可以利用用户说话历史,抽取用户的个性化信息,将个性化特征语句与输入语句表示为向量,与回复语句进行语句匹配排序。[0004]使用人工构建的个性化对话数据集进行研究的方法,存在个性化对话数据集规模较小,数据可扩展性差的缺陷。而使用用户历史提取个性化特征的方法,在用户特征语句数目较多、主题较为集中时,该模型的预测结果可能与特征语句的相关性强,而与用户输入语句相关性差,导致模型给出的回复并非输入语句的合理回复,造成模型返回的回复不佳,用户体验较差。

发明内容

[0005]针对上述问题,本发明的目的是提供一种基于语义表示的个性化检索式对话方法和系统。该系统是针对社交媒体平台的开放域对话系统,个性化对话数据更易获得,数据可扩展性强。

[0006]为实现上述目的,本发明采取以下技术方案:一种基于语义表示的个性化检索式对话方法,包括以下步骤:S1从用户发言历史语句集中抽取出个性化特征语句p;S2根据用户给出的输入语句q,结合个性化特征语句p,在预建立的对话集中检索,并将检索结果生成候选集C;S3将候选集C中的所有候选回复r={r1,r2,...,rn}分别与用户输入语句q、个性化特征语句p进行语句匹配,得到每个候选回复ri的语句匹配得分score(q,p,ri);S4将候选回复集中的语句按匹配得分进行排序,选出得分最高的候选回复作为最终的个性化回复。[0007]步骤S1中将满足以下特征的语句作为个性化特征语句p,其提取方法为:1)句子长度为5~30个字符;2)句中包含“我”;3)句中至少存在一个动词;4)句中存在名词,形容词或

4

CN 112182159 A

说 明 书

2/5页

代词;5)句中包括用户历史语句中出现频次前20%的非停用词词语。[0008]步骤S2中生成候选集C的方法为:S2.1记录输入语句q经过分词后的词语列表长度

S2.2从个性化特征语句p中抽取出用户使用频率最高的

个非停词词

语,加入到待查询词语列表中,构成新的输入语句,记为q′;S2.3分别将新的输入语句q′与预建立的对话集中内容进行语句匹配,并计算语句匹配度;S2.4输出语句匹配度大于阈值的结果,所有结果构成候选集C。候选集C表示为:[0009]C={r:match(p,q′)>阈值,}∪{r:match(r,q′)>阈值}[0010]其中,{r:match(p,q′)>阈值}表示与“发布内容”的语句匹配结果,{r:match(r,q′)>阈值}表示与“评论内容”的语句匹配结果。[0011]进一步,步骤S3中语句匹配包含个性化特征匹配和语义匹配两部分,将这两部分的语句匹配结果相加,经过soffmax函数,输出候选回复ri作为输入语句q合理的个性化回复的概率,最终得到语句匹配结果score(q,p,ri)。[0012]进一步,步骤S3中每个候选回复ri的语句匹配得分score(q,p,ri)的计算公式为:[0013]score(q,p,ri)=softmax(Matchs(q,ri)+Matchp(q,p,ri))[0014]其中,Matchp表示候选回复ri与输入语句q,个性化特征语句p的语句匹配,Matchs表示不考虑个性化特征语句p的输入语句q与候选回复r的语义匹配。个性化特征语句匹配的方法为:首先将输入语句q、个性化特征语句p和候选回复语句ri分别输入LSTM模型中,获取句子语义表示,将输入语句q和个性化特征语句p的句子语义表示进行对位相加,将对位相加后的向量与候选回复语句ri进行点乘,得到个性化特征语句匹配度,其表示为:

[0015]

进一步,语义匹配的方法为:将输入语句q和候选回复语句ri分别输入LSTM结构中,并将得到的语句表示与输入语句q进行点乘,获取输入语句q和候选回复语句ri间的语义匹配结果Matchs(q,ri)。

[0017]本发明公开了一种基于语义表示的个性化检索式对话系统,包括:特征提取模块,用于从用户发言历史语句集中抽取出个性化特征语句p;候选集模块,用于根据用户给出的输入语句q,结合个性化特征语句p,在预建立的对话集中检索,并将检索结果生成候选集C;语句匹配模块,用于将候选集C中的所有候选回复r={r1,r2,...,rn}与用户输入语句q、个性化特征语句p进行语句匹配,得到每个候选回复ri的语句匹配得分score(q,p,ri);生成模块,用于将候选回复ri的语句匹配得分进行排序,并选出得分最高的候选回复作为最终的个性化回复。

[0018]本发明由于采取以上技术方案,其具有以下优点:[0019]1、本发明针对社交媒体平台的开放域对话系统,个性化对话数据更易获得,数据可扩展性强。[0020]2、本发明从用户发言历史中抽取用户的个性化特征,在进行用户特征的个性化语句匹配的同时,加入仅考虑输入语句和回复语句相关性的语义匹配部分,确保模型给出的回复既能满足用户的个性化特征,又能作为输入语句的合理回复。[0021]3、本发明利用用户的发言历史,构建用户的个性化特征,进行用户画像,基于规则,从用户的发言历史中抽取个性化特征。

[0016]

5

CN 112182159 A

说 明 书

3/5页

附图说明

[0022]图1是本发明一实施例中基于语义表示的个性化检索式对话方法的示意图;[0023]图2是本发明一实施例中语句匹配方法的示意图。

具体实施方式

[0024]为了使本领域技术人员更好的理解本发明的技术方向,通过具体实施例对本发明进行详细的描绘。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。[0025]实施例一

[0026]本实施例公开了一种基于语义表示的个性化检索式对话方法,如图1所示,包括以下步骤:

[0027]S1从用户发言历史语句集中抽取出个性化特征语句p。

[0028]本实施例通过用户在社交平台上的发言历史提取用户的个性化特征。用户在社交平台上发布的所有语句构成该用户的发言历史,这些历史语句中蕴含着丰富的信息,有些语句可以反映该用户的性格、爱好等特征。本实施例对用户的历史发言语句进行筛选,将满足以下特征的语句作为个性化特征语句p:1)句子长度为5~30个字符;2)句中包含“我”;3)句中至少存在一个动词;4)句中存在名词,形容词或代词;5)句中包括用户历史语句中出现频次前20%的非停用词词语。其中,本实施例中依据哈工大停用词表进行停用词的判断。[0029]S2根据用户给出的输入语句q,结合个性化特征语句p,在预建立的对话集中检索,并将检索结果生成候选集C。[0030]在本步骤中,系统根据用户的输入语句q和个性化特征语句p,从对话集中快速检索语句匹配,召回一批候选回复语句,构成候选集。本实施例借助Apache开源组织下Lucene开发的高性能搜索平台Solr,完成检索与召回的任务。待查询的对话集是由整体对话集抽取而来,整体对话集中的其他数据用于学习。[0031]步骤S2中生成候选集C的方法为:

[0032]

S2.1记录输入语句q经过分词后的词语列表长度其中分词过程通过

Jieba分词工具实现;

[0033]S2.2为使检索出的候选集包含与用户个性化特征相关的内容,从个性化特征语句p中抽取出用户使用频率最高的

个非停词词语,加入到待查询词语列表中,构成

新的输入语句,记为q′;

[0034]S2.3分别将新的输入语句q′与预建立的对话集中内容进行语句匹配,并计算语句匹配度;

[0035]S2.4输出语句匹配度大于阈值的结果,所有结果构成候选集C。[0036]预建立的对话集中内容包括发布内容和评论内容,故候选集C表示为:[0037]C={r:match(p,q′)>阈值,}∪{r:match(r,q′)>阈值}[0038]其中,{r:match(p,q′)>阈值}表示与“发布内容”的语句匹配结果,{r:match(r,q′)>阈值}表示与“评论内容”的语句匹配结果。[0039]为保证查询返回的候选回复数量较多、语句匹配度较高,本实施例经过多次测试,

6

CN 112182159 A

说 明 书

4/5页

最终将语句匹配的精度设为40%。将发布内容和评论内容两部分筛选后的评论结合,按语句匹配分数选出语句匹配度最高的100条评论语句组成候选回复集C。[0040]S3将候选集C中的所有候选回复r={r1,r2,...,rn}与用户输入语句q、个性化特征语句p进行语句匹配,得到每个候选回复ri的语句匹配得分score(q,p,ri);[0041]个性化检索式对话系统应满足两方面的需求:一是作为个性化对话系统,系统返回给用户的语句应当符合该用户的性格、爱好等特征,从而提升用户的体验;二是作为对话系统,系统给出的回复语句应当能够作为用户输入语句的合理回复。出于这两方面的考虑,本实施例分别在个性化特征层面与语义层面进行语句匹配。长短期记忆(LSTM)近年来发展迅猛,它能够有效捕获长序列信息,在处理序列相关的任务时有着卓越的表现。因此,本实施例采用长短期记忆(LSTM)输出语句的语义表示,构建语句匹配模型,以获取候选回复、用户输入语句和用户个性化特征语句的句子表示,从而进行语句匹配。[0042]如图2所示,语句匹配包含个性化特征语句匹配和语义匹配两部分,将这两部分的语句匹配结果相加,经过softmax函数,输出候选回复ri作为输入语句q合理的个性化回复的概率,并生成语句匹配结果score(q,p,ri)。

[0043]每个候选回复ri的语句匹配得分score(q,p,ri)的计算公式为:[0044]score(q,p,ri)=softmax(Matchs(q,ri)+Matchp(q,p,ri))[0045]其中,Matchp表示候选回复ri与输入语句q,个性化特征语句p的语句匹配,Matchs表示不考虑个性化特征语句p的输入语句q与候选回复r的语义匹配。[0046]个性化特征语句匹配的方法为:首先将输入语句q、个性化特征语句p和候选回复语句ri分别输入LSTM模型中,获取句子语义表示,同时考虑用户的当前输入和个性化特征,本实施例使用用户特征语句对当前输入语句进行扩充,即将输入语句q和个性化特征语句p的句子语义表示进行对位相加,将对位相加后的向量与候选回复语句ri进行点乘,得到个性化特征语句匹配度,其表示为:

[0047]

若仅考虑个性化特征的语句匹配,可能导致系统轻视回复语句与输入语句匹配的合理性,从而造成系统给出的回复语句不是输入语句的合理回复。因此,本实施例又引入了语义匹配,考虑输入语句和候选回复间的语义关联性,针对输入语句与候选回复的语义匹配,确保系统给出回复的合理性。语义匹配的方法为:将输入语句q和候选回复语句ri分别输入LSTM结构中,并将得到的语句表示与输入语句q进行点乘,获取输入语句q和候选回复语句ri间的语义匹配结果Matchs(q,ri)。[0049]其中,本实施例将LSTM隐藏层设为256,学习率设为le-4,batch_size设为16,使用Adam优化器进行优化LSTM模型,并使用Glove预训练300维词向量。[0050]S4将候选回复ri的语句匹配得分进行排序,并选出得分最高的候选回复作为最终的个性化回复,其可以表示为:[0051]r*=argmax score(q,p,r)。[0052]实施例二

[0053]基于相同的发明构思,本实施例公开了一种基于语义表示的个性化检索式对话系统,包括:

[0054]特征提取模块,用于从用户发言历史语句集中抽取出个性化特征语句p;

7

[0048]

CN 112182159 A[0055]

说 明 书

5/5页

候选集模块,用于根据用户给出的输入语句q,结合个性化特征语句p,在预建立的

对话集中检索,并将检索结果生成候选集C;[0056]语句匹配模块,用于将候选集C中的所有候选回复r={r1,r2,...,rn}与用户输入语句q、个性化特征语句p进行语句匹配,得到每个候选回复ri的语句匹配得分score(q,p,ri);

[0057]重排序模块,用于将候选回复ri的语句匹配得分进行排序,并选出得分最高的候选回复作为最终的个性化回复。[0058]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。上述内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

8

CN 112182159 A

说 明 书 附 图

1/1页

图1

图2

9

因篇幅问题不能全部显示,请点此查看更多更全内容