___ tag123nlp ___ Natural Language Processing (NLP) ist ein Teilbereich der künstlichen Intelligenz, bei dem nützliche Informationen aus natürlichsprachlichen Daten transformiert oder extrahiert werden. Methoden umfassen maschinelles Lernen und regelbasierte Ansätze. ___ tag123nltk ___ Das Natural Language Toolkit ist eine Python-Bibliothek für Computerlinguistik. ___ tag123machineelearning ___ Implementierungsfragen zu Algorithmen des maschinellen Lernens. Allgemeine Fragen zum maschinellen Lernen sollten in ihren jeweiligen Communities veröffentlicht werden. Was ist der Unterschied zwischen mteval-v13a.pl und NLTK BLEU? ___ tag123machinetranslation ___ Machine Translation, ein Unterfeld von Natural Language Processing, ist die automatische Übersetzung von menschlichen Sprachen. Während historische Übersetzer auf statistischer maschineller Übersetzung basieren, verwenden neuere Systeme neuronale Netzwerke, die viel bessere Ergebnisse liefern. ___ qstntxt ___

Es gibt eine Implementierung des BLEU-Ergebnisses in Python NLTK,   %code%

Aber ich bin mir nicht sicher, ob es das gleiche wie die mtevalv13a ist .pl-Skript .

Was ist der Unterschied zwischen ihnen?

    
___ tag123bleu ___ BLEU (Bilingual Evaluation Understudy) ist ein Algorithmus zur Bewertung der Qualität von Text, der maschinell von einer natürlichen Sprache in eine andere Sprache übersetzt wurde. ___ answer46089409 ___

Kurz gesagt

Nein, die BLEU in NLTK ist nicht genau die gleiche wie die %code% .

Aber es kann sehr nahe kommen, siehe Ссылка

  

%code% entspricht %code% bis zur 4. Ordnung von ngram mit einigen Gleitkommadiskrepanzen

Die Details des Vergleichs und des verwendeten Datensatzes können von Ссылка oder:

%Vor%

Die Hauptunterschiede:

In lang

Es gibt mehrere Unterschiede zwischen %code% und %code% :

  • Der erste Unterschied besteht darin, dass %code% mit einem eigenen NIST-Tokenizer geliefert wird, während die NLTK-Version von BLEU die Implementierung der Metrik ist und voraussetzt, dass die Eingabe vorbenannt wird / strong>.

    • Übrigens, dieser laufende PR wird die Lücke zwischen NLTK- und NIST-Tokenizern schließen
  • Der andere Hauptunterschied besteht darin, dass %code% erwartet, dass die Eingabe im %code% -Format ist, während NLTK BLEU eine Python-Liste von Listen mit Strings aufnimmt, siehe README.txt im zipball hier für weitere Informationen darüber, wie man Textdateien nach SGM konvertiert .

  • %code% erwartet eine ngram-Reihenfolge von mindestens 1-4. Wenn die minimale ngram-Reihenfolge für den Satz / Korpus kleiner als 4 ist, wird eine 0 Wahrscheinlichkeit zurückgegeben, die ein %code% ist. Um dieses Verhalten zu emulieren, hat NLTK ein %code% -Flag gesetzt:

  • %code% kann NIST-Scores generieren, während NLTK keine NIST-Score-Implementierung (zumindest noch nicht) aufweist

Anders als die Unterschiede, NLTK BLEU Punkte in mehr Funktionen gepackt:

Um die in der NLTK-Version von BLEU hinzugefügten Funktionen zu validieren, wird den Konten ein Regressionstest hinzugefügt, siehe Ссылка

    
___

7

Es gibt eine Implementierung des BLEU-Ergebnisses in Python NLTK,   nltk.translate.bleu_score.corpus_bleu

Aber ich bin mir nicht sicher, ob es das gleiche wie die mtevalv13a ist .pl-Skript .

Was ist der Unterschied zwischen ihnen?

    
Ssamu Vut 06.09.2017, 21:26
quelle

1 Antwort

6

Kurz gesagt

Nein, die BLEU in NLTK ist nicht genau die gleiche wie die mteval-13a.perl .

Aber es kann sehr nahe kommen, siehe Ссылка

  

nltk.translate.corpus_bleu entspricht mteval-13a.pl bis zur 4. Ordnung von ngram mit einigen Gleitkommadiskrepanzen

Die Details des Vergleichs und des verwendeten Datensatzes können von Ссылка oder:

%Vor%

Die Hauptunterschiede:

In lang

Es gibt mehrere Unterschiede zwischen mteval-13a.pl und nltk.translate.corpus_bleu :

  • Der erste Unterschied besteht darin, dass mteval-13a.pl mit einem eigenen NIST-Tokenizer geliefert wird, während die NLTK-Version von BLEU die Implementierung der Metrik ist und voraussetzt, dass die Eingabe vorbenannt wird / strong>.

    • Übrigens, dieser laufende PR wird die Lücke zwischen NLTK- und NIST-Tokenizern schließen
  • Der andere Hauptunterschied besteht darin, dass mteval-13a.pl erwartet, dass die Eingabe im .sgm -Format ist, während NLTK BLEU eine Python-Liste von Listen mit Strings aufnimmt, siehe README.txt im zipball hier für weitere Informationen darüber, wie man Textdateien nach SGM konvertiert .

  • mteval-13a.pl erwartet eine ngram-Reihenfolge von mindestens 1-4. Wenn die minimale ngram-Reihenfolge für den Satz / Korpus kleiner als 4 ist, wird eine 0 Wahrscheinlichkeit zurückgegeben, die ein math.log(float('-inf')) ist. Um dieses Verhalten zu emulieren, hat NLTK ein _emulate_multibleu -Flag gesetzt:

  • mteval-13a.pl kann NIST-Scores generieren, während NLTK keine NIST-Score-Implementierung (zumindest noch nicht) aufweist

Anders als die Unterschiede, NLTK BLEU Punkte in mehr Funktionen gepackt:

Um die in der NLTK-Version von BLEU hinzugefügten Funktionen zu validieren, wird den Konten ein Regressionstest hinzugefügt, siehe Ссылка

    
alvas 07.09.2017, 06:34
quelle