标点符(钱魏 Way)

使用余弦定理计算文本相似度

什么是余弦定理 学过向量代数的人都知道,向量实际上是多维空间中有方向的线段。如果两个向量的方向一致,即夹角接近零,那么这两个向量就相近。而要确定两个向量方向是否一致,这就要用到余弦定理计算向量的夹角了。 余弦定理对我们每个人都不陌生,它描述了三角形中任何一个夹角和三个边的关系,换句话说,给定三角形的三条边,我们可以用余弦定理求出三角形各个角的角度。假定三角形的三条边为 a, b 和 c,对应的三个 […]

使用Python对全角字符半角字符互转

在文本处理的时候,经常会遇到全角半角不一致的问题。于是需要程序能够快速的在两者之间互转。由于全角半角本身存在着映射关系,所以处理起来并不复杂。具体规则为: 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E) 半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E) 空格比较特殊,全角为 12288(0x3000),半角为 32(0x […]

推荐系统、搜索引擎、自然语言处理常用指标

机器学习(ML)、自然语言处理(NLP)、信息检索(IR)等领域评估是一个必要的工作。 精确率(Precision)与召回率(Recall) 准确率 = 检索出的相关文档数/检索出的文档总数 = 查准率 召回率 = 检索出的相关文档数/文档库中所有相关文档数 = 查全率 假如某个班级有男生80人,女生20人,共计100人,目标是找出所有女生。现在某人挑选出50个人,其中20人是女生,另外还错误的把 […]

细说中文分词

完整的中文自然语言处理过程一般包括以下五种中文处理核心技术:分词、词性标注、命名实体识别、依存句法分析、语义分析。其中,分词是中文自然语言处理的基础,搜素引擎、文本挖掘、机器翻译、关键词提取、自动摘要生成等等技术都会用到中文分词,包括最近在学习的聊天机器人、文本相似性等。可以说分词是自然语言大厦的地基,下面就让我们从它开始谈起。 什么是中文分词 中文分词就是将中文语句中的词汇按照使用时的含义切分出 […]

SegmentFault问答排序算法

SegmentFault 参考了Stack Overflow的热门算法设置了自己的排序算法,具体排序算法如下: 热门文章 对于热门文章,使用了如下公式: 其中 views:浏览量,对浏览量做了一次去对数处理,主要是为了防止某些浏览量较大的文章异军突起,待在榜单迟迟不动。 recommendScore/collectScore:文章的推荐数和收藏数,直接加和到分子中,作为文章热门程度的考虑因素。 a […]

Elasticsearch在Centos 7上的安装与配置

安装JDK 8 Elasticsearch官方建议使用 Oracle的JDK8,在安装之前首先要确定下机器有没有安装JDK.

如果有,有可能是系统自带的openjdk,而非oracle的jdk。可以使用 rpm -qa | grep Java | xargs rpm -e --nodeps 批量卸载所有带有Java的文件,然后进行重新安装。 命令行下载 […]

Elasticsearch学习笔记:简介

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。Elasticsearch也使 […]

使用Python自动提取内容摘要

利用计算机将大量的文本进行处理,产生简洁、精炼内容的过程就是文本摘要,人们可通过阅读摘要来把握文本主要内容,这不仅大大节省时间,更提高阅读效率。但人工摘要耗时又耗力,已不能满足日益增长的信息需求,因此借助计算机进行文本处理的自动文摘应运而生。近年来,自动摘要、信息检索、信息过滤、机器识别、等研究已成为了人们关注的热点。 自动摘要(Automatic Summarization)的方法主要有两种:E […]

使用Python计算文本相似性之编辑距离

在做爬虫的时候,很容易保持一些相似的数据,这些相似的数据由于不完全一致,如果要通过人工一一的审核,将耗费大量的时间,在上一篇介绍simhash的文章中,提到了编辑距离,我们先来了解下什么是编辑距离。 编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一 […]

使用 ChatterBot构建聊天机器人

ChatterBot是一个基于机器学习的聊天机器人引擎,构建在python上,主要特点是可以自可以从已有的对话中进行学习。 安装调试最简单的聊天机器人 安装

基本使用

默认情况下, ChatterBot 使用JsonDatabaseAdapter作为storage a […]