Speech act classification

Similar documents
A Case Study: News Classification Based on Term Frequency

Rule Learning With Negation: Issues Regarding Effectiveness

Twitter Sentiment Classification on Sanders Data using Hybrid Approach

Using dialogue context to improve parsing performance in dialogue systems

Rule Learning with Negation: Issues Regarding Effectiveness

CS Machine Learning

SINGLE DOCUMENT AUTOMATIC TEXT SUMMARIZATION USING TERM FREQUENCY-INVERSE DOCUMENT FREQUENCY (TF-IDF)

Linking Task: Identifying authors and book titles in verbose queries

Python Machine Learning

Learning Optimal Dialogue Strategies: A Case Study of a Spoken Dialogue Agent for

Switchboard Language Model Improvement with Conversational Data from Gigaword

Machine Learning and Data Mining. Ensembles of Learners. Prof. Alexander Ihler

Introduction to Ensemble Learning Featuring Successes in the Netflix Prize Competition

Reducing Features to Improve Bug Prediction

WE GAVE A LAWYER BASIC MATH SKILLS, AND YOU WON T BELIEVE WHAT HAPPENED NEXT

Iterative Cross-Training: An Algorithm for Learning from Unlabeled Web Pages

CLASSIFICATION OF TEXT DOCUMENTS USING INTEGER REPRESENTATION AND REGRESSION: AN INTEGRATED APPROACH

CS 446: Machine Learning

Postprint.

Probabilistic Latent Semantic Analysis

Detecting English-French Cognates Using Orthographic Edit Distance

Cross Language Information Retrieval

Semi-supervised methods of text processing, and an application to medical concept extraction. Yacine Jernite Text-as-Data series September 17.

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Data Driven Grammatical Error Detection in Transcripts of Children s Speech

Indian Institute of Technology, Kanpur

System Implementation for SemEval-2017 Task 4 Subtask A Based on Interpolated Deep Neural Networks

Human Emotion Recognition From Speech

Radius STEM Readiness TM

The Internet as a Normative Corpus: Grammar Checking with a Search Engine

Analyzing sentiments in tweets for Tesla Model 3 using SAS Enterprise Miner and SAS Sentiment Analysis Studio

Exposé for a Master s Thesis

Web as Corpus. Corpus Linguistics. Web as Corpus 1 / 1. Corpus Linguistics. Web as Corpus. web.pl 3 / 1. Sketch Engine. Corpus Linguistics

PREDICTING SPEECH RECOGNITION CONFIDENCE USING DEEP LEARNING WITH WORD IDENTITY AND SCORE FEATURES

Speech Recognition at ICSI: Broadcast News and beyond

Dialog Act Classification Using N-Gram Algorithms

Assignment 1: Predicting Amazon Review Ratings

Calibration of Confidence Measures in Speech Recognition

Predicting Students Performance with SimStudent: Learning Cognitive Skills from Observation

Artificial Neural Networks written examination

Modeling function word errors in DNN-HMM based LVCSR systems

SARDNET: A Self-Organizing Feature Map for Sequences

Disambiguation of Thai Personal Name from Online News Articles

Longest Common Subsequence: A Method for Automatic Evaluation of Handwritten Essays

Lecture 1: Machine Learning Basics

Modeling function word errors in DNN-HMM based LVCSR systems

The stages of event extraction

QuickStroke: An Incremental On-line Chinese Handwriting Recognition System

Universiteit Leiden ICT in Business

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

Multi-Lingual Text Leveling

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

Generative models and adversarial training

Chapter 10 APPLYING TOPIC MODELING TO FORENSIC DATA. 1. Introduction. Alta de Waal, Jacobus Venter and Etienne Barnard

Modeling user preferences and norms in context-aware systems

Australian Journal of Basic and Applied Sciences

Machine Learning from Garden Path Sentences: The Application of Computational Linguistics

Bridging Lexical Gaps between Queries and Questions on Large Online Q&A Collections with Compact Translation Models

Learning Methods in Multilingual Speech Recognition

Corpus Linguistics (L615)

Product Feature-based Ratings foropinionsummarization of E-Commerce Feedback Comments

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

Dublin City Schools Mathematics Graded Course of Study GRADE 4

A Neural Network GUI Tested on Text-To-Phoneme Mapping

Individual Component Checklist L I S T E N I N G. for use with ONE task ENGLISH VERSION

