|
1 |
| -Let's examine some general principles and common techniques used to perform text analysis and other natural language processing (NLP) tasks. |
2 |
| - |
3 | 1 | Some of the earliest techniques used to analyze text with computers involve statistical analysis of a body of text (a *corpus*) to infer some kind of semantic meaning. Put simply, if you can determine the most commonly used words in a given document, you can often get a good idea of what the document is about.
|
4 | 2 |
|
5 | 3 | ## Tokenization
|
@@ -49,37 +47,3 @@ For example, consider the following restaurant reviews, which are already labele
|
49 | 47 |
|
50 | 48 | With enough labeled reviews, you can train a classification model using the tokenized text as *features* and the sentiment (0 or 1) a *label*. The model will encapsulate a relationship between tokens and sentiment - for example, reviews with tokens for words like `"great"`, `"tasty"`, or `"fun"` are more likely to return a sentiment of **1** (*positive*), while reviews with words like `"terrible"`, `"slow"`, and `"substandard"` are more likely to return **0** (*negative*).
|
51 | 49 |
|
52 |
| -## Semantic language models |
53 |
| - |
54 |
| -As the state of the art for NLP has advanced, the ability to train models that encapsulate the semantic relationship between tokens has led to the emergence of powerful language models. At the heart of these models is the encoding of language tokens as vectors (multi-valued arrays of numbers) known as *embeddings*. |
55 |
| - |
56 |
| -It can be useful to think of the elements in a token embedding vector as coordinates in multidimensional space, so that each token occupies a specific "location." The closer tokens are to one another along a particular dimension, the more semantically related they are. In other words, related words are grouped closer together. As a simple example, suppose the embeddings for our tokens consist of vectors with three elements, for example: |
57 |
| - |
58 |
| -``` |
59 |
| -- 4 ("dog"): [10.3.2] |
60 |
| -- 5 ("bark"): [10,2,2] |
61 |
| -- 8 ("cat"): [10,3,1] |
62 |
| -- 9 ("meow"): [10,2,1] |
63 |
| -- 10 ("skateboard"): [3,3,1] |
64 |
| -``` |
65 |
| - |
66 |
| -We can plot the location of tokens based on these vectors in three-dimensional space, like this: |
67 |
| - |
68 |
| - |
69 |
| - |
70 |
| -The locations of the tokens in the embeddings space include some information about how closely the tokens are related to one another. For example, the token for `"dog"` is close to `"cat"` and also to `"bark"`. The tokens for `"cat"` and `"bark"` are close to `"meow"`. The token for `"skateboard"` is further away from the other tokens. |
71 |
| - |
72 |
| -The language models we use in industry are based on these principles but have greater complexity. For example, the vectors used generally have many more dimensions. There are also multiple ways you can calculate appropriate embeddings for a given set of tokens. Different methods result in different predictions from natural language processing models. |
73 |
| - |
74 |
| -A generalized view of most modern natural language processing solutions is shown in the following diagram. A large corpus of raw text is tokenized and used to train language models, which can support many different types of natural language processing task. |
75 |
| - |
76 |
| - |
77 |
| - |
78 |
| -Common NLP tasks supported by language models include: |
79 |
| -- Text analysis, such as extracting key terms or identifying named entities in text. |
80 |
| -- Sentiment analysis and opinion mining to categorize text as *positive* or *negative*. |
81 |
| -- Machine translation, in which text is automatically translated from one language to another. |
82 |
| -- Summarization, in which the main points of a large body of text are summarized. |
83 |
| -- Conversational AI solutions such as *bots* or *digital assistants* in which the language model can interpret natural language input and return an appropriate response. |
84 |
| - |
85 |
| -Next, let's learn more about the capabilities made possible by langauge models. |
0 commit comments