日记生成方法及装置转让专利

申请号 : CN201310260039.2

文献号 : CN104252439B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 董振华张弓王靓伟

申请人 : 华为技术有限公司

摘要 :

本发明提供一种日记生成方法及装置,涉及信息处理技术领域,可以基于各种不同来源的数据实现日记自动生成。该方法,包括:获取源数据集合和与所述源数据集合对应的日记描述数据集合;计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合;计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;将所述目标日记描述数据序列翻译成日记描述文字。本发明实施例主要应用于日记自动翻译处理中。

权利要求 :

1.一种日记生成方法,其特征在于,包括:

获取源数据集合和与所述源数据集合对应的日记描述数据集合;

计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据;

计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;

根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;

将所述目标日记描述数据序列翻译成日记描述文字;

所述日记生成方法还包括:

将所述源数据集合中的源数据进行相应词汇处理,得到词汇处理后的源数据;

将所述日记描述数据集合中的日记描述数据进行词汇处理,得到词汇处理后的日记描述数据。

2.根据权利要求1所述的日记生成方法,其特征在于,所述计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据包括:将位于同一预设时间段中的源数据集合和日记描述数据集合构建成一对平行语料,其中,一对平行语料记为(S_all,T_all),S_all表示所述一对平行语料中的源数据集合,S_all=G1,...Gm;G1表示S_all中第一个词汇处理后的源数据,Gm表示S_all中第m个词汇处理后的源数据,m为源数据集合中词汇处理后的源数据的个数;T_all表示所述一对平行语料中的日记描述数据集合,T_all=A1,...An,其中,A1表示T_all中第一个词汇处理后的日记描述数据,An表示T_all中第n个词汇处理后的日记描述数据,n为日记描述数据集合中词汇处理后的日记描述数据的个数;

计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括S_all中至少一个词汇处理后的源数据,所述日记描述数据序列包括T_all中至少一个词汇处理后的日记描述数据。

3.根据权利要求1所述的日记生成方法,其特征在于,所述计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合包括:计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合,所述日记描述数据序列包括日记描述数据集合中至少一个词汇处理后的日记描述数据。

4.根据权利要求1-3任一项所述的日记生成方法,其特征在于,所述根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,包括:搜索对位概率集合中各个P(S|T)和出现概率集合中各个P(T),其中,P(S|T)为源数据序列S与日记描述数据序列T的对位概率,P(T)为日记描述数据序列T在日记描述集合中出现的概率;

当S为待翻译源数据序列时,确定使得P(S|T)*P(T)的取值最大的T为目标日记描述数据序列。

5.根据权利要求1-3任一项所述的日记生成方法,其特征在于,所述根据所述目标日记描述数据序列生成日记描述文字,包括:将根据不同类型的待翻译数据序列得到的各个目标日记描述数据序列,按照所述不同类型的待翻译数据序列中各自包含的时间标识,生成日记描述文字。

6.一种日记生成装置,其特征在于,包括:

获取模块,用于获取源数据集合和与所述源数据集合对应的日记描述数据集合;

计算模块,用于计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据;

所述计算模块,还用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;

翻译模块,用于根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;

日记生成模块,用于根据所述目标日记描述数据序列生成日记描述文字;

词汇处理模块,用于将所述源数据集合中的源数据进行相应词汇处理,得到词汇处理后的源数据;

所述词汇处理模块,还用于将所述日记描述数据集合中的日记描述数据进行词汇处理,得到词汇处理后的日记描述数据。

7.根据权利要求6所述的日记生成装置,其特征在于,所述计算模块,具体用于将位于同一预设时间段中的源数据集合和日记描述数据集合构建成一对平行语料,其中,一对平行语料记为(S_all,T_all),S_all表示所述一对平行语料中的源数据集合,S_all=G1,...Gm;G1表示S_all中第一个词汇处理后的源数据,Gm表示S_all中第m个词汇处理后的源数据,m为源数据集合中词汇处理后的源数据的个数;T_all表示所述一对平行语料中的日记描述数据集合,T_all=A1,...An,其中,A1表示T_all中第一个词汇处理后的日记描述数据,An表示T_all中第n个词汇处理后的日记描述数据,n为日记描述数据集合中词汇处理后的日记描述数据的个数;

计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括S_all中至少一个词汇处理后的源数据,所述日记描述数据序列包括T_all中至少一个词汇处理后的日记描述数据。

8.根据权利要求6所述的日记生成装置,其特征在于,所述计算模块,具体用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合,所述日记描述数据序列包括日记描述数据集合中至少一个词汇处理后的日记描述数据。

9.根据权利要求6-8任一项所述的日记生成装置,其特征在于,所述翻译模块,具体用于搜索对位概率集合中各个P(S|T)和出现概率集合中各个P(T),其中,P(S|T)为源数据序列S与日记描述数据序列T的对位概率,P(T)为日记描述数据序列T在日记描述集合中出现的概率;

当S为待翻译源数据序列时,确定使得P(S|T)*P(T)的取值最大的T为目标日记描述数据序列。

10.根据权利要求6-8任一项所述的日记生成装置,其特征在于,所述日记生成模块,具体用于将根据不同类型的待翻译数据序列得到的各个目标日记描述数据序列,按照所述不同类型的待翻译数据序列中各自包含的时间标识,生成日记描述文字。

11.一种日记生成装置,其特征在于,包括:处理器和存储器,

其中,处理器用于获取源数据集合和与所述源数据集合对应的日记描述数据集合;

所述处理器,还用于计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据;

所述处理器,还用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;

所述处理器,还用于根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;

所述处理器,还用于根据所述目标日记描述数据序列生成日记描述文字;

所述存储器,用于存储所述处理器实现相应功能的程序代码,其中,所述相应功能包括:获取源数据集合和与所述源数据集合对应的日记描述数据集合;计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合;计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列;根据所述目标日记描述数据序列生成日记描述文字;

所述处理器,还用于将所述源数据集合中的源数据进行相应词汇处理,得到词汇处理后的源数据;

所述处理器,还用于将所述日记描述数据集合中的日记描述数据进行词汇处理,得到词汇处理后的日记描述数据。

12.根据权利要求11所述的日记生成装置,其特征在于,所述处理器,具体用于将位于同一预设时间段中的源数据集合和日记描述数据集合构建成一对平行语料,其中,一对平行语料记为(S_all,T_all),S_all表示所述一对平行语料中的源数据集合,S_all=G1,...Gm;G1表示S_all中第一个词汇处理后的源数据,Gm表示S_all中第m个词汇处理后的源数据,m为源数据集合中词汇处理后的源数据的个数;T_all表示所述一对平行语料中的日记描述数据集合,T_all=A1,...An,其中,A1表示T_all中第一个词汇处理后的日记描述数据,An表示T_all中第n个词汇处理后的日记描述数据,n为日记描述数据集合中词汇处理后的日记描述数据的个数;

计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括S_all中至少一个词汇处理后的源数据,所述日记描述数据序列包括T_all中至少一个词汇处理后的日记描述数据。

13.根据权利要求11所述的日记生成装置,其特征在于,所述处理器,具体用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合,所述日记描述数据序列包括日记描述数据集合中至少一个词汇处理后的日记描述数据。

14.根据权利要求11-13任一项所述的日记生成装置,其特征在于,所述处理器,具体用于搜索对位概率集合中各个P(S|T)和出现概率集合中各个P(T),其中,P(S|T)为源数据序列S与日记描述数据序列T的对位概率,P(T)为日记描述数据序列T在日记描述集合中出现的概率;

