time_npl_timebeginperiod

time_npl_timebeginperiod文章目录作用1准备1.1LunarSolarConverter.py1.2RangeTimeEnum.py1.3StringPreHandler.py1.4TimeNoemalizer.py1.5TimeUnit.py2测试3时间的正则表达式regex.txt信息来源Coconlp作用用于句子中时间词的抽取和转换res=tn.parse(target=u’过十分钟’)#target为待分析语句,timeBase为基准时间默认是当前时间print(res)

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

信息来源Coconlp

作用

用于句子中时间词的抽取和转换

    res = tn.parse(target=u'过十分钟') # target为待分析语句,timeBase为基准时间默认是当前时间
    print(res)
    res = tn.parse(target=u'2013年二月二十八日下午四点三十分二十九秒', timeBase='2013-02-28 16:30:29') # target为待分析语句,timeBase为基准时间默认是当前时间
    print(res)
    res = tn.parse(target=u'我需要大概33天2分钟四秒', timeBase='2013-02-28 16:30:29') # target为待分析语句,timeBase为基准时间默认是当前时间
    print(res)
    res = tn.parse(target=u'今年儿童节晚上九点一刻') # target为待分析语句,timeBase为基准时间默认是当前时间
    print(res)
    res = tn.parse(target=u'2个小时以前') # target为待分析语句,timeBase为基准时间默认是当前时间
    print(res)
    res = tn.parse(target=u'晚上8点到上午10点之间') # target为待分析语句,timeBase为基准时间默认是当前时间
    print(res)

Jetbrains全家桶1年46,售后保障稳定

返回结果:

    {"timedelta": "0 days, 0:10:00", "type": "timedelta"}
    {"timestamp": "2013-02-28 16:30:29", "type": "timestamp"}
    {"type": "timedelta", "timedelta": {"year": 0, "month": 1, "day": 3, "hour": 0, "minute": 2, "second": 4}}
    {"timestamp": "2018-06-01 21:15:00", "type": "timestamp"}
    {"error": "no time pattern could be extracted."}
    {"type": "timespan", "timespan": ["2018-03-16 20:00:00", "2018-03-16 10:00:00"]}

1 准备

1.1 LunarSolarConverter.py

1、阴历、阳历的初始化
2、阳历、阴历的数据表、以及额外数据(如离元旦多少天)
3、阴历、阳历的转换

1.2 RangeTimeEnum.py

枚举范围时间的默认时间点

    day_break = 3  # 黎明
    early_morning = 8  # 早
    morning = 10  # 上午
    noon = 12  # 中午、午间
    afternoon = 15  # 下午、午后
    night = 18  # 晚上、傍晚
    lateNight = 20  # 晚、晚间
    midNight = 23  # 深夜

1.3 StringPreHandler.py

字符串的预处理

1、删除一字符串中所有匹配某一规则字串,清理一个字符串中的空白符和语气助词
2、将字符串中所有的用汉字表示的数字转化为用阿拉伯数字表示的数字

"这里有一千两百个人,六百零五个来自中国"可以转化为"这里有1200个人,605个来自中国"
一六零加一五八可以转化为160+158

3、将[零-九]正确翻译为[0-9]

1.4 TimeNoemalizer.py

时间表达式识别

1、对一些不规范的表达做转换,如下个周末改为下周末,如中旬改为15号
2、确定一个基准时间,如系统时间作为基准,来获取当前时间,如,公告有效时间3天,即从公告发布时间延续三天。获取新的时间单元数组
3、待匹配字符串的清理空白符和语气助词以及大写数字转化的预处理
4、时间上下文: 前一个识别出来的时间会是下一个时间的上下文,用于处理:周六3点到5点这样的多个时间的识别,第二个5点应识别到是周六的。
5、过滤timeUnit中无用的识别词。无用识别词识别出的时间是1970.01.01 00:00:00(fastTime=0)

1.5 TimeUnit.py

时间语句分析
1、判断是时间点还是时间区间
2、年-规范化方法–识别时间表达式单元的年字段
3、月-规范化方法–识别时间表达式单元的月字段
4、月-日 兼容模糊写法:识别时间表达式单元的月、日字段
5、日-规范化方法:识别时间表达式单元的日字段
6、时-规范化方法:识别时间表达式单元的时字段

    # * 对关键字:早(包含早上/早晨/早间),上午,中午,午间,下午,午后,晚上,傍晚,晚间,晚,pm,PM的正确时间计算
        # * 规约:
        # * 1.中午/午间0-10点视为12-22点
        # * 2.下午/午后0-11点视为12-23点
        # * 3.晚上/傍晚/晚间/晚1-11点视为13-23点,12点视为0点
        # * 4.0-11点pm/PM视为12-23点

7、分-规范化方法:识别时间表达式单元的分字段
8、特殊形式的规范化方法-识别特殊形式的时间表达式单元的各个字段
9、处理未来时间:更新timeBase使之具有上下文关联性
10、根据上下文时间补充时间信息

2 测试

