{11} export tickets (51 matches)

Id Type Owner Reporter Milestone Status Resolution Summary Description Posixtime Modifiedtime
#18 task somebody kowey new None unification monad

OK, it doesn't have to be a monad. But I want to have some sort of abstraction that guarantees that when I do unification on something, the results from previous unification will be automatically propagated to that thing. Seems like it should be fairly straightforward. You could just model this as a state monad for example, and have the unification function get/put the substitutions state.

What may be annoying is having to write a monad transformer and slip it into our current MT stack.

The goal is to have something that makes our code easier to write, and less error-prone, while also staying cheap (we shouldn't be doing any needless traversals).

1248 1248
#20 defect somebody kowey closed fixed unification bug

The code

main =
 do print $ head $ unify left right
    print $ head $ unify right left
 where
  left  = map (GVar . show) [1..3]
  right = drop 1 left ++ [GConst ["X"]]

The output

([?1,?1,X],fromList [("1",X),("2",X),("3",X)])
([?2,?3,X],fromList [("1",X),("2",X),("3",X)])

I think it should be

The output

([X,X,X],fromList [("1",X),("2",X),("3",X)])
([X,X,X],fromList [("1",X),("2",X),("3",X)])

The fix is probably simple: just replace after unify

1248 1248
#43 enhancement kowey GenI 0.22 new None support subsumption with unification variables in relations

Not just the arguments, but the relations themselves.

1260 1260
#4 defect somebody kowey GenI 0.20 closed fixed support and require UTF-8 input/output

We don't have the resources to deal with multiple encodings, so let's just standardise on a Unicode-friendly one and hope for the best.

This may induce some pain though, because we have legacy resources that are in ISO-8859-1

1234 1254
#21 enhancement somebody kowey new None simple indexing mechanism

This should reduce generation time somewhat. It occurred to me that there's actually a very simple way to index the generation chart: just use the semantic index or the category or even a tuple of the root node. For atomic disjunction and variables, just dump into a variable slot that we always have to look up.

Note that substitution would have to be changed so that items with open substitution sites go back at the end of the agenda instead of on the chart.

Also note that substitution sites with disjunctive or variable indices would just have to look at all chart items.

1248 1248
#41 enhancement kowey new None separate trash pile for last operation performed

This should make it easier to figure out what GenI is doing and why.

1260 1260
#11 defect somebody kowey closed fixed scrollbar not working in realisations summary

MacOSX wxWidgets 2.8.10, wxHaskell 0.11.x

1246 1262
#47 defect kowey closed duplicate scrollbar broken in results tab (summary) on MacOS X

Probably a wxHaskell issue :-(

1262 1262
#10 enhancement somebody kowey new None root feature in main window

And not just in configuration window...

My idea for how this should work is that it be another field in the input semantics area. I think this would take some refactoring, some kind of function that goes from config to the input semantics area and back.

1246 1246
#49 defect kowey new None results out of order when pre-terminals have more than one terminal

(foo (x y)) will give the linear order y x...

1262 1262
#2 enhancement somebody kowey new None replace automaton code with HaLeX?

See: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HaLeX

This may affect the polarity automaton performance, but (a) probably not by much and (b) it would only be overhead. The really important thing is to be fanatical about keeping GenI minimalistic

1232 1246
#13 task somebody kowey closed fixed remove now defunct f-root optimisation flg

The "optimisation" is a now baked-in (probably always was)

1246 1248
#33 task somebody kowey closed fixed remove default root feature

Make it a required flag/input instead

1253 1262
#42 task kowey closed fixed remove IAF code

The index accessibility filtering code is not being maintained. It should just be removed to reduce cruft.

1260 1262
#31 defect kowey kowey GenI 0.20 closed fixed prependToSubst: Eric broke unification. Prepending K-t-73 twice

Yikes!

geni: Bug in GenI! prependToSubst: Eric broke unification. Prepending K-t-73 twice

geni -m dist/build/grammar/valuation-sem.geni -l dist/build/lexicon/lemmas.glex -s suite/verbs --testcase=t110 --batchdir=/tmp/b

1253 1253
#16 defect somebody kowey new None possible polarity filtering bug
dist/build/geni/geni -m examples/chatnoir/macros -l examples/chatnoir/lexicon -s examples/chatnoir/suite  --verbose --testcase="le_mechant_chat_noir_chasser_le_souris" --opts='pol' --rootfeat='cat:p'
Loading test suite examples/chatnoir/suite... 4 entries
Loading trees examples/chatnoir/macros... 11 entries
Loading lexicon examples/chatnoir/lexicon... 15 entries
Loading test suite examples/chatnoir/suite... 4 entries
Lexical items selected:
 noir
 chat
 chasser
 le
 le
 mechant
 souris

Trees anchored (family) :
 noir:adj_post
 chat:nC
 chasser:vArity2:rel1vn0
 chasser:vArity2:rel0vn1
 chasser:vArity2:qu1vn0
 chasser:vArity2:qu0vn1
 chasser:vArity2:n0vn1
 chasser:vArity2:vinfn1
 le:Det
 le:Det
 mechant:adj_pre
 souris:nC

geni: [polarities] No instances of cat in [].
1246 1246
#27 enhancement somebody kowey new None polarity precompilation [old tracker]

What on earth did I mean by this?

1252 1252
#7 defect kowey kowey GenI 0.22 assigned None percolate features during morphological realisation

The morphological realisation (built-in) is dumb in that it unifies each pre-terminal node of the derived tree independently with the morphological lexicon.

This is not good, because it does not allow for mutually exclusive realisations: he hold*s* the apple vs you hold the apple

Right now, the workaround is to supply the necessary features via the input semantics (morphinfo file), but ideally you should be able to just make it work automatically.

1238 1254
#17 task somebody kowey new None outsource to graphviz library

Note the graphviz is licensed under the EPL (sigh!) so we would have to create an exception in our GPL to allow people to distribute the two as one program.

1247 1311
#28 task somebody kowey new None output to 3rd party morphological generator should include variables

This is just a TODO. Check the source code to see if GenI will output variables in feature structures to the third party morphological realiser.

Right now literate GenI only shows constants in the example.

1252 1252
#37 task somebody kowey GenI 0.20 closed fixed no conditional compilation in geni library!

Right now you have to cabal clean if you switch back and forth between the GUI and text geni. That's stupid. The library should be independent of the compilation mode

1253 1253
#22 task somebody kowey new None move NLP.GenI.Console regression testing code to test module

Hmm, now I have a better idea about the argument for separating test logic from business logic.

1252 1252
#46 defect kowey closed fixed mismatch between order of items in realisations summary tab and realisations debugger tab

We need to replace our sorting strategy with something that works with proper data structures instead of strings.

Eva would also like to display the morph-realised outputs in the debugger or to somehow have a situation where you get the final output, you click on it and you get the tree.

1261 1262
#32 defect kowey kowey closed fixed listing of items seems incorrect in debugger

I could have sworn I kept seeing something like this happen.

See geni -m dist/build/grammar/valuation-sem.geni -l dist/build/lexicon/lemmas.glex -s suite/verbs --testcase=t110 and skip 140 steps

1253 1253
#24 task somebody kowey new None lexical selection factorisation [old todo list]

I don't understand what this is about :-(

1252 1252
#25 enhancement somebody kowey new None keep track of sets of adjunctions into the same node [old tracker]

This could be a form of packing where we try to store adjunctions into the "same" node as a set (that can happen in any order).

Would only be really useful if multi-adjunction happens a lot

1252 1252
#35 task kowey kowey GenI 0.22 assigned None jsonify stupidmorph and tomorph 1253 1254
#34 task somebody kowey new None include GenI version in manual

Now that we have geni --version, this should be easy enough...

1253 1253
#45 task kowey closed fixed hide GenIVal constructor

The point is to make it so that you can never build GConst []

1260 1362
#12 defect somebody kowey new None graphviz gets confused by multi-word lexical items 1246 1246
#29 defect somebody kowey closed fixed geniserver should be able to output morph features

Right now you can only do morphological realisation on the server side.

It would be nice if geniserver could somehow return feature structures so that clients can do morphological realisation themselves.

1252 1254
#40 defect kowey new None geni: Prelude.foldr1: empty list

No idea why this happens.

1260 1260
#39 defect kowey GenI 0.22 closed fixed geni accepts malformed rootfeat

The square brackets should either be optional, or mandatory but enforced. Right now they are silently accepted and ignored.

1255 1312
#15 defect somebody kowey GenI 0.22 new None feeding non-existent test case to GenI causes it to say bug in GenI 1246 1254
#38 defect kowey new None empty strings should be quoted when producing geni output

Should be (""), was ()

This affects geniconvert on the surface, but it's really a problem with the core printing code.

1255 1255
#44 enhancement kowey GenI 0.22 new None elementary tree semantics should be unification of tree schema and lemma semantics

See also #43

1260 1260
#14 enhancement somebody kowey GenI 0.22 new None don't use root feature filtering if it's not specified 1246 1254
#36 defect kowey GenI 0.22 new None document basic flags in manual 1253 1254
#48 enhancement kowey new None display number of results found in GUI and console mode...

Both unique and overall.

1262 1262
#6 enhancement somebody kowey new None disjunctions of paraphrase selectors

Luciana Benotti asked:

We know that in Geni you can select tree properties in the input semantics by using square brackets next to a literal, for example, runs(e,j)[Active]. Is there a way of indicating a disjunction of the tree properties? Such as runs(e,j)[Active|Passive] in order to obtain the active and passive realizations of runs(e,j).

1237 1237
#19 task somebody kowey closed wontfix consider BSD license for GenI

I'll have to see what Carlos thinks about it.

1248 1311
#9 enhancement somebody kowey closed fixed command line arguments in MacOS X

Right now in Leopard, I have to run geni with open geni.app, which means no command line arguments, ARGH!

At least some sort of workaround would be good

1246 1253
#50 defect kowey GenI 0.22 closed fixed clicking 'load' in config gui has no effect

If you run GenI and just naively use the GUI to try and load a grammar or lexicon, nothing happens.

This was because we were using the old version of the state on reload.

The bigger problem is that my GUI code is a big pile of spaghetti :-(

1299 1299
#3 task somebody kowey closed fixed clarify use of the internal morphological generator

Fixed by kicking it out and making it a standalone module.

1234 1253
#30 task somebody kowey closed fixed break geni morphological realiser out of the geni executable

Make it really a separate program

1252 1253
#1 enhancement somebody kowey new None bracketed output (new command line argument)

The bracketed output is a compromise between a full parse tree and a plain string.

Parse tree:

S(NP(somebody),VP(VP(V(saw),NP(something)),PP(somewhere)))

Bracketed output:

somebody ((saw something) somewhere)

Notice that we try very hard to avoid excess parentheses. The point is to make it easier for grammar hackers to understand (for example), why we get different instances of the same output. So we want to keep things as readable as possible

1232 1232
#51 defect kowey new None avoid crashing if ViewTAG not found

GenI should not crash if ViewTAG is not found; it should do something friendlier like give a pop-up box.

1311 1311
#8 enhancement somebody kowey new None alternative syntax for anchor (or other) features? generalisation of morphinfo

The morphinfo file creates a maintenance problem -- too many files to keep track of and update. A better solution would be something that lets you supply similar information within the input semantics (test suite).

So something like feature(m,person:2) in the input semantics

1238 1238
#5 enhancement somebody kowey closed fixed RND: what should a language for geniserver and client look like?

Right now we have our own custom format. Could making the format XML-based be useful? Actually, I have a prejudice against XML, but if we could use something lighterweight like JSON or YAML, maybe...

1235 1254
#26 task somebody kowey new None RND: plugging GenI into a systemic grammar based generator [old tracker]

The idea is for the SFG based system to generate inputs to GenI

1252 1252
#23 enhancement somebody kowey closed wontfix JSON format where possible

The lexicon and test suite have no business using a custom ad-hoc format. Now that I know a perfectly acceptable lightweight standard language exists for this this thing (JSON), I should just use it to make life simpler for everybody.

Backward compatibility would be nice. I guess we'll have to support both, maybe even extend geniconvert?

Macros file probably unchanged. No real gain from JSON-ifying that. Feature structures may be tricky. We'll have to think about this a bit

1252 1254
Note: See TracReports for help on using and creating reports.