gpt4 book ai didi

sql - 使用Sql计算TF-IDF

转载 作者:行者123 更新时间:2023-12-01 19:35:49 29 4
gpt4 key购买 nike

我的数据库中有一个表,其中包含自由文本字段列。

我想知道每个单词在所有行中出现的频率,或者甚至计算所有单词的 TF-IDF,其中我的文档是该字段每行的值。

是否可以使用 Sql 查询来计算此值?如果没有或者有更简单的方法,您能指导我吗?

非常感谢,

乔恩

最佳答案

在 SQL Server 2008 中,根据您的需要,您可以将全文索引应用于列,然后查询 sys.dm_fts_index_keywordssys.dm_fts_index_keywords_by_document table valued functions获取出现次数。

编辑:实际上,即使没有创建持久全文索引,您仍然可以利用解析器

WITH testTable AS
(
SELECT 1 AS Id, N'how now brown cow' AS txt UNION ALL
SELECT 2, N'she sells sea shells upon the sea shore' UNION ALL
SELECT 3, N'red lorry yellow lorry' UNION ALL
SELECT 4, N'the quick brown fox jumped over the lazy dog'
)

SELECT display_term, COUNT(*) As Cnt
FROM testTable
CROSS APPLY sys.dm_fts_parser('"' + REPLACE(txt,'"','""') + '"', 1033, 0,0)
WHERE TXT IS NOT NULL
GROUP BY display_term
HAVING COUNT(*) > 1
ORDER BY Cnt DESC

返回

display_term                   Cnt
------------------------------ -----------
the 3
brown 2
lorry 2
sea 2

关于sql - 使用Sql计算TF-IDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3377583/

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