Thursday, November 27, 2014

Day 12: Some things are not as simple as they seem

Humans are brilliant!

I cannot express how I have felt this the past week trying to make the computer work. As I get pushed to the edge of frustration yet again trying to reproduce past research, I'm again stuck in coding and well past my saturation state for today.

On another note, one student reported a bug in the code we uploaded. It was so trivial yet it caused a lot of problems. Sigh.

Universal research scholar feeling : Implementing a paper is like uncovering hidden connections that were skimmed over by the author due to word limit :P

Friday, November 21, 2014

Day 11 : More Problems?

Today I realized I had skipped an entire section of base paper that didn't provide any explanation but was able to perform an interesting parsing. It divided complex statements and removed pronouns. I tried to recreate the same. It was easy to remove pronouns using co-reference resolution. To break into constiuent sentences, I found the corresponding verb and the fragment before and after using Stanford CoreNLP parser.

[Bakman 2007]

Input

Ruth had 3 apples. She put 2 apples into a basket. How many apples are there in the basket now, if in the beginning there were 4 apples in the basket?

Output in paper

1) Ruth had 3 apples.
2) Ruth put 2 apples into the basket.
3) There are ? apples in the basket now.
4) There were 4 apples in the basket.

My output:

1) Ruth had 3 apples.
2) Ruth put 2 apples into the basket.
3)  ? apples are there
4) There were 4 apples in the basket.

The pronoun she is resolved. However, I am not getting how many apples are there "in the basket". Need to work on that.

Thursday, November 20, 2014

Day 10: Coding and Still Coding

First of all, the double doors to my lab is becoming very annoying. Opening consecutive self-closing doors is kind of bugging.

Today, I brought my implementation of [Bakman2007] to an intermediate milestone. I feel that triggering a schema based on a change verb alone is not enough. I plan to use dependency and co-reference parsing a bit more.

Then, in the algorithms interface, I added the option of allowing the user to choose colours. Today must be the longest time I sat in lab continuously coding and I guess I will be for some time longer. I'm finally seeing some structure emerge in the programs I am trying. Making the tiny things matter and feeling positive.

Wednesday, November 19, 2014

Day 9 : Procrastination

I have not at all been regular with this blog. Yes, I've some great excuses but I am not going to waste your time on them.

So to round things up, I finally feel am going somewhere. I found a paper that could be a base paper and started implementing it.

I had a very funny meeting where I was so certain I would be reprimanded but instead ended up presenting the next day. I got so enthusiastic that I went and presented with a proper digital presentation. Unnecessarily. And experienced the chagrin of feeling like I wasted time.

The first demo implementing our application was out and we felt so happy seeing it perform DFID and IDA*. And I made a fool of myself saying, oh it found a shorter path! DFID always finds the shortest path, IDA* finds the least cost path. Making such fundamental mistakes gave me a #facepalm moment.

I've started reading about schemas for understanding natural language. As per my understanding, they are templates that can be triggered to perform some actions.

Wednesday, November 12, 2014

Day 8: To go or not to go?

Research is the highest pinnacle of academic freedom. You study what you want, when you want and how you want. There are no compulsions, no rules, just an appreciation of results.

In such a scenario, many a times the effort of going to the lab may seem quite mammoth :P

Ever since I installed remote login, I've been visiting the lab very less. Mental note to take some initiative.

Anyway.

I tried to see if patterns emerge from dependency parsing and co-reference resolution but was drawing a blank everywhere.

Today, I stumbled upon a review paper. A review paper is my Godsend. No matter how much you read, you always have this feeling someone has solved this problem somewhere. A review paper [Garain,Mukherjee 2008] is a summary of all related works in a particular field with a discussion of pros and cons of a system. It was a very good exercise to see what was happening. And more importantly, how much more there is to go.

In essence there are three approaches in trying to solve a word problem - have a database of example word problems, work with a subset of English or match templates or schemas. What was saddening was the intensive domain knowledge coding required for the simplest of problems. Common Sense is the most complex form of knowledge that we humans take absolutely for granted.

In the words of Captain Claw, "There has to be a way out!".

Tuesday, November 11, 2014

Day 7 : Learning?

Today, I studied about simple typed-lambda calculus and Combinatory Categorial Grammar. This was from a tutorial. There were two reasons I spent time on it - one was that the author of the base paper I was reading presented it and one was that it was under the heading of "Semantic Parsing" which gave me a feel that meaning of text can be retrieved.

Semantic Parsing aims to retrieve as much meaning required for a task. The calculus is a higher order logic from first logic, that can communicate with CCG. CCG is mildly context sensitive that is able to match syntax and semantics.

Still, it requires learning to resolve ambiguity. In a way, the modelling of semantics is still difficult. And I felt it was not relevant to what I was trying to achieve.

I feel this learning exercise was of some use even if not immediately applicable.

Wednesday, November 5, 2014

Day 6: Rebirth

So I enter the lab after so many days only to see I've missed an important meeting, a talk and basically every schedule possible. At this point in time, I'm happy I am not in corporate life because I think they would've just chucked me out if I fall sick so often :P

I tried to fix everything and do twice as much today and predictably trip and fall everywhere. Finally, I start applying my brain little by little. I learnt a bit about different grammars and tools - dependency, co-reference resolution and am going to look into CCG. Then, I added a new functionality in the algorithm visualization code. As the assignments gain more structure, we realized we need to give a framework for them to ask questions from the user and display a few messages. So, we incorporated those features. We finalized on the marking scheme and will hopefully finish a major chunk of TA work tomorrow.

So it's a brand new day, let's see what the future holds.