找回密码
 立即注册
搜索
热搜: 活动 交友
查看: 380|回复: 5

如何在《红楼梦》里面搜索最常用的两个字?

[复制链接]

1

主题

1

回帖

55

积分

提示词程序员

积分
55
发表于 4-13-2025 03:19:25 | 显示全部楼层 |阅读模式
最近在做一个分析小说文字结构和人物关系的项目,途中就想到了通过检索分析文章里最常用出现的字词以得知重要的人物。
因为三个字时间复杂度过高,所以先思考检索小说里最常用出现次数最多的二字词语
各位大佬们有什么好的解决方法嘛~

7

主题

8

回帖

290

积分

版主

积分
290
发表于 4-13-2025 19:25:03 | 显示全部楼层
这时间复杂度也不高哇。设文本长度为n,你把所有两个字词都记录下来也就一个循环的事情,时间复杂度也就是O(n),后面排个序啥的,总时间复杂度也不高。

2

主题

17

回帖

199

积分

中级程序员

积分
199
发表于 4-13-2025 20:24:50 | 显示全部楼层
但是,两个字这样“硬上”还勉强行,三个字呢,四个字怎么办?

2

主题

17

回帖

199

积分

中级程序员

积分
199
发表于 4-14-2025 16:23:27 | 显示全部楼层
本帖最后由 tiger 于 4-15-2025 14:09 编辑

用了字典,速度很快,程序如下:

encoding = utf8是因为我把hlm.txt分成上中下三个文件的时候save成了utf8编码

wordLen = 3的时候都是秒出,Python的字典非常给力。wordLen = 5也只需要几秒钟。
[2902, '道:“']
[2247, '   ']
[1123, '\n  ']
[1123, '\n\n ']
[944, '笑道:']
[586, '.\n\n']
[493, '了。”']
[427, ':“你']
[363, '。”宝']
[328, ':“我']
[321, '说道:']
[309, '王夫人']
[296, '”宝玉']
[279, ':“这']
[265, '.宝玉']
[250, '玉道:']
[247, '说:“']
[238, '。”贾']
[234, '。”说']
[224, ',只见']
[220, '林黛玉']
[206, '听了,']
[195, '说着,']
[192, '”\n\n']
[177, '”说着']
[176, '宝玉道']
[175, '老太太']
[171, '"宝玉']
[169, ',一面']
[160, '刘姥姥']
[159, '凤姐儿']
[155, '的。”']
[155, '呢。”']
[154, '去了.']
[152, '玉笑道']
[143, '。”\n']
[142, '人道:']
[137, '。”凤']
[137, '”凤姐']
[127, '宝玉笑']
[123, '罢。”']
[123, '出来,']
[122, '宝玉听']
[122, '听说,']
[119, '来了,']
[118, ',也不']
[113, '?"宝']
[112, ',宝玉']
[109, '起来,']
[106, ':“好']

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

1

主题

1

回帖

55

积分

提示词程序员

积分
55
 楼主| 发表于 4-15-2025 19:15:38 | 显示全部楼层
tiger 发表于 4-14-2025 16:23
用了字典,速度很快,程序如下:

encoding = utf8是因为我把hlm.txt分成上中下三个文件的时候save成了utf8 ...

太有实力辣!谢谢大佬指点

8

主题

17

回帖

89

积分

版主

积分
89
发表于 4-19-2025 13:35:24 | 显示全部楼层
可以去搜一下AntConc,这个软件对于文本分析还是很轻便易上手的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RealDevClub ( 沪ICP备2024093864号-1 )

GMT+8, 5-11-2025 02:31 , Processed in 0.061924 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表