使用word2vec分析红楼梦中的人物

上周四给陈老大和几个研究生汇报工作,主要讲了word2vec的应用,陈老大他们觉得这个东西很牛逼,汇报结束之后陈老大让我拿红楼梦来训练,看看这样能不能发现红楼梦中的人物关系,目前清华有个实验室试图用机器学习的方法为红楼梦中人物建立联系,不知道他们有没有试过word2vec。

关于word2vec不会用的请看这里:http://blog.csdn.net/zhaoxinfan/article/details/11069485

下面简单说下使用word2vec对红楼梦进行分析的步骤。

1、获取数据

首先是获取相关数据,这里包括红楼梦的全文以及红楼梦中的人物列表,全文用来训练,人物列表作为字典在分词的时候使用,人物可以从这里找到:http://zh.wikipedia.org/wiki/%E7%BA%A2%E6%A5%BC%E6%A2%A6%E4%BA%BA%E7%89%A9%E5%88%97%E8%A1%A8

我这里直接把字典文件贴上:

贾演
贾寅
贾源
贾法
贾代化
贾代善
贾代儒
贾代修
贾敷
贾敬
贾赦
贾政
贾敏
贾敕
贾效
贾敦
贾珍
贾琏
贾珠
贾母
贾宝玉
宝玉
贾环
贾瑞
贾璜
贾琮
贾珩
贾㻞
贾珖
贾琛
贾琼
贾璘
贾元春
贾迎春
贾探春
贾惜春
贾蓉
贾兰
贾蔷
贾菌
贾芸
贾芹
贾萍
贾菖
贾菱
贾蓁
贾藻
贾蘅
贾芬
贾芳
贾芝
贾荇
贾芷
贾葛
贾巧姐
巧姐儿
史太君
史鼐
史鼎
史湘云
王子腾
王子胜
王夫人
王仁
王熙凤
凤姐
凤辣子
薛姨妈
薛蟠
薛蝌
薛宝钗
薛宝琴
林黛玉
林妹妹
邢夫人
尤氏
李纨
秦可卿
贾蓉之妻
胡氏
许氏
香菱
妙玉
赵姨娘
刘姥姥
甄宝玉
袭人
媚人
晴雯
绮霰
麝月
檀云
秋纹
碧浪
茜雪
春燕
坠儿
四儿
佳蕙
抱琴
司棋
待书
入画
彩屏
翠墨
蝉姐
莲花儿
绣橘
紫鹃
雪雁
春纤
缕儿
鸳鸯
琥珀
珍珠
玻璃
翡翠
靛儿
卐儿
莺儿
文杏
平儿
小红
丰儿
金钏
玉钏
绣鸾
绣凤
彩云
彩霞
素云
同喜
同贵
翠缕
宝珠
瑞珠
姣杏
小螺
善姐
臻儿
篆儿
傻大姐
小吉祥
小鹊
银碟
炒豆儿
小舍儿
宝蟾
茗烟
焙茗
焦大
李贵
锄药
墨雨
伴鹤
扫花
引泉
挑芸
双瑞
双寿
来旺
兴儿
王荣
钱启
张若锦
赵亦华
钱槐
小玄儿
隆儿
昭儿
喜儿
住儿
寿儿
杏奴
庆儿
王信
芳官
龄官
蕊官
藕官
豆官
宝官
文官
茄官
菂官
艾官
玉官
葵官
顽石
茫茫大士
渺渺真人
空空道人
甄士隐
封氏
小童
神瑛侍者
绛珠仙子
警幻仙子
贾雨村
严老爷
霍启
封肃
冷子兴
林如海
李嬷嬷
王嬷嬷
门子
李守中
冯渊
拐子
痴梦仙姑
引愁金女
种情大士
度恨菩提
王成
刘氏
板儿
青儿
周瑞
周瑞家的
智能
余信
余信家的
秦钟
赖二
詹光
戴良
钱华
单聘仁
吴新登
秦业
胡氏
金氏
冯唐
张友士
戴权
张材家的
牛清
牛继宗
柳彪
柳芳
陈翼
陈瑞文
马魁
马尚
侯晓明
侯孝康
石光珠
蒋子宁
谢鲸
戚建辉
裘良
冯紫英
陈也俊
卫若兰
水溶
二丫头
净虚
智善
胡老爷
金哥
李公子
云光
夏守忠
赖大
赵嬷嬷
吴天佑
吴贵妃
卜固修
山子野
林之孝
程日兴
昭容
彩缤
花母
花自芳
多官
多浑虫
多姑娘
王嫂子
周氏
卜世仁
银姐
倪二
王短腿
林之孝家的
方椿
马道婆
周姨娘
胡斯来
鲍太医
王济仁
蒋玉菡
云儿
张道士
周奶娘
傅试
傅秋芳
宋嬷嬷
茗玉
王君效
赖大的母
鲍二家的
金彩
金文翔
嫣红
柳湘莲
赖尚荣
邢岫烟
邢忠
李婶娘
李纹
李绮
梅翰林
胡君荣
良儿
乌进孝
娄氏
女先儿
单大良
赵国基
单大娘
祝妈
田妈
叶妈
许氏
何婆子
小鸠儿
夏婆子
柳家的
柳妈
柳五儿
秦显家的
佩凤
偕鸾
尤二姐
尤三姐
尤老娘
张华
俞禄
秋桐
天文生
喜鸾
四姐
潘又安
朱大娘
周太监
小霞
翠云
来喜家的
王善保家的
张妈
邢德全
文花
圆信
智通
孙绍祖
夏金桂
夏奶奶
王一贴

上面应该是红楼梦中的全部人物,不过其中有些人物有简称,例如“宝玉”,“黛玉”,“宝钗”等等,经过试验发现加入这些简称对于结果影响不大

2、分词

分词依然采用我最喜欢的ANSJ,不懂可以看这里:http://blog.csdn.net/zhaoxinfan/article/details/11069485


分词速度很快,分好后大约有49万词,只有3万个不同的词

3、word2vec训练

最后使用word2vec训练,速度也是很快,得到vectors.bin,然后就可以用./distance进行分析了,下面给出一些例子:








从上面的输出可以看到,结果大体上还是说得过去的,和“宝玉”联系最紧的莫过于”黛玉“了,”宝钗“和”宝玉“的关系原来都不如”袭人“,这和大多数读者的想法应该相吻合吧,不过这里出现的的”探春“倒是毫无头绪。

不过,这里得到的结果依然有缺陷之处,主要原因我觉得有下面几点

1、训练语料太少,红楼梦全文大小只有2M,训练效果不会特别好

2、分词时依然有错误,尤其是对一些人物缩写,例如 史湘云偶 宝钗笑 黛玉道 等都被分成了一个词

3、有些没用的词可以过滤,例如一些语气词等等


总的来说,算是完成了陈老大布置的任务,其实每个红楼梦读者心中都能建立起一张人物关系网,根本无须专家学者们去细细阐述。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值