1. 什么是Behavioral Profile?
行为剖面法(BP)是基于Atkins(1987)和Hanks(1996)的思想,最近Dagmar Divjak、Stefan Th进一步阐述了这一思想。Gries和其他语言学家在一系列研究(如Divjak2003;Divjak&Gries 2006)。
这种方法对于辨别一组近义词或多义词各个含义之间的差异有较好的作用。
2. BP实现步骤
step1:BP方法通常需要一个结构或一个词的许多实例(数据)
step2:对实例中的词性进行标注(探索各种分类维度)
step3:计算多义词的每个含义或者各个近义词在各个分类维度的每个取值上的数量占比,每个含义形成一个向量
step4:计算每个含义间的差异(向量的距离),聚类等
3. 代码
引入需要的包和示例数据,本数据共7列,450行,每行是一个数据,每列是一个分类维度,第一列“Cx”代表数据的词义,有9个取值,BP的主要目的就是分析这9个取值在其他分类维度的表现差异。
install.packages(c("cluster", "pvclust", "vcd"))
library(Rling); library(cluster); library(pvclust); library(vcd)
data(caus)#这里是R自带的数据,可以换成自己的数据:每行是一条数据,列名是各个分类维度
计算每个含义的BP向量,形成BP距离矩阵
be_made_toV <- caus[caus$Cx == "be_made_toV", -1]
cause_toV <- caus[caus$Cx == "cause_toV", -1]
get_toV <- caus[caus$Cx == "get_toV", -1]
get_Ved <- caus[caus$Cx == "get_Ved", -1]
get_Ving <- caus[caus$Cx == "get_Ving", -1]
have_V <- caus[caus$Cx == "have_V", -1