Zero-Shot Question Generation from Knowledge Graphs for Unseen Predicates and Entity Types
Hady Elsahar, Christophe Gravier, Frederique Laforest
Introduction
Questions Generation (QG) from Knowledge Graphs is the task consisting in generating natural language questions given an input knowledge base (KB) triple Serban et al. (2016). QG from knowledge graphs has shown to improve the performance of existing factoid question answering (QA) systems either by dual training or by augmenting existing training datasets Dong et al. (2017); Khapra et al. (2017). Those methods rely on large-scale annotated datasets such as SimpleQuestions Bordes et al. (2015). In practice many of the predicates and entity types in KB are not covered by those annotated datasets. For example of Freebase predicates are not covered by SimpleQuestions. So, one challenge for QG from knowledge graphs is to adapt to predicates and entity types that were not seen at training time (aka Zero-Shot QG). Ultimately, generating questions to predicates and entity types unseen at training time will allow QA systems to cover predicates and entity types that would not have been used for QA otherwise.
Intuitively, a human who is given the task to write a question on a fact offered by a KB, would read natural language sentences where the entity or the predicate of the fact occur, and build up questions that are aligned with what he reads from both a lexical and grammatical standpoint. In this paper, we propose a model for Zero-Shot Question Generation that follows this intuitive process. In addition to the input KB fact, we feed our model with a set of textual contexts paired with the input KB triple through distant supervision. Our model derives an encoder-decoder architecture, in which the encoder encodes the input KB triple, along with a set of textual contexts into hidden representations. Those hidden representations are fed to a decoder equipped with an attention mechanism to generate an output question. In the Zero-Shot setup, the emergence of new predicates and new class types during test time requires new lexicalizations to express these predicates and classes in the output question. These lexicalizations might not be encountered by the model during training time and hence do not exist in the model vocabulary, or have been seen only few times not enough to learn a good representation for them by the model. Recent works on Text Generation tackle the rare words/unknown words problem using copy actions Luong et al. (2015); Gülçehre et al. (2016): words with a specific position are copied from the source text to the output text – although this process is blind to the role and nature of the word in the source text. Inspired by research in open information extraction Fader et al. (2011) and structure-content neural language models Kiros et al. (2014), in which part-of-speech tags represent a distinctive feature when representing relations in text, we extend these positional copy actions. Instead of copying a word in a specific position in the source text, our model copies a word with a specific part-of-speech tag from the input text – we refer to those as part-of-speech copy actions. Experiments show that our model using contexts through distant supervision significantly outperforms the strongest baseline among six ( BLEU-4 score). Adding our copy action mechanism further increases this improvement (). Additionally, a human evaluation complements the comprehension of our model for edge cases; it supports the claim that the improvement brought by our copy action mechanism is even more significant than what the BLEU score suggests.
Related Work
QG became an essential component in many applications such as education Heilman and Smith (2010), tutoring Graesser et al. (2004); Evens and Michael (2006) and dialogue systems Shang et al. (2015). In our paper we focus on the problem of QG from structured KB and how we can generalize it to unseen predicates and entity types. Seyler et al. (2015) generate quiz questions from KB triples. Verbalization of entities and predicates relies on their existing labels in the KB and a dictionary. Serban et al. (2016) use an encoder-decoder architecture with attention mechanism trained on the SimpleQuestions dataset Bordes et al. (2015). Dong et al. (2017) generate paraphrases of given questions to increases the performance of QA systems; paraphrases are generated relying on paraphrase datasets, neural machine translation and rule mining. Khapra et al. (2017) generate a set of QA pairs given a KB entity. They model the problem of QG as a sequence to sequence problem by converting all the KB entities to a set of keywords. None of the previous work in QG from KB address the question of generalizing to unseen predicates and entity types. Textual information has been used before in the Zero-Shot learning. Socher et al. (2013) use information in pretrained word vectors for Zero-Shot visual object recognition. Levy et al. (2017) incorporates a natural language question to the relation query to tackle Zero-Shot relation extraction problem.
Previous work in machine translation dealt with rare or unseen word problem problem for translating names and numbers in text. Luong et al. (2015) propose a model that generates positional placeholders pointing to some words in source sentence and copy it to target sentence (copy actions). Gülçehre et al. (2016); Gu et al. (2016) introduce separate trainable modules for copy actions to adapt to highly variable input sequences, for text summarization. For text generation from tables, Lebret et al. (2016) extend positional copy actions to copy values from fields in the given table. For QG, Serban et al. (2016) use a placeholder for the subject entity in the question to generalize to unseen entities. Their work is limited to unseen entities and does not study how they can generalize to unseen predicates and entity types.
Model
Let be the input fact provided to our model consisting of a subject , a predicate and an object , and be the set of textual contexts associated to this fact. Our goal is to learn a model that generates a sequence of tokens representing a question about the subject , where the object is the correct answer. Our model approximates the conditional probability of the output question given an input fact , to be the probability of the output question, given an input fact and the additional textual context , modelled as follows:
where represents all previously generated tokens until time step . Additional textual contexts are natural language representation of the triples that can be drawn from a corpus – our model is generic to any textual contexts that can be additionally provided, though we describe in Section 4.1 how to create such texts from Wikipedia.
Our model derives the encoder-decoder architecture of Sutskever et al. (2014); Bahdanau et al. (2014) with two encoding modules: a feed forward architecture encodes the input triple (sec. 3.1) and a set of recurrent neural network (RNN) to encode each textual context (sec. 3.2). Our model has two attention modules Bahdanau et al. (2014): one acts over the input triple and another acts over the input textual contexts (sec. 3.4). The decoder (sec. 3.3) is another RNN that generates the output question. At each time step, the decoder chooses to output either a word from the vocabulary or a special token indicating a copy action (sec. 3.5) from any of the textual contexts.
Following Serban et al. (2016), we learn using TransE Bordes et al. (2015). We fix its weights and do not allow their update during training time.
2 Textual Context Encoder
Given a set of textual contexts , where represents the 1-hot vector of the token in the textual context , and is the length of the context. We use a set of Gated Recurrent Neural Networks (GRU) Cho et al. (2014) to encode each of the textual concepts separately:
3 Decoder
4 Attention
is a scalar value determining the weight of the word in the context at time step .
Given a set of encoded input vectors and the decoder previous hidden state , the attention mechanism calculates as a vector of scalar weights, each determines the weight of its corresponding encoded input vector .
where are trainable weight matrices of the attention modules. It is important to notice here that we encode each textual context separately using a different GRU, but we calculate an overall attention over all tokens in all textual contexts: at each time step the decoder should ideally attend to only one word from all the input contexts.
5 Part-Of-Speech Copy Actions
We use the method of Luong et al. (2015) by modeling all the copy actions on the data level through an annotation scheme. This method treats the model as a black box, which makes it adaptable to any text generation model. Instead of using positional copy actions, we use the part-of-speech information to decide the alignment process between the input and output texts to the model. Each word in every input textual context is replaced by a special token containing a combination of its context id (e.g. C1) and its POS tag (e.g. NOUN). Then, if a word in the output question matches a word in a textual context, it is replaced with its corresponding tag as shown in Table 1. Unlike Serban et al. (2016); Lebret et al. (2016) we model the copy actions in the input and the output levels. Our model does not have the drawback of losing the semantic information when replacing words with generic placeholders, since we provide the model with the input triple through the fact encoder. During inference the model chooses to either output words from the vocabulary or special tokens to copy from the textual contexts. In a post-processing step those special tokens are replaced with their original words from the textual contexts.
Textual contexts dataset
As a source of question paired with KB triples we use the SimpleQuestions dataset Bordes et al. (2015). It consists of 100K questions with their corresponding triples from Freebase, and was created manually through crowdsourcing. When asked to form a question from an input triple, human annotators usually tend to mainly focus on expressing the predicate of the input triple. For example, given a triple with the predicate fb:spacecraft/manufacturer the user may ask ”What is the manufacturer of [S] ?”. Annotators may specify the entity type of the subject or the object of the triple: ”What is the manufacturer of the spacecraft [S]?” or ”Which company manufactures [S]?”. Motivated by this example we chose to associate each input triple with three textual contexts of three different types. The first is a phrase containing lexicalization of the predicate of the triple. The second and the third are two phrases containing the entity type of the subject and the object of the triple. In what follows we show the process of collection and preprocessing of those textual contexts.
We extend the set of triples given in the SimpleQuestions dataset by using the FB5M Bordes et al. (2015) subset of Freebase. As a source of text documents, we rely on Wikipedia articles.
In order to collect textual contexts associated with the SimpleQuestions triples, we follow the distant supervision setup for relation extraction Mintz et al. (2009). The distant supervision assumption has been effective in creating training data for relation extraction and shown to be 87% correct Riedel et al. (2010) on Wikipedia text. First, we align each triple in the FB5M KB to sentences in Wikipedia if the subject and the object of this triple co-occur in the same sentence. We use a simple string matching heuristic to find entity mentions in text We map Freebase entities to Wikidata through the Wikidata property P646, then we extract their labels and aliases. We use the Wikidata truthy dump: https://dumps.wikimedia.org/wikidatawiki/entities/. Afterwards we reduce the sentence to the set of words that appear on the dependency path between the subject and the object mentions in the sentence. We replace the positions of the subject and the object mentions with [S] and [O] to the keep track of the information about the direction of the relation. The top occurring pattern for each predicate is associated to this predicate as its textual context. Table 2 shows examples of predicates and their corresponding textual context.
Sub-Type and Obj-Type textual contexts:
We use the labels of the entity types as the sub-type and obj-type textual contexts. We collect the list of entity types of each entity in the FB5M through the predicate fb:type/instance. If an entity has multiple entity types we pick the entity type that is mentioned the most in the first sentence of each Wikipedia article. Thus the textual contexts will opt for entity types that is more natural to appear in free text and therefore questions.
2 Generation of Special tokens
To generate the special tokens for copy actions (sec. 3.5) we run POS tagging on each of the input textual contextsFor the predicate textual contexts we run pos tagging on the original text not the lexicalized dependency path. We replace every word in each textual context with a combination of its context id (e.g. C1) and its POS tag (e.g. NOUN). If the same POS tag appears multiple times in the textual context, it is given an additional id (e.g. C1_NOUN_2). If a word in the output question overlaps with a word in the input textual context, this word is replaced by its corresponding tag. For sentence and word tokenization we use the Regex tokenizer from the NLTK toolkit Bird (2006), and for POS tagging and dependency parsing we use the Spacyhttps://spacy.io/ implementation.
Experiments
We develop three setups that follow the same procedure as Levy et al. (2017) for Zero-Shot relation extraction to evaluate how our model generalizes to: 1) unseen predicates, 2) unseen sub-types and 3) unseen obj-types. For the unseen predicates setup we group all the samples in SimpleQuestions by the predicate of the input triple, and keep groups that contain at least 50 samples. Afterwards we randomly split those groups to 70% train, 10% valid and 20% test mutual exclusive sets respectively. This guarantees that if the predicate fb:person/place_of_birth for example shows during test time, the training and validation set will not contain any input triples having this predicate. We repeat this process to create 10 cross validation folds, in our evaluation we report the mean and standard deviation results across those 10 folds. While doing this we make sure that the number of samples in each fold – not only unique predicates – follow the same 70%, 30%, 10% distribution. We repeat the same process for the subject entity types and object entity types (answer types) individually. Similarly, for example in the unseen object-type setup, the question ”Which artist was born in Berlin?” appearing in the test set means that, there is no question in the training set having an entity of type artist. Table 3 shows the mean number of samples, predicates, sub-types and obj-types across the 10 folds for each experiment setup.
2 Baselines
is a baseline built from Serban et al. (2016) and adapted for the zero shot setup. During test time given a fact , this baseline picks a fact from the training set and outputs the question that corresponds to it. For evaluating unseen predicates, has the same answer type (obj-type) as . And while evaluating unseen sub-types or obj-types, and have the same predicate.
R-TRANSE
is an extension that we propose for SELECT. The input triple is encoded using the concatenation of the TransE embeddings of the subject, predicate and object. At test time, R-TRANSE picks a fact from the training set that is the closest to the input fact using cosine similarity and outputs the question that corresponds to it. We provide two versions of this baseline: R-TRANSE which indexes and retrieves raw questions with only a single placeholder for the subject label, such as in Serban et al. (2016). And R-TRANSEcopy which indexes and retrieves questions using our copy actions mechanism (sec. 3.5).
IR
is an information retrieval baseline. Information retrieval has been used before as baseline for QG from text input Rush et al. (2015); Du et al. (2017). We rely on the textual context of each input triple as the search keyword for retrieval. First, the IR baseline encodes each question in the training set as a vector of TF-IDF weights Joachims (1997) and then does dimensionality reduction through LSA Halko et al. (2011). At test time the textual context of the input triple is converted into a dense vector using the same process and then the question with the closest cosine distance to the input is retrieved. We provide two versions of this baseline: IR on raw text and IRcopy on text with our placeholders for copy actions.
Encoder-Decoder.
Finally, we compare our model to the Encoder-Decoder model with a single placeholder, the best performing model from Serban et al. (2016). We initialize the encoder with TransE embeddings and the decoder with GloVe word embeddings. Although this model was not originally built to generalize to unseen predicates and entity types, it has some generalization abilities represented in the encoded information in the pre-trained embeddings. Pretrained KB terms and word embeddings encode relations between entities or between words as translations in the vector space. Thus the model might be able to map new classes or predicates in the input fact to new words in the output question.
3 Training & Implementation Details
To train the neural network models we optimize the negative log-likelihood of the training data with respect to all the model parameters. For that we use the RMSProp optimization algorithm with a decreasing learning rate of , mini-batch size , and clipping gradients with norms larger than . We use the same vocabulary for both the textual context encoders and the decoder outputs. We limit our vocabulary to the top words including the special tokens. For the word embeddings we chose GloVe Pennington et al. (2014) pretrained embeddings of size . We train TransE embeddings of size , on the FB5M dataset Bordes et al. (2015) using the TransE model implementation from Lin et al. (2015). We set GRU hidden size of the decoder to , and textual encoder to . The networks hyperparameters are set with respect to the final BLEU-4 score over the validation set. All neural networks are implemented using Tensorflow Abadi et al. (2015). All experiments and models source code are publicly availablehttps://github.com/NAACL2018Anonymous/submission for the sake of reproducibility.
4 Automatic Evaluation Metrics
To evaluate the quality of the generated question, we compare the original labeled questions by human annotators to the ones generated by each variation of our model and the baselines. We rely on a set of well established evaluation metrics for text generation: BLEU-1, BLEU-2, BLEU-3, BLEU-4 Papineni et al. (2002), METEOR Denkowski and Lavie (2014) and ROUGEL Lin (2004).
5 Human Evaluation
Metrics for evaluating text generation such as BLEU and METEOR give an measure of how close the generated questions are to the target correct labels. However, they might not be able to evaluate directly whether the predicate in the question was expressed in the text or not. Thus we run two further human evaluations to directly measure the following. Predicate identification: annotators were asked to indicate whether the generated question contains the given predicate in the fact or not, either directly or implicitly. Naturalness: following Ngomo et al. (2013), we measure the comprehensibility and readability of the generated questions. Each annotator was asked to rate each generated question using a scale from to , where: (5) perfectly clear and natural, (3) artificial but understandable, and (1) completely not understandable. We run our studies on randomly sampled input facts alongside with their corresponding generated questions by each of the systems using the help of annotators.
Results & Discussion
Table 4 shows results of our model compared to all other baselines across all evaluation metrics. Our that encodes the KB fact and textual contexts achieves a significant enhancement over all the baselines in all evaluation metrics, with BLEU-4 score than the Encoder-Decoder baseline. Incorporating the part-of-speech copy actions further improves this enhancement to reach BLEU-4 points. Among all baselines, the Encoder-Decoder baseline and the R-TRANSE baseline performed the best. This shows that TransE embeddings encode intra-predicates information and intra-class-types information to a great extent, and can generalize to some extent to unseen predicates and class types.
Similar patterns can be seen in the evaluation on unseen sub-types and obj-types (Table 5). Our model with copy actions was able to outperform all the other systems. Majority of systems have reported a significantly higher BLEU-4 scores in these two tasks than when generalizing to unseen predicates ( and BLEU-4 points respectively). This indicates that these tasks are relatively easier and hence our models achieve relatively smaller enhancements over the baselines.
Human Evaluation
Table 6 shows how different variations of our system can express the unseen predicate in the target question with comparison to the Encoder-Decoder baseline. Our proposed copy actions have scored a significant enhancement in the identification of unseen predicates with up to more than best performing baseline and our model version without the copy actions. By examining some of the generated questions (Table 7) we see that models without copy actions can generalize to unseen predicates that only have a very similar freebase predicate in the training set. For example fb:tv_program/language and fb:film/language, if one of those predicates exists in the training set the model can use the same questions for the other during test time. Copy actions from the sub-type and the obj-type textual contexts can generalize to a great extent to unseen predicates because of the overlap between the predicate and the object type in many questions (Example 2 Table 7). Adding the predicate context to our model has enhanced model performance for expressing unseen predicates by (Table 6). However we can see that it has affected the naturalness of the question. The post processing step does not take into consideration that some verbs and prepositions do not fit in the sentence structure, or that some words are already existing in the question words (Example 4 Table 7). This does not happen as much when having copy actions from the sub-type and the obj-type contexts because they are mainly formed of nouns which are more interchangeable than verbs or prepositions. A post-processing step to reform the question instead of direct copying from the input source is considered in our future work.
Conclusion
In this paper we presented a new neural model for question generation from knowledge bases, with a main focus on predicates, subject types or object types that were not seen at the training phase (Zero-Shot Question Generation). Our model is based on an encoder-decoder architecture that leverages textual contexts of triples, two attention layers for triples and textual contexts and finally a part-of-speech copy action mechanism. Our method exhibits significantly better results for Zero-Shot QG than a set of strong baselines including the state-of-the-art question generation from KB. Additionally, a complimentary human evaluation, helps in showing that the improvement brought by our part-of-speech copy action mechanism is even more significant than what the automatic evaluation suggests. The source code and the collected textual contexts are provided for the community: https://github.com/NAACL2018Anonymous/submission