Wednesday, May 9, 2007

programming project

When you turn in your project, I'd like to see the code you wrote or modified; figures for how large the indices are for words and n-grams, for example details from a directory listing; and a couple of sample queries and the results generated.

April 23, 25 and 30

I note that my blogging has taken a break.

Web search could probably be a course on its own, covering search as well as web services, RSS, and maybe semantic web stuff. In an IR course, web search may be good as a running example, but it can't take over the course.

A newer textbook can cover new topics, and that's important in an IR course. Is it my imagination, though, or is it true that some older textbooks are better than some new ones, even if some material is dated?

Callan's paper is fine, but I feel the need to add a survey of peer-to-peer IR.

May 2, 7 and 9

So far, the student talks have gone well. People have been staying in the time limits very well, without too much prodding from me, and that's good. I'm learning from listening to the talks, and that's good too!

Wednesday, April 18, 2007

schedule of talks

5/2
Ron Roff
Joel G.
Mike Wilson
JC Montminy

5/7
Chris
Mansi Radke
Beenish
Luke

5/9
Stephen
Ginny
Jason
Sayeed


5/14
Justin
Mike
Marcin
Sandor
Aparna

Tuesday, April 17, 2007

class Monday evening 4/17

So, you may have noticed that we had no class yesterday evening. The Catonsville area and UMBC in particular suffered a power outage that closed us down from noon until 6pm. The department mail servers were running, but I had no machine that had power, so there was no way for me to notify you.

In hindsight, I should have put a notice on the door, but frankly that slipped my mind.

Anyway, I apologize to those who made the trip to campus for nothing.

I plan to cover cross-language IR on Wednesday. I'll be posting a paper or two shortly.

Wednesday, April 11, 2007

format for writing project presentations

max. 15 minutes - I suggest you rehearse

2-3 minutes/slide

title and your name
executive summary <= 50 words
what piqued your interest in this topic?

present an example (multiple slides, but make it snappy)
OR
explain what you learned

what assumptions are made? what are the advantages and disadvantages?

future work - questions that still need to be answered
conclusions

peer-review is fine! don't be mean to each other

Monday, April 9, 2007

Monday April 9

The material on passage-based retrieval won't take too long to present. We'll probably discuss the programming project a little. With the Writing Project due soon, i.e. Wednesday of next week April 18? Homework 3 will be due the following Monday April 23.

Wednesday, April4, 2007

On Monday 4/2 we began the clustering tutorial found at http://www.cs.umbc.edu/~nicholas/clustering

Finished that on Wednesday April 4

Two search engines that use clustering include vivisimo and iboogie. Both still seem to be around.

Also talked about the programming project. Basically, the project is to use the ngram package (located in lucene's contrib directory) with the Reuters corpus.

Since the Reuters corpus uses SGML markup and several documents in a single file, parsing the documents is non-trivial. Originally I had said to index only the text inside paragraphs, but that may be too awkward.

So, what would it take to index the whole Reuters corpus, using ngrams, (with n=5)? One approach would be to use a perl script to make a file for each document, which would involve several thousand files. With n-grams, common ngrams will occur in each document with roughly the same frequency, so the markup shouldn't make much difference.

So that's the project: use the ngrams package to index the Reuters corpus, and use some sample queries, maybe titles with empty documents, to show that it works. Queries may have SGML markup.

I had also described Homework 3: Using a script or lucene or a program of your choice, tell me the ten most common 5-grams in the Reuters corpus.

Monday, April 2, 2007

Wednesday 3/28
We went over the McNamee and Mayfield paper, in some detail, and then we finished Salton and Buckley's relevance feedback paper. Shannon's 1948 paper is available on the web, and is still worth reading.

The use of LSA in cross-lanaguage IR is described in several places, e.g.
http://lsi.research.telcordia.com/lsi/papers/XLANG96.pdf

Monday, March 26, 2007

plans for Monday 3/26 and Wednesday 3/28

Tonight I'll be talking about relevance feedback. Let me know if you think this is a good topic or not :-)

Do people want to learn more about n-grams? An article on generalized n-grams just appeared in Information Processing and Management.

In my opinion, IP&M is one of the very best IR journals. You can access it online at
http://www.sciencedirect.com/science/journal/03064573

Wednesday is a little open - more on RF, more on n-grams, or maybe an introduction to clustering.

Information Retrieval: Data Structures & Algorithms


edited by William B. Frakes and Ricardo Baeza-Yates



http://www.pimpumpam.com/motoridiricerca/ir/toc.htm

Thursday, March 15, 2007

more on the writing project

You may implement something, but that's not necessary. You'll probably need to read up on your topic, focus QUICKLY on some particular subtopic, and explain it to me in ten pages... If you write something explaining that topic to me, maybe with a simple example, that would be fine.

A student wrote:

> Hello. I just had a question about the writing project.
>
> What exactly are you expecting for this project? I'm not entirely certain
> exactly what I'm supposed to write -- is this a research style project
> where I'm supposed to implement something and investigate a new topic, or
> am I going to go over a bunch of subtopics in the topic I have provided
> and inform you about them? I thought I had a better idea over what
> exactly was necessary, but I find myself a little confused about it right
> now.

Wednesday, March 14, 2007

Notes from March 12 and March 14

Introduced LSA on Monday.

Finished LSA on Wednesday, and talked about n-grams. I probably should have passed out Damashek 95 beforehand. I was asked what character set was used in the acquaintance plots, and I thought it was all unicode but I don't know.

Friday, March 9, 2007

clarification for hw 2

The idea of hw 2 is to give experience with computing tf.idf weights, and to see how stop words are treated. One approach is to compute the tf.idf score for each of the 35 stopwords, on a per document basis. The output would be a 330 by 35 matrix, and most of the scores should be positive but close to zero. Reading the output may be a little cumbersome, but this would be fine.

Another approach is to keep track of the min and max values of tf, for each of the 35 stopwords, as the documents are parsed and the index built. Then calculate idf for each stopword, and print for each stop word the min tf.idf and max tf.idf.

Wednesday, February 28, 2007

Homework 2

This homework is due Monday, March 12

1) find the module or modules in Lucene that handle stopwords. Is there a static stopword list? If so, where is it?

