分词

Elasticsearch环境搭建和介绍(Windows)

我怕爱的太早我们不能终老 提交于 2020-04-08 11:01:14
目录 一、Elasticsearch介绍和安装 1.1 介绍 1.2 安装和配置 1.3 ElasticSearch安装为Windows服务 1.4 安装Head插件及NSSM 1.5 elasticsearch-head的使用 1.6 安装Ik分词器 正文 一、Elasticsearch介绍和安装 1.1 介绍 ** Elastic** Elastic官网: https://www.elastic.co/cn/ Elastic有一条完整的产品线:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈。 ** Elasticsearch** Elasticsearch官网: https://www.elastic.co/cn/products/elasticsearch Elasticsearch具备以下特点: 分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心) Restful风格,一切API都遵循Rest原则,容易上手 近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。 版本 目前Elasticsearch最新的版本是6.4.2,我这里使用的版本是6.2.4 安装Elasticsearch前提条件:JDK1.8及以上 1.2****安装和配置 下载地址: https://www

手把手,教你用MaxCompute+OpenSearch搭建分布式搜索引擎

浪尽此生 提交于 2020-04-07 13:41:44
摘要: 最近,经常有客户咨询如何低成本搭建高性能的海量数据搜索引擎,比如实现公众号检索、影讯检索等等。由于客户的数据在阿里云上,所以希望找到云上解决方案。笔者开始调研一些云上产品,很多人向我推荐了OpenSearch,所以花了点时间好好研究了下,用过之后发现效果不错,自带分词、云数据库同步功能,在研究过程中也发现了一些问题,分享给大家。 背景 最近,经常有客户咨询如何低成本搭建高性能的海量数据搜索引擎,比如实现公众号检索、影讯检索等等。由于客户的数据在阿里云上,所以希望找到云上解决方案。笔者开始调研一些云上产品,很多人向我推荐了OpenSearch,所以花了点时间好好研究了下,用过之后发现效果不错,自带分词、云数据库同步功能,在研究过程中也发现了一些问题,分享给大家。 接下来,我们开始用阿里云MaxCompute(原名ODPS)和OpenSearch来搭建一个影讯检索的搜索引擎Demo,我有大约10GB数据,服务搭建只用了15分钟,数据同步建索引大概用1个小时。因为选择弹性计费,实验费用大概花了几十元。 先晒一下搜索效果,支持一些常用分词语法,而且OpenSearch自带了丰富的SDK和API,可以很方便的集成到线上业务。 实验架构图 搜索引擎架构在OpenSearch之上,是一个典型的分布式在线实时交互查询架构,无单点故障,高伸缩、高可用,免运维,低成本

用Python做中文分词与词云制作

岁酱吖の 提交于 2020-04-06 19:14:51
作者:梅昊铭 1. 导读 在大数据时代,我们经常在媒体或者网站上看到各种各样的信息图。词云是文本大数据可视化的重要方式,可以将大段文本中的关键语句和词汇高亮展示。对于中文文本的可视化,我们需要先将中文文本进行分词;然后再将文本中的关键词做词云展示。本文将教大家如何使用Python来做中文分词并制作词云,欢迎大家跟着教程一步步实现。 项目地址: https://momodel.cn/workspace/5e77afb7a8a7dc6753f582b9?type=app 2. 中文分词 2.1 分词入门 所谓分词即是将文本序列按完整的意思切分成一个一个的词儿,方便进行下一步的分析(词频统计,情感分析等)。而英文词与词自带空格作为分隔符,相比于中文分词要简单。这里我们以中文分词为例来介绍。Python 为我们提供了 Jieba 库进行分词,接下来如何使用 Jieba 库进行中午呢分词。 import jieba # 文本数据 text = "MomodelAI是一个支持在线数据分析和AI建模的平台。" result = jieba.cut(text) # 将切分好的文本用" "分开 print("分词结果: " + " ".join(result)) ''' 分词结果: MomodelAI 是 一个 支持 在线 数据分析 和 AI 建模 的 平台 。 ''' 2.2 特殊名词

计算机与软件工程 作业四

送分小仙女□ 提交于 2020-04-06 12:54:17
作业要求 第四周作业 代码规范 课程目标 作业帮助 了解并遵守代码规范复审 掌握结对编程 参考文献 https://www.cnblogs.com/xinz/archive/2011/08/07/2130332.html 作业1 每个人针对之前两次作业所写的代码,针对要求,并按照代码规范(风格规范、设计规范)要求评判其他学生的程序,同时进行代码复审(按照代码复审核表 https://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html),要求评价数目不少于8人次, 评价内容直接放在你被评价的作业后面评论中 同时另建立一个博客,将你作的评论的截图或者链接,放在博客中,并在你的博客中谈谈自己的总体看法 作业二 将程序获得的《红楼梦》与《水浒传》各个章节人物出现次数与全本人物出现总次数,通过柱状图、饼图、表格等形式展现。 新建分词词典:(省略了词频、词性) 贾珍 贾政 尤氏 珍大奶奶 尤二姐 尤三姐 惜春 四姑娘 贾蓉 可卿 秦氏 蓉大奶奶 贾母 史太君 老祖宗 老太太 鸳鸯 琥珀 傻大姐 贾赦 王夫人 金钏 宝玉 宝二爷 袭人 晴雯 麝月 秋纹 碧痕 春燕 贾琏 熙凤 凤姐 琏二奶奶 平儿 丰儿 林之孝 元春 娘娘 迎春 二姑娘 司棋 探春 三姑娘 李纨 宫裁 黛玉 林姑娘 林妹妹 雪雁 子腾 湘云 史大姑娘 翠缕 薛姨妈 姨太太

