请教一个python问题——单词组合分析
- quantek我有几万个英文字符串,每个字符串中有大约不超过100个单词。
我想知道 出现在一个字符串中频率前100的 两单词组合(这两个单词可能分散出现在字符串中)、三单词组合、四单词组合。
请教:
1. 有没有什么现成的lib可以实现这样的计算?
2. 计算出任意两单词组合后,用什么lib可以画出 cluster 图(图上分散着多个单词,两个单词出现频率越高,连线越粗) - znm啥叫两单词组合
- yjd159思路估计你也不需要了,编辑掉吧
- quantek例如:
字符串1有: A B C D E 这个5个单词
字符串2: A F D G H
字符串3: A X Y Z D
那么单词组合(A,D)出现了3次,频率最高 - quantek我当然会自己写,但总感觉应该有类似的库,这个需求很像 聚类或分类 分析。
- yjd159
- znm没听过有啥这种库,分词库很多,自己写个脚本导入数据库,筛选吧
- quantekA买了一些东西
B买了一些东西
C买了一些东西
找出ABC买东西的共性,如果共性强,A买一个新东西时,可以推荐给B和C。
我总感觉应该有类似现成算法。 - fangyu
- eLan就是词共现呗,r有现成的
- ketkou感觉算法不难,就是有点烦锁
- wsyx87930jieba+snow,好像有词频统计的
现在就是分词后再计算【组合】的词频呗 - woodoh下面链接的文章和你描述的情况查不多,可以参考,运行起来满容易的,我自己在jupyter笔记上也试着运行过,不过样本就几百个,没你的多
https://towardsdatascience.com/m ... python-b276b4051a49
这个库是spacy,看上去比nltk安装容易,文档也蛮好,就是我是白丁,到现在也没入门
又想了想,你的问题可能没这么简单,所谓双单词组合,多单词组合,可能碰到的形式多的话还是直接看spacy的文档比较好,和上面文章的情况还是有差别的 - quantek谢谢提醒。字符串中名词为主,总量也还好,如果复数情况不多,先手动替换一下
- apolodi简单的单词匹配有NLP的相关类库,很多功能比你现在想象的还要多,可以试着拓展一下新思维。常见的NLTK就能处理。
如果是以做量化为目的,
画图的部分,Keras给的例程就是画聚类图, - quantek非常感谢,我去学习一下
- quantek非常感谢,一个关键词,就可以给我打开一扇窗