The present disclosure relates generally to natural language processing (NLP), and more specifically to systems and methods for unifying question answering and text classification via span extraction.
Existing NLP systems usually adopt downstream tasks such as text classification, question answering, machine translation, and summarization to process natural language inputs. Such processing approaches via downstream tasks involve a pre-training phase followed by the addition of task-specific layers or modules to implement the downstream task types, and a subsequent re-training or fine-tuning of the conjoined model with the additional task-specific layers. Each task-specific layer relies on an inductive bias related to the kind of target task type. For question answering, a task-specific span-decoder is used to extract a span of text verbatim from a portion of the input text. For text classification, a task-specific classification layer with a fixed number of classes is used instead. The task-specific classification layer is usually built as a separate structure and requires separate training, which may not be resource efficient.
In the figures, elements having the same designations have the same or similar functions.
The typical approach to natural language processing (NLP) task types (e.g., question-answering, classification, sentiment analysis, entailment, regression (e.g., similarity analysis), and/or the like) is to use a set of task-specific decoders to generate the output for the natural language processing module. This results in a more complex neural structure that does not generalize well to other NLP task types.
In view of the need for an efficient implementation of different kinds of NLP task types, embodiments described herein provide systems and methods for reformulating NLP task types that can be treated as text classification tasks as span-extraction problems, and relying on a task-agnostic span-extractive decoder to implement these NLP task types using a unified approach. In this way, no task-specific classification and/or decoder module is needed in the NLP module or NLP system, and processing efficiency of the NLP system can thus be improved.
As used herein, the term “network” may comprise any hardware or software based framework that includes any artificial intelligence network or system, neural network or system and/or any training or learning models implemented thereon or therewith.
As used herein, the term “module” may comprise hardware or software based framework that performs one or more functions. In some embodiments, the module may be implemented using one or more neural networks.
Memory 120 may be used to store software executed by computing device 100 and/or one or more data structures used during operation of computing device 100. Memory 120 may include one or more types of machine readable media. Some common forms of machine readable media may include floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, and/or any other medium from which a processor or computer is adapted to read.
Processor 110 and/or memory 120 may be arranged in any suitable physical arrangement. In some embodiments, processor 110 and/or memory 120 may be implemented on a same board, in a same package (e.g., system-in-package), on a same chip (e.g., system-on-chip), and/or the like. In some embodiments, processor 110 and/or memory 120 may include distributed, virtualized, and/or containerized computing resources. Consistent with such embodiments, processor 110 and/or memory 120 may be located in one or more data centers and/or cloud computing facilities.
In some examples, memory 120 may include non-transitory, tangible, machine readable media that includes executable code that when run by one or more processors (e.g., processor 110) may cause the one or more processors to perform the methods described in further detail herein. For example, as shown, memory 120 includes a task-agnostic NLP module 130 that may be used to implement and/or emulate the systems and models, and/or to implement any of the methods described further herein. In some examples, NLP module 130 may be used to process one or more natural language inputs 140 (e.g., text) according to a task type 145 and generate an output response 150 corresponding to a span of text that represents the result of the NLP processing by NLP module 130. In some examples, output response 150 may correspond to a start and an end tokens for the span of text from the one or more natural language inputs 140 as is described in further detail below. In some examples, task type 145 may be any of the NLP tasks of question-answering, classification, sentiment analysis, entailment, regression (e.g., similarity analysis), and/or the like. In some examples, NLP module 130 may also handle the iterative training and/or evaluation of a system, module, or model used for NLP tasks.
In some embodiments, NLP module 130 includes a preprocessing module 160, an encoding module 170, and a decoding module 180, which may be serially connected or connected in other manners. In some examples, NLP module 130 and the sub-modules 160-180 may be implemented using hardware, software, and/or a combination of hardware and software.
According to some embodiments, NLP module 130 is configured to treat each of the supported NLP task types indicated by task type 145 as span-extractive tasks using task-agnostic decoding module 180. Thus, preprocessing module 160 is configured to take the one or more natural language inputs 140 and organize them according to task type 145 into a source text which contains the span to be extracted for output response 150 and an auxiliary text that is used to help extract the span as is described in further detail below.
Encoding module 170 is configured to extract features from the preprocessed input from preprocessing module 160, e.g., by generating vector representations of the text in the source text and the auxiliary text. In some examples, encoding module 170 builds representations of the source and/or auxiliary text in relatively task-agnostic ways, e.g., independent of the NLP task type identified by task type 145. In some examples, encoding module 170 may include one or more neural networks, such as one or more long short-term memories (LSTMs), transformers, convolutional neural networks, attention networks, pooling networks, and/or the like.
Decoding module 180 is a span-extractive decoder that uses the extracted features output by encoding module 170 to select a start and end token within the source text as is described in further detail below.
As shown in
In some examples, when task type 145 corresponds to a natural language question-answering task, the auxiliary text, which is supplied as one of the one or more natural language inputs 140, corresponds to the question and the source text, which is supplied as one of the one or more natural language inputs 140, corresponds to the context.
In some examples, when task type 145 corresponds to a natural language classification task, the auxiliary text, which is supplied as one of the one or more natural language inputs 140, corresponds to the sentence that is the subject of the classification and the source text includes at least a list of classifications for the sentence. In some examples, the list of classifications may be supplied as one of the one or more natural language inputs 140. In some examples, the list of classification may be selected from a standard list of entailment classes known to preprocessing module 160, such as may be extracted from a table, a database, and/or the like based on task type 145.
In some examples, variations of the natural language classification task may include a natural language sentiment task, a natural language entailment task, a natural language regression task, and/or the like. In some examples, for the natural language sentiment task the source text may optionally include some framing text and/or punctuation (e.g., a question mark ?). In some examples, for the natural language entailment task, the source text further includes a second statement to be evaluated to determine whether it entails or not from the auxiliary text. The second statement is supplied as one of the one or more natural language inputs 140. In some examples, for natural language regression, the source text includes a list of similarity options, such as list of floating point numbers (e.g., “0.0, 0.2, 0.4, 0.6, 0.8, or 1.0” and/or the like) as the list of classifications as well as a second statement to be evaluated to determine its semantic similarity to the auxiliary text. The second statement is supplied as one of the one or more natural language inputs 140.
Examples of how the one or more natural language inputs 140 are converted to the source text, the auxiliary text, and the combined natural language string are shown in
Example 310 of
Example 320 of
Example 330 of
Example 340 of
Example 350 of
Referring back to
As further shown in
Q=qWQ∈d
K=kWK∈d
V=vWV∈d
The resulting Q, K, and V vectors are passed through an attention transfer function 440, which generates a dot product of Q and K, which is then applied to V according to Equation 2.
An addition and normalization module 450 is then used to combine the query q with the output from the attention transfer function to provide a residual connection that improves the rate of learning by attention network 400. Addition and normalization module 450 implements Equation 3 where μ and σ are the mean and standard deviation, respectively, of the input vector and gi is gain parameter for scaling the layer normalization. The output from addition and normalization module 450 is the output of attention network 400.
Attention network 400 is often used in two variant forms. The first variant form is a multi-head attention network where multiple attention networks consistent with attention network 400 are implemented in parallel, which each of the “heads” in the multi-head attention network having its own weights WQ 410, WK 420, and WV 430, which are initialized to different values and thus trained to learn different encodings. The outputs from each of the heads are then concatenated together to form the output of the multi-head attention network. The second variant form is a self-attention network that is a multi-head attention network where the q, k, and v inputs are the same for each head of the attention network.
FF(γ)=max(0,γM1+b1)M2+b2 Equation 4
Referring back to
As further shown in
pstart=softmax(Xsfdstart) Equation 5
pend=softmax(Xsfdend) Equation 6
During training, decoding module 180 may be trained using a summation of cross-entropy losses between the distribution of starting indexes pstart and the ground truth starting index a* and between the distribution of ending indexes pend and the ground truth ending index b* according to Equation 7. In some examples, decoding module 180 may be trained using a supervised learning algorithm such as back propagation, stochastic gradient descent, and/or the like.
=−ΣiI{a*=i}log pstart(i)−ΣiI{b*=i}log pend(i) Equation 7
When decoding module 180 is used during inferencing, the distribution of starting indexes pstart is passed to an argument maximum (arg max) module 284, which selects the index with the highest distribution value in pstart as the starting index a according to Equation 8. Similarly, the distribution of ending indexes pend is passed to an argument maximum module 288, which selects the index with the highest distribution value in pend as the ending index b according to Equation 9. Collectively a and b correspond to the start and end of the span within the source text that corresponds to output response 150.
At a process 610, one or more natural language inputs and a task type are received. In some examples, the one or more natural language inputs may be the one or more natural language inputs 140 and the task type may be task type 145. In some examples, the one or more natural language inputs and/or the task type may be consistent with the examples discussed with respect to
At a process 620, a source text and an auxiliary text are determined from the one or more natural language inputs and the task type received during process 610. In some examples, the auxiliary text may be one of the one or more natural language inputs. In some examples, the source text may be another of the one or more natural language inputs, such as when the task type is a question-answering task. In some examples, a portion of the source text may be another of the one or more natural language inputs, such as when the task type is a natural language entailment task and the another of the one or more natural language inputs is the second statement to be used in the entailment analysis. In some examples, the source text may include a list of classifications (e.g., when the task type is a natural language classification task, a natural language sentiment task, a natural language entailment task, and/or the like) and/or similarity options (e.g., when the task type is a natural language regression task). In some examples, the list of classification and/or similarity options may be one of the one or more natural language inputs. In some examples, the list of classification and/or similarity options may be looked up in a table, a database, and/or the like based on the task type. In some examples, the source text may include some framing text and/or punctuation. In some examples, the source text and the auxiliary text may also be converted to a combined text string. In some examples, the combined text string may include a CLS and/or a SEP token. In some examples, the source text and the auxiliary text may be consistent with the examples of
At a process 630, the source text and the auxiliary text are embedded. In some examples, an embedding module (e.g., embedding module 264) converts each of the tokens in the source text and the auxiliary text (e.g., the combined natural language text string) into a vector value from d that includes a combination of a token embedding and a positional embedding. In some examples, the token embedding and the positional embedding are added together. In some examples, the vector value may further include an embedding that represents whether the token is from the source text or the auxiliary text portion of the combined natural language text string.
At a process 640, the embedded source text and the embedded auxiliary text are encoded. The encoding extracts features from the source text and the auxiliary text that are relevant to the natural language task identified by the task type. In some examples, the encoding may be performed by one or more neural networks, such as one or more LSTMs, transformers, convolutional neural networks, attention networks, pooling networks, and/or the like. In some examples, the encoding may be performed using a multi-layer attention-based encoder, such as the example encoding module 170 described with respect to
At a process 650, a span of text is identified in the source text. In some examples, the span of text corresponds to the result of the natural language task being performed. In some examples, the span of text is consistent with output response 150 and/or the examples from
NLP module 130 and method 600 show promising performance against broad categories of natural language question-answering and natural language classification (including natural language entailment, and natural language regression) tasks. The natural language classification tasks include those based on GLUE as described in Wang, et al. “GLUE: A Multi-task Benchmark and Analysis Platform for Natural Language Understanding, 2019 International Conference on Learning Representations (ICLR); SST; the MSR Paraphrase Corpus (MRPC) as describe in Dolan, et al. “Automatically Constructing a Corpus of Sentential Paraphrases,” Proceedings of the Third International Workshop on Paraphrasing, 2005; Quora Question Pairs (QQP); MNLI; RTE; and Question-answering as Natural Language Inference (QNLI) as described in Rajpurkar, et al., “SQuAD: 100,000+ Questions for Machine Comprehension of Text.,” Proceedings of the 2016 Conference on EMNLP, each of which is hereby incorporated by reference in its entirety.
The natural language question-answering tasks include those based on SQuAD; QA Zero-shot Relationship Extraction (ZRE) as described in Levy, et al., “Zero-shot Relation Extraction via Reading Comprehension,” available at https://arxiv.org/abs/1706.04115; QA Semantic Role Labeling (SRL) as described in He, et al., “Question-answer Driven Semantic Role Labeling: Using Natural Language to Annotate Natural Language,” 2015 Conference on Empirical Methods in Natural Language Processing; Commonsense Question Answering (CQA) as described in Talmor, et al., 2019 North American Chapter of the Association for Computational Linguistics Conference; and the two versions (Web and Wiki) of the TriviaQA as described in Joshi, et al., “TriviaQA: A Large Scale Distantly Supervised Challenge Dataset for Reading Comprehension,” available at https://arxiv.org/abs/1705.03551, each of which is hereby incorporated by reference in its entirety.
According to some embodiments, NLP module 130 of
SpEx-BERT has similar or superior performance on natural language classification tasks as other approaches using task-specific decoder modules.
As
As shown in
According to some embodiments, simpler (e.g., shorter text samples) are better. In some examples, being as terse as possible eases training because the softmax operation over possible start and end locations is over a smaller window.
As is described previously, SpEx-BERT allows for a single task-agnostic decoder module to be used across a broader set of task types. In some embodiments, this makes possible a single, joint module with shared parameters rather than separate modules with different parameters for different task types. As shown in
Some examples of computing devices, such as computing device 100 may include non-transitory, tangible, machine readable media that include executable code that when run by one or more processors (e.g., processor 110) may cause the one or more processors to perform the processes of method 600 and/or emulate the structures of
This description and the accompanying drawings that illustrate inventive aspects, embodiments, implementations, or applications should not be taken as limiting. Various mechanical, compositional, structural, electrical, and operational changes may be made without departing from the spirit and scope of this description and the claims. In some instances, well-known circuits, structures, or techniques have not been shown or described in detail in order not to obscure the embodiments of this disclosure. Like numbers in two or more figures represent the same or similar elements.
In this description, specific details are set forth describing some embodiments consistent with the present disclosure. Numerous specific details are set forth in order to provide a thorough understanding of the embodiments. It will be apparent, however, to one skilled in the art that some embodiments may be practiced without some or all of these specific details. The specific embodiments disclosed herein are meant to be illustrative but not limiting. One skilled in the art may realize other elements that, although not specifically described here, are within the scope and the spirit of this disclosure. In addition, to avoid unnecessary repetition, one or more features shown and described in association with one embodiment may be incorporated into other embodiments unless specifically described otherwise or if the one or more features would make an embodiment non-functional.
Although illustrative embodiments have been shown and described, a wide range of modification, change and substitution is contemplated in the foregoing disclosure and in some instances, some features of the embodiments may be employed without a corresponding use of other features. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. Thus, the scope of the invention should be limited only by the following claims, and it is appropriate that the claims be construed broadly and in a manner consistent with the scope of the embodiments disclosed herein.
This application claims the benefit of U.S. Provisional Application No. 62/835,845 filed Apr. 18, 2019, the disclosure of which are hereby incorporated by reference herein for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
10282663 | Socher et al. | May 2019 | B2 |
10346721 | Albright et al. | Jul 2019 | B2 |
20130006641 | Brown | Jan 2013 | A1 |
20160350653 | Socher | Dec 2016 | A1 |
20170024645 | Socher et al. | Jan 2017 | A1 |
20170032280 | Socher et al. | Feb 2017 | A1 |
20170140240 | Socher et al. | May 2017 | A1 |
20170323636 | Xiao | Nov 2017 | A1 |
20180082171 | Merity et al. | Mar 2018 | A1 |
20180096219 | Socher et al. | Apr 2018 | A1 |
20180121787 | Hashimoto et al. | May 2018 | A1 |
20180121788 | Hashimoto et al. | May 2018 | A1 |
20180121799 | Hashimoto et al. | May 2018 | A1 |
20180129931 | Bradbury et al. | May 2018 | A1 |
20180129937 | Bradbury et al. | May 2018 | A1 |
20180129938 | Xiong | May 2018 | A1 |
20180143966 | Lu et al. | May 2018 | A1 |
20180144208 | Lu et al. | May 2018 | A1 |
20180144248 | Lu et al. | May 2018 | A1 |
20180268287 | Johansen et al. | Sep 2018 | A1 |
20180268298 | Johansen et al. | Sep 2018 | A1 |
20180336198 | Zhong et al. | Nov 2018 | A1 |
20180336453 | Merity et al. | Nov 2018 | A1 |
20180349359 | Mccann et al. | Dec 2018 | A1 |
20180373682 | Mccann et al. | Dec 2018 | A1 |
20180373987 | Zhang et al. | Dec 2018 | A1 |
20190130206 | Trott et al. | May 2019 | A1 |
20190130248 | Zhong et al. | May 2019 | A1 |
20190130273 | Keskar et al. | May 2019 | A1 |
20190130312 | Xiong et al. | May 2019 | A1 |
20190130896 | Zhou et al. | May 2019 | A1 |
20190130897 | Zhou et al. | May 2019 | A1 |
20190149834 | Zhou et al. | May 2019 | A1 |
20190188568 | Keskar et al. | Jun 2019 | A1 |
20190213482 | Socher et al. | Jul 2019 | A1 |
20190251168 | McCann et al. | Aug 2019 | A1 |
20190251431 | Keskar et al. | Aug 2019 | A1 |
Entry |
---|
Ba et al., “Layer normalization,” Conference on Neural Informaiton Processing Systems 2016 Deep Learning Symposium, pp. 1-14. |
Bar-Haim et al., “The Second PASCAL Recognising Textual Entailment Challenge,” Proceedings of the Second PASCAL Challenges Workshop on Recognising Textual Entailment vol. 6: 6-14, 2006, pp. 1-9. |
Bentivogli et al., “The Fifth PASCAL Recognizing Textual Entailment Challenge,” Textual Analysis Conference 2009 Workshop, pp. 1-15. |
Clark et al., “BAM! Born-Again Multi-Task Networks for Natural Language Understanding,” 2019 Annual Meeting of the Association for Computational Linguistics, pp. 1-7. |
Cer et al., “SemEval-2017 Task 1: Semantic Textual Similarity-Multilingual and Cross-lingual Focused Evaluation,” SemEval Workshop at 2017 Annual Meeting of the Association for Computational Linguistics, pp. 1-14. |
Collobert et al., “A Unified Architecture for Natural Language Processing: Deep Neural Networks with Multitask Learning,” Proceedings of the 25th International Conference on Machine Learning, 2008, pp. 1-8. |
Collobert et al., “Natural Language Processing (Almost) from Scratch,” Journal of Machine Learning Research 12, 2011, pp. 2493-2537. |
Conneau et al., “Xnli: Evaluating Cross-lingual Sentence Representations,” 2018 Conference on Empirical Methods in Natural Language Processing, pp. 1-12. |
Dagan et al., “Recognizing textual entailment: Rational, evaluation and approaches-erratum,” Natural Language Engineering, 16(1): 105, 2009, pp. 1-18. |
Devlin et al., “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” 2018 O'Reilly Artificial Intelligence Conference, pp. 1-14. |
Dolan et al., “Automatically Constructing a Corpus of Sentential Paraphrases,” Proceedings of the Third International Workshop on Paraphrasing, 2005, pp. 1-8. |
Giampiccolo et al., “The Third PASCAL Recognizing Textual Entailment Challenge,” Proceedings of the ACL-PASCAL Workshop on Textual Entailment and Paraphrasing, 2007, pp. 1-9. |
He et al., “Deep Residual Learning for Image Recognition,” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 770-778. |
He et al., “Question-Answer Driven Semantic Role Labeling: Using Natural Language to Annotate Natural Language,” Proceedings of the 2015 Conference on Empirical Methods in Natural language Processing, pp. 643-653. |
Howard et al., “Universal Language Model Fine-tuning for Text Classification,” 2018 Annual Meeting of the Association for Computational Linguistics, pp. 1-12. |
Joshi et al., “TriviaQA: A Large Scale Distantly Supervised Challenge Dataset,” 2017 Annual Meeting of the Association for Computational Linguistics, 1-11. |
Levesque et al., “The Winograd Schema Challenge,” Thirteenth International Conference on the Principles of Knowledge Representation and Reasoning, 2012, pp. 1-10. |
Levy et al., “Zero-Shot Relation Extraction via Reading Comprehension,” 2017 SIGNLL Conference on Computational Natural Language Learning, pp. 1-10. |
Liu et al., “Multi-Task Deep Neural Networks for Natural Language Understanding,” 2019 Annual Meeting of the Association for Computational Linguistics, pp. 1-10 2019. |
McCann et al., “Learned in Translation: Contextualized Word Vectors,” Advances in Neural Information Processing Systems 30, 2017, pp. 6297-6308. https://papers.nips.cc/paper/7209-learned-in-translation-contextualized-word-vectors.pdf 2017. |
McCann et al., “The Natural Language Decathlon: Multitask Laerning as Quesiton Answering,” Seventh International Conference on Learning Representations, 2018, pp. 1-23 2018. |
Nair et al., “Rectified Linear Unite Improve Restricted Boltzmann Machines,” Proceedings of the 27th International Conference on International Conference on Machine Learning, 2010, pp. 807-814. https://icml.cc/Conferences/2010/papers/432.pdf 2010. |
Paszke et al., “Automatic differentiation in PyTorch,” Neural Information Processing Systems 2017 Autodiff Workshop, pp. 1-4. https://openreview.net/pdf?id=BJJsrmfCZ 2017. |
Peters et al., “Deep contextualized word representations,” 2018 Conference of the North American Chapter of the Association for Computational Linguistics, pp. 1-15 2018. |
Phang et al., “Sentence Encoders on STILTs: Supplementary Training on Intermediate Labeled-data Tasks,” 2018, pp. 1-9. arXiv:1811.01088 2018. |
Radford et al., “Improving Language Understanding by Generative Pre-Training,” 2018, 1-12. https://www.cs.ubc.ca/˜amuham01/LING530/papers/radford2018improving.pdf 2018. |
Radford et al., “Language Models are Unsupervised Multitask Learners,” 2019, pp. 1-24. https://persagen.com/files/misc/radford2019language.pdf 2019. |
Rajpurkar et al., “SQuAD: 100,000+ Questions for Machine Comprehension of Text,” 2016 Conference on Empirical Methods in Natural Language Processing, pp. 1-10. |
Socher et al., “Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank,” Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, pp. 1631-1642. |
Talmor et al., “COMMONSENSEQA: A Quesiton Answering Challenge Targeting Commonsense Knowledge,” Proceedings of the 2019 Annual Conference of the North American Chapter of the Association for Computational Linguistics, pp. 4149-4158. |
Vaswani et al., “Attention Is All You Need,” Advances in Neural Information Processing Systems 30, 2017, pp. 6000-6010. |
Wang et al., “GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding,” Seventh International Conference on Learning Representations 2019, submitted 2018, pp. 1-20. |
Williams et al., “A Broad-Coverage Challenge Corpus for Sentence Understanding through Inference,” Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, vol. 1, pp. 1112-1122. |
Xiong et al., “Dynamic Coattention Networks For Question Answering,” Fifth International Conference on Learning Representations 2017, submitted 2016, pp. 1-14. |
Number | Date | Country | |
---|---|---|---|
20200334334 A1 | Oct 2020 | US |
Number | Date | Country | |
---|---|---|---|
62835845 | Apr 2019 | US |