CN109062900B - 一种朋友圈生成方法及装置 - Google Patents

一种朋友圈生成方法及装置 Download PDF

Info

Publication number
CN109062900B
CN109062900B CN201810864720.0A CN201810864720A CN109062900B CN 109062900 B CN109062900 B CN 109062900B CN 201810864720 A CN201810864720 A CN 201810864720A CN 109062900 B CN109062900 B CN 109062900B
Authority
CN
China
Prior art keywords
chat
target
record
friend
potential
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
CN201810864720.0A
Other languages
English (en)
Other versions
CN109062900A (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.)
iFlytek Co Ltd
Original Assignee
iFlytek 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 iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN201810864720.0A priority Critical patent/CN109062900B/zh
Publication of CN109062900A publication Critical patent/CN109062900A/zh
Application granted granted Critical
Publication of CN109062900B publication Critical patent/CN109062900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种朋友圈生成方法及装置,该方法包括:在获取到目标用户使用目标输入法输出的目标聊天记录后,若确定出目标聊天记录对应至少一个潜在好友,则判断该潜在好友是否为目标用户的真实聊天对象,若是,则可以将该潜在好友加入目标用户的输入法朋友圈,其中,潜在好友指的是目标用户使用目标聊天记录进行聊天的可能聊天对象。可见,本申请在获取到目标用户使用目标输入法输出的目标的聊天记录后,可以根据该聊天记录确定出目标用户的真实聊天对象并将其加入目标用户的输入法朋友圈,从而实现了基于目标用户使用目标输入法输出的聊天内容,生成目标用户的输入法朋友圈,以便后续可以基于输入法朋友圈提升输入法产品的娱乐性。

Description

