写点什么

Quora 文本语境演进分析

  • 2015-12-21
  • 本文字数:1876 字

    阅读完需:约 6 分钟

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

通常,人们提出的问题反映了人们在一个特定的时期内最感兴趣的内容。这可以是新近上映的电影的情节,也可以是对即将到来的总统大选的预测。近日,Quora 数据科学家陶雯雯撰文介绍了他们如何运用自然语言处理(NLP)技术从提交到 Quora 的问题中挖掘用户感兴趣的内容。他们的主要研究成果如下:

  • 识别特定时期内与当时事件紧密相关的单词,其中的主要挑战是处理问题集中的自然语言数据。通过选定恰当的问题集合,并关注特定词性的单词,他们使用标准 NLP 技术 TF-IDF 获得了一个令人信服的单词集合。
  • 综合运用专门为自然语言数据而设计的统计检验和基于图的聚簇技术,他们可以发现能够强有力地代表特定 Quora 历史时期的单词语境。这样,关于一个单词为什么对于特定的历史时期而言非常重要,他们就能够自动提取更多的信息。
  • 他们还能够识别出这些语境如何随时间演进,而这可以让他们从 Quora 的讨论中看到更广泛的世界中人、企业和事件的关系。

本文接下来将分别介绍上述三个方面的内容。

按季度识别最有代表性的单词

由于他们最感兴趣的内容是提问者所提的问题是关于什么主题的,所以他们使用词性标注来过滤问题文本中的关键词,并且只保留名词。此外,考虑到不同国家的人有不同的背景、文化和兴趣,他们根据提问者的国籍划分了问题集合。

选取最有代表性的单词有许多方法,最简单的是根据词频排序,但这种方法无法排除常用词。为此,他们选择了 TF-IDF 方法。在具体实现上,TF 为单词在特定国家特定季度的非匿名问题中出现的次数,IDF 为单词在特定国家所有问题中出现的次数,减去该单词在特定国家特定季度的非匿名问题中出现的次数,公式如下:

其中,Q 表示特定季度,W 表示特定单词。

该方法可以提供合理的结果,但为了提高所识别出的单词和当时事件的相关性,他们对识别出的单词进行了进一步的过滤。例如,只保留在特定季度里被三个提问者使用过的单词。另外,去掉 NLTK 中定义的停用词以及在 NLTK Brown 语料库中出现超过 10 次的单词。下图是进一步过滤排序后生成的一个“单词云(word cloud)”示例:

(美国,2011 年第 2 季度)

在 2011 年,Quora 刚刚在硅谷成立,最具代表性的单词大多数与重大技术和政治事件相关。例如,近场通信(NFC)服务推动了移动支付的广泛应用,人们在预测 Groupon、Zynga 和 Yelp 的 IPO,等等。

代表性单词的语义语境

对于单词云中的单词的代表性,有的很容易解释,有的并不明显。为此,他们基于单词共现频率设计了一种自动提取单词语境的方法。与生成单词云的过程相比,他们使用了一个更大的单词集合:去掉了停用词,但并没有去掉名词之外的其他单词,也没有限制单个提问者使用某个单词的次数。他们按照如下条件对单词对进行了过滤:

  • 最少共同出现了 4 次;

  • 共现次数超期望值,即

  • 随机共现的概率小于 5%。

其中,为单词 A 和 B 实际的共现次数,N 为非匿名问题的数量,()为出现单词 A(B)的问题的数量。使用这些规则,他们构建了一个图,顶点表示单词,边连接满足上述条件的单词对。对于每条边,他们使用下面的公式赋予一个权值:

通过这种方法,他们识别出图的连通部分,并命名为“语义簇(semantic clusters)”。那些包含最有代表性单词的语义簇是他们重点关注的。下图是一个语义簇示例:

(美国,2011 年第 2 季度)

该语义簇表示,Facebook 在 2011 年 6 月推出了研究 Facebook 社交图谱的工具 Graph API Explorer

单词关系随时间演进

在生成单词语义簇之后,他们进一步研究了单词语境随时间的演进。他们从多个季度中选取了最具代表性的单词,他们称为“关注词(focus word)”。对于每个单词 A 及每个与 A 关联的单词 B,他们使用前文定义的 f(A,B)计算两者在 2012 年到 2015 年之间不同季度里的共现频率指标。接下来,他们就使用这些值分析单词之间关联关系随时间的变化情况。下图是一个单词语境演进示例:

