QCon 全球软件开发大会(北京站)本周六开幕,点击抢占最后席位 了解详情
写点什么

Quora 文本语境演进分析

2015 年 12 月 21 日

通常,人们提出的问题反映了人们在一个特定的时期内最感兴趣的内容。这可以是新近上映的电影的情节,也可以是对即将到来的总统大选的预测。近日,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))。

2015 年 12 月 21 日 18:001214
用户头像

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

关注

评论

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

云小课|DSC帮您管数据,保障您的云上数据安全

华为云开发者社区

数据安全 华为云 数据安全中心 云上数据 DSC

Gartner在线研讨会:拥抱CIO的秘密武器—业务主导型IT

Geek_bacee5

Gartner Gartner在线研讨会 CIO的秘密武器 业务主导型IT 深度剖析数字化加速电子书

5G进京 “赶考”记:“占得上、保持稳、体验优、信号好”四道考题,分别打几分?

脑极体

This BigData,Hadoop组成及生态

Simon郎

大数据 hdfs YARN hadoop3 大数据MapReduce

不给电脑,我用手机敲命令十分钟完成了zabbix监控,面试官当场下offer

互联网老辛

监控 zabbix

太香!终于有阿里大牛用677页笔记,把Java程序性能优化讲明白了

周老师

Java 编程 程序员 架构 面试

墨奇科技宣布完成 2.5 亿元 B 轮融资

intel001

CODING CD + Nginx Ingress 实现蓝绿发布

CODING DevOps

DevOps 敏捷开发 研发管理 CODING 研发团队

持续霸榜GitHub的面试神器:字节跳动Java面试参考手册,限时开源

周老师

Java 编程 程序员 架构 面试

拍乐云将亮相 QCon 大会,揭秘音视频“两高一低”体验背后的技术

拍乐云Pano

GitHub收藏最高的10个Java练手项目推荐

北游学Java

Java spring 项目实战

🚄【Redis 干货领域】帮你完全搞定Sentinel运作原理

李浩宇/Alex

redis哨兵模式 redis哨兵 redis哨兵集群 redis sentinel 五月日更

Arction图表控件LightningChart.NET中如何创建显示财务数据的2D StockSeries图表

Geek_bacee5

数据可视化 LightningChart.NET Arction 图表控件 LightningChart

【LeetCode】将句子排序Java题解

HQ数字卡

算法 LeetCode 5月日更

2021高级Android笔试总结,Android系列学习进阶视频

欢喜学安卓

android 程序员 面试 移动开发

CODING 增强安全漏洞扫描能力,助力团队“安全左移”

CODING DevOps

代码扫描 CODING 代码安全

智慧决策情报研判软件开发解决方案,警务情报信息平台建设

WX13823153201

同源策略引发的跨域问题它都能轻松解决!先来认识认识有这么强大功能框架的神奇之处

攻城狮Chova

nginx 5 月日更

Arction高性能图表控件LightningChart.NET如何正确清理内存资源

Geek_bacee5

数据可视化 LightningChart.NET Arction 图表控件 LightningChart

国内日志监控分析王者之sls

代码先生

分布式日志 海量数据分析 日志监控分析

亿级系统的Redis缓存如何设计?

Java架构师迁哥

GitHub开源史上最大规模中文知识图谱

不脱发的程序猿

人工智能 自然语言处理 GitHub 开源项目 中文知识图谱

一张图看懂嵌入式系统组成

不脱发的程序猿

硬件开发 嵌入式系统 嵌入式学习路线

在校大学生想从事网络安全工程师,听老哥这番话 你会少走很多弯路

Machine Gun

程序员 网络安全 渗透测试 语言 行业趋势

打破固有思维(十五)

Changing Lin

5 月日更

分布式文件系统怎么做?终于有个人把分布式文件上传讲清楚了

攻城狮Chova

fastdfs 文件服务 5 月日更

融云2021 X-Meetup技术沙龙 探讨音视频技术新方向

融云 RongCloud

RDBMS与HBase的对比

五分钟学大数据

大数据 HBase 5月日更

uniapp 使用原生子窗体进行视频聊天

anyRTC开发者

uni-app 音视频 WebRTC RTC

推特视频怎么保存: 免费下载Twitter视频教程

科技猫

twitter 分享 经验分享 教程 视频处理

2021金三银四Android大厂面试题来袭!高级面试题+解析

欢喜学安卓

android 程序员 面试 移动开发

全民K歌技术公开课(前端篇)

全民K歌技术公开课(前端篇)

Quora文本语境演进分析-InfoQ