Home
About me
About my mentor
Research
Reflections on DMP
Weekly journal
A Day in the Life...

Final report

Weekly Journal

Week 1:
    I drove up to Milwaukee on Saturday and got somewhat settled.  On Sunday, I picked Catherine up from the airport, so that helped me feel more at home once I had a roommate.  On Monday, we met with Prof. McRoy to find out what she had in mind for the summer.  We got set up on computers in the lab (running RedHat, oh yeah!), and got comfortable with the environment.  We also got a LARGE stack of papers to read.  Tuesday I got started reading the papers, and found out they weren't so bad.  Mostly background reading on work that the group has worked on, and also several papers on issues in dialog annotation.  I did have the feeling of being unprepared for working in AI fields, having never taken such a course, so I started reading parts of an AI textbook that Catherine recommended to me (Artificial Intelligence: A Modern Approach by Russell and Norvig, 1995).  It is quite entertaining reading for a textbook.  Wednesday I started actually annotating some of the data set, using a given annotation scheme.  We soon realized that this part of the project was not as complex as it first looked, and would not take three weeks to do.  I continued some of the background reading and reading in the textbook to break up the annotation, although it is not as monotonous as I had imagined.  Thursday I finished up the annotation in the morning and met with Prof. McRoy in the afternoon to think about how the rest of the summer would shape up.  Then Catherine and I met with Prof. McRoy to work on some revisions for the annotation scheme.  Friday, I spent the morning working on installing a Praat script to extract one row of labels from the TextGrid files.  We got to see a demo of some software that members of the research group are working on various parts of: a tutoring system to help mechanical engineers learn, well, mechanical engineering.  I don't know much about mechanical engineering, but it looked like an interesting program, with lots of puzzles.  Friday afternoon was filled with miscellaneous activities such as fixing some of the annotation to conform to the revised system, working on this website, and installing a printer on Catherine's machine.

Week 2:
    The first part of the week I spent working on finishing up the annotation project for the dialogs, and extracting text files from the Praat TextGrid files to be used for data analysis.  Then I started annotating the dialogs using DAMSL annotation scheme by James Allen and Mark Core.  Tuesday we got to see more demos of what grad students in the group are working on- a system to adapt information presentation to different modes of output, a system to adapt information presentation to different user types, and a template-based text generation system.  I also spent some time configuring my rig, installing ncftp for more convenient file transfer, as well as the Java SDK and JBuilder by Borland.  Prof. McRoy figured out that the inter-annotater label comparison would not be as simple as it first appeared, so I began to build a tool to compare the Praat output files.  It was a little tricky to get back into the Java programming language, which I hadn't really touched since January, but I'm getting back into it, especially with the help of JBuilder and its automatic fill-ins and debugging suggestions.  I've got two of the basic classes coded, but some of the logic needs to be refined, as well as the output format.  I also need to put some kind of front end on it.

Week 3:
    I got the original version of the file comparer done, although without the front end.  However, the more I thought about it, the more I wondered how useful it would be to just compare two files and get a text output.  I discussed this with Prof. McRoy, and we agreed that the ultimate goal is to take several different label sets and integrate them into one unified set of labels per conversation.  So, the tool needs to compare several files, notify the user of the differences, and allow the user to make some sort of decision as to which label to accept in cases of discrepencies.  We decided that some sort of graphical output, possibly in table form, would be most useful.
    In transfering my attention to the new design, I enjoyed the benefits of object-oriented programming.  Since I was still working with the same type of input files and doing the same sort of comparisons, I was able to simply plug in a number of classes that I had written for the last version.
    It was a challenge to get myself reaccustomed to using the Swing library for GUI components, but it didn't take long to get up to speed, and I at least remembered where in the API to look.  I am also enjoying the auto-complete and "Suggest Correction" features on JBuilder.  For someone with a poor long-term memory for details, these save me much stress!  I also learned about some new components, namely the JFileChooser, that already implements an interface with the operating system and with the user to browse the file system and select a file to open.
    Sometime during all of this programming, I began to wonder if there might already be research published in other fields that could be applied to developing argument schemata, which is one of the things we are ultimately trying to find with this research, as I understand it.  I did a little preliminary searching, but haven't yet taken the time to read the abstracts I drug up.