Impact of Cluster Validity Measures on Performance of Hybrid Models Based on K-means and Decision Trees

OCR for Arabic using SIFT Descriptors With Online Failure Prediction

(Sub)Gradient Descent

Outline. Web as Corpus. Using Web Data for Linguistic Purposes. Ines Rehbein. NCLT, Dublin City University. nclt

Probability and Statistics Curriculum Pacing Guide

Experiments with SMS Translation and Stochastic Gradient Descent in Spanish Text Author Profiling

Large-Scale Web Page Classification. Sathi T Marath. Submitted in partial fulfilment of the requirements. for the degree of Doctor of Philosophy

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

Interpreting ACER Test Results

Ensemble Technique Utilization for Indonesian Dependency Parser

AQUA: An Ontology-Driven Question Answering System

Predicting Student Attrition in MOOCs using Sentiment Analysis and Neural Networks

Speech Emotion Recognition Using Support Vector Machine

Chinese Language Parsing with Maximum-Entropy-Inspired Parser

arxiv: v1 [cs.lg] 3 May 2013

Universidade do Minho Escola de Engenharia

The 9 th International Scientific Conference elearning and software for Education Bucharest, April 25-26, / X

re An Interactive web based tool for sorting textbook images prior to adaptation to accessible format: Year 1 Final Report

Does the Difficulty of an Interruption Affect our Ability to Resume?

Eye Movements in Speech Technologies: an overview of current research

Lecture 1: Basic Concepts of Machine Learning

THE PENNSYLVANIA STATE UNIVERSITY SCHREYER HONORS COLLEGE DEPARTMENT OF MATHEMATICS ASSESSING THE EFFECTIVENESS OF MULTIPLE CHOICE MATH TESTS

Netpix: A Method of Feature Selection Leading. to Accurate Sentiment-Based Classification Models

THE ROLE OF DECISION TREES IN NATURAL LANGUAGE PROCESSING

Compositional Semantics

Memory-based grammatical error correction

STT 231 Test 1. Fill in the Letter of Your Choice to Each Question in the Scantron. Each question is worth 2 point.

UNIVERSITY OF CALIFORNIA SANTA CRUZ TOWARDS A UNIVERSAL PARAMETRIC PLAYER MODEL

Multisensor Data Fusion: From Algorithms And Architectural Design To Applications (Devices, Circuits, And Systems)

Learning Methods for Fuzzy Systems

Spoken Language Parsing Using Phrase-Level Grammars and Trainable Classifiers

Multilingual Sentiment and Subjectivity Analysis

A Case-Based Approach To Imitation Learning in Robotic Agents

Softprop: Softmax Neural Network Backpropagation Learning

Transcription:

Speech act classification A comparison of algorithms for classifying out of context utterances with DAMSL Erik Moström Erik Moström VT 2017 Examensarbete, 15 hp Supervisor: Kai-Florian Richter Examiner: Juan Carlos Nieves Sanchez Kandidatprogrammet i datavetenskap, 180 hp

Abstract With the growing of everyday automation the need for better speech understanding in machines increases. A unsolved problem in speech processing is the automatic recognition of speech acts. A speech act is a utterance which fills a function in the communication. This problem is approached in this thesis by fitting classifiers using machine learning algorithms. The algorithms used are Linear Support Vector Classifier, Multinomial Naive Bayes, Decision Tree, and Perceptron. The N-gram model was used in combination with a tf-idf to extract features. Utterances are used out of context for the tests. None of the algorithms reaches over 30% accuracy but gets more than twice that as F1 score. The Decision Tree classifier was as expected the fastest but the SVC had the overall highest scores.

Contents 1 Introduction 1 2 Background 2 2.1 Previous Work 2 2.2 Annotation 2 2.3 Feature Extraction 4 3 Method 4 3.1 Metrics 4 3.2 Machine Learning Algorithms 5 3.3 Data Format 5 3.4 One vs Rest 6 3.5 The Tests 7 3.6 Expected Results 8 4 Results 8 5 Discussion 9 5.1 Ethical Implications 10 6 Future work 10 References 11

