using System;
using ;
using ;
using ;
using
(
return ;
int> dictionary1 =
int>
dictionary2 =
< 1) || ( <
)
Dictionary<string, int>.KeyCollection keys1 ;
foreach (string key in keys1) (
(key, out temp1);
if (!(key, out temp2))
(
temp2 = 0;
)
(key); numerator += temp1 * temp2;
denominator1 += temp1 * temp1;
Dictionary<string, int>.KeyCollection keys2 = ;
foreach (string key in keys2) (
(key, out temp2);
denominator2 += temp2 * temp2;
)
similarity = numerator / ((denominator1 * denominator2));
return similarity;
)
/// <summary>
///相似度计算
/// </summary>
/// <param name="text1"> 第一篇文档的词频词典 </param>
/// <param name="text2"> 第二篇文档的词频词典 </param>
/// <returns>两篇文档的相似度</returns>
public double Similarity(Dictionary<string, int> textl, Dictionary<string, int> text2)
(
double similarity = , numerator = , denominatorl = , denominator2 = ;
int temp1, temp2;
Dictionary<string, int> dictionaryl = new
Dictionary<string,int>( textl);
Dictionary<string, int> dictionary2 = new Dictionary<string,int>( text2);
if (( < 1) || ( <
1))//如果任一篇文章中不含有汉字
(
return ;
)
Dictionary<string, int>.KeyCol
向量空间模型文档相似度计算实现 来自淘豆网m.daumloan.com转载请标明出处.