gaojingsong
- 浏览: 1124910 次
- 性别:
- 来自: 深圳
社区版块
- ( 4)
- ( 0)
- ( 80)
最新评论
-
gaojingsong:
jstl1point0 写道高级版本jdk可以直接安装不用配置 ...
【win7配置jdk 环境变量】 -
jstl1point0:
高级版本jdk可以直接安装不用配置了
【win7配置jdk 环境变量】 -
hdd901002:
光说明错误在哪里有什么用,解决方法啊。。。我也碰到了,一条jo ...
mycat源码解读--错误之【can't find table define in schema 】 -
masuweng:
【java之图片水印】 -
masuweng:
【java之多线程下载文件实现】
文章列表
基于用户的协同过滤通过不同用户对物品的评分来评测用户之间的相似性,基于用户的相似性做推荐,简单的讲:给用户推荐和他兴趣相投的其他用户喜欢的物品
算法核心思想:在一个在线推荐系统中,当用户a需要个性化推荐时,可以先找到和他有相似兴趣的其它用户,然后把那些用户喜欢的、而用户a没有听说过的物品推荐给a,这种方法称为基于用户的协同过滤算法。
==>可以看出,这个算法主要包括两步:
一、找到和目标用户兴趣相似的用户集合——计算两个用户的兴趣相似度
二、找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户——找出物品推荐
寻找用户间的相似度
1、jacc ...
- 2018-01-20 22:16
- 浏览 710
- 分类:行业应用
蚁群算法的基本思想来源于自然界蚂蚁觅食的最短路径原理,根据昆虫科学家的观察,发现自然界的蚂蚁虽然视觉不发达,但它们可以在没有任何提示的情况下找到从食物源到巢穴的最短路径,并在周围环境发生变化后,自适应 ...
- 2018-01-20 22:15
- 浏览 1278
- 分类:开源软件
目前常用的分类算法主要有:朴素贝叶斯分类算法(naïve bayes)、支持向量机分类算法(support vector machines)、 knn最近邻算法(k-nearest neighbors)、神经网络算法(nnet)以及决策树(decision tree)等等
k nearest neighbor算法又叫knn算 ...
- 2017-07-29 16:50
- 浏览 950
- 分类:编程语言
- 博客分类:
- 自然语言处理
最为广泛的两种分类模型是决策树模型(decision tree model)和朴素贝叶斯模型(naive bayesian model,nbm)。
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法.
对于分类问题,其实谁都不会陌生,说我们每个人每天都在执行分类操作一点都不夸张,只是我们没有意识到罢了。例如,当你看到一个陌生人,你的脑子下意识判断ta是男是女;你可能经常会走在路上对身旁的朋友说“这个人一看就很有钱、那边有个非主流”之类的话,其实这就是一种分类操作。
分类是将一个未知样本分到几个预先已知类的过程。数据分类问题的解决是一个两步过程:第一步,建立一个模型,描 ...
- 2017-03-14 20:45
- 浏览 859
- 分类:行业应用
- 博客分类:
- 自然语言处理
tf-idf(term frequency–inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术, tfidf的主要思想是:如果某个词或短语在一篇文章中出现的频率tf高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。tfidf实际上是:tf * idf,tf词频(term frequency),idf反文档频率(inverse document frequency)。tf表示词条在文档d中出现的频率。
in information retrieval, tf–idf, short for term freque ...
- 2017-03-14 20:16
- 浏览 800
- 分类:行业应用
- 博客分类:
- 自然语言处理
自然语言处理(natural language processing 简称nlp)
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
自然语言处理(nlp)是计算机科学,人工智能,语言学关注计算机和人类(自 ...
- 2017-03-12 16:17
- 浏览 518
- 分类:行业应用
- 博客分类:
- 自然语言处理
一、余弦相似度步骤
永久链接: http://gaojingsong.iteye.com/blog/2348114
余弦相似度基本思路是:如果这两句话的用词越相似,它们的内容就应该越相似。因此,可以从词频入手,计算它们的相似程度。
第一步,预处理主要是进行中文分词和去停用词,分词。
第二步,列出所有的词。
第三步,计算词频。
第四步,写出词频向量。
二、余弦相似度代码如下:
import java.util.hashmap;
import java.util.map;
import java.util.set;
/**
* 字符串相似性匹配算法
...
- 2017-01-03 21:01
- 浏览 940
- 分类:编程语言
- 博客分类:
- 自然语言处理
余弦相似度基本思路是:如果这两句话的用词越相似,它们的内容就应该越相似。因此,可以从词频入手,计算它们的相似程度。
第一步,预处理主要是进行中文分词和去停用词,分词。
第二步,列出所有的词。
第三步,计算词频。
第四步,写出词频向量。
余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。
余弦相似度缺陷
这类算法没有很好地解决文本数据中存在的自然语言问题,即同义词和多义词。这样对于搜索的精度产生很大的影响。
衡量文本相似度的几种手段:
(1)最长公共子串(基于词条空间)
(2)最长公共子序列(基于权值空间、词条空 ...
- 2016-12-29 22:35
- 浏览 2338
- 分类:编程语言
- 博客分类:
- 自然语言处理
levenshtein算法原理
1) str1或str2的长度为0返回另一个字符串的长度。 if(str1.length==0) return str2.length; if(str2.length==0) return str1.length;
2)初始化(n 1)*(m 1)的矩阵d,并让第一行和列的值从0开始增长。
3)扫描两字符串(n*m级的),如果:str1 == str2[j],用temp记录它,为0。否则temp记为1。然后在矩阵d[i,j]赋于d[i-1,j] 1 、d[i,j-1] 1、d[i-1,j-1] temp三者的最小值。
4)扫描完后,返回矩阵的最后一个值d ...
- 2016-12-28 22:11
- 浏览 871
- 分类:编程语言
- 博客分类:
- 自然语言处理
levenshtein() 函数返回两个字符串之间的 levenshtein 距离。
levenshtein算法是计算两个字符串之间的最小编辑距离的算法,所谓的最小编辑距离就是把字符串a通过添加,删除,替换字符的方式转变成b所需要的最少步骤。俄罗斯科学家vladimir levenshtein在1965年提出这个概念,所以叫做levenshtein算法。
levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。
levenshtein算法的流程: ...
- 2016-12-28 22:03
- 浏览 1166
- 分类:开源软件