文本分析

深度学习、机器学习与NLP的前世今生

十年热恋 提交于 2020-02-26 02:43:00
随着深度学习的发展,自然语言处理领域的难题也得到了不断突破,AlphaGo项目的主要负责人David Silver曾说“深度学习 (DL)+ 强化学习 (RL) = 人工智能 (AI)”。目前深度学习在自然语言处理上主要有哪些应用?在工程实践中是否会有哪些瓶颈?以下内容是根据达观数据联合创始人高翔在《深度学习与文本智能处理》直播的总结。 一、为什么做文本挖掘 什么是NLP?简单来说: NLP的目的是让机器能够理解人类的语言,是人和机器进行交流的技术 。它应用在我们生活中,像:智能问答、机器翻译、文本分类、文本摘要,这项技术在慢慢影响我们的生活。 NLP的发展历史非常之久,计算机发明之后,就有以机器翻译为开端做早期的NLP尝试,但早期做得不是很成功。直到上个世纪八十年代,大部分自然语言处理系统还是基于人工规则的方式,使用规则引擎或者规则系统来做问答、翻译等功能。 第一次突破是上个世纪九十年代,有了统计机器学习的技术,并且建设了很多优质的语料库之后,统计模型使NLP技术有了较大的革新。接下来的发展基本还是基于这样传统的机器学习的技术。从2006年深度学习开始,包括现在图像上取得非常成功的进步之后,已经对NLP领域领域影响非常大。 达观划分的NLP技术层次 当年上小学时有一本书叫《字词句篇与达标训练》,里面讲了字、词、句、篇,我们开始学写字,词是最基础的一级

浅谈移动端过长文本溢出显示省略号的实现方案

╄→гoц情女王★ 提交于 2020-02-26 01:15:36
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/39NCyZvm8EYiJ-pEEtjxGw 作者:何彦军 目前在移动端开发的展示界面中,如果一段文本的数量过长,受限于屏幕的宽高等因素,有可能不能完全显示,这个时候就会把溢出的文本显示成省略号。 最近就亲身经历了一系列类似的需求,于是这里做个总结和记录。 首先一个最基本的需求就是当文本超过一行最大宽度时,超出的部分变为省略号,如下图所示。 这个功能比较基础,只用css就可以实现,如下图所示代码块。 可是有时候产品同学希望显示的文本可以再多一点,于是就有了多行文本溢出显示省略号的需求,如下图所示。 这个功能也可以通过css实现,如下图代码块所示。 这里用到了webkit的css扩展属性,因此适用于webkit浏览器及移动端,并且在兼容性方面也有些影响,但是只要不是特别老旧的机器,还是完全能够支持的。 在支持了多行文本溢出显示省略号的功能之后,产品同学又发现了体验不友好的点,如下图所示。文本在第二行开头处就结束了,这就导致第二行大部分是空白的,影响了美观度。 因此,产品同学提出了一个新需求: 当文本没有超过第x行的一半时,则按第x-1行溢出显示省略号的方式展示;(第1行除外) 当文本超过第x行的一半但没有超过第x行时,则正常展示; 当文本超过第x行时

文本分类实战

点点圈 提交于 2020-02-25 19:19:35
此处还用到torchtext,针对NLP的文本预处理功能模块。 1、读取数据 数据源: 斯坦福的IMDb数据集(Stanford’s Large Movie Review Dataset) def read_imdb ( folder = 'train' , data_root = "./dataset/aclImdb_v1/aclImdb" ) : data = [ ] for label in [ 'pos' , 'neg' ] : folder_name = os . path . join ( data_root , folder , label ) for file in tqdm ( os . listdir ( folder_name ) ) : with open ( os . path . join ( folder_name , file ) , 'rb' ) as f : review = f . read ( ) . decode ( 'utf-8' ) . replace ( '\n' , '' ) . lower ( ) data . append ( [ review , 1 if label == 'pos' else 0 ] ) random . shuffle ( data ) return data DATA_ROOT = "/home

js 获取如何鼠标滑词?

