Archive for the ‘Opinion’ Category

Perfect What?

22 Mar 2010

We have been musing about the true topology of semantic spaces and how this affects our concept of dimensionality. This segués logically into a hot area of contention. In our linear approximation of meaning, how many dimensions do we really need and what should they be?

Some people prefer to approach this problem mathematically. Given a representative sample of documents to describe semantically, we can look at the relationship between terms and documents as a defining a vector space. One can then apply the method of singular vector decomposition (SVD) to find a minimal set of basis vectors to span that space. These singular vectors are like eigenvectors on steroids.

If you have actually read this far into this blog, then you will know that we (TextWise) have a competitor that employs SVD for semantic analysis. We get asked all the time why we have stuck with basic statistical techniques when we could instead be rigorously mathematical. Our usual response is that we have much faster turnaround in building semantic dictionaries, finer-grain descriptions of content, and more intuitive concepts overall.

There are more fundamental concerns, however, both theoretical and practical. On the theoretical side, SVD might be pushing a linear-space semantic model too far if meaning is in fact topological complex. More significantly on the practical side, though, is that one might be getting caught in the common problem of overtraining.

Suppose that we have a hundred thousand blog posting to which we apply SVD to get some optimal set of dimensions for analyzing their content. What then happens next week when we get a million new blogs that we have never seen before? Our perfect basis set is now distinctly handicapped.

Now we could try to reprocess all our data here, but SVD is so computationally intensive as an algorithm that it probably will be too slow to keep up without superextraordinary investments in hardware resources. We also would end up with an unstable system in which it is quite difficult to compare results from one week to the next. Anyway, we made our choice here.

People in the information sciences are fond of high-dimensional vector spaces as models of document content. These are in fact only approximations of reality, however; and in the specific case of semantics, they are probably an oversimplification. We already know something about how the neural circuitry in our brains work when we process the meaning of language; we can find no clean finite-dimensional linear space in the tangle of our synapses.

Neural imaging like PET does support the theory that linguistic concepts correspond to particular clusters of neurons connected in fairly complex feedback loops. Our understanding here is still quite limited, though. We do not know how many such clusters exist or how widely they are distributed. Visual concepts are in a different part of the brain than auditory concepts, for example; and overall, we have not yet found any obvious switchboard, say in the hippocampus, that could somehow tie everything together neatly.

In our computational semantic model, we assume that all concepts are independent and equal. That seems to work in semantic dictionary applications when we have thousands of concepts of concepts as dimensions, but an espistemologist here would have the lurking suspicion that our actual semantic space has to be some kind of complex manifold with all kinds of holes and twisting surfaces like a deranged n-th-order Moebius strip. Meaning is messy.

Our linear Euclidean model may therefore be valid only in a small local region of our actual semantic space, but in practice, that is really where all our apps have to live. One cannot presume to comprehend all possible content in text. We can only slice off a small piece of the pie of meaning, and until world peace and perfect enlightenment break out, that is a good start.

Recently I came across this blog post while following the #prodmgmt hashtag in Twitter: “Death by a thousand paper cuts…”  The author Gopal Shenoy, talks about how visiting your customers gives you valuable insight into their daily ills and what you can do to fix them.

This article caused me to reflect on similar experiences I’ve had.  With a giant dose of humility and non-defensiveness, you can certainly learn a lot from your customers and see first-hand those things that start out as little frustrations, but over time mount to productivity losses and if you’re not careful, the loss of a loyal customer.

Now I know every Product Manager recognizes the importance of repeat customers, especially in today’s economic environment, but sometimes it’s easy to lose site of what it really takes to keep them.  It’s not always what I call Big Feature X.  I’ve sat next to a customer who’s been trying unsuccessfully to import a massive spreadsheet of data into the application and getting bogged down in the process, and another who’s had to repeat the same step over and over again when a simple “update all users” option would have done the job.

I have also experienced a surprising standing ovation, when I presented a single unattractive slide with a bulleted list of the small enhancements we’d made over the past six months. The customers in the audience stood up and cheered and so did the sales reps. Why?  Because the customers felt we finally heard them.  I mean we really listened to our customers and we made their lives easier.

One of the customers came to me during dinner that evening and told me how she was looking forward to my Big Feature X and she was sure it would be awesome, but she doubted it would come close to the happiness she felt when she clicked that “update all users” option the very first time.  She was able to finish her month-end tasks in minutes instead of the 3-4 days she usually allocated to this task.

I walked away from that Sales Meeting slightly embarrassed, but with a lesson that I will never forget.  Listen to your customers.  Really listen. Whether you’re on site, or whether they’re talking via social media tools like Twitter and Facebook, or through blogs, forums or other web tools, listen to them.  Paper cuts hurt.  And thousands of them?  No way.  Sooner or later that paper’s going in the trash and the next thing you know, they’re reaching for a new sheet of paper from another stack. Ouch!

I use Google Reader religiously. Google Reader is one of my first web destinations in the morning and one of the last at the end of the day. I skim titles looking for clues as to what will be of interest to me (I only view items in the ‘list’ format, I’d be dead and buried by the time I got to the end if I viewed in the ‘expanded’ format). My Reader account keeps me informed, in-the-know, and on top of the latest bit of intelligence I can hope to find. I replaced my once beloved Bloglines for this service.

Now Google Reader has become my biggest nemesis, a time-waster if you will, the bigger it gets. Loosely organized and, because it’s based on RSS feeds, not real-time by any stretch of the imagination (our own blog posts here on SemanticHacker.com take hours to show up) I can spend literally hours perusing the information tsunami that happens on a daily basis. Like most of the population I have many interests from keeping up with the latest social media marketing craze to what’s happening in the world of semantic web applications to finding fun toys at discount prices I can buy for my kids.

What are Google Reader’s Shortcomings?

1.      Organizing feeds is a manual process.
Every time I subscribe to a new RSS feed, I need to manually place it into a folder. Many times the feed I subscribe too crosses the line of the topics it covers (TechCrunch is a prime example of this).

2.      The ‘starring’ option is an unusable feature.
Relevant to the point above, unless Google can automatically organize my starred items, this is as pointless as starring something in Gmail. Likewise for items I’ve shared and those the people I follow have shared.

3.      Search is nice, but of course, keyword-based.
Steve Rubel thinks it’s a good personal database search using Google, but let’s face it – it doesn’t solve the overwhelming-amount-of-information-problem. If I search for ‘Facebook acquisition,’ there is no context in which it searches. Essentially I’m still forced to filter through (in my case) 740 items.

How Google Reader Can Be Better

1.      Make it real-time.
Go beyond RSS. Allow me to add my Twitter accounts (I manage more than 1) and Facebook account. Maybe Google Caffeine gets us closer.

2.      Automatically organize my feeds.
Don’t allow me to create folders and force a feed into a single topic. Sure it would be smart to allow the user to rename the folder, but the immediate organization of the feed shouldn’t be so daunting or simplistic – “marketing” is too broad and I don’t have the time or patience to narrow these down further.

3.      Fix search.
A loaded statement for sure, but show me related items in my feeds just by using a specific article as the basis for a search. Blatant plug here, but if everything was indexed and tagged with a Semantic Signature, this feature would be a no-brainer. Why rely on keyword matching when I already have an idea of what more I want to see?

Recently TechCrunch had their own idea of what else needs fixing with the newer “like” feature and I fully concur so I don’t think I need to rehash that.These are just a few of my wish list items for Google Reader and they are making an effort to add functionality, so perhaps one day I will see something like one of these I mentioned above come to fruition.