JSrealB: A Bilingual Text Realizer for Web Programming

Paul Molins, G. Lapalme
{"title":"JSrealB: A Bilingual Text Realizer for Web Programming","authors":"Paul Molins, G. Lapalme","doi":"10.18653/v1/W15-4719","DOIUrl":null,"url":null,"abstract":"JSrealB is an English and French text realizer written in JavaScript to ease its integration in web applications. The realization engine is mainly rule-based. Table driven rules are defined for inflection and algorithmic propagation rules, for agreements. It allows its user to build a variety of French and English expressions and sentences from a single specification to produce dynamic output depending on the content of a web page. Natural language generation can automate a significant part of textual production, only requiring a human to supply some important aspects and thus saving considerable time for producing consistent grammatically correct output. In recent years, tools such as SimpleNLG (Gatt and Reiter, 2009) facilitated text realization by a programmer provided they program their application in Java. This system was then extended with SimpleNLG-EnFr (Vaudry and Lapalme, 2013), a English-French version of SimpleNLG. Another approach to text realization is JSreal (Daoust and Lapalme, 2014), a French Web realizer written in JavaScript. This paper describes an attempt at combining the ideas of SimpleNLGEnFr and JSreal to produce a bilingual realizer for French and English from a single specification. JSrealB generates well-formed expressions and sentences. It can be used standalone for linguistic demonstrations or be integrated into complex text generation projects. But like JSreal, it is aimed at web developers, from taking care of morphology, declension and conjugation to creating well-formed texts. A web programmer who wishes to use JSrealB to produce flexible English and/or French textual or HTML output only needs to add two lines in the page: one for importing program and one for calling JSrealB loader to load the resources (i.e. lexicon and rules). The principles underlying JSrealB are similar to those of SimpleNLG: programming language instructions create data structures corresponding to the constituents of the sentence to be produced. Once the data structure (a tree) is built in memory, it is traversed to produce the list of tokens of the sentence. This data structure is built by function calls whose names are the same as the symbols usually used for classical syntax trees: for example, N to create a noun structure, NP for a Noun Phrase, V for a Verb, D for a determiner, S for a Sentence and so on. Features added to the structures using the dot notation can modify the values according to what is intended. JSrealBsyntactic representation is patterned after classical constituent grammar notations. For example, S(NP(D(\"a\"),N(\"woman\")).n(\"p\"), VP(\"eat\").t(\"ps\")) is the JSrealB specification for The women ate. Plural is indicated with feature n(\"p\") where n indicates number and p plural. The verb is conjugated to past tense indicated by the feature tense t and value ps. Agreement between NP and VP is performed automatically. French and English are languages whose structures are similar. Both languages use the same alphabet, they are both fusional languages sharing a similar conjugation system and their word order follows the same basic Subject-VerbObject paradigm (Shoebottom, 1996). But structural differences do exist: e.g. the position of adjectives differ and rules for gender and number agreement differ for nouns and pronoun between these languages. These differences must be taken into account at many levels. First, syntactic differences and agreements (i.e. features propagation), must be handled at the phrase or sentence level by algo-","PeriodicalId":307841,"journal":{"name":"European Workshop on Natural Language Generation","volume":"39 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"22","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"European Workshop on Natural Language Generation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.18653/v1/W15-4719","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 22

Abstract

JSrealB is an English and French text realizer written in JavaScript to ease its integration in web applications. The realization engine is mainly rule-based. Table driven rules are defined for inflection and algorithmic propagation rules, for agreements. It allows its user to build a variety of French and English expressions and sentences from a single specification to produce dynamic output depending on the content of a web page. Natural language generation can automate a significant part of textual production, only requiring a human to supply some important aspects and thus saving considerable time for producing consistent grammatically correct output. In recent years, tools such as SimpleNLG (Gatt and Reiter, 2009) facilitated text realization by a programmer provided they program their application in Java. This system was then extended with SimpleNLG-EnFr (Vaudry and Lapalme, 2013), a English-French version of SimpleNLG. Another approach to text realization is JSreal (Daoust and Lapalme, 2014), a French Web realizer written in JavaScript. This paper describes an attempt at combining the ideas of SimpleNLGEnFr and JSreal to produce a bilingual realizer for French and English from a single specification. JSrealB generates well-formed expressions and sentences. It can be used standalone for linguistic demonstrations or be integrated into complex text generation projects. But like JSreal, it is aimed at web developers, from taking care of morphology, declension and conjugation to creating well-formed texts. A web programmer who wishes to use JSrealB to produce flexible English and/or French textual or HTML output only needs to add two lines in the page: one for importing program and one for calling JSrealB loader to load the resources (i.e. lexicon and rules). The principles underlying JSrealB are similar to those of SimpleNLG: programming language instructions create data structures corresponding to the constituents of the sentence to be produced. Once the data structure (a tree) is built in memory, it is traversed to produce the list of tokens of the sentence. This data structure is built by function calls whose names are the same as the symbols usually used for classical syntax trees: for example, N to create a noun structure, NP for a Noun Phrase, V for a Verb, D for a determiner, S for a Sentence and so on. Features added to the structures using the dot notation can modify the values according to what is intended. JSrealBsyntactic representation is patterned after classical constituent grammar notations. For example, S(NP(D("a"),N("woman")).n("p"), VP("eat").t("ps")) is the JSrealB specification for The women ate. Plural is indicated with feature n("p") where n indicates number and p plural. The verb is conjugated to past tense indicated by the feature tense t and value ps. Agreement between NP and VP is performed automatically. French and English are languages whose structures are similar. Both languages use the same alphabet, they are both fusional languages sharing a similar conjugation system and their word order follows the same basic Subject-VerbObject paradigm (Shoebottom, 1996). But structural differences do exist: e.g. the position of adjectives differ and rules for gender and number agreement differ for nouns and pronoun between these languages. These differences must be taken into account at many levels. First, syntactic differences and agreements (i.e. features propagation), must be handled at the phrase or sentence level by algo-
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
一个用于Web编程的双语文本实现器
JSrealB是一个用JavaScript编写的英语和法语文本实现器,以简化其在web应用程序中的集成。实现引擎主要是基于规则的。表驱动规则被定义为拐点和算法传播规则,用于协议。它允许用户从单一规范中构建各种法语和英语表达式和句子,以根据网页内容产生动态输出。自然语言生成可以自动化文本生成的重要部分,只需要人类提供一些重要方面,从而节省大量时间来生成一致的语法正确的输出。近年来,SimpleNLG (Gatt和Reiter, 2009)等工具促进了程序员在Java中编写应用程序的文本实现。然后使用SimpleNLG- enfr (Vaudry and Lapalme, 2013)对该系统进行扩展,这是SimpleNLG的英法版本。另一种实现文本的方法是JSreal (Daoust and Lapalme, 2014),一个用JavaScript编写的法语Web实现程序。本文描述了将SimpleNLGEnFr和JSreal的思想结合起来,从单一规范中生成法语和英语双语实现器的尝试。JSrealB生成格式良好的表达式和句子。它可以单独用于语言演示或集成到复杂的文本生成项目中。但像JSreal一样,它的目标用户是web开发人员,从处理词法、词形变化和词形变化到创建格式良好的文本。如果web程序员希望使用JSrealB生成灵活的英语和/或法语文本或HTML输出,只需要在页面中添加两行:一行用于导入程序,另一行用于调用JSrealB加载器来加载资源(即词典和规则)。JSrealB的基本原理与SimpleNLG类似:编程语言指令创建与要生成的句子成分相对应的数据结构。一旦在内存中构建了数据结构(树),就遍历它以生成句子的标记列表。此数据结构由函数调用构建,其名称与经典语法树中通常使用的符号相同:例如,N用于创建名词结构,NP用于名词短语,V用于动词,D用于限定词,S用于句子,等等。使用点表示法添加到结构中的特性可以根据需要修改值。JSrealBsyntactic表示法是按照经典的组成语法表示法模式化的。例如,S(NP(D(“a”),N(“woman”)). N(“p”),VP(“eat”).t(“ps”))是女性吃的JSrealB规范。复数用特征n(“p”)表示,其中n表示数字,p表示复数。动词与过去时结合,由特征时态t和值ps表示。NP和VP之间自动执行一致。法语和英语是结构相似的语言。两种语言使用相同的字母表,它们都是融合语言,具有相似的词形系统,它们的词序遵循相同的基本主词客体范式(Shoebottom, 1996)。但结构上的差异确实存在:例如,这些语言之间形容词的位置不同,名词和代词的性别和数量一致规则也不同。这些差异必须在许多层面上加以考虑。首先,算法必须在短语或句子层面处理句法差异和一致(即特征传播)
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Natural Language Generation from Pictographs A Personal Storytelling about Your Favorite Data Topic Transition Strategies for an Information-Giving Agent Sentence Ordering in Electronic Navigational Chart Companion Text Generation Generating Récit from Sensor Data: Evaluation of a Task Model for Story Planning and Preliminary Experiments with GPS Data
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1