[Corpora-List] "Cargo cult" NLP?

Leon Derczynski leon at dcs.shef.ac.uk
Wed Apr 9 08:47:25 CEST 2014

Feynman's piece really is great, and the links between the things he points out and common practice in NLP seem pretty valid to me. Although it is common practice to lift the figures from one paper and compare them to newer work, the basis for doing this seems shaky.

For example, take the findings described shortlisted best paper at ACL last year, http://aclweb.org/anthology/P/P13/P13-1166.pdf . In this paper, researchers were unable to reproduce the results of a relatively uncomplicated and well-described system - even with the help of the original authors. I think this variability is pretty common in practical NLP; each tokeniser, ML implementation, evaluation implementation and so on has its own quirks, and sometimes they're even (gasp) non-deterministic. I am sure that many of us have, after giving an NLP assignment to students, seen solutions that are correct yet span a range of different performance scores.

Why should you trust what others report as a one-off experiment based on closed data and closed code? To me that sounds unscientific; to err is human, and trusting others' results absolutely is to assume perfection from every author in every experiment and over every dataset. There are definitely problems out there, as the above paper demonstrates. I think it is desirable to at least attempt to implement the competing method using as much toolkit overlap as possible when comparing to your own - and, even better, to reduce the emphasis on relatively small performance increases in cases where one could not reproduce prior results.

I'm not sure it's always feasible unless you have the code to hand; unfortunately the code often just isn't there, for understandable reasons (we are busy enough). Are any of our publication venues moving toward a "code & data" requirement for publication? One step in that direction is the explicit declaration of reproducibility by a committee, as done in VLDB; http://www.vldb.org/2013/experimental_reproducibility.html. A preference for drawing comparisons against reproducible baselines rewards those who make the effort to share their code.

All the best,


On 9 April 2014 06:16, Jason Eisner <jason at cs.jhu.edu> wrote:

