Thank you for your interest in this project, however, the codebase for this project can’t be publicly released because it contains proprietary information. If you are interested in the code, contact me by filling out a form (see below). In the meantime, you can visit GitHub, personal webpage, or LinkeIn.

The TicketFilter Module is an object oriented module that can be used to extract features and build a classification model.

These are some of the methods and functionalities that are in the module.

  1. Method that  reads comments and gradable json files and returns two tables for a company:
    1.  comments table – table with the parts of the conversations/tickets
    2.  gradable table – table where each row is a different ticket /conversation where columns of features will be added
      You can specify the range of the tickets you want to output by specifying the index

Example pseudocode :

table_gradable,table_comments = read_jsons(file_comments, file_gradable, index_start, index_end)
  1. A class that takes the comments table and gradable table as input and generates and object. Example pseudocode:
    1.  ticket_filter_ob = ticket_filter_module(table_gradable, table_comments)
  2. Creating an object will do some preprocessing to table comments and table gradable. These are some of the important steps:
    • Drop only user and only agent – It will remove the rows from table gradable and table comments where there is only user or only agent information. In the module there is a function to know how many rows were dropped.
    • A new column will be added called “only user”  and “only agent” words:
      • The only user or agent words are generated by:
        1. Eliminating number and symbols
        2. Eliminating proper nouns
        3. Tokenizing words
        4. Removing stop words
        5. Removing words less than 3
        6. Lemmatizing nouns
        7. Lemmatizing verbs
  3. There are 12 methods that add column features to table gradable. Example pseudo code:
    1.  ticket_filter_ob.add_spelling_errors()
      • This function will add a column to table gradable that you can later access.
    2. These functions can generate 21 feature columns to table gradable plus the tags features.
  4. The object can be saved to pickle and opened later
  5. You can access the features by writing Example pseudocode :
    1.  ticket_filter_ob.features_table
    2. This table will have a description of the features and a boolean column indicating if the feature is present in the table.
  6. You can access the words in a category by writing. Example pseudocode
    1. ticket_filter_ob.apologetic_words
  7. The module has different functions for plotting the ROC curve,  precision-recall curve, and getting the optimal probability threshold for a given recall.