對一段文本中的人、事、地、物、組織、時間等關鍵要素進行抽取,以為下游提供數據支撐。針對時間抽取,發現一個小工具,分享給大家:
開源地址:
https://github.com/zhanzecheng/Time_NLP
功能:
用於句子中時間詞的抽取和轉換
使用示例:
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)
返回:
{"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"]}
具體使用見github說明
另附上最全NLP各類開源項目:https://github.com/fighting41love/funNLP