当S为待翻译源数据序列时,确定使得P(S|T)*P(T)的取值最大的T为目标日记描述数据序列。

15.根据权利要求11-13任一项所述的日记生成装置,其特征在于,所述处理器,具体用于将根据不同类型的待翻译数据序列得到的各个目标日记描述数据序列,按照所述不同类型的待翻译数据序列中各自包含的时间标识,生成日记描述文字。

说明书 :

日记生成方法及装置

技术领域

[0001] 本发明涉及信息处理技术领域,尤其涉及一种日记生成方法及装置。

背景技术

[0002] 目前,实现日记自动生成的方法如下:人工编写大量不同的日记生成规则和翻译模板,将通过外部设备所记录的用户行为数据根据该日记生成规则和翻译模板翻译成文本描述信息。通常,用户行为数据的来源可以有多种多样,例如用户行为数据可以是GPS传感器采集到的数据,或者可以是终端本身记录的用户通话记录等等,当用户行为数据来源不同时,在将用户行为数据翻译成文本描述信息时采用的规则和翻译模块也不相同。
[0003] 因而,采用现有的日记自动生成方法在实现日记生成时,由于不同来源的用户行为数据需要采用不同的规则和翻译模板,而该规则和翻译模板需要人工进行编写,当出现新来源的用户行为数据时,采用现有的规则和翻译模板无法处理新类型的用户行为数据,导致实际使用时扩展性较差。

发明内容

[0004] 本发明的实施例提供一种日记生成方法及系统,可以基于各种不同来源的数据实现日记自动生成。
[0005] 为达到上述目的,本发明的实施例采用如下技术方案:
[0006] 第一方面,提供一种日记生成方法,包括:
[0007] 获取源数据集合和与所述源数据集合对应的日记描述数据集合;
[0008] 计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据;
[0009] 计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;
[0010] 根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;
[0011] 将所述目标日记描述数据序列翻译成日记描述文字。
[0012] 结合第一方面,在第一方面的第一种实现方式中,还包括:
[0013] 将所述源数据集合中的源数据进行相应词汇处理,得到词汇处理后的源数据;
[0014] 将所述日记描述数据集合中的日记描述数据进行词汇处理,得到词汇处理后的日记描述数据。
[0015] 结合第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据包括:
[0016] 将位于同一预设时间段中的源数据集合和日记描述数据集合构建成一对平行语料,
[0017] 其中,一对平行语料记为(S_all,T_all),S_all表示所述一对平行语料中的源数据集合,S_all=G1,...Gm;G1表示S_all中第一个词汇处理后的源数据,Gm表示S_all中第m个词汇处理后的源数据,m为源数据集合中词汇处理后的源数据的个数;T_all表示所述一对平行语料中的日记描述数据集合,T_all=A1,...An,其中,A1表示T_all中第一个词汇处理后的日记描述数据,An表示T_all中第n个词汇处理后的日记描述数据,n为日记描述数据集合中词汇处理后的日记描述数据的个数;
[0018] 计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括S_all中至少一个词汇处理后的源数据,所述日记描述数据序列包括T_all中至少一个词汇处理后的日记描述数据。
[0019] 结合第一方面的第一种实现方式,在第一方面的第三种实现方式中,所述计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合包括:
[0020] 计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合,所述日记描述数据序列包括日记描述数据集合中至少一个词汇处理后的日记描述数据。
[0021] 结合第一方面的前述任一种实现方式,在第一方面的第四种实现方式中,根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,包括:
[0022] 搜索对位概率集合中各个P(S|T)和出现概率集合中各个P(T),其中,P(S|T)为源数据序列S与日记描述数据序列T的对位概率,P(T)为日记描述数据序列T在日记描述集合中出现的概率;
[0023] 当S为待翻译源数据序列时,确定使得P(S|T)*P(T)的取值最大的T为目标日记描述数据序列。
[0024] 结合第一方面的前述任一种实现方式,在第一方面的第五种实现方式中,所述根据所述目标日记描述数据序列生成日记描述文字,包括:
[0025] 将根据不同类型的待翻译数据序列得到的各个目标日记描述数据序列,按照所述不同类型的待翻译数据序列中各自包含的时间标识,生成日记描述文字。
[0026] 第二方面,提供一种日记生成装置,包括:
[0027] 获取模块,用于获取源数据集合和与所述源数据集合对应的日记描述数据集合;
[0028] 计算模块,用于计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据;
[0029] 所述计算模块,还用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;
[0030] 翻译模块,用于根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;
[0031] 日记生成模块,用于根据所述目标日记描述数据序列生成日记描述文字。
[0032] 结合第二方面,在第二方面的第一种实现方式中,还包括:
[0033] 词汇处理模块,用于将所述源数据集合中的源数据进行相应词汇处理,得到词汇处理后的源数据;
[0034] 所述词汇处理模块,还用于将所述日记描述数据集合中的日记描述数据进行词汇处理,得到词汇处理后的日记描述数据。
[0035] 结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,
[0036] 所述计算模块,具体用于将位于同一预设时间段中的源数据集合和日记描述数据集合构建成一对平行语料,
[0037] 其中,一对平行语料记为(S_all,T_all),S_all表示所述一对平行语料中的源数据集合,S_all=G1,...Gm;G1表示S_all中第一个词汇处理后的源数据,Gm表示S_all中第m个词汇处理后的源数据,m为源数据集合中词汇处理后的源数据的个数;T_all表示所述一对平行语料中的日记描述数据集合,T_all=A1,...An,其中,A1表示T_all中第一个词汇处理后的日记描述数据,An表示T_all中第n个词汇处理后的日记描述数据,n为日记描述数据集合中词汇处理后的日记描述数据的个数;
[0038] 计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括S_all中至少一个词汇处理后的源数据,所述日记描述数据序列包括T_all中至少一个词汇处理后的日记描述数据。
[0039] 结合第二方面的第一种实现方式,在第二方面的第三种实现方式中,所述计算模块,具体用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合,所述日记描述数据序列包括日记描述数据集合中至少一个词汇处理后的日记描述数据。
[0040] 结合第二方面的前述任一种实现方式,在第二方面的第四种实现方式中,[0041] 所述翻译模块,具体用于搜索对位概率集合中各个P(S|T)和出现概率集合中各个P(T),其中,P(S|T)为源数据序列S与日记描述数据序列T的对位概率,P(T)为日记描述数据序列T在日记描述集合中出现的概率;
[0042] 当S为待翻译源数据序列时,确定使得P(S|T)*P(T)的取值最大的T为目标日记描述数据序列。
[0043] 结合第二方面的前述任一种实现方式,在第二方面的第五种实现方式中,[0044] 所述日记生成模块,具体用于将根据不同类型的待翻译数据序列得到的各个目标日记描述数据序列,按照所述不同类型的待翻译数据序列中各自包含的时间标识,生成日记描述文字。
[0045] 第三方面,提供一种日记生成装置,包括:处理器和存储器,
[0046] 其中,处理器用于获取源数据集合和与所述源数据集合对应的日记描述数据集合;
[0047] 所述处理器,还用于计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据;
[0048] 所述处理器,还用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;
[0049] 所述处理器,还用于根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;
[0050] 所述处理器,还用于根据所述目标日记描述数据序列生成日记描述文字;
[0051] 所述存储器,用于存储所述处理器实现上述功能的程序代码。
[0052] 结合第三方面,在第三方面的第一种实现方式中,
[0053] 所述处理器,还用于将所述源数据集合中的源数据进行相应词汇处理,得到词汇处理后的源数据;
[0054] 所述处理器,还用于将所述日记描述数据集合中的日记描述数据进行词汇处理,得到词汇处理后的日记描述数据。
[0055] 结合第三方面的第一种实现方式,在第三方面的第二种实现方式中,
[0056] 所述处理器,具体用于将位于同一预设时间段中的源数据集合和日记描述数据集合构建成一对平行语料,
[0057] 其中,一对平行语料记为(S_all,T_all),S_all表示所述一对平行语料中的源数据集合,S_all=G1,...Gm;G1表示S_all中第一个词汇处理后的源数据,Gm表示S_all中第m个词汇处理后的源数据,m为源数据集合中词汇处理后的源数据的个数;T_all表示所述一对平行语料中的日记描述数据集合,T_all=A1,...An,其中,A1表示T_all中第一个词汇处理后的日记描述数据,An表示T_all中第n个词汇处理后的日记描述数据,n为日记描述数据集合中词汇处理后的日记描述数据的个数;
[0058] 计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括S_all中至少一个词汇处理后的源数据,所述日记描述数据序列包括T_all中至少一个词汇处理后的日记描述数据。
[0059] 结合第三方面的第一种实现方式,在第三方面的第三种实现方式中,
[0060] 所述处理器,具体用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合,所述日记描述数据序列包括日记描述数据集合中至少一个词汇处理后的日记描述数据。
[0061] 结合第三方面的前述任一种实现方式,在第三方面的第四种实现方式中,[0062] 所述处理器,具体用于搜索对位概率集合中各个P(S|T)和出现概率集合中各个P(T),其中,P(S|T)为源数据序列S与日记描述数据序列T的对位概率,P(T)为日记描述数据序列T在日记描述集合中出现的概率;
[0063] 当S为待翻译源数据序列时,确定使得P(S|T)*P(T)的取值最大的T为目标日记描述数据序列。
[0064] 结合第三方面的前述任一种实现方式,在第三方面的第五种实现方式中,所述处理器,具体用于将根据不同类型的待翻译数据序列得到的各个目标日记描述数据序列,按照所述不同类型的待翻译数据序列中各自包含的时间标识,生成日记描述文字。
[0065] 本发明实施例中,通过计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合;并计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;之后,根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;将所述目标日记描述数据序列翻译成日记描述文字。与现有技术相比,可以避免现有技术中基于规则自动生成日记时无法处理新数据类型,导致实际使用时扩展性较差的问题。本发明实施例是以所述对位概率集合和出现概率集合为基础实现日记自动生成,对源数据的类型没有限制,亦即可以基于各种不同类型的源数据实现日记自动生成,本发明实施例提供的实际使用时扩展性较好。