1(12) 1 Introduction As more and more of our everyday life is automated and run by bots or robots, the importance of natural language communication with machines becomes greater. Natural language communication mostly occurs between two humans who often share the same language and culture. When a human decodes the meaning of what another human has said there are many aspects taken into consideration, e.g. pitch, cadence and choice of words. Additionally body-language is an important part of human-human communication which conveys much information, either intentionally or unintentionally. With the introduction of services like Apple s Siri and Microsoft s Cortana the possibility of interfacing with machines through natural language is presented. Such services only rely on sound which means they ignore body-language, and they rarely take into account such things as cadence or pitch but instead focuses on the words spoken. When the interaction between human and machine is made through speech the machine has to be able to understand what the human is trying to convey in order to make an intelligent response. An unsolved problem when analyzing speech is automatic speech act classification of sentences. A speech act is an utterance which fills a function when communicating, such a function can be a greeting, question, statement, etc. The speech act classification provides the machine with important information for the interpretation. There are for example sentences which are phrased as questions but does not request any answer, i.e. Can you pass the salt? which is an Action Directive[1], the desired response is that the receiver passes the salt instead of answering Yes, I am capable of doing that!. A simplified illustration of how a machine interprets and responds to speech with respect to the speech act classification can be seen in Figure 1. Figure 1: Simple illustration of a machine s processing of speech. In this thesis the problem of automating the process of speech act classification is approached by training classifiers using a number of machine learning algorithms. The algorithms used for this are the Multinomial Naive Bayes, Perceptron, Linear Support Vector Classifier and Decision tree algorithms. They are tested and their performance is compared to each other to see how they differ when faced with annotating utterances out of context. That an utterance is out of context means that the utterance is considered a single unit with no connections to any other utterances, i.e. the classifiers will have no access to any information except for that contained within the utterance being annotated.

2(12) 2 Background One approach to automate speech act classification is to train machine learning algorithms for the purpose. When training such algorithms there is a need of already classified training and testing data. For this domain that implies an annotated corpus. A corpus is a structured collection of texts, the texts can be of different types e.g. transcribed dialogues, famous speeches, poems, novels etc. The kind of texts of interest for this work is transcribed dialogues. The act of adding speech act classifications to a text is called annotating. The annotated corpus needed is therefore a collection of transcribed dialogues tagged with speech acts. 2.1 Previous Work In Automatic annotation of context and speech acts for dialog corpora[2] the authors implement and test automatic annotation of a previously annotated corpus. Because the corpus was already partially annotated they could take advantage of that annotation when making their own, more comprehensive, annotation. The original corpus was from a automated booking system which had to confirm any given information before counting it as correct. Since the domain was quite specific they could define a number of slots to hold the desired information. When a piece of information was given the system stored it in the appropriate slot and before the conversation was ended the information had to be confirmed to be valid. E.g. if the user said they wanted to book a hotel for 2 days in London the system made no bookings before the user confirmed that the dates and location were correct. Another project by Andreani and others[3] produced a freely available annotated corpus from human-machine dialog using the automated call system for science conferences. The system can answer questions about the conference and provide information about, among other things, workshops. This was done using commercial systems which are not freely available. The freely available corpus could be used by other projects to train their systems. Louwerse and Crossley[4] compared the performance of automated speech act classification to the performance of humans given the same conditions. Both the humans and the machine tried to identify the speech act of a random utterance out of context. The humans had the opportunity to read the coding manual for their speech act scheme and clear up any questions they had. The humans had in general a slightly lower F1-score than the automated system. The work shows that the given the same conditions an automated classification would be preferable since the rate of classification are higher compared to manual classification. The automated system got an average F1-score of around 52% while the humans got an average of about 10 percent points lower. 2.2 Annotation When annotating a dialogue it is first split into utterances which can be evaluated and labeled with a speech act according to some speech act scheme. For annotation of dialogues there exists a number of schemes, one example of a scheme often used is DAMSL, which stands for for Dialogue Act Markup in Several Layers. The scheme was developed to make annotated speech easier to exchange between projects and fields of research. Because of the generality of the scheme it has been chosen as the scheme for this work.

3(12) In Coding Dialogs with the DAMSL Annotation Scheme[1] the authors describes the scheme. The description of the DAMSL scheme will be summarized below. The scheme allows multiple labels to be applied to one utterance since a single utterance can perform multiple actions in a dialogue. The scheme is divided into two types of speech acts: Forward Communicative Function and Backward Communicative Function, each type is divided into speech act categories which are further subdivided into the speech acts. The scheme also has a third group of labels called Utterance Features, these carry additional information about the utterances. All speech acts grouped as Backward Communicative Function indicates that the tagged utterance is a response to a previous utterance. Some examples of such speech acts are Accept, Accept Part and Reject which are all part of the speech act category Agreement. For an example of how these speech acts are applied see Figure 2. C o n t e x t : A: Would you l i k e soup and b r e a d? Accept B : Yes p l e a s e! Accept P a r t B : I would l i k e t h e soup. R e j e c t B : No t h a n k you. Figure 2: Example of annotation with some of the speech acts in the Agreement category The remaining speech acts are grouped as Forward Communicative Function, these speech acts affect the future dialogue. An example of speech act category in this group is Influencing Addressee Future Action, indicating that the speaker tries to influence the listener to do something. The speech acts in this category are Open Option and two kinds of Directives: Info Request and Action Directive. An example of these speech acts are presented in Figure 3. Open Option A: How a b o u t going t o t h e b a r? Info Request A: What time i s i t? Action D i r e c t i v e A: P l e a s e t a k e t h a t awful j a r with you. Figure 3: Example of annotation with the speech acts in the Influencing Addressee Future Action category The Utterance Features carries some extra information aside from the speech acts themselves, e.g. if the utterance was abandoned by the speaker. The information carried by the labels in this category cannot be left out since the information they carry decreases the number of needed speech acts, i.e. the combination of the speech acts and the utterance features is of importance. The labels which most frequently are used from this group are those in the category Information Level which indicates what the utterance is addressing, e.g. the labels Task Management and Communication Management indicates what the utterance is trying to address. For the full description of all speech acts see the DAMSL annotation manual 1. 1 Downloadable as a PDF ftp://ftp.cs.rochester.edu/pub/packages/dialog-annotation/ manual.ps.gz and available online https://www.cs.rochester.edu/research/speech/damsl/ RevisedManual/RevisedManual.html

4(12) 2.3 Feature Extraction For an effective annotation of sentences some kind of features should to be used. These features are information extracted from the utterances and later used by the classifiers to map them to speech acts. These features are deciding what it is the classifier should be looking at in a utterance. A simple approach to this is to use the N-gram model. The N-gram model is a model often used in language modeling and analysis[5][6][7]. It generates a set of sub-strings which consists of N consecutive words from the text. Then the number of times each sub-string occurs in the text is counted. If N=1, sometimes called bag of words, the model can be described as simply counting how many times each word occurs in the text. For N=2 the sentence We are going home would generate the substrings ( We are, are going, going home ) and then the occurrence of each sub-string would be counted in the same manner as with the single words. [8] For this work the bag of words feature extraction was chosen, i.e. N-gram with N=1. 3 Method The main focus of this work are the NB algorithm and the Linear SVC algorithm since they are frequently used for these kinds of problems. Two other algorithms, Perceptron and Decision Tree, are also tested because they have characteristics interesting in the context, see Section 3.2. 3.1 Metrics There are a few metrics which can be used when measuring the performance of a classifier. Precision and recall are used to measure the performance of a classifier per label, i.e. the value is calculated for each label. Precision is given by Equation 1 where f p is the number of false positives and t p is the number of true positives. This gives how often a positive guess for a certain label is true. Recall is given by Equation 2 where f n is false negative. Recall essentially gives how many of the label it finds. For a visualization of all the possible guesses see Figure 4. Recall and precision can then be used to calculate the F1-score by Equation 3. The F1-score is a sort of aggregate of the other two scores which can be said to be a form of accuracy measure for the classifier. P = t p t p + f p R = t p t p + f n F1 = 2 P R P + R A = c G (1) (2) (3) (4) It is also desirable to measure the performance for an entire guess instead of per label. For this purpose the metric accuracy will be used. Accuracy is given by Equation 4 where G is the total number of guesses and c is the number of guesses that has the correct value for every label. If a single label in the guess has the wrong value the guess is counted as wrong.