Week 4:
    Made good progress on the compare program, by the end of the week it can compare two or more files and line them up.  Of course, a big bug showed up Friday afternoon, but hopefully the weekend will help that.  Basically lots of coding, testing, debugging, coding, testing, debugging.  This is what I like about programming, getting a little closer to a goal every day.  It is very motivating to work on a tool that I'll probably be using myself to do some data analysis.  
    I was also able to spend some time looking for background reading material on argumentation in general.  I hope this summer not only to do some good work for Prof. McRoy's project, but also use it as a chance to get involved in the field of argumentation theory and practice (well, some people would say I don't need any practice in argumentation, but that is NOT what I meant!).  I now have a list of things to spend an afternoon in the library pursuing from various journals.
    A highlight of the week was being caller number 7 to WFMR (the classical radio station) and winning tickets to the Waukesha Symphony Orchestra's concert Sunday evening, which was well worth going to.  Catherine and I also had a fun day in Madison on Saturday, going to a live broadcast of Whad'ya Know radio show, the farmers' market, and a tour of the capitol building.

Week 5:

    This week flew by, partly because it was shortened due to the Independence Day holiday.  Catherine and I are taking advantage of the long weekend by making a trek to the Twin Cities.  We're not sure what we'll do there, but it is sort of a pilgrimage to the Mall of America.  My multitier comparer program is coming along very well, and has essentially the required functionality.  I fixed some nasty bugs by remembering that in Java when you copy things you have to create a new object, otherwise they will just refer to the same object and that can lead to some nasty side effects!  Now I'd just like to add some niceities to make it a little more user-friendly, since I will probably be its main user, at least at first!  I would also like to figure out how to get its output to interface back with Praat.  I guess it is already the half-way point of the summer, which is simply amazing!  As far as the reading part of my research activities go, I am still trying to figure out how to find reading that will actually get me somewhere.  Much of what I find is heavily seeped in formal logic, which is important, but not what I am looking for.  Of course, if I could articulate where I wanted to go, I would probably be more likely to find readings that would "get me there!"

Note: We did go to the Mall of America, but the highlight for me was the detour to see the Spam Museum in Austin, MN.

Spam Museum in Austin, MN

Week 6:
    This week started out rough, sort of despairing why the JFileChooser in my program was not working as I wanted it too.  Thanks to some great moral support from Catherine and some folks on the Sun Developers' Forum I got through it, and finally had a revelation on Wednesday.  I'm still not sure why it was a problem, but I got it fixed.  The developers' forum is another reason why I really like the computer science field.  I feel like I belong to a large community (albeit a very quirky community...) of people who have similar interests, problems, and curiousity.  And, while most people wouldn't mind striking a vein like Bill Gates, most of them are not primarily motivated by money and are willing to help each other out in a less-than-cut-throat manner.  Anyways, once I got the file stream situation cleared up, I just had a few more details to refine, and I now I have a working program!  Thursday and Friday mostly spent finishing up my annotations that I had put on hold to write the program, and then preparing data from myself and two other annotators to put through the program.  This afternoon I've actually started on using my very own program, and catching a few little things that still need fixing.  I've also done some looking ahead to the next part of the project, which will be to analyzed the merged label set for frequencies of bigrams and trigrams in an attempt to find interesting patterns.  As Prof. McRoy put it, we are still kind of looking for a needle in the haystack.  I would add that we are not necessarily sure at this point that this is the haystack we dropped the needle in, or whether there is a needle at all, but it is exciting to think that we might be able to find some sort of patterns in the data.
    Weekend plans include a library booksale and checking out Kohler, WI, including the huge showroom of the Kohler Company (they make toilets, among other things)!

Note:  We also made a quick excursion down to the Jelly Belly Warehouse, which was delicious as well as educational!

