File Information

File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/05/w05-1620_metho.xml

Size: 20,431 bytes

Last Modified: 2025-10-06 14:09:59

<?xml version="1.0" standalone="yes"?>
<Paper uid="W05-1620">
  <Title>An Evolutionary Approach to Referring Expression Generation and Aggregation</Title>
  <Section position="3" start_page="0" end_page="0" type="metho">
    <SectionTitle>
2 Natural Language Generation Tasks and
</SectionTitle>
    <Paragraph position="0"/>
    <Section position="1" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
Evolutionary Algorithms
</SectionTitle>
      <Paragraph position="0"> This section outlines the elementary requirements of the two generation tasks addressed in this paper, and sketches the basic principles of the evolutionary techniques that are used.</Paragraph>
    </Section>
    <Section position="2" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
2.1 Referring Expression Generation and
Aggregation
</SectionTitle>
      <Paragraph position="0"> The correct use of referring expressions to compete with human generated texts involves a certain difficulty. Possible simple algorithms for deciding when to use a pronoun and when to use the full noun produce poor results. Two occurrences of the same concept in a paragraph can be far apart, and this may confuse the reader. Knowledge intensive approaches modelled on the way humans do it require a certain measure of content understanding that is resource hungry.</Paragraph>
      <Paragraph position="1"> As shown in [Reiter and Dale, 1992], a referring expression must communicate enough information to be able to uniquely identify the intended referent in the current discourse context, but avoiding the presence of redundant or otherwise unnecessary modifiers. Therefore, it is essential to choose a reference which matches these constraints. Taking into account these features, Reiter and Dale proposed an algorithm to generate definite noun phrases to identify objects in the current focus of attention of the reader or the hearer. However, Krahmer and Theune [Krahmer and Theune, 2000] argue that due to the original motivation of the work of Reiter and Dale of making distinguishing descriptions, various other aspects of the generation of definites remained somewhat underdeveloped.</Paragraph>
      <Paragraph position="2"> In particular they focus on the role of context-sensitivity for referring expression generation.</Paragraph>
      <Paragraph position="3"> Kibble and Power [Kibble and Power, 2000] propose a system which uses Centering Theory [Walker et al., 1998] for planning of coherent texts and choice of referring expressions. They argue that text and sentence planning need to be driven in part by the goal of maintaining referential continuity: obtaining a favourable ordering of clauses, and of arguments within clauses, is likely to increase opportunities for non-ambiguous pronoun use.</Paragraph>
      <Paragraph position="4"> Aggregation can be seen as the NLG task that involves deciding how compact the presentation of information should be in a given text, although there is no exact definition in the literature about what aggregation is [Reape and Mellish, 1999].</Paragraph>
      <Paragraph position="5"> It operates at several linguistic levels, and due to that Reape and Mellish make a classification of the different types of aggregation: conceptual, discourse, semantic, syntactic, lexical and referential. However, the line between them is very narrow, and in some cases a specific example could be classified as different types of aggregation.</Paragraph>
    </Section>
    <Section position="3" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