5(12) Figure 4: Venn diagram for visualization of possible outcomes. 3.2 Machine Learning Algorithms The algorithms tested in this thesis are Multinomial Naive Bayes (NB)[9], Perceptron[10][11], Linear Support Vector Classifier (SVC)[12] and Decision Tree[13]. The implementations of these algorithms used for this work can be found in the python library scikit-learn[14]. The Perceptron and Decision Tree is shortly described below to explain why they are being included in the comparison. The Perceptron algorithm is, similar to SVC, a linear classifier which maps the input to a high-dimensional space and tries to find a hyperplane which divides the input into the two groups defined by the binary classification attached to the input. The performance of the Perceptron algorithm is of interest because it is similar to the SVC but simpler. The Decision Tree algorithm builds up a decision tree during its fitting where its leafs contains the labels. When training a Decision Tree it recursively splits the data set by performing an exhaustive search for the best split. The classification is then done by traversing the tree until a leaf is reached which contains a label. This algorithms performance is of interest because of the nature of traversing trees. It is only the Decision Tree algorithm s implementation which support multi-label classification. For that reason the other three are tested by applying them to the classification problem with the One vs Rest approach (see Section 3.4). 3.3 Data Format When using the scikit library to make multi-label classifications, i.e. classify something with multiple labels, the format of the labels must be binary arrays. The labels for each annotated utterance must therefore be converted into an array of binary values, the arrays length is that of the total number of labels. Each position in the array therefore represents

6(12) a label and a boolean value denotes if the label is set or not. In the DAMSL scheme there exists mutually exclusive labels, e.g. Accept and Accept Part could not apply to the same utterance since they contradict each other. But since the labels are represented by independent binary values a classifier could set both labels for the same utterance. 3.4 One vs Rest The One vs Rest approach is used to enable classifiers to make multi-label classification, although they originally do not support this. This is done by fitting one classifier for each label, each of the classifiers uses the same algorithm. The fitting process is illustrated in Figure 5. Here the array containing the labels is split up and distributed to each of the classifiers to use for the fitting. The process of classifying is depicted in Figure 6 where the input data is fed to the classifiers which each makes an independent guess for its own label weather it applies or not. The result from the individual classifiers is then merged to a complete guess. Figure 5: The training of a algorithm using the OvR approach. Figure 6: Classification using a algortihm within the OvR approach. For the rest of this thesis the OvR wrapper depicted in the figures will be considered one classifier since it can be viewed as such.

7(12) 3.5 The Tests The corpora used is the Monroe corpus, specifically the parts which where annotated 2. The corpora was annotated using the software dat 3. The process of creating this corpus is described by Amanda J Stent[15]. Annotations done in the dat software are saved in SGML format. The annotated dialogues had to be parsed and converted into a format usable by the scikit library. As discussed in Section 3.2 the binary format of the labels could cause the classifiers to make a contradictory classification. This problem was presumed minor because in the training data that cannot occur. Because the data set is generated from dialogues where the participants try to solve tasks, this means that the number of occurrences are unevenly distributed among the speech acts. Another result of the way the corpora is made is that some words, e.g. words related to the task, are much more frequent than in other dialogues. To minimize the risk of this causing problems the frequency count will be passed through a tf-idf transformer. A tf-idf transformer transforms the frequency count for each word gained by the N-gram model into values which are weighted against the total number of occurrences of that word in the used corpora. This means that a word which ha a high frequency for the whole corpora is given less weight for the current sentence, on the other hand it is considered more significant if the total frequency is low[9]. When training and testing the classifiers the data is passed though a pipeline, illustrated in Figure 7, consisting of three parts where the classifier is the last part. The first part is a vectorizer which turns the sentences into vectors using bag of words, see section 2.3. The middle part of the pipeline is a tf-idf transformer. With the pre-processing done by the first two parts of the pipeline the data is then put into the classifier. Figure 7: Parts of classification pipeline Because of the way dat saves the annotations the SGML files contains unnecessary labels. If a label is left unspecified in dat that label will not be present in the file when saved. But for some speech acts dat offers the option to set it as either Yes or No even though the same information is carried by the absence of the Yes label as the presence of the No label. E.g. the absence of Info-Request=Yes gives the same information as the presence of Info-Request=No. In an effort to see if the presence of these extra labels impacts performance of the classifiers the tests are run twice. Once with the full set of labels generated by dat and once with the labels filtered to remove the redundant labels. The training set consists of two thirds of the available utterances while the remaining third is used as the test set. To minimize the effect of how the utterances are distributed between the two sets the test is performed 1000 times. For each run of the test the utterances are randomly distributed into the two sets. 2 Can be found here: http://www.cs.rochester.edu/research/cisd/resources/monroe/annote. html 3 Dat can be downloaded here: ftp://ftp.cs.rochester.edu/pub/packages/dialog-annotation/ dat.tar.gz