(关注词:Obama)

可以看出,在 2012 年总统大选之前,Barack Obama 经常和 Mitt Romney 一起被提及,而在 2013 年 8 月前后同 Syria 相关的问题更显著了。

总之,他们使用 NLP 技术分析问题文本,提取最有代表性的单词,并使用单词云的形式将它们可视化。然后,他们使用语义聚簇方法识别出相关度较高的一组组单词,即语义簇。最后,他们分析了一个单词的语境如何随着时间变化。更多示例和参考文献,请查看原文


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

公众号推荐:

AIGC 技术正以惊人的速度重塑着创新的边界,InfoQ 首期《大模型领航者AIGC实践案例集锦》电子书,深度对话 30 位国内顶尖大模型专家,洞悉大模型技术前沿与未来趋势,精选 10 余个行业一线实践案例,全面展示大模型在多个垂直行业的应用成果,同时,揭秘全球热门大模型效果,为创业者、开发者提供决策支持和选型参考。关注「AI前线」,回复「领航者」免费获取电子书。

2015-12-21 18:001702
用户头像

发布了 1008 篇内容, 共 379.8 次阅读, 收获喜欢 342 次。

关注

评论

发布
暂无评论
发现更多内容

技术分享 | 实战详解接口测试请求方式Get、post

霍格沃兹测试开发学社

技术分享 | 接口自动化测试中如何对xml 格式做断言验证?

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)-- 特殊控件 Toast 识别

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)-- Capability 使用进阶

霍格沃兹测试开发学社

干货 | 测试专家(前阿里P8)聊测试职业发展常见瓶颈

霍格沃兹测试开发学社

技术分享 | 常见接口协议解析

霍格沃兹测试开发学社

秒验 运营商SDK错误码

MobTech袤博科技

sdk 运营商

9个SQL运维常遇到的问题

华为云开发者联盟

数据库 sql 华为云 函数 企业号十月PK榜

测试人生 | 疫情之下工资翻了2倍多,这4个月学习比工作8年学到的还多

霍格沃兹测试开发学社

测试人生 | 二线城市年薪超40W?疫情之下涨薪100% + 是怎么做到的?

霍格沃兹测试开发学社

技术分享 | 接口测试之HTTP、HTTPS 抓包分析

霍格沃兹测试开发学社

技术分享 | 如何模拟真实使用场景?mock 技术来帮你

霍格沃兹测试开发学社

如何在 SAP BTP Java 应用里使用 SQLite 数据库

汪子熙

云原生 云平台 SAP 10月月更 btp

技术分享 | 抓包分析 TCP 协议

霍格沃兹测试开发学社

技术分享 | 服务端接口自动化测试, Requests 库的这些功能你了解吗?

霍格沃兹测试开发学社

技术分享 | 接口测试中如何使用Json 来进行数据交互 ?

霍格沃兹测试开发学社

技术分享 | 接口测试价值与体系

霍格沃兹测试开发学社

Jchardet——支持检测并输出文件编码方式的组件

OpenHarmony开发者

OpenHarmony

技术分享 | 接口测试常用代理工具

霍格沃兹测试开发学社

技术分享 | 接口测试之HTTP 协议讲解

霍格沃兹测试开发学社

干货 | 接口自动化测试分层设计与实践总结

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)-- 属性获取与断言

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)-- 参数化用例

霍格沃兹测试开发学社

还在为如何编写Web自动化测试用例而烦恼嘛?资深测试工程师手把手教你Selenium 测试用例编写

霍格沃兹测试开发学社

经典面试题-如何将字符串转化为整型

霍格沃兹测试开发学社

接口测试经典面试题:Session、cookie、token有什么区别?

霍格沃兹测试开发学社

技术分享 | 接口自动化测试如何搞定 json 响应断言?

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)--显式等待机制

霍格沃兹测试开发学社

技术分享 | 使用postman发送请求

霍格沃兹测试开发学社

技术分享 | 使用 cURL 发送请求

霍格沃兹测试开发学社

使用Mock技术帮助提升测试效率的小tips,你知道几个?

霍格沃兹测试开发学社

Quora文本语境演进分析_语言 & 开发_谢丽_InfoQ精选文章