2.2 Evolutionary Algorithms
</SectionTitle>
      <Paragraph position="0"> We propose the use of evolutionary algorithms (EAs) [Holland, 1992] to deal with the referring expression generation and aggregation tasks. Evolutionary algorithms are an extended set of problem resolution techniques inspired by evolutionary phenomena and natural evolution. They work on a population of individuals (representations of possible solutions for the problem we are solving) that evolve according to selection rules and genetic operators like crossover and mutation. The fitness function is a metric which allows the evaluation of each of the possible solutions, in such way that the average adaptation of the population would increase in each generation. Repeating this process hundreds or thousands of times it is possible to find very good solutions for the problem. null Evolutionary algorithms combine random search, because the genetic operators are applied randomly, with oriented search, given by the fitness values. These algorithms find generally good solutions, but not always the best ones. However, this is enough for simple applications. In the case under consideration, the main advantage we can find in evolutionary algorithms is that they do not need specific rules to build a solution, only measurements of its goodness.</Paragraph>
      <Paragraph position="1"> Evolutionary techniques have been shown in the past to be particularly well suited for the generation of verse. The work of Manurung [Manurung, 2003] and Levy [Levy, 2001] proposed different computational models of the composition of verse based on evolutionary approaches. In both cases, the main difficulty lay in the choice of a fitness function to guide the process. Although Levy only addressed a simple model concerned with syllabic information, his overall description of the architecture in terms of a population of poem drafts that evolve, with priority given to those drafts that are evaluated more highly, is an important insight. Levy uses a neural network, trained with examples of valid verse, to evaluate these drafts. The work of Manurung addresses the complete task, and it presents a set of evaluators that grade the candidates solutions according to particular heuristics.</Paragraph>
      <Paragraph position="2"> Evolutionary algorithms have been also used in text planning. In [Duboue and McKeown, 2002] the authors present a technique to learn a tree-like structure for a content planner from an aligned corpus of semantic inputs and corresponding, human produced, outputs. They apply a stochastic search mechanism with a two-level fitness function to create the structure of the planner. Genetic algorithms are also used in [Mellish et al., 1998] where the authors state the problem of given a set of facts to convey and a set of rhetorical relations that can be used to link them together, how one can arrange this material so as to yield the best possible text.</Paragraph>
      <Paragraph position="3"> An important conclusion to draw from these efforts is the suitability of evolutionary techniques for natural language generation tasks in which the form plays a significant role, to the extent of sometimes interfering with the intended content, such as is the case for lyrics generation.</Paragraph>
    </Section>
  </Section>
  <Section position="4" start_page="0" end_page="0" type="metho">
    <SectionTitle>
