Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]对于“前两个月”的语境分析 #39

Closed
ftdzh1994 opened this issue Dec 14, 2021 · 9 comments
Closed

[BUG]对于“前两个月”的语境分析 #39

ftdzh1994 opened this issue Dec 14, 2021 · 9 comments
Labels
bug Something isn't working

Comments

@ftdzh1994
Copy link

描述(Description)

描述你遇到了什么问题(Please describe your issue here)

  1. 版本(Version):
  • python 版本: 3.8.12
  • jionlp 版本: 1.3.34
  1. jionlp的调用代码与输入文本(Code & Text):
import jionlp as jio
import time

print(f't = {time.time()}')
res = jio.parse_time('查询销售部门前两个月的业绩', strict=False,)
print(res)

>>> t = 1639467272.000813
>>> {'type': 'time_span', 'definition': 'accurate', 'time': ['2021-01-01 00:00:00', '2021-02-28 23:59:59']}

期望行为(Expectation)

这句话的查询效果应该等同于“查询销售部门过去两个月的业绩”, 目前似乎是按照”当年的前两个月“分析的。这里应该加入语境分析,判断前面有没有指定年份?

@ftdzh1994 ftdzh1994 added the bug Something isn't working label Dec 14, 2021
@ftdzh1994
Copy link
Author

另外在线上demo中测试得到了不一样的答案
Screen Shot 2021-12-14 at 4 01 19 PM

@dongrixinyu
Copy link
Owner

你的版本用的是 pip 吧。那个版本旧了。在线版是新的。
两种 解析都是可以说得通的,但是按照习惯和概率,解析为“此时此刻之前的两个月”的概率更大一些。

解析为年初前两个月,一般来讲,习惯上需要指明年份。

语境的话,也就是上下文语义,目前的正则是没能力加上去的。

最新版本使用 git clone来安装。

感谢反馈

@ftdzh1994
Copy link
Author

感谢回复。
另外“此时此刻之前的两个月”,在当前为12月的前提下,是否应该返回9月到11月更为准确?

@dongrixinyu
Copy link
Owner

那9月1日到11月30日就是三个月了鸭

@dongrixinyu
Copy link
Owner

dongrixinyu commented Dec 15, 2021

我知道问题出在哪里了,前两个月有三种语义解释,第一,“2021年的前两个月”。第二,“此时此刻之前的两个月时间范围”。第三,“大约两个月前的某个时间(月)”,比如“他前两个月离职了”。这里我是按第三种语义解析的。

语境的话,我会再考虑怎么能够添加进去,这里确实有歧义

@Funnyang
Copy link

我知道问题出在哪里了,前两个月有三种语义解释,第一,“2021年的前两个月”。第二,“此时此刻之前的两个月时间范围”。第三,“大约两个月前的某个时间(月)”,比如“他前两个月离职了”。这里我是按第三种语义解析的。

语境的话,我会再考虑怎么能够添加进去,这里确实有歧义

您好,当前12月,“查询销售部门前两个月的业绩”,应该是指10月和11月吧?

按照“他前两个月离职了”解析的话,当前12月,我觉得应该解析为10月到11月这段时间离职了?而现在解析的时间为8月到10月。

另:我们一般是不会说他前3个月离职了之类的,所以在没有年修饰的情况下,”前xx月“是否都可以统一按“查询销售部门前两个月的业绩”这种语义理解呢。

我不是做NLP的,不知道我理解是否有问题,希望解惑。

@Funnyang
Copy link

我知道问题出在哪里了,前两个月有三种语义解释,第一,“2021年的前两个月”。第二,“此时此刻之前的两个月时间范围”。第三,“大约两个月前的某个时间(月)”,比如“他前两个月离职了”。这里我是按第三种语义解析的。

语境的话,我会再考虑怎么能够添加进去,这里确实有歧义

补充一下:“他前两个月离职了”理解为“大约两个月前的某个时间(月)”,这种我也认可,但是为什么会解析出8月到10月呢?12月往前推2个月是10月,8月是如何得出的?

问题有点多,希望不要见怪😄。

@dongrixinyu
Copy link
Owner

我知道问题出在哪里了,前两个月有三种语义解释,第一,“2021年的前两个月”。第二,“此时此刻之前的两个月时间范围”。第三,“大约两个月前的某个时间(月)”,比如“他前两个月离职了”。这里我是按第三种语义解析的。
语境的话,我会再考虑怎么能够添加进去,这里确实有歧义

补充一下:“他前两个月离职了”理解为“大约两个月前的某个时间(月)”,这种我也认可,但是为什么会解析出8月到10月呢?12月往前推2个月是10月,8月是如何得出的?

问题有点多,希望不要见怪😄。

谢谢。有道理,可以修改逻辑,随后更新。

@dongrixinyu
Copy link
Owner

已更新!谢谢反馈。
前两个月 -> 按照此时此刻之前的两个月时间范围进行解析。其它语义含义暂时不支持

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants