分词

文本数据挖掘一般步骤

霸气de小男生 提交于 2020-01-24 12:03:52
转载自潇一: 简要的谈谈文本数据挖掘的一般步骤 原文 一、获取文本 一般来说网络文本的获取,主要是网页的形式。我们要把网络中的文本获取形成一个文本数据库(数据集)。利用一个爬虫(这是另外一个知识点),抓取到网络中的信息。爬取的策略有广度和深度爬取;根据用户的需求,爬虫可以有主题爬虫和通用爬虫之分,主题爬取主要是在相关站点爬取或者爬取相关主题的文本,而通用爬虫则一般对此不加限制。爬虫可以自己写,当然现在网络上已经存在很多开源的爬虫系统。当然如果需要定制,自己写还是可以的。 二、对文本进行预处理 通过上面的步骤,我们已经获得了做菜的材料了,可以说,有了它,做出一道菜已经是顺利成当了。但是,菜好不好吃,可不可口,还需要经过很多步骤的。 我们知道,网页中存在很多不必要的信息,比如说一些广告,导航栏,html、js代码,注释等等,我们并不感兴趣的信息,可以delete掉。所以,我们还需要对文本中的信息进行筛选。这个步骤相当于我们做菜的洗菜过程,洗掉泥土等,吃起来才会口感好,否则,没有清洗过的菜,就算再牛逼的大厨,我想也很难做出佳肴吧。 三、分词系统 经过上面的步骤,我们会得到比较干净的素材。我们知道,文本中起到关键作用的是一些词,甚至主要词就能起到决定文本取向。比如说一篇文章讲的是体育还是娱乐,肯定是对文章中的中心词进行分析得到的结果。那么怎么样才能找到那些能够影响中心意思的词语呢? 别忘了

docker 部署 elasticsearch + elasticsearch-head + elasticsearch-head跨域问题 + IK分词器

强颜欢笑 提交于 2020-01-24 04:48:42
0. docker pull 拉取elasticsearch + elasticsearch-head 镜像 1. 启动elasticsearch Docker镜像 docker run -di --name tensquare_elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch 对应 IP:9200 ---- 反馈下边json数据, 表示启动成功 2. 启动elasticsearch-head 镜像 docker run -d -p 9100:9100 elasticsearch-head 对应 IP:9100 ---- 得到下边页面,即 启动成功 3. 解决跨域问题    进入elasticsearch-head页面, 出现灰色未连接状态 ,即出现 跨域问题   1. 根据docker ps 得到 elasticsearch 的CONTAINER ID    2. docker exec -it elasticsearch 的CONTAINER ID /bin/bash 进入容器内   3. cd ./config   4. 修改 elasticsearch.yml文件 echo " http.cors.enabled: true http.cors.allow-origin: '*'" >> elasticsearch

rasa_nlu调研报告

蓝咒 提交于 2020-01-24 03:39:44
RASA_NLU调研报告 一、rasa_nlu模块 1、rasa简介 Rasa是一个开源机器学习框架,用于构建上下文AI助手和聊天机器人。 Rasa有两个主要模块: Rasa NLU :用于理解用户消息,包括意图识别和实体识别,它会把用户的输入转换为结构化的数据。 Rasa Core:是一个对话管理平台,用于举行对话和决定下一步做什么。 Rasam框架的基本流程: 2、rasa_nlu简介 Rasa NLU曾经是一个独立的库,但它现在是Rasa框架的一部分。 Rasa_NLU是一个开源的、可本地部署并配套有语料标注工具RASA NLU Trainer。其本身可支持任何语言,中文因其特殊性需要加入特定的tokenizer作为整个流程的一部分。 Rasa NLU 用于聊天机器人中的意图识别和实体提取。例如,下面句子: "I am looking for a Mexican restaurant in the center of town" 返回结构化的数据: 3、rasa_nlu组件 针对中文对话rasa_nlu也提供了中文本的组件,各个组件相互衔接最终以pipeline的形式实现最终的意图识别和实体抽取功能。 组件模块主要包括:数据处理(training_data)、文本分词(tokenizers)、特征表示(featurizers)、意图分类(classifiers)、实体抽取

「扫盲」 Elasticsearch

て烟熏妆下的殇ゞ 提交于 2020-01-21 15:33:01
什么是Elasticsearch? Elasticsearch is a real-time, distributed storage, search, and analytics engine Elasticsearch 是一个实时的分布式存储、搜索、分析的引擎。 介绍那儿有几个关键字: 实时、分布式、搜索、分析 于是我们就得知道Elasticsearch是怎么做到实时的,Elasticsearch的架构是怎么样的(分布式)。存储、搜索和分析(得知道Elasticsearch是怎么存储、搜索和分析的) 为什么要用Elasticsearch 在学习一项技术之前,必须先要了解为什么要使用这项技术。所以,为什么要使用Elasticsearch呢?我们在日常开发中,数据库也能做到(实时、存储、搜索、分析)。 相对于数据库,Elasticsearch的强大之处就是可以模糊查询。 有的同学可能就会说:我数据库怎么就不能模糊查询了??我反手就给你写一个SQL: select * from user where name like '%公众号Java%' 这不就可以把公众号Java相关的内容搜索出来了吗? 的确,这样做的确可以。但是要明白的是:name like %Java%这类的查询是不走索引的,不走索引意味着:只要你的数据库的量很大(1亿条),你的查询肯定会是秒级别的 而且

NLP 工具类库

为君一笑 提交于 2020-01-21 14:59:44
NLPIR   http://www.nlpir.org/ HanLP   https://github.com/hankcs Apache OpenNLP https://opennlp.apache.org/ Apache UIMA   http://uima.apache.org/ LingPipe LingPipe 是一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能,包括主题分类(Top Classification)、命名实体识别(Named Entity Recognition)、词性标注(Part-of Speech Tagging)、句题检测(Sentence Detection)、查询拼写检查(Query Spell Checking)、兴趣短语检测(Interseting Phrase Detection)、聚类(Clustering)、字符语言建模(Character Language Modeling)、医学文献下载/解析/索引(MEDLINE Download, Parsing and Indexing)、数据库文本挖掘(Database Text Mining)、中文分词(Chinese Word Segmentation)、情感分析(Sentiment Analysis)、语言辨别(Language

「扫盲」Elasticsearch

江枫思渺然 提交于 2020-01-21 10:07:52
前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star : https://github.com/ZhongFuCheng3y/3y 不知道大家的公司用Elasticsearch多不多,反正我公司的是有在用的。平时听同事们聊天肯定避免不了不认识的技术栈,例如说:把数据放在引擎,从引擎取出数据等等。 如果对引擎不了解的同学,就压根听不懂他们在说什么(我就是听不懂的一位,扎心了)。引擎一般指的是搜索引擎,现在用得比较多的就是Elasticsearch。 这篇文章主要是对Elasticsearch一个简单的入门,没有高深的知识和使用。至少我想做到的是:以后同事们聊引擎了,至少知道他们在讲什么。 什么是Elasticsearch? Elasticsearch is a real-time, distributed storage, search, and analytics engine Elasticsearch 是一个 实时 的 分布式存储、搜索、分析 的引擎。 介绍那儿有几个关键字: 实时 分布式 搜索 分析 于是我们就得知道Elasticsearch是怎么做到实时的,Elasticsearch的架构是怎么样的(分布式)。存储、搜索和分析(得知道Elasticsearch是怎么存储、搜索和分析的) 这些问题在这篇文章中都会有提及。

关于意图识别的一些整理理解(一)

帅比萌擦擦* 提交于 2020-01-20 21:13:56
自然语言处理意图识别 自然语言处理一直是机器学习方面的一个难题,最近在参加竞赛时需要进行意图识别的相关探索学习,本文大致对我个人对意图识别的理解和做法进行一个简要的整理。 开始时思考的其实并不容易,因为作为大学生对机器学习和深度学习的底子比较薄,并且做过的跟机器学习有关的项目勉勉强强只能算是有一个,所以开始整理思路时就参考了《美团机器学习实践》这本书,确实获益匪浅,光笔记我就用typora打了40多页,确实值得大家去看一下。 从中我大概了解了整个自然语言处理的综合步骤以及相关做法,然后对意图识别这个名词有了一定的了解,它可以说是电商搜索和推荐的开门砖,从用户的搜索输入中提取最为关键的分类信息,即查找用户搜索的相关商品的门类,再从本门类(无论一级分类如食物、旅游或者二级分类面食类、肉类等精细分类)搜索或者执行推荐算法推荐相似度较高的产品时(当然这种推荐不包括如adaboost这样的相关性商品推荐),会大大减小搜索耗时以及推荐复杂度,很好的节省了系统开销,可以说是大型互联网公司搜索系统的必备杀器。 其中不妨有参考各路大神的代码,如有雷同,还请见谅。 这次意图识别为了同时提高准确率和召回率,我选择使用组合模型进行相应的处理,通过结合ElasticSearch的精确以及快速搜索功能以及综合word2vec词语相似度和LSTM模型两种方法来完成意图准确识别 本文使用的工具和包较多,大体罗列下