3 An Evolutionary Submodule for a Simple
Generator
</SectionTitle>
    <Paragraph position="0"> The work presented here is intended to be a module for the tasks of referring expressions generation and aggregation enclosed in the architecture of cFROGS [Garc'ia et al., 2004].</Paragraph>
    <Paragraph position="1"> cFROGS is a framework-like library of architectural classes intended to facilitate the development of NLG applications.</Paragraph>
    <Paragraph position="2"> cFROGS identifies three basic design decisions: what set of modules to use, how control should flow between them, and what data structures are used to communicate between the modules.</Paragraph>
    <Paragraph position="3"> We have tested the implementation of the module in an existing application: ProtoPropp [Gerv'as et al., 2004]. This is a system for automatic story generation. The natural language generator module of ProtoPropp - implemented as a pipeline architecture of cFROGS modules - perform tasks such as content determination - selecting the particular concepts that are relevant - and discourse planning - organising them in an orderly fashion. These tasks are currently carried out in a traditional manner and simply provide the data for the evolutionary stages. In the previous prototype of ProtoPropp the referring expression to use for a concrete concept was determined using a very simple heuristic: the first time that the concept appears in the paragraph, the generator uses its full noun, in all other cases it uses a pronoun. When using a full noun reference, it is indefinite for the first appearance of the concept in the text and definite for the rest.</Paragraph>
    <Paragraph position="4"> The input of the evolutionary algorithm is a basic discourse structure where each phrase is a message about a relation between two concepts or a description of some attribute of an element. Additionally, this submodule has access to a knowledge base of conceptual information about the discourse elements that appear in the input (characters, locations, attributes, relations).</Paragraph>
    <Paragraph position="5"> In this simple evolutionary algorithm, the appearances of the concepts are considered as the genes. The initial population is generated randomly, using for each concept its full noun or its pronoun. When using the full noun, a selection of the attributes the concept has in the knowledge base is chosen. These attributes will appear just before the noun of the concept, as it is usual in English. The system works over this population for a number of generations determined by the user. In each generation three genetic operators are used: crossover, mutation and aggregation. Finally, at the end of each generation each tale is evaluated and a selection of the population is passed to the next one, in such way that the tales with a higher fitness have more possibilities of being chosen.</Paragraph>
    <Section position="1" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
3.1 Data Representation and Genes
</SectionTitle>
      <Paragraph position="0"> Within the context of the larger cFROGS architecture, data are represented as complex data structures with generic interfaces to ensure easy connectivity between different modules [Garc'ia et al., 2004]. These data follow ideas from the RAGS [Cahill et al., 2001] generic architecture. However, the notation described here corresponds to a representation internal to the module intended to facilitate the operation of the evolutionary techniques.</Paragraph>
      <Paragraph position="1"> Characters, locations and attributes are represented as simple facts containing an unique identifier (to distinguish each specific character and location from the others) and their names. The identifier in attributes corresponds to the concept that holds the attribute, and the name corresponds to the attribute itself. The current prototype operates over simple linguistic constructs: the description of a concept using an attribute, or a relation between two concepts. Pronominal reference is indicated by changing the name of the concept for 'pron', and definite and indefinite reference is indicated by adding a fact 'ref' indicating if the reference is definite or indefinite. Finally, the concepts may go along with some attributes preceding the name of the concept, as in &amp;quot;the pretty blonde princess&amp;quot;. This list of attributes is represented between -&gt; and &lt;-.</Paragraph>
      <Paragraph position="2"> A sample part of a draft for the evolutionary algorithm would be the following:</Paragraph>
    </Section>
    <Section position="2" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
3.2 The Genetic Operators
</SectionTitle>
      <Paragraph position="0"> Three genetic operators are used: crossover, mutation and aggregation. null For the crossover operator, two drafts are selected randomly and crossed by a random point of their structure. So, each of the sons will have part of each of the parents.</Paragraph>
      <Paragraph position="1"> In the case of the mutation operator, some of the genes are chosen randomly to be mutated. If the gene is a pronoun as in &amp;quot;she lived in a castle&amp;quot; -, it will change into the corresponding full noun, always associated with a subset of its possible attributes - for example &amp;quot;the princess lived in a castle&amp;quot; or &amp;quot;the pretty princess lived in a castle&amp;quot; -. In case the  gene was a full noun - as in &amp;quot;the pretty princess&amp;quot; -, there are two options: to change it into a pronoun - in this case &amp;quot;she&amp;quot; -, or to change the subset of attributes that appear with it for example &amp;quot;the princess&amp;quot; or &amp;quot;the pretty blonde princess&amp;quot; -. One of these two options is chosen randomly.</Paragraph>
      <Paragraph position="2"> The aggregation operator addresses the task of deciding on the aggregation between concepts and their attributes. This involves a certain modification of the structure of the text, because sentences in the text may be deleted if the information they impart becomes part of a previous sentence. The aggregation operator acts only on genes corresponding to explicitly mentioned concepts: concepts referred by pronouns are excluded. It can act in two directions: * If the reference to the concept appears with one or more attributes - as in &amp;quot;A blonde princess lived in a castle.&amp;quot; -, the operator disaggregates the attributes by eliminating their mention and adding a corresponding &amp;quot;X is Y&amp;quot; sentence - resulting in &amp;quot;A princess lived in a castle. She was blonde.&amp;quot; * If the reference to X has no attributes - as in &amp;quot;A princess lived in a castle.&amp;quot; -, the algorithm looks for an &amp;quot;X is Y&amp;quot; sentence - such as &amp;quot;The princess was blonde.&amp;quot; -, adds the corresponding attributes to the reference, and deletes the &amp;quot;X is Y&amp;quot; sentence - resulting in &amp;quot;A blonde princess lived in a castle.&amp;quot; The goal of this definition of the aggregation is to ensure that the attributes of a concept are mentioned in the appearance of a concept or in the correspondent &amp;quot;X is Y&amp;quot; sentences, but not in both. As the aggregation operator is used randomly, the desired result is obtained only in some cases.</Paragraph>
    </Section>
    <Section position="3" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
3.3 The Fitness Function
</SectionTitle>
      <Paragraph position="0"> The key to the evolutionary algorithm lies in the choice of fitness function. A simple approach would be to require that in each generation the user reads all the texts and gives them a fitness value. The number of generations and individuals in the population for a simple experiment makes this approach impractical.</Paragraph>
      <Paragraph position="1"> We have defined five different fitness functions as shown in Table 1. This definitions are the results of the analysis of the features of human-generated text.</Paragraph>
      <Paragraph position="2"> For the evaluation of each of the drafts that form the population, we use the following formula:</Paragraph>
      <Paragraph position="4"> In this way, the fitness would be greater when the error is smaller. The constant k is used to avoid divisions by zero. In our experiments it was set with the value 1, so the maximum possible fitness was 1.</Paragraph>
    </Section>
  </Section>
  <Section position="5" start_page="0" end_page="0" type="metho">
    <SectionTitle>
4 Experiments and Results
</SectionTitle>
    <Paragraph position="0"> To test the feasibility of the idea of using together NLG and EAs, we have formalized five different fairy tales, mainly differentiated by their lengths in number of genes, that is, in appearances of concepts. We must take into account that the number of genes shown below are not completely exact, because the aggregation operator can erase or add new sentences to the tale. These are the tales formalized and used to do the experiments:  For each of these tales we have made several experiments using different population sizes (10, 25, 50, 100, 200, 300, 500) and number of generations (10, 25, 50). The three genetic operators mentioned before (crossover, mutation and aggregation) are applied, and the five fitness functions used for the evaluation of the tales.</Paragraph>
    <Paragraph position="1">  In Table 2 we can see the numerical results of the experiments. For each combination of population size and number  of generations results shown have been averaged over a number of runs.</Paragraph>
    <Paragraph position="2"> We can analyse these results taking into account the three different number of generations used. The legend for the following graphics is shown in Figure 1.</Paragraph>
    <Section position="1" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
4.1 10 Generations
</SectionTitle>
      <Paragraph position="0"> As we can see in Figure 2, only 10 generations are not enough for the bigger tales. However, in the case of the smaller ones, the fitness values increase with the size of the population, and at certain point they achieve the maximum value of 1.</Paragraph>
    </Section>
    <Section position="2" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
4.2 25 Generations
</SectionTitle>
      <Paragraph position="0"> In Figure 3 the fitness values for the bigger tales are higher than in the case of 10 generations, but still not good enough.</Paragraph>
      <Paragraph position="1"> For the smaller tales we achieve the maximum fitness value of 1 quicker than with only 10 generations.</Paragraph>
    </Section>
    <Section position="3" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
4.3 50 Generations
</SectionTitle>
      <Paragraph position="0"> We can see in Figure 4 the best values achieved in the experiments. For the smaller tales, we get the maximum fitness value of 1 very quickly. In the case of the bigger ones, the fitness values are higher than in the previous experiments, but not very good yet, except in the case of &amp;quot;The Lioness&amp;quot;, where the maximum value of 1 is achieved with 50 generations and 500 individuals in the population.</Paragraph>
    </Section>
  </Section>
  <Section position="6" start_page="0" end_page="0" type="metho">
    <SectionTitle>
5 Discussion
</SectionTitle>
    <Paragraph position="0"> To start with, EAs seem to be a good approach to solve the tasks addressed, and in all the experiments the results obtained are better than the ones achieved using previous heuris- null A princess lived in a castle. She loved a knight.</Paragraph>
    <Paragraph position="1"> She was pretty. She was blonde. It had towers. It was strong.</Paragraph>
    <Paragraph position="2"> Using the evolutionary module the same piece of tale is generated as follows: A pretty princess lived in a strong castle. She was blonde. The princess loved a brave knight. The castle had towers.</Paragraph>
    <Paragraph position="3"> The second example shows that the texts generated by the evolutionary module are richer from the point of view of adjectives and structure.</Paragraph>
    <Paragraph position="4"> Note that depending on the number of genes you need a certain number of individuals and generations to achieve a good fitness value. For example, &amp;quot;The Lioness&amp;quot;, with 50 genes, gets the maximum fitness with 50 generations and 500 individuals, as long as &amp;quot;Hansel and Gretel&amp;quot; and &amp;quot;Cinderella&amp;quot; would need more generations and individuals to get the maximum fitness.</Paragraph>
    <Paragraph position="5"> Another important point is that in a specific tale, with a specific number of genes, you can achieve the same results increasing the number of generations or the size of the population. For instance, &amp;quot;The Merchant&amp;quot;, with 31 genes, gets the maximum fitness with both 25 or 50 generations with small populations or 10 generations with populations of more than 100 individuals.</Paragraph>
    <Paragraph position="6"> Finally, it is important to note that our approach presents some differences respect to the one of Reiter and Dale [Reiter and Dale, 1992]. As we have already mentioned, we are working in the field of the fairy tales, with the specific requirements of story generation. An important point is that these are not informative texts, and therefore we can relax some constraints taken into account in other works in the area of referring expressions.</Paragraph>
  </Section>
class="xml-element"></Paper>
Download Original XML