Monday, May 21, 2012

Google Knowledge Graph: a further step towards the Semantic Web?

...maybe yes!

According to Google, Knowledge Graph is the new frontier of Web Search. From the video below, it seems that Google was able to build a huge semantic network that will be exploited to retrieve semantically related content to a query.

 

However, it is not yet capable to fully understand natural language queries such as those showcased by PowerSet a few years ago:

1. Books on children

2. Books for children

The above queries differ only on the prepositions: "on" vs "for". Standard search engines get rid of these words in the indexing phases (they are "stopwords". Unless the content is indexed differently there is a minimal chance that the right results will be selected for the different queries. In other words, for Google the two queries are identical.

If you think that you may overcome this problem by putting the query into brackets: "books on children", Google will only return results that contains the string "books on children", which is not exactly what we are looking for.

Being a book ON children means that the book should tell stories about children. This is a PROPERTY of the BOOK object. More precisely is the value of the attribute TOPIC for the concept BOOK (if you speak RDF, it would be the triple topic(book, children)).

I don't know what exactly are the plans at Google, but if they really want to make progress towards the Semantic Web, they should turn their "classical" indexes into an RDF version of them where the text of the pages is semantically parsed and the semantic roles extracted. This is a very computationally expensive task (well, IBM Watson did it).

But it is not enough. Google should also process the query differently, i.e. without removing stopwords like prepositions as they carry essential semantic meaning as in the above queries. The technology for doing this already exists and it is also quite effective. I am sure Google is onto it.

Sunday, May 20, 2012

Spam ads

Google's contextual ads are too "contextual". For instance, when you visit your own GMail spam folder, it prompts you with an ad for the term "spam", as you can check from the picture below:


You might notice the "Ginger Spam Salad" recipe link that appears over the "Delete forever button".

This phenomenon allows me to talk about "Word Sense Disambiguation", a Natural Language Processing technique that Google seems not using in this situation. Basically, Google is not able to distinguish between the two senses of the word "spam" (corned beef and unsolicited mail).

Friday, May 11, 2012

Lean vs Fat startup debate: an argumentative analysis

From this video, Mr. Ben Horowitz has pointed out three alleged flaws of the Lean Startup Model:

1. It presumes when you have achieved product-market fit. The supporting example was about measuring success of products over time. iPods did not sell as fast as iPhones, and on that basis Apple should not have introduced other iPod models after iPhone. 

This argument is flawed because, first Apple is not a startup. Second, and most importantly, Lean Startup never said that one should use metrics from another products to assess the product-market fit of a product. In the example, exactly because of the risk of cannibalizing iPods, Apple decided to introduce new models (i.e. to do a pivot, as Lean Startup suggests).

2. Lean Startup presumes that once you have product-market fit you can't loose it. The supporting example, is Netscape that once had the product-market fit, but lose it when Microsoft included Internet Explorer in the OS.

Again, the fallacy resides on the fact that Netscape was not a startup. But more importantly, this was not a problem with customers needs, but rather than an external factor that forced the users to accept Microsoft policies/strategies. Horowitz points out that they "did not have the luxury to address the issue in the Lean Startup way". That's not a "luxury", is a rational way to adopt if a company cannot afford to splash milions for crashing new product development. Actually, it is the Fat way a luxury that startups cannot afford. In such a case, Lean provide a way to achieve decent results with a fraction of "Fat" resources.

3. Lean startup implies or assume that there is no competition. What if prior achieving product-market fit, even if the market is large, a scary competition appears. The supporting example is taken from VMWare who take care to invest money in order to be ahead of open-source competitors like Xen and big scary competitors such as Microsoft.

The argument is obviously fallacious because, first not even VMWare was a startup, but secondly because if crashing massive resources to gain competitive advantage works well, this does not necessarily mean that Lean doesn't. When it is not possible to deploy brute force to deal with competitors, Lean offers smart tools (like David and Goliath). One idea is to elicit niches where competitors are weak or not considering so that the startup can avoid direct competition and possibly erode the main market. Lean Startup is in that sense compatible with the work of Christensen's work on disruptive technology and emergent markets. 

The problem with Horowitz is not business skills; it's LOGIC. He provided three fallacious arguments against Lean Startup. I also believe that Lean is not universal and there are many contexts where it does not apply well (e.g. large established companies for mainstream products). Also, Lean Startup advocates that once the business scales, the conditions change and probably the methodology is no longer applicable.

Besides, a Fat startup model has several problems, among which "premature scaling". Horowitz was unable to explain how the Fat model could be beneficial for startups as he showed only Big Companies examples.

On the other hand, the Willson's argument was much clearer and plausible:

"Wilson’s argument focused more on how to maximize the probability that entrepreneurs will get favorable exits. He boils down the formula to: (Founder’s Stake) x (Probability of an exit) x (Size of the exit). Wilson says to focus on the first two variables. Accepting more funding will dilute the founder’s stake, but it isn’t going to proportionally increase the probability of an exit (which is based on far more factors). In other words, it hurts the likelihood of a favorable outcome (at least from the entrepreneur’s perspective). Likewise, he says investors are looking to mitigate risk, which is why investing small amounts when a company is young is in their interest."

However, he only focused on one of the many benefits of the Lean Startup model: the reduced need of initial resources. Lean Startup is a comprehensive methodology that make sense for startups (possibly with a few exceptions), and it has several facets. 

My personal opinion is that Lean Startup can help startups in finding the right direction towards a sustainable, profitable business model by incorporating failure in the product and market development process. Failure becomes a learning event, which allow the startup to "rule out" the failing paths (or pruning, to use a Computer Science terminology, the "dead branches" of the business opportunity search tree) very early in the process.  

Sunday, April 08, 2012

Divergent thinking

Dear Readers,

I would like to resume my blog today with an Easter egg. 

I stumbled upon this talk given by Tina Seelig about Divergent Thinking and related subjects.

Divergent thinking, when combined with convergent thinking results into Design Thinking.

 

Design Thinking is what is needed to create new things and change the world. Sometimes people only see the "convergent" side of this process, because they can only see the result of it. Instead, ideas generation is the most challenging part and often hidden. Even Steve Jobs, before getting it right, have explored plenty of designs he did not hesitate to throw away if they did not meet his standards. 

Nobody get it right from the beginning. But everybody is able to explore the search space of ideas. But also people are afraid to explore this, possibly large, space because they can get lost. Moreover, many assume that sharing one idea means believing that the idea is the best or the right one from the perspective of who generated it. This a wrong assumption. Generated ideas are not right or good. They are just ideas... that need to be validated. Ideas are assumptions, and assumptions need to be validated. Only after this process, one can say if they are good or bad. If you don't do that, you are simply biased. 

This is where convergent thinking unfortunately kick off prematurely. Once an idea is generated, instead of taking position in favor or against it, one should think about how to validate it with a neutral standpoint. Validating, means setup experiments and put the idea at work. Sometimes is very straightforward and brainstorming might be sufficient. Some other times, it can be very challenging and it would require a complex experiment.

In no case, an idea should be classified immediately as a non-sense. Moreover, ideas can be tweaked and made feasible and valuable just by changing the some assumptions that don't work. That is "morphing". As I said before, nobody get it right from the beginning, but there is a high chance that they get it "almost" right.

Another situation is when some assumptions are believed to be validated and in fact they are not. When implemented, these ideas fail just because some of their assumptions were believed true and in reality they were not (e.g. customers like it because I like it). In these situations, one has to have the courage to throw away work done and start from the beginning. This is called "pivoting". 

In my opinion, if pivoting is required often later in the process of developing an idea, it means that too little has been done in the "divergent" phase of design. In other words, ideas were not explored adequatelly.

In the divergeng phase, one can use the "re-framing" technique. This is when, one tries to see things from different perspectives. The idea can be the same, but you look at it in a different way. You do this when you say "let's see this as it was that". In other words, you can use different metaphors.

As pointed out by Tina Seelig, metaphors are a very powerful tool to change perspective. Metaphors are orthogonal to ideas. Of course, adding an additional dimension makes the process more complex and difficult to manage. However, the chances to find the best idea are higher. 

Dealing with metaphors requires to see things differently. If you see ideas differently, the assumptions might change and turn out to be validated. This is something we do for instance when we change market segments or consider a different use of a product. Well, in reality we don't do this, our users do. Yes, because they are not biased like us by "convergent" thinking: they are naturally "divergent". 

That is why, "validated learning" is very helpful. Validated learning is a technique promoted by the Lean Startup Model proposed by Eric Ries. The idea is that assumptions are validated through the building of a Minimal Viable Product (MVP)t that users can test and provide feedback to. Then you learn by measuring the feedback and then iterate the process by integrating what is learned in the next version of the MVP. 

To conclude this post, I would like to stress that being a Design Thinker might be challenging if you work with "convergent" thinkers. They tend to see in black and white whereas you see colors. They see one dimension where you see two (like in Flatland). They blame you to bring distraction where they need focus. They see threats where you see opportunities. And most of all, they fear "pivoting" because they have focused so much energy in developing one single idea that throwing it away would represent a big failure for them. 

Design thinkers know that faillure is the only way to success and they are just fine with it. For 100 bad ideas there might be a good one. They know that the only way to seize it is to rule out the other 99.

So don't be disappointed if you don't find what you expected in the Easter egg.

Happy Easter to everybody!

   Vincenzo