nltk Normalize function in sentence_bleu

qkf9rpyu  于 5个月前  发布在  其他
关注(0)|答案(6)|浏览(47)

Hi,
I was working on a basic example in sentence_bleu. It gives me an error about keywords like this:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Fraction.__new__() got an unexpected keyword argument '_normalize'

I am working on a basic example of this from the documentation.

reference = [['the', 'quick', 'brown', 'fox', 'jumped', 'over', 'the', 'lazy', 'dog']]
candidate = ['the', 'quick', 'brown', 'fox', 'jumped', 'over', 'the']
score = sentence_bleu(reference, candidate)
print(score)

However, it gives random normalised errors.
I realized someone show it into another issue. But It does not provide a solution as for my understanding. #3207
Is anyone how the problem?

dy2hfwbg

dy2hfwbg1#

我也遇到了这个错误。

ikfrs5lh

ikfrs5lh2#

我也遇到了这个错误,似乎它没有被修复。

tzcvj98z

tzcvj98z3#

你遇到的问题是由于在Python 3.12中使用NLTK时出现的一个错误。这个错误已经在NLTK的最新版本中修复了。你可以使用NLTK仓库中的更新后的代码。

  1. 将NLTK升级到最新版本:
pip install --upgrade nltk

或者

  1. 使用官方NLTK仓库中更新后的BLEU评分实现。你可以在以下链接找到最新的实现(https://github.com/nltk/nltk/blob/develop/nltk/translate/bleu_score.py#L45)。
c2e8gylq

c2e8gylq4#

你遇到的问题是由于在Python 3.12中使用NLTK时的一个bug。这个bug已经在NLTK的最新版本中修复了。你可以使用NLTK仓库中的更新后的代码。

  1. 将NLTK升级到最新版本:
pip install --upgrade nltk

或者

  1. 使用官方NLTK仓库中更新后的BLEU评分实现。你可以在这里找到最新的实现(https://github.com/nltk/nltk/blob/develop/nltk/translate/bleu_score.py#L45)。

几分钟前,我也遇到了同样的问题。我尝试升级包,但没有成功。所以我选择了下一个替代方案来修改blue_score.py的代码,这起作用了。但是需要一个更永久的解决方案,而不仅仅是这样来回切换。
上下文:

  • Python 3.12.3
  • 在虚拟环境中
ymzxtsji

ymzxtsji5#

我也遇到了这个问题:

  • Python版本3.12.2
  • nltk版本3.8.1
elcex8rz

elcex8rz6#

安装了最新版本的nltk,仍然遇到这个错误:
TypeError: Fraction.new()收到了一个意外的关键字参数'_normalize'

相关问题