一种朋友圈生成方法及装置
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种朋友圈生成方法及装置。
背景技术
用户使用输入法的场景可以分为两类,第一类为聊天场景,比如短信聊天、微信聊天等,第二类为非聊天场景,比如通过百度搜索、高德地图进行地名查询等。
而现有的输入法产品,当以一部电子产品对应一个用户时,只会对每个输入法用户的使用记录进行单独记录,并不能建立输入法用户之间潜在的好友关系,即无法建立输入法用户的朋友圈,进而无法基于输入法朋友圈提升输入法产品的娱乐性。其中,输入法朋友圈指的是同一输入法用户使用同一款输入法产品交流过的用户组成的好友类表,类似于聊天软件的好友列表,每个输入法用户均拥有各自的输入法好友列表。
发明内容
本申请实施例的主要目的在于提供一种朋友圈生成方法及装置,能够基于输入法用户的聊天内容,生成输入法用户的朋友圈。
本申请实施例提供了一种朋友圈生成方法,包括:
获取目标用户使用目标输入法输出的目标聊天记录;
若确定所述目标聊天记录对应至少一个潜在好友,所述潜在好友为所述目标用户使用所述目标聊天记录进行聊天的可能聊天对象,则判断所述潜在好友是否为所述目标用户的真实聊天对象;
若是,则将所述潜在好友加入所述目标用户的输入法朋友圈。
可选的,所述确定所述目标聊天记录对应至少一个潜在好友,包括:
获取与所述目标聊天记录在记录时间上相近的至少一个候选聊天记录;
判断所述目标聊天记录与所述候选聊天记录是否为合理对话;
若是,则将使用所述候选聊天记录进行聊天的候选用户作为所述潜在好友。
可选的,所述判断所述潜在好友是否为所述目标用户的真实聊天对象,包括:
获取所述目标用户在第一时间段内输出的第一聊天内容,并获取所述潜在好友在第二时间段内输出的第二聊天内容;
其中,所述第一时间段与所述第二时间段完全重叠或大部分重叠,所述第一聊天内容中包括与所述潜在好友进行聊天的至少两条聊天记录,所述第二聊天内容中包括与所述目标用户进行聊天的至少两条聊天记录,所述第一聊天内容是所述目标用户使用所述目标输入法输出的聊天内容;
根据所述第一聊天内容与所述第二聊天内容,判断所述潜在好友是否为所述目标用户的真实聊天对象。
可选的,所述获取所述目标用户在第一时间段内输出的第一聊天内容,并获取所述潜在好友在第二时间段内输出的第二聊天内容之后,还包括:
将所述第一聊天内容按照不同的聊天对象进行归类,得到与所述潜在好友进行聊天的各条聊天记录,形成潜在记录集合;
将所述第二聊天内容按照不同的聊天对象进行归类,得到与所述目标用户进行聊天的各条聊天记录,形成目标记录集合;
相应地,所述根据所述第一聊天内容与所述第二聊天内容,判断所述潜在好友是否为所述目标用户的真实聊天对象,包括:
确定所述潜在记录集合以及所述目标记录集合组成一段会话的合理程度,并根据所述合理程度判断所述潜在好友是否为所述目标用户的真实聊天对象。
可选的,所述将所述第一聊天内容按照不同的聊天对象进行归类,包括:
利用预先构建的文档归类模型,将所述第一聊天内容按照不同的聊天对象进行归类;
相应地,所述将所述第二聊天内容按照不同的聊天对象进行归类,包括:
利用所述文档归类模型,将所述第二聊天内容按照不同的聊天对象进行归类。
可选的,所述确定所述潜在记录集合以及所述目标记录集合组成一段会话的合理程度,包括:
利用预先构建的篇章级会话模型,确定所述潜在记录集合以及所述目标记录集合组成一段会话的合理程度。
可选的,按照下述方式构建所述篇章级会话模型:
从对应于不同样本用户的大量聊天记录中,依次获取预设记录时段内的聊天记录,并将当前获取的聊天记录作为第二训练样本,其中,所述第二训练样本包括两个样本用户之间的聊天记录;
利用所述第二训练样本对初始构建的篇章级会话模型进行训练,直到满足训练结束条件为止。
可选的,所述方法还包括:
生成目标总结和/或目标评语;
其中,所述目标总结是根据所述目标用户与所述输入法朋友圈好友在预设时段内的互动情况生成的,所述目标评语是对所述目标总结进行的评语。
本申请实施例还提供了一种朋友圈生成装置,包括:
聊天记录获取单元,用于获取目标用户使用目标输入法输出的目标聊天记录;
潜在好友确定单元,用于确定所述目标聊天记录是否对应至少一个潜在好友,所述潜在好友为所述目标用户使用所述目标聊天记录进行聊天的可能聊天对象;
聊天对象判断单元,用于若确定所述目标聊天记录对应至少一个潜在好友,则判断所述潜在好友是否为所述目标用户的真实聊天对象;
朋友圈生成单元,用于若所述潜在好友为所述目标用户的真实聊天对象,则将所述潜在好友加入所述目标用户的输入法朋友圈。
可选的,所述潜在好友确定单元包括:
候选聊天记录获取子单元,用于获取与所述目标聊天记录在记录时间上相近的至少一个候选聊天记录;
合理对话判断子单元,用于判断所述目标聊天记录与所述候选聊天记录是否为合理对话;
潜在好友确定子单元,用于若所述目标聊天记录与所述候选聊天记录为合理对话,则将使用所述候选聊天记录进行聊天的候选用户作为所述潜在好友。
可选的,所述聊天对象判断单元包括:
聊天内容获取子单元,用于获取所述目标用户在第一时间段内输出的第一聊天内容,并获取所述潜在好友在第二时间段内输出的第二聊天内容;
其中,所述第一时间段与所述第二时间段完全重叠或大部分重叠,所述第一聊天内容中包括与所述潜在好友进行聊天的至少两条聊天记录,所述第二聊天内容中包括与所述目标用户进行聊天的至少两条聊天记录,所述第一聊天内容是所述目标用户使用所述目标输入法输出的聊天内容;
聊天对象判断子单元,用于根据所述第一聊天内容与所述第二聊天内容,判断所述潜在好友是否为所述目标用户的真实聊天对象。
可选的,所述装置还包括:
第一归类单元,用于将所述第一聊天内容按照不同的聊天对象进行归类,得到与所述潜在好友进行聊天的各条聊天记录,形成潜在记录集合;
第二归类单元,用于将所述第二聊天内容按照不同的聊天对象进行归类,得到与所述目标用户进行聊天的各条聊天记录,形成目标记录集合;
相应地,所述聊天对象判断子单元包括:
合理程度确定子单元,用于确定所述潜在记录集合以及所述目标记录集合组成一段会话的合理程度;
第一聊天对象判断子单元,用于根据所述合理程度判断所述潜在好友是否为所述目标用户的真实聊天对象。
可选的,所述第一归类单元具体用于:
利用预先构建的文档归类模型,将所述第一聊天内容按照不同的聊天对象进行归类;
相应地,所述第二归类单元具体用于:
利用所述文档归类模型,将所述第二聊天内容按照不同的聊天对象进行归类。
可选的,所述合理程度确定子单元具体用于:
利用预先构建的篇章级会话模型,确定所述潜在记录集合以及所述目标记录集合组成一段会话的合理程度。
可选的,所述装置还包括:
第二训练样本获取单元,用于从对应于不同样本用户的大量聊天记录中,依次获取预设记录时段内的聊天记录,并将当前获取的聊天记录作为第二训练样本,其中,所述第二训练样本包括两个样本用户之间的聊天记录;
篇章级会话模型构建单元,用于利用所述第二训练样本对初始构建的篇章级会话模型进行训练,直到满足训练结束条件为止。
可选的,所述装置还包括:
总结评语生成单元,用于生成目标总结和/或目标评语;
其中,所述目标总结是根据所述目标用户与所述输入法朋友圈好友在预设时段内的互动情况生成的,所述目标评语是对所述目标总结进行的评语。
本申请实施例还提供了一种朋友圈生成装置,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述朋友圈生成方法中的任意一种实现方式。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述朋友圈生成方法中的任意一种实现方式。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述朋友圈生成方法中的任意一种实现方式。
本申请实施例提供的一种朋友圈生成方法及装置,在获取到目标用户使用目标输入法输出的目标聊天记录后,若确定出目标聊天记录对应至少一个潜在好友,则判断该潜在好友是否为目标用户的真实聊天对象,其中,该潜在好友指的是目标用户使用目标聊天记录进行聊天的可能聊天对象,进而,若判断出该潜在好友是目标用户的真实聊天对象,则可以将该潜在好友加入目标用户的输入法朋友圈。可见,本申请在获取到目标用户使用目标输入法输出的目标的聊天记录后,可以根据该聊天记录确定出目标用户的真实聊天对象并将其加入目标用户的输入法朋友圈,从而实现了基于目标用户使用目标输入法输出的聊天内容,生成目标用户的输入法朋友圈,以便后续可以基于输入法朋友圈提升输入法产品的娱乐性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种朋友圈生成方法的流程示意图;
图2为本申请实施例提供的确定潜在好友的流程示意图;
图3为本申请实施例提供的判断潜在好友是否为目标用户的真实聊天对象的流程示意图;
图4为本申请实施例提供的构建文档归类模型的流程示意图;
图5为本申请实施例提供的构建篇章级会话模型的流程示意图;
图6为本申请实施例提供的一种朋友圈生成装置的组成示意图。
具体实施方式
通常用户使用输入法的场景可以分为两类,第一类为聊天场景,比如短信聊天、微信聊天等,第二类为非聊天场景,比如用户通过输入法在优酷客户端进行视频查询以及在微信客户端进行转账交易等。其中,在聊天的场景中,对于用户使用输入法输出的内容,目前只能进行单独记录,即只能记录使用输入法的用户单方面的输出内容,无法记录其聊天对象的回复内容,因此,无法建立输入法用户之间潜在的好友关系,即无法基于输入法用户的聊天内容,生成输入法用户的朋友圈,进而也就无法基于该输入法朋友圈来提升输入法的娱乐性。
为解决上述缺陷,本申请实施例提供了一种朋友圈生成方法,首先,在获取到用户使用某输入法在聊天场景中输出的内容后,可以对该内容进行记录,然后根据记录的内容,可以确定出至少一个可能与该用户进行聊天的聊天对象,但在这些可能的聊天对象中,有些聊天对象可能并非真实的聊天对象,接着,通过对确定出的可能的聊天对象进行判断,识别出该聊天对象是否为与用户真实进行聊天的对象,若确定出该聊天对象确实是与用户真实进行聊天的对象,则可以将其加入用户的输入法朋友圈,这样,可以根据用户使用输入法输出的聊天记录生成该用户的输入法朋友圈,以便后续可以基于该输入法朋友圈进行下一步开发,例如,进行有意思的输入法年度总结与评语等,进而提升输入法产品的娱乐性。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
第一实施例
参见图1,为本实施例提供的一种朋友圈生成方法的流程示意图,该方法包括以下步骤:
S101:获取目标用户使用目标输入法输出的目标聊天记录。
在本实施例中,将采用本实施例实现朋友圈生成的任一输入法定义为目标输入法,进而可以将使用目标输入法实现朋友圈生成的用户定义为目标用户。并且,本实施例不限制目标输入法的产品类型,比如目标输入法可以是搜狗输入法、讯飞输入法等,本实施例也不限制目标输入法的操作类型,比如,目标输入法可以是拼音输入法、手写输入法或语音输入法等。
需要说明的是,目标用户在与其他用户进行聊天时,可以使用目标输入法输出相应的聊天内容,本实施例将该聊天内容(比如一天内或几个小时内)中的每条聊天记录定义为目标聊天记录。
S102:若确定目标聊天记录对应至少一个潜在好友,其中,潜在好友为目标用户使用目标聊天记录进行聊天的可能聊天对象,则判断潜在好友是否为目标用户的真实聊天对象。
在本实施例中,当获取到目标用户使用目标输入法输出的各个目标聊天记录后,对于每一目标聊天记录,可以对该目标聊天记录进行分析,确定其对应的至少一个潜在好友,然后判断每一潜在好友是否为目标用户的真实聊天对象,具体的判断过程可参见后续第二实施例的相关介绍。
其中,潜在好友指的是目标用户使用目标聊天记录进行聊天的可能的聊天对象,需要说明的是,潜在好友可以是使用目标输入法也可以是使用其它输入法与目标用户进行聊天的聊天对象。
在本实施例中的一种实现方式中,可以通过下述步骤S201-S203,对潜在好友的具体确定过程进行介绍。
S201:获取与目标聊天记录在记录时间上相近的至少一个候选聊天记录。
在本实施例中,可以获取与该目标聊天记录在记录时间上相近的至少一个聊天记录,并将获取的每一聊天记录定义为候选聊天记录。
S202:判断目标聊天记录与候选聊天记录是否为合理对话。
在获取到与目标聊天记录对应的至少一个候选聊天记录后,可以利用现有的神经网络模型,判断出每一候选聊天记录与目标聊天记录是否为合理对话。例如,由于基于神经网络的会话模型,可以对给定的上文和下文(下文是对上文的答复内容)组成对话的合理程度进行打分,基于此,可以利用该会话模型,将目标聊天记录分别与每一候选聊天记录进行两两配对,再计算每一配对记录作为合理对话的得分(该得分用于表征该配对记录组成一段合理会话的合理程度),进而将该得分与一个预先设置的第一得分阈值进行比较,如果该得分大于第一得分阈值,则认为对应的配对记录为合理对话,否则不是合理对话,故而,对于属于合理对话的配对记录中的候选聊天记录,便可以将该候选聊天记录对应的聊天对象作为目标用户的潜在好友,需要说明的是,第一得分阈值可以根据实验进行合理设定。
如果目标聊天记录与候选聊天记录构成合理会话的得分不超过预先设定的第一得分阈值,则可判断出目标聊天记录与候选聊天记录不是合理对话,进而可以确定出候选聊天记录对应的聊天对象并不是目标用户的潜在好友,则可以得到两种可能的结果,一种是候选聊天记录对应的聊天对象使用的并不是输入法用户,另一种则是目标用户并未将目标输入法用在聊天场景中。相对应的,如果目标聊天记录与候选聊天记录构成合理会话的得分超过预先设定的第一得分阈值,则可以确定出目标聊天记录与该候选聊天记录是合理对话。
举例说明:假设获取到的目标用户使用目标输入法输出的目标聊天记录为:“2018-2-15 22:08:43每年我都会拜读大神的年终总结!”,而获取到的与该目标聊天记录在记录时间上相近的两个候选聊天记录为:候选聊天记录1“2018-2-15 22:08:50彼此彼此,我只是写出来而已”,对应的用户为候选用户1;候选聊天记录2“2018-2-15 22:08:48今年的红包优点少啊!”,对应的用户为候选用户2。
首先,将目标聊天记录与候选聊天记录1和候选聊天记录2分别进行两两配对,假设利用基于神经网络的会话模型计算出目标聊天记录与候选聊天记录1进行两两配对后构成一个合理会话的得分为0.6、且计算出目标聊天记录与候选聊天记录2进行两两配对后构成一个合理会话的得分为0.02,当得分阈值设为0.1时,则可判断出目标聊天记录与候选聊天记录2不是合理对话,进而可以确定出候选聊天记录2对应的候选用户2很可能并不是目标用户的潜在好友,相对应的,则可判断出目标聊天记录与候选聊天记录1是合理对话,进而可以确定出候选聊天记录1对应的候选用户1是目标用户的潜在好友。
S203:若判断出目标聊天记录与候选聊天记录是合理对话,则将使用候选聊天记录进行聊天的候选用户作为潜在好友。
在本实施例中,若通过步骤S202判断出目标聊天记录与候选聊天记录是合理对话,则可以确定出该候选聊天记录对应的候选用户很可能使用了该候选聊天记录与目标用户进行了聊天,也就是说,该候选用户是目标用户使用目标聊天记录进行聊天的可能聊天对象,即该候选用户为目标用户的潜在好友。
S103:若判断出潜在好友是目标用户的真实聊天对象,则将潜在好友加入目标用户的输入法朋友圈。
对于任一潜在好友来讲,由于该潜在好友可能是目标用户的真实聊天对象、也可能不是真实聊天对象,因此,需要对该潜在好友是否是目标用户的真实聊天对象进行判断。具体实现时,可以分别获取目标用户与该潜在好友各自在相同或相近时段内的一段聊天内容(包括多条聊天记录),然后判断两段聊天内容是否属于合理会话,若是,则可以判断出该潜在好友是目标用户的真实聊天对象。接下来,可以将该潜在好友加入到目标用户的输入法朋友圈列表中,以形成目标用户的输入法朋友圈,该输入法朋友圈中包含了所有使用目标输入法与目标用户进行过聊天的用户,可以理解的是,该输入法朋友圈类似于聊天软件的好友列表,每个目标用户的输入法朋友圈指的就是各自的输入法好友列表。
进而,可以基于构建好的输入法朋友圈提升输入法产品的娱乐性。一种可选的实现方式是,本实施例可以生成目标总结和/或目标评语,其中,所述目标总结是根据所述目标用户与所述输入法朋友圈好友在预设时段内的互动情况生成的,所述目标评语是对所述目标总结进行的评语。
在本实现方式中,可以根据目标用户与其输入法朋友圈好友之间的互动情况,生成对应于目标用户的一条或多条总结,这些总结即所述目标总结,而针对每一条总结可以对应编辑一条有意思的评语,这些评语即为所述目标评语,下面举例说明。
例如,对于输入法朋友圈中的各个好友,可以通过收集并标注一些带性别标签的好友的音频数据,建立一个判断性别的二分类模型,利用该模型统计出输入法朋友圈在一段时间内(比如一年内)男女好友的个数,比如分别为100个和200个,可以将该男女好友个数作为一条总结。基于此,可以根据该男女好友个数总结向目标用户给出相应的评语,比如“您今年使用输入法总共和300个人聊过天,其中200个女性,您的女人缘不错喔!”。
又例如,对于输入法朋友圈中的各个好友,可以计算目标用户与每一好友间之间的亲密度,可以根据目标用户在一段时间内(比如一年内)与好友之间的联系频度确定二者之间的亲密度,联系频度越高则亲密度越高,反之亦然,并将亲密度作为一条总结。基于此,可以根据该亲密度总结向目标用户给出相应的评语,比如“您今年与张XX以及李XX很亲密哦”。此外,还可以按照亲密度进行年度好友排序。
再例如,对于输入法朋友圈中的各个好友,可以统计目标用户与好友在一段时间内(比如一年内)的聊天内容中的一些常用词或表情的使用频率,比如词语“呵呵”、“嗯嗯”等的使用频率,并将词语或表情的使用频率作为一条总结。基于此,可以根据该使用频率总结向目标用户给出相应的评语,比如“您今年总共使用“呵呵”2000次,其中对好友A共使用200次,你们间每5句聊天内容必有“呵呵”,这位好友是多么的让您无语”。
再例如,对于输入法朋友圈中的各个好友,可以确定目标用户与好友之间聊天时的普通话标准程度、手写输入字体美感度、语速等,并将普通话标准程度、手写输入字体美感度、语速分别作为一条总结。基于此,可以根据每条总结向目标用户给出相应的评语,比如“您的字体太差喽,快快去报个书法班练习吧”。
进一步的,本实施还可以根据目标用户的目标总结和目标评语设计一些有意思的游戏,例如,向目标用户提供其输入法朋友圈中某好友的输入法使用评语,让目标用户猜测该好友是谁,以提高输入法的娱乐性等,这些有意思的游戏和略带调皮的评语进一步可以增加输入法的趣味性。
综上,本实施例提供的一种朋友圈生成方法,在获取到目标用户使用目标输入法输出的目标聊天记录后,若确定出目标聊天记录对应至少一个潜在好友,则判断该潜在好友是否为目标用户的真实聊天对象,其中,该潜在好友指的是目标用户使用目标聊天记录进行聊天的可能聊天对象,进而,若判断出该潜在好友是目标用户的真实聊天对象,则可以将该潜在好友加入目标用户的输入法朋友圈。可见,本申请在获取到目标用户使用目标输入法输出的目标聊天记录后,可以根据该聊天记录确定出目标用户的真实聊天对象并将其加入目标用户的输入法朋友圈,从而实现了基于目标用户使用目标输入法输出的聊天内容生成目标用户的输入法朋友圈,以便后续可以基于输入法朋友圈提升输入法产品的娱乐性。
第二实施例
本实施例将对第一实施例步骤S102“判断潜在好友是否为目标用户的真实聊天对象”的具体实现过程进行介绍。需要说明的是,后续内容中提及的聊天对象均为使用聊天设备(比如手机、台式电脑、ipad等)进行聊天的用户。
需要说明的是,由于目标用户与好友之间的聊天模式是非常随意的,并不一定是目标用户说一句对方回复一句,有可能是目标用户说多句,对方才回复一句,或者,对方说一句,而目标用户回复多句;也有可能是对方只说了一半目标用户就已经开始回复,然后对方才把剩下的说完。
基于此,若通过第一实施例步骤S201-S203,根据目标聊天记录以及候选聊天记录对应的单句聊天内容,确定出目标用户的可能聊天对象,即确定出目标用户的潜在好友,是无法准确判断出目标用户与潜在好友之间是否真实在聊天的,也就是说,需要在确定出目标用户的潜在好友后,进一步判断出该潜在好友是否为目标用户的真实聊天对象,才能用以构建目标用户的输入法朋友圈。
需要说明的是,对于确定出的每一潜在好友,将分别按照下述方式判断其是否为目标用户的真实聊天对象。
参见图3,其示出了本实施例提供的判断潜在好友是否为目标用户的真实聊天对象的流程示意图,该流程包括以下步骤:
S301:获取目标用户在第一时间段内输出的第一聊天内容,并获取潜在好友在第二时间段内输出的第二聊天内容。
可以理解的是,第一聊天内容是目标用户利用自己的聊天设备(比如手机)输出的,第二聊天内容是某潜在好友利用自己的聊天设备(比如手机)输出的。
在本实施例中,为了判断出潜在好友是否为目标用户的真实聊天对象,首先需要获取到目标用户在第一时间段内输出的第一聊天内容,并获取潜在好友在第二时间段内输出的第二聊天内容。其中,第一时间段与第二时间段完全重叠或大部分重叠,确保目标用户输出的目标聊天记录与需要进行判断的潜在好友输出的聊天记录为同一时间段或相近时间段内输出的内容,并且,为了对所有潜在好友进行细粒度的筛选以确定出真实聊天对象,第一聊天内容中需包括目标用户在第一时间段内与所有潜在好友进行聊天的至少两条聊天记录,相对应的,第二聊天内容中需包括潜在好友在第二时间段内与目标用户进行聊天的至少两条聊天记录,需要说明的是,第一聊天内容是目标用户使用目标输入法输出的聊天内容。
S302:根据第一聊天内容与第二聊天内容,判断潜在好友是否为目标用户的真实聊天对象。
在本实施例中,通过步骤S301,获取到目标用户在第一时间段内输出的第一聊天内容以及潜在好友在第二时间段内输出的第二聊天内容后,可以对第一聊天内容以及第二聊天内容进行相关性分析,根据分析结果确定潜在好友是否为目标用户的真实聊天对象。
需要说明的是,在本实施例的一种实现方式中,通过步骤S301获取到目标用户在第一时间段内输出的第一聊天内容以及潜在好友在第二时间段内输出的第二聊天内容后,在执行步骤S302之前,还可以通过执行步骤A-B对第一聊天内容以及第二聊天内容进行处理:
步骤A:将第一聊天内容按照不同的聊天对象进行归类,得到与潜在好友进行聊天的各条聊天记录,形成潜在记录集合。
在本实现方式中,第一聊天内容是目标用户在第一时间段内输出的聊天内容,需要将第一聊天内容按照不同的聊天对象进行归类,这是因为,第一聊天内容可能包括目标用户与一个或多个潜在好友的聊天记录、也可能包括与一个或多个非潜在好友的聊天记录、甚至可能包括与非用户进行聊天的聊天记录,因此,需要将第一聊天内容按照不同的聊天对象进行归类,从中筛选出与第二聊天内容对应的潜在好友进行聊天的各条聊天记录,形成对应于该潜在好友的潜在记录集合。
步骤B:将第二聊天内容按照不同的聊天对象进行归类,得到与目标用户进行聊天的各条聊天记录,形成目标记录集合。
在本实现方式中,第二聊天内容是潜在好友在第二时间段内输出的聊天内容,需要将第二聊天内容按照不同的聊天对象进行归类,这是因为,第二聊天内容可能包括潜在好友与目标用户的聊天记录、也可能包括与一个或多个其它聊天对象的聊天记录、甚至可能包括与非用户进行聊天的聊天记录,因此,需要将第二聊天内容按照不同的聊天对象进行归类,从中筛选出与目标用户进行了聊天的各条聊天记录,形成对应于目标用户的目标记录集合。
需要说明的是,一种可选的实施方式是,在步骤A的具体实现过程中,可以利用预先构建的文档归类模型,将第一聊天内容按照不同的聊天对象进行归类,从中筛选出与第二聊天内容对应的潜在好友进行聊天的各条聊天记录,形成对应于该潜在好友的潜在记录集合。同理,在步骤B的具体实现过程中,也可以利用预先构建的文档归类模型,将第二聊天内容按照不同的聊天对象进行归类,从中筛选出与目标用户进行聊天的各条聊天记录,形成对应于目标用户的目标记录集合。其中,文档归类模型的具体的构建过程可参见后续第三实施例的相关介绍。
还需要说明的是,步骤A-B之间是互相独立的,因此,本实施例不限制二者的执行顺序,可以先执行步骤A再执行B、或先执行步骤B再执行步骤A、或者同时执行步骤A和步骤B。
进一步的,若通过执行步骤A-B,获取到潜在记录集合和目标记录集合后,则步骤S302“根据第一聊天内容与第二聊天内容,判断潜在好友是否为目标用户的真实聊天对象”的具体实现过程为:确定潜在记录集合以及目标记录集合组成一段会话的合理程度,并根据合理程度判断潜在好友是否为目标用户的真实聊天对象。
在本实施例的一种实现方式中,可以利用预先构建的篇章级会话模型,确定潜在记录集合以及目标记录集合组成一段会话的合理程度,其中,篇章级会话模型的功能是可以计算目标用户与潜在好友的一段聊天内容组成一段会话的合理程度得分(该得分用于表征潜在聊天记录集合与目标记录集合之间组成合理会话的合理程度),进而将该得分与一个预先设置的第二得分阈值进行比较,如果该得分大于第二得分阈值,则认为聊天记录集合与目标记录集合为合理对话,否则不是合理对话,需要说明的是,第二得分阈值可以根据实验进行合理设定。
需要说明的是,篇章级会话模型的具体构建过程可参见后续第四实施例的相关介绍。
综上,本实施例在确定出目标用户的至少一个潜在好友后,对潜在好友做了进一步筛选,即通过预先构建的文归类模型以及篇章级会话模型,判断出每个潜在好友是否为目标用户的真实聊天对象,以便后续利用这些真实的聊天对象构建目标用户的输入法朋友圈。
第三实施例
本实施例将对第二实施例中提及的文档归类模型的具体构建过程进行介绍。利用该预先构建的文档归类模型,可以对第二实施例中的第一聊天内容和第二聊天内容按照不同的聊天对象进行归类,进而形成潜在记录集合和目标记录集合。
需要说明的是,文档归类模型用于将用户A(该用户A可以是目标用户或任一潜在用户)在一段时间内的聊天内容,按照不同的聊天对象进行归档的模型,该模型是为了解决用户A在同一段时间内和多个聊天对象进行穿插交互聊天时、而无法区分用户A的聊天记录对应于哪个聊天对象的问题。
参见图4,其示出了本实施例提供的构建文档归类模型的流程示意图,该流程包括以下步骤:
S401:从对应于同一样本用户的大量聊天记录中,依次获取预设记录时间段内的聊天记录,并将当前获取的聊天记录作为第一训练样本,其中,第一训练样本包括样本用户与至少一个样本聊天对象进行聊天的聊天记录。
在本实施例中,为了构建文档归类模型,需要预先进行大量的准备工作,首先,选取部分使用目标输入法的用户作为样本用户,并从中获取到对应于同一个样本用户的大量聊天记录。具体的获取方式,可根据实际情况进行设定,本申请不进行限制,例如,可以通过网络渠道获取该聊天记录,比如从聊天类网站或论坛抓取;或者组织相关人员之间进行聊天,提交相应聊天数据;或者收集大量文本数据,自动组合成类似人人聊天的数据等。
进一步的,从获取的大量聊天记录中,依次获取预设记录时间段内(比如30分钟内)的聊天记录,作为第一训练样本,其中,第一训练样本需要包括该样本用户与至少一个样本聊天对象进行聊天的聊天记录,也就是说,第一训练样本中需要包括样本用户与至少一个其他样本用户进行聊天的聊天记录,进而可以根据该聊天记录,利用后续步骤构建文档归类模型。
S402:获取第一训练样本对应的输入文档和输出文档,其中,输入文档是第一训练样本未按照样本聊天对象进行归类的文档,输出文档是第一训练样本按照样本聊天对象进行归类后的文档。
在本实施例中,通过步骤S401获取到第一训练样本后,进一步的,可以通过对第一训练样本进行数据处理,得到其对应的输入文档和输出文档,其中,输入文档是将第一训练样本未按照样本聊天对象进行归类的文档,输出文档则是将第一训练样本按照样本聊天对象进行归类后的文档,接下来,本实施例将对获取第一训练样本对应的输入文档和输出文档的具体实现过程进行描述:
(1)对同一样本用户的大量聊天记录进行标注
在本实施例中,在获取到对应于同一个样本用户的大量聊天记录后,可以分别标注该样本用户的聊天记录的每条聊天内容对应的样本聊天对象编号。
举例说明:可以对某一样本用户的大量聊天记录中每条聊天内容对应的样本聊天对象编号进行标注,得到如下一部分示例文档:
2018-2-15 22:08:43每年我都会拜读大神的年终总结!→对象1
2018-2-15 22:08:44很精彩。→对象1
2018-2-15 22:08:46人生标杆啊!→对象1
2018-2-15 22:20:03脸太大,要捂一下。→对象2
2018-2-15 22:20:05想起刺客信条里面的boss,也是用斗篷把眼睛遮住。→对象2
2018-2-15 22:32:46大神什么时候有时间回国,大家一起聚聚。→对象1
2018-2-15 22:32:50好的。→对象1
2018-2-15 23:12:29当年居然这么前排啊!→对象3
2018-2-15 23:13:20中间那个不是你么?→对象3
2018-2-15 23:13:40 5月份吧。→对象4
2018-2-15 23:13:42我记得我好像在家。→对象4
其中,每条聊天内容末尾箭头指向的对象表示该条聊天内容对应的样本聊天对象,比如上述例子中的前7条聊天内容中的第4条和第5条是在和对象2聊天,其他5句和对象1聊天。
(2)对上述标注文档中每条聊天记录进行分词
在对上述样本用户的大量聊天记录进行标注后,进而可以利用现有或未来出现的分词方法对其进行分词处理。
举例说明:可以对上述举例中进行对象标注后得到的文档进行分词处理,得到分词后的文档:
2018-2-15 22:08:43每年我都会拜读大神的年终总结!→对象1
2018-2-15 22:08:44很精彩。→对象1
2018-2-15 22:08:46人生标杆啊!→对象1
2018-2-15 22:20:03脸太大,要捂一下。→对象2
2018-2-15 22:20:05想起刺客信条里面的boss,也是用斗篷把眼睛遮住。→对象2
2018-2-15 22:32:46大神什么时候有时间回国,大家一起聚聚。→对象1
2018-2-15 22:32:50好的。→对象1
2018-2-15 23:12:29当年居然这么前排啊!→对象3
2018-2-15 23:13:20中间那个不是你么?→对象3
2018-2-15 23:13:40 5月份吧。→对象4
2018-2-15 23:13:42我记得我好像在家。→对象4
(3)对分词后的文档进行分割
在对上述样本用户的大量聊天记录进行分词后,进而还可以根据预先设置的记录时间段对分词后的文档进行分割,例如,将分词后的文档以30分钟为一个记录时间段进行分割。
具体来讲,将分词后的样本用户的大量聊天记录从第一条聊天记录开始,将预先设置的记录时间段以内的聊天记录作为第一训练样本。例如,将分词后的文档从第一条聊天记录开始,持续30分钟以内的聊天记录作为第一训练样本。
举例说明:可以将上述举例中分词后得到文档以30分钟为预设时间段进行分割,得到分割后的第一段文档为:
2018-2-15 22:08:43每年我都会拜读大神的年终总结!→对象1
2018-2-15 22:08:44很精彩。→对象1
2018-2-15 22:08:46人生标杆啊!→对象1
2018-2-15 22:20:03脸太大,要捂一下。→对象2
2018-2-15 22:20:05想起刺客信条里面的boss,也是用斗篷把眼睛遮住。→对象2
2018-2-15 22:32:46大神什么时候有时间回国,大家一起聚聚。→对象1
2018-2-15 22:32:50好的。→对象1
基于此,可以得到第一训练样本,并将其作为输入文档,为方便描述,可以将输入文档用符号表示,以上述7条聊天记录组成的输入文档为例,其符号表示结果为:
[s1_1,s2_1,s3_1,s4_2,s5_2,s6_1,s7_1]
其中,s表示输入文档中每条聊天记录,紧挨着s的数字表示每条聊天记录的编号,下划线后的数字表示每条聊天记录对应的聊天对象,比如s2_1中的2表示输入文档中的第2条聊天记录,1表示该条聊天记录对应的聊天对象。
(4)打乱输入文档中每条聊天记录的顺序
在本实施例中,为了丰富训练样本数据,可以将输入文档中的每条聊天记录的顺序随机打乱,从而得到一或多个随机打乱后的聊天文档。例如,随机将上述输入文档中聊天记录的顺序打乱,可以得到如下符号表示的随机打乱后的输入文档:
[s6_1,s5_2,s1_1,s3_1,s4_2,s7_1,s2_1]
(5)构建输出文档
对于每一输入文档,将输入文档中的各条聊天记录按照聊天对象进行归类,得到按照聊天对象进行归类后的输出文档。同时,为了区分输出文档中对应于不同聊天对象的聊天记录,需要在与不同聊天对象的最后一条聊天记录后加入一个特殊符号,用于表示该聊天结束,这里特殊符号用“<end>”表示。例如,上述随机打乱的输入文档和原始输入文档均对应如下的输出文档:
[s1_1,s2_1,s3_1,s6_1,s7_1,<end>,s4_2,s5_2,<end>]
(6)将输入文档和输出文档进行独热(one-hot)向量化
在本实施例中,可以利用one-hot编码方式,对输入文档和输出文档进行向量化,其中,one-hot向量的维数为一个词典维度,且只有词编号对应的那一维数值为1,其他维全部为0。假设词典只有3个词,即词典维度为3,分别为“我”,“爱”,“中国”,编号分别为1、2、3,则三个词对应的one-hot向量分别为:
我:[1,0,0]
爱:[0,1,0]
中国:[0,0,1]
假设未被打乱的原始输入文档只有三条聊天记录:
[s1_1,s2_2,s3_1]
其中,每条聊天记录的文字内容分别为:
s1_1:我爱中国
s2_2:爱我
s3_1:爱
则该输入文档对应的one-hot向量化形式为文档中所有词的one-hot向量的拼接:
[[1,0,0],[0,1,0],[0,0,1],[0,1,0],[1,0,0],[0,1,0]]
通过上述方法可得到该输入文档对应的输出文档为:
[s1_1,s3_1,<end>,s2_2,<end>]
与输入文档不同,输出文档多了一个特殊符号“<end>”,因此输出文档对应的one-hot向量比输入文档对应的one-hot向量多n维(n表示文档中对应的聊天对象个数),比如,上述输出文档[s1_1,s3_1,<end>,s2_2,<end>]对应的one-hot向量化形式为:
[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,1,0,0],[0,0,0,1],[0,1,0,0],[1,0,0,0],[0,0,0,1]]
其中,黑色粗体向量表示的是特殊符号“<end>”的one-hot向量。
进而在通过上述步骤S402获取到第一训练样本对应的输入文档和输出文档后,可继续执行步骤S403。
步骤S403:利用输入文档与输出文档对初始构建的文档归类模型进行训练,直到满足训练条件为止。
在本实施例中,为了构建文档归类模型,首先需要构建一个经参数初始化的初始文档归类模型,然后,依次利用步骤S402获取到的每一第一训练样本对应的输入文档和输出文档,对该初始构建的文档归类模型进行多轮训练,不断对模型进行参数更新,直到满足训练条件为止。
其中,由于文档归类模型的功能是根据输入文档,直接逐字预测出输出文档。所以,一个合适的文档归类模型结构应该可以接收所有的输入词向量,另外,由于输入文档中的各条聊天记录可能是与不同聊天对象进行穿插聊天的聊天记录,这需要预测的输出文档是按照聊天对象顺序分割的,基于此,用于进行文档归类的初始文档归类模型结构,可以是现有的基于深度神经网络且带注意力机制的编码器-解码器模型。
具体地,该初始文档归类模型的编码器可以为双向循环神经网络、深层卷积神经网络等拥有足够大视野的神经网络结构,而解码器则可以为单向循环神经网络,一般编码器的隐层数可以设置为3~12层,解码器的隐层数可以设置为1~3层。
当构建一个初始文档归类模型后,便可以进行模型训练,进而更新模型中的相关参数,提高该模型对文档归类的准确性。
具体来讲,可以将输入文档中所有词向量的特征拼接作为文档归类模型的输入数据,同时,将输出文档中所有词向量的特征拼接作为文档归类模型的输出结果,对初始文档归类模型进行训练。例如,利用步骤S402获取到的第一训练样本对应的输入文档和输出文档的词向量抽象表达为:
输入文档:X=[x1,x2,x3,x4,x5,x6]
输出文档:Y=[y1,y2,y3,y4,y5,y6,y7,y8]
其中,X和Y分别表示输入文档和输出文档的词向量序列,x和y分别表示输入文档以及输出文档中的分词的词向量。
文档归类模型的目标函数为:
Figure BDA0001750620830000191
其中,θ表示文档归类模型的参数;X表示输入文档的词向量序列;Y表示输出文档的词向量序列;yi表示Y中第i个词语的词向量;
Figure BDA0001750620830000192
表示yi之前的历史词向量序列[y1,...,yi-1],当i=1时,该词向量序列为空。
上述概率公式等式的右边表示,计算输出文档的词向量序列中的某个词向量yi时,需要看到输入文档的词向量序列X以及该词向量yi之前的历史词向量序列[y1,...,yi-1]。
接下来,当利用第一训练样本的输入文档与输出文档完成文档归类模型的本轮训练后,判断是否满足训练结束条件,比如是否达到预设的训练轮数、或者模型参数的变化量是否小于预设阈值且是否连续多次小于该预设阈值。若是,则结束训练,以得到训练好的文档归类模型;若否,则获取下一第一训练样本,按照上述方式对文档归类模型进行下一轮训练。
需要说明的是,本实施例可以使用随机梯度下降等算法即可优化上述文档归类模型的目标函数,并且训练完毕的文档归类模型可以用于将聊天对象穿插的输入文档序列转化为按照聊天对象顺序分割的输出文档序列。
综上,利用本实施例训练而成的文档归类模型,可以将任一用户(目标用户或潜在用户)在一段时间内的各条聊天记录按照聊天对象进行归档,从而可以解决该用户在同一段时间和多个聊天对象进行交互聊天、而无法区分该用户的聊天记录对应于哪个聊天对象的问题。
第四实施例
需要说明的是,由于目标用户与好友之间的聊天模式通常比较随意,不仅仅是对方说一句目标用户说一句的固定模式,而是目标用户可能连续说多句后,对方才说一句,或者目标用户说一句,对方连续说多句,或者二者都连续说多句,因而,根据目标用户与潜在好友各自的一句聊天记录,难以确定潜在好友是否为目标用户的真实聊天对象,为了提高判断结果的准确性,可以判断目标用户与潜在好友各自的一段聊天记录是否属于合理会话,即判断上述实施例中的潜在记录集合与目标记录集合之间的聊天内容是否属于一次合理会话,来确定潜在好友是否为目标用户的真实聊天对象。
本实施例将对第二实施例中提及的篇章级会话模型的具体构建过程进行介绍。利用该预先构建的篇章级会话模型,可以计算第二实施例中潜在记录集合以及目标记录集合组成一段会话的合理程度得分。
参见图5,其示出了本实施例提供的构建篇章级会话模型的流程示意图,该流程包括以下步骤:
S501:从对应于不同样本用户的大量聊天记录中,依次获取预设记录时间段内的聊天记录,并将当前获取的聊天记录作为第二训练样本,其中,第二训练样本包括两个样本用户之间的聊天记录。
在本实施例中,为了构建篇章级会话模型,需要预先进行大量的准备工作,首先,选取部分使用目标输入法的用户作为样本用户,并从中获取到对应于不同样本用户的大量聊天记录。具体的获取方式,可根据实际情况进行设定,本申请不进行限制,例如,可以通过网络渠道获取该聊天记录,如从聊天类网站或论坛抓取;或者组织相关人员之间进行聊天,提交相应聊天数据;或者收集大量文本数据,自动组合成类似人人聊天的数据等。
进一步的,从获取的大量聊天记录中,依次获取预设记录时间段内(比如30分钟内)的聊天记录,作为第二训练样本,其中,第二训练样本需要包括两个样本用户之间的聊天记录,进而可以根据该聊天记录,利用步骤S502构建篇章级会话模型。
S502:利用第二训练样本对初始构建的篇章级会话模型进行训练,直到满足训练结束条件为止。
在本实施例中,通过步骤S501获取到第二训练样本后,进一步的,可以通过对第二训练样本进行数据处理,得到其对应的输入文档和输出文档,其中,输入文档指的是最先发起聊天的用户输出的聊天记录,输出文档则指的是第二训练样本中另外一个用户输出的聊天记录,输入文档和输出文档构成一个文档对,接下来,本实施例将对获取第二训练样本对应的输入文档和输出文档的具体实现过程进行描述:
(1)对不同样本用户的大量聊天记录进行分词
在获取到对应于不同样本用户的大量聊天记录后,进而可以利用现有或未来出现的分词方法对其进行分词处理。
(2)对分词后文档进行分割以生成输入文档和输出文档
在对上述不同样本用户的大量聊天记录进行分词后,进而还可以根据预先设置的记录时间段对分词后的文档进行分割,例如,将分词后的文档以30分钟为一个记录时间段进行分割。
具体来讲,将分词后的不同样本用户的大量聊天记录从第一条聊天记录开始,将预先设置的记录时间段以内的聊天记录作为第二训练样本。例如,将分词后的文档从第一条聊天记录开始,持续30分钟以内的聊天记录作为第二训练样本。该第二训练样本中包含两个用户之间的聊天记录,需要将两用户各自输出的聊天记录分别抽取出来,将最先发起聊天的用户输出的聊天记录作为输入文档,另外一个用户输出的聊天记录则作为输出文档,构成一个文档对。
举例说明:通过步骤S501获取的不同样本用户的大量聊天记录的一部分文档为:
用户1:2018-2-15 22:08:43每年我都会拜读大神的年终总结!
用户1:2018-2-15 22:08:44很精彩。
用户1:2018-2-15 22:08:46人生标杆啊!
用户2:2018-2-15 22:08:52彼此彼此!我只是写出来而已。
用户1:2018-2-15 22:32:46大神什么时候有时间回国,大家一起聚聚。
用户2:2018-2-15 22:32:48你请客我就回,嘿嘿!
用户1:2018-2-15 22:32:50好的。
再对上述文档依次进行分词处理及以30分钟为预设时间段进行分割,进而得到第二训练样本对应的输入文档及输出文档为:
输入文档:
每年我都会拜读大神的年终总结!
很精彩。
人生标杆啊!
大神什么时候有时间回国,大家一起聚聚。
好的。
输出文档:
彼此彼此!我只是写出来而已。
你请客我就回,嘿嘿!
(3)将输入文档和输出文档进行one-hot向量化
需要说明的是,本步骤中将输入文档和输出文档进行one-hot向量化与上述第三实施例中步骤(6)中将输入文档和输出文档进行one-hot向量化的实现过程一致,相关之处请参见第三实施例的介绍,在此不再赘述。
另外,本实施例在通过上述方法获取到第二训练样本对应的输入文档和输出文档后,进一步的,可以利用输入文档与输出文档对初始构建的篇章级会话模型进行训练,直到满足训练条件为止。
在本实施例中,与构建文档归类模型相类似,为了构建篇章级会话模型,首先需要构建一个经参数初始化的初始篇章级会话模型,然后,利用步骤S501获取到的每一第二训练样本对应的输入文档和输出文档,对该初始构建的篇章级会话模型进行多轮训练,不断对模型进行参数更新,直到满足训练条件为止。
其中,由于篇章级会话模型实现的是根据输入文档,直接逐字预测出输出文档,并给出一个二者构成会话的合理程度得分。并且,考虑到用户聊天时说的每一句话与聊天对象说过的话和自己曾经说过的话均有关系,所以,用于进行篇章级会话建模的初始篇章级会话模型结构,可以是现有的基于深度神经网络且带注意力机制的编码器-解码器模型。
具体地,该初始篇章级会话模型的编码器可以为双向循环神经网络、深层卷积神经网络等拥有足够大视野的神经网络结构,而解码器则可以为单向循环神经网络,一般编码器的隐层数可以设置为3~12层,解码器的隐层数可以设置为1~3层。
当构建一个初始篇章级会话模型后,便可以进行模型训练,进而更新模型中的相关参数,提高该模型的识别准确性。
具体来讲,与第三实施例中对初始文档归类模型的训练过程相类似,可以将输入文档中所有词向量的特征拼接作为篇章级会话模型的输入数据,同时,将输出文档中所有词向量的特征拼接作为篇章级会话模型的输出结果,对初始篇章级会话模型进行训练。例如,将获取到的第二训练样本对应的输入文档和输出文档的词向量序列抽象表达为X和Y,再利用x和y分别表示输入文档以及输出文档中的分词的词向量。
篇章级会话模型的目标函数为:
Figure BDA0001750620830000231
其中,θ表示篇章级会话模型的参数,;X表示输入文档的词向量序列;Y表示输出文档的词向量序列;yi表示Y中第i个词语的词向量;
Figure BDA0001750620830000232
表示yi之前的历史词向量序列[y1,...,yi-1],当i=1时,该词向量序列为空。
上述概率公式等式的右边表示,计算输出文档的词向量序列中的某个词向量yi时,需要看到输入文档的词向量序列X以及该词向量yi之前的历史词向量序列[y1,...,yi-1]。
接下来,当利用第二训练样本的输入文档与输出文档完成篇章级会话模型的本轮训练后,判断是否满足训练结束条件,比如是否达到预设的训练轮数、或者模型参数的变化量是否小于预设阈值且是否连续多次小于该预设阈值。若是,则结束训练,以得到训练好的篇章级会话模型;若否,则获取下一第二训练样本,按照上述方式对篇章级会话模型进行下一轮训练。
需要说明的是,本实施例可以使用随机梯度下降等算法即可优化上述篇章级会话模型的目标函数,并且训练完毕的篇章级会话模型可以用于通过给定输入和输出文档,计算出两者构成会话的概率值。
还需要说明的是,本实施例中构建的篇章级会话模型和第三实施例中构建文档归类模型的模型结构可以是相同的。
综上,利用本实施例训练而成的篇章级会话模型,可以通过给定的输入文档和输出文档,计算出两者构成会话的合理程度得分,即可以得到表征潜在聊天记录集合与目标记录集合之间组成合理会话的合理程度的得分,从而可以根据该得分值,确定出潜在聊天记录集合与目标记录集合是否为合理对话。
第五实施例
本实施例将对一种朋友圈生成装置进行介绍,相关内容请参见上述方法实施例。
参见图6,为本实施例提供的一种朋友圈生成装置的组成示意图,该装置600包括:
聊天记录获取单元601,用于获取目标用户使用目标输入法输出的目标聊天记录;
潜在好友确定单元602,用于确定所述目标聊天记录是否对应至少一个潜在好友,所述潜在好友为所述目标用户使用所述目标聊天记录进行聊天的可能聊天对象;
聊天对象判断单元603,用于若确定所述目标聊天记录对应至少一个潜在好友,则判断所述潜在好友是否为所述目标用户的真实聊天对象;
朋友圈生成单元604,用于若所述潜在好友为所述目标用户的真实聊天对象,则将所述潜在好友加入所述目标用户的输入法朋友圈。
在本实施例的一种实现方式中,所述潜在好友确定单元602包括:
候选聊天记录获取子单元,用于获取与所述目标聊天记录在记录时间上相近的至少一个候选聊天记录;
合理对话判断子单元,用于判断所述目标聊天记录与所述候选聊天记录是否为合理对话;
潜在好友确定子单元,用于若所述目标聊天记录与所述候选聊天记录为合理对话,则将使用所述候选聊天记录进行聊天的候选用户作为所述潜在好友。
在本实施例的一种实现方式中,所述聊天对象判断单元603包括:
聊天内容获取子单元,用于获取所述目标用户在第一时间段内输出的第一聊天内容,并获取所述潜在好友在第二时间段内输出的第二聊天内容;
其中,所述第一时间段与所述第二时间段完全重叠或大部分重叠,所述第一聊天内容中包括与所述潜在好友进行聊天的至少两条聊天记录,所述第二聊天内容中包括与所述目标用户进行聊天的至少两条聊天记录,所述第一聊天内容是所述目标用户使用所述目标输入法输出的聊天内容;
聊天对象判断子单元,用于根据所述第一聊天内容与所述第二聊天内容,判断所述潜在好友是否为所述目标用户的真实聊天对象。
在本实施例的一种实现方式中,所述装置还包括:
第一归类单元,用于将所述第一聊天内容按照不同的聊天对象进行归类,得到与所述潜在好友进行聊天的各条聊天记录,形成潜在记录集合;
第二归类单元,用于将所述第二聊天内容按照不同的聊天对象进行归类,得到与所述目标用户进行聊天的各条聊天记录,形成目标记录集合;
相应地,所述聊天对象判断子单元包括:
合理程度确定子单元,用于确定所述潜在记录集合以及所述目标记录集合组成一段会话的合理程度;
第一聊天对象判断子单元,用于根据所述合理程度判断所述潜在好友是否为所述目标用户的真实聊天对象。
在本实施例的一种实现方式中,所述第一归类单元具体用于:
利用预先构建的文档归类模型,将所述第一聊天内容按照不同的聊天对象进行归类;
相应地,所述第二归类单元具体用于:
利用所述文档归类模型,将所述第二聊天内容按照不同的聊天对象进行归类。
在本实施例的一种实现方式中,所述合理程度确定子单元具体用于:
利用预先构建的篇章级会话模型,确定所述潜在记录集合以及所述目标记录集合组成一段会话的合理程度。
在本实施例的一种实现方式中,所述装置还包括:
第二训练样本获取单元,用于从对应于不同样本用户的大量聊天记录中,依次获取预设记录时段内的聊天记录,并将当前获取的聊天记录作为第二训练样本,其中,所述第二训练样本包括两个样本用户之间的聊天记录;
篇章级会话模型构建单元,用于利用所述第二训练样本对初始构建的篇章级会话模型进行训练,直到满足训练结束条件为止。
在本实施例的一种实现方式中,所述装置还包括:
总结评语生成单元,用于生成目标总结和/或目标评语;
其中,所述目标总结是根据所述目标用户与所述输入法朋友圈好友在预设时段内的互动情况生成的,所述目标评语是对所述目标总结进行的评语。
进一步地,本申请实施例还提供了一种朋友圈生成装置,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述朋友圈生成方法的任一种实现方法。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述朋友圈生成方法的任一种实现方法。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述朋友圈生成方法的任一种实现方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (14)

