<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Random Hacks: Interesting Python libraries for natural language processing</title>
    <link>http://www.randomhacks.net/articles/2009/12/28/interesting-python-libraries-for-natural-language-processing</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Technology and Other Fun Stuff</description>
    <item>
      <title>Interesting Python libraries for natural language processing</title>
      <description>&lt;p&gt;I&amp;#8217;ve been looking at various libraries for natural language processing, and I&amp;#8217;m pleasantly surprised by the tools created by the Python community. Some examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Python &lt;a href="http://www.nltk.org/"&gt;NLTK&lt;/a&gt; library provides parsers for many popular copora, visualization tools, and a wide variety of simple natural language algorithms (though few of these are probabilistic). Highlights include:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://wordnet.princeton.edu/"&gt;WordNet&lt;/a&gt; support.&lt;/li&gt;
&lt;li&gt;NumPy integration (see below).&lt;/li&gt;
&lt;li&gt;An accessible &lt;a href="http://www.nltk.org/book"&gt;introductory book on natural language processing&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://conceptnet.media.mit.edu/"&gt;ConceptNet&lt;/a&gt; provides a simple semantic model of the world.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://numpy.scipy.org/"&gt;NumPy&lt;/a&gt; (and &lt;a href="http://www.scipy.org/"&gt;SciPy&lt;/a&gt;) provide extensive support for linear algebra and data visualization.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mathema.tician.de/software/pycuda"&gt;PyCUDA&lt;/a&gt; provides access to Nvidia GPUs for high-performance scientific computation, and it integrates with NumPy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you need to build a web crawler, there&amp;#8217;s &lt;a href="http://twistedmatrix.com/trac/"&gt;Twisted&lt;/a&gt;, which makes it easy to write fast, asynchronous networking code.&lt;/p&gt;

&lt;p&gt;All in all, I usually prefer Ruby to Python, because I love &lt;a href="http://www.randomhacks.net/articles/2005/12/03/why-ruby-is-an-acceptable-lisp"&gt;Ruby&amp;#8217;s metaprogramming support&lt;/a&gt;. But the Python community has built an impressive variety of scientific and linguistic tools. Many thanks to everybody who contributed to these projects!&lt;/p&gt;</description>
      <pubDate>Mon, 28 Dec 2009 15:56:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:41c8c423-bcb5-4d98-bb64-ede7ca42792f</guid>
      <author>Eric Kidd</author>
      <link>http://www.randomhacks.net/articles/2009/12/28/interesting-python-libraries-for-natural-language-processing</link>
      <category>Python</category>
      <category>NLP</category>
      <trackback:ping>http://www.randomhacks.net/articles/trackback/737</trackback:ping>
    </item>
  </channel>
</rss>
