查询计算术语频率*逆文档频率

时间:2014-04-05 18:16:54

标签: sql oracle tf-idf

我的Oracle数据库中有2个表:

  1. DF (term, doccount)
  2. TF (abstractid, term, freq)
  3. 一个用于具有术语和documentCount的文档频率(DF),另一个用于术语频率的表称为TF,它包含documentID,terms,Frequency。 我想计算TF * IDF,其中TF =一个术语出现在文章中的次数(表TF中的频率列)和IDF = log(132225)-log(docCount)+1

    我想将结果存储在包含documentID,Terms和计算TF * IDF的表(TFIDF)中

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要加入TFDF表,然后插入目标TFIDF表。 试试这个:

insert into TFIDF (documentID, terms, tf_idf)
select abstractID, df.term, (log(10, 132225)-log(10, doccount)+1)*(tf.freq)
from tf, df
where tf.term = df.term;