Morphological parsing

Morphological parsing, in natural language processing, is the process of determining the morphemes from which a given word is constructed. It must be able to distinguish between orthographic rules and morphological rules. For example, the word 'foxes' can be decomposed into 'fox' (the stem), and 'es' (a suffix indicating plurality).

The generally accepted approach to morphological parsing is through the use of a finite state transducer (FST), which inputs words and outputs their stem and modifiers. The FST is initially created through algorithmic parsing of some word source, such as a dictionary, complete with modifier markups.

Another approach is through the use of an indexed lookup method, which uses a constructed radix tree. This is not an often-taken route because it breaks down for morphologically complex languages.

With the advancement of neural networks in natural language processing, it became less common to use FST for morphological analysis, especially for languages for which there is a lot of available training data. For such languages, it is possible to build character-level language models without explicit use of a morphological parser.[1]

Orthographic

Orthographic rules are general rules used when breaking a word into its stem and modifiers. An example would be: singular English words ending with -y, when pluralized, end with -ies. Contrast this to morphological rules which contain corner cases to these general rules. Both of these types of rules are used to construct systems that can do morphological parsing.

Morphological

Morphological rules are exceptions to the orthographic rules used when breaking a word into its stem and modifiers. An example would be while one normally pluralizes a word in English by adding 's' as a suffix, the word 'fish' does not change when pluralized. Contrast this to orthographic rules which contain general rules. Both of these types of rules are used to construct systems that can do morphological parsing. Applications of morphological processing include machine translation, spell checker, and information retrieval.

gollark: Or which calls cargo.
gollark: Rust can bind to C perfectly well, it's done a lot.
gollark: Well, then you can have a script interface the build systems together.
gollark: You can actually create, manage and build Rust projects with simple tooling which works easily and without horrible issues, and (almost?) every library uses the same stuff so you can interoperate trivially.
gollark: While strictly speaking you can use Rust and even `rustc` without `cargo`, having it as a first-class thing is EXTREMELY NICE.

References

  1. Piotr Bojanowski, Edouard Grave, Armand Joulin, and Tomas Mikolov. "Enriching Word Vectors with Subword Information"


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.