Messages
The survey organized by the students ("fagutvalget" / FUI) at the end of every term is our most important tool for assessing and improving the quality of the courses offered by the department. We hope as many as possible of you take the time to answer the questionnaire; more information at http://fui.ifi.uio.no/wordpres
As we mentioned yesterday, we've uploaded a sample exam to give you some idea of what to expect for your final exam.
We decided in the end to create a new sample exam, rather than provide you with last year's exam, to reduce confusion about possible off-topic questions. Everything on this sample would be a potential question for this year's exam.
Good luck!
One sharp-eyed student has pointed out the the labels on precision and recall have been switched in the pcfg-eval() function in our skeleton code. I have updated chart.lsp to fix the bug, and you can copy the updated version to your home directory if you want. It is not required though, and should make no difference to your discussion, except that which number is labelled precision or recall in your output may differ depending on which version of the code you have.
Just a quick clarification for question 1.1 that someone asked me about yesterday: the hint says you should find 6 lexical rules (rules with a word as the RHS) and 6 syntactic rules. This does *not* include the extra START -> S rule that you add. There really are 6 unique syntactic rules in those trees - count carefully! I have updated the exercise PDF to make this clearer.
The final obligatory exercise is now available on the course page: Exercise 3b
The due date this time is Thursday, November 21st.
As this is the last exercise before the exam, there are more theoretical questions, similar to what will be on the exam. In previous years, a common problem has been students not providing enough information in written answers. We do not require essays, but where a question asks for a few sentences, we really are looking for 2-4 sentences at least, not just a few key words. Consider this exercise a chance to practice writing full answers.
Note: Sections 2, 3 and 4 are based on material from the coming lecture this Wednesday. I think you will find it a useful lecture to attend.
We've now posted a suggested solution to exercise 2b. Simen will be walking you through the solution at tomorrow's lab session (in addition to offering help on 3a, of course).
Exercise 3a is now available.
Just to repeat a few things I said in the lecture:
The second part of this exercise concerns material we will cover in next week's lecture. However. Do not leave it until then to start! These exercises take time, as you should have noticed by now, so I strongly recommend that you start with question 1 early, so you will be able to concentrate on question 2 next week.
The other thing - the theoretical questions have been deliberately included in all exercises to prepare you for the exam. In fact, some of them are actually previous exam questions. Pay attention to them, make sure you understand them, and use them as practice for writing exam answers.
The due date this time is Sunday, November 3rd. Should you have any questions about anything, send an...
For those who might already be done with exercise 2b and would like to try their hands at some additional vector space programming, here's a set of extra exercises, focusing on computing kNN-relations. NB: this is completely optional and not part of the obligatory assignments, and will also not be graded.
Remember that the lecture tomorrow (9/10) is cancelled.
Also remember that tomorrow is the last chance to answer the midterm course evaluation. All comments are very much appreciated, big and small!
While I'm at it I might as well include a reminder about the deadline for exercise 2b as well, which is Thursday 17/10. As always with inf4820 assignments there is a fair amount of work to be done, so its a good idea to get started now if you haven't already done so. :)
Next week (16/10) Rebecca will be talking about n-gram models and Hidden Markov models (HMMs), check the lecture schedule for the assigned reading material.
We'll be running a midterm course evaluation this week and we'd greatly appreciate it if you could take the time to answer two simple questions to help us improve the course. What are you happy about, what are you less happy about? All answers are anonymous, of course. The form will stay open until the end of Wednesday Oct. 9: https://nettskjema.no/a/56571.html
Simen will walk you through a sample solution to exercise 2a at the group session today.
Note that we will continue to build on and extend the vector space functionality from exercise 2a when we now move on to exercise 2b where we will implement a Rocchio classifier. You can then either start from the provided solution or you can continue on with your own code. The deadline is Thursday Oct. 17th.
Just a couple of quick comments while we're approaching the deadline for 2a:
For those that might struggle with slow-running code: Make sure to use compiled (rather than just interpreted) code when dealing with large data sets like we do here, as this makes the code run faster. (There are also some comments on this towards the end of the "getting started" guide; http://folk.uio.no/simenheg/inf4820/get-started.html)
Another thing: More important than getting everything 100% right is to show that you've put in an honest effort; If there is a problem you find you can't solve, write down your thoughts on where/why you got stuck. If you find you cannot provide working Lisp code, try to provide pseudo-code or explain in words how you believe the problem should be solved.
The lecture notes from yesterday's session are now online and the reading plan is updated for next week; see the schedule.
Here's a sample solution for exercise 1: solution1.lisp. Note that all exercises and solutions are made available from the exercise overview page as well.
Note that we just updated the text for exercise 2a with a new version. Simen had noticed some unclarities that we've tried to correct, mainly in question 2b. Note also that the bulk of the work load for this problem set is associated with question 2b, as solving the overall problem here (reading in a text to populate the feature vectors) requires solving several other sub-problems (text normalization, filtering stop-words, mapping string to numerical identifiers, etc).
(A heads-up to those who that had already started on the exercise; note that we've renamed the file with the word list to 'words.txt', and that we've singled out the function `get-feature-vector' to a separate problem, 2c).
The IFI student machines are currently being upgraded from RHEL 5 to 6 (including the desktops in Assembler). Unfortunately, there's some lag in this process in terms of getting all the software we require for inf4820 in place. In the meantime, you can log on to a RHEL5 terminal by 'ssh -Y login.ifi.uio.no' and then run Emacs and Lisp from there.
At the group session tomorrow, Simen will present a sample solution to exercise 1, as well as help you get started on 2a.
While the deadline for exercise 1 is due in just a few hours, exercise 2a is now also available.
Please make sure you read through the entire problem set before you start coding, and provide your answers in a single `.lisp' file. The due date this time is Sunday September 29th. Should you have any questions about anything, send an email to "inf4820-help AT ifi.uio.no".
Yesterday's lecture notes are now available and the reading list has been updated for the next couple of lectures: Schedule.
Topic for the next lectures: Can we automatically infer the meaning of words? And how can we represent words and meaning in a mathematical model?
Exercise 1 is now available, and the focus is on getting familiar with basic Common Lisp. The due date is Thur. 12/9 (by the end of the day). Happy coding!
Please note there's a new room assigned for the group sessions: Assembler (3417). The time is unchanged (Mon. 10:15-12.00).
Here are some relevant Wikipedia articles to browse through if you'd like to get some more background on what we'll be covering in the course: