在我们的日常生活和工作中,从文本中提取时间是一项非常基础却重要的工作,因此,接下来将介绍如何从文本中有效地提取时间。
  举个简单的例子,我们需要从下面的文本中提取时间:

6月28日,杭州市统计局权威公布《2019年5月月报》,杭州市医保参保人数达到1006万,相比于2月份的989万,三个月暴涨16万人参保,傲视新一线城市。

我们可以从文本有提取6月28日2019年5月, 2月份这三个有效时间。
  通常情况下,较好的解决思路是利用深度学习模型来识别文本中的时间,通过一定数量的标记文本和合适的模型。本文尝试利用现有的NLP工具来解决如何从文本中提取时间。

本文使用的工具为哈工大的pyltp,可以在Python的第三方模块中找到,实现下载好分词模型cws.model和词性标注pos.model这两个模型文件。
  Python代码,如下:

import os
from pyltp import Segmentor
from pyltp import Postaggerclass LTP(object):def __init__(self):cws_model_path = os.path.join(os.path.dirname(__file__), 'cws.model')  # 分词模型路径,模型名称为‘cws.model’pos_model_path = os.path.join(os.path.dirname(__file__), 'pos.model')  # 词性标注模型路径,模型名称为‘pos.model’self.segmentor = Segmentor()  # 初始化实例self.segmentor.load(cws_model_path)  # 加载模型self.postagger = Postagger()  # 初始实例化self.postagger.load(pos_model_path)  # 加载模型#  分词def segment(self, text):words = list(self.segmentor.segment(text))return words#  词性标注def postag(self, words):postags = list(self.postagger.postag(words))return postags#  获取文本的时间def get_time(self, text):#  开始分词及词性标注words = self.segment(text)postags = self.postag(words)time_list = []i = 0for tag, word in zip(postags, words):if tag == 'nt':j = iwhile postags[j] == 'nt' or words[j] in ['至', '到']:j += 1time_list.append(''.join(words[i: j]))i += 1#  去重子字符串的情形remove_list = []for i in time_list:for j in time_list:if i != j and i in j:remove_list.append(i)text_time_list = []for item in time_list:if item not in remove_list:text_time_list.append(item)# print(text_time_list)return text_time_list#  释放模型def free_ltp(self):self.segmentor.release()self.postagger.release()if __name__ == '__main__':ltp = LTP()#  输入文本sent = '6月28日,杭州市统计局权威公布《2019年5月月报》,杭州市医保参保人数达到1006万,相比于2月份的989万,三个月暴涨16万人参保,傲视新一线城市。'time_list = ltp.get_time(sent)ltp.free_ltp()#  输出文本中提取的时间print('提取时间:%s' % str(time_list))

运行结果:

其它测试用例:

此后,6月28日、7月9日和7月11日下午,武威市政协、市人大、市政府分别召开坚决全面彻底肃清火荣贵流毒和影响专题民主生活会。

提取时间:['此后', '6月28日', '7月9日', '7月11日下午']

2006年,上海的国内生产总值达到10296.97亿元,是中国内地第一个GDP突破万亿元的城市。2008年,北京GDP破万亿。两年后,广州GDP超过万亿。2011年,深圳、天津、苏州、重庆4城的GDP也进入了万亿行列。武汉、成都在2014年跻身“万亿俱乐部”,杭州、南京和青岛、无锡和长沙的GDP依次在2015年、2016年和2017年过万亿。宁波和郑州则成为2018年万亿俱乐部的新成员。
提取时间:['2006年', '2008年', '2011年', '2014年', '2015年', '2016年', '2018年']

自然语言处理(NLP)之从文本中提取时间相关推荐

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

    时常我们需要从文本中,提取出时间信息,并将这个信息标准化,例如: [新华社报2021-9-9]国家统计局今天发布了2021年8月份全国CPI(居民消费价格指数) 需要从中抽取出 2021-9-9 和 ...

  2. 一种精确从文本中提取URL的思路及实现

    在今年三四月份,我接受了一个需求:从文本中提取URL.这样的需求,可能算是非常小众的需求了.大概只有QQ.飞信.阿里旺旺等之类的即时通讯软件存在这样的需求.在研究这个之前,我测试了这些软件这块功能,发 ...

  3. 从文本中提取知识图谱代码比较好的,代码对齐,可以使用的

    从文本中提取知识图谱代码比较好的,代码对齐,可以使用的 https://blog.csdn.net/fendouaini/article/details/102987373 https://blog. ...

  4. php 日期时间 取日期,从PHP中的文本中提取日期,时间和日期范围

    我正在构建一个本地事件日历,它采用RSS提要和网站抓取并从中提取事件日期. 我之前已经问过如何从PHP here中的文本中提取日期,并在MarcDefiant时获得了一个很好的答案: function ...

  5. 从html富文本中提取纯文本

    其实从html富文本中提取纯文本很简单,富文本基本上是使用html标签给文本加上丰富多彩的样式. 所以只需要将富文本字符串中的"<.....>"标签剔除,即可得到纯文本 ...

  6. Excel从文本中提取数值

    Excel从文本中提取数值 前言 一.left.right.mid函数 left(<文本内容>,<从左边取的文本长度>) right(<文本内容>,<从右边取 ...

  7. 计算机中公式提取用什么函数,技巧:Excel快速从文本中提取单元格中的数字函数公式...

    有时,我们将一些文本导入Excel.这些文本包含中文,字母,数字,并且全部堆积在一个单元格中.但是,我们只需要数字.那么,如何快速从中文,字母和数字中提取数字呢?在这里,王小老师将为您分享一些实用的函 ...

  8. Excel如何从复杂文本中提取汉字

    前几天有位漂亮的小姐姐问我,有没有从文本中提取汉字的方法而且不要使用函数,函数记不住.为此我绞尽脑汁终于想出两种方法,今天给大家分享一下. 1.方法一 1.如下图,是我随便填写的一些文本,其中包含汉字 ...

  9. python --cpca(从文本中提取省市区)

    安装 pip install cpcawindows报错的话 c++构建工具补全下动态链接库 或 pip install cpca-fix(替代) github https://github.com/ ...

最新文章

  1. 钢铁飞龙每个人的机器人_让人震撼的特斯拉超级工厂全自动生产线
  2. WinForm下ComboBox获取绑定对象集的SelectedValue补充
  3. linux进程--fork详解(三)
  4. Dockerfile 之 ARG指令详解及示例
  5. java插入时间 mssql_JAVA操作数据库Datetime数据
  6. python按照日期筛选数据_日期时间范围上的Python筛选器?
  7. 路由器性能测试工具_小米路由器AX3600与AX1800 MESH 实测
  8. Oracle闪回技术(Flashback)
  9. Docker | 第四章:Dockerfile简单介绍及使用
  10. 大三-软件工程复习-自我理解后制作
  11. 电脑怎么截图,4种简单常用的截图方法
  12. Winxp不幸中毒以及手杀过程
  13. 交中IB课程中心2022届早申阶段录取成果汇总
  14. CTFHub 备份文件下载
  15. Python requests模块高级用法
  16. 数据分析 —— 数据挖掘是什么、能干嘛、怎么做
  17. 可爱猫+python3+Flask+aiohttp简单搭建微信机器人
  18. 2022年,送给程序员的运动健身知识
  19. 服务器宕机 自动重启,服务器宕机重启利弊
  20. RedHat设置静态IP

热门文章

  1. 基于深度学习和传统算法的人体姿态估计,技术细节都讲清楚了
  2. 这些算法工程师,他们真的是太难了!
  3. 里程碑式成果Faster RCNN复现难?我们试了一下 | 附完整代码
  4. 70亿美金!英伟达欲竞购这家以色列芯片公司!
  5. AI工程的实践者:普元积极将场景落地,为企业提供智能化解决方案
  6. 前沿 | DeepMind 最新研究——神经算术逻辑单元,有必要看一下!
  7. 微软小冰作词又作曲,网友:要出道的节奏吗?
  8. Spring Boot 面试杀手锏:自动配置原理
  9. 面试官:说一下线程池内部工作原理?
  10. MySQL数据库时间类型datetime、bigint、timestamp的查询效率比较