You are hereBlog / Rob Speer's blog
Rob Speer's blog
Years ago, we made a decision to put all our Python packages in a common namespace called csc. To put it simply, this did not work well. Today, we have finally undone this decision by deprecating the csc namespace and renaming every single one of our modules. Python programmers, please learn from our mistake and never make a namespace package.
The new names to import are:
- csc.conceptnet → conceptnet
- csc.divisi2 → divisi2
- csc.nl → simplenlp
- csc.util → csc_utils
- csc.corpus → conceptnet.corpus
- csc.lib → conceptnet.lib
- csc.django_settings → conceptnet.django_settings
- csc.pseudo_auth → conceptnet.pseudo_auth
- csc.webapi → conceptnet.webapi
There's still a package called csc, and basically what it's there for is to make your old code keep working. When you import something from csc, this package will find the new name of the package and import everything from there.
Read on for more details, including how to update your installation.
A blogger named Joseph Turian recently posted a challenge about finding semantically-related terms based on a very noisy data set. The results will be evaluated by humans.
This sounded like exactly what our techniques are good at.
The input data was certainly as noisy as promised. It was basically a corpus of .uk Web pages, run through a very unreliable phrase detector and reduced down to unique phrases.
Catherine and I are currently at SciPy 2010, presenting Divisi, our Python SVD toolkit.
I've been spending some time working on backend code -- the code that can make everything else we do easier and smoother.
For one thing, I want to draw attention to the ConceptNet Web API. This has actually been around for a while, but I've recently added a couple of new commands to it, and I consider it stable enough that it deserves more publicity.
If you want to build an application that uses information from ConceptNet, the "traditional" way is to install our Python API, download a copy of the database, set up that database, and write Django queries that give you what you want. This is overkill for a lot of situations, and of course doesn't work very well for programs that aren't written in Python.
The ConceptNet Web API is there as a more flexible alternative. Instead of having to set up anything, you can use it right now: Hey ConceptNet, tell me three things about penguins.
We've just imported a whole lot of data from Verbosity, one of Luis von Ahn's Games with a Purpose. Verbosity collects common sense knowledge through a game: one person is given a word, and needs to get the other person to guess that word by listing common-sense facts about it.
Last month, she finally earned her Ph.D (congratulations!). Now, she's returned to the Media Lab as a post-doc, where she'll once again be able to work on Open Mind and its applications full time. It's great to have her as an official part of the group again!
As we acquire more users and try to do more complicated reasoning behind the scenes, clearly what we need to do is
Sorry, I meant to say: clearly what we need to do is keep finding ways to cache lots of stuff and using whatever computing power we can find. Anyway, I'm working on it.
The big changes: