Skip to content

时间汉字转数字时,似乎不能将"两三分钟"类似的不确定性表达给成功转换。 #115

Open
@uyoin

Description

@uyoin

提问题时,请尊重我!把必要的信息,什么环境,输入具体什么文本,运行什么函数讲清楚!

描述(Description)

时间汉字转数字时,似乎不能将“两三分钟”类似的不确定性表达给成功转换。

  1. 版本(Version):
  • python 版本: 3.9
  • jionlp 版本: 1.4.33
  1. jionlp的调用代码与输入文本**[以下代码经简化]**:
import jionlp as jio
nerTIME = “两三分钟”
stTIME = jio.parse_time(nerTIME, time_base={'year': int(year), 'month': int(month), 'day': int(day)})
print(stTIME)
  1. 调用报错日志如下(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'

image

期望行为(Expectation)

在文本中,常有类似“两三分钟”类似表达,希望能够识别并拆分成[2分钟,3分钟],或取最长(短)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions