Giter Club home page Giter Club logo

Comments (19)

jindrahelcl avatar jindrahelcl commented on May 8, 2024

I'll do it

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

Mam to hotový, ale radši bych to nejdřív otestoval.. Máme nějaký texty, o kterých víme, jaký maj BLEU?

from neuralmonkey.

martinpopel avatar martinpopel commented on May 8, 2024

ftp://jaguar.ncsl.nist.gov/mt/resources/mteval-v13.pl je referenční implementace, silně doporučuji používat --international-tokenization, aby to správě řešilo utf8. Napsal jsem si k tomu wrapper, abych nemusel řešit ten příšerný sgm formát. Takže jedna možnost je si takto ohodnotit libovolné překlady.

Pokud to chceš testovat na nějakém větším množství textů, tak na http://wmt.ufal.cz/ je BLEU pro všechny WMT systémy z posledních let. Též zde http://ufallab.ms.mff.cuni.cz/~popel/wmt15-16-bleu.csv a http://ufallab.ms.mff.cuni.cz/~popel/wmt15-16-bleu-cased.csv a ty texty lze stáhnout jednotlivě z http://matrix.statmt.org/ nebo pro IT task naráz z http://ufallab.ms.mff.cuni.cz/~popel/it-test2016.tar.gz

Pozor na to, že BLEU uváděné na http://matrix.statmt.org/ je bez --international-tokenization.

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

Dík. Já jsem to zapracoval do toho našeho pythonu tak uvidim, jestli to funguje. Dělal jsem to podle článku a taky to z části obšlehnul z treexu..

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

Tak když jsem to nltkem tokenizoval a pustil na edinburkem přeložený en-de 2016, tak mi vyšlo 34.7 na lowercasovanym, na matrix.statmt.org je 34.8, rozdíl přikládám různý tokenizaci. Pro zajímavost, nltčí corpus_bleu na case-sensitive vychází 35.24, nám asi 34.09 a na matrix.statmt.org 34.2. Takže si troufám tvrdit, že to máme správně.

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

tested, closing.

from neuralmonkey.

jlibovicky avatar jlibovicky commented on May 8, 2024

Je tam smoothing? Ze začátku trénování se bude nutně stávat, že tam nebudou ty n-gramy a dělelio by to nulou.

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

Smoothing tam je takovej, že když by to dělilo nulou, tak to dá 0 - tak se to aspoň řeší v Treexu.

from neuralmonkey.

martinpopel avatar martinpopel commented on May 8, 2024

Referenční implementace má jiný smoothing než Treex.
https://github.com/ufal/qtleap/blob/master/cuni_train/bin/mteval-v13a.pl#L831-L873
Možná se tu bude líp číst zde
https://github.com/choko/MT-ComparEval/blob/master/libs/Metrics/GeometricPrecision.php#L43-L63

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

dík, časem to tam přidám

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

přidal jsem wrapper pro martinův wrapper, tamto bleu co jsem udělal tak teď nějak blbne a asi bych ho deprecoval a časem smazal.

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

Občas ta referenční implementace padá na nějaký divnosti. @martinpopel nevíš, co s tim? Vypadá to na nějaký unicode nedorozumění nebo spíš ještě na něco úplně jinýho.. Padá to někde, kde se počítá nist pokuta za délku. Jde to spustit tak, aby se nepočítalo NIST skóre? Stejně nás zajímá jen BLEU..

EDIT: Ještě jsem se nedíval, ale myslím, že by mohly bejt v trénovacích datech prázdný věty. Ty by pak vysvětlovaly dělení nulou.

EDIT2: Je ale určitě možný, že náš dekodér vyplivne prázdnou větu, která na vstup toho evaluátoru pak projde jako prázdná řádka