霸气de小男生 提交于 2020-02-24 22:58:52
window.getSelection().toString() 详情: https://developer.mozilla.org/zh-CN/docs/Web/API/Window/getSelection <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>js 滑词分析</title> </head> <body> <div id="selectText">文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本</div> <script> const getSelectText = () => { try { let text = window.getSelection().toString(); if (text != null && text != "") { console.log(text); } } catch (err) { let selecter = document.selection.createRange(); let text = selecter.text; if (text != null && text !

潜在语义分析(LSA)的原理讲解以及python实现

独自空忆成欢 提交于 2020-02-21 11:27:46
在传统的文本信息处理中,以单词向量表示文本的语义内容,以单词向量空间的度量来表示文本之间的语义近似度。这种方法不能准确表示语义。 潜在语义分析试图从大量的文本数据中发现潜在的话题,以话题向量来表示文本的语义内容,以话题向量的空间度量更准确地表示文本之间的语义相似度。 潜在语义分析使用的是非概率的话题分析模型,具体来说,就是将文本集合表示为单词-文本矩阵,对单词-文本矩阵进行奇异值分解,从而得到话题向量空间,以及文本在话题向量空间的表示。可采用的矩阵分解方法有: 奇异值分解、非负矩阵分解。 给定一个含有 n n n 个文本的集合 D = { d 1 , d 2 , ⋯   , d n } D=\{d_1,d_2,\cdots,d_n\} D = { d 1 ​ , d 2 ​ , ⋯ , d n ​ } ,以及在所有文本中出现的 m m m 个单词 W = { w 1 , w 2 , ⋯   , w m } W=\{w_1,w_2,\cdots,w_m\} W = { w 1 ​ , w 2 ​ , ⋯ , w m ​ } ,则将单词在文本中出现的数据用一个单词-文本表示,记作 X X X 。 X = [ x i j ] m × n X = [x_{ij}]_{m\times n} X = [ x i j ​ ] m × n ​ 其中,元素 x i j x_{ij} x i j ​

[JSON]JavaScript 和 .NET 中的 JavaScript Object Notation (JSON) 简介

感情迁移 提交于 2020-02-18 15:04:17
原文地址:http://msdn.microsoft.com/zh-cn/library/bb299886.aspx#intro_to_json_topic3 Atif Aziz,Scott Mitchell 2007 年 2 月 适用于: JSON Ajax 摘要: 本文 JavaScript Object Notation(或 JSON),即一种开放式和基于文本的数据交换格式,它提供了一种标准数据交换格式,更适用于 Ajax 样式的 Web 应用程序。(打印共 22 页) 目录 简介 了解 JavaScript 中的文字表示法 比较 JSON 与 XML 使用 JavaScript 创建和分析 JSON 消息 在 .NET Framework 中使用 JSON 结论 参考资料 下载本文中所用的源代码 。 简介 在设计要与远程计算机进行通信的应用程序时,必须选择一种数据格式和交换协议。有多种开放式标准方案可供选择,而最理想的选择取决于应用程序需求和已有的功能。例如,基于 SOAP 的 web 服务格式化数据的方式是将 XML 负载封装到 SOAP 信封中。 XML 对于许多应用场合非常好用,但在另外一些情况下则存在缺陷,使用不太理想。XML 通常使用效果不太理想的领域之一是 Ajax 风格的 web 应用程序。Ajax 是用于构建交互式 web 应用程序的技术

文本分析

£可爱£侵袭症+ 提交于 2020-02-18 00:36:04
概述: 本文演示了jieba中文分词组件、sklearn等库的使用,包括 新闻中停止词的剔除演示 提取新闻的关键词 词频统计 词云图绘制 对新闻进行向量化 使用朴素贝叶斯算法进行新闻分类 使用贝叶斯模型进行新闻分类(原理涉及到编辑距离、朴素贝叶斯算法) jieba 是目前最好的 Python 中文分词组件,它主要有以下 3 种特性 支持 3 种分词模式:精确模式、全模式、搜索引擎模式 支持繁体分词 支持自定义词典 import pandas as pd import jieba #pip install jieba 数据源:http://www.sogou.com/labs/resource/ca.php df_news = pd . read_csv ( './data/val.txt' , sep = '\t' , names = [ 'category' , 'theme' , 'URL' , 'content' ] , encoding = 'utf-8' ) df_news = df_news . dropna ( ) df_news . head ( ) category theme URL content 0 汽车 新辉腾 4.2 V84座加长Individual版2011款 最新报价 http://auto.data.people.com.cn/model

