gpt4 book ai didi

postgresql - 检测字段中是否存在停用词

转载 作者:行者123 更新时间:2023-11-29 13:13:45 28 4
gpt4 key购买 nike

我正在使用 tsvectors 在我拥有的关键字列表中搜索类似的条目。通过这种方式,我可以认为以下关键字是相同的:

  • IT 安全治理
  • IT安全政府

问题是,由于停用词逻辑,以下条目也被认为是相似的:

  • IT 环境
  • 环境

所以,我想有一种方法来检测哪些记录包含停用词,以便我可以区别对待它们。我可以向记录添加一个 bool 值以了解它是否包含停用词。

有什么想法吗?

最佳答案

您可以使用 ts_debug 来查找全文搜索生成的词位:

SELECT array_agg(lexemes[1]) FILTER (WHERE lexemes[1] IS NOT NULL)
FROM ts_debug('english', 'IT security governance')
WHERE alias IN ('asciiword', 'word');

array_agg
----------------
{secur,govern}
(1 row)

要查找是否存在停止,您可以查看词位是否为 NULL:

SELECT token
FROM ts_debug('english', 'IT security governance')
WHERE alias IN ('asciiword', 'word')
AND lexemes[1] IS NULL;

token
-------
IT
(1 row)

关于postgresql - 检测字段中是否存在停用词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51626974/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com