Difference between revisions of "Dixtools: Enhance"
Jump to navigation
Jump to search
(One intermediate revision by the same user not shown) | |||
Line 14: | Line 14: | ||
the name we want the new (enhanced) dict to be saved |
the name we want the new (enhanced) dict to be saved |
||
ALERT: the tool simply overrides whatever file exists with that name |
ALERT: the tool simply overrides whatever file exists with that name |
||
Then you'll be dropped into an interactive session where you can type a word you want to add, followed by a comma and then word which exists in the dictionary and has the paradigm you want to use. Example session: |
|||
<pre> |
|||
$ java -jar dist/apertium-dixtools.jar enhance apertium-nno.nno.dix new.dix |
|||
Reading file 'apertium-nno.nno.dix' |
|||
'enhance' method |
|||
Enter the word you want to add to the dictionaries, |
|||
followed by a word already in the dictionaries separated by ',' |
|||
(enter --exit to finish) |
|||
ostekaffi |
|||
Wrong format |
|||
Enter the word you want to add to the dictionaries, |
|||
followed by a word already in the dictionaries separated by ',' |
|||
(enter --exit to finish) |
|||
ostekaffi,kaffi |
|||
<e>[IVXLCDM\-]+<l></l><r><det><qnt><un><pl></r></e> |
|||
<e><i>AP_PAIR_VERSION</i><l></l><r><adv></r></e> |
|||
<e r="LR"><i>AP_LANG_VERSION</i><l></l><r>@APERTIUM_AUTO_VERSION@<adv></r></e> |
|||
Result <e><i>ostekaffi</i><par n="ep__n"/></e> |
|||
Element added: (<e><i>ostekaffi</i><par n="ep__n"/></e>) |
|||
-------------------------------------------------------------------- |
|||
Enter the word you want to add to the dictionaries, |
|||
followed by a word already in the dictionaries separated by ',' |
|||
(enter --exit to finish) |
|||
pianomaskin,maskin |
|||
<e>[IVXLCDM\-]+<l></l><r><det><qnt><un><pl></r></e> |
|||
<e><i>AP_PAIR_VERSION</i><l></l><r><adv></r></e> |
|||
<e r="LR"><i>AP_LANG_VERSION</i><l></l><r>@APERTIUM_AUTO_VERSION@<adv></r></e> |
|||
Result <e><i>pianomaskin</i><par n="så__n"/></e> |
|||
Element added: (<e><i>pianomaskin</i><par n="så__n"/></e>) |
|||
-------------------------------------------------------------------- |
|||
Enter the word you want to add to the dictionaries, |
|||
followed by a word already in the dictionaries separated by ',' |
|||
(enter --exit to finish) |
|||
--exit |
|||
Writing file new.dix |
|||
</pre> |
|||
See discussion at http://thread.gmane.org/gmane.comp.nlp.apertium/2946/focus=2987 |
See discussion at http://thread.gmane.org/gmane.comp.nlp.apertium/2946/focus=2987 |
||
or https://sourceforge.net/p/apertium/mailman/message/30540141/ |
|||
== Limitations == |
|||
* Like other dixtools methods, it parses and rewrites the dictionary, which will lead to quite large diffs if you haven't already conformed to the dixtools format. |
|||
* dixtools will strip all c (comment) attributes since it doesn't know about them |
|||
* it probably doesn't work on metadix |
|||
* it confusingly prints some weird irrelevant lines from the .dix before the pardef it found (see above example session) |
|||
Latest revision as of 11:52, 6 October 2019
Dixtools has an enhance
option to add new words to a dictionary.
How to use it:
- java -jar path/to/apertium-dixtools.jar enhance existing_dict.xml name_new_dict.dix
There are 3 parameters
enhance the name for the tool existing_dict.dix the name of the existing dict (i.e.: apertium-es-ca.ca.dix) name_new_dict.dix the name we want the new (enhanced) dict to be saved ALERT: the tool simply overrides whatever file exists with that name
Then you'll be dropped into an interactive session where you can type a word you want to add, followed by a comma and then word which exists in the dictionary and has the paradigm you want to use. Example session:
$ java -jar dist/apertium-dixtools.jar enhance apertium-nno.nno.dix new.dix Reading file 'apertium-nno.nno.dix' 'enhance' method Enter the word you want to add to the dictionaries, followed by a word already in the dictionaries separated by ',' (enter --exit to finish) ostekaffi Wrong format Enter the word you want to add to the dictionaries, followed by a word already in the dictionaries separated by ',' (enter --exit to finish) ostekaffi,kaffi <e>[IVXLCDM\-]+<l></l><r><det><qnt><un><pl></r></e> <e><i>AP_PAIR_VERSION</i><l></l><r><adv></r></e> <e r="LR"><i>AP_LANG_VERSION</i><l></l><r>@APERTIUM_AUTO_VERSION@<adv></r></e> Result <e><i>ostekaffi</i><par n="ep__n"/></e> Element added: (<e><i>ostekaffi</i><par n="ep__n"/></e>) -------------------------------------------------------------------- Enter the word you want to add to the dictionaries, followed by a word already in the dictionaries separated by ',' (enter --exit to finish) pianomaskin,maskin <e>[IVXLCDM\-]+<l></l><r><det><qnt><un><pl></r></e> <e><i>AP_PAIR_VERSION</i><l></l><r><adv></r></e> <e r="LR"><i>AP_LANG_VERSION</i><l></l><r>@APERTIUM_AUTO_VERSION@<adv></r></e> Result <e><i>pianomaskin</i><par n="så__n"/></e> Element added: (<e><i>pianomaskin</i><par n="så__n"/></e>) -------------------------------------------------------------------- Enter the word you want to add to the dictionaries, followed by a word already in the dictionaries separated by ',' (enter --exit to finish) --exit Writing file new.dix
See discussion at http://thread.gmane.org/gmane.comp.nlp.apertium/2946/focus=2987
or https://sourceforge.net/p/apertium/mailman/message/30540141/
Limitations[edit]
- Like other dixtools methods, it parses and rewrites the dictionary, which will lead to quite large diffs if you haven't already conformed to the dixtools format.
- dixtools will strip all c (comment) attributes since it doesn't know about them
- it probably doesn't work on metadix
- it confusingly prints some weird irrelevant lines from the .dix before the pardef it found (see above example session)