1.一种朋友圈生成方法,其特征在于,包括:
获取目标用户使用目标输入法输出的目标聊天记录;
若确定所述目标聊天记录对应至少一个潜在好友,所述潜在好友为所述目标用户使用所述目标聊天记录进行聊天的可能聊天对象,则判断所述潜在好友是否为所述目标用户的真实聊天对象;
若是,则将所述潜在好友加入所述目标用户的输入法朋友圈;
所述可能聊天对象为所述目标聊天记录与在记录时间上相差第一预设时间长度以内的至少一条候选聊天记录组成合理对话的所述候选聊天记录对应的聊天对象;所述合理对话为所述目标聊天记录与所述候选聊天记录组成对话的得分大于预先设定的第一得分阈值;
所述判断所述潜在好友是否为所述目标用户的真实聊天对象,包括:
获取所述目标用户在第一时间段内输出的第一聊天内容,并获取所述潜在好友在第二时间段内输出的第二聊天内容;
其中,所述第一时间段与所述第二时间段具有重叠的部分,所述第一聊天内容中包括与所述潜在好友进行聊天的至少两条聊天记录,所述第二聊天内容中包括与所述目标用户进行聊天的至少两条聊天记录,所述第一聊天内容是所述目标用户使用所述目标输入法输出的聊天内容;
根据所述第一聊天内容与所述第二聊天内容,判断所述潜在好友是否为所述目标用户的真实聊天对象。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标用户在第一时间段内输出的第一聊天内容,并获取所述潜在好友在第二时间段内输出的第二聊天内容之后,还包括:
将所述第一聊天内容按照不同的聊天对象进行归类,得到与所述潜在好友进行聊天的各条聊天记录,形成潜在记录集合;
将所述第二聊天内容按照不同的聊天对象进行归类,得到与所述目标用户进行聊天的各条聊天记录,形成目标记录集合;
相应地,所述根据所述第一聊天内容与所述第二聊天内容,判断所述潜在好友是否为所述目标用户的真实聊天对象,包括:
确定所述潜在记录集合与所述目标记录集合组成一段对话的合理程度,并根据所述合理程度判断所述潜在好友是否为所述目标用户的真实聊天对象;
所述合理程度为所述目标用户与所述潜在好友的聊天内容组成一段对话的得分。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一聊天内容按照不同的聊天对象进行归类,包括:
利用预先构建的文档归类模型,将所述第一聊天内容按照不同的聊天对象进行归类;
相应地,所述将所述第二聊天内容按照不同的聊天对象进行归类,包括:
利用预先构建的文档归类模型,将所述第二聊天内容按照不同的聊天对象进行归类。
4.根据权利要求3所述的方法,其特征在于,所述确定所述潜在记录集合以及所述目标记录集合组成一段会话的合理程度,包括:
利用预先构建的篇章级对话模型,确定所述潜在记录集合与所述目标记录集合组成一段对话的合理程度。
5.根据权利要求4所述的方法,其特征在于,按照下述方式构建所述篇章级对话模型:
从对应于不同样本用户的聊天记录中,依次获取预设记录时间段内的聊天记录,并将当前获取的聊天记录作为训练样本,其中,所述训练样本包括两个样本用户之间的聊天记录;
利用所述训练样本对初始构建的篇章级对话模型进行训练,直到满足训练结束条件为止。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
生成目标总结和/或目标评语;所述目标总结是根据所述目标用户与输入法朋友圈的好友在预设时段内的互动情况生成的,所述目标评语是对所述目标总结进行的评语。
7.一种朋友圈生成装置,其特征在于,包括:
聊天记录获取单元,用于获取目标用户使用目标输入法输出的目标聊天记录;
潜在好友确定单元,用于确定所述目标聊天记录是否对应至少一个潜在好友,所述潜在好友为所述目标用户使用所述目标聊天记录进行聊天的可能聊天对象;
聊天对象判断单元,用于若确定所述目标聊天记录对应至少一个潜在好友,则判断所述潜在好友是否为所述目标用户的真实聊天对象;
朋友圈生成单元,用于若所述潜在好友为所述目标用户的真实聊天对象,则将所述潜在好友加入所述目标用户的输入法朋友圈;
所述可能聊天对象为所述目标聊天记录与在记录时间上相差第一预设时间长度以内的至少一条候选聊天记录组成合理对话的所述候选聊天记录对应的聊天对象;所述合理对话为所述目标聊天记录与所述候选聊天记录组成对话的得分大于预先设定的第一得分阈值;
所述聊天对象判断单元包括:
聊天内容获取子单元,用于获取所述目标用户在第一时间段内输出的第一聊天内容,并获取所述潜在好友在第二时间段内输出的第二聊天内容;
其中,所述第一时间段与所述第二时间段具有重叠的部分,所述第一聊天内容中包括与所述潜在好友进行聊天的至少两条聊天记录,所述第二聊天内容中包括与所述目标用户进行聊天的至少两条聊天记录,所述第一聊天内容是所述目标用户使用所述目标输入法输出的聊天内容;
聊天对象判断子单元,用于根据所述第一聊天内容与所述第二聊天内容,判断所述潜在好友是否为所述目标用户的真实聊天对象。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一归类单元,用于将所述第一聊天内容按照不同的聊天对象进行归类,得到与所述潜在好友进行聊天的各条聊天记录,形成潜在记录集合;
第二归类单元,用于将所述第二聊天内容按照不同的聊天对象进行归类,得到与所述目标用户进行聊天的各条聊天记录,形成目标记录集合;
相应地,所述聊天对象判断子单元包括:
合理程度确定子单元,用于确定所述潜在记录集合与所述目标记录集合组成一段对话的合理程度;
第一聊天对象判断子单元,用于根据所述合理程度判断所述潜在好友是否为所述目标用户的真实聊天对象;
所述合理程度为所述目标用户与所述潜在好友的聊天内容组成一段对话的得分。
9.根据权利要求8所述的装置,其特征在于,所述第一归类单元具体用于:
利用预先构建的文档归类模型,将所述第一聊天内容按照不同的聊天对象进行归类;
相应地,所述第二归类单元具体用于:
利用预先构建的文档归类模型,将所述第二聊天内容按照不同的聊天对象进行归类。
10.根据权利要求9所述的装置,其特征在于,所述合理程度确定子单元具体用于:
利用预先构建的篇章级对话模型,确定所述潜在记录集合以及所述目标记录集合组成一段对话的合理程度。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
训练样本获取单元,用于从对应于不同样本用户的聊天记录中,依次获取预设记录时间段内的聊天记录,并将当前获取的聊天记录作为训练样本,其中,所述训练样本包括两个样本用户之间的聊天记录;
篇章级对话模型构建单元,用于利用所述训练样本对初始构建的篇章级对话模型进行训练,直到满足训练结束条件为止。
12.根据权利要求7-11任一项所述的装置,其特征在于,所述装置还包括:
总结评语生成单元,用于生成目标总结和/或目标评语;所述目标总结是根据所述目标用户与输入法朋友圈的好友在预设时段内的互动情况生成的,所述目标评语是对所述目标总结进行的评语。
13.一种朋友圈生成装置,其特征在于,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,当所述指令被所述处理器执行时使所述处理器执行权利要求1-6任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-6任一项所述的方法。
CN201810864720.0A 2018-08-01 2018-08-01 一种朋友圈生成方法及装置 Active CN109062900B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810864720.0A CN109062900B (zh) 2018-08-01 2018-08-01 一种朋友圈生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810864720.0A CN109062900B (zh) 2018-08-01 2018-08-01 一种朋友圈生成方法及装置