附图说明

[0066] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0067] 图1为本发明实施例提供的一种日记生成方法的流程图;
[0068] 图1a为本发明实施例提供的一种日记生成方法的流程图;
[0069] 图2为本发明实施例提供的一种日记生成装置的结构图;
[0070] 图2a为本发明实施例提供的另一种日记生成装置的结构图;
[0071] 图3为本发明实施例提供的又一种日记生成装置的结构图。

具体实施方式

[0072] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0073] 本发明实施例提供一种日记生成方法,包括:
[0074] 101、获取源数据集合和与所述源数据集合对应的日记描述数据集合。
[0075] 所述获取源数据集合可以是获取各种传感器采集到的数据,例如,加速度传感器采集到的加速度数据,GPS传感器采集到的GPS数据,方向传感器采集到的方向数据;还可以是获取用户使用情况信息,例如,通话信息、短消息、终端上各个应用的使用信息等等。
[0076] 所述源数据集合中不同类型的源数据采用不同数据表示形式进行表示。
[0077] 例如,加速度传感器采集到的加速度数据,可以采用元组[数据采集的时间,x轴加速度,y轴加速度,z轴加速度]来表示;又如,GPS传感器采集到的GPS数据,可以采用元组[数据采集的时间,经度,维度,高度]来表示;再如,获取到的通话信息,例如,通话开始时间,通话结束时间,通话时长,主叫,被叫,电话未接通时呼叫等待时间等等,可以采用元组[数据采集的时间,本手机状态,对方手机状态,本手机设置状态,对方手机ID]来表示,例如,[呼叫的时间,接到来电,呼叫,手机响铃,对方手机ID]来表示。
[0078] 所述源数据的数据表示形式可以有多种,本发明实施例仅列出来上述基于元组的表示形式,当然也可以采用其他的数据表示形式,在此不作限制。
[0079] 与所述源数据集合对应的日记描述数据集合可以预先人为设置好,例如,所述源数据集合中包括的是GPS数据,则对应的日记描述数据集合可以预先设置为用户的活动描述或者地点信息等等,用户的活动描述,例如,可以是“我在工作”、“去公园吃午餐”、“我在家”等等,地点信息,例如,可以是“办公室”、“公园”、“家”。
[0080] 所述日记描述数据集合中的日记描述数据可以是一段话,或者可以是句子、或者可以是词语。
[0081] 102、计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合。
[0082] 其中,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据。
[0083] 例如,可以采用IBM翻译模型2中的对位概率计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合。
[0084] 当然,除了可以采用IBM翻译模型2中的对位概率,还可以采用句法翻译模型、短语翻译模型、最大熵翻译模型等等统计机器翻译方法。
[0085] 103、计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合。
[0086] 例如,可以采用最大似然估计方法计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合。
[0087] 需要说明的是,本步骤除了可以采用最大似然估计方法计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,还可以采用贝叶斯估计方法,最大后验概率估计方法等,在此不作限制。
[0088] 104、根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列。
[0089] 105、根据所述目标日记描述数据序列生成日记描述文字。
[0090] 本发明实施例中,通过计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合;并计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;之后,根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;将所述目标日记描述数据序列翻译成日记描述文字。与现有技术相比,可以避免现有技术中基于规则自动生成日记时无法处理新数据类型,导致实际使用时扩展性较差的问题。本发明实施例是以所述对位概率集合和出现概率集合为基础实现日记自动生成,对源数据的类型没有限制,亦即可以基于各种不同类型的源数据实现日记自动生成,本发明实施例提供的实际使用时扩展性较好。
[0091] 另外,本发明实施例是以所述对位概率集合和出现概率集合为基础实现日记自动生成,所述对位概率集合和出现概率集合可以通过大量的训练数据进行模型训练和学习得到。训练数据量越大,基于所述对位概率集合和出现概率集合实现日记自动生成的准确性越高。
[0092] 可选的,如图1a所示,上述步骤102之前,还可以包括如下步骤:
[0093] 1001、将所述源数据集合中的源数据进行相应词汇处理,得到词汇处理后的源数据;将所述日记描述数据集合中的日记描述数据进行词汇处理,得到词汇处理后的日记描述数据。
[0094] 下面以GPS数据为例,说明将所述源数据集合中的源数据进行相应词汇处理,得到词汇处理后的源数据。
[0095] 例如,将所述源数据集合中的GPS数据进行聚类处理,使得距离较近的GPS数据聚为一类,相应词汇处理可以是采用空间分割方法进行聚类处理。
[0096] 例如,将100m*100m范围内的GPS统一记为一个GPS类别,经过处理后的源数据为每个100m*100m范围内的GPS对应的GPS聚类ID,例如记为:GPS1、GPS2、...GPS M,其中,M为GPS聚类ID。
[0097] 以日记描述数据为用户活动描述为例,说明将所述日记描述数据集合中的日记描述数据进行词汇处理,得到词汇处理后的日记描述数据。
[0098] 假设,日记描述数据集合中的日记描述数据为一段话“我在游览北京八达岭长城,我在工作,我去公园看花,我回家了”,相应词汇处理可以是对该日记描述数据集合的日记描述数据进行中文分词处理,得到处理后的日记描述数据“我在游览北京八达岭长城”,“我在工作”,“我去公园看花”,“我回家了”。
[0099] 当然,根据实际应用的不同需求,相应词汇处理还可以是对该日记描述数据集合的日记描述数据进行短语抽取,例如,日记描述数据集合中的日记描述数据为若干句子:“在餐厅吃饭”,“球场打球”,“晚上玩游戏”,进行短语抽取处理后,可以得到“吃饭”,“打球”,“玩游戏”。
[0100] 需要说明的是,词汇处理主要用于对句子进行变化,例如,将一个句子进行中文分词,或者,从一个句子中提取短语等等,可以理解的是,如果词汇处理前的数据已经是一个词语了,那么可以不用执行相应词汇处理操作。
[0101] 进一步地,所述步骤102中,所述计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,具体可以采用如下方式实现:
[0102] 首先,将位于同一预设时间段中的源数据集合和日记描述数据集合构建成一对平行语料,
[0103] 其中,一对平行语料记为(S_all,T_all),S_all表示所述一对平行语料中的源数据集合,S_all=G1,...Gm;G1表示S_all中第一个词汇处理后的源数据,Gm表示S_all中第m个词汇处理后的源数据,m为源数据集合中词汇处理后的源数据的个数;T_all表示所述一对平行语料中的日记描述数据集合,T_all=A1,...An,其中,A1表示T_all中第一个词汇处理后的日记描述数据,An表示T_all中第n个词汇处理后的日记描述数据,n为日记描述数据集合中词汇处理后的日记描述数据的个数;
[0104] 例如,源数据集合为:用户在第一天的GPS数据经过上述词汇处理后得出的GPS数据,记为S1_all=GPS1,...GPSm,日记描述数据集合为:与S_all对应的用户一天的活动数据描述,记为T1_all=Activity1,...Activityn,基于第一天的源数据集合和日记描述数据集合可以构建出一对平行语料记为(S1_all,T1_all)。
[0105] 同理,还可以构建(S2_all,T2_all),S2_all表示第二天的源数据集合,T2_all表示与S2_all对应的日记描述数据集合,以此类推,N天的源数据集合和日记描述数据集合可以构建出平行预料库,记为:ST={(S1_all,T1_all),(S2_all,T2_all)…(Sn_all,Tn_all)}
[0106] 接着,计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合;
[0107] 本步骤具体可以采用IBM翻译模型2中的对位概率计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合。
[0108] 其中,所述源数据序列包括S_all中至少一个词汇处理后的源数据,所述日记描述数据序列包括T_all中至少一个词汇处理后的日记描述数据。
[0109] 需要说明的是,当采用IBM翻译模型2中的对位概率计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率时,源数据序列与所述源数据序列对应的日记描述数据序列的对位概率为在特定条件下的对位概率。
[0110] 其中,所述特定条件记为[所述源数据序列,与所述源数据序列对应的日记描述数据序列,所述源数据序列在集合S_all中的位置,与所述源数据序列对应的日记描述数据序列在集合T_all中的位置,集合S_all的长度,集合T_all的长度]。
[0111] 为了更好理解对位概率,下面对对位概率的概念进行简单解释:
[0112] 在统计自然语言处理中,对位模型(alignment model)的定义如下:
[0113] 对于S_m为长度为m的源语言句子,T_l为长度为l的目标语言句子,T_l和S_m的单词之间有l*m中对应关系。“对位”是由词与词间的对应关系决定的,所以S_m与T_l的对位关系集合共有2|*m种对位。
[0114] 对于一个给定的句对(S_m|T_l),假定所有的单词对(sj,tj)之间存在对应关系,sj为S_m中的单词,tj为T_l中的单词,那么用来刻画这些对应关系的模型叫做对位模型(alignment model)。”
[0115] “对位概率”是指在一定的条件下,sj翻译为tj的概率。
[0116] 有关对位概率更详细的解释可以参见统计自然语言处理中的相关描述。
[0117] 为了便于理解,本发明实施例将源数据序列记为S,日记描述数据序列记为T,源数据序列与所述源数据序列对应的日记描述数据序列的对位概率记为P(S|T)。
[0118] 例如,以一对平行语料(S1_all,T1_all)为例,采用IBM翻译模型2中的对位概率计算对位概率的实现如下:
[0119] 假设,该平行语料中,源数据集合为S1_all=GPS1,...GPSm,日记描述数据集合为T1_all=Activity1,...Activityn。
[0120] 当源数据序列S为GPS2,日记描述数据序列T为Activity3,所述源数据序列在集合S1_all中的位置为2,日记描述数据序列在集合T1_all中的位置为3,集合S1_all的长度为12,集合T1_all的长度为14时,P(S|T)的计算过程如下:
[0121] {[GPS2,Activity3,2,3,12,14]在平行语料库ST中的出现次数}除于{ [GPS2,Activity3,X,3,12,14]在平行语料库ST中的出现次数}的比值,其中,M为集合S_all的长度。
[0122] 例如,GPS2的取值为(116.45,39.92),Activity3的取值为“游览”时,[(116.45,39.92),“游览”,2,3,12,14]在平行语料库ST中的出现次数,是指当日记描述数据集合长度为14,源数据集合长度为12,日记描述数据序列“游览”在日记描述数据集合的位置为3,源数据序列(116.45,39.92)在源数据集合的位置为2时,这种情况在整个平行语料库中的出现次数;
[0123] [GPS2,Activity3,X,3,12,14]的出现次数之和,是指当日记描述数据集合长度为14,源数据集合长度为12,日记描述数据序列“游览”在日记描述数据集合的位置为3,源数据序列(116.45,39.92)在源数据集合的第X个位置时,这种情况在整个平行语料库中的出现次数。
[0124] 需要说明的是上述源数据序列是以一个源数据为例进行说明,当然,上述源数据序列还可以包括2个或者以上源数据,日记描述数据序列也可以包括2个或者以上日记描述数据。
[0125] 本步骤采用IBM翻译模型2中的对位概率的更详细实现可以参见现有技术,当然,本步骤除了可以采用IBM翻译模型2中的对位概率,还可以采用句法翻译模型、短语翻译模型、最大熵翻译模型等等统计机器翻译方法。
[0126] 进一步地,上述步骤103所述计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合包括:
[0127] 计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合,所述日记描述数据序列包括日记描述数据集合中至少一个词汇处理后的日记描述数据。
[0128] 实际应用时,例如可以采用最大似然估计方法计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,下面结合一个示例性的例子进行具体说明。
[0129] 例如,日记描述数据集合为如下3个句子:
[0130] (1)JOHN READ HOLY BIBLE
[0131] (2)Mark READ A TEXT BOOK
[0132] (3)HE READ A BOOK BY DAVID
[0133] 例如,要计算日记描述数据序列T以句子(1)为例,将日记描述数据序列T在日记描述数据集合中出现的概率记为P(T),那么P(T)的计算过程如下:
[0134] P(JOHN READ A BOOK)
[0135] =P(JOHN|)*P(READ|JOHN)*P(A|READ)*P(BOOK|A)*P(|BOOK)
[0136] =1/3*1/1*2/3*1/2*1/2
[0137] =0.06
[0138] 上述最大似然估计方法更详细的实现可以参见现有相关技术。
[0139] 需要说明的是,本步骤除了可以采用最大似然估计方法计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,还可以采用贝叶斯估计方法,最大后验概率估计方法等,在此不作限制。
[0140] 经过上述步骤101-103的操作,可以获得对位概率集合和出现概率集合,对位概率集合中包括大量的P(S|T),出现概率集合包括大量的P(T)。
[0141] 进一步地,上述步骤104中,根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列,包括:
[0142] 搜索对位概率集合中各个P(S|T)和出现概率集合中各个P(T),其中,P(S|T)为源数据序列S与日记描述数据序列T的对位概率,P(T)为日记描述数据序列T在日记描述集合中出现的概率;
[0143] 当S为待翻译源数据序列时,确定使得P(S|T)*P(T)的取值最大的T为目标日记描述数据序列。
[0144] 例如,假设经过上述步骤102得到的对位概率集合如下:
[0145] P(GPS1|“我在游览北京八达岭长城”)=0.05
[0146] P(GPS1|“我在工作”)=0.0
[0147] P(GPS2|“我在工作”)=0.005
[0148] P(GPS3|“去公园吃午餐”)=0.015
[0149] P({GPS2,GPS3}|{“我在工作”,“去公园吃午餐”})=0.0005
[0150] P(GPS4|“我在家”)=0.015
[0151] P(GPS5|“下班了”)=0.015
[0152] P(GPS4|“下班了”)=0.0015
[0153] P({GPS1,GPS2,GPS3,GPS4}|{“我在家”,“我在工作”,“去公园吃午餐”,“下班了”})=0.0001
[0154] P({GPS1,GPS2,GPS3,GPS4}|{“我在家”,“我在工作”,“去公园看花”,“下班了”})=0.00008
[0155] 假设经过上述步骤103得到的出现概率集合如下:
[0156] P(“我在游览北京八达岭长城”)=0.01
[0157] P(“我在工作”)=0.003
[0158] P(“去公园吃午餐”)=0.01
[0159] P(“我在家”)=0.003
[0160] P(“下班了”)=0.0001
[0161] P(“我在家”,“我在工作”,“去公园吃午餐”,“下班了”)=0.00008[0162] P(“我在家”,“我在工作”,“去公园看花”,“下班了”)=0.0000001[0163] 如果待翻译源数据序列为S={GPS1,GPS2,GPS3,GPS4},那么在上述对位概率集合中各个P(S|T)和出现概率集合中各个P(T)进行搜索,找到使得P(S|T)*P(T)的取值最大的日记描述数据序列T为T={“我在家”,“我在工作”,“去公园看花”,“下班了”}[0164] {“我在家”,“我在工作”,“去公园看花”,“下班了”}即为目标日记描述数据序列。
[0165] 进一步的,上述步骤105中,所述根据所述目标日记描述数据序列生成日记描述文字,包括:
[0166] 将根据不同类型的待翻译数据序列得到的各个目标日记描述数据序列,按照所述不同类型的待翻译数据序列中各自包含的时间标识,生成成日记描述文字。
[0167] 待翻译的源数据序列中每个源数据会包含有采集时的时间标识,待翻译的源数据序列中的源数据是与日记描述数据序列中的日记描述数据相对应的,这种对应可以是一个源数据对应一个日记描述数据,也可以多个源数据对应一个日记描述数据,或者还可以是一个源数据对应多个日记描述数据,具体的对应方式根据实际应用而定。因而,可以通过源数据的时间标识可以将多个目标日记描述数据序列串联起来形成一段日记描述文字。
[0168] 例如,待翻译数据序列为加速度传感器数据时,翻译得到的目标日记描述数据序列为{起床,吃饭,上班,午休,工作,下班,回家}
[0169] 待翻译数据序列为时间数据时,翻译得到目标日记描述数据序列为:
[0170] {7:00am,7:20am,8:00am,12:00pm,2:00pm,6:00pm}
[0171] 待翻译数据序列为GPS和Wifi数据时,翻译得到的目标日记描述数据序列为:
[0172] {家,餐厅,办公室,公园,办公室,街道}
[0173] 那么,最终生成的日记描述文字为:
[0174] 我于7:00am起床,7:20am离开家去餐厅吃早饭,8:00am到达办公室开始工作,12:00pm在公园午休,2:00pm回到办公室开始下午的工作,6:00pm下班回家。
[0175] 本发明实施例提供一种日记生成装置,如图2所示,包括:获取模块21,计算模块22,翻译模块23和日记生成模块24。
[0176] 其中,获取模块21,用于获取源数据集合和与所述源数据集合对应的日记描述数据集合;
[0177] 其中,所述获取源数据集合可以是获取各种传感器采集到的数据。
[0178] 所述源数据集合中不同类型的源数据采用不同数据表示形式进行表示,例如,可以采用元组来表示。所述源数据的数据表示形式可以有多种,本发明实施例仅列出来上述基于元组的表示形式,当然也可以采用其他的数据表示形式,在此不作限制。
[0179] 与所述源数据集合对应的日记描述数据集合可以预先人为设置好,例如,所述源数据集合中包括的是GPS数据,则对应的日记描述数据集合可以预先设置为用户的活动描述或者地点信息等等,用户的活动描述,例如,可以是“我在工作”、“去公园吃午餐”、“我在家”等等,地点信息,例如,可以是“办公室”、“公园”、“家”。
[0180] 所述日记描述数据集合中的日记描述数据可以是一段话,或者可以是句子、或者可以是词语。
[0181] 计算模块22,用于计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,
[0182] 其中,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据;
[0183] 例如,可以采用IBM翻译模型2中的对位概率计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合。当然,除了可以采用IBM翻译模型2中的对位概率,还可以采用句法翻译模型、短语翻译模型、最大熵翻译模型等等统计机器翻译方法。
[0184] 所述计算模块22,还用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;
[0185] 例如,所述计算模块22可以采用最大似然估计方法计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合。
[0186] 需要说明的是,本步骤除了可以采用最大似然估计方法计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,还可以采用贝叶斯估计方法,最大后验概率估计方法等,在此不作限制。
[0187] 翻译模块23,用于根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;
[0188] 日记生成模块24,用于根据所述目标日记描述数据序列生成日记描述文字。
[0189] 本发明实施例提供的装置的功能实现还可以参见上述日记生成方法的相关描述。
[0190] 本发明实施例中,通过计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合;并计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;之后,根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;将所述目标日记描述数据序列翻译成日记描述文字。与现有技术相比,可以避免现有技术中基于规则自动生成日记时无法处理新数据类型,导致实际使用时扩展性较差的问题。本发明实施例是以所述对位概率集合和出现概率集合为基础实现日记自动生成,对源数据的类型没有限制,亦即可以基于各种不同类型的源数据实现日记自动生成,本发明实施例提供的实际使用时扩展性较好。
[0191] 另外,本发明实施例是以所述对位概率集合和出现概率集合为基础实现日记自动生成,所述对位概率集合和出现概率集合可以通过大量的训练数据进行模型训练和学习得到。训练数据量越大,基于所述对位概率集合和出现概率集合实现日记自动生成的准确性越高。
[0192] 可选的,如图2a所示,所述的日记生成装置,还包括:
[0193] 词汇处理模块25,用于将所述源数据集合中的源数据进行相应词汇处理,得到词汇处理后的源数据;
[0194] 例如,将所述源数据集合中的GPS数据进行聚类处理,使得距离较近的GPS数据聚为一类,相应词汇处理可以是采用空间分割方法进行聚类处理。
[0195] 例如,将100m*100m范围内的GPS统一记为一个GPS类别,经过处理后的源数据为每个100m*100m范围内的GPS对应的GPS聚类ID,例如记为:GPS1、GPS2、...GPS M,其中,M为GPS聚类ID。
[0196] 所述词汇处理模块25,还用于将所述日记描述数据集合中的日记描述数据进行词汇处理,得到词汇处理后的日记描述数据。
[0197] 例如,日记描述数据集合中的日记描述数据为一段话“我在游览北京八达岭长城,我在工作,我去公园看花,我回家了”,相应词汇处理可以是对该日记描述数据集合的日记描述数据进行中文分词处理,得到处理后的日记描述数据“我在游览北京八达岭长城”,“我在工作”,“我去公园看花”,“我回家了”。
[0198] 当然,根据实际应用的不同需求,相应词汇处理还可以是对该日记描述数据集合的日记描述数据进行短语抽取,例如,日记描述数据集合中的日记描述数据为若干句子:“在餐厅吃饭”,“球场打球”,“晚上玩游戏”,进行短语抽取处理后,可以得到“吃饭”,“打球”,“玩游戏”。
[0199] 需要说明的是,词汇处理主要用于对句子进行变化,例如,将一个句子进行中文分词,或者,从一个句子中提取短语等等,可以理解的是,如果词汇处理前的数据已经是一个词语了,那么可以不用执行相应词汇处理操作。
[0200] 本发明实施例提供的词汇处理模块25的功能实现还可以参见上述日记生成方法中步骤1001-1002的相关描述。
[0201] 进一步地,所述的日记生成装置中,所述计算模块22,具体用于将位于同一预设时间段中的源数据集合和日记描述数据集合构建成一对平行语料,
[0202] 其中,一对平行语料记为(S_all,T_all),
[0203] S_all表示所述一对平行语料中的源数据集合,S_all=G1,...Gm;G1表示S_all中第一个词汇处理后的源数据,Gm表示S_all中第m个词汇处理后的源数据,m为源数据集合中词汇处理后的源数据的个数;
[0204] T_all表示所述一对平行语料中的日记描述数据集合,T_all=A1,...An,其中,A1表示T_all中第一个词汇处理后的日记描述数据,An表示T_all中第n个词汇处理后的日记描述数据,n为日记描述数据集合中词汇处理后的日记描述数据的个数;
[0205] 例如,源数据集合为:用户在第一天的GPS数据经过上述词汇处理后得出的GPS数据,记为S1_all=GPS1,...GPSm,日记描述数据集合为:与S_all对应的用户一天的活动数据描述,记为T1_all=Activity1,...Activityn,基于第一天的源数据集合和日记描述数据集合可以构建出一对平行语料记为(S1_all,T1_all)。
[0206] 同理,还可以构建(S2_all,T2_all),S2_all表示第二天的源数据集合,T2_all表示与S2_all对应的日记描述数据集合,以此类推,N天的源数据集合和日记描述数据集合可以构建出平行预料库,记为:ST={(S1_all,T1_all),(S2_all,T2_all)...(Sn_all,Tn_all)}
[0207] 所述计算模块22,具体用于计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合,
[0208] 其中,所述源数据序列包括S_all中至少一个词汇处理后的源数据,所述日记描述数据序列包括T_all中至少一个词汇处理后的日记描述数据,
[0209] 例如,计算模块22可以采用IBM翻译模型2中的对位概率计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合。
[0210] 当采用IBM翻译模型2中的对位概率计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率时,源数据序列与所述源数据序列对应的日记描述数据序列的对位概率为在特定条件下的对位概率。
[0211] 其中,所述特定条件记为[所述源数据序列,与所述源数据序列对应的日记描述数据序列,所述源数据序列在集合S_all中的位置,与所述源数据序列对应的日记描述数据序列在集合T_all中的位置,集合S_all的长度,集合T_all的长度]。
[0212] 为了便于理解,本发明实施例将源数据序列记为S,日记描述数据序列记为T,源数据序列与所述源数据序列对应的日记描述数据序列的对位概率记为P(S|T)。
[0213] 例如,以一对平行语料(S1_all,T1_all)为例,采用IBM翻译模型2中的对位概率计算对位概率的实现如下:
[0214] 假设,该平行语料中,源数据集合为S1_all=GPS1,...GPSm,日记描述数据集合为T1_all=Activity1,...Activityn。
[0215] 当源数据序列S为GPS2,日记描述数据序列T为Activity3,所述源数据序列在集合S1_all中的位置为2,日记描述数据序列在集合T1_all中的位置为3,集合S1_all的长度为12,集合T1_all的长度为14时,P(S|T)的计算过程如下:
[0216] {[GPS2,Activity3,2,3,12,14]在平行语料库ST中的出现次数}除于{ [GPS2,Activity3,X,3,12,14]在平行语料库ST中的出现次数}的比值,其中,M为集合S_all的长度。
[0217] 例如,GPS2的取值为(116.45,39.92),Activity3的取值为“游览”时,[(116.45,39.92),“游览”,2,3,12,14]在平行语料库ST中的出现次数,是指当日记描述数据集合长度为14,源数据集合长度为12,日记描述数据序列“游览”在日记描述数据集合的位置为3,源数据序列(116.45,39.92)在源数据集合的位置为2时,这种情况在整个平行语料库中的出现次数;
[0218] [GPS2,Activity3,X,3,12,14]的出现次数之和,是指当日记描述数据集合长度为14,源数据集合长度为12,日记描述数据序列“游览”在日记描述数据集合的位置为3,源数据序列(116.45,39.92)在源数据集合的第X个位置时,这种情况在整个平行语料库中的出现次数。
[0219] 本发明实施例提供的计算模块22的功能实现还可以参见上述日记生成方法中步骤102的相关描述。
[0220] 进一步地,所述的日记生成装置中,所述计算模块22,具体用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合,
[0221] 其中,所述日记描述数据序列包括日记描述数据集合中至少一个词汇处理后的日记描述数据。
[0222] 实际应用时,例如所述计算模块22可以采用最大似然估计方法计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,下面结合一个示例性的例子进行具体说明。
[0223] 例如,日记描述数据集合为如下3个句子:
[0224] (1)JOHN READ HOLY BIBLE
[0225] (2)Mark READ A TEXT BOOK
[0226] (3)HE READ A BOOK BY DAVID
[0227] 例如,要计算日记描述数据序列T以句子(1)为例,将日记描述数据序列T在日记描述数据集合中出现的概率记为P(T),那么P(T)的计算过程如下:
[0228] P(JOHN READ A BOOK)
[0229] =P(JOHN|)*P(READ|JOHN)*P(A|READ)*P(BOOK|A)*P(|BOOK)
[0230] =1/3*1/1*2/3*1/2*1/2
[0231] =0.06
[0232] 本发明实施例提供的计算模块22的功能实现还可以参见上述日记生成方法中步骤103的相关描述。
[0233] 进一步地,所述的日记生成装置中,所述翻译模块23,具体用于搜索对位概率集合中各个P(S|T)和出现概率集合中各个P(T),
[0234] 其中,P(S|T)为源数据序列S与日记描述数据序列T的对位概率,P(T)为日记描述数据序列T在日记描述集合中出现的概率;
[0235] 当S为待翻译源数据序列时,确定使得P(S|T)*P(T)的取值最大的T为目标日记描述数据序列。
[0236] 本发明实施例提供的翻译模块23的功能实现还可以参见上述日记生成方法中步骤104的相关描述。
[0237] 进一步地,所述的日记生成装置中,所述日记生成模块24,具体用于将根据不同类型的待翻译数据序列得到的各个目标日记描述数据序列,按照所述不同类型的待翻译数据序列中各自包含的时间标识,生成日记描述文字。
[0238] 其中,待翻译的源数据序列中每个源数据会包含有采集时的时间标识,待翻译的源数据序列中的源数据是与日记描述数据序列中的日记描述数据相对应的,这种对应可以是一个源数据对应一个日记描述数据,也可以多个源数据对应一个日记描述数据,或者还可以是一个源数据对应多个日记描述数据,具体的对应方式根据实际应用而定。因而,可以通过源数据的时间标识可以将多个目标日记描述数据序列串联起来形成一段日记描述文字。
[0239] 本发明实施例提供的日记生成模块24的功能实现还可以参见上述日记生成方法中步骤105的相关描述。
[0240] 本发明实施例,还提供一种日记生成装置,如图3所示,包括:处理器31、存储器34、总线3000和驱动电路3001。
[0241] 其中,处理器31用于获取源数据集合和与所述源数据集合对应的日记描述数据集合;
[0242] 例如,所述获取源数据集合可以是获取各种传感器采集到的数据。
[0243] 所述源数据集合中不同类型的源数据采用不同数据表示形式进行表示,例如,可以采用元组来表示。所述源数据的数据表示形式可以有多种,本发明实施例仅列出来上述基于元组的表示形式,当然也可以采用其他的数据表示形式,在此不作限制。
[0244] 与所述源数据集合对应的日记描述数据集合可以预先人为设置好,例如,所述源数据集合中包括的是GPS数据,则对应的日记描述数据集合可以预先设置为用户的活动描述或者地点信息等等,用户的活动描述,例如,可以是“我在工作”、“去公园吃午餐”、“我在家”等等,地点信息,例如,可以是“办公室”、“公园”、“家”。
[0245] 所述日记描述数据集合中的日记描述数据可以是一段话,或者可以是句子、或者可以是词语。
[0246] 所述处理器31,还用于计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据;
[0247] 其中,所述源数据序列包括至少一个源数据,所述日记描述数据序列包括至少一个日记描述数据;
[0248] 例如,可以采用IBM翻译模型2中的对位概率计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合。
[0249] 当然,除了可以采用IBM翻译模型2中的对位概率,还可以采用句法翻译模型、短语翻译模型、最大熵翻译模型等等统计机器翻译方法。
[0250] 所述处理器31,还用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;
[0251] 例如,所述处理器31可以采用最大似然估计方法计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合。
[0252] 所述处理器31,还用于根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;
[0253] 所述处理器31,还用于根据所述目标日记描述数据序列生成日记描述文字;
[0254] 所述存储器34,用于存储所述处理实现上述功能的程序代码。
[0255] 本发明实施例提供的装置的功能实现还可以参见上述日记生成方法的相关描述。
[0256] 本发明实施例中,通过计算所述源数据集合中各个源数据序列和日记描述数据集合中各个日记描述数据序列的对位概率,得到对位概率集合;并计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合;之后,根据所述对位概率集合和出现概率集合,从所述各个日记描述数据序列中确定与待翻译源数据序列对应的目标日记描述数据序列,所述待翻译源数据序列为所述各个源数据序列中任一序列;将所述目标日记描述数据序列翻译成日记描述文字。与现有技术相比,可以避免现有技术中基于规则自动生成日记时无法处理新数据类型,导致实际使用时扩展性较差的问题。本发明实施例是以所述对位概率集合和出现概率集合为基础实现日记自动生成,对源数据的类型没有限制,亦即可以基于各种不同类型的源数据实现日记自动生成,本发明实施例提供的实际使用时扩展性较好。
[0257] 另外,本发明实施例是以所述对位概率集合和出现概率集合为基础实现日记自动生成,所述对位概率集合和出现概率集合可以通过大量的训练数据进行模型训练和学习得到。训练数据量越大,基于所述对位概率集合和出现概率集合实现日记自动生成的准确性越高。
[0258] 本实施例在具体实现中,存储器至少包括如下一个或者多个内存设备,一个只读存储器、一个随机存取存储器或者一个非易失行随机存取存储器,存储器为处理器提供指令和数据。
[0259] 其中,所述处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。这些指令可以通过其中的处理器以配合实现及控制,用于执行本发明实施例揭示的方法。上述处理器还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(application specific integrated circuit)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0260] 其中,上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
[0261] 其中,驱动电路3001,用于为日记生成装置中的各个硬件提供驱动使得各个硬件能够正常工作。
[0262] 另外,日记生成装置的各个硬件组件通过总线系统3000耦合在一起,其中总线系统3000除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起,在图3中将各种总线都标为总线系统3000。
[0263] 可选的,所述的日记生成装置中,所述处理器,还用于将所述源数据集合中的源数据进行相应词汇处理,得到词汇处理后的源数据;
[0264] 例如,将所述源数据集合中的GPS数据进行聚类处理,使得距离较近的GPS数据聚为一类,相应词汇处理可以是采用空间分割方法进行聚类处理。
[0265] 例如,将100m*100m范围内的GPS统一记为一个GPS类别,经过处理后的源数据为每个100m*100m范围内的GPS对应的GPS聚类ID,例如记为:GPS1、GPS2、...GPS M,其中,M为GPS聚类ID。
[0266] 所述处理器,还用于将所述日记描述数据集合中的日记描述数据进行词汇处理,得到词汇处理后的日记描述数据。
[0267] 例如,日记描述数据集合中的日记描述数据为一段话“我在游览北京八达岭长城,我在工作,我去公园看花,我回家了”,相应词汇处理可以是对该日记描述数据集合的日记描述数据进行中文分词处理,得到处理后的日记描述数据“我在游览北京八达岭长城”,“我在工作”,“我去公园看花”,“我回家了”。
[0268] 当然,根据实际应用的不同需求,相应词汇处理还可以是对该日记描述数据集合的日记描述数据进行短语抽取,例如,日记描述数据集合中的日记描述数据为若干句子:“在餐厅吃饭”,“球场打球”,“晚上玩游戏”,进行短语抽取处理后,可以得到“吃饭”,“打球”,“玩游戏”。
[0269] 需要说明的是,词汇处理主要用于对句子进行变化,例如,将一个句子进行中文分词,或者,从一个句子中提取短语等等,可以理解的是,如果词汇处理前的数据已经是一个词语了,那么可以不用执行相应词汇处理操作。
[0270] 本发明实施例提供的所述处理器的上述功能实现还可以参见上述日记生成方法中步骤1001-1002的相关描述。
[0271] 进一步地,所述的日记生成装置中,所述处理器,具体用于将位于同一预设时间段中的源数据集合和日记描述数据集合构建成一对平行语料,
[0272] 其中,一对平行语料记为(S_all,T_all),S_all表示所述一对平行语料中的源数据集合,S_all=G1,...Gm;G1表示S_all中第一个词汇处理后的源数据,Gm表示S_all中第m个词汇处理后的源数据,m为源数据集合中词汇处理后的源数据的个数;T_all表示所述一对平行语料中的日记描述数据集合,T_all=A1,...An,其中,A1表示T_all中第一个词汇处理后的日记描述数据,An表示T_all中第n个词汇处理后的日记描述数据,n为日记描述数据集合中词汇处理后的日记描述数据的个数;
[0273] 例如,源数据集合为:用户在第一天的GPS数据经过上述词汇处理后得出的GPS数据,记为S1_all=GPS1,...GPSm,日记描述数据集合为:与S_all对应的用户一天的活动数据描述,记为T1_all=Activity1,...Activityn,基于第一天的源数据集合和日记描述数据集合可以构建出一对平行语料记为(S1_all,T1_all)。
[0274] 同理,还可以构建(S2_all,T2_all),S2_all表示第二天的源数据集合,T2_all表示与S2_all对应的日记描述数据集合,以此类推,N天的源数据集合和日记描述数据集合可以构建出平行预料库,记为:ST={(S1_all,T1_all),(S2_all,T2_all)...(Sn_all,Tn_all)}
[0275] 所述处理器,还具体用于计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合。
[0276] 其中,所述源数据序列包括S_all中至少一个词汇处理后的源数据,所述日记描述数据序列包括T_all中至少一个词汇处理后的日记描述数据,
[0277] 例如,所述处理器可以采用IBM翻译模型2中的对位概率计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率,得到对位概率集合。
[0278] 当采用IBM翻译模型2中的对位概率计算各个源数据序列和与所述各个源数据序列各自对应的日记描述数据序列的对位概率时,源数据序列与所述源数据序列对应的日记描述数据序列的对位概率为在特定条件下的对位概率。
[0279] 其中,所述特定条件记为[所述源数据序列,与所述源数据序列对应的日记描述数据序列,所述源数据序列在集合S_all中的位置,与所述源数据序列对应的日记描述数据序列在集合T_all中的位置,集合S_all的长度,集合T_all的长度]。
[0280] 为了便于理解,本发明实施例将源数据序列记为S,日记描述数据序列记为T,源数据序列与所述源数据序列对应的日记描述数据序列的对位概率记为P(S|T)。
[0281] 例如,以一对平行语料(S1_all,T1_all)为例,采用IBM翻译模型2中的对位概率计算对位概率的实现如下:
[0282] 假设,该平行语料中,源数据集合为S1_all=GPS1,...GPSm,日记描述数据集合为T1_all=Activity1,...Activityn。
[0283] 当源数据序列S为GPS2,日记描述数据序列T为Activity3,所述源数据序列在集合S1_all中的位置为2,日记描述数据序列在集合T1_all中的位置为3,集合S1_all的长度为12,集合T1_all的长度为14时,P(S|T)的计算过程如下:
[0284] {[GPS2,Activity3,2,3,12,14]在平行语料库ST中的出现次数}除于{ [GPS2,Activity3,X,3,12,14]在平行语料库ST中的出现次数}的比值,其中,M为集合S_all的长度。
[0285] 例如,GPS2的取值为(116.45,39.92),Activity3的取值为“游览”时,[(116.45,39.92),“游览”,2,3,12,14]在平行语料库ST中的出现次数,是指当日记描述数据集合长度为14,源数据集合长度为12,日记描述数据序列“游览”在日记描述数据集合的位置为3,源数据序列(116.45,39.92)在源数据集合的位置为2时,这种情况在整个平行语料库中的出现次数;
[0286] [GPS2,Activity3,X,3,12,14]的出现次数之和,是指当日记描述数据集合长度为14,源数据集合长度为12,日记描述数据序列“游览”在日记描述数据集合的位置为3,源数据序列(116.45,39.92)在源数据集合的第X个位置时,这种情况在整个平行语料库中的出现次数。
[0287] 本发明实施例提供的所述处理器的上述功能实现还可以参见上述日记生成方法中步骤102的相关描述。
[0288] 进一步地,所述的日记生成装置中,所述处理器,具体用于计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,得到出现概率集合。
[0289] 其中,所述日记描述数据序列包括日记描述数据集合中至少一个词汇处理后的日记描述数据。
[0290] 实际应用时,例如所述处理器可以采用最大似然估计方法计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,下面结合一个示例性的例子进行具体说明。
[0291] 例如,日记描述数据集合为如下3个句子:
[0292] (1)JOHN READ HOLY BIBLE
[0293] (2)Mark READ A TEXT BOOK
[0294] (3)HE READ A BOOK BY DAVID
[0295] 例如,要计算日记描述数据序列T以句子(1)为例,将日记描述数据序列T在日记描述数据集合中出现的概率记为P(T),那么P(T)的计算过程如下:
[0296] P(JOHN READ A BOOK)
[0297] =P(JOHN|)*P(READ|JOHN)*P(A|READ)*P(BOOK|A)*P(|BOOK)
[0298] =1/3*1/1*2/3*1/2*1/2
[0299] =0.06
[0300] 需要说明的是,本步骤除了可以采用最大似然估计方法计算所述各个日记描述数据序列在日记描述数据集合中出现的概率,还可以采用贝叶斯估计方法,最大后验概率估计方法等,在此不作限制。
[0301] 本发明实施例提供的所述处理器的上述功能实现还可以参见上述日记生成方法中步骤103的相关描述。
[0302] 进一步地,所述的日记生成装置中,所述处理器,具体用于搜索对位概率集合中各个P(S|T)和出现概率集合中各个P(T),其中,P(S|T)为源数据序列S与日记描述数据序列T的对位概率,P(T)为日记描述数据序列T在日记描述集合中出现的概率;
[0303] 当S为待翻译源数据序列时,确定使得P(S|T)*P(T)的取值最大的T为目标日记描述数据序列。
[0304] 本发明实施例提供的所述处理器的上述功能实现还可以参见上述日记生成方法中步骤104的相关描述。
[0305] 进一步地,所述的日记生成装置中,所述处理器,具体用于将根据不同类型的待翻译数据序列得到的各个目标日记描述数据序列,按照所述不同类型的待翻译数据序列中各自包含的时间标识,生成日记描述文字。
[0306] 其中,待翻译的源数据序列中每个源数据会包含有采集时的时间标识,待翻译的源数据序列中的源数据是与日记描述数据序列中的日记描述数据相对应的,这种对应可以是一个源数据对应一个日记描述数据,也可以多个源数据对应一个日记描述数据,或者还可以是一个源数据对应多个日记描述数据,具体的对应方式根据实际应用而定。因而,可以通过源数据的时间标识可以将多个目标日记描述数据序列串联起来形成一段日记描述文字。
[0307] 本发明实施例提供的所述处理器的上述功能实现还可以参见上述日记生成方法中步骤105的相关描述。
[0308] 本发明实施例主要应用于日记自动翻译处理中。
[0309] 本发明实施例提供的日记生成装置,可以是无线终端也可以是有线终端,无线终端可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(例如,RAN,Radio Access Network)与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(PCS,Personal Communication Service)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(WLL,Wireless Local Loop)站、个人数字助理(PDA,Personal Digital Assistant)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、接入点(Access Point)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device)、或用户装备(User Equipment)。
[0310] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0311] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0312] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0313] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0314] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。