8(12) 3.6 Expected Results Because of the differences between the algorithms they should differ in performance, they should also differ in the time needed to fit them and for them to make their classifications. When comparing the Perceptron to the Linear SVC the expected difference is that the Perceptron algorithm should have lower scores in the metrics since it is a simpler algorithm. Because of this the Perceptron should also be faster to fit and to make its classifications. Because of the exhaustive search performed by the Decision Tree algorithm during its fitting it should be expected to be more time consuming during fitting than the other three. However, the Decision Tree should consume less time when classifying compared to the others because of the low time complexity of traversing trees. 4 Results The results from the tests are presented in tables 1 and 2. The highest value for each metric is highlighted for easier overview. As can be seen in Tables 1 and 2 the Linear SVC has the highest score in all metrics. It can also be noted that all scores are higher with the filtered labels. The scores of precision, recall and F1 are 5 ± 1% higher with the filtered labels for all algorithms. When including the time for fitting (training) the classifiers and the classification into the consideration we can see that the Linear SVC takes a little more than two times the time to train compared to the fastest (Multinomial NB). Most of the classifiers takes about the same time to make its classifications, it is only the NB and random forest which are considerably slower. The fastest to make its classifications is the Decision Tree. Table 1 Average from 1000 runs with unfiltered labels. The highlighted values are the best for that metric. Algorithm Acc. Prec. Recall F1 Fit time Class. time MultinomialNB 0.219 0.530 0.492 0.510 0.0724 0.0148 Perceptron 0.131 0.557 0.557 0.557 0.0788 0.0086 LinearSVC 0.279 0.647 0.570 0.606 0.1703 0.0084 DecisionTree 0.254 0.568 0.568 0.568 0.4083 0.0067 Table 2 Average from 1000 runs with filtered labels. TThe highlighted values are the best for that metric. Algorithm Acc. Prec. Recall F1 Fit time Class. time MultinomialNB 0.231 0.555 0.516 0.534 0.0533 0.0119 Perceptron 0.150 0.580 0.581 0.581 0.0583 0.0075 LinearSVC 0.296 0.677 0.597 0.634 0.1275 0.0074 DecisionTree 0.276 0.594 0.593 0.593 0.2794 0.0063

9(12) 5 Discussion The result presented in the previous section clearly indicates that if the primary concern is the performance of the classifier, the Linear SVC is the best choice under the conditions of the test. The time consumed to perform the fitting of the SVC was more twice that of the Perceptron and NB algorithms, that should however not be of great concern. The process of fitting a classifier can usually be assumed to be performed before the classifier is put into use, therefore the time it takes to fit a classifier should not have a big impact on the decision of which algorithm to choose. The SVC was not the fastest to make its classifications, but since there is only a 17.5% difference the fact that it has the highest score on all metrics is of greater importance unless the application of the classifier is very time critical. When compared to the SVC the Perceptron was expected to be less time consuming but also have a lower performance. All the performance scores were lower than that of SVC as expected, it also was less time consuming to fit by slightly more than a factor of two compared to the SVC. The tests indicates that the classification time of the Perceptron and SVC is almost exactly the same, the Perceptron took 1.4% longer time. Assuming that the time it takes to fit a classifier is of little importance there is no benefit of the Perceptron compared to the SVC. The Perceptron did perform better than the NB in precision and recall, and had a significantly lower training time, but the accuracy was only about two thirds that of the NB. Depending on the circumstances the Perceptron could be a preferable choice to the Multinomial NB. As expected the Decision Tree was the fastest algorithm for classification but also the slowest to fit. The Decision Tree has the second highest scores in all the metrics which makes it a possible candidate for situations where the classification is time critical. Considering that even the slowest classifier completes its classification of about a thousand utterances in 15 milliseconds, it can be argued that the differences between the classifiers should not cause any problem. Because if these classifiers should be used in a setting where it should make live classifications the time is not very noticeable to a human. The removal of the redundant labels gave an increase in the performance score for all classifiers. This is not surprising since the scores are averages of all labels and most of the removed labels were inconsistently used, which should give those labels low scores which lowers the averages. The filtering of the labels also reduced the time consumed for both fitting and classification by all classifiers. It is a reasonable conclusion that when storing annotation you should avoid redundancy in the format to maximize the efficiency of learning algorithms. None of the algorithms got over 30% accuracy, although this is considerably higher than if 1 the guess was a complete random guess (which would give a accuracy of ) it does not 2 35 make them suited for producing reliable annotations under the tested circumstances. You would not want to produce a corpus which were only 30% correctly annotated. A better choice of feature extraction might produce a better result without providing the system with any more information. If comparing the F1-score of these algorithms to those from [4] you can see that these algorithms got about the same or higher scores. This might imply that in order to produce classifiers with scores approaching those of human annotaters they should probably be provided with at least some of the extra information given to human annotaters. Such information

