Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >不幸的人各有不幸吗?文本分析流浪汉乞讨标语牌后发现的套路(附代码)

不幸的人各有不幸吗?文本分析流浪汉乞讨标语牌后发现的套路(附代码)

作者头像
大数据文摘
发布于 2018-05-25 08:45:10
发布于 2018-05-25 08:45:10
8770
举报
文章被收录于专栏:大数据文摘大数据文摘

大数据文摘作品,转载具体要求见文末

编译团队 | Aileen 李子楠 邱猛

Illustration | Jiin Choi 图 | Jiin Choi

流浪者惯用一张手写标语牌来表达自己,我们对数百名纽约街头流浪者手中的标语做了文本分析,想看看他们希望传达的声音。

纽约的无家可归者普遍使用两种乞讨方式:一种是在十字路口的角落或地铁站与站之间的车厢里反复唠叨他们的困境,这种方式在要到一点小钱的同时也会招致周围游客的厌恶。另一种方式是举一个纸质标语牌,在上面写上他们要说的话。

标语牌显然更具优势。因为相比于口头表述,文字扫一眼更快,增减更灵活,并允许他人自由选择看或不看。不幸的是,我们大多数人路过乞讨者时都会选择忽视那些标语牌。这种行为是最方便的,也是最现实的。毕竟在纽约有超过6万名乞讨者,关注他们每一个似乎不是很现实。

所以,假设你平时并没有注意这些标语牌,你觉得他们一般都写了些什么?

上图:在谷歌上输入词条“纽约无家可归者的标牌”后给出的搜索结果

弄明白纽约无家可归者标语牌上

文字内容的第1步

事实上,搜集和转录这些数据就够写一篇博客了,这里只做一些概括性的描述。首先在google、推特和Instagram (一個免费提供在线图片及影片分享的社交应用)上搜索“New York City homeless sign”或类似的词条,你会得到几百张来自新闻报道、社交媒体的贴文和个人摄影的可用照片。

但是这些标语牌往往难以转录。因为这些照片一般质量较差,没有聚焦,或是拍摄角度太偏。即使一个标语牌的文字完全清晰可见,也会存在一些其他问题。如乞讨者可能会使用一些特殊(经常是错误)的拼写、标点符号、换行符和手写字体。有时他们所表达的信息并非简单一句话,而是几乎没有任何线索连接成句的各种想法。

#nychomeless#homeless#heraldsquare

上图:例举纽约无家可归者写的一句有语病的句子

一些标语可能有凌乱、想法模糊的特点,这些会造成转录困难。

我们可以使用一些修正标准来规整文本内容,以方便进一步描述和分析,例如纠正一些简单的书写错误和使用完整拼写代替符号表述(“4” 换成 “for”, “+” 换成 “and”)。我们再使用R语言提供的文本挖掘包忽略掉大小写、换行符和其他标点符号之间的不一致,最终得到标准化的数据。

汇集了244条标语用于文本分析

流浪者们的声音

最后,我们汇集了244条标语用于文本分析(数据集链接:https://github.com/PerplexCity/Sign_From_Below/blob/master/transcribed_signs.csv)对于文本挖掘而言,244条文本的语料库相对来说较小。通常,《战争与和平》这样大块头的书或推特上百万条的文本才会以下面的方式进行分析。然而,我们还是找到了合理可信的规律。

幸福的人都是相似的,不幸的人则各有各的不幸。尽管如此,通过对这几百条标语进行筛选,我们还是可以发现,乞讨者想要通过标志牌说服他人所采用的几种固定套路:大部分情况下他们会把自己描述成更值得同情的对象,例如怀孕的母亲,退伍的军人,或抢劫受害者。有些人会尝试一些小聪明(我打赌你看了这句话会留下1美元),其他的则比较典型(我和老虎伍兹有一段绯闻,看看我现在的下场)。

通常他们会先一步回答你的疑惑。如:为什么他们没有家?(丈夫去世、没有保险、丢失一切、无家可归、你能帮帮我吗、上帝保佑你、感恩节快乐)。为什么他们不去其他地方?(需要一张车票、赚得35美元去新泽西州大西洋城、那里我有地方住并且有一个工作机会)。

虽然有很多奇闻轶事,但这是一个数据博客,所以我们需要数据来说明问题。

前25个出现频率最高的单词

上图:纽约无家可归者的标牌上使用频率最高的25个单词

如上述词频表所示,无家可归者的优先表述是寻求帮助(“help”)和表明自己无家可归(“homeless”),并始终保持礼貌(“please”)。

在文本挖掘中,像“and”或 “the”一类的常见词经常会被去掉,因为他们会稀释整个高频词汇表。有趣的是,在这个样本中这些词并没有被去掉,但竟也没有排到我们词频表的最前面。这说明两个问题:首先,无家可归者不太可能会去使用这些如此容易被预测到的词,可能是为了节省空间和提高浏览速度;其次,这也表明无家可归者使用“help” 和 “homeless”这些词的频率非常高,正如一般的文本使用“the”(4%)这类普遍的术语一样。

你可能会把上图的y轴看作是独立的一些单词,但是也可以把他们看作是一元语法(unigrams,比如大数据的unigram形式为:大/数/据),或者是N元语法(n-gram,语言学专业术语,表示n个单词组成的序列)的最简单形式。我们可以对二元词(bigram,两个单词组成的短语)的频率进行排序,如下:

【由于我们不能使用bigrams(双单词)的频率除以单词数量得到相对频率,所以x轴向左对齐表示绝对频率】

可以看到,第一个图表中一些单词的搭配在了上图中聚集到了一起。比如,“Please” 和“help”使用很频繁,它们联合在一起使用也很频繁,类似的还有“God” 和 “bless”。

需要注意到是,这种创建二元词(bigrams)、三元词(trigrams)和其他多元词的方式是根据原有文本来模拟产生新文本的基础。我们也可以尝试随机选择一些词来伪造一个自然的句子,通过这种方式得到的句子读起来跛脚可笑。但是如果你知道哪些序列是合理的,你就可以拼凑出短语和句子,就像拼火车一样。

一个简单的例子,假如你使用“please”作为开头,二元词(bigrams)频率表能预测下一个单词“help”,然后你可以连接到“thank,” “you,” “God,” 和 “bless”,即马尔可夫文本生成链,它是网络机器模仿人类写作的原理。

多元词(n-gram)的单词数越多,模拟的写作看起来就越接近于人类,因为你使用的基于真实文本的片段单元更长。下图是在无家可归者标语样本上使用trigrams生成短句的示例。其中一些结果看起来毫无意义,但其他的你能想象到或许是来自某个真实的标语:

上图:无家可归者标语模拟结果的截图

呃,这里我们使用这些标语生成假文本似乎玩笑开得有点过了,毕竟现在纽约及其他城市无家可归还是一个很严重的问题。我们的分析就到这里了。如果你对文本挖掘很感兴趣,并且想要进一步了解Andrey Kotov的这个项目或者其中使用的R语言知识,两者都提到了本文。你也可以查看博客使用的分析数据和程序,链接在文章的最后。

最后,如果你想要帮助这些无家可归的人,可以捐款给Bowery Mission,它为纽约的流浪者提供住所、食物和衣服。

所有的分析数据和程序详见:https://github.com/PerplexCity/Sign_From_Below

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
生信技能树R作业答案-中级
ggpubr http://www.sthda.com/english/articles/24-ggpubr-publication-ready-plots/
Y大宽
2019/06/02
1.9K0
比较不同流程(limma/voom,edgeR,DESeq2 )差异分析的区别
距离第一次听说生信已经十几年了,现在是邋遢大叔重新开始学代码,精力确实已不像从前,各位入坑还是要乘早。后来约莫在5年前,课题组当时有个RNA-Seq数据,lab meeting时听瑞典小哥在汇报DEGs筛选,当时感觉好是神奇。其实陆陆续续也有过学习的念头,但在对自己的各种纵容下,想法又逐渐隐没。直到2月前,机缘巧合参加了生信技能树培训,才进一步强化了自己学习生信技术的信念。
生信技能树
2021/01/05
5.3K0
生信技能树GEO数据挖掘直播配套笔记
二代测序(RNA_seq):如果是counts 可选择limma的voom算法或者edgeR或者DESeq2。 如果是FPKM或TPM可选择limma,注意:edgeR和DESeq2只能处理count注意:count做差异分析计算上下调,FPKM或TPM进行下游可视化
生信技能树
2022/06/08
2.1K0
生信技能树GEO数据挖掘直播配套笔记
在学术不端的数据取舍上面反复横跳
然后马上这些策略就被应用到了单细胞转录组数据挖掘层面,因为反正也不需要自己产出数据了,过去三五年间单细胞的火热带动了海量的各种实验设计的公开的表达量矩阵。比如这个文献:《Lipid-related protein NECTIN2 is an important marker in the progression of carotid atherosclerosis: An intersection of clinical and basic studies》就是看了看两个分组的具体的基因的差异,在普通bulk转录组和单细胞转录组两个数据集里面,如下所示:
生信技能树
2024/01/11
2920
在学术不端的数据取舍上面反复横跳
GEO多数据集联合分析-文献复现
文献题目:基于生物信息学的新型铁死亡基因生物标志物和免疫浸润谱在糖尿病肾病中的应用Huang, Y., & Yuan, X. (2024). Novel ferroptosis gene biomarkers and immune infiltration profiles in diabetic kidney disease via bioinformatics. FASEB journal : official publication of the Federation of American Societies for Experimental Biology, 38(2), e23421. https://doi.org/10.1096/fj.202301357RR. IF: 4.8 Q1
用户11008504
2024/05/11
4152
TNBC数据分析-GSE76275-GPL570
五月份的学徒专注于GEO数据库里面的表达量芯片数据处理,主要的难点是表达量矩阵获取和探针的基因名字转换,合理的分组后就是标准的差异分析,富集分析。主要是参考我八年前的笔记:
生信技能树
2021/08/25
2.5K0
TNBC数据分析-GSE76275-GPL570
生信技能树——GEO转录组RNA_seq_GSE162550
和生信技能树GEO转录组“GSE150392“分析类似,唯一区别就是在数据处理和ID转换这一环节略微有区别
生信技能树
2022/06/08
1.8K0
生信技能树——GEO转录组RNA_seq_GSE162550
TNBC数据分析-GSE27447-GPL6244
五月份的学徒专注于GEO数据库里面的表达量芯片数据处理,主要的难点是表达量矩阵获取和探针的基因名字转换,合理的分组后就是标准的差异分析,富集分析。主要是参考我八年前的笔记:
生信技能树
2021/08/25
2.7K0
TNBC数据分析-GSE27447-GPL6244
生信入门DAY7-9
基因表达芯片、转录组(NGS)、单细胞、(突变、甲基化、拷贝数变异,不直接给表达矩阵)。
青柠味
2025/05/22
1250
生信入门DAY7-9
生信技能树Day9 GEO数据挖掘 差异分析
用户11064093
2024/04/21
3170
Learn R GEO
·上下五条线的意思 中间的又黑又粗的—中位数;上下两条线是最大值和最小值;方框的上下两条线是75%和25%(四分位数);在外面的点-离群点
用户10412487
2023/03/28
1.2K0
GEO表达芯片数据分析
---title: "GEO表达芯片数据分析"output: html_documentdate: "2023-03-20"---关于该流程代码的说明:(1)本流程仅适用于GEO芯片表达数据,以"GSE56649"为例(2)先在GEO数据库中确定是否为"Expression profiling by array",不是的话不能使用本流程!(3)注意需要自行修改或判断的代码一般放在了两个空行之间(4)代码的注释有一丢丢多,目的是为了更好地帮助大家理解1.下载数据,提取表达矩阵、临床信息和GPL编号rm(lis
小叮当aka
2023/03/23
3.3K1
GEO数据读取-笔记分享
的编号开头是? •GSM
用户10407321
2023/03/18
1.6K0
GEO数据读取-笔记分享
GEO
用户10667093
2023/07/24
2960
生信技能树——TCGA癌症数据1
因为是癌症方面,自己不研究这一方面,所以不常用,但是GEO的转录组数据,是根据这个文件改写的
生信技能树
2022/06/08
9280
​文章复现—bulkRNA转录组结合机器学习等进行相关疾病研究01—多数据集去除批次效应后联合分析以及火山图标准绘制
《Identification of cuproptosisassociated subtypes and signature genes for diagnosis and risk prediction of Ulcerative colitis based on machine learning》基于机器学习的溃疡性结肠炎诊断和风险预测中铜死亡相关亚型和特征基因的鉴定(IF:5.7) Date:2023.04
sheldor没耳朵
2024/10/25
2724
​文章复现—bulkRNA转录组结合机器学习等进行相关疾病研究01—多数据集去除批次效应后联合分析以及火山图标准绘制
GEO数据挖掘
箱型图不显示原始数据点,而是采用样本数据,根据四分位数用盒和线来显示值的范围。此外,它们用星号显示落在箱须之外的离群值
可乐同学与生信死磕到底
2024/04/08
2940
GEO数据挖掘-基于芯片
在require()函数中,如果直接传递包的名称作为参数,不需要加引号;如果包的名称以字符串形式存储在变量中,则需要使用character.only = TRUE来指定这个变量是一个字符串
sheldor没耳朵
2024/07/23
4950
GEO数据挖掘-基于芯片
表达芯片数据分析1
芯片的差异分析需要输入表达矩阵(数据分布0-20,无异常值,如NA,Inf等;无异常样本)、分组信息(一一对应,因子,对照组的levels在前)、探针注释(gpl编号,对应关系)。
Erics blog
2023/09/25
6510
GEO—芯片GSE3292 _pd 中无法找到分组信息—火山图中添加目标基因
采用的数据集是GSE3292,2005年发表的基于芯片的转录组测序数据,按照常规方法导入即可
sheldor没耳朵
2024/10/07
1750
GEO—芯片GSE3292 _pd 中无法找到分组信息—火山图中添加目标基因
相关推荐
生信技能树R作业答案-中级
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档