July 31, 2012 at 10:57 AM
I ran across AlchemyApi about a year ago and implemented a service that digested all the feeds I'm subscribed to in Google Reader and saved meta data about each feed post in a database. This allowed me to search the database from a Silverlight front end and look at posts with a given keyword, category, etc.
What is AlchemyAPI?
This is an API to which you can pass text or the URL to a web page and what you get back, depending on the service method you call, are entities, keywords, categories, concepts, relation and more. The service uses NLP to process the text or web page and extract the asked for values.
How is it useful?
It would seem to me the primary use for such functionality would be to have it parse the text of a piece of content and the returned meta-data would be used to tag certain words or phrases such that a user could hover over the text or click it and see information about it. Text specifying companies, people or technologies, for example, could contain information and links to further define the item
Since the service returns keywords and categories, it's also useful for the classification of a body of text. This is what I plan to use the service for. I am subscribed to over 500 feeds in Google Reader and it takes a considerable amount of time to browse all the posts for a given day. I'm currently working on a project that will process all the posts from each feed and save the meta-data about each to a database. This should, effectively, create a knowledge store I can search from a web application in order to research topics of interest. I will also be using it to expand the information my smart home knows about by mapping the entities to tokens inside the Language parser. Also, the relations (RDF triplets) form statements that can be retrieved when the user asks a question of the smart home system. I'm rewriting the implementation of this application to provide this integration and also to take advantage of TPL Dataflow to parallelize the processing.
By just signing up, you get 1000 API calls a day. They offer plans to support whatever level of service you require. The services are implemented as web API's, but they provide a set of .Net classes that simplify making the calls.
In the next few posts, I'll be writing about details of getting set up to use the service and how I'm using it in the application I mention above. I'll also be sharing the code for this application when it gets to a point where it makes sense to do so.
July 25, 2012 at 6:35 AM
Over the past several months, I have been asked many times to consider releasing the Natural Language processor I have written to the community as an open source project. While I am not quite ready to commit to doing this, I do have good news for those of you who are interested in obtaining source code to an engine very similar to mine.
Ian Mercer, whose NLP engine inspire my own, has decided to release the source code for his engine as open source. You can find the project on GitHub.
For those of you who have been asking for access to a project like this, good luck and I hope you enjoy digging into this project.