在数据库中集群文本文档

时间:2013-04-04 08:02:25

标签: postgresql data-mining text-mining document-classification

我在PostgreSQL数据库中加载了20.000个文本文件,一行中有一个文件,全部存储在名为docs的表中,列doc_iddoc_content

我知道大约有8种类型的文件。以下是我的问题:

  • 我如何找到这些群组?
  • 我可以使用一些相似性,相异性措施吗?
  • PostgreSQL中是否有一些最常见的子字符串实现?
  • PostgreSQL中是否有一些文本挖掘扩展? (我发现只有Tsearch,但这似乎是最后一次更新于2007年)

我可以使用一些like '%%'SIMILAR TO,但可能有更好的方法。

2 个答案:

答案 0 :(得分:1)

你应该使用full text search,它是PostgreSQL 9.x核心(又名Tsearch2)的一部分。

对于某种最长公共子字符串的度量(如果愿意,可以使用相似性),您可以使用levenshtein()函数 - fuzzystrmatch扩展名的一部分。

答案 1 :(得分:0)

  1. 您可以使用聚类技术,例如K-Means或Hierarchical Clustering。

  2. 是的,您可以使用文档之间的余弦相似性,查看二进制术语计数,术语计数,术语频率或TF-IDF频率。

  3. 我不知道那个。

  4. 不确定,但您可以使用R或RapidMiner对数据库进行数据挖掘。