Contextual Q-Learning Tiago Pinto1 and Zita Vale2

Total Page:16

File Type:pdf, Size:1020Kb

Contextual Q-Learning Tiago Pinto1 and Zita Vale2 24th European Conference on Artificial Intelligence - ECAI 2020 Santiago de Compostela, Spain Contextual Q-Learning Tiago Pinto1 and Zita Vale2 Abstract.1 This paper highlights a new learning model that • is the learning rate which introduces a contextual dimension to the well-known Q-Learning determines the extent to which the newly acquired algorithm. Through the identification of different contexts, the learning process is adapted accordingly, thus converging to information will replace the old information (e.g. enhanced results. The proposed learning model includes a assuming a value of 0 learns nothing; on the other hand, a simulated annealing (SA) process that accelerates the convergence value of 1 represents a fully deterministic environment). process. The model is integrated in a multi-agent decision support • is the reward, which represent the quality of the pair system for electricity market players negotiations, enabling the context-scenario (c x s). It appreciates the positive actions experimentation of results using real electricity market data. with high values and negative with low values, all of them are normalized on a scale from 0 to 1. The reward r is 1 CONTEXTUAL Q-LEARNING defined in (3): Let’s consider an agent that operates in an environment (3) conceptualized by a set of possible states, in which the agent can where represents the real price that has been established choose actions from a set of possible actions. Each time that the in a contract with an opponent p, in context c, in time t, referring to player performs an action, a reinforcement value is received, an amount of power a; and is the estimation price of indicating the immediate value of the resulting state transition. scenario that corresponds to the same player, amount of power and Thus, the only learning source is the agents’ own experience, context in time t. All r values are normalized in a scale from 0 to 1. whose goal is to acquire an actions policy that maximizes its • is the discount factor which determines the overall performance. importance of future rewards. A value of 0 only evaluates The methodology introduced in [3] proposes an adaptation of current rewards, and higher values than 0 takes into the Q-Learning algorithm [4] to undertake the learning process. Q- account future rewards. Learning is a very popular reinforcement learning method. It • is the estimation of the optimal future value allows the autonomous establishment of an interactive action which determines the utility of scenario s, resultant in policy. It is demonstrated that the Q-Learning algorithm converges to the optimal proceeding when the learning Q state-action pairs is context c. is calculated as in (4): represented in a table containing the full information of each pair (4) value [4]. The basic concept behind the proposed Q-Learning The Q-Learning algorithm is executed as follows: adaption is that the learning algorithm can learn a function of • For each c and s, initialize optimal evaluation over the whole space of context-scenario pairs • Observe new event (new established contract); (c x s). This evaluation defines the Q confidence value that each • Repeat until the stopping criterion is satisfied: scenario can represent the actual encountered negotiation scenario o Select new scenario for current context; s in context c. The Q function performs the mapping as in (1): o Receive immediate reward ; (1) o Update according to (2); where U is the expected utility value when selecting a scenario s in o Observe new context c’; context c. The expected future reward, when choosing the scenario s in context c, is learned through trial and error according to (2): o . (2) After each update, all Q values are normalized according to the equation (5), to facilitate the interpretation of values of each where is the kind of context when performing under scenario scenario in a range from 0 to 1. at time t: 푄(푐, 푠) • represents the value of the previous iteration 푄′(푐, 푠) = (5) 푚푎푥[푄(푐, 푠)] (each iteration represents each new contract established in The proposed learning model assumes the confidence of Q values the given scenario and context). Generally, the Q value is as the probability of a scenario in a given context. learns initialized to 0. by treating a forecast error, updating each time a new observation (new established contract) is available again. Once all pairs context-scenario have been visited, the scenario that presents the 1 GECAD Research group, Polytechnic Institute of Porto, Portugal, email: highest Q value, in the last update, is chosen by the learning [email protected] algorithm, to identify the most likely scenario to occur in actual 2 Polytechnic Institute of Porto, Portugal, email: [email protected] negotiation. 24th European Conference on Artificial Intelligence - ECAI 2020 Santiago de Compostela, Spain 2 SIMULATED ANNEALING PROCESS ; is the current iteration; is the difference between best solution and current solution; is the SA is an optimization method that imitates the annealing process used in metallurgy. The final properties of this substance depend Boltzmann constant ; is the initial temperature; is the strongly on the cooling schedule applied, i.e. if it cools down number of variables; ; is the abs of solution current; quickly the resulting substance will be easily broken due to an ; . imperfect structure, if it cools down slowly the resulting structure will be well organized and strong. When solving an optimization 3 RESULTS problem using SA the structure of the substance represents a codified solution of the problem, and the temperature is used to A historical database based on real data extracted from MIBEL - determine how and when new solutions are perturbed and the Iberian Electricity Market is used to assess the results of the accepted. The algorithm is basically a three steps process: perturb proposed model. The dataset is composed by the bilateral contracts the solution, evaluate the quality of the solution, and accept the declared in MIBEL, between 1 July 2007 and 31 October 2008 [2]. solution if it is better than the previous one [1]. Table 2 shows the learning results of the proposed model The two main factors of SA are the decrease of the temperature against several benchmark reinforcement learning algorithms and the probability of acceptance. The temperature only decreases considering two distinct negotiation contexts. Results show that the when the acceptance value is greater than a stipulated maximum. proposed method achieves the lowest prediction errors in all This acceptance number is only incremented when the probability contexts, resulting from the context aware learning capability. of acceptance is higher than a random number, which allows some Table 2: Average prediction errors in different contexts solutions to be accepted even if their quality is lower than the previous. When the condition of acceptance is not satisfied, the Context Algorithm MAE MAPE (%) STD solution is compared to the previous one, and if it is better, the best Proposed Model 7.45 9.89 8.98 solution is updated. At high temperatures, the simulated annealing Std. Q-Learning 11.24 16.28 14.04 method searches for the global optimum in a wide region; on the 1 Roth-Erev 10.49 14.87 13.41 contrary, when the temperature decreases the method reduces the UCB1 15.36 21.04 18.93 search area. This is done to try to refine the solution found in high EXP3 18.56 24.90 21.39 temperatures. This is a good quality that makes the simulated Proposed Model 4.28 6.46 5.89 annealing a good approach for problems with multiple local Std.Q-Learning 4.88 7.23 6.68 optima. SA, thereby, does not easily converge to solutions near the 2 Roth-Erev 4.46 6.83 6.03 global optimum; instead this algorithm seeks a wide area always UCB1 5.89 9.31 8.72 trying to optimize the solution. Thus, it is important to note that the EXP3 6.53 10.85 9.38 temperature should decrease slowly to enable exploring a large part of the search space. The considered stopping criteria are: the current temperature and the maximum number of iterations. In 4 CONCLUSIONS each iteration is necessary to seek a new solution, this solution is The proposed model improves the standard Q-Learning algorithm calculated according to (6). by including a contextual dimension, thus providing a contextual (6) aware learning model. A simulated annealing process is also solution in (1) refers to the previous solution, because this may not included in order to enable accelerating the convergence process be the best found so far. is a random number with a when needed, especially when the number of observations is low. normal distribution, the variable S is obtained through (7). Results show that the proposed model is able to undertake context- aware learning, surpassing the results of several benchmark (7) learning algorithms when it comes to contextual learning. and are the limits of each variable, which prevent from getting out of the limits of the search problem. ACKNOWLEDGEMENTS The decisive parameters in SA's research are the decrease of temperature and the likelihood of acceptance. 4 variations of the This work has received funding from the EU Horizon 2020 SA algorithm have been implemented, combining different research and innovation program under project DOMINOES (grant approaches for calculating these two components. It is expected agreement No 771066) and from FEDER Funds through that this will bring different results for different groups, as these COMPETE program and from National Funds through FCT under components introduce a strong randomness in SA, which makes projects CEECIND/01811/2017 and UIDB/00760/2020 them reflect in the final results.
Recommended publications
  • Survey on Reinforcement Learning for Language Processing
    Survey on reinforcement learning for language processing V´ıctorUc-Cetina1, Nicol´asNavarro-Guerrero2, Anabel Martin-Gonzalez1, Cornelius Weber3, Stefan Wermter3 1 Universidad Aut´onomade Yucat´an- fuccetina, [email protected] 2 Aarhus University - [email protected] 3 Universit¨atHamburg - fweber, [email protected] February 2021 Abstract In recent years some researchers have explored the use of reinforcement learning (RL) algorithms as key components in the solution of various natural language process- ing tasks. For instance, some of these algorithms leveraging deep neural learning have found their way into conversational systems. This paper reviews the state of the art of RL methods for their possible use for different problems of natural language processing, focusing primarily on conversational systems, mainly due to their growing relevance. We provide detailed descriptions of the problems as well as discussions of why RL is well-suited to solve them. Also, we analyze the advantages and limitations of these methods. Finally, we elaborate on promising research directions in natural language processing that might benefit from reinforcement learning. Keywords| reinforcement learning, natural language processing, conversational systems, pars- ing, translation, text generation 1 Introduction Machine learning algorithms have been very successful to solve problems in the natural language pro- arXiv:2104.05565v1 [cs.CL] 12 Apr 2021 cessing (NLP) domain for many years, especially supervised and unsupervised methods. However, this is not the case with reinforcement learning (RL), which is somewhat surprising since in other domains, reinforcement learning methods have experienced an increased level of success with some impressive results, for instance in board games such as AlphaGo Zero [106].
    [Show full text]
  • A Deep Reinforcement Learning Neural Network Folding Proteins
    DeepFoldit - A Deep Reinforcement Learning Neural Network Folding Proteins Dimitra Panou1, Martin Reczko2 1University of Athens, Department of Informatics and Telecommunications 2Biomedical Sciences Research Center “Alexander Fleming” ABSTRACT Despite considerable progress, ab initio protein structure prediction remains suboptimal. A crowdsourcing approach is the online puzzle video game Foldit [1], that provided several useful results that matched or even outperformed algorithmically computed solutions [2]. Using Foldit, the WeFold [3] crowd had several successful participations in the Critical Assessment of Techniques for Protein Structure Prediction. Based on the recent Foldit standalone version [4], we trained a deep reinforcement neural network called DeepFoldit to improve the score assigned to an unfolded protein, using the Q-learning method [5] with experience replay. This paper is focused on model improvement through hyperparameter tuning. We examined various implementations by examining different model architectures and changing hyperparameter values to improve the accuracy of the model. The new model’s hyper-parameters also improved its ability to generalize. Initial results, from the latest implementation, show that given a set of small unfolded training proteins, DeepFoldit learns action sequences that improve the score both on the training set and on novel test proteins. Our approach combines the intuitive user interface of Foldit with the efficiency of deep reinforcement learning. KEYWORDS: ab initio protein structure prediction, Reinforcement Learning, Deep Learning, Convolution Neural Networks, Q-learning 1. ALGORITHMIC BACKGROUND Machine learning (ML) is the study of algorithms and statistical models used by computer systems to accomplish a given task without using explicit guidelines, relying on inferences derived from patterns. ML is a field of artificial intelligence.
    [Show full text]
  • An Introduction to Deep Reinforcement Learning
    An Introduction to Deep Reinforcement Learning Ehsan Abbasnejad Remember: Supervised Learning We have a set of sample observations, with labels learn to predict the labels, given a new sample cat Learn the function that associates a picture of a dog/cat with the label dog Remember: supervised learning We need thousands of samples Samples have to be provided by experts There are applications where • We can’t provide expert samples • Expert examples are not what we mimic • There is an interaction with the world Deep Reinforcement Learning AlphaGo Scenario of Reinforcement Learning Observation Action State Change the environment Agent Don’t do that Reward Environment Agent learns to take actions maximizing expected Scenario of Reinforcement Learningreward. Observation Action State Change the environment Agent Thank you. Reward https://yoast.com/how-t Environment o-clean-site-structure/ Machine Learning Actor/Policy ≈ Looking for a Function Action = π( Observation ) Observation Action Function Function input output Used to pick the Reward best function Environment Reinforcement Learning in a nutshell RL is a general-purpose framework for decision-making • RL is for an agent with the capacity to act • Each action influences the agent’s future state • Success is measured by a scalar reward signal Goal: select actions to maximise future reward Deep Learning in a nutshell DL is a general-purpose framework for representation learning • Given an objective • Learning representation that is required to achieve objective • Directly from raw inputs
    [Show full text]
  • Modelling Working Memory Using Deep Recurrent Reinforcement Learning
    Modelling Working Memory using Deep Recurrent Reinforcement Learning Pravish Sainath1;2;3 Pierre Bellec1;3 Guillaume Lajoie 2;3 1Centre de Recherche, Institut Universitaire de Gériatrie de Montréal 2Mila - Quebec AI Institute 3Université de Montréal Abstract 1 In cognitive systems, the role of a working memory is crucial for visual reasoning 2 and decision making. Tremendous progress has been made in understanding the 3 mechanisms of the human/animal working memory, as well as in formulating 4 different frameworks of artificial neural networks. In the case of humans, the [1] 5 visual working memory (VWM) task is a standard one in which the subjects are 6 presented with a sequence of images, each of which needs to be identified as to 7 whether it was already seen or not. Our work is a study of multiple ways to learn a 8 working memory model using recurrent neural networks that learn to remember 9 input images across timesteps in supervised and reinforcement learning settings. 10 The reinforcement learning setting is inspired by the popular view in Neuroscience 11 that the working memory in the prefrontal cortex is modulated by a dopaminergic 12 mechanism. We consider the VWM task as an environment that rewards the 13 agent when it remembers past information and penalizes it for forgetting. We 14 quantitatively estimate the performance of these models on sequences of images [2] 15 from a standard image dataset (CIFAR-100 ) and their ability to remember 16 and recall. Based on our analysis, we establish that a gated recurrent neural 17 network model with long short-term memory units trained using reinforcement 18 learning is powerful and more efficient in temporally consolidating the input spatial 19 information.
    [Show full text]
  • Reinforcement Learning: a Survey
    Journal of Articial Intelligence Research Submitted published Reinforcement Learning A Survey Leslie Pack Kaelbling lpkcsbrownedu Michael L Littman mlittmancsbrownedu Computer Science Department Box Brown University Providence RI USA Andrew W Mo ore awmcscmuedu Smith Hal l Carnegie Mel lon University Forbes Avenue Pittsburgh PA USA Abstract This pap er surveys the eld of reinforcement learning from a computerscience p er sp ective It is written to b e accessible to researchers familiar with machine learning Both the historical basis of the eld and a broad selection of current work are summarized Reinforcement learning is the problem faced by an agent that learns b ehavior through trialanderror interactions with a dynamic environment The work describ ed here has a resemblance to work in psychology but diers considerably in the details and in the use of the word reinforcement The pap er discusses central issues of reinforcement learning including trading o exploration and exploitation establishing the foundations of the eld via Markov decision theory learning from delayed reinforcement constructing empirical mo dels to accelerate learning making use of generalization and hierarchy and coping with hidden state It concludes with a survey of some implemented systems and an assessment of the practical utility of current metho ds for reinforcement learning Intro duction Reinforcement learning dates back to the early days of cyb ernetics and work in statistics psychology neuroscience and computer science In the last ve to ten years
    [Show full text]
  • An Energy Efficient Edgeai Autoencoder Accelerator For
    Received 26 July 2020; revised 29 October 2020; accepted 28 November 2020. Date of current version 26 January 2021. Digital Object Identifier 10.1109/OJCAS.2020.3043737 An Energy Efficient EdgeAI Autoencoder Accelerator for Reinforcement Learning NITHEESH KUMAR MANJUNATH1 (Member, IEEE), AIDIN SHIRI1, MORTEZA HOSSEINI1 (Graduate Student Member, IEEE), BHARAT PRAKASH1, NICHOLAS R. WAYTOWICH2, AND TINOOSH MOHSENIN1 1Department of Computer Science and Electrical Engineering, University of Maryland, Baltimore, MD 21250, USA 2U.S. Army Research Laboratory, Aberdeen, MD, USA This article was recommended by Associate Editor Y. Li. CORRESPONDING AUTHOR: N. K. MANJUNATH (e-mail: [email protected]) This work was supported by the U.S. Army Research Laboratory through Cooperative Agreement under Grant W911NF-10-2-0022. ABSTRACT In EdgeAI embedded devices that exploit reinforcement learning (RL), it is essential to reduce the number of actions taken by the agent in the real world and minimize the compute-intensive policies learning process. Convolutional autoencoders (AEs) has demonstrated great improvement for speeding up the policy learning time when attached to the RL agent, by compressing the high dimensional input data into a small latent representation for feeding the RL agent. Despite reducing the policy learning time, AE adds a significant computational and memory complexity to the model which contributes to the increase in the total computation and the model size. In this article, we propose a model for speeding up the policy learning process of RL agent with the use of AE neural networks, which engages binary and ternary precision to address the high complexity overhead without deteriorating the policy that an RL agent learns.
    [Show full text]
  • Sparse Cooperative Q-Learning
    Sparse Cooperative Q-learning Jelle R. Kok [email protected] Nikos Vlassis [email protected] Informatics Institute, Faculty of Science, University of Amsterdam, The Netherlands Abstract in uncertain environments. In principle, it is pos- sible to treat a multiagent system as a `big' single Learning in multiagent systems suffers from agent and learn the optimal joint policy using stan- the fact that both the state and the action dard single-agent reinforcement learning techniques. space scale exponentially with the number of However, both the state and action space scale ex- agents. In this paper we are interested in ponentially with the number of agents, rendering this using Q-learning to learn the coordinated ac- approach infeasible for most problems. Alternatively, tions of a group of cooperative agents, us- we can let each agent learn its policy independently ing a sparse representation of the joint state- of the other agents, but then the transition model de- action space of the agents. We first examine pends on the policy of the other learning agents, which a compact representation in which the agents may result in oscillatory behavior. need to explicitly coordinate their actions only in a predefined set of states. Next, we On the other hand, in many problems the agents only use a coordination-graph approach in which need to coordinate their actions in few states (e.g., two we represent the Q-values by value rules that cleaning robots that want to clean the same room), specify the coordination dependencies of the while in the rest of the states the agents can act in- agents at particular states.
    [Show full text]
  • 4 Perceptron Learning
    4 Perceptron Learning 4.1 Learning algorithms for neural networks In the two preceding chapters we discussed two closely related models, McCulloch–Pitts units and perceptrons, but the question of how to find the parameters adequate for a given task was left open. If two sets of points have to be separated linearly with a perceptron, adequate weights for the comput- ing unit must be found. The operators that we used in the preceding chapter, for example for edge detection, used hand customized weights. Now we would like to find those parameters automatically. The perceptron learning algorithm deals with this problem. A learning algorithm is an adaptive method by which a network of com- puting units self-organizes to implement the desired behavior. This is done in some learning algorithms by presenting some examples of the desired input- output mapping to the network. A correction step is executed iteratively until the network learns to produce the desired response. The learning algorithm is a closed loop of presentation of examples and of corrections to the network parameters, as shown in Figure 4.1. network test input-output compute the examples error fix network parameters Fig. 4.1. Learning process in a parametric system R. Rojas: Neural Networks, Springer-Verlag, Berlin, 1996 78 4 Perceptron Learning In some simple cases the weights for the computing units can be found through a sequential test of stochastically generated numerical combinations. However, such algorithms which look blindly for a solution do not qualify as “learning”. A learning algorithm must adapt the network parameters accord- ing to previous experience until a solution is found, if it exists.
    [Show full text]
  • Optimal Path Routing Using Reinforcement Learning
    OPTIMAL PATH ROUTING USING REINFORCEMENT LEARNING Rajasekhar Nannapaneni Sr Principal Engineer, Solutions Architect Dell EMC [email protected] Knowledge Sharing Article © 2020 Dell Inc. or its subsidiaries. The Dell Technologies Proven Professional Certification program validates a wide range of skills and competencies across multiple technologies and products. From Associate, entry-level courses to Expert-level, experience-based exams, all professionals in or looking to begin a career in IT benefit from industry-leading training and certification paths from one of the world’s most trusted technology partners. Proven Professional certifications include: • Cloud • Converged/Hyperconverged Infrastructure • Data Protection • Data Science • Networking • Security • Servers • Storage • Enterprise Architect Courses are offered to meet different learning styles and schedules, including self-paced On Demand, remote-based Virtual Instructor-Led and in-person Classrooms. Whether you are an experienced IT professional or just getting started, Dell Technologies Proven Professional certifications are designed to clearly signal proficiency to colleagues and employers. Learn more at www.dell.com/certification 2020 Dell Technologies Proven Professional Knowledge Sharing 2 Abstract Optimal path management is key when applied to disk I/O or network I/O. The efficiency of a storage or a network system depends on optimal routing of I/O. To obtain optimal path for an I/O between source and target nodes, an effective path finding mechanism among a set of given nodes is desired. In this article, a novel optimal path routing algorithm is developed using reinforcement learning techniques from AI. Reinforcement learning considers the given topology of nodes as the environment and leverages the given latency or distance between the nodes to determine the shortest path.
    [Show full text]
  • 18 Reinforcement Learning
    18 Reinforcement Learning In reinforcement learning, the learner is a decision-making agent that takes actions in an environment and receives reward (or penalty) for its actions in trying to solve a problem. After a set of trial-and- error runs, it should learn the best policy, which is the sequence of actions that maximize the total reward. 18.1 Introduction Let us say we want to build a machine that learns to play chess. In this case we cannot use a supervised learner for two reasons. First, it is very costly to have a teacher that will take us through many games and indicate us the best move for each position. Second, in many cases, there is no such thing as the best move; the goodness of a move depends on the moves that follow. A single move does not count; a sequence of moves is good if after playing them we win the game. The only feedback is at the end of the game when we win or lose the game. Another example is a robot that is placed in a maze. The robot can move in one of the four compass directions and should make a sequence of movements to reach the exit. As long as the robot is in the maze, there is no feedback and the robot tries many moves until it reaches the exit and only then does it get a reward. In this case there is no opponent, but we can have a preference for shorter trajectories, implying that in this case we play against time.
    [Show full text]
  • Deep Learning and Reinforcement Learning
    Deep learning and reinforcement learning Jes´usFern´andez-Villaverde1 and Galo Nu~no2 June 27, 2021 1University of Pennsylvania 2Banco de Espa~na Course outline 1. Dynamic programming in continuous time. 2. Deep learning and reinforcement learning. 3. Heterogeneous agent models. 4. Optimal policies with heterogeneous agents. 1 A short introduction The problem • Let us supposed we want to approximate an unknown function: y = f (x) where y is a scalar and x = x1; x2; :::; xN a vector. f g • Easy to generalize to the case where y is a vector (or a probability distribution), but notation becomes cumbersome. • In economics, f (x) can be a value function, a policy function, a pricing kernel, a conditional expectation, a classifier, ... 2 A neural network • An artificial neural network (ANN or connectionist system) is an approximation to f (x) built as a linear combination of M generalized linear models of x of the form: M NN X y ∼= g (x; θ) = θ0 + θmφ (zm) m=1 where φ( ) is an arbitrary activation function and: · N X zm = θ0;m + θn;mxn n=1 • M is known as the width of the model. • We can select θ such that g NN (x; θ) is as close to f (x) as possible given some relevant metric. • This is known as \training" the network. 3 Comparison with other approximations • Compare: M N ! NN X X y ∼= g (x; θ) = θ0 + θmφ θ0;m + θn;mxn m=1 n=1 with a standard projection: M CP X y ∼= g (x; θ) = θ0 + θmφm (x) m=1 where φm is, for example, a Chebyshev polynomial.
    [Show full text]
  • Deep Reinforcement Learning for Imbalanced Classification
    Deep Reinforcement Learning for Imbalanced Classification Enlu Lin1 Qiong Chen2,* Xiaoming Qi3 School of Computer Science and Engineering South China University of Technology Guangzhou, China [email protected] [email protected] [email protected] Abstract—Data in real-world application often exhibit skewed misclassification cost to the minority class. However, with the class distribution which poses an intense challenge for machine rapid developments of big data, a large amount of complex learning. Conventional classification algorithms are not effective data with high imbalanced ratio is generated which brings an in the case of imbalanced data distribution, and may fail when the data distribution is highly imbalanced. To address this issue, we enormous challenge in imbalanced data classification. Con- propose a general imbalanced classification model based on deep ventional methods are inadequate to cope with more and reinforcement learning. We formulate the classification problem more complex data so that novel deep learning approaches as a sequential decision-making process and solve it by deep Q- are increasingly popular. learning network. The agent performs a classification action on In recent years, deep reinforcement learning has been one sample at each time step, and the environment evaluates the classification action and returns a reward to the agent. The successfully applied to computer games, robots controlling, reward from minority class sample is larger so the agent is more recommendation systems [5]–[7] and so on. For classification sensitive to the minority class. The agent finally finds an optimal problems, deep reinforcement learning has served in eliminat- classification policy in imbalanced data under the guidance of ing noisy data and learning better features, which made a great specific reward function and beneficial learning environment.
    [Show full text]