Python怎么构建文本矩阵并聚类
Python如何构建文本矩阵并聚类
N个文本进行了分词,剔除停留词后得到M个词,如何利用Python构建N行M列的文本矩阵,接下来如何聚类
求大神解答,跪谢了
------解决思路----------------------
可能我很快回答不了你的问题。还需要细细回味一下。
但是我觉得你的问题是一个比较明显的短文本聚类问题,这个问题应该在国际上都是比较难的吧。
如果还涉及到中文,中文的相关处理又不能照抄英文短文本聚类的方法,相关资料更加少了。
我倒是建议你 多看一些短文本聚类相关的文章。
问题一:技术上python矩阵表示的话:你可以使用python包,如下:
from numpy import matrix
A = matrix( [[1,2,3],[11,12,13],[21,22,23]])
这样你需要额外规定化:行i表示文档编号i的文档,列j表示词j出现次数,A[i][j]表示在文档i中词j的出现频率
或者
如同那篇文章所说的采用dict表示法:A = [{'额外':1},{'每天':1,'回帖':1},......]表示整个文档集合。
问题二:如同这样的问题本质一样,短文本聚类是否还适合传统的分词,去除副词...等处理步骤,
如何选择合适的模型来表示这类问题,我觉得你还是参考一些这方面的文章,最好中文的。
比如现在很火的微博,也会有好多的人尝试对其中成干上万评论进行聚类。很多进行二类或者三类聚类/分类:支持-中立-反对。
论坛的评论应该很早以前就有研究聚类/分类.我觉得去那里参考会更好.如果不是特别面向指定目的的聚类,我觉得采用一些使用宽泛的方法就行了。感觉结果不会很好。
问题三:EM算法感觉像纯数学的东西,学术功底不够深,我也不好发表看法。
感觉这个问题的本质已经超出我的知识范畴。最简单文档聚类无非:分词-文本预处理[同义词之类]-文档与词计频矩阵表示-(TF-IDF预处理)-kmeans跑起来-输出结果.
N个文本进行了分词,剔除停留词后得到M个词,如何利用Python构建N行M列的文本矩阵,接下来如何聚类
求大神解答,跪谢了
------解决思路----------------------
可能我很快回答不了你的问题。还需要细细回味一下。
但是我觉得你的问题是一个比较明显的短文本聚类问题,这个问题应该在国际上都是比较难的吧。
如果还涉及到中文,中文的相关处理又不能照抄英文短文本聚类的方法,相关资料更加少了。
我倒是建议你 多看一些短文本聚类相关的文章。
问题一:技术上python矩阵表示的话:你可以使用python包,如下:
from numpy import matrix
A = matrix( [[1,2,3],[11,12,13],[21,22,23]])
这样你需要额外规定化:行i表示文档编号i的文档,列j表示词j出现次数,A[i][j]表示在文档i中词j的出现频率
或者
如同那篇文章所说的采用dict表示法:A = [{'额外':1},{'每天':1,'回帖':1},......]表示整个文档集合。
问题二:如同这样的问题本质一样,短文本聚类是否还适合传统的分词,去除副词...等处理步骤,
如何选择合适的模型来表示这类问题,我觉得你还是参考一些这方面的文章,最好中文的。
比如现在很火的微博,也会有好多的人尝试对其中成干上万评论进行聚类。很多进行二类或者三类聚类/分类:支持-中立-反对。
论坛的评论应该很早以前就有研究聚类/分类.我觉得去那里参考会更好.如果不是特别面向指定目的的聚类,我觉得采用一些使用宽泛的方法就行了。感觉结果不会很好。
问题三:EM算法感觉像纯数学的东西,学术功底不够深,我也不好发表看法。
感觉这个问题的本质已经超出我的知识范畴。最简单文档聚类无非:分词-文本预处理[同义词之类]-文档与词计频矩阵表示-(TF-IDF预处理)-kmeans跑起来-输出结果.