Week 7:
    This was a week of figuring out how to do stuff.  The two biggies were using the Javadoc tool to create professional documentation and making an executable jar file.  Somehow it is a moment of pride when I can transfer just one file to a Windows machine and have it run just by typing one line.  And a great feeling to see my code documented just like the normal API that I use all the time on the java web site!!  I think if beginning programmers were taught how to use javadoc, they might be more motivated to put comments in their code!  I've also gotten a good chunk of the bigram-counting project done, just need to work out some of the dirty input/output details to incorporate it into my gui program.  Then I need to think about the more general n-gram case (or give up on that and just write a trigram program as well).  In general, I feel like I got a lot accomplished this week.  I also got to go see a really neat free concert downtown, some "world music" group from Chicago with a LOT of energy.  Yes, I was dancing, whether you believe me or not!  I have a pretty full weekend planned since my parents will be here visiting.  Hopefully the weather will stay as nice as it is right now.  I love 75 degree weather in July!

Week 8:
   
Progress was quick at the beginning of the week, and I was able to plug in the bigram-counting program and write and plug in a program to count simultaneous occurances across tiers (using many of the components I had already programmed for the other functions).  However, while I was reusing these components, I realized how dissatisfied I was with the robustness and encapsulation of my code.  It had kind of been nagging me for a while, but by Wednesday it bothered me enough that I decided to turn around and patch some things up.  For example, I have a class called Entry that represents the starting time and label of an inverval.  The Entry class also contained public fields (always a warning sign!) called isLastEntry and beenPrinted, which obviously don't really have anything to do with the Entry itself.  So, I implemented an EntryList class to take care of some things and spent time refactoring my code accordingly.  By the end of the week, I feel much better about my code, although I'm sure I'll find some things yet that will bug me.  I also took some more steps to clearly separating the output classes from the back-end classes.
    For some reason, this week seemed really busy, and there were nights when I didn't even turn my computer on in my room.  I went to another free concert on Tuesday eve. by the Love Monkeys-- sometimes you're just in the mood for some pop rock, and luckily Tuesday was one of those nights.  I even recognized some of the cover songs they did (which is an impressive feat considering the status of my knowledge of pop culture!)  On Thursday I went to The Fantasticks, a great show at the Skylight Opera Theater.  I sat way up in the gallery, but it was an experience!
    This weekend looks promising as well.  I am coming in to the lab on Saturday to get a head start on next week, since I will need to skip a day the following week for our big Canada trip.  Then on Sunday, I get company!  Lots of things to look forward to, and the project is getting wrapped up nicely.

Week 9:
    This week flew by as James was here to keep me company in the evenings and we had a lot of preparations to make to go to Canada (where I will be leaving for in about 15 minutes as I type this!)  As this week went on, I was glad I spent the time last week to fix the less-than-elegant code that had been bugging me.  I added a few features this week, and it was actually quite simple to modify the code to incorporate them.  I also can tell things are wrapping up because I spent a significant amount of time working on the final presentation I am giving next week, as well as a "canned" demo I am making to leave as my "legacy" with the software.  I used some software called Camtasia to make the demo, which allows you to capture what you are doing on the screen to a video file.  It's pretty cool-- sort of in the same category as Javadoc in my book!  The interface is easy, but it is harder than I expected to actually design a presentation that shows what is important without wasting a lot of time, and it is extremely difficult to choreograph the mouse to do exactly what you want it to do and look elegant.  I think my demo turned out pretty neat, though.  Well, I'm off to Canada!

Week 10:
    Canada was great, although the trip home got awfully long, especially since I was a bit nervous about the upcoming presentation.  The presentation on Tuesday went well, though, and I got some good advice from Prof. McRoy and Prof. Ali.  This week was all about putting together the distribution package for my software, trying to make it easy to use for those who come after me and impressive for potential employers/funders.  We also snuck in a little outing to a Brewers' game at Miller Park.  Luckily, the park has a retractable roof on it, so when it started raining in the 3rd inning it didn't stop anything.  And it was cool to watch the roof closing.  Unfortunately, the Brewers were not so hot, as they got beaten by the Braves 10-2.  Not a very exciting game.  Today I'm trying to clean up the hard-drives, my desk, copy the important files to disc, and then I'll go back to my room and pack up so I can leave tomorrow morning.  I'm looking forward to being at home for a while, but I can't imagine a better place to spend the summer than Milwaukee! I'm sure I'll be back, if only to go to the Three Brothers again!