<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Natural-Language-Processing on Ryan Orban</title><link>https://ryanorban.com/categories/natural-language-processing/</link><description>Recent content in Natural-Language-Processing on Ryan Orban</description><generator>Hugo</generator><language>en-us</language><managingEditor>me@ryanorban.com (Ryan Orban)</managingEditor><webMaster>me@ryanorban.com (Ryan Orban)</webMaster><copyright>Ryan Orban</copyright><lastBuildDate>Mon, 28 Apr 2014 00:00:00 +0000</lastBuildDate><atom:link href="https://ryanorban.com/categories/natural-language-processing/index.xml" rel="self" type="application/rss+xml"/><item><title>Parsing English with 500 Lines of Python</title><link>https://ryanorban.com/notes/parsing-english-500-lines-python/</link><pubDate>Mon, 28 Apr 2014 00:00:00 +0000</pubDate><author>me@ryanorban.com (Ryan Orban)</author><guid>https://ryanorban.com/notes/parsing-english-500-lines-python/</guid><description>&lt;h3 id="summary" class="scroll-mt-8 group"&gt;
 Summary
 
 &lt;a href="#summary"
 class="no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block"
 aria-hidden="true" title="Link to this heading" tabindex="-1"&gt;
 &lt;svg
 xmlns="http://www.w3.org/2000/svg"
 width="16"
 height="16"
 fill="none"
 stroke="currentColor"
 stroke-linecap="round"
 stroke-linejoin="round"
 stroke-width="2"
 class="lucide lucide-link w-4 h-4 block"
 viewBox="0 0 24 24"
&gt;
 &lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" /&gt;
 &lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" /&gt;
&lt;/svg&gt;

 &lt;/a&gt;
 
&lt;/h3&gt;
&lt;p&gt;Matthew Honnibal (later the creator of spaCy) wrote this post to demonstrate that dependency parsing — extracting the grammatical structure of a sentence — doesn&amp;rsquo;t require a massive industrial system. The algorithm he describes is an arc-eager transition-based parser using a perceptron for scoring transitions. It produces good accuracy on standard benchmarks while fitting in a few hundred lines of readable Python.&lt;/p&gt;</description></item><item><title>Natural Language Processing for the Working Programmer</title><link>https://ryanorban.com/notes/nlp-working-programmer/</link><pubDate>Mon, 11 Feb 2013 00:00:00 +0000</pubDate><author>me@ryanorban.com (Ryan Orban)</author><guid>https://ryanorban.com/notes/nlp-working-programmer/</guid><description>&lt;p&gt;&lt;img
 src="https://ryanorban.com/images/notes/nlp-working-programmer.png"
 alt="Natural Language Processing for the Working Programmer" class="note-hero-img"
 loading="lazy"
/&gt;
&lt;/p&gt;
&lt;h3 id="summary" class="scroll-mt-8 group"&gt;
 Summary
 
 &lt;a href="#summary"
 class="no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block"
 aria-hidden="true" title="Link to this heading" tabindex="-1"&gt;
 &lt;svg
 xmlns="http://www.w3.org/2000/svg"
 width="16"
 height="16"
 fill="none"
 stroke="currentColor"
 stroke-linecap="round"
 stroke-linejoin="round"
 stroke-width="2"
 class="lucide lucide-link w-4 h-4 block"
 viewBox="0 0 24 24"
&gt;
 &lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" /&gt;
 &lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" /&gt;
&lt;/svg&gt;

 &lt;/a&gt;
 
&lt;/h3&gt;
&lt;p&gt;&amp;ldquo;Natural Language Processing for the Working Programmer&amp;rdquo; was a free online book at nlpwp.org that taught NLP concepts using Haskell as the implementation language. This made it distinctive in a field dominated by Python tutorials: using a functional programming language to teach NLP aligned naturally with the mathematical structures underlying the field (probability distributions, transformations, composition of text processing steps).&lt;/p&gt;</description></item></channel></rss>