6.2.4 基于相似用户和相似消息的候选话题集的生成

6.2.4 基于相似用户和相似消息的候选话题集的生成

采集在线社交网络中的相似消息和相似用户中所使用的话题标签,构造候选话题集。

1.在线社交网络中相似用户的查找

用户之间的相似性包含两类:隐式相似性和显式相似性。隐式相似性是通过用户的隐式表示计算得出的相似性(例如,从主题模型中获得的主题表示,通过主题表示之间的距离来计算用户之间的隐式相似性)。显式相似性是指显示地建立用户-话题标签矩阵,基于用户显式的表示方法,采用协同过滤的方法得到的用户之间的显式相似性。

为了发现相似用户,将用户间的显式相似性与隐式相似性相结合,采用典型的基于用户的协同过滤方法获得用户间的显式相似性,基于我们提出的UHTME模型生成的用户主题表示,计算得到用户间的隐式相似性。基于用户的协同过滤方法通过建立用户-话题标签矩阵获取用户的相似性。在用户-话题标签矩阵中的每个元素w ij代表用户u i对话题标签h j的使用次数,每一行代表一个用户,通过该方法可以获得用户的显式向量表示及用户间的显式相似性。隐式相似用户和显式相似用户之间可以相互补充,从而寻找到与目标用户最相似的用户。

基于UHTME可以获取用户的主题表示,计算用户主题表示间的距离,从而可以得到用户间的相似性。对相似用户的发现过程采用形式化的语言进行如下描述。

假设存在用户集包含U个用户,即={u 1,u 2,…,u j,…,u U},通过EUCF和UHTME,分别得到每个用户u j的显式表示v e(u j)和隐式表示v i(u j)。通过引入余弦距离,计算出j-th用户u j与目标用户u t之间的显式相似性和隐式相似性,通过式(6-8)计算出用户间的整体相似性:

通过对值进行排序,得到Top-Y个相似用户。相似用户的查找过程是:假定目标用户u 6,希望找到其Top-Y个相似用户,表6-2中列出了u 6和u 1~u 5之间的隐式和显式相似性。设置Y=2且λ=0.7,通过用户间相似性的计算,得到用户u 3和u 4是与用户u 6最具相似性的两个用户,将这两个用户所使用的话题标签放入候选话题标签集合中。

表6-2 用户u 6与用户u1~u5之间的显式和隐式相似性

2.在线社交网络中相似消息的查找

基于Word2vec的skip-gram模型实现了相似在线社交网络消息的发现。skip-gram模型包含输入层、映射层和输出层,通过该模型的三层网络可以获取每个单词的分布式向量表示。在获得在线社交网络文本中每个单词的分布式向量表示后,对每个单词的向量表示进行不加权平均,获得的平均值作为在线社交网络消息的向量表示。通过计算在线社交网络文本的向量表示间的余弦距离,获取不同文本的相似性。通过对在线社交网络消息相似值进行排序,获得Top-X个相似在线社交网络消息。此过程可以描述如下。

给定一个搜索项m t,其中包含W个单词。利用skip-gram模型获得每个单词的向量表示},通过对词向量的平均表示,得到在线社交网络文本向量表示v(m t)。当给定在线社交网络文本集时,可以获得在线社交网络文本的向量表示{v(m 1),v(m 2),….,v(mi),…,v(m M)}。为了比较它们与目标搜索内容mt的相似性,采用式(6-9)计算文本之间的余弦距离,作为在线社交网络文本之间的相似性:

在计算和排序每个在线社交网络文本mi和目标内容m t之间的相似性分数后,可以得到Top-X的相似在线社交网络文本。

对相似消息的查找过程:对于目标用户输入的搜索内容m 0,找到与之相似top-X个相似在线社交网络文本。利用skip-gram,在式(6-9)的基础上计算m 0和m 1~m 100的相似性。将X设置为5,经过计算和相似性排序,发现m 11,m 35,m 52,m 67,m 68是与目标m 0相似性排名前5的在线社交网络文本,将上述5个文本所在的在线社交网络消息中的话题标签放入候选话题集合内。

3.STS中候选话题标签集的获取

在发现相似在线社交网络消息和相似用户后,分别用H sm和H su表示相似在线社交网络消息和相似用户的话题标签。通过式(6-10)获得候选话题标签集H C

分别从相似用户的话题标签、相似用户H su和相似在线社交网络消息H sm中获取候选话题标签集合H C