The data collection was limited by the small amount of readily available data (an exception being part dispatch information, when a case results in a part being dispatched to resolve the issue). Agents typically rely on their expertise and judgment to determine the best possible resolution for our customers. The main sources of data were call logs and email messages exchanged between agents and users. Large Deep Learning models such as transformers, word embeddings, TF-IDF, and other methods were used to extract data from these correspondences.
The method that proved most successful in the data extraction process for the NBA models was to sample a few cases at random and run a custom algorithm coined (resolution extraction) on the collected data. After extracting the data, the resolutions were filtered out to determine if the key terms and algorithmic changes required to capture them. This process is repeated until all the known resolutions from manual inspection are captured by the algorithm.
The tools used to produce this solution include deep learning models to recommend NBAs and have been developed in python. All the experiments were conducted using several open- source libraries. The deep neural network development was carried out using the PyTorch library. The entire codebase of this solution is stored on GitLab. Due to the nature of DL models being computationally expensive, a GPU instance was imminent for training deep learning models. JupyterHub instances sufficed the computational needs of the project.
There are three main components to the solution: