目的是为了把nature06958那篇论文中的图复现出来,重复一下Barabasi的工作,学习别人是怎样做研究写论文的。

目前第一步的具体任务是把一批手机数据中所有用户的数据提取出来,用Python?还是学习一下Hadoop?被困扰了。值得关注的是,到底多大的数据适合用Hadoop?一般应该至少还是要TB以上吧?GB级数据还是考虑优化Python代码加上shell工具来搞吧。

用awk按列处理,缩小数据集大小即可,1月5日先用awk提取出了一个月所有数据中的四列字段,从400多GB缩小到约54GB。

今天,打算从54G的数据中,提取所有用户的轨迹数据。

从18:26开始read第3个chunk,1分钟之内读完,约5分钟之内,处理完该chunk,然后开始进行文件读写,完成这次文件读写用了半小时到一小时,写出来的文件大约有99714个

一个教训:尽可能减少文件读写的次数!太拖时间了!我把54G数据划分成10次处理,这样根本不行,既然内存足够,完全试着可以一次读进去,处理完,一次文件读写。

把数据一次性读进来,只用一个chunk,内存溢出了,128G的内存也撑不住,因为中间要维护一个巨大的dict。分两次chunk来读,内存也不够,遂改为每次读10个G,读5个chunk。

处理第一个chunk时,从8点左右,写文件的进度就到了100%,可是屏幕却一直停滞在这里,top命令显示,程序还在计算,不知道在做什么,想了一下,可能是把数据从缓存往硬盘文件里写吧,write语句执行到100%的时候可能只是往缓冲区里写完了,真正要执行完还得把缓冲区里的文件往硬盘上写,这一步要等的时间真是遥遥无期了。到8点35,才终于开始了第二个chunk的计算。每个chunk算出来的dict大约有4、50个GB,硬盘读写大约要半个多小时。

一个教训:以后跑数据,轻易还是不要做硬盘的读写,尽量放在内存里计算。把计算结果以最小最优的方式记录在文件里,不然要等的时间太长了。

其实这次这个任务实在不行就不要写到硬盘里了,想想办法直接在内存里算出结果。与其浪费时间去想怎么优化代码,怎么学Hadoop、Spark,怎么学Python并行化,不如花时间寻找替代方案,如何减少计算量,如何用更好的工具?实在不行,可以想想有些工作是不是可以用Graphlab来完成?借助Graphlab解决最关键的计算步骤?

Hadoop、Spark、Python并行程序设计,这些东西搞起来太浪费时间了,机会合适的时候可以去研究一下,提升一下自己的能力和技术栈,但现在你必须把精力聚焦在最关键的事情上面!写代码不是目的,写代码是途径,目的是要做出一个好的研究,写出论文来。思想比工具更重要,能够实现自己的思想就行了,不论用什么方法和工具,想清楚这一点很重要。

任务:从一个月的数据中提取出每个用户的移动坐标

从20131224的数据中找出所有的用户

1
awk -F "\"*,\"*" '{print $1}' gprs_bh_20131224.del | sort -su | wc -l

写到一个文件all_users.txt,共72909个用户。对这72909个用户,从20131201-20131231的数据中找出他们的移动轨迹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Define main
main(){
cat all_users.txt | while read name
do
echo $name
for file in ./flowdata/*.del
do
echo $file
cat $file | grep $name >> ./users/user_$name.dat
done
# add csv title
title='user_id,access_mode_id,logic_area_name,lac,ci,longtitude,latitude,busi_name,busi_type_name,app_name,app_type_name,start_time,up_pack,down_pack,up_flow,down_flow,site_name,site_channel,cont_app_id,cont_classify_id,cont_type_id,acce_url'
sed -i "1i$title" ./users/user_$name.dat
done
}
# Invoke main
main

从周六上午算到周一上午,只算出了97个用户,离72909还太遥远。固然可以先用目前的数据拿来算算看,但要想真把所有用户的轨迹提取出来,可能还非得学习一下Hadoop MapReduce的编程。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# 输出开头5行的第1列
head -n 5 gprs_bh_20131201.del | awk -F "\"*,\"*" '{print $1,$6,$7,$12}'
output:
user_id longtitude latitude start_time
31000773 116.345373 39.998725 20131201002143
41365834 116.107333 39.911472 20131201002332
43100000155674 116.173231 40.201851 20131201002404
31000773 116.345373 39.998725 20131201002116
# 也可以
head -n 5 gprs_bh_20131201.del | awk -F "," '{print $1,$6,$7,$12}'
output:
user_id longtitude latitude start_time
31000773 "116.345373" "39.998725" "20131201002143"
41365834 "116.107333" "39.911472" "20131201002332"
43100000155674 "116.173231" "40.201851" "20131201002404"
31000773 "116.345373" "39.998725" "20131201002116"
# 输出所有文件的第1,6,7,12列
awk -F "\"*,\"*" '{print $1,$6,$7,$12}' *.del >> user_loc_time.txt
# 找出文件第一列的所有内容,并去重
awk -F "\"*,\"*" '{print $1}' gprs_bh_20131224.del | sort -su
# >清空文件并写入,>>追加写入
# 查找含有用户'102940566'的行
cat gprs_bh_20131224.del | grep '102940566' > user_102940566.dat
# 找出当前目录下所有大小为0的文件,列出来
find . -size 0
# 查看占用9999端口的进程的PID
lsof -i :9999
# 输出大文件的前n行到一个小文件中
head -n 10000 gprs_bh_20131224.del > gprs_bh_20131224.del.cut
# 下载复旦的社交媒体数据
wget -cq http://sma.fudan.edu.cn/corpus/Twitter_Data/Twitter.Corpus.7z &
wget -cq http://sma.fudan.edu.cn/corpus/SMP_2015_Weibo_Data/SMP-Weibo.7z &
ps -aux | grep wget
ll *.7z
# 使用chown命令可以修改文件或目录所属的用户:chown 用户 目录或文件名
# (把home目录下的qq目录的拥有者改为qq用户)
chown user /home/dir
# 使用chgrp命令可以修改文件或目录所属的组:chgrp 组 目录或文件名
# (把home目录下的qq目录的所属组改为qq组)
chgrp usergrp /home/dir
# 在文件file 中,首行添加123456789
sed -i '1,i123456789' yourfile
# 在文件的首行插入指定内容:
:~$ sed -i "1i#! /bin/sh -" a
# 执行后,在a文件的第一行插入#! /bin/sh -
# 在文件的指定行(n)插入指定内容:
:~$ sed -i "niecho "haha"" a
# 执行后,在a文件的第n行插入echo "haha"
# 在文件的末尾行插入指定内容:
# 用第二种方法也可以。一般实现:
:~$ echo “haha” >> a
# 执行后,在a文件的末尾行插入haha

查看当前目录下所有文件的大小

1
du -sh * | sort -n > files.txt

查看磁盘占用情况

1
df -hl

使用jieba对中文文本进行分词

jieba,中文名为“结巴”,力争要做“最好的”Python中文分词组件,jieba主要支持三种分词模式:

  • 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
  • 精确模式,试图将句子最精确地切开,适合文本分析;
  • 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
1
2
3
4
5
6
7
8
9
10
11
12
13
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list)) # 全模式
seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list)) # 精确模式
seg_list = jieba.cut("他来到了网易杭研大厦") # 默认是精确模式
print(", ".join(seg_list))
seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造") # 搜索引擎模式
print(", ".join(seg_list))

参考资料:https://github.com/fxsjy/jieba/

使用snownlp做简单的文本分析

SnowNLP是一个Python写的类库(package),可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK(一个英文文本处理包),所有的算法都是自己实现的,并且自带了一些训练好的字典。

注意:本程序都是处理的unicode编码,所以使用时需要自行decode成unicode。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
from snownlp import SnowNLP
# 给定一句话,内容是“这个东西真心很赞”,用SnowNLP分析
s = SnowNLP(u'这个东西真心很赞')
# 分词:提取句子中的所有词语
s.words # [u'这个', u'东西', u'真心',
# u'很', u'赞']
s.tags # [(u'这个', u'r'), (u'东西', u'n'),
# (u'真心', u'd'), (u'很', u'd'),
# (u'赞', u'Vg')]
# 分析这句话的情感倾向,取值为(0,1),越靠近1,情感正向的概率越大
s.sentiments # 0.9769663402895832 positive的概率
# 把这句话中的词转化为拼音
s.pinyin # [u'zhe', u'ge', u'dong', u'xi',
# u'zhen', u'xin', u'hen', u'zan']
# 把一句繁体字转换为简体汉字
s = SnowNLP(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。')
s.han # u'「繁体字」「繁体中文」的叫法
# 在台湾亦很常见。'
# 给定一段较长的文本内容(以Unicode编码)
text = u'''
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。
它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
自然语言处理是一门融语言学、计算机科学、数学于一体的科学。
因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,
所以它与语言学的研究有着密切的联系,但又有重要的区别。
自然语言处理并不是一般地研究自然语言,
而在于研制能有效地实现自然语言通信的计算机系统,
特别是其中的软件系统。因而它是计算机科学的一部分。
'''
s = SnowNLP(text)
# 计算这段话中的关键词
s.keywords(3) # [u'语言', u'自然', u'计算机']
# 计算这段话的摘要(本质上是对这段话中的每个句子计算其重要程度,利用的是TextRank算法)
s.summary(3) # [u'因而它是计算机科学的一部分',
# u'自然语言处理是一门融语言学、计算机科学、
# 数学于一体的科学',
# u'自然语言处理是计算机科学领域与人工智能
# 领域中的一个重要方向']
# 给定一组词汇
s = SnowNLP([[u'这篇', u'文章'],
[u'那篇', u'论文'],
[u'这个']])
# 计算词频(Term Frequency)
s.tf
# 计算逆文档频率(Inverse Document Frequency)
s.idf
# 计算与另一组词语的相似度(Similarity)
s.sim([u'文章'])# [0.3756070762985226, 0, 0]

参考资料:https://github.com/isnowfy/snownlp

Understanding individual human mobility patterns

Marta C. Gonzalez, Cesar A. Hidalgo & Albert-Laszlo Barabasi

原文链接:http://www.nature.com/nature/journal/v453/n7196/abs/nature06958.html

Abstract

我们发现,与之前普遍采用的列维飞行和随机游走模型预测出来的随机轨迹相反,人类的实际移动轨迹显示出高度的时间和空间上的规律性,每个个体的特征可以用一个与时间无关的特征移动距离和一个显著的回到几个经常光顾的地方的概率。在校正行进距离的差异和每个轨迹固有的各向异性之后,个体行进模式转变成单个空间概率分布,表明尽管他们的旅行历史具有多样性,人类的移动轨迹遵循简单的可再现模式。

We find that, in contrast with the random trajectories predicted by the prevailing Levy flight and random walk models, human trajectories show a high degree of temporal and spatial regularity, each individual being characterized by a time-independent characteristic travel distance and a significant probability to return to a few highly frequented locations. After correcting for differences in travel distances and the inherent anisotropy of each trajectory, the individual travel patterns col- lapse into a single spatial probability distribution, indicating that, despite the diversity of their travel history, humans follow simple reproducible patterns.

Background

之前的研究发现,动物(如信天翁、猴子等)的移动轨迹可以用列维飞行来进行近似。列维飞行是一种随机游走,它的每一段飞行(step size),记为 $\Delta r$ ,符合幂律分布。
$$ P(\Delta r) \sim \Delta r^{(1+\beta)} $$

之前对于纸币的追踪研究发现,人类的移动轨迹可以被建模为连续时间随机游走与长尾的位移和等待时间分布。

但是对于纸币的追踪其实反映了两个或更多个人在两次报告位置的时间点之间携带该纸币的复合运动。因此,不能清楚地说明,观察到的分布究竟反映了某个个体用户的运动,亦或是基于整个人群的异质性与个体人类轨迹之间的一些以前未知的卷积。与此相反,手机在一个人的日常生活中一直由同一个人携带,因而提供了捕捉个人人类轨迹的最佳代理。

Data

D1 Dataset

欧洲的手机移动数据,包括日期、时间、(每一次通话或者短信行为记录下来的)基站坐标,600万用户,6个月时长

This dataset was collected by a European mobile phone carrier for billing and operational purposes. It contains the date, time and coordinates of the phone tower routing the communication for each phone call and text message sent or received by 6 million costumers. The dataset summarizes 6 months of activity.

因为只能记录基站的位置,所以在数据中,1000km以上的jump不能被捕捉到

Each tower serves an area of approximately 3 km2. Due to tower coverage limitations driven by geographical constraints and national frontiers no jumps exceeding 1, 000 km can be observed in the dataset.

我们没有考虑用户跨大陆之间的jump

We removed all jumps that took users outside the continental territory.

D2 Dataset

有些手机应用要求定期记录下用户的位置,而和用户是否打电话、发短信无关

Some services provided by the mobile phone carrier, like pollen and traffic forecasts, rely on the approximate knowledge of customer’s location at all times of the day. For customers that signed up for location dependent services, the date, time and the closest tower coordinates are recorded on a regular basis, independent of their phone usage.

这样的数据,我们拿到了206个用户,10613条记录,均满足在一周之内每两小时记录一次自己的坐标

We were provided such records for 1, 000 users, among which we selected the group of users whose coordinates were recorded at every two hours during an entire week, resulting in 206 users for which we have 10, 613 recorded positions.

因为这些用户都是基于(sign up to the service)行为而选择出来的,所以可能存在一定的倾向性(bias),不过目前来看,我们没有detect到这样的bias。

as these users were selected based on their actions (signed up to the service), in principle the sample cannot be considered unbiased, but we have not detected any particular bias for this data set.

Observation

The distribution of $\Delta r$

We measured the distance between user’s positions at consecutive calls, noted as $\Delta r$

$$ P(\Delta r) = (\Delta r + \Delta r_0)^{-\beta}exp(-\Delta r/\kappa) (1)$$

Equation (1) suggests that human motion follows a truncated Levy flight

However, the observed shape of $P(\Delta r)$ could be explained by three distinct hypotheses:

  • first, each individual follows a Levy trajectory with jump size distribution given by equation (1) (hypothesis A);
  • second, the observed distribution captures a population-based heterogeneity, corresponding to the inherent differences between individuals (hypothesis B);
  • third, a population-based heterogeneity coexists with individual Levy trajectories (hypothesis C); hence, equation (1) represents a convolution of hypotheses A and B.

The distribution of $r_g$

To distinguish between hypotheses A, B and C, we calculated the radius of gyration for each user (see Supplementary Information IV)

$$P(r_g)=(r_g+r_g^0)^{-\beta_r}exp(-r_g/\kappa)$$

Question: 如何计算$R_g$?回转半径如何理解?

Relationship Between ${r_g}$ and t

The longer we observe a user, the higher the chance that she/he will travel to areas not visited before.
观测的时间越长,一个人越有可能去他没去过的地方

We measured the time dependence of the radius of gyration for users whose gyration radius would be considered

  • small ($r_g(T)$ <= 3 km),
  • medium (20 < $r_g(T)$ <= 30 km) or
  • large ($r_g(T)$ > 100 km)

at the end of our observation period (T = 6 months).
The results indicate that
the time dependence of the average radius of gyration of mobile phone users is better approximated by a logarithmic increase,
not only a manifestly slower dependence than the one predicted by a power law
but also one that may appear similar to a saturation process
(Fig. 2a and Supplementary Fig. 4).

Relationship Between $P(\Delta r | r_g)$ and $\Delta r$

图2b显示,$r_g$较小的用户,通常在小范围内活动,而那些具有大的$r_g$的人,则更倾向于选择许多小和几个更大的跳跃大小(jump size)的组合。

As the inset of Fig. 2b shows, users with small $r_g$ travel
mostly over small distances, whereas those with large $r_g$ tend to
display a combination of many small and a few larger jump sizes.

对坐标轴进行rescale以后,多条曲线合并成了一条直线,这表面,可能有一个单一的jump size分布,能够拟合所有人。

Once we rescaled the distributions with $r_g$ (Fig. 2b), we found that the
data collapsed into a single curve, suggesting that a single jump size distribution characterizes all users.

$$P(\Delta r | r_g) \sim r_g^{-\alpha} F(\Delta r | r_g)$$

where $\alpha \approx 1.2 \pm 0.1$ and F(x) is an $r_g$-independent function with asymptotic behaviour, that is,
$F(x) \sim x^{-a}$ for x < 1 and F(x) rapidly decreases for x >> 1
(这个F函数在x<1时是幂律的,x>1时急剧下降)

因此,个体用户的旅行模式可以通过基于$r_g$的特征距离的Levy飞行来近似。然而,最重要的是,个体轨迹的范围受到$r_g$范围的限制;因此,作为列维飞行的明显而反常性质的来源的那种大尺度飞行(地理空间上的跨越)在统计上好像消失了。

Therefore, the travel patterns of individual users may be approximated by a Levy flight up to a distance characterized by rg.
Most important, however, is the fact that the individual trajectories are bounded beyond rg;
thus, large displacements, which are the source of the distinct and anomalous nature of Levy flights, are statistically absent.

这表明,我们所观察到的$P(\Delta r)$ 的分布实际上是对个体轨迹的统计$P(\Delta r | r_g)$ 和群体的异质性$P(r_g)$之间的卷积,也就是说,假设C成立。

This indicates that the observed jump size distribution $P(\Delta r)$ is in fact
the convolution between the statistics of individual trajectories $P(\Delta r | r_g)$ and
the population heterogeneity P(rg), consistent with hypothesis C.

计算t小时后第一次观测到某人出现在某地的概率

To uncover the mechanism stabilizing $rg$, we measured the return probability for each individual $F{pt}(t)$
(first passage time probability)
defined as the probability that a user returns to the position where he/she was first observed after t hours (Fig. 2c).

人们的返回概率(return probability)往往会在24h、48h、72h后出现峰值

In contrast, we found that the return probability is characterized by several peaks at 24 h, 48 h and 72 h,
capturing a strong tendency of humans to return to locations they visited before,
describing the recurrence and temporal periodicity inherent to human mobility

将地点(location)按照被访问次数排序(rank),通过记录个体(individual)所在的附近地区(vicinity),发现符合Zipf分布。

To explore if individuals return to the same location over and over,
we ranked each location on the basis of the number of times an individual was recorded in its vicinity

一个人去的地方的排名(rank),记为L的概率P可以用1/L来预测,而与用户去的地方的数量无关(对于去5个、10个、30个、50个地方的用户,他们的幂指数都是一样的)

We find that the probability of finding a user at a location with a given rank L is well approximated by $P(L) \sim 1/L$, independent of the number of locations visited by the user (Fig. 2d).

Preferential Return

人们大部分时间只会在很少的几个地方

Therefore, people devote most of their time to a few locations,
although spending their remaining time in 5 to 50 places, visited with diminished regularity.

Therefore, the observed logarithmic saturation of $r_g(t)$ is rooted in the high degree of regularity in the daily travel patterns of individuals,
captured by the high return probabilities (Fig. 2b) to a few highly frequented locations (Fig. 2d).
因此,之前观察到的$r_g$的对数饱和度是根据个人的日常旅行模式的高度规律性,由高回报概率捕获到几个高度常见的地点

每个用户可以被分配到由家庭和工作场所定义的明确定义的区域,在那里她或他大部分时间都能被找到。

each user can be assigned to a well defined area, defined by home and workplace,
where she or he can be found most of the time.

我们的结果表明:

  • 在银行纸币测量中观察到的Levy统计数据捕获了等式(2)中所示的- 群体异质性与个体用户的运动的卷积。
  • 个人显示出显着的规律性,因为他们回到几个经常访问的地方,如家庭或工作。
  • 这种规律性不适用于钞票:票据总是遵循其当前所有者的轨迹; 也就是说,美元钞票弥漫(是散播开的),但人类没有。

Taken together, our results suggest that
the Levy statistics observed in bank note measurements capture a convolution of the population heterogeneity shown in equation (2) and the motion of individual users.
Individuals display significant regularity, because they return to a few highly frequented locations, such as home or work.
This regularity does not apply to the bank notes: a bill always follows the trajectory of its current owner; that is, dollar bills diffuse, but humans do not.

总而言之,个体轨迹可以由相同的、与$r_g$独立的二维概率分布表征,这表明个体轨迹的关键统计特征在重新缩放之后在很大程度上是不可区分的。因此,我们的结果确立了agent-based modelling的基本假设,要求我们将对用户的数量要与给定区域的人口密度成比例,并向每个用户分配取自观察到的$P(r_g)$分布的$r_g$。使用预测的各向异性重新缩放,结合密度函数,其形状提供为Supplementary Table 1,
我们可以获得在任何位置找到用户的可能性。鉴于空间接近度和社会联系之间的已知相关性,我们的结果可以帮助量化空间在网络发展和进化中的作用,并增进我们对扩散过程的理解。

The fact that individual trajectories are characterized by the same rg-independent two-dimensional probability distribution
suggests that key statistical characteristics of individual trajectories are largely indistinguishable after rescaling.
Therefore, our results establish the basic ingredients of realistic agent-based models,
requiring us to place users in number proportional with the population density of a given region
and assign each user an rg taken from the observed P(rg) distribution.
Using the predicted anisotropic rescaling, combined with the density function, the shape of which is provided as Supplementary Table 1,
we can obtain the likelihood of finding a user in any location.
Given the known correlations between spatial proximity and social links, our results could help quantify the role of space in network development and evolution and improve our understanding of diffusion processes.

讲者:胡翼青 教授

凌乱的记录员:我

传播

2016.9.14、2016.9.28

  • 控制说(国家机器与意识形态国家机器)
  • 仪式说(凯瑞与卡茨)
  • 传递说(管道与偏向)伊尼斯
  • 李杜(李普曼与杜威)之争,凯舒(凯瑞和舒德森)之争

参考书目

  • 刘海龙《大众传播理论:范式与流派》
  • 丹尼斯.麦奎尔:《麦奎尔大众传播理论》
  • 米德《心灵、自我与社会》**(最好看英文版)
  • 彼得斯《交流的无奈》**
  • 伊尼斯《传播的偏向》*
  • 芒福德《城市文化》**
  • 凯瑞《作为文化的传播》*
  • 齐泽克《图解意识形态》*
  • 格尔兹《文化的解释》**(继承凯瑞的思想)

很多人的论文写的根本不是理论,尤其是传播学理论。理论家的工作:拓展人类的认识论,探索未知世界

海德格尔的技术哲学:现代性社会,用功能(功利)主义的世界观进行说服,给人灌输关于意识形态的“常识”。这在人与世界之间的蒙上了一层灰尘。理论的任务是拂去这些遮蔽——澄明解蔽,这需要对自然而然(意识形态)的质疑,问题意识和自觉意识。每一次解蔽,都会辩证地带来一层新的遮蔽。做理论的人最重要的是:不能坚定地认为某个理论一定是正确的,否则就会形成思维定式。

中国的传播学理论研究的问题在于,缺乏好的语言工具

要想认识什么是传播,不能看传播学家的著作,看看他们对传播与交流的探讨,社会越强调传播,也就越强调控制

传播何以可能:主我与客我,我们之所以会和他人传播,是因为我们会和自己传播。在主我与客我之间转换自己的角色并进行对话。人际传播就依赖于对他人进行类型化,取决于对方的角色和标签,这会带来偏见

对播与撒播(效果与效率)

  • 对播:一对一
  • 撒播:传教、布道、戏剧,表演,“中人”

关于连接和沟通

  • 党报的好处在于,它的受众固定于一个神秘的人群
  • 宣传的目的就是抵达(最后一公里)

重指令,重运动,重一律而不重协商,不重理解

  • 传统的交往:物质和地理的边界与传播的边界是重合的(人际传播)
  • 现代的交往:传播的边界溢出了物质和地理的边界(大众传播)
  • 后现代的交往:传播创造了新的空间(互联网群体传播)

互联网技术争夺的是未来,而不是当下

  • 结构主义
  • 功能主义
  • 结构-功能主义

量化研究需要避开结构功能主义的世界观,如何理解?

  • 李普曼:公众大部分公民只能够接触到媒介塑造的拟态环境,因此只能是局外人,“幻影公众”,但专家就一定是局内人
  • 杜威:公众并非一个常态的群体存在,而是因为某一个事件,影响了某一部分人的利益,从而唤起了一个群体共同的行动和实践
  • 胡适、陶行知都是杜威的学生,但主要继承了杜威的实用主义哲学思想,却忽略了杜威的政治观(代议制民主)

传播

  • 关于传播的哲思
  • 传播就意味着区隔(共识与对抗)
  • 表达就意味着掩盖
  • 传播只能传播可以传播的知识(传播决定了知识,而不是知识决定了传播)

作业选题——文献综述(二选一)

参考文献不少于15篇

  • 仪式观
  • 国内文献:李普曼杜威之争,凯瑞舒德森之争

大众传播

2016.10.19、2016.10.26

参考书目

  • 布思:《美国受众成长记》
  • 吉登斯:《现代性与自我认同》
  • 柯林斯:《发现社会之旅》
  • 本尼迪克特 安德森:《想象的共同体》
  • 拉斯韦尔:《第一次世界大战中的宣传技巧》
  • 拉斯韦尔:《社会传播的结构与功能》
  • 刘海龙:《宣传:观念、话语及其正当化》(博士论文)

大众传播何以可能?

  • 1939年由洛克菲勒基金会提出(洛克菲勒传播研讨班)——12个大佬的神仙会
  • 广播的个案(生活方式/消费方式/统治方式)——拉扎斯菲尔德的研究成果
  • 大众传播的错觉:对空还是对我(思考《骇客帝国》的哲学和逻辑,便会更加理解什么是大众传播——我们天然生活在一个幻影之中)

传播学(尤其是大众传播)是战争的直接产物,它是有原罪的,它的产生,本来就是战争机器的一部分。它的目标是“精准”的应用于战争,因而本身就缺乏理论。大众传播本身是有意识形态的,它的核心关键词是控制、宣传。直到社交媒体的出现,终结了大众传播形态,从而使传播学走出了困境,打开了一扇新大门。

与广播电台(KDKA)相似,微博的过程也是如此:微博兴起->粉丝经济(资本进入)->意识形态操控(统治阶级进入)。只要存在大众的关注和兴趣,就会有大众控制。大众就是帮助控制者控制自己的那群人。

只有两种资本主义:国家资本主义和自由资本主义

为什么传播学天然就是大众传播学?

  • 在工业革命、城市化运动和全球化进程的大幕拉开前后,人类的时空观完全无法形成共同体的想象,大规模的意识形态传播不仅不可能,而且也没有效果

人口的流动带来的从传统到现代的转变,给统治秩序带来了巨大的挑战。以前的统治术是依赖于宗族这类软性的国家机器,现在需要一整套新的规训方法,于是阿尔都塞的意识形态国家机器就诞生了。大众传播因为其效率之高,而成为落实意识形态国家机器的最好的工具。大众传播就意味着意识形态的操控,对日常生活的殖民,意味着洗脑,意味着制造同一性。

  • 关于宣传、大众传播意味着什么:传播第一次真正走到自由的对立面上

一切和自由相对立的学科,都会遭到惩罚。应当认识到,传播学科是有原罪的。人类即将进入大媒介社会,传播科学本应大有可为,但与此同时需要提防的是传播学科的危险区,不应该让传播学成为统治的工具,做研究还是要有独立而追求自由的人格。

  • 大众传播与现代性 脱域

什么是现代性

离开了大众传播,还会有“集体记忆”吗?大众传媒就像一个开关一样,可以给你塑造集体记忆。记忆是被供给的。战争是检验意识形态国家机器宣传的内容是真还是假的最好办法。重新审视传播的力量。

现象学概念:观念序列——哪个概念对我而言更重要?一个人对概念的格局和结构。

想象力,大众传播消灭了地理和现实中的区隔,给每个人以一种超越时空的想象力。人们会想:“谁和我是一伙的?”这就为民粹主义和民族主义奠定了基础。

当今,社会存在是个体主义的,文化氛围是群体主义。现代人的行动和观念之间是完全分裂的,观念分裂,人格分裂。现代性使我们只有观念而没有行动。在心灵的最深处解构了人们革命的动机。批判学派看到了问题的本质:乐观的结果是不可能的,只有绝望。

评奖学金:学硕必须有论文,专硕必须要有作品。要评国奖,必须有C刊论文

与导师相处:自己要足够积极主动

社会向度的传播与文化向度的传播

  • 功利主义与目的论
  • 非功利主义
  • 因为需要,所以有了传播

抗争是有一个结构存在的,谈到抗争,你要想清楚自己在抗争什么?结构主义:谁能给结构以结构的标准?从行动到结构,微观到宏观,现象到理论。

费斯克和波兹曼:学者与专栏作家之间的差别

作业选题——文献综述(二选一)

  • 传播学与现代性
  • 大众传播与集体记忆

传播研究范式

2016.11.2

参考书目

(严格来讲,这是一周的书单)

  • 库恩:《科学革命的结构》,北京大学出版社
  • 默顿:《社会理论和社会结构》,译林出版社
  • 德兰迪:《社会科学——超越建构论与实在论》,吉林人民出版社
  • 霍克斯:《结构主义与符号学》,上海人民出版社
  • 马丁·杰依:《法兰克福学派史》,广东人民出版社
  • 莫里斯:《寻找方法》,新华出版社
  • (刘海龙:《大众传播理论:范式与流派》)

你之所以觉得时间不够用,关键是读书的节奏不对

传播研究范式

  • 什么是范式
  • 社会科学有没有范式
  • 范式的表层结构与深层结构
  • 功能主义与结构功能主义
  • 建构主义
  • 结构主义与解构主义

范式是什么?可以把它理解成一种方法、传统、范畴。当理论出现革命性时,就会产生竞争。新的范式提供了一组新的看世界的角度核心概念测量方法

自然科学(尤其是物理学)是存在范式的,那么社会科学有没有范式?社会科学不同的流派之间永远没有谁替代谁的关系,而是处于一种共生并存的状态。

以我们的新闻传播学院为例,王成军和巢乃鹏老师能不能对话我不知道,但巢老师已经是唯一可以和他对话的人;温乃楠老师很难和计算传播学对话;郑欣老师又很难和她对话(抽象经验主义与自然经验主义的差别);而我和他们都不能对话;他们“建议”我去哲学系,不然显得他们的研究好像都没有理论。保留这种多元化和差异化,让人至少还觉得自由,有抵抗的空间。这才是一个文科院系应有的状态。

胡翼青:中偏左;黄旦:中偏右

每一种研究范式似乎都有其很强烈的道理。质化研究关注独特性(差异性),量化研究关注同一性,这是世界观层面的差异。不管方法论上看起来多么可以结合,从根本上而言,两者仍然存在巨大的差异性。质化研究需要的是体验、直觉、洞察。它需要长期的浸入

范式之间的差别,不是理论的差别,也不是方法的差别,而是世界观的差别。同一性和差异性是自然科学和社会科学分道扬镳的开始。文化与技术这两种话语之间,是有差异的。当今飞速发展的技术正在和文化脱轨,产生一种巨大的张力,带来一种文化上的“无力感”。这个时代本身就不是一个人文的时代,而是一个技术消灭文化的时代。用自然科学的范式来解读传播学科,是不可能的。在自然科学的视角来看,社会科学根本就是所谓的“伪科学”。

一点启示:多少还是要有点理想主义的情节,追求差异并尊重差异。

实证、诠释、批判三个流派

  • 实证:施拉姆划定的狭义的传播学建制:哥伦比亚学派的结构功能主义+耶鲁学派的行为主义。具体而言,就是5W的框架+定量研究方法+以传播效果研究为核心的+媒介社会学(传播社会学)范式
  • 诠释:芝加哥学派、知识社会学、现象社会学、结构主义符号学、文化研究
  • 西方马克思主义,卢卡奇-法兰克福,传播政治经济学,后马1968

11.11-符号-消费主义的狂欢

2016.11.16

  • 为什么是批判学派与经验学派的二元对立
  • 可是批判学派是谁,经验学派又是谁
  • 二元的由来与强化
  • 为什么实证研究仍然是主流

为什么是批判学派与经验学派的二元对立?为什么传播学特别强调二元对立?

起源(美国的实用主义传统,欧洲的批判传统),精英与大众控制、研究对象的不同、时代背景、战争。经验学派和批判学派的这种二元对立从诞生到强化的过程,本质上是实证研究不断占据主流地位的过程。

实证研究成为了平庸学者的挡箭牌:我不会做研究,但我会方法,我一样可以出成果。实证研究是一种典型的方法决定理论的研究。实证研究做的工作停留在“自证”的思路上,因此往往成为了资本借以繁殖资本的工具。

作业选题——文献综述(二选一)

  • 关于传播范式的研究进展
  • 关于学派划分的研究进展

传播学科建制

2016.11.23

参考书目

  • 沃勒斯坦:《开放的社会科学》
  • 沃勒斯坦:《学科、知识、权力》
  • 伍静:《中美传播学早期的建制与反思》,山东人民出版社

所谓学问,尤其是学科发展,很大程度上是社会环境的产物。看看实证研究者与批判研究者生活境遇的差距就知道了。(比如社会学院的梁莹,青年长江学者;而新闻传播学院的袁光锋,卞冬磊)

没有社会资源,任何事情都做不了,更不要谈学科建设。学科发展,远远不是出几个有思想的学者就够了。绝不仅仅是学术层面出了问题。

  • 什么是学科
  • 学科的两层含义与两个向面
  • 传播学的合法性何在?

学科就是一个学术共同体,有一个共同范畴。学科一定要有边界,才会有合法性。否则就只能成为积贫积弱的存在。知识即权力,权力即知识——福柯。这种学科边界的保护,也会带来一种“规训”的色彩。究竟什么是传播学的问题?Discipline的双重含义:纪律和训诫。

学科的社会有用性(求用)和学理(求真)。我们的社会是一个虚假的社会。有用的东西才是真的,而不是真的东西才是有用的。

没有资源,学科无法发展;没有真知和学理,学科也无法发展。这两者是对立而拉扯的。施拉姆的聪明之处在于,开创了一所一系的建制:“所”可以承接项目,获得资源(求用);“系”可以培养人才、发展学术(求真)。

知识越多,思想越少,因为“常识”太多地占据了心灵。媒体的碎片化会让你变得毫无思想。越是不读媒介的,反而学问会做得越好。这就是现实层面与学理层面的差异。既需要养着一群有思想的人,也需要养着一群和社会接轨、拉拢项目和学科资源的人。学科建设是一个如履薄冰的过程。

所有人都是“绕着”实事求是走的。——中央党校的大石碑

学科的两个向面:社会向面和学理向面

工程类学科的社会和学理向面一般是高度统一的,所以他们的学科建设会比较心安理得一点。

如果一个学科过于注重学理,就很难获得资源。而在这样一个资本的时代,如果一个学科的发展不能获得资源,那么它的发展将是非常郁闷的。它甚至可能无法获得学科的学术继承人。更不要谈学术的传承、学科的发展。

为什么在20世纪后半叶以后,整个人文社会科学的学理层面都有些停滞不前,而转向以社会为导向的,非常实用的“决策学”、“政策学”研究,与国家和资本的指挥棒是紧密相关的。这也是“为什么我们这个时代出不了康德、马克思、黑格尔这样的大师?”“为什么我们这个时代不再有体系性的学科建构?”这类问题的原因。

资本已经掌握了学科的脉络。这一套资本运营高等教育的路子是从美国来的。在英国读到博士毕业,都不一定要发一篇论文。

  • 美国传播学的兴起于没落
  • 欧洲传播研究学科建制化的艰难
  • 中国传播学30年

美国传播学,开端于芝加哥学派,有一点眉目是在20世纪20年代,真正形成学科是在20世纪40年代。最关键的影响有几个:

  • 洛克菲勒传播研讨班,基本奠定了传播学研究的结构(5W)。这个结构最大的问题是去学理化。它太简单了,没有进一步理论繁殖的能力。它只是对传播过程的一种描述。
  • 拉扎斯菲尔德(一个精明的老板、职业经理人,到处拉课题),他的应用社会学研究所,奠定的知识生产方式。第一关是贝雷尔森接项目,第二关是米尔斯和卡茨收问卷,第三关是卡茨这些人写报告,最后自己打点包装然后结项。20世纪40时代,这是人文社会科学研究发展史上一个重大的转折,资本主义以这种方式接管了学术研究。在此之前,大学的传统——学术和资本之间永远是对立的,而在此之后,学术和资本却绝佳地融合在了一起。是拉扎斯菲尔德把传播学研究下降到了“常识”的地步。以至于后来出现的大量新闻传播学研究都是在常识上做各种花样的包装,而没有真正意义上的学术贡献。他们所“发现”的那种常识,往往是哲学家和社会学家根本就不屑于去发现的常识。
  • 如果不能跳出拉扎斯菲尔德划定的这个学术圈套,你能做出来的东西也就只能是一些大众都能发现的“常识”

可怜的美国传播学,仅仅是为政府做学问,而不是为社会做学问。施拉姆所创立的那种传播学科已经死亡,且再也不可能死灰复燃。“美国军政府的走狗”

互联网出现了,传播学肯定会走出一条新的路,也许就是计算传播学。

传播学本土化

我们这门课的目的是搭建传播学总体上的图景,框架上的讨论(必须树立正确的三观)

参考书目

  • 翟学伟:《中国人行动的逻辑》,社科文献出版社
  • 刘海龙:《传播研究本土化的两个维度》,现代传播
  • 胡翼青:《传播研究本土化路径的迷失》,现代传播
  • 王怡红、胡翼青:《中国传播学30年》

作业选题——文献综述(二选一)

  • 20世纪90年代关于传播学本土化的讨论
  • 21世纪关于传播学本土化的讨论

切忌胡抄、没下功夫。作业要有规范和体例,标示出处。切忌整段拼接和抄袭。

  • 西方与东方
  • 西方理论,中国问题
  • 本土化的难点到底何在
  • 理论的传统与社会的断裂
  • 东方主义与内在的东方主义
  • 西方主义

中国曾经有诸子百家、程朱理学,现在呢?

技术与文化从曾经的“相生相含”变成了一个互相矛盾的“悖论”。技术在快速发展,而文化却跟不上技术的发展,没有相应的理论来解释新的技术现象。

今天我们都处在一个特别迷茫的时代。为什么前人不焦虑,而我们如此焦虑?因为前人的时代里技术发展的如此之慢,很多理论可以沿用很长时间。

现代性之前的人格是“前人导向型”,而现在人们的人格是“未来导向型”,而未来在哪里,谁也不知道,所以大家都显得很焦虑很迷茫。

  • 华夏传播论的设想(施拉姆及其弟子影响下,如余也鲁,而厦大就是策源地)
  • “西方理论中国验证”的设想
  • 行动中的传播研究
  • 传播思想史的兴起

施拉姆在中国奠定他在传播学的重要性,主要是因为薄熙来(及薄一波)等人给他牵出来的一个“西方御用理论”的地位。实际上,他为FBI工作,没有薄的用力,他也不会有机会来北京讲学,更不可能在中国奠定那么独尊的地位。他对中国传播学最大影响的一点:他“钦定”了传播学的四大奠基人。他认为,传播学的未来在新闻学。

新闻学和传播学从学理上是不该放在一起的,除了中国和北美部分高校(也是受到施拉姆的影响),传播学应该放在社会学系里做媒介社会学,新闻学应该放在政府管理学院行政管理专业。

施拉姆把中国的传播学奠定在了这样一个毫无思想深度的基础上,看似对传播学进行了“解蔽”,实则“遮蔽”了传播学本来应该有的多元化学科背景和视角。实际上,当今北美的很多传播学院里知道施拉姆的人已经非常罕见。

孙旭培《华夏传播论:中国传统文化中的传播》

很多老师,做一辈子的“应景”研究,迷失在了经验的碎片里,于理论并无真正的贡献。言必称“5W”,把施拉姆的理论完全教条化了,变成了“施拉姆传播学”的传教士。这也是厦门大学传播学专业设立最早,却一直发展不起来的原因。

学术不能只是验证啊,如果做研究都是验证理论,那么创新要在哪里?但作为博士的培养,应当认识到,博士论文应该是一个人学术生命的开始,应该是最幼稚的一个工作。先找一个前人的理论,履践一个完整、成体系化的学术路数,把一个正派的范式履行到底,即便没有太多思想上的贡献,但至少体现了一个足够扎实、足够规范的学术过程。一个学生掌握了这样的学术规范以后,再去寻求学术创新,也是一条很不错的道路。

周葆华——张国良老师那种名门正派训练的好处。虽然学者当中有创新天赋的人毕竟在少数,但至少这样的博士培养能让学生的功力足够扎实。

经验不等于问题,而问题是“理论导向”的。从工具到概念,才可能上升到理论层面。

不做思想史,就不知道西方的理论到底是怎么来的。如果能够上升到能够和西方的理论进行对话和批判,思想史的任务就完成了。

把关人理论

参考书目

  • 休梅克:《大众传媒把关》,上海交大出版社
  • 塔克曼:《做新闻》,华夏出版社
  • 舒德森:《发掘新闻》,北京大学出版社
  • 甘斯:《什么在决定新闻》,北京大学出版社
  • 黄旦:《新闻专业主义的建构与消解》,复旦大学出版社
  • 李红艳:《启蒙与建设:当代中国媒介从业人员职业化路径探析》,中国农业大学出版社
  • 王维佳:《作为劳动的传播:中国新闻记者劳动状况研究》,中国传媒大学出版社

如果想要了解2000年之后中国的新闻界,可以读一读张志安的论文和工作

传播者

  • 谁是传播者(三条路径和脉络:把关人/新闻生产/传播政治经济学)
  • 把关人理论(勒温和帕克分别的社会治理的思路)
  • 怀特的研究
    • 过分强调把关人的个人权限
    • 只看到了一个把关人的一个环节
  • 潜网(新闻生产的编辑部,他们有一个潜在的文化和权力结构、潜规则),一套新闻专业主义的规训方法,维持这个群体的边界

作业选题——文献综述(二选一)

  • 把关人概念的演变与脉络文献综述,大部分是出现在英文论文里,中文里很多本身就是文献综述。比较好的参考是《麦奎尔大众传播模式论》祝建华译
  • 近五年来中国新闻记者新闻知识生产个案研究的文献综述

传播者

  • 新闻知识生产
  • 框架理论(在知识生产流程中,被规训成一个大框架中的一小份子)
  • 新闻专业主义
  • 娱乐专业主义

体质人类学、文化人类学、都市人类学,20世纪后半叶社会科学掀起了一阵浪潮,被称之为“回归人的研究”,“社区人种制”

新闻知识生产

2016.12.14

长期在媒体工作的人,往往反而不会去反思新闻编辑部内部存在的问题,很少有人从新闻知识生产的角度去研究。倒是社会学家乃至有人类学倾向的研究者会对这样的问题比较感兴趣。

人/制度/资源、惯例、排异反应

每一篇新闻的写作,都有其前在知识,体现了某个媒体加之于记者的框架(价值观、立场)。

法兰克福学派认为,新闻的写作很多时候都是在“扯淡”。记者写作一定要非常谨慎,因为你并不完全掌握真相。新闻本身就不过是形形色色的“谣言”之一,所以你要说想杜绝谣言,何以可能?

在中国,做新闻真是一个毫无意义的事情,并不是什么能够体现水平的工作,而主要考量的是人的社交能力。在新闻这个行业里,现实和理想的差别是如此之大。

今年考研的报名情况:45个人考10个新闻学学硕,189人考3个传播学学硕,480人考9个专硕。老胡:新闻学学硕考的人越来越少,新闻学专业还有必要设置下去吗?直接合一个大的新闻传播专业得了。

新闻专业主义(看黄旦的文章)、娱乐专业主义

新闻专业主义受到的冲击,其实是新闻的二次销售模式(新闻为媒体带来的广告价值)受到的冲击。

新闻人为什么不愿意去反思新闻专业主义?因为只要反思,后果就不堪设想,带来的是理想的幻灭。

传播者理论

传播者的社会阶层及其意识形态特征

  • 白领阶层
  • 政治后卫与消费前卫

专业主义的偏见:新闻价值

  • 个案:新左派运动的媒介镜像
  • 阶级偏见
  • 民族主义的立场
  • 种族偏见
  • 性别歧视

当年去南方系的南大毕业生,大多在几年内都会跳槽,出路不外乎这几种:用老公的钱开一个花店、糕点店;广告公司、传播公司、品牌推广公司;时尚杂志;自由职业者、美女作家;搞财经新闻的去投行;出国等

新闻记者的小资烙印非常强烈,绝不是所谓的“第四阶层”。记者在政治上是保守的,是一个极其软弱和保守的群体,“一帮软蛋”。他们往往是革命的反对者,甚至是改良的反对者。新闻界其实根本没有什么所谓“英雄”,英雄都是被建构出来的。(政治后卫与消费前卫)

人都一个样,都是怂包。你们还年轻,相信有英雄,反正我们是不相信了。

《实践是检验真理的唯一标准》,胡福明写的只不过是草稿,实际上是邓小平旨意,胡耀邦的班子自己写出来的,不过是借了他的标题和中心思想,重新发挥的罢了。胡福明不过是一个棋子和工具。

媒介的倾向一定是维持社会“均势”。除了客观性,媒介什么都是,独独不代表自由,独独不代表新闻专业主义。市井生活有多平庸,媒介就有多平庸。

只要你来到这个世界有自己的角色扮演,就一定带有偏见。

人民日报的文本对于新闻研究而言是一个宝库。可以从几十年的大视角来解读一个媒体的话语倾向。

天下乌鸦一般黑,只要你抱定所谓的理想主义,那你进入哪个行都是入错行。解构一切其实并不可怕,关键是你以怎样的人生态度,来超越现实的黑暗。这个世界最有趣的地方,恰恰就在于它的滑稽可笑。不妨以游戏人生的精神来活着。与这样黑暗的社会生活在一起,其乐无穷。

受众理论

参考书目

  • 库利:《社会组织》,华夏出版社
  • 麦奎尔:《受众分析》,中国人民大学出版社
  • 拉扎斯菲尔德:《人民的选择》,中国人民大学出版社
  • 卡茨等:《媒介经典文本解读》,北京大学出版社
  • 莫利:《电视、受众与文化研究》,新华出版社
  • 巴雷特等:《媒介研究的进路:经典文献读本》,新华出版社
  • 成露茜等:《媒介识读——一个批判的开始》,正中书局

两种断裂:

  • 技术和文化的断裂
  • 从民族国家到全球化的断裂

斯蒂格勒认为,历史学在消亡,历史学家本来是靠史料的延迟性来进行挖掘和呈现,而技术的进步导致大量的记忆材料被媒介自然而然地记录了下来。最终的结果是,媒介怎样记录,我们的记忆就被建构成什么样子。记忆已经不再是“人的记忆”,而是“记忆工业”强加给你的记忆。在很大程度上,新闻扮演的角色就是洗脑。

媒介素养根本就是个伪命题?

效果研究为什么不可能做出真正有价值的研究?

受众的媒介接受行为往往就是在玩,根本不是什么所谓的“反抗”。批判既要批的真实露骨,也要玩得像游戏一样,就好比将了一军。

  • 由布鲁默提出
  • 充满戏剧性的受众研究
  • 魔弹论
  • 二级传播
    • 受众被动论
    • 受众差异论
    • 个人差异论、社会分类论、社会关系论、文化规范论
  • 顽固的受众
    • 使用满足理论
    • 霍尔的受众观

人生的目的性还是要模糊一点,这样的人性会比较可爱一点。

要喂给gensim.models.Word2Vec的corpus需要是一个词的list的list,如下所示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# gensim_corpus:
# [[u'\u68b5\u65ed',
# u'\uff0c',
# u'\u4e09\u80de\u80ce',
# u'\u4e4b\u4e00',
# u'\u73b0',
# u'\u6025\u9700',
# u'\u6551\u52a9'],
# [u'\u5e73\u5e73',
# u'\u548c',
# u'\u59b9\u59b9',
# u'\u914d\u578b',
# u',',
# u'\u6025\u9700',
# u'\u624b\u672f\u8d39',
# u'\uff01']]

利用gensim包实现Word2Vec模型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Word2Vec using gensim
import logging
import os.path
import sys
import multiprocessing
from gensim.matutils import Sparse2Corpus
from gensim.models import Word2Vec
from gensim.models.word2vec import LineSentence
gensim_corpus = [i.split(' ') for i in corpus]
# size defines the length of each vector of words
model = Word2Vec(gensim_corpus, size=100, window=5, min_count=5,
workers=multiprocessing.cpu_count())
for word in sortedwords:
if word in model.vocab:
print word
print '----------------------'
results = model.most_similar(word)
for i,j in results:
print i,j
print '----------------------'
model.seeded_vector(sortedwords[0])
print model.seeded_vector(sortedwords[0])
print model.vocab.keys()[1]
print model[model.vocab.keys()[0]]
len(model.vocab)
word_vectors = model.syn0
matrix = []
for key in model.vocab.keys():
if key in sortedwords:
matrix.append(model[key])
# matrix = np.array(matrix)
plt.figure(figsize=(8,8))
colors = 'rgbcy'
for i in range(len(matrix)):
color = colors[labels[i]]
plt.scatter(matrix[i][0], matrix[i][1], color=color)
plt.text(matrix[i][0], matrix[i][1], )

喂给KMeans的可以是numpy.array,也可以是scipy.sparse.csr_matrix

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# KMeans
from sklearn.cluster import KMeans
import time
start = time.time() # Start time
# Set "k" (num_clusters) to be 1/5th of the vocabulary size, or an
# average of 5 words per cluster
word_vectors = model.syn0
num_clusters = word_vectors.shape[0] / 5
# Initalize a k-means object and use it to extract centroids
kmeans_clustering = KMeans( n_clusters = num_clusters )
idx = kmeans_clustering.fit_predict( word_vectors )
# Get the end time and print how long the process took
end = time.time()
elapsed = end - start
print "Time taken for K Means clustering: ", elapsed, "seconds."
labels = kmeans_clustering.labels_
# Create a Word / Index dictionary, mapping each vocabulary word to
# a cluster number
word_centroid_map = dict(zip( model.index2word, idx ))
# For the first 10 clusters
for cluster in xrange(0,10):
#
# Print the cluster number
print "\nCluster %d" % cluster
#
# Find all of the words for that cluster number, and print them out
words = []
for i in xrange(0,len(word_centroid_map.values())):
if( word_centroid_map.values()[i] == cluster ):
words.append(word_centroid_map.keys()[i])
print words

Reference

胡翼青

传统媒体到底是要+互联网?还是互联网+?

前者:从传统媒体出发,借助互联网的技术和工具
后者:用互联网思维改造传统行业,并进行洗牌

一、十字路口的隐喻

  • 从“交汇点”和传统媒体的两微一端谈起
  • 传统媒体日渐衰落,于是与之相关联的新闻业也出现了危机
  • 传统媒体的出路是媒介融合吗?
  • 十字路口的隐喻:迷茫、观望;无法用清晰的目标指引自己当前的行动

胡夫人:1994新闻班同学

传统媒体(如报社)思维框架非常固化,以前人的惯例来指引你写作,不允许任何创新创造,而互联网和新媒体所有人都在想,我要怎样创新,以“未来”的发展方向来指引自己前进的方向

那互联网的未来是什么?除了今日头条之外,新闻还能有什么技术来突破现有的瓶颈?

二、个案一:并联式结构

  • 一报一网(《今日美国》的故事)
  • 报网同构的结果是:报亡网亡,它唯一的优点是省钱
  • 报网异构的结果是:
    • 网站无法与报纸共享信息
    • 网站可能影响报社新闻专业主义的声誉
    • 两种完全不同的企业文化
    • 网站可能帮助竞争对手

报业之所以还有一点存在的价值:它是一种认同的社区的纽带。

就是因为报网融合,把很多原本可能撑下去的报纸拖垮了。新媒体把报纸的盈利模式给艹掉了。互联网到了一个产业,就会改变它的游戏规则,重构、洗牌。当今生活的入口:App、二维码、微信公众号,报纸如何去争抢?报纸和互联网之间根本不存在竞争,竞争不在一个层次上。媒介融合的主动权根本就不在传统媒体的手里。

三、个案二:成为盈利砝码的新闻

彭博社——彭博新闻的意义:提升公司的知名度和美誉度,提升客户忠诚度。增加正向网络效应:客户与销售意愿

彭博社主要靠卖数据库赚钱,但彭博新闻本身不能盈利

新媒体根本没有正面和传统媒体进行竞争,它是通过别的途径获得资金来源,然后在内容生产上烧钱,它和传统媒体根本不在一个次元上,那么传统媒体如何和新媒体竞争?

媒介融合是新媒体(互联网公司)可以干的事,独独不是传统媒体可以干的事。

四、个案三:新闻价值观的改变

  • Buzzfeed
  • 77项看起来荒诞不经但实则千真万确的事实(病毒式扩散)
  • 原生广告(你好比哪本儿童读物)
  • 新闻价值不再是传统的五种
  • 没有扩散就没有盈利:受众本位的观念必须变化
  • 走向新的传播者本位

到了这个时代,什么样的新闻才有价值?——能让人转起来的新闻。

今天已经没有受众了。新闻的内涵已经发生天翻地覆的变化,定制化、个性化,而不是关注公共性问题、政治参与。今日头条的个性化推荐其实重新塑造了受众,甚至重新塑造了社会形态。

小粉红真的懂民族主义和爱国主义吗?不过一大堆无聊的社会冗余的流氓无产阶级,却仿佛成为了互联网上的主流。“表情包”是一种特别好的传播载体。只是因为“爱国”这样的话题有传播力。

受众消失了。所有人都成了传播者。现在人们搜集信息的动力只是为了看——有哪些信息可以转给我周围的人。“我们的乐趣就是转发。”

“焦点访谈”这样的节目做再多的深度报道,也不会有很多去看,因为它转不起来,而且大家也不再关心这样的公共事件。

这是一个分析受众转发心理的时代。新闻的涵义变掉了。越没有公共性,才越容易造成转发。“社会的瞭望者”时代已经过去了,互联网颠覆了新闻专业主义自己给新闻界定的新闻的内涵。

If a country is a sailing boat in the sea, and journalists who is the bow of the observation. ——Joseph “Joe” Pulitzer

这样的社会一定面临“公共性危机”。所有人都在“消费新闻”,微博上那么多人虽然在骂,主要是为了转发、刷存在感,而不是为了解决社会问题、关注民生。新闻完全没有了严肃的专业主义精神和舆论监督的气质。

这个世界不可能永远不需要“公共性”的新闻。在大学时代的建议还是要多培养一点对“公共性”的关注和专业性的能力。

未来的社会去向何方?《娱乐至死》还是《1984》?

五、原因分析

  • 开拓新的盈利模式并非传统媒体的擅长
  • 这与传统媒体的经济资本、社会资本和文化资本的偏向有关
  • 特例:浙江日报报业集团等
  • 新的有效地盈利模式一旦被创造,就一定是独一无二的,迅速的成功会导致赢家通吃,传统媒体根本没有任何机会。

将来的新闻业,一定是要求包养,要么是党的保养,要么是大企业的保养。想靠新闻的内容来盈利,在今天这个时代实在是太难了。

一个思考:社交媒体上,个体从受众变成传播者,经历了怎样的过程?能否将它进行量化?做Data-Driven的研究?

TF-IDF算法

TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。应当注意到,有些词,如果它在每篇文章中的TF都很高,那它是不应该被计算为关键词的。

TF就是词频(Term Frequency),IDF就是逆文档频率(Inverse Document Frequency)。IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。

TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率(TF)高,并且在其他文章中很少出现(IDF高),则认为此词或者短语具有很好的类别区分能力,也就是重要性高。计算TF-IDF的方法实际上就是用TF * IDF。

具体的计算公式见:https://zh.wikipedia.org/wiki/TF-IDF

简单而言,TF-IDF主要通过统计词频来判断词语在文本中的重要性,只不过它算了两种词频(TF和IDF),通过计算IDF排除了那些在所有文本中词频都很高的无用词。

TextRank算法

PageRank——让网络节点之间相互投票

PageRank最开始由Google公司用来计算网页的重要性。整个万维网(World Wide Web)可以看作一张有向图图,节点是网页。如果网页A存在到网页B的链接,那么有一条从网页A指向网页B的有向边。

PageRank通过网络浩瀚的超链接关系来确定一个页面的等级。Google把从A页面到B页面的链接解释为A页面给B页面投票,Google根据投票来源(甚至来源的来源,即链接到A页面的页面)和投票目标的等级来决定新的等级。简单的说,一个高等级的页面可以使其他低等级页面的等级提升。

一个页面的“得票数”由所有链向它的页面的重要性来决定,到一个页面的超链接相当于对该页投一票。一个页面的PageRank是由所有链向它的页面(“链入页面”)的重要性经过递归算法得到的。一个有较多链入的页面会有较高的等级,相反如果一个页面没有任何链入页面,那么它没有等级。

构造出网络后,PageRank使用下面的公式进行迭代计算:[1]

S(Vi)是整个网络中,网页i的重要性(PageRank值)。d是阻尼系数,一般设置为0.85。In(Vi)是存在指向网页i的链接的网页集合(入边)。Out(Vj)是网页j中的链接所指向的网页的集合(出边)。|Out(Vj)|是集合Out(Vj)中元素的个数。

PageRank需要使用上面的公式多次迭代才能得到结果。初始时,可以设置每个网页的重要性为1。上面公式等号左边计算的结果是迭代后网页i的PR值,等号右边用到的PR值全是迭代前的。

使用TextRank提取关键字

将一段本拆分为句子,由此可以得到句子的集合和单词的集合。

将每个单词作为pagerank中的一个节点。设定窗口大小为kk,假设一个句子依次由下面的单词组成:

1
w1,w2,w3,w4,w5,…,wn

那么[w1,w2,…,wk]、[w2,w3,…,wk+1]、[w3,w4,…,wk+2]等等都是一个窗口。在一个窗口中的任两个单词对应的节点之间存在一个无向无权的边。

这样便构成了一个以单词为节点,如果它们出现在同一个句子里则建立连边的一个网络,在这样一个网络中,可以用PageRank算法计算出每个单词节点的重要性。其中最重要的(排名最靠前的)若干单词便可以作为关键词提取出来。

使用TextRank提取摘要

将每个句子作为一个节点,若两个句子之间有相似性,则认为对应的两个节点之间有一个无向有权边,权值就是相似度。这样同样可以构成一个网络。在这样的网络中,利用pagerank算法计算得到的重要性最高的若干句子可以当作摘要。

论文中使用下面的公式计算两个句子Si和Sj的相似度:[2]

分子是在两个句子中都出现的单词的数量。|Si|是句子i的单词数。

由于是有权图,PageRank公式略做修改:[3]

以上三处计算公式[1,2,3]见:http://www.letiantian.me/2014-12-01-text-rank/

简单而言,TextRank算法利用了词语(或句子)在文本中共现关系,通过将文本中的词语(或句子)构建成网络,利用网络中节点(词语或句子)之间的关系,让节点之间相互“投票”,从而计算出节点(词语或句子)的重要性。

绘制词语重要度分布图

综合上述两种算法,将TF-IDF值作为y值,TextRank值作为x值,绘制词语重要度分布图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import jieba.analyse
# add stopword
# jieba.add_word('一带一路', freq=1000, tag=None)
# TextRank: Bringing Order into Texts
txt = " ".join(title)
trkeywords = jieba.analyse.textrank(txt, topK=100, withWeight=True)
# TF-IDF: Term Frequency and Inverse Document Frequency
tfidfkeywords = jieba.analyse.tfidf(txt, topK=100, withWeight=True)
tr_dict = dict()
tfidf_dict = dict()
for i in trkeywords:
tr_dict[i[0]] = i[1]
for i in tfidfkeywords:
tfidf_dict[i[0]] = i[1]
# plot using textrank as X and tfidf as Y
path = '/Users/zhicongchen/Downloads/msyh.ttf'
fontprop = font_manager.FontProperties(fname=path)
fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(20, 10))
for key in tr_dict.keys():
if key in tfidf_dict.keys():
ax.scatter(tr_dict[key], tfidf_dict[key], color='b', linestyle='--')
ax.text(tr_dict[key], tfidf_dict[key], key, fontproperties=fontprop, fontsize=14)
ax.set_xlabel("TextRank", fontsize=14)
ax.set_ylabel("TF-IDF", fontsize=14)
# plt.xscale('log')
# plt.yscale('log')
plt.show()

2016.11.4 南京大学仙林校区仙2-403

刘肖凡 xfliu@seu.edu.cn

比特币:又一种新的电子货币

货币:在特定经济体内的物资与服务交换中充当一般等价物…的特殊商品(Wikipedia)

商品货币 -> 代币 -> 法定货币 -> 虚拟货币

虚拟货币:Q币、百度币、点券、Bitcoin

比特币尤其适合买卖枪支毒品(黑市),可以像股票一样被炒作,第一种多经济体内通用的电子货币

货币的价值来源——信任,这个信任来自于哪里:国家的中央发行机构(央行)

点对点电子货币:抛开第三方(不可信的)信任机构,不对特定经济体范围做任何限制

点对点:比特币的技术本质

比特币的前身(bmoney1998)

信任机制:周围的所有朋友都告诉我有人给了我200块钱,那么我就相信我多了200块钱。网络中的每个个体都有一个账本。

开放网络环境中的问题?见ppt

比特币的解决方案

  • 所有账本保持同步
  • 每笔交易都有迹可查
  • 杜绝双花现象

比特币系统的实现

  1. 广播交易
  2. 验证交易
  3. 同步交易记录

广播交易

  1. 交易形式——明确货币来源
  2. 交易记录生成:用私钥做签名,椭圆曲线算法
  3. 验证交易:格式合法,利用公钥验证身份;验证前一笔交易的右边能且只能被引用一次

交易记录同步(发送信息),目的:更新账本,告诉其他用户

  1. 打包最近一批交易记录,盖上时间戳
  2. 更新序列号,注明前一包信息,广播

交易记录同步(接受信息)

  1. 验证保内交易合法
  2. 更新账本

对账本的攻击:如果有打包节点将错误信息放在区块中怎么办?

  • 引入“工作量证明”机制
  • 打包过程必须耗费大量工作(例如CPU时间)
  • 比特币:寻找一个哈希值在某个范围内的大数

一个特殊的哈希函数,使得篡改账本的成本随机大幅增加

比特币系统的信任来源:基于椭圆曲线算法的公私钥签名/验证+基于“工作量证明”的异步同步账本

奖励机制

  • 验证交易、更新账本需要花费大量的资源
  • 目前全网每秒45亿亿次运算(即便如此,也要10分钟才能打出来一个包)
  • 对于出力维护比特币生态的用户需要给予奖励
  • 交易手续费、更新账本奖励(挖矿)
  • 比特币的货币来源:挖矿所得

比特币系统的实际运营网络:钱包、矿工、完整区块链、网络路由节点

哪里有创新,哪里就有炒作

区块链的风口:风往哪里吹?

区块链可以提供:(见ppt)

  • 可信(无法篡改)
  • 自由(自己随时可以写入区块链,再寻求公正)
  • 可公开查询
  • 可编程操作等

被风口吹起来的猪(很多是做公证的)

  • Ascribe,通过Ascribe,买卖数字产权将会变得和交易实物产权一样简单
  • Everledger,一个关于钻石认证的区块链项目
  • Guardtime,一家爱沙尼亚的创业公司,使用区块链来追踪每颗钻石,从矿山开始一直到消费者,甚至更远
  • Holbertson,一家位于加州的提供软件技术培训课程的学校,使用区块链技术认证学术证书

选举需要:对选民身份进行认证、确保安全的保存记录、使用能够信赖的计数器来决定谁是胜选者。使用区块链技术进行选举(Follow your vote)

东南西北风

  • 能源互联网中的区块链技术初探
  • 区块链被应用于食材跟踪,保证食材品质
  • 当旅游业遇上区块链,将带来哪些改变?
  • ……

回顾区块链的本质:点对点货币的全网分布式存储账本,实时更新且具有鲁棒性。区块链的本质是一个

  • 鲁棒的
  • 异步同步的
  • 分布式数据库

值得思考的问题:分布式数据库的异步同步问题、鲁棒性问题,计算机科学界早已研究了几十年,提出了较为完备的解决方案,为什么这阵风现在吹了起来?

鉴别伪需求:回答几个简单的问题

  • 数据能否被公开?
  • 是否有必要分布式存储数据?
  • 是否有足够多的用户需求?
  • 如何实现奖励机制?

风停之后

  • 目前世界上大约有1000个不同的(类)区块链
  • 最终存活的不会超过10个(“我”预测)
  • 主要的应用在金融领域
  • 银行建立私有区块链:为了加速银行间清算
  • 在非金融领域
  • 可以交易物品、验证知识产权等

飞得越高,摔得越惨

喝彩

回到比特币本身:第一种多经济体内通用的电子货币

去中心化的信任机制

  • 比特币创世区块里的文字
  • 不依赖任何第三方信任机构
  • 仅利用加密和工作量证明作为信任产生的机制

研究方向:如何利用比特币交易记录中的序列号,识别出用户的真实身份?

畅想一下未来

比特币描绘了一个无政府主义的乌托邦

  • 所有信息透明
  • 所有人互相信任
  • 保留个人隐私

所以说,这就是传说中的一个完全理性的社会

中本聪是谁:不是经济学家,而是一个未来学家,不是野心家,而是一个理想主义者

尚待解决的问题

  • 通缩:总量2100万单位(聪),最初每10分钟生成50聪,挖出一半后每10分钟生成25聪,以此类推。人类的价值是在膨胀的。通缩下最好的投资策略就是持有货币。
  • 区块链更新速度:因为“工作量证明”机制,交易处理能力仅7TPS,大多数时候网络吞吐量大概只有2-3TPS

小结

  • 比特币是一种点对点的电子现金系统
  • 系统的设计思路和实现技术都不是凭空而来
  • 把握技术本质,才能回到初心
  • 不要做风口上的猪

自己编译一个WordCount示例[1]

用IntelliJ+Maven构建开发环境[2]

初步写了一个倒排索引的代码,运行后报错。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
java.lang.Exception: java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Text
at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:522)
Caused by: java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Text
at InvertedIndexMapper.map(InvertedIndexMapper.java:11)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:146)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
16/11/01 16:14:20 INFO mapreduce.Job: Job job_local452545199_0001 failed with state FAILED due to: NA
16/11/01 16:14:20 INFO mapreduce.Job: Counters: 0

我在主类的代码中import的类为:

1
2
3
4
5
6
7
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

参考了zhantong的代码后,将InvertedIndexMapper类中的map函数的第一个参数key的类型由Text改为Object后即可顺利运行出结果。但是zhantong的代码中还override了partitioner和combiner,因为要解决一些细节的问题,这就带来了一个疑问:如何评判MapReduce程序的结果是否正确?尤其是在不知道正确结果是什么的情况下,如何评判大数据处理的结果,是个值得思考的问题。

Reference

  1. http://hadoop.apache.org/docs/r2.7.3/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html
  2. https://www.polarxiong.com/archives/Hadoop-Intellij%E7%BB%93%E5%90%88Maven%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C%E5%92%8C%E8%B0%83%E8%AF%95MapReduce%E7%A8%8B%E5%BA%8F-%E6%97%A0%E9%9C%80%E6%90%AD%E8%BD%BDHadoop%E5%92%8CHDFS%E7%8E%AF%E5%A2%83.html
  3. http://guoze.me/2014/08/27/intellij-maven-develop-hadoop/