As more and more individuals utilize supply chain software, there is a need to simplify its usage. An example would be the generation of reports. We have transitioned from users learning command prompts (to specify the criteria, filter, etc.) to click/drag/drop interfaces to touch interfaces. The next step in evolution can be Natural Language Processing (NLP) where the user expresses a desire in plain language, and the software translates it to queries in the background. This and other use cases such as the automation and analysis of content have made NLP an area of prominent growth.
To start talking about how NLP can benefit the supply chain, I will first give an introduction to the science that is ‘Natural Language Processing’ together with some examples that will be further explained in a later blog.
NLP is a mix of computer science, artificial intelligence, and linguistics in which the user applies or creates a model that is being trained to understand and find patterns in natural language.
By training the model (for example, giving it labeled input data), it will start picking up different patterns in a language, which the model will be able to understand and see certain structures in. This analysis of data can be transformed into knowledge, meaningful insights, and even automated actions.
NLP models will always need to be fed with input data. So, it’s important to clean this data and remove certain irrelevant parts. These pieces of text can be numbers, uppercase characters, irrelevant data, or others. The good news is that these cleaning modules do not have to be coded from scratch. In the field of NLP, there are already a lot of pre-coded modules to help the user clean and vectorize data (examples are the NLTK and the spaCy library, which are both programmed in the Python programming language).
The next part is implementing an algorithm to process data. This is the part where machine learning comes into play and where the model starts learning how it can process information.
There are three high-level ways of training the model. The first is supervised learning, where the models pick up patterns by feeding it input examples and showing what the output is. By feeding it labeled training data, the algorithm can find patterns which it uses to analyze a new fed data. The user could be seen as the teacher and the model as the student, where it could part its way if it has learned enough and has good accuracy when predicting new datasets.
Some starting examples where supervised learning could be applied are:
- Named entity recognition (NER) models
- NER models are models which can classify different pieces of text into different categories. This will be further discussed in a later blog.
- Chatbots are another method where NLP can be used to analyze or improve internal and external communication. Thanks to chatbots, customers and other stakeholders can be directed to important sources of information based on their input.
- Chatbots can be used to automate communication with suppliers and other supply chain stakeholders. Information and communication from a user will advance more efficiently through the chain by automating it, and input can be parsed out and put into categories for further analysis.
- Spam detection
- A more general example where emails are categorized based on their content.
When using unsupervised techniques, input datasets are also necessary. The difference is that these datasets are not labeled, and the algorithm must find patterns from the start. These are mostly applied to larger, unstructured pieces of text to extract meaning and patterns. Mainly the goal is to get a high-level view of what is contained in a large dataset.
- Topic Modeling and Latent Dirichlet Allocation (LDA)
- A more known statistical method to classify larger datasets into different topics and link the different words to different topics is the Latent Dirichlet Allocation. This method results in a certain number of topics that make up the dataset. This can result in topics that were not expected, so it can be helpful to run this method on available datasets to get new insights.
- LDA is similar to and a part of a more overarching term called topic modeling. Topic modeling can be described as analyzing multiple documents to detect word and phrase patterns out of the unstructured text.
- Market trends
- Continuing how topic modeling can be used, a great example of how unsupervised learning can benefit the supply chain and overall business is to keep track of developments within the sector.
- Both supervised and unsupervised techniques can be applied, but in general, we would want to keep track of things such as market-specific prices such as gas prices, and market trends.
- For this latter example, multiple news sites can be scraped and fed to the (unsupervised) model, which will apply clustering and other algorithms to generate general trends and insights of the market. These can later be used in the business strategy to make both short- and long-term decisions.
- Sentiment analysis and corresponding algorithms
- Sentiment analysis gives us the possibility to extract positive, negative, and other sentiments out of both smaller and larger pieces of text. A general example could be the analyzing of tweets to get the general attitude towards your brand. An example technique is latent semantic analysis, but I will come back to this in a later blog.
- Finding incomplete data
- Internal raw data, for example, that is extracted out of an SAP system could be incomplete and unstructured. Different models could be applied to find this incomplete data, and tag and divide the data into different categories and analyze it (supervised + unsupervised).
A more “recent” variation on supervised learning, which can be seen as a third way of NLP model training, is self-supervised learning.
In self-supervised learning, most applications are to predict missing or non-existent pieces of text. This can, for example, predict the last part of a sentence, based on a larger dataset.
In self-supervised learning, datasets will be unlabeled, like they are in unsupervised learning.
The goal of this first blog part is to provide some starting knowledge and examples of the field. This info is high level and in later blogs, I will provide more in-depth examples on how NLP can be used in the supply chain and which methods could be used for these business problems.