Abstract Contrastive learning has achieved impressive success in generation tasks to militate the exposure bias problem and discriminatively exploit the different quality of references. Existing works mostly focus on contrastive learning on the instance-level without discriminating the contribution of each word, while keywords are the gist of the text and dominant the constrained mapping relationships. Hence, in this work, we propose a hierarchical contrastive learning mechanism, which can unify hybrid granularities semantic meaning in the input text. Concretely, we first propose a keyword graph via contrastive correlations of positive-negative pairs to iteratively polish the keyword representations. Then, we construct intra-contrasts within instance-level and keyword-level, where we assume words are sampled nodes from a sentence distribution. Finally, to bridge the gap between independent contrast levels and tackle the common contrast vanishing problem, we propose an inter-contrast mechanism that measures the discrepancy between contrastive keyword nodes respectively to the instance distribution. Experiments demonstrate that our model outperforms competitive baselines on paraphrasing, dialogue generation, and storytelling tasks. Generation tasks such as storytelling, paraphrasing, and dialogue generation aim at learning a certain correlation between text pairs that maps an arbitrary-length input to another arbitrary-length output. Traditional methods are mostly trained with teacher forcing and lead to an exposure bias problem (Schmidt, 2019). Incorporating the generation method with contrastive learning achieved impressive performance on tackling such issues, which takes an extra consideration of synthetic negative samples contrastively (Lee et al., 2021). Existing contrastive mechanisms are mainly focused on the instance level (Lee et al., 2021; Cai et al., 2020). However, word-level information is also of great importance. Take the case shown in the upper part of Figure 1 for example, the keyword covers the gist of the input text and determines the embedding space of the text. The text representation will be significantly affected if adding a slight perturbation on the keyword, i.e., changing cosmology to astrophysics. In addition, as shown on the bottom part, under some circumstances, it is too easy for the model to do the classification since the semantic gap between contrastive pairs is huge. Thus, the model fails to distinguish the actual discrepancy, which causes a contrast vanishing 4432 problem at both instance-level and keyword-level. Based on the above motivation, in this paper, we propose a hierarchical contrastive learning method built on top of the classic CVAE structure. We choose CVAE due to its ability in modeling global properties such as syntactic, semantic, and discourse coherence (Li et al., 2015; Yu et al., 2020). We first learn different granularity representations through two independent contrast, i.e., instance-level and keyword-level. Specifically, we use the universal and classic TextRank (Mihalcea and Tarau, 2004) method to extract keywords from each text, which contain the most important information and need to be highlighted. On the instance-level, we treat the keyword in the input text as an additional condition for a better prior semantic distribution. Then, we utilize KullbackLeibler divergence (Kullback and Leibler, 1951) to reduce the distance between prior distribution and positive posterior distribution, and increase the distance with the negative posterior distribution. While on the keyword-level, we propose a keyword graph via contrastive correlations of positive-negative pairs to learn informative and accurate keyword representations. By treating the keyword in the output text as an anchor, the imposter keyword is produced by neighboring nodes of the anchor keyword and forms the keyword-level contrast, where the similarity between the imposter keyword and the anchor keyword is poorer than the positive keyword. To unify individual intra-contrasts and tackle the contrast vanishing problem in independent contrastive granularities, we leverage an inter-contrast, the Mahalanobis contrast, to investigate the contrastive enhancement based on the Mahalanobis distance (De Maesschalck et al., 2000), a measure of the distance between a point and a distribution, between the instance distribution and the keyword representation. Concretely, we ensure the distance from the anchor instance distribution to the ground-truth keyword vector is closer than to the imposter keyword vector. The Mahalanobis contrast plays an intermediate role that joins the different granularities contrast via incorporating the distribution of instance with the representation of its crucial part, and makes up a more comprehensive keyword-driven hierarchical contrastive mechanism, so as to ameliorate the generated results. We empirically show that our model outperforms CVAE and other baselines significantly on three generation tasks: paraphrasing, dialogue generation, and storytelling. Our contributions can be summarized as follows:  To our best knowledge, we are the first to propose an inter-level contrastive learning method, which unifies instance-level and keyword-level contrasts in the CVAE framework. We propose three contrastive learning measurements: KL divergence for semantic distribution, cosine distance for points, and Mahalanobis distance for points with distribution. We introduce a global keyword graph to obtain polished keyword representations and construct imposter keywords for contrastive learning. Contrastive learning is used to learn representations by teaching the model which data points are similar or not. Due to the excellent performance on self-supervised and semi-supervised learning, it has been widely used in natural language processing (NLP). Firstly, Mikolov et al. (2013) proposed to predict neighboring words from context with noise-contrastive estimation. Then, based on word representations, contrastive learning for sentence has been utilized to learn semantic representations. Lee et al. (2021) generated positive and negative examples by adding perturbations to the hidden states. Cai et al. (2020) augmented contrastive dialogue learning with group-wise dual sampling. Moreover, contrastive learning has also been utilized in caption generation (Mao et al., 2016), summarization (Liu and Liu, 2021) and machine translation (Yang et al., 2019). Our work differs from previous works in focusing on hierarchical contrastive learning on hybrid granularities. The Mahalanobis distance is a measure of the distance between a point and a distribution (De Maesschalck et al., 2000). The distance is zero if the point is on the distribution. Recently, Mahalanobis distance is popularly applied to the NLP tasks (Tran et al., 2019). Podolskiy et al. (2021) showed that while Transformer is capable of constructing homogeneous representations of in-domain utterances, the Mahalanobis distance captures geometrical disparity from out of domain utterances. Further, Ren et al. (2021) considered that the raw density from deep generative models may fail at out-of-domain detection and proposed to fix this using a likeli-4433 hood ratio between two generative models as a confidence score. Variational autoencoder (VAE) was proposed by Kingma and Welling (2013), and has been widely used in various tasks such as headline generation (Li et al., 2021), dialogue generation (Ser-ban et al., 2017) and story generation (Yu et al., 2020). Based on VAE, a more advanced model, Conditional VAE (CVAE), was proposed to generate diverse images conditioned on certain attributes, which was also applied to generate diverse outputs in NLP tasks (Zhao et al., 2017; Qiu et al., 2019). Existing works concentrate on generating diverse outputs, and we take one step further to utilize prior and posterior latent distribution to compare positive and negative samples, which helps to learn more accurate semantic information. VAE: Variational auto-encoder (VAE) is a typical encoder-decoder structural model with certain types of latent variables. Given an input x , VAE models the latent variable z through the prior distribution p  ( z ) , and the observed data x is reconstructed by the generative distribution p  ( x | z ) which is the likelihood function that generates x conditioned on z . Since z is unknown, it should be estimated according to the given data x as p  ( z | x ) . While the posterior density p  ( z | x ) = p  ( x | z ) p  ( z ) /p  ( x ) is intractable, VAE introduces a recognition posterior distribution q  ( z | x ) approximates to the true posterior p  ( z | x ) . Thus, VAE is trained by optimizing the lower bound on the marginal likelihood of data x as: logp  ( x )  E z  q  ( z | x ) [ logp  ( x | z )]  DKL ( q  ( z | x ) || p  ( z )) , (1) where DKL is the KullbackLeibler divergence. CVAE: The conditional variational auto-encoder (CVAE) is the supervised version of VAE with an additional output variable. Giving a dataset { x i , y i } Ni =1 consisting of N samples, CVAE is trained to maximize the conditional log-likelihood, and the variational lower bound of the model is written as follows: logp  ( y | x )  E z  q  ( z | x,y ) [ logp ( y | x, z )]  DKL ( q  ( z | x, y ) || p  ( z | x )) . Assuming the type of latent variable obeys Gaussian distribution, the first right-hand side term can be approximated by drawing samples { z i } Ni =1 from the recognition posterior distribution q  ( z | x, y ) , where z  N ( ,  2 I ) , and then objective of the CVAE with Gaussian distribution can be written as: L cvae ( x, y ; ,  ) =  1 NN (cid:88) i =1 logp  ( y | x, z i ) + DKL ( q  ( z | x, y ) || p  ( z | x )) , (3) where z i = g  ( x, y,  i ) ,  i  N (0 , I ) . The distribution q  ( z | x, y ) is reparameterized with a differentiable function g  , which enables the model trainable via stochastic gradient descent. Inspired by Wu et al. (2019), we add keyword u as an additional condition to the prior distribution to control the generation process, which turns the p  ( z | x ) in Equaton 3 into p  ( z | x, u ) . In this section, we introduce our hierarchical contrastive learning method, which is comprised of three parts: instance-level contrast based on KL divergence (sec.3.2.1), keyword-level contrast based on keyword graph (sec.3.2.2), and inter-contrast: Mahalanobis contrast (sec.3.2.3). To tackle the exposure bias problem and discriminatively exploit the different quality of references, instance-level contrastive learning is introduced to learn discrepancies of targets. Specifically, in addition to the observed input data x and positive output y + , a negative output y  is added to construct a contrastive pair { ( x, y + ) , ( x, y  ) } . In this case, the prior distribution p  ( z | x ) is learned from a prior network, which is denoted as f  ( x ) . The approximate posteriors q  ( z | x, y + ) and q  ( z | x, y  ) are learned from a posterior network and represented as f  ( x, y + ) and f  ( x, y  ) , respectively. The objective here is to make the distance between a prior distribution and positive posterior distribution closer than with the negative posterior distribution. Thus, the instance-level contrastive loss function can be written as: L ins =  E f  [ log (1  e h ( f  ( x,y + ) ,f  ( x )) / (cid:80) y   Y e h ( f  ( x,y  ) ,f  ( x )) / )] , where the y   Y can be positive sample y + or negative sample y  , and the  is a temperature 4434 Input sentence Prior network candidate sentence 2 candidate sentence 3 Ground-truth output Posterior network Decoder Negative output keyword candidate sentence 1 Prior distribution KLDiv loss MLE loss cond input keywords Train Dataset output keywords imposter keyword Mahalanobis loss Keyword loss Generated sentence Posterior distribution (1) Keyword-level Contrast (3) Mahalanobis Contrast (2) Instance-level Contrast keyword graph Figure 2: The architecture of hierarchical contrastive learning, which consists of three parts: (1) Keyword-level contrast from keyword graph; (2) Instance-level contrast based on KL divergence for semantic distribution; and (3) Mahalanobis contrast between instance-level and keyword-level. parameter to control push and pull force. The function h (  ) denotes the distance between elements, which is set as KullbackLeibler divergence (Kull-back and Leibler, 1951) in instance-level contrast, DKL ( f  ( x, y  ) || f  ( x )) , to measure the difference between two distributions. Since the instance-level contrast focuses on learning high-level information and fails to discriminate the contribution of each word, we incorporate it with a keyword-level contrast to pay more attention to the specific keyword. Keyword Graph: Given an input-output text pair ( x, y ) , keywords k x , k y can be extracted from x and y , respectively. For an input text x i with keyword k x,i , input texts that contain the same keyword are gathered into a cluster C i = { x j } nj =1 , k x,j  x j , where n is the number of texts in C i . Each text x j  C i has a positive-negative output text pair { ( y + j , y  j ) } containing a positive output keyword k + y,j and a negative one k  y,j , respectively. Thus, spreading to the entire cluster C i , for the output text y i , there exists positive relations r + i,j between its keyword k y,i and each of the surrounded positive keywords { k + y,j } n j =1 . Likewise, negative relations r  i,j correlates the output keyword k y,i and the surrounded negative ones { k  y,j } nj =1 . keyword graph G k is constructed. Each node representation h 0 i is initialized as the average BERT embedding (Devlin et al., 2018) of texts in the cluster C i with the same corresponding keyword k x,i . Then, the relation edge r 0 ij that connects node i and node j is learned via a feedforward layer r 0 ij = FFN ([ h 0 i ; h 0 j ]) . Then, the representations of nodes and relation edges are iteratively updated with their connected nodes via the graph attention (GAT) layer and the feed-forward (FFN) layer. In the t -th iteration, we first update each edge representation by paying attention to the connected nodes, denoted as:  tr  = softmax (( r tij W p )( h t  W h ) T  d ) , (4) p tij =  tri h ti +  trj h tj , (5) r t +1 ij = FFN ( r tij + p tij ) , (6) where h t  can be h ti or h tj . Then, based on the obtained edge representation r t +1 ij , we update the node representations considering both the related nodes and relation edges by the graph attention layer, GAT ( h ti , h tj , r tij ) , which is designed as: e tij = ( h ti W q )( h tj W k + r t +1 ij W r ) T  d , (7)  tij = exp ( e tij ) (cid:80) l  Ni exp ( e til ) , (8) u ti = (cid:80) j  N i  tij ( h tj W v + r t +1 ij ) , (9) 4435 where W q , W k , W r and W v are all learnable parameters, and the  tij is the attention weight between h ti and h tj . Besides, to avoid gradient vanishing after several iterations, a residual connection is added to the output u ti and the updated node representations h t +1 i is obtained. In this way, the new representation of each keyword node consists of the relation dependency information from neighbor nodes N i . We take the node representations from the last iteration as the final keyword representations, denoted as u for brevity. Keyword-level Contrast: The keyword-level contrastive learning arises from input keywords against positive output keywords and negative impostor keywords. The input keyword u in is extracted from the input text as an anchor, and the output keyword u out is extracted from ground-truth output text. While the impostor keyword is calculated from the negative neighbours of the output keyword u out , written as u imp = (cid:80) i W i u i , where u i is the representation of keyword node which is obtained by the keyword graph learning procedure described above. In this way, with the help of neighbour nodes in the graph, we can obtain a more indistinguishable and difficult negative sample. The loss of keyword level contrastive learning thus can be written as: L keyword =  E [ log e h ( u in ,u out ) / (cid:80) u   U e h ( u in ,u  ) / ] , (10) where u   U denotes the positive output keyword u out or imposter keyword u imp . In keyword-level contrast, h (  ) utilizes cosine similarity to calculate the distance between points. Note that there exists a space gap between the instance-level contrast and the keyword-level contrast, which disturbs the completeness of this hierarchical contrastive architecture. Besides, the contrastive values vanish when the distance metric is hard to measure the actual discrepancy between positive and negative merely in instance distributions or in keyword representations. To mitigate such problems, we design a Mahalanobis contrastive mechanism to correlate the instance distribution and keyword representation, where the objective is to minimize the margin between the output keyword u out and the posterior semantic distribution q  ( z | x, y )  f  ( x, y ) and maximize the margin between the imposter keyword u imp and the posterior distribution f  ( x, y ) : L ma =  E f  [ log (1  e h ( f  ( x,y ) ,u out ) / (cid:80) u   U e h ( f  ( x,y ) ,u  ) / )] , (11) where u   U can be the positive output keyword u out or negative imposter keyword u imp . In Mahalanobis contrast, h (  ) utilizes Mahalanobis distance (De Maesschalck et al., 2000) to measure the similarity from keyword point to the instance distribution. In the univariate Gaussian case, z  p ( z | x, y ) = N ( ,  2 ) , then the h ( f  ( x, y ) , u  )  DMA ( p  ( z | x, y ) || u  ) = ( u    )  2 I ( u    ) . Finally, we equip the CVAE model with the proposed hierarchical contrastive learning framework to unify hybrid granularities by adding L ins , L keyword and L ma to the reconstructed loss of Equation 3. 4 Experiment 4.1 Tasks and Datasets We conduct experiments on three public datasets QQP, Douban, RocStories for paraphrasing, dialogue generation, and storytelling task, respectively. The details of the datasets are as follows: Dialogue (Douban) Douban (Cai et al., 2020) consists of Chinese daily conversations between pairs of speakers, collected from a popular social network website, Douban group 1 . The dataset contains 218,039/10,000/10,000 context-response pairs for training/validation/test, with an average of 3.94 turns per context and 38.32 characters per utterance. We concatenate historical dialogues and turn it into a single-turn dialogue training corpus. Paraphrasing (QQP) QQP (Iyer et al., 2017; Wang et al., 2019) is a dataset published by the community question-answering website Quora on whether a pair of questions is semantically consistent. To adapt it to the contrastive learning task, we only keep question pairs that have positive and negative rewriting for the same input. Thus, there remain 44,949 samples in the dataset, which are split into training/validation/test sets of 40,441/2,254/2,254 samples. Storytelling (RocStories) RocStories consists of 98,163 high-quality hand-crafted stories, which capture causal and temporal commonsense relations of daily events (Mostafazadeh et al., 2016). Each story paragraph contains 5 sentences with an average of 43 words. Following the previous work Yu et al. (2021), we split the dataset into 8:1:1 for training, validation, and test. For the above three datasets, in order to construct different levels of contrastive learning, we performed the same preprocessing of extracting keywords. We utilize the TextRank model (Mi-halcea and Tarau, 2004) to extract keywords from each input and output sample, respectively. Besides, the vocabulary size of both datasets is the same as BERT (Devlin et al., 2018) setting. Our experiments are implemented in Tensor-flow (Abadi et al., 2016) on an NVIDIA Tesla P100 GPU. For our model and all baselines, we follow the same setting as described below. We pad or cut the input to 100, 20, 100 words for dialogue generation, paraphrasing, and storytelling, respectively. The truncation length is decided based on the observation that there is no significant improvement when increasing input length. The minimum decoding step is 5, and the maximum step is 20 for all tasks. Experiments were performed with a batch size of 256, and we use Adam optimizer (Kingma and Ba, 2015) as our optimizing algorithm. During the test stage, the beam-search size is set to 4 for all methods and the checkpoint with the smallest validation loss is chosen. Note that for better performance, our model is built based on BERT, and the decoding process is the same as Transformer (Vaswani et al., 2017). Finally, due to the limitation of time and memory, small settings are used in the pre-training baselines. We compare our method against several traditional generation models, pretrained-based generation models, and contrastive learning models. Traditional generation models: (1) CVAE (Zhao et al., 2017) generates sentences based on latent variables, sampling from potential semantic distribution. (2) Seq2Seq (Sutskever et al., 2014) is a sequence-to-sequence framework combined with attention mechanism and pointer network. (3) Transformer (Vaswani et al., 2017) is an abstractive method based solely on attention mechanisms. Pretrained-based generation models: (4) Seq2Seq-DU (Feng et al., 2021) is concerned with dialogue state tracking in a task-oriented dialogue system. (5) DialoGPT (Zhang et al., 2020) proposes a large, tunable neural conversational response generation model trained on more conversation-like exchanges. (6) BERT-GEN (De-vlin et al., 2018) augments Seq2Seq with BERT as the encoder. (7) T5 (Raffel et al., 2020) introduces a unified framework that converts all text-based language problems into a text-to-text format. Contrastive learning methods: (8) Groupwise (Cai et al., 2020) augments contrastive dialogue learning with group-wise dual sampling. (9) T5-CLAPS (Lee et al., 2021) generates negative and positive samples for contrastive learning by adding small and large perturbations, respectively. To evaluate the performance of our model against baselines, we adopt the following metrics widely used in existing studies. BLEU We utilize BLEU score (Papineni et al., 2002) to measure word overlap between the generated text and the ground-truth. Specifically, following the conventional setting of (Gu et al., 2019), we adopt BLEU-1  4 scores under the smoothing techniques (smoothing 7). Embedding To evaluate our model more comprehensively, we also capture the semantic matching degrees between the bag-of-words (BOW) embeddings of generated text and reference (Gu et al., 2019). Particularly we adopt three metrics: 1) Extrema , cosine similarity between the largest extreme values among the word embeddings in the two texts; 2) Average , cosine similarity between the averaged word embeddings of generated text and reference; 3) Greedy , greedily matching words in the two texts based on cosine similarities. Automatic Evaluation The experimental effects of traditional generation methods such as Seq2Seq and Transformer , and the lower part shows the latest pretrained-based methods including DialoGPT and T5 . Overall, pretrained-based methods generally outperform traditional methods, and this also proves the effectiveness of the pre-trained language model on the generation tasks. Secondly, we can find that the performance is significantly improved after adding contrast learning. Finally, our method outperforms T5-CLAPS by 2.7%, 3.6% on QQP, by 20.3%, 24.9% on Douban, and by 3.9%, 6.3% on RocStories in terms of BLEU-1, BLEU-2, respectively, which proves the superiority of our model. Human Evaluation We also assessed system performance by eliciting human judgments on 100 randomly selected test instances on QQP dataset. Three annotators are asked to rate paraphrasing questions generated by T5-CLAPS , DialoGPT , Seq2Seq-DU , and our model according to Fluency (Flu), Meaningfulness (Mean), and Differential (Diff). The rating score ranges from 1 to 3, with 3 being the best. Table 3 lists the average scores of each model, showing that our model outperforms other baselines among all metrics, which indicates that our model generates paraphrasing sentences more readable successfully. The kappa statistics are 0.53, 0.61, and 0.56 for fluency, meaningfulness, and differential, respectively, which indicates the moderate agreement between annotators. We conduct ablation tests to assess the importance of the keyword graph architecture ( w/o graph ), keyword ( w/o keyword ), as well as the Maha-4438 lanobis contrast ( w/o MA contrast ), and the results are shown in Table 2. Concretely, after removing the keywords (w/o keyword), using only instance-level contrastive, the effect of our model is greatly reduced by about 10.4%, which illustrates the desirability of considering the contributions of words in a sentence. On this basis, adding keyword contrastive learning with removing the keyword graph, the effect of the model has been improved but is still lower than our model by 2.1%. This shows that keywords are indeed conducive to capturing important information, and it also illustrates the significance of a keyword graph. Finally, the experiment of removing the Mahalanobis contrastive loss indicates that only with granularity independent contrast is not sufficient, and the Mahalanobis contrast plays a critical intermediate role. To study the hierarchical contrastive learning, we visualize the vectors of keyword, input text, positive and negative output text on randomly sampled cases from QQP dataset, as shown in Figure 3. For visualization purposes, we reduce the dimension of the latent vector with t-SNE (Maaten and Hinton, 2008). It can be observed that the input sentence representation is located close to the keyword, which shows that the keyword, as the most important information in the sentence, determines the semantic distribution. Moreover, in contrastive learning, it can be seen that after training, the position of the input sentence is close to the positive samples and far away from the negative samples. This suggests that contrastive learning can correct the semantic distribution. We finally investigate the influence of sampling different keywords. As shown in Table 4, for an input question, we provide keywords extracted by TextRank and randomly-selected keywords as the condition to control the semantic distribution and examine the quality of the generated text. As the most important information unit, different keywords lead to different semantic distributions and will result in different generated texts. The more properly the keywords are selected, the more accurately the sentences will be generated. When utilizing the keywords extracted by TextRank as a condition, the information belly fat is focused during the generation of paraphrasing questions, and the generated sentences are more accurate. On the contrary, after adding the random-selected keyword disposable, the generated question emphasizes one-off exer-cise, which brings incorrect information. We also compare our model with several baselines in Table 4. Most baselines can generate fluent questions in this case. However, they focus on lose weight, and miss the significant information belly fat. Based on the above analysis, we can observe that keywords can emphasize and protect the highlight information in sentences, and affect the semantic distribution of as a condition. In this paper, we propose a hierarchical contrastive learning mechanism, which consists of intra-contrasts within instance-level and keyword-level and inter-contrast with Mahalanobis contrast. The experimental results yield significant out-performance over baselines when applied in 4439 the CVAE framework. In the future, we aim to extend the contrastive learning mechanism to different basic models, and will explore contrastive learning methods based on external knowledge. We would like to thank the anonymous reviewers for their constructive comments. This work was supported by National Key Research and Development Program of China (No. 2020AAA0106600), National Natural Science Foundation of China (NSFC Grant No. 62122089, No. 61832017 & No. 61876196), and Beijing Outstanding Young Scientist Program No. BJJWZYJH012019100020098. This work was also supported by Alibaba Group through Alibaba Research Intern Program. In this paper, we propose an inter-level contrastive learning method, which unifies instance-level and keyword-level contrasts in the CVAE framework. The positive impact lies in that it can help improve the capability of generation models on paraphrasing, dialogue generation, and storytelling tasks. The negative impact may be that the generation process of the system is not fully controllable, so it is possible to generate inaccurate or unreasonable content in some extreme cases. Hence, extra processing steps might be needed if this method were to be used in scenarios where high accuracy is required.
abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain objective method objective result abstain method objective abstain abstain abstain abstain result objective objective result other other other other other other other objective other other other other other other other method other other other other other other other other other other other method method abstain abstain abstain abstain abstain other abstain abstain method abstain abstain abstain abstain abstain abstain abstain abstain abstain method method abstain abstain method abstain abstain abstain method abstain abstain abstain abstain method abstain abstain method abstain abstain method abstain method abstain abstain abstain method method method abstain method method abstain abstain abstain method abstain method abstain method abstain abstain abstain abstain abstain abstain abstain abstain abstain method method method method method abstain abstain abstain abstain abstain abstain method abstain abstain abstain method abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain method abstain abstain objective abstain objective other other other other abstain abstain abstain abstain