3

Beeferman の PK と WindowDIFF の Python NLTK 実装は、両方の python segeval 実装とは完全に異なる結果を得ています。

同じパラメーターを使用します。

hyp: 0100100000
ref: 0101000000
k=2
PK's SegEval:0.2222222
PK's NLTK:0.111111111

hyp: 111111
ref: 100100
k=2
PK's SegEval:0.4
PK's NLTK:0.64

これは、それを使用する人にとって異なる研究結果につながる可能性があります.
これら 2 つの実装で PK の結果が異なるのはなぜですか? PK の結果は 1 つだけである必要があります。

4

1 に答える 1

2

NLTK 関数の呼び出し方法に問題があるか、古いバージョンの NLTK を使用している可能性があります。

segeval で示したものと同じ結果が NLTK で得られます。

>>> from nltk.metrics.segmentation import pk
>>> hyp = '0100100000'
>>> ref = '0101000000'
>>> pk(hyp, ref, 2)
0.2222222222222222
>>> hyp = '111111'
>>> ref = '100100'
>>> pk(hyp, ref, 2)
0.4

私のnltkバージョン:

>>> nltk.__version__
'3.0.5'

これを行う:

$ pip install -U nltk
于 2015-09-24T06:45:10.097 に答える