Difference between revisions of "Compounds"

From Apertium
Jump to navigation Jump to search
m (guest free)
m
Line 7: Line 7:
* Danish: Kontaktlinsevæske, Kontaktlinse+væske ("contact-lens liquid")
* Danish: Kontaktlinsevæske, Kontaktlinse+væske ("contact-lens liquid")


The presence or absence of a connecting morpheme can sometimes signal a semantic difference, compare:
The presence or absence of a connecting ([http://en.wikipedia.org/wiki/Epenthetic epenthetic]) morpheme can sometimes signal a semantic difference, compare:
* ''sjefsekretær'' = 'chief of secretaries' (Norwegian)
* ''sjefsekretær'' = 'chief of secretaries' (Norwegian)
* ''sjef'''s'''sekretær'' = 'the boss's secretary'
* ''sjef'''s'''sekretær'' = 'the boss's secretary'
Line 72: Line 72:
* Larson, M., Willett, D., Köhler, J. and Rigoll, G. (2000) "[http://citeseer.ist.psu.edu/cache/papers/cs/15664/http:zSzzSzwww.fb9-ti.uni-duisburg.dezSzpublzSz00zSzicslp00ml_compounds.pdf/larson00compound.pdf Compound splitting and lexical unit recombination for improved performance of a speech recognition system for German parliamentary speeches]". ''Conference on Spoken Language Processing'', 2000.
* Larson, M., Willett, D., Köhler, J. and Rigoll, G. (2000) "[http://citeseer.ist.psu.edu/cache/papers/cs/15664/http:zSzzSzwww.fb9-ti.uni-duisburg.dezSzpublzSz00zSzicslp00ml_compounds.pdf/larson00compound.pdf Compound splitting and lexical unit recombination for improved performance of a speech recognition system for German parliamentary speeches]". ''Conference on Spoken Language Processing'', 2000.
* Moa, H. (2005) "[http://phon.joensuu.fi/lingjoy/01/moaF.pdf Compounds and other oddities in machine translation]". ''Proceedings of the 15th NODALIDA conference, Joensuu 2005''.
* Moa, H. (2005) "[http://phon.joensuu.fi/lingjoy/01/moaF.pdf Compounds and other oddities in machine translation]". ''Proceedings of the 15th NODALIDA conference, Joensuu 2005''.
* Johannesen, J. B. and Hauglin, H. (1996) "[http://folk.uio.no/jannebj/Scan.Conf.Turku-96.ps An automatic analysis of Norwegian compounds]". In Haukioja, T. (ed.): ''Papers from the 16th Scandinavian Conference of Linguistics'', Turku/Åbo, Finland 1996: 209-220.


[[Category:Development]]
[[Category:Development]]

Revision as of 17:57, 27 March 2009

Some languages (in Indo-European particularly Germanic languages) like to make long compound words with low frequency that are unlikely to be found in dictionaries. Typically for any "normal" noun, there can be around 10—100 compound nouns which inflect in exactly the same way (at least for Afrikaans).

  • Afrikaans: infrastruktuurontwikkelingsplan, infrastruktuur+ontwikkelings+plan ("infrastructure development plan"), (cf. personeelverminderingsprosedure, "personnel protection procedure")
  • Dutch : "hulpagina" (help page), "woordbetekenis" (meaning of a word), "inwonertal" (number of inhabitants)
  • German: Kontaktlinsenverträglichkeitstest, Kontakt+linsen+verträglichkeits+test ("contact-lens compatibility test")
  • Danish: Kontaktlinsevæske, Kontaktlinse+væske ("contact-lens liquid")

The presence or absence of a connecting (epenthetic) morpheme can sometimes signal a semantic difference, compare:

  • sjefsekretær = 'chief of secretaries' (Norwegian)
  • sjefssekretær = 'the boss's secretary'
  • gjestfri = 'hospitable'
  • gjestefri = 'guest free' (as in "guest free zone")

(gjestfri would typically be listed in the dictionary, gjestefri being compositional.)

There should be some method of attempting to resolve unknown compound words into their constituent parts.

See also the bug report

Outstanding questions

  • Where would compound processing go in the pipeline? Presumably after initial analysis? e.g. in between lt-proc and apertium-tagger.

Proposed algorithms

Analysis

Baseline

input: ^*infrastruktuurontwikkelingsplan$

  1. Read word from left to right.
  2. Take the shortest match first from the dictionaries, e.g. infrastruktuurontwikkelingsplan,
    1. Read i-n-f-r-a-s-t-r-u-k-u-u-r (add, because no words have +o)
    2. Read o-n-t-w-i-k-k-e-l-i-n-g-s (add, because no words have +p)
    3. Read p-l-a-n
  3. Output in order.

output: ^infrastruktuur<n><sg>$ ^ontwikkeling<n><pl>$ ^plan<n><sg>$

Left-to-right longest-match

input: ^*infrastruktuurontwikkelingsplan$

  1. Read word from left to right.
  2. Take the longest match first from the dictionaries, e.g. infrastruktuurontwikkelingsplan,
  3. While not found:
    1. Read infrastruktuurontwikkelingsplan
    2. Read infrastruktuurontwikkelingspla
    3. Read infrastruktuurontwikkelingspl
    4. ...
  4. When a word is found, e.g. "infrastruktuur", remove it from the string, put it in the output queue, and start the process again with ontwikkelingsplan.
  5. Output each item from the output queue in order.

output: ^infrastruktuur<n><sg>$ ^ontwikkeling<n><pl>$ ^plan<n><sg>$

Generation

If we have translated a string of input words from English to Afrikaans and now want to compound the ones that can be compounded, we have a problem that instead of:

infrastruktuurontwikkelingsplan

we have:

infrastruktuur ontwikkeling plan

One way of resolving this would be to compile a wordlist (without morphological info) into a tree, and then scan the tree as we scan the output, concatenating words where they appear in the wordlist. Wordlists are substantially more numerous than morphological resources so it would be quite cheap. In order to avoid false-positives, we could just set a length requirement of something like 9 characters or more.

Further reading