2) how would Lucene be modified in order to count the occurrences of individual stopwords?

3) Make the necessary changes, and rebuild the index on the Lucene src tree as in homework 1, and have it print a report saying how many times each stopword occurred (tf) and the total number of documents in which that stopword occurred (df). Then using (one of) Salton and Buckley's suggested tf.idf formulae for documents, print the term weight that should be given to each stopword.

Notes from 2/26, plans for 2/28

On Monday I talked about some more writing project topics. I started talking about probabilistic IR, using the slides posted.

I'll do more with probabilistic IR this evening.

Monday, February 26, 2007

Notes from 2/21, plans for 2/26

Spent a LOT of time last Wednesday talking about writing project topics. Here are some more:

  • There are other packages besides Lucene, e.g. Lemur, and Clairlib, and maybe others. A comparison of those packages would be a good topic.
  • The connection between IR and other areas, such as machine learning or NLP, can be explored.
For Monday evening 2/26, I'll talk about the Salton and Buckley paper, and introduce the concept of probabilistic IR.

Tuesday, February 20, 2007

writing project

My usual procedure is to wait until later in the semester, and assign a writing project that is due at the end of the semester. People rarely complain, but who needs more stress at the end of the semester anyway?

So let's get an early start. Within ten days, say by Monday March 5, I'd like you to tell me, in a short email, the topic of your paper. It has to have something to do with IR, and NOT something that we'll be going over in class in detail, although going in depth in some topic that we mention in class is fine. Describe your topic in a paragraph, and list at least three references that you're thinking of consulting.

The final paper should be about ten pages, with at least ten references. Don't let all the references be from Wikipedia. The paper will be due on Wednesday, April 18.

There are lots of possible topics! We can start with the
SIGIR Call for Papers

and move on to the
CIKM Call for Papers

I'm not expecting original research results of conference quality (although that'd be nice) but you'll need to do something more than just a rehash of existing work. It's always a good idea to summarize work in an area, and then suggest future work that somebody could do for a 698 project, or a thesis. Another approach is to study some technique, and then present a new example that would help people understand it. If you want to write a program (e.g. an extension or modification to Lucene) you can include that as an appendix, and it won't count towards the ten-page limit.

It doesn't bother me if your writing project happens to be related to your job, or dovetails with something you're doing in another class.

Monday 2/19/07

Distributed annotated copies of the onjava article dated 1/15/03, and the today.java dated 7/30/03.

Most people seem to have finished homework 1, and we discussed that a little. Getting lucene to recompile was the hardest part, at least for me.

In response to questions, I talked about phrase-based retrieval and n-gram retrieval (both character and word n-grams) as alternatives to the bag of words model. Note that words, phrases, and n-grams have their pros and cons - all three are just the way you decide what terms are to be indexed. Once the "term space" is identified, the vector space, probabilistic, or boolean models of retrieval are options.

Unix tools can be used to do "sanity checks" on IR results.