lucene6+HanLP中文分词

 ̄綄美尐妖づ 提交于 2020-04-06 02:37:22
1.前言 前一阵把博客换了个模版,模版提供了一个搜索按钮,这让我想起一直以来都想折腾的全文搜索技术,于是就用lucene6.2.1加上HanLP的分词插件做了这么一个模块CSearch。 效果看这里: https://chulung.com/search 源码: CSearch 2.关于分词 索引的一个核心功能便是分词,lucene自带的分词是基于英语的,所以中文分词用其他插件比较好。 网上很多都是推荐IK-Analyzer,不过这个插件很久没更新了,用lucene6的话重构才能用: IK-Analyzer-6 ,这个是我重构的版本。 但在查阅分词的方面的资料的时候无意中发现了 HanLP(Han Language Processing) ,这个汉语言处理包比较新,提供了lucene的分词插件,资料什么的也更详细,所以我就更换过来了。 3.代码中的一些坑 在敲代码时还是遇到了一些比较坑的问题,由于网上基本没有lucene6的中文教程,老的lucene3,4那时的教程很多兼容不上了。 实时查询的DirectoryReader获取 使用IndexWriter新增索引后存在搜索不到的问题,这是因为在getReader时要使用openIfChanged方法,才能保证做到更新后实时查询。 private DirectoryReader getReader() throws Exception

中文分词之结巴分词~~~附使用场景+demo(net)

て烟熏妆下的殇ゞ 提交于 2020-04-01 05:31:21
常用技能(更新ing): http://www.cnblogs.com/dunitian/p/4822808.html#skill 技能总纲(更新ing): http://www.cnblogs.com/dunitian/p/5493793.html 在线演示: http://cppjieba-webdemo.herokuapp.com 完整demo: https://github.com/dunitian/TempCode/tree/master/2016-09-05 逆天修改版: https://github.com/dunitian/TempCode/blob/master/2016-09-05/jieba.NET.0.38.2.zip 先说下注意点, 结巴分词他没有对分词进行一次去重,我们得自己干这件事;字典得自行配置或者设置成输出到bin目录 应用场景举例 (搜索那块大家都知道,说点其他的) —————————————————————————————————————————————————— 言归正传:看一组民间统计数据:(非Net版,指的是官方版) net版的 IKanalyzer 和 盘古分词 好多年没更新了,所以这次选择了 结巴分词( 这个名字也很符合分词的意境~~结巴说话,是不是也是一种分词的方式呢? ) 下面简单演示一下: 1.先引入包: 2.字典设置: 3

了解搜索引擎技术

元气小坏坏 提交于 2020-03-31 07:39:10
此文纯理论知识,很不错的搜索引擎的资料。 搜索引擎的定义 搜索引擎是传统IR技术在Web环境中的应用。一般来说,搜索引擎是一种用于帮助用户在Internet上查询信息的搜索工具,它以一定的策略在Internet中搜索,发现信息,对信息进行理解,提取,组织和处理,并为用户提供检索服务,从而起到信息导航的目的。 搜索引擎的体系结构 典型的搜索引擎结构一般由以下三个模块组成:信息采集模块(Crawler),索引模块(Indexer),查询模块(Searcher)。 Crawler :从web中采集网页数据 Indexer :对Crawler采集数据进行分析生成索引。 Searcher :接受查询请求,通过一定的查询算法获取查询结果,返回给用户。 -->Crawler Crawler 负责页面信息的采集,工作实现基于以下思想:既然所有网页都可能链接到其他网站,那么从一个网站开始,跟踪所有网页上的所有链接,就有可能检索整个互联 网。Crawler首先从待访问URL队列中获取URLs,根据URL从中抓取网页数据,然后对网页进行分析,从中获取所有的URL链接,并把它们放到待 访问的URL队列中,同时将已访问URL移至已访问的URL队列中。不断重复上面的过程。 Crawler存在以下的关键问题: >多线程抓取时的任务调度问题: 搜索引擎会产生多个Crawler同时对网页进行抓取

Python实现Wordcloud生成词云图的示例

主宰稳场 提交于 2020-03-30 16:22:23
wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概。 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前,首先要做一些准备工作 1.安装结巴分词库 pip install jieba Python中的分词模块有很多,他们的功能也都是大同小异,我们安装的结巴分词 是当前使用的最多的类型。 下面我来简单介绍一下结巴分词的用法 结巴分词的分词模式分为三种: (1)全模式:把句子中所有的可以成词的词语都扫描出来, 速度快,但是不能解决歧义问题 (2)精确模式:将句子最精确地切开,适合文本分析 (3)搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词 下面用一个简单的例子来看一下三种模式的分词区别: import jieba # 全模式:把句子中所有的可以成词的词语都扫描出来, 速度快,但是不能解决歧义问题 text = "哈利波特是一常优秀的文学作品" seg_list = jieba.cut(text, cut_all=True) print(u"[全模式]: ", "/ ".join(seg_list)) # 精确模式:将句子最精确地切开,适合文本分析 seg_list = jieba.cut(text, cut_all=False) print(u"