<?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>Paper of the Week &#187; Information Retrieval</title>
	<atom:link href="http://www.paperoftheweek.com/category/computer-science/information-retrieval/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.paperoftheweek.com</link>
	<description>Read. Learn. Discuss.</description>
	<lastBuildDate>Tue, 14 Aug 2007 01:35:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>POTW 6/11/07: Discussion of &#8220;A Sequential Algorithm for Training Text Classifiers&#8221; by Lewis and Gale</title>
		<link>http://www.paperoftheweek.com/2007/06/17/potw-61107-discussion-of-a-sequential-algorithm-for-training-text-classifiers-by-lewis-and-gale/</link>
		<comments>http://www.paperoftheweek.com/2007/06/17/potw-61107-discussion-of-a-sequential-algorithm-for-training-text-classifiers-by-lewis-and-gale/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 03:58:12 +0000</pubDate>
		<dc:creator>grant.ingersoll</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Natural Language Processing (NLP)]]></category>
		<category><![CDATA[Statistical Approach]]></category>
		<category><![CDATA[Text Categorization]]></category>
		<category><![CDATA[classification]]></category>
		<category><![CDATA[naive bayes]]></category>

		<guid isPermaLink="false">http://www.paperoftheweek.com/2007/06/17/potw-61107-discussion-of-a-sequential-algorithm-for-training-text-classifiers-by-lewis-and-gale/</guid>
		<description><![CDATA[In &#8220;A Sequential Algorithm for Training Text Classifiers&#8221; by David D. Lewis and William Gale, the authors put forth a new (at the time) method training text classifiers using an approach they call &#8220;uncertainty sampling&#8221; Section 1 outlines the problem of training, namely obtaining a good sample of text to be labeled for the trainer. [...]]]></description>
			<content:encoded><![CDATA[<p>In &#8220;A Sequential Algorithm for Training Text Classifiers&#8221; by David D.<br />
Lewis and William Gale, the authors put forth a new (at the time)<br />
method training text classifiers using an approach they call<br />
&#8220;uncertainty sampling&#8221;</p>
<p>Section 1 outlines the problem of training, namely obtaining a good<br />
sample of text to be labeled for the trainer.  After disposing of<br />
several other methods of garnering samples (random, relevance<br />
feedback based), Lewis and Gale introduce an iterative approach for<br />
manually labeling examples.</p>
<p>Section 2 then discusses the benefits of &#8220;learning by query&#8221; in<br />
theory, namely the possibility of reducing the error rate very<br />
quickly in comparison to the number of queries required.</p>
<p>Figure 1 (described in section 3) outlines their basic approach,<br />
which relies on having a human judge some subset of examples that the<br />
currently used classifier is least certain about.  This process is<br />
iterated until the human feels satisfied with the results.  One<br />
caveat of this approach is that the classifier must not only predict<br />
the class, it must give a measurement of certainty for that class.</p>
<p>Continuing on into section 4, we are introduced to how to build a<br />
classifier and use uncertainty sampling to train it.  Most of the<br />
section details the probability theory behind it, finishing up with<br />
how to do the sampling.  One thing I always wish for in these papers<br />
are concrete examples (maybe as an appendix or a reference) that work<br />
through the math on an actual toy problem.  Section 5 does just this,<br />
laying out an experiment and discussing the details, minus the math,<br />
which probably suits most people just fine.</p>
<p>Section 7 has an excellent discussion of the results, the pay dirt<br />
being that using this new method significantly reduces the number of<br />
examples required for training, at the cost of having a human in the<br />
loop.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paperoftheweek.com/2007/06/17/potw-61107-discussion-of-a-sequential-algorithm-for-training-text-classifiers-by-lewis-and-gale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s initiatives in Artificial Intelligence</title>
		<link>http://www.paperoftheweek.com/2007/06/17/googles-initiatives-in-artificial-intelligence/</link>
		<comments>http://www.paperoftheweek.com/2007/06/17/googles-initiatives-in-artificial-intelligence/#comments</comments>
		<pubDate>Sun, 17 Jun 2007 11:42:03 +0000</pubDate>
		<dc:creator>Ian Parker</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[Natural Language Processing (NLP)]]></category>
		<category><![CDATA[Question Answering]]></category>
		<category><![CDATA[Text Categorization]]></category>

		<guid isPermaLink="false">http://www.paperoftheweek.com/2007/06/17/googles-initiatives-in-artificial-intelligence/</guid>
		<description><![CDATA[Introduction Google&#8217;s earnings nearly doubled last year. http://news.com.com/Google+profit+nearly+doubles/2100-1030_3-6127658.html Unlike Microsoft that gets its money from shifting boxes Google relies on advertising to pay its way. There is a tremendous incentive to improve the quality of searching. The first reason is obvious. The better Google is perceived to perform as a search engine, the more people [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Google&#8217;s earnings nearly doubled last year.<br />
http://<a href="http://news.com.com/Google+profit+nearly+doubles/2100-1030_3-6127658.html">news.com.com/Google+profit+nearly+doubles/2100-1030_3-6127658.html</a></p>
<p>Unlike Microsoft that gets its money from shifting boxes Google relies on advertising to pay its way. There is a tremendous incentive to improve the quality of searching. The first reason is obvious. The better Google is perceived to perform as a search engine, the more people will use Google for their searches and the greater the traffic for advertisers. The second reason is a little bit more sinister. Google gets paid according to the number of clicks made on an advertisement. Google as well as telling you the results of your search needs also to put some ads your way. The share price of Google is closely linked to the perceived quality of search.</p>
<p><strong>The quest for AI</strong><br />
As one might expect Google is deeply into AI. AI one might argue is essentially what the core business of Google depends on. Suppose we can take a web page, find out exactly what it is about, extract all the relevant facts and put them into a database, then on the prompting of a query from a user marshal all the facts that are relevant to that enquiry. This is what an AI system looking at web pages would essentially do. </p>
<p><a href="http://news.com.com/2100-11395_3-6160372.html">http://news.com.com/2100-11395_3-6160372.html</a><br />
Google is talking about the size of the human genome and the size of AI. I think the arguments are a little bit misleading. I would prefer to look at what we would expect from AI. Suppose I were to show you a box and I told you that that box was &#8220;<em>intelligent</em>&#8220;. What would you expect. Well Alan Turing devised what is now known as the Turing Test. He said that if the response of a computer to a conversation was indistinguishable from that of a human, it had passed the Turing Test. </p>
<p>On the subject of the Turing Test, Alan Turing envisaged a test which would distinguish between men and women and also would be psychic. Turing believed in ESP. Looking at Alice I am aghast, whenever I say something she always changes the subject. Hardly surprising in view of the Spanish! (<em>La estacion de resorte &#8211; El barco attravesta una cerradura</em>)</p>
<p>In other words I would expect to be able to ask questions and get an intelligible response. I could engage in a conversation if I wanted greater depth. If the box claimed to speak Spanish I would expect translations which showed an understanding of context. In fact it could not produce an intelligible response without context. We would also want the answer to statistical questions, like how do people like BMW cars? What is the correlation between this and that? Can we deduce anything about cancer from the people who get it their lifestyles etc?</p>
<p>We would also like to see some evidence of reasoning ability. Google is not committed specifically to reasoning. In a sense reasoning comes after the ability to retrieve efficiently. This has been discussed by myself and other people in &#8220;Creating Artificial Intelligence&#8221;<br />
<a href="http://groups.google.co.uk/group/creatingAI?hl=en">http://groups.google.co.uk/group/creatingAI?hl=en</a><br />
I have also written the following blogs.</p>
<p><a href="http://ipai.blogspot.com/">http://ipai.blogspot.com/</a><br />
<a href="http://ipai1.blogspot.com/">http://ipai1.blogspot.com/</a><br />
<a href="http://ipai2.blogspot.com/">http://ipai2.blogspot.com/</a></p>
<p>One thing to remember and that is that the ability to find facts is closely related to the ability to automatically construct wrappers. This is one of the main features of Web 3.0.</p>
<p>Let us now return to Google and what they are doing to produce a Web based AI</p>
<p><strong>Searching &#8211; The fundamentals</strong><br />
Search engines are basically databases. The information which is contained in the database has changed throughout the years. What the user needs to know about a Web page is :-<br />
1) What is it about?<br />
2) How is it rated, is it written by a crank or does it contain good and useful stuff?<br />
<a href="http://infolab.stanford.edu/~backrub/google.html ">http://infolab.stanford.edu/~backrub/google.html </a><br />
Describes the main techniques used in search engines.<br />
Google became the primary search engine on the basis of what might be termed a citation index. Scientists have used this principle almost from the year dot. At the bottom of an academic paper are references and these references are &#8220;citations&#8221;. The &#8220;Science Citation Index&#8221; is an index of papers which cite a given paper. Now a paper which is frequently cited is generally regarded as being a good paper. Google does exactly the same things with hyperlinks. There is also the number of times other people access a website.</p>
<p><a href="http://209.85.163.132/papers/sawzall-sciprog.pdf">http://209.85.163.132/papers/sawzall-sciprog.pdf</a><br />
The Web is of course very large and Google has to find a way of dividing up the tasks. This paper is the key to the way in which Google does this. The database is far too large to place on a single machine, and is therefore stored on a number of servers. Sawzall is quite ingenious. A query is passed round from server to server, but while the query is in transit other queries are being worked on. Hence although a query takes a few seconds to process on the network, the fact that other queries  can be processed at the same time means that a high throughput is maintained. One quite important fact is that it is possible to discuss aggregations. That is to say once websites are found with their keywords a further search based on programs written in C++ can be performed.</p>
<p><a href="http://infolab.stanford.edu/pub/papers/google.pdf">http://infolab.stanford.edu/pub/papers/google.pdf</a><br />
Describes what Google was doing in 2000</p>
<p>Google wants to know your surfing history. This will enable it to both target web pages and ads. Suppose I am a civil engineer and I enter &#8220;Bridge&#8221; as one of my search terms. A civil engineer is interested in &#8220;puente that is the sort of bridge that crosses a river. If I am a card player I will be interested in the game of Bridge. A website containing &#8220;4 hearts&#8221;, is about a card game.</p>
<p>Google also wants to target it advertisments. It wants to know what you think of a particular organization.<br />
<a href="http://ryanmcd.googlepages.com/sentimentACL07.pdf">http://ryanmcd.googlepages.com/sentimentACL07.pdf</a><br />
Does just that. It used a training set There is of course one other thing. Advertisers like some sort of feedback on how they and their product is perceived. This paper attempts to achieve this and manages to achieve scores approximating to 80%.</p>
<p>It is not my aim to make moral judgements about Google. Google in fact, unlike Microsoft, has not broken the law. Indeed the Google code is mostly open source. How it is all put together is highly proprietary, but there are references to source code in all the papers. If you are bundling inaccessible code with a inferior operating system (Windows as a sheer operating system is inferior to Linux.) a fine of x million Euros a day is appropriate. Google technology is immensely powerful and society will have to come to terms with it in some way.</p>
<p><strong>Google and Semantic Analysis</strong><br />
<a href="http://www2007.org/papers/paper342.pdf">http://www2007.org/papers/paper342.pdf</a><br />
This is a most remarkable paper. Let us dissect some of the terminology. It talks about &#8220;Vectors&#8221;. What are these &#8220;vectors&#8221;? They are all derived from Latent Semantic Analysis, or some other allied method. It talks about partially indexing the vectors (not storing the full vector). It takes queries and search results. It actually looks at what people have put into their query as keywords and the web pages they actually click on. An algorithm is developed for giving people exactly what they want. The paper makes great play on optimization for an inveted file search. Now an inverted file is a database file where the entries are indexed. Quite clearly if you are doing web based searches</p>
<p><a href="http://labs.google.com/papers/orkut-kdd2005.html ">http://labs.google.com/papers/orkut-kdd2005.html </a></p>
<p>This paper is 2007 so its results are not yet in &#8220;Google&#8221;. The methodology is amazingly powerful and could be applied in a variety of circumstances. Slightly chillingly the &#8220;Orkut&#8221; set which correlates friendship and personality and other similarities is used. The paper can effectively find you matches and build you up a friendship network. Equally it can judge you by the friends that you have!</p>
<p>Potentially you could take El Cid and its English translation and match words up. Rather you are not just matching words you are matching vectors. An inverted file then gives the correct Spanish translation for an English vector and vice versa. This program will take any set of vector pairs and do a match.</p>
<p><strong>Translation</strong><br />
At present translation with Google Translate is rather poor.<br />
<em>El barco attravesta una cerradura </em>- The boat goes through a lock<br />
<em>La estacion de resorte </em>- The season of spring.</p>
<p><a href="http://www.stefanriezler.com/PAPERS/NAACL06.pdf ">http://www.stefanriezler.com/PAPERS/NAACL06.pdf </a><br />
Google have in 2006 recruited Stefan Riezler. It is interesting in that it indicates a direction in which Google is moving. Here is his CV<br />
<a href="http://www.stefanriezler.com/CV07.pdf">http://www.stefanriezler.com/CV07.pdf</a><br />
It is probably a pretty good summary of the way in which Google intend to go. One thing should be pointed out straight away and that is that is that the Google NLP initiatives are based on strict parsing as their starting point. This contrasts with some versions of Latent Semantic Analysis where unparsed words are entered. Google looks at subjects, verbs, adjectives, adverbs, objects and possessives. Google is also interested in question and answer responses.</p>
<p><a href="http://www.cs.nyu.edu/~mohri/postscript/hbka.pdf">http://www.cs.nyu.edu/~mohri/postscript/hbka.pdf</a><br />
This paper is a review article about a very much related area of speech recognition. I think I should say straight away that the recognition of individual phonemes by computer is as good if not better than that performed manually. The reason why human speech recognition is better than that of a machine is that humans recognize words in context. This in fact makes speech very similar to translation. I can illustrate this with words that have different meanings and spellings but the same phoneme structure. Whether (<em>si</em>), weather (<em>tiempo</em>)  hear (<em>oir</em>), here (<em>aqui</em>). One thing that is a little bit disappointing is that the speech and NLP groups  in Google appear to be working independently.</p>
<p>Speech is in fact a far harder problem than translation or the discernment of meaning from text. This is because in translating from text you have fewer choices. The methos used is Markov chains and the association of neighbouring words including grammar. Interestingly in neither Riezler&#8217;s work or this are words chosen on the basis of long range meaning. Let us say we have a medical paper and we could bias the search to medical terms. They do not seem to do this.</p>
<p>To produce the right words in speech you need an iterative annealing process. This means you may wish to change the phoneme, or word, assignment once other words have been found.</p>
<p><a href="http://www.stefanriezler.com/PAPERS/ACL07.pdf">http://www.stefanriezler.com/PAPERS/ACL07.pdf</a><br />
Suppose I am not looking for a website. Suppose I want to know a fact. &#8220;What is the velocity of light?&#8221;, &#8220;What is somebody&#8217;s address?&#8221;, &#8220;What is the turnover of company X?&#8221;. To answer a question the question needs to be parsed so that its meaning can be ascertained. We are here quite close to the Turing test.<br />
<a href="http://www.cs.cmu.edu/~acarlson/semisupervised/million-fact-aaai06.pdf ">http://www.cs.cmu.edu/~acarlson/semisupervised/million-fact-aaai06.pdf </a><br />
<a href="http://www.cs.bell-labs.com/cm/cs/who/pfps/temp/web/www2007.org/papers/paper560.pdf ">http://www.cs.bell-labs.com/cm/cs/who/pfps/temp/web/www2007.org/papers/paper560.pdf </a></p>
<p>This is the first stage of Google&#8217;s program. A database of, initially, a million facts will be gathered. These facts are going into a database which will be used to answer questions. This will of course be extended as time goes on.</p>
<p><strong>Head to Head with Microsoft</strong><br />
Google has a spreadsheet and a word processor. It also features desktop publishing.<br />
<a href="https://www.google.com/accounts/ServiceLogin?service=writely&amp;passive=true&amp;continue=http%3A%2F%2Fdocs.google.com%2F%3Fhl%3Den_GB&amp;hl=en_GB&amp;ltmpl=homepage&amp;nui=1&amp;utm_source=en_GB-more&amp;utm_medium=more&amp;utm_campaign=en_GB">https://www.google.com/accounts/ServiceLogin?service=writely&amp;passive=true&amp;continue=http%3A%2F%2Fdocs.google.com%2F%3Fhl%3Den_GB&amp;hl=en_GB&amp;ltmpl=homepage&amp;nui=1&amp;utm_source=en_GB-more&amp;utm_medium=more&amp;utm_campaign=en_GB</a><br />
There are advantages and disadvantages in using the Web for basic word processing and spreadsheets. The advantages are that the software is :-</p>
<p>1) Up to date.<br />
2) Will run of both Linux and windows systems.<br />
3) Is free.<br />
4) There are facilities for work sharing.</p>
<p>http://labs.google.com/papers/gfs.html</p>
<p>5) Your work is backed up automatically.</p>
<p>The disadvantages are that you need to be connected to the Web to access your work. There are question marks over security, although to be fair Google is investing a considerable effort in this field. </p>
<p><a href="http://labs.google.com/papers.html">http://labs.google.com/papers.html</a><br />
This gives a list of Google papers. Note those on security. I have not mentioned them individually since my main thrust is AI.<br />
I feel that we should look at spellcheckers and how word processing and AI can be integrated. Often when we spell words wrong the spelling is valid but means something different. People will often spell words that sound the same wrongly. This puts spellcheckers in the same position as translators, and on a Web spell-check the latest translator can be used. If I use a translator as a spellchecker I am one stage up on anything Microsoft has produced. If you are writing in Spanish &#8220;<em>si</em>&#8221; and &#8220;<em>tiempo</em>&#8221; are never confused. In English large number of people confuse &#8220;whether&#8221; and &#8220;weather&#8221;. Present day spellcheckers pass both.</p>
<p>There is one other point. If I want to write something learned, I want references. If I write on web software Google can suggest them to me. If I have Microsoft software on my own computer, it cannot do this.</p>
<p><strong>Conclusion</strong><br />
I started off this investigation rather skeptical. I came away from Google translate distinctly unimpressed. &#8220;La estacion de resorte&#8221; &#8211; I did not know stations were elastic! I came away deeply impressed with the work which Google are doing and its scope. My criticism that the research on Natural Language should involve more interchange of information is perhaps rather carping, considering the difficulties involved in running a program on this scale.<br />
On the question of personal information I can see where Google is coming from. Lets put it this way. If you meet a friend in the street you will have remembered some of the &#8220;personal&#8221; information that they have told you if you were to start a conversation. We can thus show that any Turing machine must store personal information, you need personal information stored if you are ever going to &#8220;talk to Google&#8221;. It is also vital for proper retrieval of information. The information you get must be relevant to you.<br />
<a href="http://michaelaltendorf.wordpress.com/2007/06/13/top-100-alternative-search-engines-from-readwrite-web/">http://michaelaltendorf.wordpress.com/2007/06/13/top-100-alternative-search-engines-from-readwrite-web/</a><br />
The whole point of search engine technology is to get relevant references and facts. This reference misses this point completely. If you need a 3D display your basic engine is lousy.</p>
<p>Google is now entering the world of facts rather than just websites. This could have some very interesting consequences in the future.<br />
There is one fact that society in the future will have to come to terms with. To become president of the United States you need television exposure. Television, telephones and the Internet are now becoming one. Who will choose the programs you watch? Why Google of course. This is a tremendous responsibility.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paperoftheweek.com/2007/06/17/googles-initiatives-in-artificial-intelligence/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>POTW 5/21/07: Discussion of &#8220;A Study on Retrospective and On-Line Event Detection&#8221; by Yang, Pierce and Carbonell</title>
		<link>http://www.paperoftheweek.com/2007/06/02/potw-52107-discussion-of-a-study-on-retrospective-and-on-line-event-detection-by-yang-pierce-and-carbonell/</link>
		<comments>http://www.paperoftheweek.com/2007/06/02/potw-52107-discussion-of-a-study-on-retrospective-and-on-line-event-detection-by-yang-pierce-and-carbonell/#comments</comments>
		<pubDate>Sat, 02 Jun 2007 11:41:55 +0000</pubDate>
		<dc:creator>grant.ingersoll</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[Natural Language Processing (NLP)]]></category>
		<category><![CDATA[clustering]]></category>
		<category><![CDATA[event detection]]></category>
		<category><![CDATA[text mining]]></category>

		<guid isPermaLink="false">http://www.paperoftheweek.com/2007/06/02/potw-52107-discussion-of-a-study-on-retrospective-and-on-line-event-detection-by-yang-pierce-and-carbonell/</guid>
		<description><![CDATA[Yang&#8217;s paper on on-line event detection (&#8220;A Study on Retrospective and On-Line Event Detection&#8220;) discusses the use of common text retrieval techniques to automatically detect events in news streams. Imagine that you are responsible for monitoring all the major news feeds in every single country your company does business in order to advise the CEO [...]]]></description>
			<content:encoded><![CDATA[<p>Yang&#8217;s paper on on-line event detection (&#8220;<a href="http://citeseer.ist.psu.edu/rd/0%2C51293%2C1%2C0.25%2CDownload/http://citeseer.ist.psu.edu/cache/papers/cs/1982/http:zSzzSzwww.cs.cmu.eduzSz%7EyimingzSzpapers.yyzSzsigir98.pdf/yang98study.pdf">A Study on Retrospective and On-Line Event Detection</a>&#8220;) discusses the use of common text retrieval techniques to automatically detect events in news streams.</p>
<p>Imagine that you are responsible for monitoring all the major news feeds in every single country your company does business in order to advise the CEO on trends and events that effect your company.  Obviously, you can&#8217;t read all of them on a daily basis and having a large staff to help would be costly.  This is exactly the kind of scenario that online event detection is meant to solve.  You need a program that can identify and organize news feeds as they come in, allowing you to see the key events (or even minor events) as they are reported, not days later.</p>
<p>This paper discusses the approach of a group of researchers at Carnegie Mellon University in the field of Topic Detection and Tracking.  After providing some background  information on the topic, the authors dive into the details of their approach.  The task at hand was to analyze a corpus of documents in a temporal fashion to identify events and track them.  In other words, even though they had the whole corpus at the time, they had to pretend like they were receiving the news in chronological order just like you and I do on a daily basis.  They could not look &#8220;into the future&#8221;, if you will, in doing their analysis.</p>
<p>Yang&#8217;s group attempts to solve this problem by using a clustering approach.  In fact, they are modifying Cutting&#8217;s Scatter/Gather approach that we discussed <a href="http://www.paperoftheweek.com/2007/04/14/potw-4807-scattergather-a-cluster-based-approach-to-browsing-large-document-collections-by-cutting-etal-2/">here</a> and also a single-pass, incremental approach.  They approach the problem in two ways.  First, they use the scatter/gather approach on a &#8220;retrospective&#8221; collection containing articles that occurred in the &#8220;simulated&#8221; past.  This is done to build up statistics about past events, figuring that new events will contain similar structures and statistics (TF/IDF, etc.) albeit with variations due to new names and events.  Section 3.1 discusses the representation of the clusters and 3.2 discusses their modifications of Cutting&#8217;s Scatter/Gather approach into what they call Group Average Clustering (GAC).</p>
<p>To solve the real-time, online problem, an incremental, single-pass approach was used.  To do this kind of thing, one needs to somehow estimate corpus statistics like IDF (inverse document frequency) in order to come up with reasonable estimations in order to come up with the proper weights for the term vectors used in the clustering algorithm.  The CMU group solves this problem by originally estimating the IDF using the stats from the retrospective process and then updating it as new information becomes available in the real-time approach.</p>
<p>Much of the rest of the paper is about picking parameters and evaluation.  Section 4.3 has some interesting discussion of &#8220;Behavior Analysis&#8221; that is worth looking into.  The gist of it being that the GAC approach seemed to be good at identifying large news bursts, while the incremental approach is better at tracking at long-lasting events.  In our scenario, you will most likely be interested in both kinds of events.  The key, of course, is having the ability to zoom in/out on the various news feeds and to setup alerts, etc. that help you manage the clusters.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paperoftheweek.com/2007/06/02/potw-52107-discussion-of-a-study-on-retrospective-and-on-line-event-detection-by-yang-pierce-and-carbonell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guest Contributor wanted for next 3 weeks</title>
		<link>http://www.paperoftheweek.com/2007/04/15/guest-contributor-wanted-for-next-3-weeks/</link>
		<comments>http://www.paperoftheweek.com/2007/04/15/guest-contributor-wanted-for-next-3-weeks/#comments</comments>
		<pubDate>Sun, 15 Apr 2007 19:40:05 +0000</pubDate>
		<dc:creator>grant.ingersoll</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Natural Language Processing (NLP)]]></category>
		<category><![CDATA[Question Answering]]></category>
		<category><![CDATA[Text Categorization]]></category>
		<category><![CDATA[disambiguation]]></category>

		<guid isPermaLink="false">http://www.paperoftheweek.com/2007/04/15/guest-contributor-wanted-for-next-3-weeks/</guid>
		<description><![CDATA[If you have an interest in writing on artificial intelligence, clustering, information retrieval or computer science in general and are interested in reviewing one or more articles over the coming three weeks on this forum, please contact me by leaving a comment on this post.  All topics will be subject to my review for appropriateness, [...]]]></description>
			<content:encoded><![CDATA[<p>If you have an interest in writing on artificial intelligence, clustering, information retrieval or computer science in general and are interested in reviewing one or more articles over the coming three weeks on this forum, please contact me by leaving a comment on this post.  All topics will be subject to my review for appropriateness, but I am open to most any article or publication in the Computer Science field.</p>
<p>Otherwise, I will be taking a brief hiatus from reviewing papers until I return from <a href="http://www.eu.apachecon.com">ApacheCon Europe</a> in the early part of May where I am giving a talk and a training on Lucene.  I have several key deadlines over the next two weeks that must take higher priority, including the publication of a couple of articles that I have been working on.  I will post details on the publication on my <a href="http://lucene.grantingersoll.com/">Lucene blog</a> when they are available.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paperoftheweek.com/2007/04/15/guest-contributor-wanted-for-next-3-weeks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>POTW 4/8/07: &#8220;Scatter/Gather: A Cluster-based Approach to Browsing Large Document Collections&#8221; by Cutting, et.al</title>
		<link>http://www.paperoftheweek.com/2007/04/14/potw-4807-scattergather-a-cluster-based-approach-to-browsing-large-document-collections-by-cutting-etal-2/</link>
		<comments>http://www.paperoftheweek.com/2007/04/14/potw-4807-scattergather-a-cluster-based-approach-to-browsing-large-document-collections-by-cutting-etal-2/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 20:53:16 +0000</pubDate>
		<dc:creator>grant.ingersoll</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[clustering]]></category>

		<guid isPermaLink="false">http://www.paperoftheweek.com/2007/04/14/potw-4807-scattergather-a-cluster-based-approach-to-browsing-large-document-collections-by-cutting-etal-2/</guid>
		<description><![CDATA[This week&#8217;s paper is Scatter/Gather: A Cluster-based Approach to Browsing Large Document Collections by Cutting, et. al. This paper, from 1992, takes clustering out of the realm of search, as it was previously used, albeit indifferently, and proposes to use it in a document browsing scenario. In doing so, the authors propose a new information [...]]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s paper is <a href="http://www.paperoftheweek.com/wp-admin/Scatter/Gather:%20A%20Cluster-based%20Approach%20to%20Browsing%20Large%20Document%20Collections">Scatter/Gather: A Cluster-based Approach to Browsing Large Document Collections</a> by Cutting, et. al.  This paper, from 1992, takes clustering out of the realm of search, as it was previously used, albeit indifferently, and proposes to use it in a document browsing scenario.  In doing so, the authors propose a new information access approach called <em>Scatter/Gather</em>.  The goal of the <em>Scatter/Gather</em> approach is to enablebetter browsing capabilities, not necessarily better search capabilities.  The paper also promises to introduce two near linear time clustering algorithm.</p>
<p>Diving into section 2, the basic premise of the approach is that documents are &#8220;scattered&#8221; into small groups of documents and summaries are shown to the user.  Based on the groups the user looks at, they are then gathered back in and then this subcollection is done again.  Section 2.1 has a nice, easily understood example that is well worth the read.  Section 2.2 lays out the requirements needed to implement <em>Scatter/Gather</em>, which are:</p>
<ol>
<li>A good clustering algorithm that can cluster a lot of documents in a a very reasonable time.</li>
<li>Summarization capabilities for describing the clusters.</li>
</ol>
<p>Section 3, title Document Clustering, lays the groundwork for the rest of the paper by outlining much of the current terminology and strategies for document clustering.  It will be interesting, in coming weeks, to compare how far we have come in clustering since 1992.</p>
<p>To do clustering, one needs a notion of document similarity.  A common one is the cosine similarity function that is used in the Vector Space Model of IR as well.  Essentially, two documents can be represented as vectors in some vector space, and the cosine of the angle between the two vectors can be used as a measure of similarity.  See Section 4 for more information on this, as well as other definitions useful to the problem at hand.  I&#8217;m waving my hands here for the moment, as I want to see how the notion of the document profiles introduced here play out in later sections.</p>
<p>Section 5 takes us into the needs of a partitional clustering algorithm, which are: 1) find a set of centers, 2) assign documents to a center and 3) refine the partition.  Once complete, there is a set of disjoint document groups that cover all the documents in the corpus.  The two clustering algorithms introduced in this paper, Buckshot and Fractionation, are useful for finding the centers, Buckshot being the faster of the two, while Fractionation is more accurate.  Section 5.1 looks at how Buckshot and Fractionation find the initial centers.  Sections 5.2 then covers how documents are assigned to the center, the simplest approach being &#8220;Assign-to-Nearest&#8221; which assigns each document to the center that maximizes the similarity between the document and the center.  Section 5.3 then looks at the refinement process, which can be broken out into 3 parts, an iteration  of &#8220;Assign-to-Nearest&#8221;, the Split algorithm which divides clusters that are not well defined and the join algorithm which merges clusters that are similar.</p>
<p>Section 6 goes into a good amount of detail on how the work of Section 5 can be incorporated into the <em>Scatter/Gather</em> algorithm and how it works out in practice.  The rest of the paper makes conclusions about the work and why it is useful.  The Appendix A covers an in-depth session of the approach.</p>
<p>Intuitively, the approach and application makes sense, even though my knowledge of clustering leaves some me lacking a bit of understanding on the low level details.  I wonder if there are any current systems that make use of similar browsing approaches in real systems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paperoftheweek.com/2007/04/14/potw-4807-scattergather-a-cluster-based-approach-to-browsing-large-document-collections-by-cutting-etal-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>POTW: 4/8/07: &#8220;Scatter/Gather: A Cluster-based Approach to Browsing Large Document Collections&#8221; by Cutting, et.al</title>
		<link>http://www.paperoftheweek.com/2007/04/09/potw-4807-scattergather-a-cluster-based-approach-to-browsing-large-document-collections-by-cutting-etal/</link>
		<comments>http://www.paperoftheweek.com/2007/04/09/potw-4807-scattergather-a-cluster-based-approach-to-browsing-large-document-collections-by-cutting-etal/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 18:53:46 +0000</pubDate>
		<dc:creator>grant.ingersoll</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[Natural Language Processing (NLP)]]></category>
		<category><![CDATA[clustering]]></category>

		<guid isPermaLink="false">http://www.paperoftheweek.com/2007/04/09/potw-4807-scattergather-a-cluster-based-approach-to-browsing-large-document-collections-by-cutting-etal/</guid>
		<description><![CDATA[This week&#8217;s paper is &#8220;Scatter/Gather: A Cluster-based Approach to Browsing Large Document Collections&#8221; by Cutting, Karger, Pedersen and Tukey.  This is one of Doug Cutting&#8217;s older works on clustering, pre Lucene fame.]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s paper is &#8220;<span class="m"><span class="l"><a href="http://citeseer.ist.psu.edu/cutting92scattergather.html">Scatter/Gather: A Cluster-based Approach to Browsing Large Document Collections</a>&#8221; by Cutting, Karger, Pedersen and Tukey.</span></span><span class="m">  This is one of Doug Cutting&#8217;s older works on clustering, pre Lucene fame. </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.paperoftheweek.com/2007/04/09/potw-4807-scattergather-a-cluster-based-approach-to-browsing-large-document-collections-by-cutting-etal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>POTW 3/26/07: &#8220;Lingo: Search Results Clustering Algorithm Based on Singular Value Decomposition&#8221; by Osinski, Stefanowski, and Weiss</title>
		<link>http://www.paperoftheweek.com/2007/04/06/potw-32607-lingo-search-results-clustering-algorithm-based-on-singular-value-decomposition-by-osinski-stefanowski-and-weiss-3/</link>
		<comments>http://www.paperoftheweek.com/2007/04/06/potw-32607-lingo-search-results-clustering-algorithm-based-on-singular-value-decomposition-by-osinski-stefanowski-and-weiss-3/#comments</comments>
		<pubDate>Fri, 06 Apr 2007 14:28:03 +0000</pubDate>
		<dc:creator>grant.ingersoll</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[Natural Language Processing (NLP)]]></category>
		<category><![CDATA[clustering]]></category>

		<guid isPermaLink="false">http://www.paperoftheweek.com/2007/04/06/potw-32607-lingo-search-results-clustering-algorithm-based-on-singular-value-decomposition-by-osinski-stefanowski-and-weiss-3/</guid>
		<description><![CDATA[Finally, a chance to finish up last week&#8217;s review on &#8220;Lingo&#8221; by Osinski, et. al.  I first came across Lingo via the Carrot Search and it&#8217;s associated Carrot clustering engine.  Mr. Weiss also chimes in on the Lucene mailing list from time to time when people ask about clustering Lucene results. To start, the paper [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, a chance to finish up last week&#8217;s review on &#8220;<a href="http://www.cs.put.poznan.pl/dweiss/site/publications/download/iipwm-osinski-weiss-stefanowski-2004-lingo.pdf">Lingo</a>&#8221; by Osinski, et. al.  I first came across Lingo via <a href="http://www.carrotsearch.com">the Carrot Search</a> and it&#8217;s associated Carrot clustering engine.  Mr. Weiss also chimes in on the <a href="http://lucene.apache.org/java/docs">Lucene</a> mailing list from time to time when people ask about clustering Lucene results.</p>
<p>To start, the paper explains the background behind clustering, highlighting two important features that clustering engines need: 1.) Good clusters! 2) Human readable labels.  Section 3 elaborates by noting that most approaches try to assign labels after the cluster, while their approach is different.  They only assign documents to a good label.</p>
<p>To achieve this, they extract frequent phrases from the input, to use as good labels.  Then use Singular Value Decomposition (SVD) on the term-document matrix.  At last, they match up labels with the clusters.  Section 3.1 has pseudocode for the algorithm.  In preparation for clustering, they do stopword removal and stemming.  Interestingly, they propose using the stopwords as language indicators so they know what stemmer to use.  This is clever in that it should be quite fast in comparison to using n-grams.  I wonder how accurate this approach is compared with n-grams.</p>
<p>Section 3.2 delves into how frequent phrases are extracted.  This is important because they form the candidate labels to assign to a cluster. Section 3.3 then discusses how cluster labels are induced from the phrases.  It is a three step process: 1) build the term-document matrix, 2) discover abstract concepts, 3) match phrases and prune labels.  The matrix is built using standard TF-IDF calculations, with titles receiving a constant scaling factor to weight them higher.  SVD is then used to find the orthogonal basis of the matrix.  I am not totally familiar with this technique (dang,  it has been a long time since linear algebra class) but, I guess the gist of it is that the basis represents the abstract concepts of the input documents.  Finally, to match phrases and prune labels, they do a cosine calculation between the abstract concepts and the terms, which allows for the selection of the best label based on the cosine score.  Labels are then pruned by finding overlapping descriptions.</p>
<p>Next, documents are added to clusters using the classic Vector Space Model (VSM), assigning documents to a label if it exceeds the &#8220;Snippet Assignment Threshold&#8221;, a control parameter used in the algorithm.  They do not specify how the threshold is determined.</p>
<p>Section 4 is an example of the process in action and 5 and 6 cover evaluation and future work.  The evaluation section mostly refers to another paper for more in-depth results.  Having used Carrot, I am quite impressed with the results, but I didn&#8217;t do a formal evaluation.  The clusters are good and the library is quite fast.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paperoftheweek.com/2007/04/06/potw-32607-lingo-search-results-clustering-algorithm-based-on-singular-value-decomposition-by-osinski-stefanowski-and-weiss-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>POTW 3/19/07: Discussion of &#8220;An Analysis of the AskMSR Question-Answering System&#8221;</title>
		<link>http://www.paperoftheweek.com/2007/03/24/potw-31907-discussion-of-an-analysis-of-the-askmsr-question-answering-system/</link>
		<comments>http://www.paperoftheweek.com/2007/03/24/potw-31907-discussion-of-an-analysis-of-the-askmsr-question-answering-system/#comments</comments>
		<pubDate>Sat, 24 Mar 2007 22:53:34 +0000</pubDate>
		<dc:creator>grant.ingersoll</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Natural Language Processing (NLP)]]></category>
		<category><![CDATA[Question Answering]]></category>

		<guid isPermaLink="false">http://www.paperoftheweek.com/2007/03/24/potw-31907-discussion-of-an-analysis-of-the-askmsr-question-answering-system/</guid>
		<description><![CDATA[Better late than never is what they say&#8230; I&#8217;ve been absolutely slammed this week trying to get out a proposal and finish up my slides for ApacheCon Europe. So, here goes on the POTW for this week. If you recall, we are reading &#8220;An Analysis of the AskMSR Question-Answering System&#8221; by Brill, Dumais and Banko. [...]]]></description>
			<content:encoded><![CDATA[<p>Better late than never is what they say&#8230;  I&#8217;ve been absolutely slammed this week trying to get out a proposal and finish up my slides for <a href="http://www.eu.apachecon.com">ApacheCon Europe</a>.  So, here goes on the POTW for this week.  If you recall, we are reading &#8220;<a href="http://research.microsoft.com/~sdumais/EMNLP_Final.pdf">An Analysis of the AskMSR Question-Answering System</a>&#8221; by Brill, Dumais and Banko.</p>
<p>Microsoft&#8217;s AskMSR system, as detailed in this paper, takes  a different tact  for trying to solve the QA problem.  Unlike most systems that use sophisticated NLP techniques, AskMSR makes the bet that somewhere on the web the exact answer is written in just the right way to answer the question.  Their approach is touted to be much simpler and much more efficient.  Also, they suggest this approach is complementary to the other approaches, even though in this paper they are trying to see just how far they can get.</p>
<p>AskMSR relies on the Internet as a massively redundant data source.  Section 2 of the paper lays out the System Architecture, which can be br0ken down into 4 sections:</p>
<ol>
<li>Query Reformulation
<ol>
<li>Takes the input query and rewrites into a number of different possible answers.  As a last resort, they also produce some less precise versions made up of non-stopwords.  No POS tagger or parser is used.</li>
</ol>
</li>
<li>n-gram mining
<ol>
<li>Given the rewrites, they submit them to a search engine, get the page summaries and use n-grams to calculate candidate answers and score them.</li>
</ol>
</li>
<li>Filtering
<ol>
<li>Given the n-grams, AskMSR then filters and reweights the answers based on answer-type, as specified by a few in-house, handwritten filters.  This is most likely one area where more advanced NLP techniques could be used to determine.</li>
</ol>
</li>
<li>n-gram tiling
<ol>
<li>The tiling algorithm merges similar answers and creates longer answers from overlapping answers.</li>
</ol>
</li>
</ol>
<p>Section 3 then details the experiments that were run, how they performed and how the different components contributed.  Ironically, they use Google for their search engine, but my guess is there current system does not.  Section 3.2 lays out how important each of the individual components are to the process.    While query rewrites weighting are pretty important (11.2% drop in performance when all are weighted equally), n-gram filtering is the single most important part, contributing nearly 18% over the baseline.  Tiling rounds things off by contributing approximately 14% to the process.</p>
<p>Section 4 has a discussion of how the various components contribute to errors.  Interestingly, many of the errors are due to their projection of answers onto the TREC-9 corpus and wouldn&#8217;t really be an issue in a live system.  Another interesting error source is the inability to query the search engine for numbers without including the number in the query:</p>
<blockquote><p>&#8220;For example, a good rewrite for the query <em>How many islands does Fiji have</em> wold be &lt;&lt;<em>Fiji has &lt;NUM&gt; islands &gt;&gt;</em> but we are unable to give this type of query to the search engine&#8221;</p></blockquote>
<p>It seems to me, though, that this could be addressed by some type of bounded approach.   For instance, why not just iterate through trying some numbers, within reason.   I wonder, too, how good their potential answers would be if they just put in any number.   I tried the Google query: &#8220;Fiji number islands&#8221; and the top three results have the answer and the third one, I think would be handled by the n-gram approach.</p>
<p>Section 5 is a good discussion on knowing when the AskMSR system does not know.  They use a decision tree that uses a number of factors, like query length, number of stopwords, etc. The thought process behind this is that why bother trying to answer questions that you know have a very low likelihood of being answered in the first place.  For example, they know that they don&#8217;t do very well on how questions, so they could simply say they don&#8217;t know the answer or just return keyword search results for the question (in a live system).  Of course, it all depends on how tolerant your users are of incorrect answers.</p>
<p>Well, that&#8217;s it for this week.  Haven&#8217;t decided on next week yet.  May do another QA paper, may look into some clustering algorithms.  Anyone have anything in particular they want to look at?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paperoftheweek.com/2007/03/24/potw-31907-discussion-of-an-analysis-of-the-askmsr-question-answering-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>POTW 3/19/07: &#8220;An Analysis of the AskMSR Question-Answering System&#8221; by Brill, et. al.</title>
		<link>http://www.paperoftheweek.com/2007/03/18/potw-31907-an-analysis-of-the-askmsr-question-answering-system-by-brill-et-al/</link>
		<comments>http://www.paperoftheweek.com/2007/03/18/potw-31907-an-analysis-of-the-askmsr-question-answering-system-by-brill-et-al/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 01:10:09 +0000</pubDate>
		<dc:creator>grant.ingersoll</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[Natural Language Processing (NLP)]]></category>
		<category><![CDATA[Question Answering]]></category>

		<guid isPermaLink="false">http://www.paperoftheweek.com/2007/03/18/potw-31907-an-analysis-of-the-askmsr-question-answering-system-by-brill-et-al/</guid>
		<description><![CDATA[Paper of the Week for March 19, 2007 is &#8220;An Analysis of the AskMSR Question-Answering System&#8221; by Bill, Dumais and Banko. Let&#8217;s have a look at how Microsoft does QA, shall we?]]></description>
			<content:encoded><![CDATA[<p>Paper of the Week for March 19, 2007 is &#8220;<a href="http://research.microsoft.com/~sdumais/EMNLP_Final.pdf">An Analysis of the AskMSR Question-Answering System</a>&#8221; by Bill, Dumais and Banko.   Let&#8217;s have a look at how Microsoft does QA, shall we?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paperoftheweek.com/2007/03/18/potw-31907-an-analysis-of-the-askmsr-question-answering-system-by-brill-et-al/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>POTW 3/11/07: Discussion of &#8220;COGEX: A Logic Prover for Question Answering&#8221;</title>
		<link>http://www.paperoftheweek.com/2007/03/16/potw-31107-discussion-of-cogex-a-logic-prover-for-question-answering/</link>
		<comments>http://www.paperoftheweek.com/2007/03/16/potw-31107-discussion-of-cogex-a-logic-prover-for-question-answering/#comments</comments>
		<pubDate>Fri, 16 Mar 2007 12:59:10 +0000</pubDate>
		<dc:creator>grant.ingersoll</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Information Retrieval]]></category>
		<category><![CDATA[Natural Language Processing (NLP)]]></category>
		<category><![CDATA[Question Answering]]></category>

		<guid isPermaLink="false">http://www.paperoftheweek.com/2007/03/16/potw-31107-discussion-of-cogex-a-logic-prover-for-question-answering/</guid>
		<description><![CDATA[This week we are digging deeper into the published work of Language Computer Corporation&#8216;s QA (they have an online demo on their home page) system by looking at COGEX: A Logic Prover for Question Answering by Moldovan, Clark, Harabagiu and Maiorano.  If you recall from a few weeks ago, the LCC system was the top [...]]]></description>
			<content:encoded><![CDATA[<p>This week we are digging deeper into the published work of <a href="http://www.languagecomputer.com/">Language Computer Corporation</a>&#8216;s QA (they have an online demo on their home page) system by looking at <a href="http://citeseer.ist.psu.edu/rd/70536349%2C656408%2C1%2C0.25%2CDownload/http://citeseer.ist.psu.edu/cache/papers/cs/32721/http:zSzzSzacl.ldc.upenn.eduzSzNzSzN03zSzN03-1022.pdf/cogex-a-logic-prover.pdf">COGEX: A Logic Prover for Question Answering</a> by Moldovan, Clark, Harabagiu and Maiorano.  If you recall from a <a href="http://www.paperoftheweek.com/2007/03/01/potw-22607-overview-of-the-trec-2003-question-answering-track-by-voorhees-2/">few weeks ago</a>, the LCC system was the top performer at TREC 2003 (see  last week&#8217;s <a href="http://www.paperoftheweek.com/2007/03/04/potw-3407-answer-mining-by-combining-extraction-techniques-with-abductive-reasoning-by-harabagiu-et-al/">POTW</a>  for a discussion of the overall system.)</p>
<p>In this paper, LCC demonstrates that using a theorem proving strategy to validate answers found through traditional QA means can improve performance by over 30% on TREC style questions.  To support this claim, LCC takes us through, at a high level, the steps involved in creating a theorem prover for use in QA.</p>
<p>Section 1 introduces us to the problem at hand and why they think COGEX is useful for QA and what types of challenges were overcome to implement it.  To summarize, COGEX creates logical representations of the questions, candidates and other world and language knowledge to re-rank candidate answers and remove incorrect answers.  It should be noted that it doesn&#8217;t identify the candidates to begin with, just &#8220;proves&#8221; they are correct.  The main technical challenges in the approach occur in two main areas: creating the logically representation of the necessary world knowledge and other inputs and the high failure rates and long processing time required to apply the prover (I wonder if LCC has overcome these for their online demo, or if they don&#8217;t use the theorem prover in the demo.)</p>
<p>Section 2 outlines how the theorem prover is integrated into the QA system.  They have a module called the Axiom Builder which takes in various free text inputs and WordNet glosses and builds logical representations of these.  On a side note, I wonder about the storage and retrieval algorithms used for these.  I would imagine one needs a way of quickly looking up the appropriate pieces, especially when it comes to the Wordnet glosses.  All of this input is fed into the justification module, which tries to prove out the theorem, relying on some relaxation techniques if the proof fails.</p>
<p>Getting into the guts of the program, sections 3 and 4 discuss in detail how to create logical representations of the text and the world knowledge incorporated into the system.  For the text, they use what they call a &#8220;logic form&#8221; which is a middle ground between a syntactic parse and a deep semantic representation.  In other words, they capture the various pieces of the structure of the text that they think are important, in this case: &#8220;(1) syntactic subjects, (2) syntactic objects, (3) prepositional attachments, (4) complex nominals, and (5) adjectival/adverbial adjuncts&#8221; (page 2).  To build the logic form, they map the words to the predicates, using the base form plus part of speech info.  Nouns are supplemented with a tag that allows it to be referred to from other predicates.  From here, they use grammar rules to construct the actual representation.  Since there are so many grammar rules, they observe that the top ten most frequently used rules cover more than 90% of the cases that they need in WordNet.  If I understand this correctly, they are saying common grammar rules such as Subject Verb Object, etc. are sufficient for most of their cases.</p>
<p>The next part  of the paper details how to use WordNet glosses to build a bank of world knowledge for use in the theorem prover by developing lexical chains linking synsets across hierarchies.  This is useful for increasing passage retrieval and extractions, as well.  The chains codify topically related concepts and are used in the proving algorithm.  Several examples are given at the end of section 4 for those interested in seeing more details.</p>
<p>Before getting to how the theorem prover works in section 6, section 5 discusses how NLP Axioms are built for the various language nuggets they are interested in, such as complex nominals, possessives, etc.  One thing to note is these axioms have strengths associated with them that play a role in scoring the answers in the prover.  Weaker axioms result in weaker confidence in a given proof.</p>
<p>Sections 6 and 7 discuss how the axioms are used and show an in-depth example of the process in action.  Reading the syntax is a bit mind numbing, but essentially it relies on a couple key pieces: hyperresolution, paramodulation and proof by contradiction.   See the subsection of section 6 on Inference Rules for definitions of hyperresolution and paramodulation.  In my naive understanding, they are ways of reducing and substituting to make the proof more manageable.  Proof by contradiction is simply a way of proving something by assuming it is incorrect and then logically deducing that if it were incorrect than some known fact would be wrong.  In the example of section 7, they assume there is NOT a company/organization that developed the Mosaic Internet browser which is contradicted by the fact that their passage states that NCSA developed Mosaic.  One interesting thing to note here, is this type of proof would not work well for subjective things or on passages that are lying or incorrect.</p>
<p>Section 8 discusses results.  Namely, they claim a 30% improvement in correct answers for TREC 2002.  Quite significant results with the trade off lying in the time and effort it takes to both codify the prover and actually run it on real systems.  This is often the trade off in NLP systems in the current state of things.  It seems you can have either fast or good, but rarely can you have both when it comes to deep, complex problems such as QA.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paperoftheweek.com/2007/03/16/potw-31107-discussion-of-cogex-a-logic-prover-for-question-answering/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
