Segmenting Words and Sentences

Even simple NLP tasks such as tokenizing words and segmenting sentences can have their complexities. Punctuation characters could be used to segment sentences, but this requires the punctuation marks to be treated as separate tokens. This would result in abbreviations being split into separate words and sentences. This post uses a classification approach to create ...

Extracting Noun Phrases from Parsed Trees

Following on from my previous post about NLTK Trees, here is a short Python function to extract phrases from an NLTK Tree structure.

NLTK Trees

A number of NLTK functions work with Tree objects. For example, part of speech tagging and chunking classifiers, naturally return trees. Sentence manipulation functions also work with trees. Although Natural Language Processing with Python (Bird et al) includes a couple of pages about NLTK’s Tree module, coverage is generally sparse. The online documentation actually contains ...

Part of Speech Tags

A frequently asked question is “What do the Part of Speech tags (VB, JJ, etc) mean?” The bottom line is that these tags mean whatever they meant in your original training data. You are free to invent your own tags in your training data, as long as you are consistent in their usage. Training data ...

Support for SciPy in NLTK’s Maximum Entropy methods

Recently I have been working with the Maximum Entropy classifiers in NLTK. Maximum entropy models are similar to the well known Naive Bayes models but they allow for independence between the features – i.e. they are not “naive”. SciPy has had some problems with its Maximum Entropy code, and v0.8 must be used. v0.9 crashes ...

Voting Machines in the Florida 2000 Election

This example uses Caliper® Maptitude® to analyze the Florida results of the 2000 US Presidential Election. During the 2000 Presidential Election, the results for Florida came under close scrutiny and argument, with the final result being decided by the courts. Amongst the accusations was the charge that a lot of people in the county of ...

Technical Overview: GeoNames

GeoNames is a series of web services to an extensive geographical database of over 8,000,000 names. The database is also available for “bulk” download. Both access methods are under the Creative Commons attribution license. The web services are available through free and commercial interfaces, and using a number of different format/protocols.

Polar Maps and Projections: Part 2, Implementation

The first part of this article looked at different ways of producing polar maps and surveyed a number of different azimuthal projections that are often used for polar maps. In this second part, I produce a working implementation using UMN MapServer and OpenLayers.

Polar Maps and Projections: Part 1, Overview

With the success of my earlier series on global equal area map projections (starting with this overview), I received a number of requests to produce a similar how-to article for polar maps. The first part of this article (published here) provides an overview of a number of different map projections commonly used for polar maps. ...

How to create an online map with a non-Mercator Projection: Part 2

In the first part of this article we created a WMS server of basemaps using an unconventional map projection (the Mollweide projection). In this second part, we shall implement the client side of the project, creating a working application that will plot user data on the basemaps.