Showing posts with label :-(. Show all posts
Showing posts with label :-(. Show all posts

Thursday, 21 August 2008

badbad

Being a bit distracted today. And tired.
Do better tomorrow.

Monday, 23 June 2008

kaput

Just too sleepy today to get anything done. I'm going to go into town and just do nothing for a while. Taking Wednesday off too, so not a productive week. Will have to make up for it this weekend.

Finished the disjunctive input over the weekend and started reading the "hypertagging" one. The mechanism for tracking alternatives in the chart is the same as the one we use for chart sharing over polarity automaton paths [which kinda makes sense in a way]. This reminded me that if you wanted to keep polarity filtering working with disjunctive inputs... well... you might want to think of a way to do it. Should be doable, just gotta sit down and work it out for a week.

Friday, 13 June 2008

really really bad!

The story this week has been : wake up early and get to work before 9, sometimes before 8 (great!)... and then go hack on darcs (no! bad!)

I spent most of today preparing the ChangeLog for the upcoming darcs 2.0.1, which was really not what I set out to do for the day.

Otherwise, I did spend some time reading M+S

markov

Look, this is something I have seen a couple of times, (maybe 3 or 4), but maybe now I think I grasp it well enough that it will stick.
  1. Markov Model: the past does not exist; only the present moment matters (probability of transitioning to state N+1 given state N, doesn't matter what states N-1 , etc are)
  2. Hidden Markov Model: you don't have a way of telling for sure what state you are in

Actually pretty simple now that you "get" it. Sigh. Crazy soft drink machine: it would be a visible Markov Model if the machine had a little readout that said "I am now in Cola-Preferring mode", or if it as a rule, consistently spat out cola when it was in that mode. It's a Hidden MM because the drink you get doesn't actually tell you what state it's in. Just tendencies.

I think maybe the confusing thing is that people talk about "hidden states"... when what I think they really mean is that "you know what the states are and you can give them names; you just don't know which one you're in at the moment". I guess a priori one assumes that all states are connected to all states (although you may eventually learn that some of those connections have zero or little probability).

I'm a slow learner. I get side-tracked by things like that. But I hope that as the years roll by, I eventually figure out all the parameters behind Erician learning, and optimise things so that I pick things up quicker (and understand them more deeply, etc)

Also have the intuitions for the forward-algorithm, I think. Motivation being to find the probability of a sequence of observations. Crazy soda machine example again, worked through this with them. You could just add up all probabilities for all paths, but then you'd be running through each possible path one by one. Slow. Forward-algorithm is dynamic programming. Fine. Backward algorithm, my eyes sort of glazed over at first, but then you remember that "the past does not exist; only the present moment matters". If forward algorithm is about summing up all the previous states I could have come from, the backward algorithm is about summing up all the states I could go to. Talking this out in my own private language. The alphas and betas are the same as P(O)s... just incremental (up to time t, state i).

Monday, 9 June 2008

being stupid today

Wow, I really didn't get much done today, despite trying to, like, work and stuff. Got here before 9h, which is ok, not great. Was trying to look at the SumTime grammar, figure out how it fit together (this was taking me a long time).

Had chat with AB about what I'm working on for the next fortnight:
  1. building semantic grammar for trains domain
  2. see what SCFG tools are out there (WF: her email)
  3. think about underspecification re: #1
  4. read more SCFG stuff, understand Wong stuff better... (maybe Melamed?)
Should be enough stuff to work on. I wonder where the time went, exactly. It just sort of... evaporated.

re-implementation

I'm scared of re-implementing stuff myself nowadays. I don't know if this means I've become a better (more realistic) programmer, or a worse one (more fearful). I suspect it's the latter. Why should this scare me? Parsing an SCFG is just parsing a CFG and then re-running the derivations on the flip-side. Ok, so we're dealing with a weighted SCFG so we have to use Viterbi in unpacking (?)... oh ok, we're doing chart generation and not chart parsing and the input is sorta like a flat semantics, but a little bit different, nothing you couldn't wrap your mind around, and oh there's the actual business of learning the grammar and learning the weights behind it. So why so nervous?

I could do it. I could just add an Earley-SCFG module to GenI. What am I so worried about? [maybe the fact that it took me an embarrassing 6 months, or was it longer? to do TAG CKY/Earley generation? but now all the refactoring work is done, so it's just a new module, right?] The probabilistic stuff scares me a bit. But come on! You know Viterbi is easy, if it's just te unpacking.

Oh wait, maybe I remember why I'm scared. It's all thedetails. Like, if I wanted to extend GenI, I would have to extend the parsing code so that it reads scfg-grammars (are these going to be in tree form?). Oh, and there's the whole Lambda-SCFG stuff. And and and all those command line switches to add (ok, that should be easy). The details.

Tuesday, 3 June 2008

grouchy and tired

Well, had some trouble sleeping last night, so I'm pretty tired today. Spent too much time in the garden (going crazy with shears). Also worked a bit too much on darcs (trying to track down a bug). Intention was to stay late to make up for lost time, but just falling asleep and not understanding things.

Sigh.

Just so grumpy. I'm taking it out on the thesis I'm reading "ARRRRGH, I DON'T UNDERSTAND, AND IT'S ALL YOUR FAULT" (heh).

Finished chs 3 and 4 of M+S. Now on on the meaty stuff. Uh-oh.

Friday, 30 May 2008

back in brighton! (sleepy day)

Alright, back from holiday [was in Liverpool the last 4 days]. Hmm, maybe I should also count the three days before that being bad into my holiday quota.

Now, can we behave a little better?

Let's see: got in at 11 (after gardening). Did some darcs stuff until lunch, and a little bit more after. Tidied the heck out of my desk. Chatted with ILG about work stuff [so that's good].

Started reading Yuk Wah (John) Wong's PhD thesis.

Not doing much.

I guess the answer is no, then.

Oh, and I've been reading some Wong/Mooney papers on the way up to Liverpool and back. So maybe that makes up a little bit for badness.

Thursday, 22 May 2008

another naughty day

Boy, I've sure got my mind stuck on darcs these past couple of days. Been very very very bad, then stayed late to do some work, and was bad some more. Refactored some code, did a little triage. I don't feel particularly crummy, but I'm slapping a frowny on today to remind myself what a bad Eric I've been lately.

book

Tried to read a little bit more of Manning + Schutze, but I kept falling asleep, which as you know, is what I do when I don't understand. This is a bit discouraging. We're only at the mathematical background part, and not the actual meat.

talk

Listened to a very nice talk by Carlos Gómez Rodríguez, fitting a bunch of dependency parsing algorithms into this parsing schemata framework (what's the difference between that and the parsing-as-deduction stuff? it looks superficially the same at least...). Very clear, in my naive opinion, but probably because I'm being too superficial to notice any potential problems. The talk really worked for me because (a) i'm naturally inclined to like this stuff [let's grab all this shit and talk about it in a clean, uniform manner] and (b) the explanations were implicitly visual and lego-like. You saw what bits fit into what fits. Also gave me a nice slide on constituency parsing vs dependency parsing which would have made me really really happy at ACL 2006 when I was like "huh? what's this thing everybody's talking about?". Oh well.

Ok. Better behaved tomorrow. I have a clearer idea what I'm supposed to do.

Wednesday, 7 May 2008

grumble (reg 9h)

Worked out some precision/recall stuff this morning. Helped out with some installation issues. Still a bit stuck on the alignment issue (was looking for implementations of string alignment software, but hey, AB did say she had that Levenshtein distance implementation, which she has now put to use to some good effect).

Still feel a little stuck and grumpy, though... probably because I didn't think to actually just try what she said?

Trying to play with HaXmL a bit for some reason. Wanted to write something to just get all the text nodes out of an XML document, but couldn't figure out how to do it. I can apply the filter (multi txt) which probably does what I want, but then I can't work out how to merge the outputs into a single Content node for processXmlWith. Will probably not have to use this. Or come to think of it, maybe just switch back to XSLT or something like Perl's XML::Rules.

Will also need to write an S-expression parser, or probably just find one, for example, with a Python binding. Surely this has been solved already (yeah, there is that C one).

Just things that make me grumpy

Thursday, 1 May 2008

attention, intentions and the structure of discourse

Did a tiny little bit of work for REG (there's some other new tasks I could work on, say, next week)... attended a WSD talk which I did not understand and regretfully fell asleep through (same old pattern... it would probably help if I went for the lighter lunch, you know...)

I think I've made it through the grosz+1986ais . Bewildered and unsure of what it was I just read. Jotting down my useless notes. Really not going to attempt to understand this paper. Tuck it into the back of my mind. I've seen it. Maybe it'll make more sense when I'll have read other stuff.

Something about Grice that this paper points to a lot. Utterance-level intention is one thing that seems to come up. Don't know anything about Grice [although I remember people talking alot about maxims :-) ].

Je nage.

Tomorrow I think harder about Prodigy. What am I supposed to do with myself? Where should I steer my reading now, or what more-active stuff do I need to be engaged in. Been just... so... useless lately, except as a REG hacker...

I think I'm going to slap a frowny on this one. Trying to read this paper and not getting it has made me grumpy.

(2) basic theory



data DiscourseStructure =
Discourse { linguisticStruct :: Tree Utterance
, intentionalStruct :: XXX DiscourseSegmentPurpose
, attentionalStruct :: Stack FocusSpace }

data FocusSpace =
FocusSpace { salientEntities :: [Entity]
, purpose :: DiscourseSegmentPurpose }

-- not so sure about XXX; we've got a dominance hierarchy and the satisfaction
-- precedence relations, so do we just call this a graph of some sort
Other random notes:
  • linguistic structure constrains interpretation of utterances (in the LS)... which affects what speakers may say too ; conversely, the utterances can be used to convey information about the LS
  • focusing structure: information in lower spaces accessible from higher ones, but less so
  • task structure != focus space (researchers have made this mistake?)

(4) processing issues


  • cue phrases the most distinguished linguistic means that speakers have for indicating discourse segment boundaries and conveying information about the DSP
  • "certain intonational properties of utterances" too
  • pg 190: if an OCP must recognize a DSP to understand a segment, then we ask: how dose the OCP recognize a DSP when the utterance from which its primary intention is derived comes so late in the segment?.... [ partial information, enough to establish dominance and satisfaction precedence relationships for other segments ]
  • pg 191: "a primary role of the focus space stack is to constrain the range of DSPs considered as candidates for dominance or satisfaction-precedence of the DSP of the current segment"
  • centering - did not really understand this... backward-looking center

(5) application of the theory: interruptions



Test. Can you model interruptions? True interruptions, flashbacks (oh yeah, I forgot to mention), digressions, non-interruptions (semantic returns)

(6) application of the theory: cue phrases



"cue phrases provide abbreviated indirect means of indicating these changes" [to attentional state and intentional structure / as opposed to directly saying something like 'Now let's turn our attention to...']

Figure 12: pg 198: summary of uses of cue phrases (hey, could be handy for a generator)

(7) some properties and problems of discourse-level intentions



Row row row your boat. Nope, no idea what's going on here.

Section 7.4, pg 202: contrasting role of DP/DSPs with the rhetorical relations in the (then budding) RST and other such theories?

A claim of the theory being developed in this paper is that a discourse can be understood at a basic level even if the OCP never does or can construct, let alone name, such rhetorical relationships. Furthermore, it appears that these relationships could be recast as a combination of domain-specific information, general relations between propositions and actions (e.g. supports and generates), and general relations between intentions (e.g, domination and satisfaction-precedence).

Monday, 17 March 2008

meh

Another unproductive day.

Read the synchronous grammars tutorial by David Chiang.

Some random non-work hacking.

A lot of general, not-working activities.

And no, I'm not trying to prove a point (I'll explain later)

Wednesday, 12 March 2008

aaaaaaaaaarrrr (reg 2)

I've been getting into this idiotic habit of staying really late at work and... not doing anything. [oh doing lots of stuff, just not work]

Except maybe in my last half hour, or something.

I'm not really happy with what I've proposed in my tech report version 0. I feel like I haven't done a good enough job seeing what it is other people have done.

Wednesday, 5 March 2008

not a productive week

I think I've done half a day's work between yesterday and today. Worked from home in the morning yesterday because I wanted to get some stuff done on the laptop (Omnigraffle stuff). But then I just sorta stayed home and did nothing useful (was it wxhaskell hacking I worked on?) Basic inertia. Today, came in at a reasonable time, but I still wanted to push some wxhaskell stuff out the door (I'm trying to get a release candidate out the door). Hack hack hack. Afternoon was similarly wasted, a bit of chit chat, a bit of staring out into space not able to set my mind on something, and a bit more hacking. Finally got started around 20:30 to think about this prodigy stuff. Generally discouraged.

Wednesday, 27 February 2008

good but dumb

I guess I was being good today... but that didn't make me any more productive. Have no idea how I spent my afternoon and evening. But I think I was working. Just not going anywhere. Haven't absorbed that lesson from the thesis, I guess, how to work and actually move forward.

more nitrogen/halogen

So yesterday, I was complaining that the symbolic part of Nitrogen/Halogen [I'm treating them as essentially the same for now, out of sheer ignorance] was "seriously powerful (in a bad way for our needs)"...

But now sleeping on it, I'm not so sure. You've got these fancy looking recursive feature structures. The grammar rules don't really do any fancy matching (although you could say they have some form of unification variable). You've got that pattern matching on the lhs, but as I said, it is only 1 level deep, in the sense that while you can pick out individual values of a feature structure, you can't select values within those values. So if you've got a feature structure like:

:root (:foo (:foo1 a, :foo2 b))
,(:bar (:bar1 a, :bar2 b)))
And you have a grammar rule that matches against :foo and :bar, you're not going to be able to pick out the foo1 and foo2. You don't see them; the values are effectively atomic to you. The only thing you can do is say "give me back the word lattice you get for processing this value". So the traversal of an input feature structure is almost straightforwardly top-down (well... there is that :rest feature).

recasting rules

Recasting rules are the one place where you don't just decompose the input feature structure, but actually add stuff to it. These still look pretty durn powerful. The Halogen paper talks about them too, so I guess they are used quite a lot. Here's what a recast rule looks like. The interesting parts are the question mark (? foo ?), and the :new keyword.

((x1 :rest)
(x2 :domain)
->
(? (x1 (:new (/ |be|)
(:domain x2)
(:range x1))
?)
)

(? foo ?)

At first, I was confused about the question mark. Why on earth do you need it, I was asking? Isn't something like this already built-in? No! This is what I was talking about just a few paragraphs ago about the traversal of the input feature structure being exclusively top-down and the values being black boxes. Putting this another way, the output of a grammar rule is not itself processed by any grammar rules. It's all just structured decomposition... except of course, in the case of the question mark.

What the question mark lets you do is to build up a whole new input feature structure (based on the little black boxes you matched against), which you then process with grammar rules and splice into your word lattice. I guess the key difference between using the question mark and not using it is that you're not just decomposing, but adding new stuff.

:new

The :new keyword is one mechanism by which you can add stuff. It lets you create a feature and plug in some values. Anyway, so we're going to process this rule
(m8 / |necessary|
:domain (m9 / |eat|
:agent (m10/|dog|)))
Using the recasting rule repeated from above:
((x1 :rest)
(x2 :domain)
->
(? (x1 (:new (/ |be|)
(:domain x2)
(:range x1))
?)
)
x2 gets the value:
(m9 / |eat|
:agent (m10/|dog|)))
and x1 gets the value:
(m8 / |necessary|)
The question mark builds up a new feature structure which gets processed by the grammar, the results of which are spliced in:
(m11/ |be|
:domain (m9 / |eat|
:agent (m10 /|dog|))
:range (m8 / |necessary|))
(What I'm confused about, though is what the highlighted x1 above is doing there)

:add

There is a second mechanism for building up feature structures, and this one is a tiny bit more involved. The keyword in question is :add and it lets you insert features. If we use the following grammar rule
((x1 :rest)
(x2 :domain)
(x3 :range)
->
(? (x2 (:add (:modal (x3 (:add (:extra x1)))))) ?)
(s (seq (x2 np nom-pro)
(x1 v-tensed)
(x3 adj np acc-pro)))
(s (seq (wrd "it")
(x1 v-tensed)
(x3 adj np acc-pro)
(wrd "that")
(x2 s))
...
)
to process this input,
(m11/ |be|
:domain (m9 / |eat|
:agent (m10 /|dog|))
:range (m8 / |necessary|))
x2 matches :domain and gets the value
(m9 / |eat|
:agent (m10 /|dog|))
x3 matches :range and gets the value
(m8 / |necessary|)
x1 matches the rest of it, which isn't much.
(m11/ |be|)
The question mark builds up this input feature structure:
(m9 / |eat|
:agent (m10 /|dog|)
:modal (m8 / |necessary|
:extra (m11/ |be|)))
which then gets processed by the grammar and spliced in

thinking about generation


Not being productive there. Trying to figure out what we can learn from this Nitrogen and Halogen stuff for our needs. Had some doubts if we are powerful enough, and thought I would look into something low-powered to either reassure myself that what we're trying to do could work or get more

rambot

Thinking about the UK census data part of the the task, I suddenly remembered Rambot, the little NLG system that probably doesn't know it's an NLG system. Rambot is a wikipedia bot that automatically turned census data about obscure US towns (Waldo, Florida) into demographic texts. I guess the system is template-based, canned text all the way, because all of the articles look exactly the same (no variability). Rambot is at least smart enough to do some substitutions, like plugging in 'village' instead of 'city' depending on the the size of the agglomeration. It also knows how to leave things out. For example, if a town has 0% Pacific Islanders in its population, it just doesn't mention them. Perhaps Rambot is useful for making a point which is that that NLG, even really stupid NLG (no offense to the author!) is actually useful in the real world. [On second thought, maybe if this is NLG, pretty much any system that outputs text is NLG]

pdtb 2.0

PDTB 2.0 is out now, for the interested (I saw on their site). Costs $1000 for non LDC members (but I guess one could have an exception made depending on circumstances)

think-a-think

I wish my thoughts were solid enough to write down. Lots of going around in circles, half-thoughts that dissipate, an undisciplined mind. Worrying about how to do this right, but uninformed, unexperienced and don't understand the things I read. Then I keep trying to remind myself that we're not doing general purpose tools, but single-purpose tools in a very general way (subtle distinction). So we don't have to do it "right" just good enough for the job. But what on earth would that be?

Wednesday, 20 February 2008

not great, but not too bad either

Sleepy day due to yesterday's shennanigans (boy! hiding spam from the wxhaskell-users mailing list! wracking my little brain to come up with a name for a benchmarking program [maybench], how exciting!)

drt graphical notation revisited

Doh. The thing is K1 => K2 really is a complex condition, two DRSes connected by a thingy (akin to K1 v K2, etc). Makes more sense when you look at algorithms for putting DRSes together. So my notational blah blah is completely stupid. I'll just have to live with things that don't fit in boxes. Next.

noooo, not taxi!

Today we got a tech support query for The Adjutable XML edItor, TAXI. Sorry, couldn't help. Managed to reproduce the error, so not willing to figure out how to compile TAXI, fix it, etc.

drt, pdtb, d-ltag, sdrt

Revisited these today. I have a much better idea what DRTU looks like now (having reread bos1995plu). Grabbed version 2 of the PDTB annotation manual and now how have some tiny tiny samples. Reviewed the D-LTAG parsing paper (ahem clause medial connective). Reread webber+2004drs, which made a little more sense this time around. I'm feeling kinda worried, in fact, very worried that I'm not up for this job, simply am not doing what is asked of me (well, except for the hacking stuff, making websites and all, but that's not the Hard Job). Meh. Let's slap a frowny face on today, just for the hell of it.

Thursday, 31 January 2008

bah

yesterday

Yesterday was pretty short. Read some more of roussarie2000mti, learned a bit more about SDRT (it may have been more efficient to just read the chp3 fragments from asher2003+lc). I was amused by names like the "Push Causal Law" which sounds like something really fancy and deep, but if you look more closely at it, it says something like "If 'Y falls' is followed by 'X pushed Y', then it's quite likely that Y fell because X pushed him". I guess the point is that we manipulate chunks of world knowledge like that?

relevance theory

Attended a very nice talk by Robyn Carston on the metaphorical use of language. I say nice because it was really easy to understand (although now I'm worried that I didn't fit all of it into my head). So Relevance Theory offers a deflationary account of metaphor (could be seen as basically just a few steps up from hyperbole)... there are some questions and doubts about it... proposal, two types of metaphor (and corresponding mental processes), one which behaves like Relevance Theory says so, and the other which is basically the same as similes. I think that's what I got out of it.

today

Today was not just a good day. I got in later than I could have (used wind as a silly silly excuse to stay home for a bit). Tried to read some more roussarie2000mti, but realised that à partir de chapitre 3, I was seriously going nowhere. Ok, set this aside, nothing more I can really learn from this (without hurting head too much). Then again, maybe should have a look at chapter 5 or the end of chapter 4... hmmph.

Spent the afternoon, basically doodling. Trying to work out this whole content representation thing. Still can't wrap my head around how we're supposed to cram a flat semantic input into this... I think I'm just not being imaginative enough, hanging on to some stupid thought. Rereading belz2004cru (the tech report) and also the project proposal to make sure I really know what it is I'm trying to do. It's funny how many times you re-read that and pick up something new. Like this time, I noticed that the size of our texts are always no longer than 3 sentences (except for one of the corpora which has gone bye-bye).

I think I've spent the whole day feeling stupid and not getting anywhere. If I were more mature, feeling stupid wouldn't faze me one bit ("I'm stupid, yay!") and I would still get places. In fact, I would leverage my stupidity and turn it into genuine usefulness...

Tuesday, 29 January 2008

day of upgrading and hacking (reg 3)

I've been bad today. Real bad.

upgrading

On a whim, I decided to upgrade from Feisty Fawn to Gutsy Gibbon. What's the worst that can happen, right?

Somewhere in the middle, the update died and said my system was in an unstable state. Part of it was due to my uninstalling some packages by hand (Haskell's X11 1.2.1). When the unregister script in the package tried to run ghc-pkg, the latter simply complained that it couldn't find the package, normal because I had unregistered it by hand to put X11 1.4.1 in its place. After some frantic aptituding, I figured out that I only had to edit the file /usr/lib/libghc6-x11-dev/unregister.sh to comment out the ghc-pkg call. Then, I could remove the package in peace and everything was ok again (I hope! Did an aptitude dist-upgrade and got no complaints).

Also continuing that whim, I decided to upgrade GHC 6.8.2. After reading Cale Gibbard's advice on a reddit thread, I have learned that the right way to do it is just to forget the Ubuntu packages, and install the binary from the GHC site. Said binary comes with a whole bunch of libraries, so that makes life simple. I had to install a couple more packages to recompile darcs, and tagsoup, but seems fine now. I tried cabal-install again, but unfortunately, my proxy server seems to respond with an HTTP code 400 to the HTTP package (I'm guessing that's what happens). Sigh. More installing stuff by hand.

My xmonad is now at version 0.6 (after the upgrading). Works fine.

I have solved my problem with the inconsistent font sizes.. Just had to start gnome-settings-manager. Probably applies to anybody who's not using Gnome, but is using some Gnome apps or other stuff built using GTK-2 (guessing wildly!). Always suspected it was something like that, but just didn't know what it was called. Should have thought about gnome, and not just gtk.

Well, that was foolish, but now I have a new system and some nice new software. In the grand scheme of things, it wasn't so bad. Mail still working, printers still working. Just a little scare in the beginning.

I guess upgrading somewhat regularly makes sense. Part of it is that the state of Linux software, as advanced as it now is, still kinda sucks (Dia for example, which I think is no insult to the developers. Non commercial software has a "right" to suck)... so you're always hopeful to get a less-sucky Dia, or a less-sucky Openoffice. Another thing is that it just makes life simpler because everyone else is upgrading... so you can keep up with them in terms of libraries and what not. Now, that's not just a case of herd mentality. Everyone pretty much has to upgrade, because different people start using software at different (read: newer) versions. Frequent upgrading just makes life easier for everybody in the long run.

darcs hacking

I think I've spent over two hours today working on darcs, minor bugfixes, etc... very clearly NOT my job. Maybe if I hang on long enough I can get to the point where the definition of my job becomes fuzzy enough that I can do what I want without feeling guilty about it.

work work

This morning, I spent some time re-reading belz2004cru to make sure I haven't missed anything. Need to try again; wasn't really concentrating.

I estimate that I've spent three hours today trying to configure latex2html so that the reg2008 participants' pack looks a bit like the web page. Watch it turn out to have been wasted effort. Think I've pretty much got it where I want it, although will have to spend some time tomorrow refactoring it. You might be seeing little parenthetical (reg N)s in the title. I'm supposed to be counting how much time I spend on this stuff so that we get a better idea on our time estimates.

Also, oh! Some good news: the PDTB got back to me! No PDTB 1.0 because 2.0 is coming out real soon (although c'est payant). Some other info and discourse connectives. Thanks!

I guess today really is more a ":-|" day than a ":-(", but let's slap a frowny face on the day for how bad I've been.

Monday, 21 January 2008

ugh, more ignorance

Feeling mildly discouraged today, like I'm not soaking up the information fast enough or doing what I need to ensure success of the Mission. The end of last week was mildly euphoric, "hey, I'm learning new things, wheee!". The beginning of this week is more "wait, what am I learning again?"

More reading. Still working through that Discourse course, although this time it's a bit harder and slower going. Now have a vague awareness about intentions in discourse. Got another intro to RST (from the course), learned a little bit more about what the ILEX generation system is trying to do [mellish+1998aot; An architecture for opportunistic text generation (ps)].

I think my head was full by the time I tried to learn about discourse and abduction. All I could really get from that was that abduction is an approach to making reasonable assumptions: If p -> q and q... well let's guess p. Not proving, I guess (wikipedia points out that this is formally equivalent to the logical fallacy "affirming the consequent"), but useful in practice. Or not. I didn't really follow. Just sorta understood that making this work is tricky. I also got discouraged when I got to the bit about corpora. Wasn't absorbing any more new information.

Have printed out asher+1998spp The Semantics and Pragmatics of Presupposition, which may be going a bit too far.

Also this afternoon, occurred to me to do a search on parsing and SDRT. This is where I found out about the discor project (discourse structure and coreference resolution). Read their annotation manual (hmm... major discourse corpus #3?) and followed a biblink to baldridge+2005ads Annotating Discourse Structures for Robust Semantic Interpretation (ps). What I got out of that last one is a technique for approximating SDRT dags with trees. They say that this is handy because then "[they] can straightforwardly apply probabilistic parsing methodologies for context-free grammars to create and disambiguate discourse structures"... which seems kinda like what we want to do, only in the other direction. I'm guessing that another difference is that they (maybe) want to get a proper parse (with like a reasonable syntax of English) and build up a semantic formula all compositional-like. Edit: 19:23[On the way home, it occurred to me that no... it probably makes more sense to think that they actually want to build a PCFG of pseudo-SDRSes... which would basically amount to what we want to do... hmmmm...]End Edit We on the other hand, somehow will translate our SDRS-ish formulas into a string of non-terminal symbols in the CRU grammar, and expand that string... eventually into a string of terminals. I'm getting a bit iffy on how the semantic formulas would reasonably map into a CRU non-terminal string and am going to need to re-read something, like belz!2007agw to convince myself.

By mid afternoon, I started trying to read asher+1998spp. Made it through the first three sections, before uh-oh here's that familiar symptom, I started falling asleep again. I think I tend when I read something and I don't understand, I tend to disengage totally by falling asleep. After fighting through, I realised it was a lost cause. Target too hard.

So I switched back to blackburn+1998rin (that would be the yet unreleased volume II). Maybe I need a better grounding in practical dynamic semantics. I'm now halfway through the chapter on presupposition. This is a superficial read only. Ideally, I would be doing the little Prolog exercises and playing with the sample code (which I can't find). Things I learned from this:
  1. Well now, I have an idea what those alpha symbols are doing there (mark discourse referents introduce by pronouns, which allows postponing unifying them with candidate antecedants)
  2. The existence of a notion of discourse focus vs actor focus (although I breezed through and didn't take the time to understand Sidner's algorithm)
  3. The binding problem/projection problem/accomodation as the three issues you need to be dealing wrt presupposition


Part of the problem is that I'm still not learning in a very goal-directed fashion (maybe that's actually a good thing... shrug). Just trying to Pacman my way through the universe. Want to know what the basic pieces are, where they all fit together. Still mapping out the terrain, I guess.

Monday, 17 December 2007

dossier de qualification

I really really really hate this.

It's not that it's chiant. The stack of paperwork I have to do for here (NHS, etc), is chiant. The dossier de qualification and things like this are uniquely unpleasant in just about the same way as applying for college is.

I should try to position my life in such a way that I will never have to write another one of these things again. Maybe staying in research is therefore a bad idea. Grant applications and all that.

Here's an idea: maybe I will not submit a dossier de qualification. Refuse to play the game. It's making me miserable.

Sunday, 16 December 2007

refactor and dossier

refactor


Zipped through the cru-top.pl code and refactored a bunch of mid-level stuff that was being repeated a lot. Here's an example of a refactor... a chunk of code that was repeated in 14 places:
read_grammar(FileRoot,StartSymbols,GrammarRules) :-
string_append(FileRoot,'.start',StartFile),
string_append(FileRoot,'.gram',GrammarFile),
string_append(FileRoot,'.types',TypesFile),
ensure_loaded(TypesFile),
commentsChar(C),
see(StartFile),
readfile(StartSymbolsStrings,C),
seen,
strings2terms(StartSymbolsStrings,StartSymbols),
see(GrammarFile),
readfile(GrammarRulesStrings,C),
seen,
strings2terms(GrammarRulesStrings,GrammarRules).


This kind of code-tidy-up is pretty mindless, but it is useful for somebody like me. You just rip out pieces and put them back together, watching out for interleaved fragments, translating
from foo, tell, foo, bar, told
to foo, tell, foo, told, tell, bar, told so that you can peel off the fooey bits as one lump.

The reason this was useful is that it gave me a very concrete feel for the top level code... forced me to look at the bits instead of just eye-glazing over them and to think about what was going on. I kinda wonder if it would be an effective pedagogical technique to purposely de-factor some code before giving it to a new (and fussy) programmer. Once he's through sweeping up, he'll have a good idea what's going on.

Anyway now I know basically how those mid-level chunks fit together. I'm a bit losing sight of the Mission though, and need to re-evaluate what I'm doing in that context. This refactoring is basically me running around like a headless chicken.

Need to see how the language models are used for example. Thanks to the refactor, I know that we read them in as Prolog files, a supplementary resource. But I don't know much else.

uncooperative

Spent a small chunk of the afternoon in uncooperative mode. Visited the uni library and read a bit

dossier de qualification

Here's where the sad-face tag comes in. I've been working on the dossier de qualification again. Dossier, I hate you. I thought it would be a good idea to go through the CNU advice like a checklist. Check-check-check, what... I have to write up a projet d'enseignement? That stank. Especially what I wrote. Will certainly be in a much better mood when the deadline has passed and this is out of my hands one way or another.

Friday, 14 December 2007

dossier 0.7

Ok, no work-work today. Been working on the dossier de qualification some more. Mostly trying to write up what I'm supposed to be doing in this project here (although I think I ended up talking about the project itself and not what I'm doing). I think all the core pieces are there. I've spent some time talking about the projets europeens I was working on, although I suspect that the way I did it ended up hurting me more than anything else. Working on this kind of stuff always makes me miserable. But I guess it's useful in then it slaps me hard in the face with how little perspective I have about what I'm doing (trying to write these little, here's what I'm working on and why bits).

I'll be glad when this is over, but then what's next, right?

Shouldn't let guard down.

So now I need people to read it. First YP (again thanks) and then some grown-ups. There's going to be a ton of things to change, I'm sure. I think it's not very clear what my "results" are in my research stuff, for example. Not sure if I copied the right bits and pieces of my thesis summary.

I guess in the meantime, there's little more to do than start on some work-work.

(This morning interrupted by server move... one thing is that my machine sometimes gets blocked because other machines think it's doing something naughty. Tried replacing postfix with something simpler, a nullmailer like... well, nullmailer).

I've really got the sinking feeling that I'm doing this all horribly wrong. But I don't really fully understand what the role of the rapporteurs is on all this, to what extent this is just a formality. And how much do I really care, anyway?

The worst part of this is that I'm not even sure I want to be a Maître de Conférences (lecturer/researcher) in the French university system (not because of France, mostly because I'm not sure I'm up for such a job). I'm just covering my bases. If I do this qualification process and it goes through, that means that I have 4 years where I have the right to apply for any openings that pop up in a French university.

But now, back to work-work