<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>semanticvoid</title>
	<atom:link href="http://semanticvoid.com/index.php/feed" rel="self" type="application/rss+xml" />
	<link>http://semanticvoid.com/blog</link>
	<description>extracting the semantics from the void</description>
	<lastBuildDate>Tue, 26 Feb 2013 18:10:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Method and System for Advertising in Real World using a T-shirt with a Printed Advertisement</title>
		<link>http://semanticvoid.com/blog/2012/02/23/method-and-system-for-advertising-in-real-world-using-a-t-shirt-with-a-printed-advertisement/</link>
		<comments>http://semanticvoid.com/blog/2012/02/23/method-and-system-for-advertising-in-real-world-using-a-t-shirt-with-a-printed-advertisement/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 21:32:03 +0000</pubDate>
		<dc:creator>anand kishore</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://semanticvoid.com/blog/?p=678</guid>
		<description><![CDATA[A method and system for advertising in real world using a t-shirt with a printed advertisement is disclosed. The method and system provides more eyeballs to an advertisement in a physical advertising world. (http://ip.com/IPCOM/000214395)]]></description>
			<content:encoded><![CDATA[<blockquote><p>A method and system for advertising in real world using a t-shirt with a printed advertisement is disclosed. The method and system provides more eyeballs to an advertisement in a physical advertising world.</p>
<p>(<a href="http://ip.com/IPCOM/000214395">http://ip.com/IPCOM/000214395</a>)</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://semanticvoid.com/blog/2012/02/23/method-and-system-for-advertising-in-real-world-using-a-t-shirt-with-a-printed-advertisement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WYCIWYS</title>
		<link>http://semanticvoid.com/blog/2011/09/21/wyciwys/</link>
		<comments>http://semanticvoid.com/blog/2011/09/21/wyciwys/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 21:12:39 +0000</pubDate>
		<dc:creator>anand kishore</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Natural Language Processing]]></category>
		<category><![CDATA[Yahoo!]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[hackday]]></category>

		<guid isPermaLink="false">http://semanticvoid.com/blog/?p=659</guid>
		<description><![CDATA[Many a times I&#8217;ve stared at Explored Flickr Photos and tried grokking its artistic nuances. Due to lack of artistic sensibility, at times I fail to understand the techniques or properties that the photographer used or intended to capture. But the Flickr community is brimming with experts who often chime in about what they like/see [...]]]></description>
			<content:encoded><![CDATA[<p>Many a times I&#8217;ve stared at Explored Flickr Photos and tried grokking its artistic nuances. Due to lack of artistic sensibility, at times I fail to understand the techniques or properties that the photographer used or intended to capture. But the Flickr community is brimming with experts who often chime in about what they like/see in comments. My #nlproc hack (for the upcoming Yahoo! Winter Hackday) aims to solve this by <em>summarizing</em> this expert knowledge (wisdom of crowd) for a photograph.</p>
<p><em><strong>W</strong>hat <strong>Y</strong>ou <strong>C</strong>omment <strong>I</strong>s <strong>W</strong>hat <strong>Y</strong>ou <strong>S</strong>ee</em> (<strong>WYCIWYS</strong>) is a Flickr hack that harnesses the comments of photos to determine the attributes/properties of the photo that people are talking about. It also gives a sentiment score (+ve) for each attribute to help a user gauge what other users find most interesting about a photo. Following are some outputs for WSCIWYS (<strong>click to zoom</strong>):</p>
<p><a href="http://semanticvoid.com/blog/wp-content/uploads/2011/09/Screen-Shot-2011-09-21-at-1.51.43-PM.png"><img class="size-medium wp-image-661 alignnone" title="image 1" src="http://semanticvoid.com/blog/wp-content/uploads/2011/09/Screen-Shot-2011-09-21-at-1.51.43-PM-300x195.png" alt="click to zoom" width="300" height="195" /></a></p>
<div class="mceTemp">
<dl id="attachment_663" class="wp-caption alignnone" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://semanticvoid.com/blog/wp-content/uploads/2011/09/Screen-Shot-2011-09-21-at-1.56.05-PM.png"><img class="size-medium wp-image-663" title="image 2" src="http://semanticvoid.com/blog/wp-content/uploads/2011/09/Screen-Shot-2011-09-21-at-1.56.05-PM-300x162.png" alt="click to zoom" width="300" height="162" /></a><a href="http://semanticvoid.com/blog/wp-content/uploads/2011/09/Screen-Shot-2011-09-21-at-1.59.43-PM.png"><img class="alignnone size-medium wp-image-666" title="image 3" src="http://semanticvoid.com/blog/wp-content/uploads/2011/09/Screen-Shot-2011-09-21-at-1.59.43-PM-300x161.png" alt="click to zoom" width="300" height="161" /></a><a href="http://semanticvoid.com/blog/wp-content/uploads/2011/09/Screen-Shot-2011-09-21-at-2.01.07-PM.png"><img class="alignnone size-medium wp-image-668" title="image 4" src="http://semanticvoid.com/blog/wp-content/uploads/2011/09/Screen-Shot-2011-09-21-at-2.01.07-PM-300x189.png" alt="click to zoom" width="300" height="189" /></a><a href="http://semanticvoid.com/blog/wp-content/uploads/2011/09/Screen-Shot-2011-09-21-at-2.04.11-PM.png"><img class="alignnone size-medium wp-image-669" title="image 5" src="http://semanticvoid.com/blog/wp-content/uploads/2011/09/Screen-Shot-2011-09-21-at-2.04.11-PM-300x192.png" alt="click to zoom" width="300" height="192" /></a></dt>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://semanticvoid.com/blog/2011/09/21/wyciwys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>what the bleep!</title>
		<link>http://semanticvoid.com/blog/2011/03/04/what-the-bleep-2/</link>
		<comments>http://semanticvoid.com/blog/2011/03/04/what-the-bleep-2/#comments</comments>
		<pubDate>Fri, 04 Mar 2011 19:13:15 +0000</pubDate>
		<dc:creator>Anand Kishore</dc:creator>
				<category><![CDATA[Abuse]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Natural Language Processing]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Yahoo!]]></category>
		<category><![CDATA[hackday]]></category>
		<category><![CDATA[nlp]]></category>
		<category><![CDATA[profanity]]></category>

		<guid isPermaLink="false">http://semanticvoid.com/blog/2011/03/04/</guid>
		<description><![CDATA[Profanity is often prevalent in user generated content (like comments). Websites that do not want to display such profane comments/content currently employ masking as a solution to get rid of profanity. Masking replaces the profanity in the content with characters like ####. The masked content still though conveys the existence of profanity to the user. [...]]]></description>
			<content:encoded><![CDATA[<p>Profanity is often prevalent in user generated content (like comments). Websites that do not want to display such profane comments/content currently employ masking as a solution to get rid of profanity. Masking replaces the profanity in the content with characters like ####. The masked content still though conveys the existence of profanity to the user. Humans have built up a great language model to infer missing words. Try it yourself &#8211; it should be easy for you to guess a bunch of profanity words for the following sentence:</p>
<blockquote><p>What the ####!</p></blockquote>
<p>My hack (<strong>Bleep</strong>) for the Yahoo! Spring &#8217;11 Hackday is yet another natural language hack that tries to remove the profanity from a comment without altering the semantics of the content. In brief, removing the profanity word from the content makes the parse tree less probable. The algorithm tries to alter this improbable parse tree to find the best local parse tree.</p>
<p>Following are some corrections suggested by <strong>Bleep</strong>:</p>
<p><a href="http://semanticvoid.com/blog/wp-content/uploads/Screen-shot-2011-03-04-at-12.39.53-PM1.png"><img src="http://semanticvoid.com/blog/wp-content/uploads/Screen-shot-2011-03-04-at-12.39.53-PM1.png" alt="" title="1" width="503" height="106" class="aligncenter size-full wp-image-603" /></a><br />
<a href="http://semanticvoid.com/blog/wp-content/uploads/Screen-shot-2011-03-04-at-12.40.25-PM1.png"><img src="http://semanticvoid.com/blog/wp-content/uploads/Screen-shot-2011-03-04-at-12.40.25-PM1.png" alt="" title="2" width="378" height="111" class="aligncenter size-full wp-image-604" /></a><br />
<a href="http://semanticvoid.com/blog/wp-content/uploads/Screen-shot-2011-03-04-at-12.40.56-PM1.png"><img src="http://semanticvoid.com/blog/wp-content/uploads/Screen-shot-2011-03-04-at-12.40.56-PM1.png" alt="" title="3" width="390" height="117" class="aligncenter size-full wp-image-605" /></a><br />
<a href="http://semanticvoid.com/blog/wp-content/uploads/Screen-shot-2011-03-04-at-12.41.22-PM1.png"><img src="http://semanticvoid.com/blog/wp-content/uploads/Screen-shot-2011-03-04-at-12.41.22-PM1.png" alt="" title="4" width="613" height="122" class="aligncenter size-full wp-image-606" /></a><br />
<a href="http://semanticvoid.com/blog/wp-content/uploads/Screen-shot-2011-03-04-at-12.41.51-PM1.png"><img src="http://semanticvoid.com/blog/wp-content/uploads/Screen-shot-2011-03-04-at-12.41.51-PM1.png" alt="" title="5" width="397" height="121" class="aligncenter size-full wp-image-607" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://semanticvoid.com/blog/2011/03/04/what-the-bleep-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>a speed gun for spam</title>
		<link>http://semanticvoid.com/blog/2011/02/24/speed-gun-for-spam/</link>
		<comments>http://semanticvoid.com/blog/2011/02/24/speed-gun-for-spam/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 00:56:09 +0000</pubDate>
		<dc:creator>Anand Kishore</dc:creator>
				<category><![CDATA[Abuse]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[antispam]]></category>
		<category><![CDATA[Data]]></category>

		<guid isPermaLink="false">http://semanticvoid.com/blog/2011/02/24/</guid>
		<description><![CDATA[Apart from the content there are various features from metadata (like IP etc) which can help tell a spammer and regular user apart. Following are results of some data analysis (done on roughly 8000+ comments) which speak of another feature which proves to be a good discriminator. Hopefully this will aid others fighting spam/abuse (if [...]]]></description>
			<content:encoded><![CDATA[<p>Apart from the content there are various features from metadata (like IP etc) which can help tell a spammer and regular user apart. Following are results of some data analysis (done on roughly 8000+ comments) which speak of another feature which proves to be a good discriminator. Hopefully this will aid others fighting spam/abuse (if not already using a similar feature).</p>
<p><a href="http://semanticvoid.com/blog/wp-content/uploads/ts.png"><img src="http://semanticvoid.com/blog/wp-content/uploads/ts.png" alt="" title="TS" width="480" height="480" class="aligncenter size-full wp-image-509" /></a></p>
<p>The discriminator referred above is typing speed. The graph above plots the content length of a comment posted by a user against the (approximate) time he took to write it. If a user posts more than one comment in window of 5-10 minutes, we can consider those comments as consecutive posts. Any comment falling outside this window is ignored. In the above plot, the time is inferred by [time_of_current_post - time_of_previous_post] for consecutive posts. Thus typing speed is estimated as (content_lenght)/(time_delta_between_two_posts). This is a non-intrusive way of measuring typing speed from the logs. Though for a more accurate number one could always instrument the page with javascript (<a href="http://semanticvoid.com/research/keystrokes.html">see example here</a>). The dataset was manually labeled as spam (depicted in red) and ham (depicted in blue).</p>
<p>Wikipedia <a href="http://en.wikipedia.org/wiki/Words_per_minute">lists</a> the average words per minute (wpm) for a regular internet user at around 30 wpm. With a conversion factor of 5 to characters per minute (cpm), this amounts to ~2.5 characters per second. The green line in the plot depicts a projection of the content length a user could have typed in the given time with an average typing speed (of ~2.5 chars per sec). We observe that this line clearly separates out most spam from ham. The ham posts that fall above this line are usually trolls (as observed).</p>
<p>This turns out to be a nice feature to tell spammers (bots and non-bots), trolls, and regular users apart. Bots often fail the turing test and don&#8217;t try hard enough to be more human like. Non-bot spammers on the other hand have to take the pains to type their spam comment repeatedly and usually end up pasting it.Try out the example <a href="http://semanticvoid.com/research/keystrokes.html">here</a> .</p>
<p>So spammers fix yourselves cause we have the speed gun to pull you over.</p>
]]></content:encoded>
			<wfw:commentRss>http://semanticvoid.com/blog/2011/02/24/speed-gun-for-spam/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>the evolving spammer</title>
		<link>http://semanticvoid.com/blog/2010/09/08/the-evolving-spammer/</link>
		<comments>http://semanticvoid.com/blog/2010/09/08/the-evolving-spammer/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 03:10:31 +0000</pubDate>
		<dc:creator>Anand Kishore</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Yahoo!]]></category>
		<category><![CDATA[Abuse]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://semanticvoid.com/blog/?p=454</guid>
		<description><![CDATA[Though I&#8217;ve only recently started tackling it (spam), what I hear from veterans is that spam is hard problem. It is so not because its difficult to model (unlike some sub-domains in NLP) but because essentially it is a battle of human-vs-human. The opponent is now a constantly evolving machine. They learn and they learn [...]]]></description>
			<content:encoded><![CDATA[<p>Though I&#8217;ve only recently started tackling it (spam), what I hear from veterans is that spam is hard problem. It is so not because its difficult to model (unlike some sub-domains in NLP) but because essentially it is a battle of human-vs-human. The opponent is now a constantly evolving machine. They learn and they learn fast. This keeps those fighting spam on their toes and you need to react to new techniques that they learn to get past the filters. Most of the work thus involved is on a reactive basis. Basically you keep iterating the following cycle: deploy -> observe -> learn -> model -> deploy</p>
<p>Now lets consider a sample spam text: &#8220;Find sexy  girls and guys at xyz.com&#8221;. The simplest classifier (lets assume Bayesian text classifier) will start to crumble once the spammer changes the text to &#8220;fin d sex y girl s an d guy s a t xyz.co m&#8221;. So you will label and retrain your classifier to catch this new trick.</p>
<p><img src="http://semanticvoid.com/blog/wp-content/uploads/yoda-150x150.jpg" alt="" title="yoda" width="150" height="150" class="alignleft size-thumbnail wp-image-465" /> To get out of this vicious reactive cycle, you need to test your model proactively against the possible techniques a spammer could come up with to get away. This is where comes in <strong>YODA</strong> (acronym for <i>Overly Determined Abuser</i>), a genetic programming based model of a spammer I built (yes we have 20% time as well) to break our spam detection models. As any other genetic algorithm framework, it needs implementations of fitness functions and genome functions. The idea is to model characteristics of a spammer (variables that a spammer can manipulate) as genome functions. The genome functions represent the minimalist change that can be made to the text. For instance, changing the case of characters, modifying sentence delimiters, modifying word delimiters etc. The genome functions need not be just text modification functions but could also represent other attributes of a spammer (like IP etc). The fitness functions represent the criteria the spammer is trying to optimize i.e. to get past the filters with minimal distortions to the spam text. This could be the edit distance combined with the score returned by the model/filter.</p>
<p>Once the fitness function and many such genome functions have been defined, you can set these spam bots free to undergo selection, crossover and mutation. In the end (when you decide to stop the evolution), you will end up  with bots that are far more complex than just the basic genome functions defined. The transformations to the original text might be beyond what you could have thought of testing against.</p>
<p>Following are some results of this model on the same spam text using the above mentioned basic genome functions:</p>
<p>- F.ind.s.exy g.irls.a.nd.g.uys.a.t.x.yz.com<br />
- f iñd s exy gi rls ã ñd g úys a t xy z.çom<br />
- FI ND sE Xy Gir Ls anD gu yS AT XyZ. COM<br />
- Find_sexy girls and_guys at_xyz.com</p>
]]></content:encoded>
			<wfw:commentRss>http://semanticvoid.com/blog/2010/09/08/the-evolving-spammer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>stop words</title>
		<link>http://semanticvoid.com/blog/2010/08/24/stop-words/</link>
		<comments>http://semanticvoid.com/blog/2010/08/24/stop-words/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 04:00:16 +0000</pubDate>
		<dc:creator>Anand Kishore</dc:creator>
				<category><![CDATA[Natural Language Processing]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[text]]></category>

		<guid isPermaLink="false">http://semanticvoid.com/blog/?p=447</guid>
		<description><![CDATA[In a recent implementation for a near duplicate detection task I relied on stop words as key features in extracting signatures from text. The results turned out to be good but that&#8217;s not what I&#8217;m focusing on here. This was quite contrary to the mindset in the IR/NLP domain we have been accustomed to, where [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent implementation for a near duplicate detection task I relied on stop words as key features in extracting signatures from text. The results turned out to be good but that&#8217;s not what I&#8217;m focusing on here. This was quite contrary to the mindset in the IR/NLP domain we have been accustomed to, where these words are considered meaningless and need to be got rid of before building any model/index. These word on the other hand encode a plethora of information like tense, plurality, (un)certainty, subjectivity and more. They bind the semantics of a sentence together and give them context. Yet (atleast in the IR sense) we give them a negative connotation (<em>STOP/NN -0.140192 sentiment</em>). I would go a step ahead by saying that we should stop calling them *stop* words and instead accept the inability of some IR systems of making correct use of them. How about *glue* words for a change? Or maybe not.</p>
<p>PS: Incase you are looking for a list of stop words for different languages here is a good list &#8211;  <a href=" http://members.unine.ch/jacques.savoy/clef/">http://members.unine.ch/jacques.savoy/clef/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://semanticvoid.com/blog/2010/08/24/stop-words/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Twitter Plots: the case of the 2000 &#8216;following&#8217;</title>
		<link>http://semanticvoid.com/blog/2010/05/27/twitter-plots-the-case-of-the-2000-following/</link>
		<comments>http://semanticvoid.com/blog/2010/05/27/twitter-plots-the-case-of-the-2000-following/#comments</comments>
		<pubDate>Fri, 28 May 2010 03:27:25 +0000</pubDate>
		<dc:creator>Anand Kishore</dc:creator>
				<category><![CDATA[Data]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://semanticvoid.com/blog/?p=413</guid>
		<description><![CDATA[I came across this interesting pattern while trying to visualize some of the Twitter streaming data. The following charts plot the &#8216;following&#8217; counts vs the &#8216;followers&#8217; counts (for ~200K user accounts). The data represents one hours worth of data obtained via the streaming API. User accounts falling around the line y ~= 0 tend to [...]]]></description>
			<content:encoded><![CDATA[<p>I came across this interesting pattern while trying to visualize some of the Twitter streaming data. The following charts plot the &#8216;following&#8217; counts vs the &#8216;followers&#8217; counts (for ~200K user accounts). The data represents one hours worth of data obtained via the streaming API. User accounts falling around the line y ~= 0 tend to generally be celebrities (musicians, sportsmen etc), companies, news and info bots (like the WSJ, CNN etc).  The general population usually falls around the line y = x (the &#8216;I follow you, You follow me&#8217; kind). But thats not whats interesting here (we all knew that). Looking at the zoomed in plots (figure 2 and figure 5), we see a distinct square formed by at (0,0) (2000,2000). This is also observed in another days data (figure 5) so its not just an anomaly. The plateau formed at y=2000 is a bit perplexing. I can&#8217;t seem to get my head around that.  Figure (3) tries to look at the user accounts with ~2000 &#8216;following&#8217; &#8211; a large number of these users turn out to be spam bots. I suspect most spam account (bots) are concentrated around this region. Its as if the spam bots tend to follow around 2000 users at max so as to not alert the spam controls by mass following users.</p>
<p>Any hypothesis that comes to your mind?</p>
<p><strong>Figure 1: plot for day 1</strong><br />
<a href="http://semanticvoid.com/blog/wp-content/uploads/147_1.jpeg"><img src="http://semanticvoid.com/blog/wp-content/uploads/147_1.jpeg" alt="" title="plot (1) for one hours data - day 1 " width="480" height="480" class="size-full wp-image-415" /></a></p>
<p><strong>Figure 2: plot for day 1 (zoomed)</strong><br />
<a href="http://semanticvoid.com/blog/2010/05/27/twitter-plots-the-case-of-the-2000-following/147_2/" rel="attachment wp-att-416"><img src="http://semanticvoid.com/blog/wp-content/uploads/147_2.jpeg" alt="" title="plot (2) for day 1" width="480" height="480" class="size-full wp-image-416" /></a></p>
<p><strong>Figure 3: plot for day 1 with y ~ 2000</strong><br />
<a href="http://semanticvoid.com/blog/2010/05/27/twitter-plots-the-case-of-the-2000-following/146_3/" rel="attachment wp-att-417"><img src="http://semanticvoid.com/blog/wp-content/uploads/146_3.jpeg" alt="" title="plot (3) for day 1" width="480" height="480" class="size-full wp-image-417" /></a></p>
<p><strong>Figure 4: plot for day 2</strong><br />
<a href="http://semanticvoid.com/blog/2010/05/27/twitter-plots-the-case-of-the-2000-following/146_1/" rel="attachment wp-att-418"><img src="http://semanticvoid.com/blog/wp-content/uploads/146_1.jpeg" alt="" title="plot (4) for day 2" width="480" height="480" class="size-full wp-image-418" /></a></p>
<p><strong>Figure 5: plot for day 2</strong><br />
<a href="http://semanticvoid.com/blog/2010/05/27/twitter-plots-the-case-of-the-2000-following/146_2/" rel="attachment wp-att-419"><img src="http://semanticvoid.com/blog/wp-content/uploads/146_2.jpeg" alt="" title="plot (5) for day 2" width="480" height="480" class="size-full wp-image-419" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://semanticvoid.com/blog/2010/05/27/twitter-plots-the-case-of-the-2000-following/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Reading Less Is Reading More</title>
		<link>http://semanticvoid.com/blog/2009/10/07/reading-less-is-reading-more/</link>
		<comments>http://semanticvoid.com/blog/2009/10/07/reading-less-is-reading-more/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 08:19:27 +0000</pubDate>
		<dc:creator>Anand Kishore</dc:creator>
				<category><![CDATA[Natural Language Processing]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[dygest]]></category>

		<guid isPermaLink="false">http://semanticvoid.com/blog/?p=363</guid>
		<description><![CDATA[If information is what drives you to the internet, like me, you might be spending roughly 60-70% of your time online reading blogs, news and feeds (not to forget twitter). For me at least, reading online has superseded email (and updating social networks) as the most time consuming activity. And yet everyone is busy generating [...]]]></description>
			<content:encoded><![CDATA[<p>If information is what drives you to the internet, like me, you might be spending roughly 60-70% of your time online reading blogs, news and feeds (not to forget twitter). For me at least, reading online has superseded email (and updating social networks) as the most time consuming activity. And yet everyone is busy generating more content rather than finding a solution to consume all this information. We are trying to tackle this problem precisely with <a href="http://dyge.st">Dygest</a>. At its core <a href="http://dyge.st">Dygest</a> is a summarization engine that tries to sift through all the noise and present only the *real* content/news contained in any (news) article/text. Recently, we released an experimental version of a feed summarizer that uses the <a href="http://dyge.st">Dygest</a> engine to summarize blogposts/news for any RSS/ATOM feed. This summarized feed can be subscribed in any feed reader like Bloglines, Google Reader etc.</p>
<p><strong>NOTE</strong>: A feed that has not been encountered by our system ever before should be summarized in a couple of minutes.</p>
<p><center><img src="http://farm4.static.flickr.com/3423/3988948493_63da2cb1bd_o.png" alt="Feed Summarizer" /></center></p>
<p>On the whole with Dygest, reading blogs has now become much faster, much more concise and consuming information has become a great deal easier. Imagine the time saved reading the summarized version as compared to the original post (also you are not overwhelmed with useless information). See for yourself below:</p>
<p><center><img src="http://farm3.static.flickr.com/2594/3989711414_1f28fd59bd.jpg" alt="Original Post"/></p>
<p><strong>Original Post</strong></center></p>
<p>
<center><img src="http://farm3.static.flickr.com/2600/3988953559_d203feb1b6.jpg" alt="Summarized Post"/></p>
<p><strong>Summarized Post</strong></center></p>
<p>While you might have the urge to head over to Dygest and summarize your entire subscription list on Google Reader, I would recommend reading this post a bit further for some real cool stuff we have in store. If you must though &#8211; <a href="http://dyge.st">click here to Dygest</a>.</p>
<p><strong><br />
<h3>Summarizing Your Twitter Links</h3>
<p></strong></p>
<p><a href="http://readtwit.com">Readtwit</a> is a really cool service launched recently, which extracts links from your twitter feed and packages them in a clean RSS format. The awesome combination of Readtwit along with Dygest yields a summarized twitter feed delivered to your favorite feed reader.</p>
<p>Steps to get a summarized twitter feed:</p>
<p>(1) Sign into <a href="http://readtwit.com">Readtwit</a>.<br />
(2) Copy the link on the &#8216;Get me the feed&#8217; button:<br />
<center><img src="http://farm3.static.flickr.com/2454/3989734546_db979a08f5_m.jpg"/></center><br />
(3) Paste this link into the <a href="http://dyge.st">Dygest</a> interface and subscribe to the summarized feed returned in your favorite feed reader.<br />
<center><img src="http://farm3.static.flickr.com/2473/3988983827_57010939ff_o.png"/></center></p>
<p><strong><br />
<h3>More To Come</h3>
<p></strong></p>
<p>This is just an experimental release of <a href="http://dyge.st">Dygest</a> and so do send in your feedback on the summaries and help us improve. In the coming months we are working on improving the algorithms and churning out other great applications of <a href="http://dyge.st">Dygest</a> (there is something really cool in the works). So while we are busy teaching computers to read, <a href="http://dyge.st">Dygest</a> your feeds &#8211; because reading less is reading more.</p>
<p>Follow us on twitter &#8211; <a href="http://twitter.com/dygest">@dygest</a></p>
]]></content:encoded>
			<wfw:commentRss>http://semanticvoid.com/blog/2009/10/07/reading-less-is-reading-more/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Web Content Extraction Dataset</title>
		<link>http://semanticvoid.com/blog/2009/08/22/web-content-extraction-dataset/</link>
		<comments>http://semanticvoid.com/blog/2009/08/22/web-content-extraction-dataset/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 05:42:10 +0000</pubDate>
		<dc:creator>Anand Kishore</dc:creator>
				<category><![CDATA[Data]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[dataset]]></category>
		<category><![CDATA[extraction]]></category>

		<guid isPermaLink="false">http://semanticvoid.com/blog/?p=326</guid>
		<description><![CDATA[For a recent project, we (sudheer_624 and I) have had to deal with developing algorithms to extract the true content from any given web page. By true content I mean the text excluding the ads, navigational links/text, etc even excluding comments (if any). Thus, given a blog post we are interested in extracting just the [...]]]></description>
			<content:encoded><![CDATA[<p>For a recent project, we (<a href="http://twitter.com/sudheer_624">sudheer_624</a> and I) have had to deal with developing algorithms to extract the true content from any given web page. By true content I mean the text excluding the ads, navigational links/text, etc even excluding comments (if any). Thus, given a blog post we are interested in extracting just the content of the post and not the comments and other surrounding text. We did not come across any dataset for the given task that would let us evaluate our algorithms. We recently generated our own dataset for this purpose and would like to share it with anyone tackling a similar problem.</p>
<p>The dataset contains the html source and text content (true content) for around ~4000 webpages. One metric to measure your algorithm against this dataset could be the edit distance. If you do use this dataset, it would be great if you could share the results of your algorithms for benchmarks to compare against. I&#8217;ll be updating this post with the accuracy of our algorithm soon enough.</p>
<p><strong><a href="http://semanticvoid.com/data/content_extraction_dataset.tar.gz">Download the dataset here (gzipped)</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://semanticvoid.com/blog/2009/08/22/web-content-extraction-dataset/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>`Fact`orize Your Search</title>
		<link>http://semanticvoid.com/blog/2009/08/14/factorize-your-search/</link>
		<comments>http://semanticvoid.com/blog/2009/08/14/factorize-your-search/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 07:37:08 +0000</pubDate>
		<dc:creator>Anand Kishore</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Natural Language Processing]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://semanticvoid.com/blog/?p=308</guid>
		<description><![CDATA[Dygest and a hackday later, @sudheer_624 and I (@semanticvoid) are back with &#8216;dfacto&#8217;, codename for our latest search hack for Yahoo! Hackday Summer 2009. I think that search is undergoing a paradigm shift &#8211; its no longer about who presents the best ten blue links but now more about presenting the answers upfront. Dfacto (pronounced [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://semanticvoid.com/blog/2009/03/19/dygest-your-search/">Dygest</a></strong> and a hackday later, <a href="http://twitter.com/sudheer_624">@sudheer_624</a> and I (<a href="http://twitter.com/semanticvoid">@semanticvoid</a>) are back with <strong>&#8216;dfacto&#8217;</strong>, codename for our latest search hack for Yahoo! Hackday Summer 2009.</p>
<p>I think that search is undergoing a paradigm shift &#8211; its no longer about who presents the best ten blue links but now more about presenting the answers upfront. <strong>Dfacto</strong> (pronounced as &#8216;<em>de facto</em>&#8216;, Latin for &#8216;<em>by [the] fact</em>&#8216;) is aimed at addressing this issue. A large percentage (nearly 68%) of queries are informational queries &#8211; one where the searcher knows what she&#8217;d like to do or find but does not know how this can be achieved. <strong>Dfacto</strong> is aimed primarily at addressing this class of queries by presenting a set of facts associated with the query/topic to the searcher. It uses natural language algorithms to get facts that are most &#8220;semantically&#8221; related to the query. In lay terms, it literally tries to understand your query and the results. I&#8217;ll save the algorithmic details for another post. The few examples below show how it works:</p>
<p><em>Disclaimer: This is a work in progress, so you might notice a few &#8216;facts&#8217; that are irrelevant to the query.</em></p>
<p>Lets say the searcher is (losing hair and) looking for causes of hair loss. Normally he/she would need to click through a bunch of links to get an overview on the causes. This hack on the other hand makes life a bit easier by presenting the causes upfront (click to enlarge):</p>
<p><center><a href="http://farm3.static.flickr.com/2525/3819295965_c7f9c3a651_o.png">click to enlarge<br /><img src="http://farm3.static.flickr.com/2525/3819295965_d8d3055f49.jpg" alt="'hair loss cause'" /></a><br /></center></p>
<p>Along with the facts, we also list the source from where it was extracted. Alternatively, the searcher can also select a bunch of facts he/she thinks are relevant and refine the search. This in turn would yield a new set of &#8216;web results&#8217; along with new refined and related &#8216;facts&#8217;.</p>
<p>Another example (one which I particularly like) is a query about &#8216;table manners&#8217;. This precisely lists a set of etiquette&#8217;s to follow at the table (click to enlarge).</p>
<p><center><a href="http://farm3.static.flickr.com/2587/3820121342_ac99f01072_o.png"> click to enlarge<br /> <img src="http://farm3.static.flickr.com/2587/3820121342_543ae9bb92.jpg" alt="'table manners'" /></a></center></p>
<p>Alternatively, <strong>Dfacto</strong> also serves well as a product research tool. A query for &#8216;iphone 3gs&#8217; yeilds (click to enlarge):</p>
<p><center><a href="http://farm3.static.flickr.com/2595/3820128618_cfbc2db7d6_o.png"> click to enlarge<br /> <img src="http://farm3.static.flickr.com/2595/3820128618_5fb29f2762.jpg" alt="'iphone 3gs'" /></a></center></p>
<p>On another note, if you have a date in the coming weeks you might be interested in reading the list below (:</p>
<p><center><a href="http://farm3.static.flickr.com/2669/3819328509_59c127b413_o.png"> click to enlarge<br /> <img src="http://farm3.static.flickr.com/2669/3819328509_ba08fe9e02.jpg" alt="'first date tips'" /></a></center></p>
<p>Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://semanticvoid.com/blog/2009/08/14/factorize-your-search/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.551 seconds -->
<!-- Cached page served by WP-Cache -->