> Feynman's piece <http://calteches.library.caltech.edu/51/02/CargoCult.pdf>is great, and I often recommend it to students, as well as quoting my
> favorite line ("The first principle is that you must not fool yourself --
> and you are the easiest person to fool.")
> But I think Noah is right: the particular problem Kevin mentions is not
> usually an issue in our community. Our equivalent to comparing two
> implementations "in the same laboratory" is to compare their accuracy on
> the same dataset, using the same metric. It's a reasonable presumption in
> computational experiments that other differences between labs won't affect
> the accuracy. We count on portability of the implementation, and assume
> that if your implemented method is beating mine, it's not because my lab
> has inferior machines (lossy memory, smaller word size, Pentium
> floating-point division bug, improper cooling, buggy compiler ...).
> Rather, we figure that my code would have done precisely as badly if run in
> your lab.
> Yes, there are situations where this argument doesn't apply:
> * You're comparing speed rather than accuracy. Speed isn't portable, so
> speed comparisons should indeed be done on the same machine under the same
> workload.
> * You're comparing the accuracy not of two implementations, but of (e.g.)
> two feature sets. Then it's important to ensure that the two
> implementations are matched in all respects other than the feature sets.
> But people generally seem to recognize these issues and get the
> comparisons right.
> I think a more pressing problem is that we tend to overinterpret our
> results. Someone reports that implementation AA of method A does
> significantly better than implementation BB of method B, when both are
> trained on dataset D. The comparison was performed on n samples from test
> distribution P, using metric M. But this hardly shows that A will do
> better than B in other settings. The advantage might not carry over to
> other pairs of implementations, other training sets, other test
> distributions, or other evaluation metrics. The statistical significance
> shows only that n was big enough (to reject the null hypothesis) when
> everything else was held fixed.
> This latter concern is more closely related to the traditional demand that
> studies be replicated<http://www.plosmedicine.org/article/info%3Adoi%2F10.1371%2Fjournal.pmed.0040028>.
> Replication involves some degree of generalization, to determine whether
> the claimed causes are still able to produce the effect in a new setting.
> This is different from merely expecting results to be reproducible (which
> they are if the code and data are saved)
> regards, jason
> On Tue, Apr 8, 2014 at 9:59 PM, Noah A Smith <nasmith at cs.cmu.edu> wrote:
>> What are the "unknown ways" that one NLP researcher's conditions might
>> differ from another NLP researcher's? If you're empirically measuring
>> runtime, you might have a point. But if you're using a standardized
>> dataset and automatic evaluation, it seems reasonable to report others'
>> results for comparison. Since NLP is much more about methodology than
>> scientific hypothesis testing, it's not clear what the "experimental
>> control" should be. Is it really better to run your own implementation of
>> the competing method? (Some reviewers would likely complain that you might
>> not have replicated the method properly!) What about running the other
>> researcher's code yourself? I don't think that's fundamentally different
>> from reporting others' results, unless you don't trust what they report.
>> Must I reannotate a Penn Treebank-style corpus every time I want to build
>> a new parser?
>> --
>> Noah Smith
>> Associate Professor
>> School of Computer Science
>> Carnegie Mellon University
>> On Tue, Apr 8, 2014 at 6:57 PM, Kevin B. Cohen <kevin.cohen at gmail.com>wrote:
>>> I was recently reading the Wikipedia page on "cargo cult science," a
>>> concept attributed to no lesser a light than Richard Feynman. I found this
>>> on the page:
>>> "An example of cargo cult science is an experiment that uses another
>>> researcher's results in lieu of an experimental control<http://en.wikipedia.org/wiki/Experimental_control>.
>>> Since the other researcher's conditions might differ from those of the
>>> present experiment in unknown ways, differences in the outcome might have
>>> no relation to the independent variable<http://en.wikipedia.org/wiki/Independent_variable>under consideration. Other examples, given by Feynman, are from educational
>>> research <http://en.wikipedia.org/wiki/Educational_research>, psychology<http://en.wikipedia.org/wiki/Psychology>(particularly
>>> parapsychology <http://en.wikipedia.org/wiki/Parapsychology>), and
>>> physics <http://en.wikipedia.org/wiki/Physics>. He also mentions other
>>> kinds of dishonesty, for example, falsely promoting one's research to
>>> secure funding."
>>> If we all had a dime for every NLP paper we've read that used "another
>>> researcher's results in lieu of an experimental control," we wouldn't have
>>> to work for a living.
>>> What do you think? Are we all cargo cultists in this respect?
>>> http://en.wikipedia.org/wiki/Cargo_cult_science
>>> Kev
>>> --
>>> Kevin Bretonnel Cohen, PhD
>>> Biomedical Text Mining Group Lead, Computational Bioscience Program,
>>> U. Colorado School of Medicine
>>> 303-916-2417
>>> http://compbio.ucdenver.edu/Hunter_lab/Cohen
>>> _______________________________________________
>>> UNSUBSCRIBE from this page: http://mailman.uib.no/options/corpora
>>> Corpora mailing list
>>> Corpora at uib.no
>>> http://mailman.uib.no/listinfo/corpora
>> _______________________________________________
>> UNSUBSCRIBE from this page: http://mailman.uib.no/options/corpora
>> Corpora mailing list
>> Corpora at uib.no
>> http://mailman.uib.no/listinfo/corpora
> _______________________________________________
> UNSUBSCRIBE from this page: http://mailman.uib.no/options/corpora
> Corpora mailing list
> Corpora at uib.no
> http://mailman.uib.no/listinfo/corpora

-- Leon R A Derczynski Research Associate, NLP Group

Department of Computer Science University of Sheffield, UK

http://www.dcs.shef.ac.uk/~leon/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/html Size: 11574 bytes Desc: not available URL: <https://mailman.uib.no/public/corpora/attachments/20140409/64e35bcc/attachment.txt>

More information about the Corpora mailing list