from  cocoNLP.config.basic.time_nlp.TimeNormalizer import TimeNormalizer # 引入包

tn = TimeNormalizer()

res = tn.parse(target=u'晚上8点到上午10点之间') # target为待分析语句,timeBase为基准时间默认是当前时间
print(res)

res = tn.parse(target=u'2013年二月二十八日下午四点三十分二十九秒', timeBase='2013-02-28 16:30:29') # target为待分析语句,timeBase为基准时间默认是当前时间
print(res)

res = tn.parse(target=u'我需要大概33天2分钟四秒', timeBase='2013-02-28 16:30:29') # target为待分析语句,timeBase为基准时间默认是当前时间
print(res)

res = tn.parse(target=u'今年儿童节晚上九点一刻') # target为待分析语句,timeBase为基准时间默认是当前时间
print(res)

res = tn.parse(target=u'三日') # target为待分析语句,timeBase为基准时间默认是当前时间
print(res)

res = tn.parse(target=u'7点4') # target为待分析语句,timeBase为基准时间默认是当前时间
print(res)

res = tn.parse(target=u'今年春分')
print(res)

测试结果
在这里插入图片描述

3 时间的正则表达式regex.txt

((前|昨|今|明|后)(天|日)?(早|晚)(晨|上|间)?)|(\d+个?[年月日天][以之]?[前后])|(\d+个?半?(小时|钟头|h|H))|(半个?(小时|钟头))|(\d+(分钟|min))|([13]刻钟)|((上|这|本|下)+(周|星期)([一二三四五六七天日]|[1-7])?)|((周|星期)([一二三四五六七天日]|[1-7]))|((早|晚)?([0-2]?[0-9](点|时)半)(am|AM|pm|PM)?)|((早|晚)?(\d+[::]\d+([::]\d+)*)\s*(am|AM|pm|PM)?)|((早|晚)?([0-2]?[0-9](点|时)[13一三]刻)(am|AM|pm|PM)?)|((早|晚)?(\d+[时点](\d+)?分?(\d+秒?)?)\s*(am|AM|pm|PM)?)|(大+(前|后)天)|(([零一二三四五六七八九十百千万]+|\d+)世)|([0-9]?[0-9]?[0-9]{2}\.((10)|(11)|(12)|([1-9]))\.((?<!\\d))([0-3][0-9]|[1-9]))|(现在)|(届时)|(这个月)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)日)|(晚些时候)|(今年)|(长期)|(以前)|(过去)|(时期)|(时代)|(当时)|(近来)|(([零一二三四五六七八九十百千万]+|\d+)夜)|(当前)|(日(数|多|多少|好几|几|差不多|近|前|后|上|左右))|((\d+)点)|(今年([零一二三四五六七八九十百千万]+|\d+))|(\d+[::]\d+(分|))|((\d+):(\d+))|(\d+/\d+/\d+)|(未来)|((充满美丽、希望、挑战的)?未来)|(最近)|(早上)|(早(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(日前)|(新世纪)|(小时)|(([0-3][0-9]|[1-9])(日|号))|(明天)|(([0-3][0-9]|[1-9])[日号])|((数|多|多少|好几|几|差不多|近|前|后|上|左右)周)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)年)|([一二三四五六七八九十百千万几多]+[天日周月年][后前左右]*)|(每[年月日天小时分秒钟]+)|((\d+分)+(\d+秒)?)|([一二三四五六七八九十]+来?[岁年])|([新?|\d*]世纪末?)|((\d+)时)|(世纪)|(([零一二三四五六七八九十百千万]+|\d+)岁)|(今年)|([星期周]+[一二三四五六七])|(星期([零一二三四五六七八九十百千万]+|\d+))|(([零一二三四五六七八九十百千万]+|\d+)年)|([本后昨当新后明今去前那这][一二三四五六七八九十]?[年月日天])|(早|早晨|早上|上午|中午|午后|下午|晚上|晚间|夜里|夜|凌晨|深夜)|(回归前后)|((\d+点)+(\d+分)?(\d+秒)?左右?)|((\d+)年代)|(本月(\d+))|(第(\d+)天)|((\d+)岁)|((\d+)年(\d+)月)|([去今明]?[年月](底|末))|(([零一二三四五六七八九十百千万]+|\d+)世纪)|(昨天(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(年度)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)星期)|(年底)|([下个本]+赛季)|(今年(\d+)月(\d+)日)|((\d+)月(\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午(\d+)时)|(今年晚些时候)|(两个星期)|(过去(数|多|多少|好几|几|差不多|近|前|后|上|左右)周)|(本赛季)|(半个(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(稍晚)|((\d+)号晚(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(今(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+)年)|(这个时候)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)个小时)|(最(数|多|多少|好几|几|差不多|近|前|后|上|左右)(数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(凌晨)|((\d+)年(\d+)月(\d+)日)|((\d+)个月)|(今天早(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(第[一二三四五六七八九十\d+]+季)|(当地时间)|(今(数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)年)|(早晨)|(一段时间)|([本上]周[一二三四五六七])|(凌晨(\d+)点)|(去年(\d+)月(\d+)日)|(年关)|(如今)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)小时)|(当晚)|((\d+)日晚(\d+)时)|(([零一二三四五六七八九十百千万]+|\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(每年(\d+)月(\d+)日)|(([零一二三四五六七八九十百千万]+|\d+)周)|((\d+)月)|(农历)|(两个小时)|(本周([零一二三四五六七八九十百千万]+|\d+))|(长久)|(清晨)|((\d+)号晚)|(春节)|(星期日)|(圣诞)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)段)|(现年)|(当日)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)分钟)|(\d+(天|日|周|月|年)(后|前|))|((文艺复兴|巴洛克|前苏联|前一|暴力和专制|成年时期|古罗马|我们所处的敏感)+时期)|((\d+)[年月天])|(清早)|(两年)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(昨天(数|多|多少|好几|几|差不多|近|前|后|上|左右)午(\d+)时)|(([零一二三四五六七八九十百千万]+|\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(今(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+))|(圣诞节)|(学期)|(\d+来?分钟)|(过去(数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(星期天)|(夜间)|((\d+)日凌晨)|(([零一二三四五六七八九十百千万]+|\d+)月底)|(当天)|((\d+)日)|(((10)|(11)|(12)|([1-9]))月)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)(数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(今年(\d+)月份)|(晚(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+)时)|(连[年月日夜])|((\d+)年(\d+)月(\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|((一|二|两|三|四|五|六|七|八|九|十|百|千|万|几|多|上|\d+)+个?(天|日|周|月|年)(后|前|半|))|((胜利的)日子)|(青春期)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(早(数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)点(数|多|多少|好几|几|差不多|近|前|后|上|左右))|([0-9]{4}年)|(周末)|(([零一二三四五六七八九十百千万]+|\d+)个(数|多|多少|好几|几|差不多|近|前|后|上|左右)小时)|(([(小学)|初中?|高中?|大学?|研][一二三四五六七八九十]?(\d+)?)?[上下]半?学期)|(([零一二三四五六七八九十百千万]+|\d+)时期)|(午间)|(次年)|(这时候)|(农历新年)|([春夏秋冬](天|季))|((\d+)天)|(元宵节)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)分)|((\d+)月(\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(晚(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+)时(\d+)分)|(傍晚)|(周([零一二三四五六七八九十百千万]+|\d+))|((数|多|多少|好几|几|差不多|近|前|后|上|左右)午(\d+)时(\d+)分)|(同日)|((\d+)年(\d+)月底)|((\d+)分钟)|((\d+)世纪)|(冬季)|(清明)(节)?|(立春)|(雨水)|(惊蛰)|(春分)|(谷雨)|(立夏)|(小满 )|(芒种)|(夏至)|(小暑)|(大暑)|(立秋)|(处暑)|(白露)|(秋分)|(寒露)|(霜降)|(立冬)|(小雪)|(大雪)|(冬至)|(小寒)|(大寒)|(青年节)|(教师节)|(中元节)|(端午)(节)?|(劳动节)|(7夕)(节)?|(建党节)|(建军节)|(初13)|(初14)|(初15)|(初12)|(初11)|(初9)|(初8)|(初7)|(初6)|(初5)|(初4)|(初3)|(初2)|(初1)|(情人节)|(母亲节)|(中和节)|(圣诞)(节)?|(中秋)(节)?|(春节)|(元宵)(节)?|(航海日)|(儿童节)|(国庆)(节)?|(植树节)|(元旦)|(重阳节)|(妇女节)|(记者节)|(年代)|(([零一二三四五六七八九十百千万]+|\d+)年半)|(今年年底)|(新年)|(本周)|(当地时间星期([零一二三四五六七八九十百千万]+|\d+))|(([零一二三四五六七八九十百千万]+|\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)岁)|(半小时)|(每周)|(([零一二三四五六七八九十百千万]+|\d+)周年)|((重要|最后)?时刻)|(([零一二三四五六七八九十百千万]+|\d+)期间)|(周日)|(晚(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(今后)|(([零一二三四五六七八九十百千万]+|\d+)段时间)|(明年)|([12][09][0-9]{2}(年度?((前|昨|今|明|后)(天|日)?(早|晚)(晨|上|间)?)|(\d+个?[年月日天][以之]?[前后])|(\d+个?半?(小时|钟头|h|H))|(半个?(小时|钟头))|(\d+(分钟|min))|([13]刻钟)|((上|这|本|下)+(周|星期)([一二三四五六七天日]|[1-7])?)|((周|星期)([一二三四五六七天日]|[1-7]))|((早|晚)?([0-2]?[0-9](点|时)半)(am|AM|pm|PM)?)|((早|晚)?(\d+[::]\d+([::]\d+)*)\s*(am|AM|pm|PM)?)|((早|晚)?([0-2]?[0-9](点|时)[13一三]刻)(am|AM|pm|PM)?)|((早|晚)?(\d+[时点](\d+)?分?(\d+秒?)?)\s*(am|AM|pm|PM)?)|(大+(前|后)天)|(([零一二三四五六七八九十百千万]+|\d+)世)|([0-9]?[0-9]?[0-9]{2}\.((10)|(11)|(12)|([1-9]))\.((?<!\d))([0-3][0-9]|[1-9]))|(现在)|(届时)|(这个月)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)日)|(晚些时候)|(今年)|(长期)|(以前)|(过去)|(时期)|(时代)|(当时)|(近来)|(([零一二三四五六七八九十百千万]+|\d+)夜)|(当前)|(日(数|多|多少|好几|几|差不多|近|前|后|上|左右))|((\d+)点)|(今年([零一二三四五六七八九十百千万]+|\d+))|(\d+[::]\d+(分|))|((\d+):(\d+))|(\d+/\d+/\d+)|(未来)|((充满美丽、希望、挑战的)?未来)|(最近)|(早上)|(早(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(日前)|(新世纪)|(小时)|(([0-3][0-9]|[1-9])(日|号))|(明天)|(\d+)月|(([0-3][0-9]|[1-9])[日号])|((数|多|多少|好几|几|差不多|近|前|后|上|左右)周)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)年)|([一二三四五六七八九十百千万几多]+[天日周月年][后前左右]*)|(每[年月日天小时分秒钟]+)|((\d+分)+(\d+秒)?)|([一二三四五六七八九十]+来?[岁年])|([新?|\d*]世纪末?)|((\d+)时)|(世纪)|(([零一二三四五六七八九十百千万]+|\d+)岁)|(今年)|([星期周]+[一二三四五六七])|(星期([零一二三四五六七八九十百千万]+|\d+))|(([零一二三四五六七八九十百千万]+|\d+)年)|([本后昨当新后明今去前那这][一二三四五六七八九十]?[年月日天])|(早|早晨|早上|上午|中午|午后|下午|晚上|晚间|夜里|夜|凌晨|深夜)|(回归前后)|((\d+点)+(\d+分)?(\d+秒)?左右?)|((\d+)年代)|(本月(\d+))|(第(\d+)天)|((\d+)岁)|((\d+)年(\d+)月)|([去今明]?[年月](底|末))|(([零一二三四五六七八九十百千万]+|\d+)世纪)|(昨天(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(年度)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)星期)|(年底)|([下个本]+赛季)|(\d+)月(\d+)日|(\d+)月(\d+)|(今年(\d+)月(\d+)日)|((\d+)月(\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午(\d+)时)|(今年晚些时候)|(两个星期)|(过去(数|多|多少|好几|几|差不多|近|前|后|上|左右)周)|(本赛季)|(半个(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(稍晚)|((\d+)号晚(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(今(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+)年)|(这个时候)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)个小时)|(最(数|多|多少|好几|几|差不多|近|前|后|上|左右)(数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(凌晨)|((\d+)年(\d+)月(\d+)日)|((\d+)个月)|(今天早(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(第[一二三四五六七八九十\d+]+季)|(当地时间)|(今(数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)年)|(早晨)|(一段时间)|([本上]周[一二三四五六七])|(凌晨(\d+)点)|(去年(\d+)月(\d+)日)|(年关)|(如今)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)小时)|(当晚)|((\d+)日晚(\d+)时)|(([零一二三四五六七八九十百千万]+|\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(每年(\d+)月(\d+)日)|(([零一二三四五六七八九十百千万]+|\d+)周)|((\d+)月)|(农历)|(两个小时)|(本周([零一二三四五六七八九十百千万]+|\d+))|(长久)|(清晨)|((\d+)号晚)|(春节)|(星期日)|(圣诞)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)段)|(现年)|(当日)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)分钟)|(\d+(天|日|周|月|年)(后|前|))|((文艺复兴|巴洛克|前苏联|前一|暴力和专制|成年时期|古罗马|我们所处的敏感)+时期)|((\d+)[年月天])|(清早)|(两年)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(昨天(数|多|多少|好几|几|差不多|近|前|后|上|左右)午(\d+)时)|(([零一二三四五六七八九十百千万]+|\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(今(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+))|(圣诞节)|(学期)|(\d+来?分钟)|(过去(数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(星期天)|(夜间)|((\d+)日凌晨)|(([零一二三四五六七八九十百千万]+|\d+)月底)|(当天)|((\d+)日)|(((10)|(11)|(12)|([1-9]))月)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)(数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(今年(\d+)月份)|(晚(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+)时)|(连[年月日夜])|((\d+)年(\d+)月(\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|((一|二|两|三|四|五|六|七|八|九|十|百|千|万|几|多|上|\d+)+个?(天|日|周|月|年)(后|前|半|))|((胜利的)日子)|(青春期)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(早(数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)点(数|多|多少|好几|几|差不多|近|前|后|上|左右))|([0-9]{4}年)|(周末)|(([零一二三四五六七八九十百千万]+|\d+)个(数|多|多少|好几|几|差不多|近|前|后|上|左右)小时)|(([(小学)|初中?|高中?|大学?|研][一二三四五六七八九十]?(\d+)?)?[上下]半?学期)|(([零一二三四五六七八九十百千万]+|\d+)时期)|(午间)|(次年)|(这时候)|(农历新年)|([春夏秋冬](天|季))|((\d+)天)|(元宵节)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)分)|((\d+)月(\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(晚(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+)时(\d+)分)|(傍晚)|(周([零一二三四五六七八九十百千万]+|\d+))|((数|多|多少|好几|几|差不多|近|前|后|上|左右)午(\d+)时(\d+)分)|(同日)|((\d+)年(\d+)月底)|((\d+)分钟)|((\d+)世纪)|(冬季)|(年代)|(([零一二三四五六七八九十百千万]+|\d+)年半)|(今年年底)|(新年)|(本周)|(当地时间星期([零一二三四五六七八九十百千万]+|\d+))|(([零一二三四五六七八九十百千万]+|\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)岁)|(半小时)|(每周)|(([零一二三四五六七八九十百千万]+|\d+)周年)|((重要|最后)?时刻)|(([零一二三四五六七八九十百千万]+|\d+)期间)|(周日)|(晚(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(今后)|(([零一二三四五六七八九十百千万]+|\d+)段时间)|(明年)|([12][09][0-9]{2}(年度?))|(([零一二三四五六七八九十百千万]+|\d+)生)|(今天凌晨)|(过去(\d+)年)|(元月)|((\d+)月(\d+)日凌晨)|([前去今明后新]+年)|((\d+)月(\d+))|(夏天)|((\d+)日凌晨(\d+)时许)|((\d+)月(\d+)日)|((\d+)点半)|(去年底)|(最后一[天刻])|(最(数|多|多少|好几|几|差不多|近|前|后|上|左右)(数|多|多少|好几|几|差不多|近|前|后|上|左右)个月)|(圣诞节?)|(下?个?(星期|周)(一|二|三|四|五|六|七|天))|((\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(当天(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(每年的(\d+)月(\d+)日)|((\d+)日晚(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(星期([零一二三四五六七八九十百千万]+|\d+)晚)|(深夜)|(现如今)|([上中下]+午)|(第(一|二|三|四|五|六|七|八|九|十|百|千|万|几|多|\d+)+个?(天|日|周|月|年))|(昨晚)|(近年)|(今天清晨)|(中旬)|(星期([零一二三四五六七八九十百千万]+|\d+)早)|(([零一二三四五六七八九十百千万]+|\d+)战期间)|(星期)|(昨天晚(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(较早时)|(个(数|多|多少|好几|几|差不多|近|前|后|上|左右)小时)|((民主高中|我们所处的|复仇主义和其它危害人类的灾难性疾病盛行的|快速承包电影主权的|恢复自我美德|人类审美力基础设施|饱受暴力、野蛮、流血、仇恨、嫉妒的|童年|艰苦的童年)+时代)|(元旦)|(([零一二三四五六七八九十百千万]+|\d+)个礼拜)|(昨日)|([年月]初)|((\d+)年的(\d+)月)|(每年)|(([零一二三四五六七八九十百千万]+|\d+)月份)|(今年(\d+)月(\d+)号)|(今年([零一二三四五六七八九十百千万]+|\d+)月)|((\d+)月底)|(未来(\d+)年)|(第([零一二三四五六七八九十百千万]+|\d+)季)|(\d?多年)|(([零一二三四五六七八九十百千万]+|\d+)个星期)|((\d+)年([零一二三四五六七八九十百千万]+|\d+)月)|([下上中]午)|(早(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+)点)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)月)|(([零一二三四五六七八九十百千万]+|\d+)个(数|多|多少|好几|几|差不多|近|前|后|上|左右)月)|(同([零一二三四五六七八九十百千万]+|\d+)天)|((\d+)号凌晨)|(夜里)|(两个(数|多|多少|好几|几|差不多|近|前|后|上|左右)小时)|(昨天)|(罗马时代)|(目(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(([零一二三四五六七八九十百千万]+|\d+)月)|((\d+)年(\d+)月(\d+)号)|(((10)|(11)|(12)|([1-9]))月份?)|([12][0-9]世纪)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)天)|(工作日)|(稍后)|((\d+)号(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(未来([零一二三四五六七八九十百千万]+|\d+)年)|([0-9]+[天日周月年][后前左右]*)|(([零一二三四五六七八九十百千万]+|\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(最(数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)刻)|(很久)|((\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)岁)|(去年(\d+)月(\d+)号)|(两个月)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)午(\d+)时)|(古代)|(两天)|(\d+个?(小时|星期))|((\d+)年半)|(较早)|(([零一二三四五六七八九十百千万]+|\d+)个小时)|([一二三四五六七八九十]+周年)|(星期([零一二三四五六七八九十百千万]+|\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(时刻)|((\d+天)+(\d+点)?(\d+分)?(\d+秒)?)|((\d+)日([零一二三四五六七八九十百千万]+|\d+)时)|((\d+)周年)|(([零一二三四五六七八九十百千万]+|\d+)早)|(([零一二三四五六七八九十百千万]+|\d+)日)|(去年(\d+)月)|(过去([零一二三四五六七八九十百千万]+|\d+)年)|((\d+)个星期)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)(数|多|多少|好几|几|差不多|近|前|后|上|左右)天)|(执政期间)|([当前昨今明后春夏秋冬]+天)|(去年(\d+)月份)|(今(数|多|多少|好几|几|差不多|近|前|后|上|左右))|((\d+)周)|(两星期)|(([零一二三四五六七八九十百千万]+|\d+)年代)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)天)|(昔日)|(两个半月)|([印尼|北京|美国]?当地时间)|(连日)|(本月(\d+)日)|(第([零一二三四五六七八九十百千万]+|\d+)天)|((\d+)点(\d+)分)|([长近多]年)|((\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午(\d+)时)|(那时)|(冷战时代)|(([零一二三四五六七八九十百千万]+|\d+)天)|(这个星期)|(去年)|(昨天傍晚)|(近期)|(星期([零一二三四五六七八九十百千万]+|\d+)早些时候)|((\d+)([零一二三四五六七八九十百千万]+|\d+)年)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)两个月)|((\d+)个小时)|(([零一二三四五六七八九十百千万]+|\d+)个月)|(当年)|(本月)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)个月)|((\d+)点(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(目前)|(去年([零一二三四五六七八九十百千万]+|\d+)月)|((\d+)时(\d+)分)|(每月)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)段时间)|((\d+)日晚)|(早(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+)点(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(下旬)|((\d+)月份)|(逐年)|(稍(数|多|多少|好几|几|差不多|近|前|后|上|左右))|((\d+)年)|(月底)|(这个月)|((\d+)年(\d+)个月)|(\d+大寿)|(周([零一二三四五六七八九十百千万]+|\d+)早(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(半年)|(今日)|(末日)|(昨天深夜)|(今年(\d+)月)|((\d+)月(\d+)号)|((\d+)日夜)|((早些|某个|晚间|本星期早些|前些)+时候)|(同年)|((北京|那个|更长的|最终冲突的)时间)|(每个月)|(一早)|((\d+)来?[岁年])|((数|多|多少|好几|几|差不多|近|前|后|上|左右)个月)|([鼠牛虎兔龙蛇马羊猴鸡狗猪]年)|(季度)|(早些时候)|(今天)|(每天)|(年半)|(午后)|((\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)个星期)|(今天(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(同[一二三四五六七八九十][年|月|天])|(T\d+:\d+:\d+)|(\d+/\d+/\d+:\d+:\d+.\d+)|(\?\?\?\?-\?\?-\?\?T\d+:\d+:\d+)|(\d+-\d+-\d+T\d+:\d+:\d+)|(\d+/\d+/\d+ \d+:\d+:\d+.\d+)|(\d+-\d+-\d+|[0-9]{8})|(((\d+)年)?((10)|(11)|(12)|([1-9]))月(\d+))|((\d[\.\-])?((10)|(11)|(12)|([1-9]))[\.\-](\d+))))|(([零一二三四五六七八九十百千万]+|\d+)生)|(今天凌晨)|(过去(\d+)年)|(元月)|((\d+)月(\d+)日凌晨)|([前去今明后新]+年)|((\d+)月(\d+))|(夏天)|((\d+)日凌晨(\d+)时许)|((\d+)月(\d+)日)|((\d+)点半)|(去年底)|(最后一[天刻])|(最(数|多|多少|好几|几|差不多|近|前|后|上|左右)(数|多|多少|好几|几|差不多|近|前|后|上|左右)个月)|(圣诞节?)|(下?个?(星期|周)(一|二|三|四|五|六|七|天))|((\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)年)|(当天(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(每年的(\d+)月(\d+)日)|((\d+)日晚(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(星期([零一二三四五六七八九十百千万]+|\d+)晚)|(深夜)|(现如今)|([上中下]+午)|(第(一|二|三|四|五|六|七|八|九|十|百|千|万|几|多|\d+)+个?(天|日|周|月|年))|(昨晚)|(近年)|(今天清晨)|(中旬)|(星期([零一二三四五六七八九十百千万]+|\d+)早)|(([零一二三四五六七八九十百千万]+|\d+)战期间)|(星期)|(昨天晚(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(较早时)|(个(数|多|多少|好几|几|差不多|近|前|后|上|左右)小时)|((民主高中|我们所处的|复仇主义和其它危害人类的灾难性疾病盛行的|快速承包电影主权的|恢复自我美德|人类审美力基础设施|饱受暴力、野蛮、流血、仇恨、嫉妒的|童年|艰苦的童年)+时代)|(元旦)|(([零一二三四五六七八九十百千万]+|\d+)个礼拜)|(昨日)|([年月]初)|((\d+)年的(\d+)月)|(每年)|(([零一二三四五六七八九十百千万]+|\d+)月份)|(今年(\d+)月(\d+)号)|(今年([零一二三四五六七八九十百千万]+|\d+)月)|((\d+)月底)|(未来(\d+)年)|(第([零一二三四五六七八九十百千万]+|\d+)季)|(\d?多年)|(([零一二三四五六七八九十百千万]+|\d+)个星期)|((\d+)年([零一二三四五六七八九十百千万]+|\d+)月)|([下上中]午)|(早(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+)点)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)月)|(([零一二三四五六七八九十百千万]+|\d+)个(数|多|多少|好几|几|差不多|近|前|后|上|左右)月)|(同([零一二三四五六七八九十百千万]+|\d+)天)|((\d+)号凌晨)|(夜里)|(两个(数|多|多少|好几|几|差不多|近|前|后|上|左右)小时)|(昨天)|(罗马时代)|(目(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(([零一二三四五六七八九十百千万]+|\d+)月)|((\d+)年(\d+)月(\d+)号)|(((10)|(11)|(12)|([1-9]))月份?)|([12][0-9]世纪)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)天)|(工作日)|(稍后)|((\d+)号(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(未来([零一二三四五六七八九十百千万]+|\d+)年)|([0-9]+[天日周月年][后前左右]*)|(([零一二三四五六七八九十百千万]+|\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(最(数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)刻)|(很久)|((\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)岁)|(去年(\d+)月(\d+)号)|(两个月)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)午(\d+)时)|(古代)|(两天)|(\d+个?(小时|星期))|((\d+)年半)|(较早)|(([零一二三四五六七八九十百千万]+|\d+)个小时)|([一二三四五六七八九十]+周年)|(星期([零一二三四五六七八九十百千万]+|\d+)(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(时刻)|((\d+天)+(\d+点)?(\d+分)?(\d+秒)?)|((\d+)日([零一二三四五六七八九十百千万]+|\d+)时)|((\d+)周年)|(([零一二三四五六七八九十百千万]+|\d+)早)|(([零一二三四五六七八九十百千万]+|\d+)日)|(去年(\d+)月)|(过去([零一二三四五六七八九十百千万]+|\d+)年)|((\d+)个星期)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)(数|多|多少|好几|几|差不多|近|前|后|上|左右)天)|(执政期间)|([当前昨今明后春夏秋冬]+天)|(去年(\d+)月份)|(今(数|多|多少|好几|几|差不多|近|前|后|上|左右))|((\d+)周)|(两星期)|(([零一二三四五六七八九十百千万]+|\d+)年代)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)天)|(昔日)|(两个半月)|([印尼|北京|美国]?当地时间)|(连日)|(本月(\d+)日)|(第([零一二三四五六七八九十百千万]+|\d+)天)|((\d+)点(\d+)分)|([长近多]年)|((\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午(\d+)时)|(那时)|(冷战时代)|(([零一二三四五六七八九十百千万]+|\d+)天)|(这个星期)|(去年)|(昨天傍晚)|(近期)|(星期([零一二三四五六七八九十百千万]+|\d+)早些时候)|((\d+)([零一二三四五六七八九十百千万]+|\d+)年)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)两个月)|((\d+)个小时)|(([零一二三四五六七八九十百千万]+|\d+)个月)|(当年)|(本月)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)([零一二三四五六七八九十百千万]+|\d+)个月)|((\d+)点(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(目前)|(去年([零一二三四五六七八九十百千万]+|\d+)月)|((\d+)时(\d+)分)|(每月)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)段时间)|((\d+)日晚)|(早(数|多|多少|好几|几|差不多|近|前|后|上|左右)(\d+)点(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(下旬)|((\d+)月份)|(逐年)|(稍(数|多|多少|好几|几|差不多|近|前|后|上|左右))|((\d+)年)|(月底)|(这个月)|((\d+)年(\d+)个月)|(\d+大寿)|(周([零一二三四五六七八九十百千万]+|\d+)早(数|多|多少|好几|几|差不多|近|前|后|上|左右))|(半年)|(今日)|(末日)|(昨天深夜)|(今年(\d+)月)|((\d+)月(\d+)号)|((\d+)日夜)|((早些|某个|晚间|本星期早些|前些)+时候)|(同年)|((北京|那个|更长的|最终冲突的)时间)|(每个月)|(一早)|((\d+)来?[岁年])|((数|多|多少|好几|几|差不多|近|前|后|上|左右)个月)|([鼠牛虎兔龙蛇马羊猴鸡狗猪]年)|(季度)|(早些时候)|(今天)|(每天)|(年半)|(下*个?月)|(午后)|((\d+)日(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|((数|多|多少|好几|几|差不多|近|前|后|上|左右)个星期)|(\d+秒)|(今天(数|多|多少|好几|几|差不多|近|前|后|上|左右)午)|(同[一二三四五六七八九十][年|月|天])|(T\d+:\d+:\d+)|(\d+/\d+/\d+:\d+:\d+.\d+)|(\?\?\?\?-\?\?-\?\?T\d+:\d+:\d+)|(\d+-\d+-\d+T\d+:\d+:\d+)|(\d+/\d+/\d+ \d+:\d+:\d+.\d+)|(\d+-\d+-\d+|[0-9]{8})|(((\d+)年)?((10)|(11)|(12)|([1-9]))月(\d+))|((\d[\.\-])?((10)|(11)|(12)|([1-9]))[\.\-](\d+))

4、使用方法

描述:人名、地址、邮箱、手机号、手机归属地 等信息的抽取,rake短语抽取算法。
https://github.com/fighting41love/cocoNLP

例子
急寻特朗普,男孩,于2018年11月27号11时在陕西省安康市汉滨区走失。丢失发型短发,…如有线索,请迅速与警方联系:18100065143,132-6156-2938,baizhantang@sina.com.cn 和yangyangfuture at gmail dot com’

from cocoNLP.extractor import extractor
from newspaper import Article
import nltk
ex = extractor()
text = '急寻特朗普,男孩,于2018年11月27号11时在陕西省安康市汉滨区走失。丢失发型短发,...如有线索,请迅速与警方联系:18100065143,132-6156-2938,baizhantang@sina.com.cn 和yangyangfuture at gmail dot com'
print('='*40)
print('1. 抽取邮箱')
print('-'*40)
emails = ex.extract_email(text)
print(emails)
print('='*40)
print('2. 抽取手机号')
print('-'*40)
cellphones = ex.extract_cellphone(text,nation='CHN')
print(cellphones)
print('='*40)
print('3. 抽取手机归属地、运营商')
print('-'*40)
cell_locs = [ex.extract_cellphone_location(cell,'CHN') for cell in cellphones]
print(cell_locs)
print('='*40)
print('4. 抽取地址信息')
print('-'*40)
locations = ex.extract_locations(text)
print(locations)
print('='*40)
print('5. 抽取时间点')
print('-'*40)
times = ex.extract_time(text)
print(times)
print('='*40)
print('6. 抽取人名')
print('-'*40)
name = ex.extract_name(text)
print(name)

结果:
在这里插入图片描述

5、rake.py自动关键字提取算法

5.1 枚举

0:词度和词频的比例
1:词度
2:词频

5.2 快速自动关键词提取算法

1、初始化

标点符号=无,
词度和词频的比例= 初始值0
最大长度=100000,
最小长度=1,
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234197.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • linux查看iostat_ios命令行怎么打开

    linux查看iostat_ios命令行怎么打开简介iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。命令格式及参数iostat[-c|-d][-k|-m][-t][-V][-x][device[…]|ALL][-p[…

  • Visio 2010工具产品密钥

    Visio 2010工具产品密钥最近需要安装Visio2010来进行画图工作的需要,因此在网上找了好长时间的产品密钥,这是我亲测之后觉得有效的,大家可以根据我下面的这些产品密钥来激活Visio2010。具体的密钥如下:GR24B-GC2XY-KRXRG-2TRJJ-4X7DCVWQ6G-37WBG-J7DJP-CY66Y-V278X2T8H8-JPW3D-CJGRK-3HTVF-VWD83HMCVF-BX8YB-…

  • JavaScript 高级程序设计(第3版)

    JavaScript 高级程序设计(第3版)内容简介ECMAScript5和HTML5在标准之争中双双胜出,使大量专有实现和客户端扩展正式进入规范,同时也为JavaScript增添了很多适应未来发展的新特性。《JavaScript高级程序设计(第3版)》这一版除增加5章全新内容外,其他章节也有较大幅度的增补和修订,新内容篇幅约占三分之一。全书从JavaScript语言实现的各个组成部分——语言核心、DOM、BOM、事件模…

  • idea tomcat插件下载_idea导入tomcat

    idea tomcat插件下载_idea导入tomcat因为昨天已经下载了最新本部Tomcat,知识因为和老师的版本有点出入,于是我百度了方法。这里小结一下。idea下载tomcat配置tomcat图文教程有了昨天的基础之后,今天很快就下好了。我这里以WINDOWS764位;下载9.0.13本部为例。首先确保本机装好了JDK,并配置了环境变量。然后百度搜TomcaT官网,或者直接收官网网站:http://tomc…

    2022年10月17日
  • UCOSII系统时间管理[通俗易懂]

    UCOSII系统时间管理[通俗易懂]一,UCOSII的定时中断绝大多数的内核要求提供定时中断,以实现延时与超时控制等功能。这个定时中断叫做时钟节拍。时钟的中断子程序ISR和时钟节拍函数OSTimeTick()该函数通知UCOSII,发生了时钟节拍中断。二,UCOSII系统时钟函数1,任务延时函数,OSTimeDly(INT16Uticks)实现申请该服务的任务可以延时一段时间这个系统服务的函数叫做OSTimeDly(),这段时间的长短是用时钟节拍的数目来确定的。调用该函数会使µC/OS-Ⅱ进行一次任务调度,并且执行下一个优

  • Shell常用命令整理

    Shell常用命令整理

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号