Issues
From UNL Wiki
(Difference between revisions)
(→Back-end) |
|||
Line 41: | Line 41: | ||
:Rules with discontinuous nodes | :Rules with discontinuous nodes | ||
*(%x)(ANY SEQUENCE OF NODES, %z)(%y):=(%x)(%y)(%z); | *(%x)(ANY SEQUENCE OF NODES, %z)(%y):=(%x)(%y)(%z); | ||
− | + | ===Front-end=== | |
− | === Front-end === | + | |
;Drag-and-drop | ;Drag-and-drop | ||
:To include the possibility of using "drag-and-drop" to reorder dictionaries and dictionary entries, and grammars and grammar rules (in addition to the current one); | :To include the possibility of using "drag-and-drop" to reorder dictionaries and dictionary entries, and grammars and grammar rules (in addition to the current one); | ||
Line 61: | Line 60: | ||
;Range | ;Range | ||
:The trace level of the option "range" should be defined by user. It's OK to use NONE as default, but the user could also have more detailed results for more than one sentence. | :The trace level of the option "range" should be defined by user. It's OK to use NONE as default, but the user could also have more detailed results for more than one sentence. | ||
+ | == IAN and EUGENE (VERSION 1.1) == | ||
+ | === Front-end === | ||
+ | === Back-end === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == LILY (VERSION 1.1) == | |
+ | == SEAN (VERSION 1.1) == | ||
+ | == KEYS (VERSION 1.1) == |
Revision as of 10:01, 19 March 2013
List of pending features and known bugs.
Contents |
IAN and EUGENE (VERSION 1.1)
Back-end
- Parsing
- Parsing of rules need to be improved. IAN and EUGENE were accepting rules with unbalanced parentheses. There is also a problem of an extra comma in the rules. The sensitivity of syntactic check of the Engines should be higher. Eugene and IAN must be sensitive to the following syntactic error:
- (%a,A,B,C):=((%a,+E); (This rule is being accepted by the system)
- Encoding
- Eugene and IAN should reject wrong UTF-8 encoding. From the perspective of the user, the rule was perfect, and the string was clearly and correctly displayed; but the machine was replacing it by empty.
- Consistency of graphs
- Rules leading to impossible graphs are working. The example below is generating an impossible graph.
- (NB(N,%n;JB(%j;%j2),{and|or},%adjc),%m):= (JB(%j;%j2),rel=%adjc) (NB(N,%n;%j),rel=%m)(NB(N,%n;%j2),rel=%m);
- This rule is putting the same node %j in two different positions in the node list. This should not be possible. A node cannot be inside two different nodes in a list structure.
- Preprocessing module
- A module for preprocessing is needed in IAN. It will serve for sentence segmentation and morphological preprocessing. Rules of the preprocessing module will be only of the LL type, will only deal with strings and will apply before any dictionary search. They will be used to assign STAIL and SHEAD. Regular expressions should be admitted. The unit of processing will be the paragraph (i.e., any string between \n and \r). Examples of possible rules:
- (" .",%x):=(%x)(+STAIL,%y);
- (".",%x)(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ]/,%y):=(%z,+SHEAD)(%x)(%y);
- ("an ",%x)(/[aeiouy]/,%y):=("a ",%x)(%y);
- Observations:
- +STAIL automatically creates SHEAD (in addition to STAIL itself), and +SHEAD automatically create STAIL.
- The preprocessing module should be provided in a separate tab (S-Rules, for segmentation rules)
- Mathematical operations (574)
- Mathematical operations inside nodes
- (%x):=(%x-1); (i.e., reduce the value of %x in 1)
- (%x):=(%x+1); (i.e., add 1 to %x)
- (%x):=(%x*2); (i.e., multiply %x by 2)
- (%x):=(%x/2); (i.e., divide % by 2)
- Indexation of relations
- Relations should admit an index, as nodes. This would avoid ambiguity when dealing with relations in different scopest:
- XB:%a(%x;%y)XB:%b(%x;%z):=XB:%a(XB(%x;%y);%z); the relation XB(%x;%y) will be created as a scope inside %a
- XB:%a(%x;%y)XB:%b(%x;%z):=XB:%b(XB(%x;%y);%z); the relation XB(%x;%y) will be created as a scope inside %b
- In any case, the indexation should comply with a possible graph structure
- Discontinuous multiword expressions (706)
- Headwords, UWs and strings used as values of attributes:
- (%x,ATTRIBUTE=[%y])(%y):=ACTION; the system checks whether the value of the attribute ATTRIBUTE is the HEADWORD of %y
- (%x,ATTRIBUTE=%y)(%y):=ACTION; the system checks whether the value of the attribute ATTRIBUTE is the UW of %y
- (%x,ATTRIBUTE="%y")(%y):=ACTION; the system checks whether the value of the attribute ATTRIBUTE is the STRING of %y
- CONDITION:=(%x,ATTRIBUTE=[%y])(%y): the system assigns the attribute ATTRIBUTE to %x with the value of the HEADWORD of %y
- CONDITION:=(%x,ATTRIBUTE=%y)(%y): the system assigns the attribute ATTRIBUTE to %x with the value of the UW of %y
- CONDITION:=(%x,ATTRIBUTE="%y")(%y): the system assigns the attribute ATTRIBUTE to %x with the value of the STRING of %y
- Rules with discontinuous nodes
- (%x)(ANY SEQUENCE OF NODES, %z)(%y):=(%x)(%y)(%z);
Front-end
- Drag-and-drop
- To include the possibility of using "drag-and-drop" to reorder dictionaries and dictionary entries, and grammars and grammar rules (in addition to the current one);
- Test sets
- To improve the test sets. They should show only the differences. And the results should be exportable and importable.
- Trace
- The trace must be thoroughly revised. The desired structure is presented at [1]
- Groups
- Groups should be collapsible/expandable, and a single file may participate in several groups (grouping must be done using tags, instead of exclusive categories)
- Shared resources
- Shared resources must bring the possibility of being reordered (currently, we cannot reorder them)
- NL and UNL documents
- Shared NL inputs (currently, it's only possible to send them, but then the changes are not propagated). And they should work as dictionaries and grammars (we should have the option of grouping them and loading more than one at a time)
- IAN/EUGENE communication
- A given output of IAN could be used as the input for EUGENE and vice-versa - using the loaded resources
- Update
- Dictionary and grammar update should replace the current files instead of adding the resources to the end of the existing files
- Range
- The trace level of the option "range" should be defined by user. It's OK to use NONE as default, but the user could also have more detailed results for more than one sentence.