Publications (2)

Publication Number Publication Date
CN109062900A CN109062900A (zh) 2018-12-21
CN109062900B true CN109062900B (zh) 2023-01-17

Family

ID=64832451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810864720.0A Active CN109062900B (zh) 2018-08-01 2018-08-01 一种朋友圈生成方法及装置

Country Status (1)

Country Link
CN (1) CN109062900B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857943B (zh) * 2018-12-22 2023-04-18 深圳市珍爱捷云信息技术有限公司 权限等级确定方法、装置、计算机设备及可读存储介质
CN109947821B (zh) * 2019-03-14 2023-01-06 腾讯科技(深圳)有限公司 报告信息的生成方法、显示方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101291302A (zh) * 2008-05-27 2008-10-22 北京搜狗科技发展有限公司 一种利用输入法进行即时通讯的方法和一种输入法系统
CN102255890A (zh) * 2011-05-30 2011-11-23 苏宁军 一种用户推荐与信息交互的系统及方法
CN104601438A (zh) * 2014-04-28 2015-05-06 腾讯科技(深圳)有限公司 一种好友推荐方法和装置
CN107861967A (zh) * 2017-09-02 2018-03-30 长沙军鸽软件有限公司 一种智能匹配好友的方法、装置和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612483B2 (en) * 2006-05-31 2013-12-17 Red Hat, Inc. Link swarming in an open overlay for social networks and online services
US20150205822A1 (en) * 2014-01-17 2015-07-23 Humin, Inc. Methods and Systems for Contact Management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101291302A (zh) * 2008-05-27 2008-10-22 北京搜狗科技发展有限公司 一种利用输入法进行即时通讯的方法和一种输入法系统
CN102255890A (zh) * 2011-05-30 2011-11-23 苏宁军 一种用户推荐与信息交互的系统及方法
CN104601438A (zh) * 2014-04-28 2015-05-06 腾讯科技(深圳)有限公司 一种好友推荐方法和装置
CN107861967A (zh) * 2017-09-02 2018-03-30 长沙军鸽软件有限公司 一种智能匹配好友的方法、装置和系统

