Answers.Body: <p>It depends on the number of classes; we are getting good results with about 40 training examples per class.</p>
  
  <p>A good way to get an idea about this is to run a test with an increasing set of training data, evaluating the result as you go along. Obviously, with a small set (eg 3 sentences per class), it will be very poor, but the accuracy should quickly increase and then stabilise at a higher level. With larger amounts of data you will probably only find a small increase or no change at all.</p>
  
  <p>Collecting this data would not only give you confidence in your conclusion, it would also be a good supporting argument when you have to ask for more training data, or have to justify the poor performance of the classifier if you do find the data set is too small.</p>
  
  <p>So, set up an automated <a href="https://www.openml.org/a/estimation-procedures/1" rel="nofollow noreferrer">10-fold cross validation</a>, feed an increasing amount of your available data into it, sit back, and graph the results.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-02-08T09:19:36.653Z
Answers.LastActivityDate: 2019-02-08T09:19:36.653Z
Answers.UserDisplayName: Oliver Mason
Body: <p>I'm building a customer assistant chatbot in Python. So, I am modelling this problem as a text classification task. I have available more or less 7 hundred sentences of an average length of 15 words (unbalanced class).</p>
  
  <p>What do you think, knowing that I have to do an oversampling, is this dataset large enough?</p>
  
Tags: <natural-language-processing><classification><datasets><chat-bots><text-classification>
Title: Is a dataset of roughly 700 sentences of an average length of 15 words enough for text classification?
UserDisplayName: Alfonso
ThreadText: # Is a dataset of roughly 700 sentences of an average length of 15 words enough for text classification?
  
  (Asked by: username_0 on 2019-02-07)
  
  I'm building a customer assistant chatbot in Python. So, I am modelling this problem as a text classification task. I have available more or less 7 hundred sentences of an average length of 15 words (unbalanced class).
  
  What do you think, knowing that I have to do an oversampling, is this dataset large enough?
  
  **Tags:** natural-language-processing, classification, datasets, chat-bots, text-classification
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2019-02-08. Score: 2 | Accepted answer
  
  It depends on the number of classes; we are getting good results with about 40 training examples per class.
  
  A good way to get an idea about this is to run a test with an increasing set of training data, evaluating the result as you go along. Obviously, with a small set (eg 3 sentences per class), it will be very poor, but the accuracy should quickly increase and then stabilise at a higher level. With larger amounts of data you will probably only find a small increase or no change at all.
  
  Collecting this data would not only give you confidence in your conclusion, it would also be a good supporting argument when you have to ask for more training data, or have to justify the poor performance of the classifier if you do find the data set is too small.
  
  So, set up an automated [10-fold cross validation](https://www.openml.org/a/estimation-procedures/1), feed an increasing amount of your available data into it, sit back, and graph the results.
  
  
  ---
  
  