1

我想使用小鸭从任何字符串中提取时间实体。

我正在尝试使用基本代码来使用小鸭。

from duckling import DucklingWrapper
d = DucklingWrapper()
print(d.parse_time(u'Let\'s meet at 11:45am'))

为此,我收到以下错误。int() 参数必须是字符串、类似字节的对象或数字,而不是“java.lang.String”

有人可以帮我吗?

4

2 回答 2

0

简短回答:强制您的 jpype 版本低于 0.8。即 pip install Jpype1==0.7.5

更长的答案:这是由于 Duckling 的依赖 JPype 之一。如果您深入研究代码,您会发现在使用 JPype 启动 JVM 时,需要传递一个参数“convertStrings”。在 V0.8 之前,此参数默认设置为“true”,但之后切换为“false”。如果您可以修改包代码,这应该是 Duckling 中的一个简单修复。如果没有,那么降级您的 Jpype 版本也可以。

参考:https ://jpype.readthedocs.io/en/latest/api.html

于 2020-12-04T22:09:58.773 回答
0

这是小鸭和 Jpype 之间的不兼容问题。

这对我有用:

pip install --force-reinstall JPype1==0.6.3

于 2022-02-10T12:34:10.387 回答