1

我确实在PostgreSQL数据库中加载了20,000个文本文件,一行中有一个文件,全部存储在名为docs的表中,其列doc_iddoc_content数据库中的簇文本文档

我知道大概有8种类型的文件。这里是我的问题:

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

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

回答

1

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

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

0
  1. 您可以使用K-Means或Hierarchical Clustering等聚类技术。

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

  3. 我不知道那个。

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