C#中文本匹配算法

Gnov2007 2016-05-25 11:01:57
现sql数据库中有一字段名为[symptom]的文本,不同症状间用“、”间隔开。例如:焦虑、恐惧、沮丧、烦躁、失眠、反复行为;
在文本框中输入数据,通过比较计算其相似度。
例如我在输入框中输入焦虑、恐惧,那么通过匹配得到相似症状个数2,通过比较得出两段文本的并集共有症状6个,相似度为2/6=1/3.请问C#中这样的算法如何实现呢?
希望有具体代码,谢谢各位大神了,感激不尽!
...全文
252 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
以输入的 焦虑、恐惧 为例 先
 (symptom like '%焦虑%' or symptom like '%恐惧%')
然后取到的结果假定是List<string> list,这里假定只取symptom一列 那么每段多少就是
var arr = {"焦虑","恐惧"};
list.Select(s=>{
var tmp = s.Split('、');
var count = tmp.Where(t=>arr.Contains(t)).Count();
return string.Format("{0}/{1}",count,tmp);
})

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