10(12) includes but might not be limited to: audio of the actual utterance and knowledge of what has been said earlier in the dialogue. 5.1 Ethical Implications With the research advancing in this field the social machines in our society gets better and better at communicating with humans. Eventually we could reach a point where such a social machine would be hard to distinguish from a human during a conversation. Long before this point is reached the question if a human has the legal and/or ethical right to know what one is talking to should be discussed and settled. As with other similar questions it would be preferable to have the world reach a agreed upon set of rules for situations such as these. 6 Future work The author s suggestions for future work within the area will be presented in this section. In this work the differences of the three groups of labels, Forward and Backward Communicative Functions and Utterance Features, were not investigated. This might be interesting in order to see how well the classifiers manage the different categories. If done with utterances with context the scores of the Backwards Communicative Functions could be expected to rise more than those of the Forward Communicative Functions since they are more dependent on previous statements. Some research to test the classifiers with input which has a context should probably be performed, i.e. the current information state which has been established so far in the dialogue should be known to the classifier. This information state is changed throughout a dialogue and so will be different for each utterance. The results of such tests should be compared to classifiers which does not take the information state into account. There should also be further research into how the pitch and cadence of the utterances affects the meaning of them. This is potentially a very hard problem since such things could partially change between areas, cultures and languages. There are also differences between individuals that can affect these variables. To fit a classifier to one person would probably be a good starting point for such research.

11(12) References [1] M. G. Core and J. Allen, Coding dialogs with the damsl annotation scheme, in AAAI fall symposium on communicative action in humans and machines, vol. 56. Boston, MA, 1997. [2] K. Georgila, O. Lemon, J. Henderson, and J. D. Moore, Automatic annotation of context and speech acts for dialogue corpora, Natural Language Engineering, vol. 15, no. 03, pp. 315 353, 2009. [3] G. Andreani, G. Di Fabbrizio, M. Gilbert, D. Gillick, D. Hakkani-Tur, and O. Lemon, Let s discoh: Collecting an annotated open corpuswith dialogue acts and reward signals for natural language helpdesks, in Spoken Language Technology Workshop, 2006. IEEE. IEEE, 2006, pp. 218 221. [4] M. M. Louwerse and S. A. Crossley, Dialog act classification using n-gram algorithms. in FLAIRS Conference, 2006, pp. 758 763. [5] N. Kalchbrenner, E. Grefenstette, and P. Blunsom, A convolutional neural network for modelling sentences, CoRR, vol. abs/1404.2188, 2014. [Online]. Available: http://arxiv.org/abs/1404.2188 [6] A. Pak and P. Paroubek, Twitter as a corpus for sentiment analysis and opinion mining. in LREc, vol. 10, no. 2010, 2010. [7] J. Fürnkranz, A study using n-gram features for text categorization, Austrian Research Institute for Artifical Intelligence, vol. 3, no. 1998, pp. 1 10, 1998. [8] Bag-of-words model - wikipedia. Visited on 2017-03-14. [Online]. Available: https://en.wikipedia.org/wiki/bag-of-words model [9] C. D. Manning, P. Raghavan, H. Schütze et al., Introduction to information retrieval. Cambridge university press Cambridge, 2008, vol. 1, no. 1. [10] C. M. Bishop, Pattern Recognition and Machine Learning (Information Science and Statistics), 1st ed. Springer, 2007. [11] Y. Freund and R. E. Schapire, Large margin classification using the perceptron algorithm, Machine Learning, vol. 37, no. 3, pp. 277 296, 1999. [Online]. Available: http://dx.doi.org/10.1023/a:1007662407062 [12] sklearn.svm.linearsvc scikit-learn 0.18.1 documentation. Visited on 2017-05- 10. [Online]. Available: http://scikit-learn.org/stable/modules/generated/sklearn.svm. LinearSVC.html [13] L. Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone, Classification and regression trees. wadsworth & brooks, Monterey, CA, 1984. [14] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay, Scikit-learn: Machine learning in Python, Journal of Machine Learning Research, vol. 12, pp. 2825 2830, 2011.

12(12) [15] A. J. Stent, A conversation acts model for generating spoken dialogue contributions, Computer Speech & Language, vol. 16, no. 3, pp. 313 352, 2002.