SQL хранимая процедура для сходства косинусов - PullRequest
0 голосов
/ 29 марта 2020

Как написать хранимую процедуру с именем cosine_simility, которая принимает два входных параметра doc1_ID (тип: int) и doc2_ID (тип: int) и один выходной параметр sim_val (тип: double) для вычисления значения косинусного сходства для любого 2 записи (соответствуют 2 документам, т.е. DocID)?

delimiter $$
CREATE PROCEDURE cosine_similarity (IN doc1_ID int, IN doc2_ID int, OUT sim_val double)
begin'

declare var1_1 int; 
declare var2_1 VARCHAR(100);
declare var1_2 int; 
declare var2_2 VARCHAR(100);


Select term, frequency into var1_1, var2_1 from DOCTERMFREQ where DOCID=doc1_ID;
Select term, frequency into var1_2, var2_2 from DOCTERMFREQ where DOCID=doc2_ID;


set sim_val= (SUM(var2_1 * var2_2)/ SQRT(SUM(var2_1 * var2_1))/ SQRT(SUM(var2_2 * var2_2)

end $$
delimiter ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...