全文检索引擎及工具 Lucene Solr

[亡魂溺海] 提交于 2020-02-16 03:55:22
全文检索引擎及工具 lucence lucence是一个全文检索引擎。 lucence代码级别的使用步骤大致如下: 创建文档(org.apache.lucene.document.Document),并通过Document的add方法为其添加字段(lucence.document.Field) 创建lucence.index.IndexWriter,通过addDocument或addDocuments方法添加构建好的诸多Document 通过close方法关闭IndexWriter 创建索引搜索器lucence.search.IndexSearcher,需要传入索引仓库阅读器(lucenc.index.DirectoryReader)参数 通过search方法在搜索器上执行查询,参数是ucence.search.Query对象,通过查询解析器lucene.queryparser.classic.QueryParser的实例parse(String)方法来构建一个查询,QueryParser实例可以通过new标准解析器lucene.queryparser.flexible.standard.StandardQueryParser得到 中文文本索引构建及查询示例 (以下涉及的是6.4.2版本的lucene) 对中文文本构建索引时,不能使用 StandardAnalyzer

Python 与 html解析

纵然是瞬间 提交于 2020-02-15 05:47:16
Python 与 html解析 文章目录 Python 与 html解析 正则表达式 RE in Python `match()` 修饰符 `search()` `findall()` XPath & LXML XPath常用规则 导入 HTML 从字符串导入 HTML 从文件导入 HTML 获取节点 获取所有节点 获取所有指定标签 获取子节点 获取特定属性的节点 获取父节点 获取节点中的的文本 获取属性 补充 BeautifulSoup BeaufulSoup对象的初始化 节点选择器 选择标签 嵌套选择 关联选择 获取**子孙节点** 获取父节点和祖先节点 获取兄弟节点 方法选择器 `find()` `findall()` 更多 CSS选择器 提取信息 获取完整标签 获取标签类型 获取标签内容 获取属性 PyQuery 初始化 字符串初始化 URL初始化 CSS选择器 查找节点 遍历 获取信息 `attr()` 获取属性 `text()` 获取文本 节点操作 本文由 CDFMLR 原创,收录于个人主页 https://clownote.github.io ,并同时发布到 CSDN。本人不保证 CSDN 排版正确,敬请访问 clownote 以获得良好的阅读体验。 正则表达式 正则表达式是一种处理字符串的强大的工具,它有自己特定的语法结构,可以高效地实现字符串的检索、替换

文件对比工具有哪些用途

拟墨画扇 提交于 2020-02-13 08:02:41
我们常常会遇到一些文件需要进行比较,特别是一些文本、网页、复杂的源代码文件或者是文件夹,我们非常迫切地需要一款工具可以清晰地分析出它们之间的全部差异,便于对其进行修改或参考。 Beyond Compare就是一款这样专业级文件比较软件,我们常常会在一些开发高手和前辈的推荐中听到它的大名。当打开 文件对比工具 Beyond Compare主页面时,可以看到软件可执行的比较会话类型丰富,那么作为软件新手的你,你的打开方式正确吗?你知道Beyond Compare有哪些强大的比较会话吗? Beyond Compare 4中文版下载地址:http://www.mairuan.com/product/beyondcompare 文件夹比较 在文件夹比较会话中,Beyond Compare 提供了全部显示、差异显示、相同显示、自动比较、交换两侧等极其方便的按钮,使得文件夹之间的差异一目了然,显而易见。与其它同类软件相比,Beyond Compare还附带了文件夹合并和文件夹同步这两种实用工具。 文件夹比较可以高效对比整个驱动器和文件夹,检查大小和修改时间。其中压缩文件和对比普通文件夹相同,都可以内置扩展用于对比和更新它们的内容,操作十分的简单易学。 文本比较 Beyond Compare选择最好的方法来突出比较文本的不同之处,文本文件可以用语法高亮和设置比较规则进行查看和编辑,适用于文档