0

我已经考虑过这一点(并查看了 StackOverflow 上的每个“为内容自动生成标签”类型的帖子)。

我有一篇带有多个标签(通过标签连接)的文章(正文:字符串)。

现在在应用程序中,为了建议文章的标签,pgsearch 在其他文章的正文中搜索正文中包含的文本(文本中的词干),并根据这些相关文章的标签建议标签。当然,这只有在类似的文章被标记的情况下才有效,并且随着更多文章在数据库中被标记,也许有更好的标签可以使用。

有没有更聪明的方法,比如使用 ElasticSearch,从其他文章正文文本(唯一和词干)中自动查找流行词并自动生成这些标签的列表。

如果我自己这样做,是否有任何示例可以有效地做到这一点?

4

2 回答 2

1

您可以使用more-like-this查询来查找类似文章,并使用术语方面来查找热门标签:

curl -XGET 'http://127.0.0.1:9200/myindex/article/_search?pretty=1'  -d '
{
   "query" : {
      "more_like_this_field" : {
         "body" : {
            "min_doc_freq" : 1,
            "like_text" : "BODY OF THE NEW ARTICLE",
            "min_term_freq" : 1,
            "percent_terms_to_match" : 0.2
         }
      }
   },
   "facets" : {
      "tags" : {
         "terms" : {
            "field" : "tags"
         }
      }
   }
}
'

根据您的语料库的大小,您可能需要使用参数来more_like_this_field获得最佳匹配。

于 2012-07-16T13:07:08.210 回答
0

最好的方法是使用 elasticsearch Percolator API。看看这个答案:

Elasticsearch - 使用“标签”索引来发现给定字符串中的所有标签

于 2016-07-01T23:43:54.057 回答