pat*_*rit 3 python nlp machine-learning text-mining semantic-analysis
鉴于2种HTML源,我想先提取的主要内容进行使用类似它这样.还有其他更好的库 - 我是专门寻找Python/Javascript的吗?
一旦我有两个提取的内容,我想返回0到1之间的分数,表示它们有多相似,例如来自CNN和BBC的同一主题的新闻文章将具有更高的相似性分数,因为它们属于同一主题或与之相关的网页Amazon.com和Walmart.com上的同一产品也会获得高分.我怎样才能做到这一点?是否有现有的库已经这样做了?我可以使用哪些好的库?基本上我正在寻找自动摘要,关键字提取,命名实体识别和情感分析的组合.
您的问题中嵌入了许多内容.我将尝试为您提供一个库,否则将建议您可以解决您的任务的算法(您可以谷歌,你将获得许多python实现)
第1点.要从html中提取主要内容(http://nltk.googlecode.com/svn/trunk/doc/book/ch03.html)以及其他与NLP相关的内容,您可以查看NLTK.它用Python编写.您还可以查看名为BeautifulSoup的图书馆,它很棒(http://www.crummy.com/software/BeautifulSoup/)
第2点.当你说:
一旦我有两个提取的内容,我想返回0到1之间的分数,表示它们有多相似......
为此,我建议您使用任何无监督学习聚类技术对文档集进行聚类.由于您的问题属于基于距离度量的聚类,因此您应该很容易对类似文档进行聚类,然后根据它们与聚类质心的相似性为它们分配分数.尝试K-Means或自适应共振理论.在后者中,您不需要提前定义簇的数量.或者正如拉斯曼在他的评论中指出的那样,你可以简单地使用TF-IDF(http://www.miislita.com/term-vector/term-vector-3.html)
第3点.当你说:
基本上我正在寻找自动摘要,关键字提取,命名实体识别和情感分析的组合
对于自动摘要,使用非负矩阵分解
对于关键字提取,请使用NLTK
对于命名实体识别,请使用NLTK
对于情感分析,请使用NLTK