On Tuesday, September 25, 2012 6:53:35 AM UTC+3, Jeffrey Kegler wrote:
I realize that my attempts to explain Marpa include the occasional
misfire. I hope readers will put this down to the newness and
unfamiliarity of Marpa's approach to parsing.
What I personally find ... uhmm ... interesting is that an open source tool that promises to parse natural language in linear time has gone so far unnoticed. NLP is hard and statistical models are said to do wonders with the recent advent of big data to a point called a death of science so probably nobody believes in practical natural language parsing anymore, but still.
If my recent "hyper-quantum" post seemed incomprehensible, the easiest
approach may be to ignore both it and the rest of this message and focus
on what is clear.
Well, anybody invoking anything quantum should probably be aware of this quote. :)
I know that my posts with code examples usually get
their message across more clearly. Those take a lot more effort, but I
try to do as many of those as possible.
For the record, Marpa does not do autothreading and does leverage
multiple cores in its parsing algorithm. Marpa is thread-safe in the
sense that N distinct Marpa grammars can safely be run on N cores. But
parses based on the same Marpa grammar share data, and cannot safely be
run in multiple threads, or on multiple cores.
If we have ruleset S and grammars G1 and G2 based on S and precompute()d separately and recognizers R1 and R2 based on G1 and G2, then can R1 and R2 be used for thread-safe parsing?
For all classes of grammar in practical use, Marpa achieves linear-time
non-determinism. But it does this ENTIRELY in software.
That's plain great—somebody has to say that, I think. :)