Also Published As

Publication number Publication date
CN109062900A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN106328147B (zh) 语音识别方法和装置
CN111541910B (zh) 一种基于深度学习的视频弹幕评论自动生成方法及系统
US11704501B2 (en) Providing a response in a session
US9740677B2 (en) Methods and systems for analyzing communication situation based on dialogue act information
CN108304439B (zh) 一种语义模型优化方法、装置及智能设备、存储介质
CN110209897B (zh) 智能对话方法、装置、存储介质及设备
US20160210279A1 (en) Methods and systems for analyzing communication situation based on emotion information
CN104376010B (zh) 用户推荐方法和装置
WO2019000326A1 (en) GENERATION OF ANSWERS IN AN AUTOMATED ONLINE CONVERSATION SERVICE
US9792909B2 (en) Methods and systems for recommending dialogue sticker based on similar situation detection
CN109933782B (zh) 用户情绪预测方法和装置
CN109062900B (zh) 一种朋友圈生成方法及装置
Almuqren et al. Using deep learning networks to predict telecom company customer satisfaction based on Arabic tweets
Andriotis et al. Smartphone message sentiment analysis
CN117474748A (zh) 一种图像生成方法、装置、电子设备及存储介质
Pentland et al. Does accuracy matter? Methodological considerations when using automated speech-to-text for social science research
CN114548263A (zh) 标注数据的校验方法、装置、计算机设备及存储介质
CN115497482B (zh) 一种语音对话方法及相关装置
Rathod et al. Emoji Recommendation System Using Deep Learning Algorithms
Keller et al. AMPEL: An Approach for Machine-learning Based Prediction and Evaluation of the Learned Success of Social Media Posts
Shakir et al. ACCURACY IN BINARY, TERNARY AND MULTI-CLASS CLASSIFICATION SENTIMENTAL ANALYSIS-A SURVEY.
CN117493539A (zh) 情感极性确定方法、装置及电子设备
Sravani et al. Multimodal Sentimental Classification using Long-Short Term Memory
Redi et al. Overview of the Multimedia Grand Challenges 2022
Cecillon Combining Graph and Text to Model Conversations: An Application to Online Abuse Detection

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