自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 时间语义解析工具 Python版,从文本中提取时间,并解析其含义,在线使用,时间语义识别

时间语义解析工具 Python版,从文本中提取时间,并解析其含义【新华社报2021-9-9】国家统计局今天发布了2021年8月份全国CPI(居民消费价格指数)需要从中抽取出 2021-9-9 和 2021年8月。然后将其规范化,形成【‘2021-09-09 00:00:00’, ‘2021-09-09 23:59:59’】和【‘2021-08-01 00:00:00’, ‘2021-08-31 23:59:59’】的形式。进而方便做各种处理。该功能由 JioNLP 包完全实现,.

2021-09-12 00:14:51 4956

原创 提取文本中的金额,提取货币,Python实现与在线使用

给定一篇文本,提取出文本中涉及到的所有的货币和金额。例如:'张三赔偿李四人民币车费601,293.11元,工厂费一万二千三百四十五元,利息9佰日元,打印费十块钱。' 从中提取出'601,293.11元', '一万二千三百四十五元', '9佰日元', '十块钱' 这样的字符串,并把他们都规范化,形成'601293.11元', '12345.00元', '900.00日元', '10.00元' 这样的结果。方便存储和计算。⭐ 源码戳 => JioNLPhttps://github....

2021-09-11 23:27:20 3173 1

原创 一个快速从中文文本抽取关键短语的工具 ckpe 提取关键短语

一个从 中文自然语言文本 中抽取 关键短语 的工具应用场景 Application scenario1.抽取关键短语在很多关键词提取任务中,使用tfidf、textrank等方法提取得到的仅仅是若干零碎词汇。这样的零碎词汇无法真正的表达文章的原本含义,我们并不想要它。>>> text = '朝鲜确认金正恩出访俄罗斯 将与普京举行会谈...'>>&gt......

2020-01-22 18:34:21 6951 2

原创 一文读懂ChatGPT模型原理

(本文是ChatGPT原理介绍,但没有任何数学公式,可以放心食用)前言这两天,ChatGPT模型真可谓称得上是狂拽酷炫D炸天的存在了。一度登上了知乎热搜,这对科技类话题是非常难的存在。不光是做人工智能、机器学习的人关注,而是大量的各行各业从业人员都来关注这个模型,真可谓空前盛世。我赶紧把 OpenAI 以往的 GPT-n 系列论文又翻出来,重新学习一下,认真领会大规模预训练语言模型(Large Language Model)的强大之处。可能很多深度学习相关从业人员的感受和我一样,大家之前对 LLM

2022-12-06 14:56:53 29248 5

原创 JioNLP上的那些好用的冷门工具

大家好,JioNLP(https://github.com/dongrixinyu/JioNLP)目前已经在Github上有了1600星的点赞,下载安装量大概有几万了。被使用最多的功能,也是被问得最多的,主要是关键短语抽取、时间语义解析、地址按省市县三级解析等等。其它功能较少使用到。然而,作为开发者,我自己在工作中经常用到的一些功能函数,甚少被关注或者提问,因此,本文主要是向大家介绍几个我平时常用,但是大家少有关注到的功能函数。一、判断一个字符串是否包含中文NLP 里有一类任务是文本抽取和解析类任务

2022-11-28 21:57:49 1365

原创 豆瓣评论【数据集分享】

相信很多做自然语言处理、数据分析的小伙伴们都接触过豆瓣评论数据集。最近 《脱口秀大会5》 比较火,所以我就抓去了一份《脱5》的豆瓣短评数据集,样例如下表所示:{  "comment_time": "2022-11-02 22:37:41",   "comment_score": "很差",   "comment_vote": "21",   "comme

2022-11-08 14:32:43 2459

原创 分享 2022中国行政区划文本数据集(json格式)

相信很多做自然语言处理、知识图谱、数据分析的小伙伴们都需要一份中国行政区划数据词典。行政区划分为省、市、县、乡(街道)、村(社区)等五级,如下表所示:城市{"loc_name": ["北京市"], "loc_code": "110000000000"}{"loc_name": ["北京市", "市辖区"], "loc_code": "110100000000"}{"loc_name": ["北京市", "市辖

2022-10-23 23:18:01 4306

原创 文本货币金额抽取与解析,JioNLP

给定一段文本,提取其中的货币金额字符串,并将所有的金额做标准化。JioNLP 中文预处理与解析工具包https://github.com/dongrixinyu/JioNLP其中,jio.ner.extract_money 与 jio.parse_money 可以从一段文本中抽取出货币金额,并将结果进行标准化。我们不妨看一个例子:给定一段文本如:海航亏损7000万港元出售香港公寓。12月12日,据《香港经济日报》报道,海航集团将持有的部分位于香港铜锣湾Yoo Residence大楼中的物业以

2021-10-25 20:21:54 1961

原创 文本清洗?一个工具搞定!Python版 NLP 文本清洗工具

文本清洗是一个繁琐复杂的工作,不论是对于NLP 的开发者,还是其它领域工作者。这部分工作可以由 JioNLP 工具包一键搞定!!!⭐ 源码戳这里 => JioNLPhttps://github.com/dongrixinyu/JioNLP⭐ (在线文本清洗)戳这里 => 在线文本清洗使用工具包安装 Installationpython>=3.6github 版本略领先于 pip$ git clone https://github.com/dongrixinyu/Jio.

2021-09-11 23:48:05 6311 2

原创 提取身份证号,解析身份证号出生年月、出生地、性别 的Python 实现与在线使用工具

从一篇文本中,抽取出所包含的身份证号并解析出其中的 省、市、县、出生年月、性别、校验码。 这个功能,JioNLP帮你实现源码在 github:JioNLPhttps://github.com/dongrixinyu/JioNLP在线使用版请戳 => 抽取并解析身份证号代码安装方法:安装 Installationpython>=3.6github 版本略领先于 pip$ git clone https://github.com/dongrixinyu/JioN.....

2021-09-11 23:16:23 2692

原创 python 实现的 成语接龙

点这里安装 => 成语接龙 JioNLP安装 Installationpython>=3.6$ git clone https://github.com/dongrixinyu/JioNLP$ cd ./JioNLP$ pip install .成语接龙idiom_solitaire给定一条成语,返回其尾字为首的成语。import jionlp as jioidiom = input('input: ')n = 0while n < 10: idiom

2020-12-18 17:25:26 1683 3

原创 JioNLP:预处理、信息抽取、数据增强、NLP简单功能与词典,找它就对了!

JioNLP安装方式 pip install jionlp在线试用网站 www.jionlp.com来看看 JioNLP 能干什么?功能主要包括:文本清洗,去除HTML标签、异常字符、冗余字符,转换全角字母、数字、空格为半角,抽取及删除E-mail及域名、电话号码、QQ号、括号内容、身份证号、IP地址、URL超链接、货币金额与单位,解析身份证号信息、手机号码归属地、座机区号归属地,按行快速读写文件,(多功能)停用词过滤,(优化的)分句,地址解析,新闻地域识别,...

2020-10-30 16:35:06 7688 6

原创 NLP自然语言处理的文本数据增强——回译(内含python工具包)

回译自然语言处理过程经常面临缺乏数据,因此需要进行数据增强。其中,回译,即将中文翻译成外文,再翻译回中文的操作可以扩展数据集,是一种好办法。这里直接提供工具包NLP工具包-回译数据增强,可以直接调用实现回译增强,而且返回的数据非常丰富。NLP工具包-回译数据增强提供了多个大厂的公开免费翻译接口:包括百度、腾讯、谷歌、有道、讯飞 ,数据结果非常丰富;你可以自己到各个大厂的 api 官方页面申请appid 和 密钥,拿到属于自己的翻译资源;如果你可以获取到大厂的 多个 appid 和密钥,那么直接

2020-09-18 10:47:25 5097 2

原创 给定一篇文本(新闻),确定其归属地(地名)的python工具

简介给定一篇文章,可包含标题和正文(或仅标题,仅正文),确定其归属地(地名)。结果标准:区分国内国外,国外到国家名一级国内到省市一级安装使用 python3$ git clone https://github.com/dongrixinyu/location_detect.git$ cd location_detect$ pip install .使用方法样......

2019-07-22 21:25:05 1149 3

原创 【机器学习】K近邻算法 - 性能分析

Knn算法是一种简单的监督学习算法,虽然性能并不算非常出色,但是可解释性非常强。理论上可以证明,Knn可以以任意精度拟合真实分类高维曲面。 一、Knn算法分析1、该算法在处理样本分布不均匀的时候效果比较差。比如正类的样本数量为1000,反类的样本数量为100,即正反两类的比例悬殊,当测试一个数据样本的时候,很有可能它虽然在距离上靠近反类,但是由于相邻的样本反类太少,正类太多,导致预测不

2018-01-11 23:04:48 1285

原创 【机器学习】K均值算法 - 性能分析

K均值算法是最基础的一种聚类算法。具体算法描述就不提了,资料实在太多,这里说一下它的特点和局限性。 一、K均值的特点1、容易陷入局部最小值之所以陷入局部最小值,是因为初始值设置的有问题,即初始的K个base点在属性空间中的位置直接影响了最终的聚类结果。所以可以随机多次进行K均值聚类,选取各种不同的初始值,产生不同的聚类结果。选择一个代价函数(代价函数就是总的距离差的平方和)最小的一

2018-01-11 23:00:41 1216

原创 【机器学习】支持向量机SVM - 对SVM与核函数的理解及sklearn参数详解

支持向量机是在深度学习流行开来之前,性能表现最好的一种机器学习方法。在看这篇blog之前,默认读者已经有了对支持向量机的基本概念的认识。一、支持向量机的进一步理解支持向量机的优化目标在逻辑回归优化目标基础上进一步产生的。具体优化目标不说了,参看各种svm的书籍和博客。 1、提升线性回归值的划分要求具体来讲,逻辑回归的优化目标是使用sigmoid函数将线性回归 weigh

2018-01-11 22:28:22 14153 2

原创 【机器学习】线性回归模型分析

具体原理不讲了,线性回归模型,代价损失函数 COST是均方误差,梯度下降方法。属性取值。模型的属性取值设置需要根据每一个参数的取值范围来确定,将所有的属性的取值统一正则化normalization,统一规定在0~1的范围,或者-1~1的范围内,这样在进行线性回归时不会造成额外的回归开销。另外,正则化的方法有很多,常见的方法就是线性正则化,这是在不知道属性对预测值的影响的前提下才这么做的。之

2018-01-04 16:31:33 921

原创 【算法】汉诺塔 Python 版

题目: 汉诺塔给出最优解,如果对汉诺塔的定义有不了解,请翻看数据结构教材。分析: 算法当然还是递归解了,即把n个汉诺塔盘子分解成 n - 1 个盘子的移动和一个底层盘子的移动,这样一来,问题就成了一连串的递归,然后就可以逐步求解了。 当然了,汉诺塔还有进阶问题,此处先不讨论,随后补上吧。代码:#!usr/bin/python2.7# -*- coding=utf8 -*-# @Time

2018-01-03 22:39:48 1294

原创 【算法】斐波那契数列的计算方法

题目: 计算斐波那契数列。具体什么是斐波那契数列,那就是0,1,1,2,3,5,8,13,21,34,55,89,144,233。要求: 时间复杂度尽可能少分析: 给出了三种方法:方法1:递归的方法,在这里空间复杂度非常大。如果递归层数非常多的话,在python里需要调整解释器默认的递归深度。默认的递归深度是1000。我调整了半天代码也没有调整对,因为递归到1000已经让我的电脑的内存有些撑

2018-01-03 19:14:20 7488

原创 Python不常见特性

之所以总结这些不常见的特性,原因主要有以下: 1、python码农写代码的时候本身有些问题的确面对的比较少,一旦遇到这些问题就需要百度。 2、百度的时候也是参考别人的blog,毕竟是中国人,直接去看官网文档的还是少。一般别人的 中文blog 里给出的解决方法也是比较低效的,不够python,代码量并没有减少到最低,而且效率往往不够高效。 3、总结一下方便以后使用,这是最根本的。当然了,面向目的

2017-12-31 22:59:12 367

原创 【操作系统】OS接口

操作系统接口一、用户接口用户接口不多谈了,整天就在和接口打交道。linux中的shell既是一种程序设计语言,又是一种命令解释器程序,又是一种命令语言。我有shell编程的书,但是一页都没翻过。只会shell命令,不懂shell编程。二、程序接口即系统调用,操作系统提供给应用程序使用的。系统调用分为特权指令(能在内核态运行的指令,如设置系统时间,关中断,启动外设,转换执行状态),非特权指令(仅能在用

2017-12-25 22:36:04 1533

原创 【操作系统】存储器管理 知识要点

存储器的结构已经在计算机系统组成中说过了。此处不表。包括哪几部分:寄存器、高速缓存、内存、外存缓存、外存、光盘软盘等。一、程序的上机过程程序在处理机上运行,前提是把程序放到处理机上,让处理机知道。这个处理包括:编译(产生目标模块Object Mudule),链接(Linker和库函数文件链接在一起,形成一个完整的装入模块),装入(Loader将装入模块通过装入程序放在内存上,此时处理机可以读取数据开

2017-12-25 22:33:03 623

原创 构造一个特殊栈,实现方法getmin,返回栈中的最小元素 Python版

题目: 构造一个栈结构,其中需要实现一个方法,该方法 getmin,返回栈中的最小的元素。要求: 时间复杂度为o(1)。分析: 之前我写过了用python写一个栈数据结构,代码在这里: 队列和栈的Python实现在这里,需要以时间复杂度 o(1)完成查找,也就是说,必须以空间换时间。因此,构造一个栈,这个栈的栈顶必须保持始终都是原始栈的最小值。在原始栈插入和弹出元素时,这个辅助栈必须跟着配合

2017-12-22 23:22:13 1013

原创 从整数数组中找出唯二奇数次的数字 Python版

题目: 给定一个数组,数据都是整数,其中只有2个数字出现了奇数次,其它都是偶数次。找出那2个奇数次的数字。要求: 时间复杂度o(n),空间复杂度为o(1)。分析: 如果有两个数字出现了奇数次,比如是 a 和 b,则最终 odd 结果为 a^b,但其中一定有差别。因为数字不一样,所以其异或结果一定不是0,那么也就是其中有一位是1,不论哪一位是1,把数组中所有的那一位是1的数字全部异或,结果就是其

2017-12-22 23:16:20 879

原创 从数组中找出出现奇数次的那个数 Python版

题目: 给定一个数组,数据都是整数,其中只有一个数字出现了奇数次,其它都是偶数次。找出那个奇数次的数字。要求: 时间复杂度o(n),空间复杂度为o(1)。分析: 如果按照常规思路,那么这个题真的比较难操作,至少空间复杂度较高。但是采用位运算,异或即可轻松解决。 整数 n 与 0 的异或结果为 n。整数 n 与 n的异或结果为0,异或运算满足交换律和结合律总体来说,位运算相关的算法题总有点骚操

2017-12-22 23:10:51 4265

原创 统计整数的二进制表达里有多少个1 Python版

题目: 给定一个整数,统计其二进制表示里有多少个1。分析: 方法1:循环迭代该数的二进制的每一位,复杂度是 o(log2 n),n就是该整数 方法2:复杂度仅仅是1的个数。方法是采用位运算抹去0不需要处理。这里的位运算表达式不光在这里见到,其它地方的用处也非常多。再者,计算机组成原理里有详细的对加减乘数四则运算的讲解,如何表示负数、小数等等,不过我都忘了……这些运算与位运算息息相关。单靠位运算

2017-12-22 23:07:14 3354

原创 不用额外变量交换两个整数值 Python版

题目如标题所述。分析:采用位运算,这样的代码指令和利用临时变量一样多,但是位运算明显比赋值略微复杂一点点。毕竟赋值不需要经过计算。代码: def exchage_nums(a, b): ''' 不用额外变量交换两个整数值,空间节省了,时间负责度略高一些。 ''' a = a ^ b b = a ^ b

2017-12-22 23:01:01 868

原创 【操作系统】进程和线程

进程是操作系统中最核心的概念,因为它代表了操作系统最根本的价值,即多个程序的并发,以及人机交互处理,像其它的文件管理、io管理、存储器管理等,都是在处理机管理基础上发展而来的。一、进程基本概念操作系统的主要作用就是为了实现并发,但是如果对并发的程序没有任何监督和管理,并发容易造成间断程序、程序失去封闭性、不可再现性(即程序异步流程出错)。所以引入进程来保证正确性。操作系统单独创建了进程这样一种资源,

2017-12-22 22:58:01 308

原创 【操作系统】概述

这篇主要是综述总结一下操作系统的基本概念,了解操作系统OS到底在做哪些工作。之所以写这一篇blog,主要是因为我长期以来都没有搞懂OS到底在做些什么工作。毕竟从接触计算机开始,就在使用windows系统,进程啊,线程啊这些东西我一直以为是理所当然的;另一方面,操作系统毕竟是非常抽象的,在我学完单片机之后,对计算机有了基本的认识,而操作系统是个什么东西,要比计算机更抽象,难以理解;再者,我本科的时候没

2017-12-22 22:19:43 439

原创 【算法】大数据与空间限制

这篇blog 没有代码,主要是总结了一下处理大数据和有限内存情况下的一般解题思路。很多的代码面试题都给出了数十亿的数据量,或整数,或字符串,再给出1G甚至小到10M的内存空间,让在苛刻条件下完成搜索和遍历,并输出某些结果。这样的问题叫做大数据和空间限制问题。此类问题一般都没有时间限制,因为时间和空间是相互制约和矛盾的,如果想要时间复杂度降低,很多情况下需要占用较大的内存空间,比如归并排序,而如果内存

2017-12-22 21:39:21 421

原创 【机器学习】决策树 总结

具体的细节概念就不提了,这篇blog主要是用来总结一下决策树的要点和注意事项,以及应用一些决策树代码的。一、决策树的优点:易于理解和解释。数可以可视化。也就是说决策树属于白盒模型,如果一个情况被观察到,使用逻辑判断容易表示这种规则。相反,如果是黑盒模型(例如人工神经网络),结果会非常难解释。几乎不需要数据预处理。其他方法经常需要数据标准化,创建虚拟变量和删除缺失值。在sklearn中的决策树还不

2017-12-15 00:15:03 6710

原创 【数据库】SQL常用命令语法 初级篇

由于SQL学习的时候我是采用了MySQL,所以这里我就按照MySQL里的语法命令来操作,其它也差不多。这里主要是初级的语法语句,最关键的就是查询语句。还有其它的没有涉及,包括存储过程、触发器、事件、过程编程、MySQL和Oracle等的比较。一、MySQL登录退出mysql -uroot -V -hlocalhost -p12345678 --登录,“--”表示注释说明exit -- 退出提示

2017-12-14 19:32:26 862

原创 【数据结构与算法】刷题汇总 Python 版

我的BLOG里写了一部分算法和数据结构,题目都是从网上和书上找的。当然一下这些并不全面,我打算利用今后的时间把各类的算法题都用Python写一遍(因为我主要是用Python),尽可能囊括所有的算法题。写这些题并不是目的,主要还是为了能够提升自己的数据结构和算法的水平,以及码代码的速度和熟练度。所有的代码都提交到了我的 github 上面:冬日新雨的github:数据结构和算法刷题代码下载1、字符串:

2017-12-11 17:45:02 20009 2

原创 括号字符串的相关问题 Python 版

题目:1、给定一个字符串,判断这个字符串是不是有效的括号字符串,也就是满足数学算式可算性。比如,str=”(()(())())”,返回 True,给定str = “(()((())(())”,返回False。如果括号字符串中掺杂了其它的字符,则返回False 2、给定一个括号字符串,找出其中最大的子串长度,比如:给定str = “(()((())(())”,返回 8。分析:对于问题一:有两种方

2017-12-11 17:25:17 1666 2

原创 求数组中两个字符串的最小距离 Python 版

题目:给定一个数组 strs,其中的数据都是字符串,给定两个字符串 str1,str2。如果这两个字符串都在 strs数组中,就返回它们之间的最小距离;如果其中任何一个不在里面,则返回 -1;如果两个字符串相等,则返回 0。例如:给定[‘*’,’3’,’*’,’5’,’10’,’9’,’7’,’1’,’*’],再给定两个字符串’* ‘和’9’,通过函数求得返回值 3。分析:有两种方法, 方法1

2017-12-11 13:04:10 7578 2

原创 【数据库】基础知识要点

不论做机器学习,还是后台开发,都需要了解数据库的基本知识,这一篇blog主要是总结数据库的一些基本概念。并不是为了讲解,重点就是总结梳理。数据库主要是面向业务逻辑的,所以为了满足前端业务对数据的需求,数据库管理系统负责完成数据的定义、阻止、存储、管理、操作、事务管理等功能。所以数据库的学习内容里,最核心的就是数据库管理系统DBMS。一、数据库的数据组织模型与模式层级划分数据库对数据的组织主要分为层

2017-12-09 23:02:52 4550 1

原创 八皇后问题 Python 版

题目:给定一个 N*N 正方形棋盘,在上面放置 N个棋子,又叫皇后,使每两个棋子都不在同一条横线上、竖线上、斜线上。一般我们都讨论8皇后,但是只要N > 4,都会存在解的。分析:方法1:根据定义来处理,即每往棋盘中放置皇后的时候,都要判断哪些位置可以放新加入的皇后,而哪些地方如果放置皇后的话,会造成冲突。我下面写的这个代码就是基于此。 方法2、我看了下别人的优化,主要是采用位运算来实现计算复杂

2017-12-09 21:29:11 1590

原创 求两数的最大公约数 Python 版

题目:给定两个自然数,求这两个数的最大公约数。分析:单看题目的话,非常简单,我们可以循环遍历自然数,如果能够整除两个自然数,就把这个数记下来,在这些记录中找到最大的一个。 但是这样做有几个缺点:一是做除法计算量比较大,二是遍历所有自然数完全没有必要。另外,如果能够循环,还是不要递归,因为Python的函数递归最大栈空间是1000(如果我没有记错的话),如果数字大一些,很容易出现爆栈。所以在这

2017-12-09 21:20:54 3346

原创 【数据结构】外部排序总结 + 构建败者树 Python 版

外部排序又称大数据文件排序。我看了教材之后,依然对外部排序有些模棱两可的误解,搜了一些资料才发现问题出在哪里。一、多路平衡归并排序:外排序的一个例子是外归并排序(External merge sort),它读入一些能放在内存内的数据量,在内存中排序后输出为一个顺串(即是内部数据有序的临时文件),处理完所有的数据后再进行归并。比如,要对 900 MB 的数据进行排序,但机器上只有 100 M

2017-12-08 22:55:45 2131

Java中类的反射机制

详细介绍Java中类的反射机制,并附带实例程序供参考使用。

2013-12-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除