分词之正向最大匹配法

为君一笑 提交于 2020-01-20 00:43:00
完整资料和代码获取地址 github:zlhcsm 知识普及-正向最大匹配法: 对于输入的一段文本从左至右、以贪心的方式切分出当前位置上长度最大的词。 正向最大匹配算法是基于词典的分词方法,其分词原理是:单词的颗粒度越大,所能表示的含义越确切。 步骤 1,一般从一个字符串的开始位置,选择一个最大长度的词长的片段,如果序列不足最大词长,则选择全部序列。 2,首先看该片段是否在词典中,如果是,则算为一个分出来的词,如果不是,则从右边开始,减少一个字符,然后看短一点的这个片段是否在词典中,一次循环,直到只剩下一个字。 3,序列变为第2步骤截取分词后,剩下的部分序列 核心代码 1.读取字典文件 def init ( ) : """ 读取字典文件 载入词典 :return: """ with open ( "../dic/dict.txt" , "r" , encoding = "utf8" ) as dict_input : for word in dict_input : # 文件格式为:单词 词频 词性 words_dic . append ( word . split ( " " ) [ 0 ] . strip ( ) ) 2.切词方法 # 实现正向匹配算法中的切词方法 def cut_words ( raw_sentence , word_dic ) : # 统计词典中最长的词

python做语义网络图

南楼画角 提交于 2020-01-17 02:16:50
不多说,直接上代码,大家改一下地址就能用 import re # 正则表达式库 import jieba #分词 import collections # 词频统计库 import numpy as np import pandas as pd import networkx as nx #复杂网络分析库 import matplotlib . pyplot as plt num = 40 G = nx . Graph ( ) plt . figure ( figsize = ( 20 , 14 ) ) plt . rcParams [ 'axes.unicode_minus' ] = False # 用来正常显示负号 plt . rcParams [ 'font.sans-serif' ] = [ 'SimHei' ] # 用来正常显示中文标签 # 读取文件 fn = open ( 'D:\总的.txt' ) # 打开文件 string_data = fn . read ( ) # 读出整个文件 fn . close ( ) # 关闭文件 # 文本预处理 pattern = re . compile ( u '\t|\.|-|:|;|\)|\(|\?|"' ) # 定义正则表达式匹配模式 string_data = re . sub ( pattern , '' , string

一、linux系统安装配置solr8

谁说我不能喝 提交于 2020-01-17 00:34:11
一、准备环境 1、下载solr最新版本,我的是8.4.0 https://lucene.apache.org/solr/downloads.html 2、下载安装tomcat,我的是9.0版本,用来做启动运行solr服务,因为solr内嵌的是netty,不稳定 3、下载安装jdk1.8以上版本 二、安装solr,创建目录solr,解压下载好的solr,记得,linux是tgz后缀,建议在window系统中解压,因为要用到里面的文件配置,在window系统中方便操作 mkdir /usr/local/solr tar -xvf solr-8.4.0.tgz 三、把/usr/local/solr/solr-8.4.0/server/solr-webapp目录下的webapp复制粘贴到下载安装好的tomcat中,并mv改名为solr 四、将solr安装包中的server→ext 文件夹下的jar、server→metrics开头的jar文件、server→http2开头的jar文件 拷贝到tomcat→webApp→solr→WEB_INF→lib文件夹中 第五步:配家、配置apache-tomcat-8.0.47→webApp→solr→WEB_INF下的web.xml 注释一下配置(目的是防止tomcat 403问题) 第六步:把solr8安装包中的server