woensdag 6 juni 2012

Parsing English Sentences

My company Sirius Computing has improved the Sirius English Text Analyser with grammar and phraseology support. The 'Grammar' tab makes it possible to manage grammatical patterns (constituents and grammatical categories). Each grammatical pattern may be linked to several examples. The following screenshot shows the list of grammatical patterns for the constituent "direct object" that begins with the grammatical category "article".
Via the tab "Text analysis" it is possible to manually annotate constituents. The following screenshot shows, for example, how a direct object can be added as a grammatical pattern.
The 'Phraseology' tab makes it possible to manage verb phrases and term + preposition pairs. Verb phrases are managed separately because the verb and adverb or preposition can be separated by other words. Term + preposition pairs are used to extend phrases with prepositional phrases. For example, "The title of the book" is detected as a noun phrase because the term + preposition pair [title; of] exists.
Phrases and multi word expressions can also be manually annotated via the tab "Text analysis". Multi word expressions (example: as soon as) are managed just like other terms in the Terminology tab.
The English Text Analyser uses the information of grammatical patterns and phrases to automatically annotate phrases and parse English sentences into clauses and constituents.

woensdag 11 april 2012

English terminography

Sirius Computing has improved the Sirius English Text Analyser with terminography support. Terminological information is of course necessary for a software tool to understand natural language. Compiling the required terminological information into a format that the computer understands is however a very big task. Therefore, the Sirius English Text Analyser tries to make it easy for terminographers to compile such term base.


We are now using e-books to teach the English Text Analyser terminology. When we paste a text (fragment) into the software tool the English Text Analyser displays the words (tokens) that it does not yet know. The terminographer should then assign the appropriate lexical category to the word lemma. The English Text Analyser uses built-in morphological rules to assist the terminographer. For example, if a word ends with -ly, the software tool automatically marks the word as an adverb. If a word ends with -ed or -ing the Text Analyser wil select the lexical category 'Verb'. Default, the lexical category 'Noun' is selected.
If the terminographer selects the lexical category 'Proper noun', the proposed word lemma will be the original word.
The software tool already tries to propose the most likely word lemma based on morphological analysis. For example, if a word ends on -s or -es, the proposed word lemma will drop the -s or -es. Of course, the terminographer can easily change the word lemma.
In some cases, we also add other word forms as terms. The word 'children', for example, should be added as a term. Otherwise, the software tool would not be able to recognize the word. Via the Terminology tab, a term may be marked as plural and the root form (lemma) could be specified. Similarly, the term 'further' should be added to the database. This term could then be marked as a comparative of the root form 'far' via the Terminology tab.


For a verb, the terminographer should specify the verb conjugation information. However, when the terminographer selects the lexical category 'Verb', the software tool automatically proposes verb conjugation information based on morphology.

By pressing the button 'Add lemma', only the word lemma is added to the database and the next token will be selected for terminography. A lemma does not hold any further linguistic information.
To include the lexical category (and possibly verb conjugation), the terminographer should press the button 'Add term'. This will add the word as a term. If desired, the terminographer may specify the meaning of the term with a second disambiguating term. For example, to add the term 'fly' as an insect instead of a zipper, the terminographer could add the disambiguating term 'insect' behind {.

Conclusion: The Sirius English Text Analyser makes it easier than ever to teach the computer English vocabulary and terminology.
Hopefully, I will be able to describe how we deal with other linguistic information such as grammar and phraseology soon.

donderdag 22 maart 2012

Sirius English Text Analyser

My company Sirius Computing has started the development of an English Text Analyser. The design of the English Text Analyser will be similar to our Dutch Text Interpretation Aid. However, we will also link the English Text Analyser to our online software platforms, i.e. a terminological ontology and an English to Dutch translation dictionary, via the Sirius Information Management System.
So far, the software tool is capable of separating an English text into paragraphs, sentences, and tokens. Next come the more difficult tasks of lemmatisation, classification, and interpretation of the collected tokens.

dinsdag 14 juni 2011

Corpus met geannoteerde Nederlandse zinnen

Ik heb net 951 Nederlandse voorbeeldzinnen geannoteerd. De voorbeeldzinnen zijn afkomstig uit het handboek 'Grammatica Nederlands' en van de website Dutch Grammar. De bedoeling is om met dergelijk XML-corpus van geannoteerde zinnen de grammaticacontrole in onze taalsoftware te verbeteren.

De gebruikte annotaties zijn grotendeels dezelfde als voor het Engels. De voornaamste verschillen zijn het gebruik van bijwoorden als scheidbaar deel van werkwoorden en de ehb-tag (er, hier, daar).

dinsdag 24 mei 2011

Corpus met geannoteerde Engelse zinnen

Ik heb net 598 Engelse voorbeeldzinnen uit het handboek 'Snel en vlot grammatica Engels' geannoteerd. De bedoeling is om met dergelijk XML-corpus van geannoteerde zinnen de grammaticacontrole in onze taalsoftware te verbeteren. Een XML gebaseerd corpus van geannoteerde Engelse en Nederlandse zinnen zal het makkelijker maken om nieuwe grammaticaregels in onze taalsoftware in te bouwen en onze vertaalsoftware te verbeteren.

De bedoeling is om nu dezelfde oefening te herhalen voor de Nederlandse grammatica. Op deze manier wil ik ook vaststellen of een gemeenschappelijk annotatieschema voor zowel de Engelse als de Nederlandse grammaticaregels mogelijk is.

maandag 21 maart 2011

Objectgeoriënteerd datamodel voor Nederlandse zinsbouw

Sirius Computing ontwikkelt momenteel een objectgeoriënteerd datamodel voor Nederlandse zinsbouw. Met dit objectgeoriënteerd datamodel willen we de Nederlandse grammatica in onze softwaremodules makkelijker kunnen beheersen. Dit objectgeoriënteerd datamodel zal onder meer voor grammaticacontrole en dialoogsystemen kunnen worden gebruikt. Tot dusver hebben we een objectgeoriënteerd datamodel voor een enkelvoudige zin ontwikkeld. Met dit datamodel kunnen we bijvoorbeeld Nederlandse hoofdzinnen samenstellen op basis van de verschillende zinsdelen: onderwerp, hulpwerkwoorden, hoofdwerkwoord, complement, voorzetselvoorwerp, lijdend voorwerp, meewerkend voorwerp en bepalingen van tijd, manier en plaats.

maandag 28 februari 2011

Nederlandse zinsontleding en syntaxisbomen 2

De ontwikkeling van onze toepassing voor Nederlandstalige zinsontleding gaat de goede richting uit. Op basis van voorbeelden uit verschillende grammaticahandboeken testen we momenteel de ontleding van Nederlandse zinnen.
Volgende schermafbeelding toont bijvoorbeeld hoe de toepassing reeds rekening houdt met complexe regels als bijzinnen en voegwoorden.


De bestaande parser voor het Nederlands (Alpino) van de universiteit Groningen blijkt een goede referentie voor het controleren van onze resultaten.
Enkele collega's vroegen zich zelfs af of we niet beter deze bestaande oplossing integreren in onze toepassing. Dit is uiteraard een mogelijkheid, maar aangezien we de regels voor zinsontleding zo toegankelijk mogelijk proberen te maken en ook de betekenis van woorden willen afleiden is onze ontologiegebaseerde methode waarschijnlijk een betere oplossing. De volgende stap is bijvoorbeeld het correct benoemen van de zinsdelen. Om te kunnen herkennen of een woordgroep een tijd, manier of plaats aanduidt, is de betekenis van de woorden immers van belang.