Use of 'Hyphen' in \p{} or \P{} is deprecated because: Supplanted by Line_Break property values; see www.unicode.org/reports/tr14; at /home/jihe01/mmmt/lib/mteval/mteval-v13a.pl line 947.
Illegal division by zero at /home/jihe01/mmmt/lib/mteval/mteval-v13a.pl line 886.
MT evaluation scorer began on 2016 Jul 7 at 13:04:29
command line:  /home/jihe01/mmmt/lib/mteval/mteval-v13a.pl --international-tokenization -r /tmp/XJec1btp3z.ref -s /tmp/fD5jQCTTug.src -t /tmp/5k8wxHsAp9.tst
  Evaluation of any-to-cs translation using:
    src set "sample-set" (1 docs, 64 segs)
    ref set "sample-set" (1 refs)
    tst set "sample-set" (1 systems)


Use of uninitialized value $bleu in multiplication (*) at /home/jihe01/mmmt/lib/mteval/wrap-mteval.pl line 73, <> line 64.
Use of uninitialized value $nist in concatenation (.) or string at /home/jihe01/mmmt/lib/mteval/wrap-mteval.pl line 74, <> line 64.

from neuralmonkey.

martinpopel avatar martinpopel commented on May 8, 2024

Ten warning s Hyphen s tím nemá nic společného - jde ho umlčet takto: ufal/qtleap@6e4d9e9d14fd6f

Počítání NIST score jde vypnout přepínačem -b (viz mteval-v13a.pl -h... "-b generate BLEU scores only").

Ta chyba mi přijde spíš něco jako, že reference byla celá prázdná. (Pouštíš ten skript na celý dokument, nebo na jednotlivé věty?)

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

Pouští se to na celou batch, reference jsou v nějakym dočasnym souboru a překlady tomu dávám rourou na vstup. Batch má velikost 64, takže jedině by se všech 64 vět přeložilo na prázdnou větu. (Což nevim jak moc je pravděpodobný, nicméně pokud to uskupí tak, že to jako první slovo vygeneruje </s>, aniž by to záviselo na vstupu, tak to takhle dopadne.)

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

Reference prázdná snad neni. V trénovacích datech jsem žádný prázdný řádky nenašel.

from neuralmonkey.

martinpopel avatar martinpopel commented on May 8, 2024

Ten můj wrapper předpokládá, že tst (typicky z roury) má stejný počet řádek jako reference. Ale nijak to nekontroluju (asi bych měl, protože jinak mteval spadne, ale snad na jiné chybě než division by zero). Jedna (několik) prázdná věta by vadit neměla, snad ani v referenci, ale to nemám ověřené. Máš-li minimal test case, na kterém to padá, tak se na to mohu podívat.

from neuralmonkey.

jindrahelcl avatar jindrahelcl commented on May 8, 2024

Tak už jsem to vyhackoval.. Když reference i hypotéza mají stejnej počet řádek, ale jedna řádka z reference obsahuje právě jednu mezeru (a nic víc), tak to padne. Příkaz:

perl wrap-mteval.pl excerpt.val.de.txt < excerpt.val.en.txt

Soubory:

excerpt.val.de.txt
excerpt.val.en.txt

EDIT: Padne to i když je ta řádka prázdná. Přiloženej output file má taky prázdnou řádku, ale spadne to i když na ní něco je. Pokud je prázdná řádka jen v outputu a ne v referenci, tak to projde.

EDIT2: Když se to spustí s -b, tak to funguje i s prázdnýma řádkama.

from neuralmonkey.

jlibovicky avatar jlibovicky commented on May 8, 2024

👍

from neuralmonkey.

martinpopel avatar martinpopel commented on May 8, 2024

Nemám čas teď zkoumat, proč NIST padá na prázdných větách v referenci, ale asi je to tak i správně (jen by to mělo napsat lepší hlášku s číslem prázdné řádky). Stejně ten NIST skript nemohu opravit "u zdroje". Tak jsem aspoň dodal option -b do mého wrapperu: ufal/qtleap@8f9ada01e148

from neuralmonkey.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.