Open
Description
提问题时,请尊重我!把必要的信息,什么环境,输入具体什么文本,运行什么函数讲清楚!
描述(Description)
时间汉字转数字时,似乎不能将“两三分钟”类似的不确定性表达给成功转换。
- 版本(Version):
- python 版本: 3.9
- jionlp 版本: 1.4.33
- jionlp的调用代码与输入文本**[以下代码经简化]**:
import jionlp as jio
nerTIME = “两三分钟”
stTIME = jio.parse_time(nerTIME, time_base={'year': int(year), 'month': int(month), 'day': int(day)})
print(stTIME)
- 调用报错日志如下(Log):
Traceback (most recent call last):
File "L:\Weibo-NER-CoarseGrained-main\main.py", line 131, in <module>
result(result_csv_path, text_content, TIME_content, ent_text, ent_label)
File "L:\Weibo-NER-CoarseGrained-main\main.py", line 97, in result
write_data.append(time_standardizing(label_TIME[0], baseTIME))
File "L:\Weibo-NER-CoarseGrained-main\main.py", line 75, in time_standardizing
stTIME = jio.parse_time(nerTIME, time_base={'year': int(year), 'month': int(month), 'day': int(day)})
File "C:\Users\LENOVO\anaconda3\envs\Weibo-NER-CoarseGrained-main\lib\site-packages\jionlp\gadget\time_parser.py", line 840, in __call__
delta_res = self.parse_time_delta_span(time_string, time_type=time_type)
File "C:\Users\LENOVO\anaconda3\envs\Weibo-NER-CoarseGrained-main\lib\site-packages\jionlp\gadget\time_parser.py", line 1153, in parse_time_delta_span
delta_dict, time_type, blur_time = self.parse_time_delta(time_string, time_type=time_type)
File "C:\Users\LENOVO\anaconda3\envs\Weibo-NER-CoarseGrained-main\lib\site-packages\jionlp\gadget\time_parser.py", line 1459, in parse_time_delta
cur_func(time_string, time_type=time_type)
File "C:\Users\LENOVO\anaconda3\envs\Weibo-NER-CoarseGrained-main\lib\site-packages\jionlp\gadget\time_parser.py", line 1499, in normalize_standard_time_delta
time_delta_num, _time_definition = self._normalize_delta_unit(time_string, pattern)
File "C:\Users\LENOVO\anaconda3\envs\Weibo-NER-CoarseGrained-main\lib\site-packages\jionlp\gadget\time_parser.py", line 1520, in _normalize_delta_unit
time_delta = float(self._char_num2num(delta_num_string))
File "C:\Users\LENOVO\anaconda3\envs\Weibo-NER-CoarseGrained-main\lib\site-packages\jionlp\gadget\time_parser.py", line 5156, in _char_num2num
return float(res_num[:-1])
TypeError: float() argument must be a string or a number, not 'list'
期望行为(Expectation)
在文本中,常有类似“两三分钟”类似表达,希望能够识别并拆分成[2分钟,3分钟],或取最长(短)