Thursday, 22 October 2015
Tuesday, 21 July 2015
Earlier this year, I helped to organise the Sixth Language Creation Conference, which I did so that I could finally get to meet so that I could finally meet some of the friends I've made online over the past few years. Among these were John Quijada (who later wrote some very flattering things about me in the Language Creation Tribune) and David Peterson, of whom some of you may have heard.
Conlanging is not the only thing we have in common. We're all progressive rock fans, too, but while I have never managed to get a band together, John has composed an album's worth of material, and recorded it with David singing. Here's the first track.
The impressive thing here is that David is singing in Ithkuil. Ithkuil is John's conlang, and it's very complex. It has about twice as many sounds as English, and allows more complex combinations. Due to the great precision and concision of Ithkuil, the slightest mispronunciation would change the meaning. It must have taken David ages to learn to sing it.
Wednesday, 17 June 2015
A post on Data Community DC discusses Why You Should Not Build a Recommendation Engine. The main point is that recommendation engines need a lot of data to work properly, and you're unlikely to have that when you start out.
I know the feeling. In a previous job I created a recommendation engine for a business communication system. It used tags on the content and user behaviour to infer the topics that the user was most likely to be interested in, and recommend content accordingly. Unfortunately, my testbed was my employer's own instance of the product, and the company was a start-up that was too small to need its own product. I never really got a handle on how well it worked.
This brings me to Emily. Emily isn't a product. It's a personal portfolio project. I had an idea for a recommendation system that would infer users' interests from content they posted in blogs, and recommend similar content. The problem is, the content it recommends comes from the other users, so at its current early stage of operation, it doesn't have much to recommend. The more people use it, the better it will become, but what's the incentive to be an early adopter?
What I seem to have at the moment is a recommendation engine that needs somebody to recommend it.
Tuesday, 9 June 2015
Thursday, 4 June 2015
Developing Emily - Revision 24: Porting to OpenShift. AppEngine wasn't suitable for the computationally intense
Porting to OpenShift. AppEngine wasn't suitable for the computationally intense parts of Emily.
from Subversion commits to project emily-found-a-thing on Google Code http://ift.tt/1G9GWoV
Tuesday, 26 May 2015
Emily is a semantic recommendation system for blogs that I've been working on. If you give it an Atom or RSS feed from a blog, it will create a feed of items from other blogs that hopefully match your interests.
It does this by using significant associations between words to infer your interests. Suppose a randomly-chosen sentence from your blog has a probability P(A) of containing word A, and a probability P(B) of containing word B. If there were no relationship between the words, we would expect the probability of a sentence containing both words to be P(AB)=P(A)P(B). If there is significant information contained in the relationship between the words, they will cooccur more frequently than this, and we can quantify this with an entropy, H=log2 P(AB) - log2 P(A) - log2 P(B)
Emily uses the strengths of these associations to calculate the similarity between two blogs. Then, if you post an article that makes your blog more similar to somebody else's blog than it was before, that article is recommended to them.
This has been an interesting project for me. I've learned about Google App Engine, pubsubhubbub and Atom. What I need now is for people to try it out. I'm looking forward to when Emily starts finding things for me.
Thursday, 21 May 2015
Ready to launch
from Subversion commits to project emily-found-a-thing on Google Code http://ift.tt/1IN7SNv