- Natural Language Processing with TensorFlow
- Thushan Ganegedara
- 312字
- 2021-06-25 21:28:22
Chapter 3. Word2vec – Learning Word Embeddings
In this chapter, we will discuss a topic of paramount importance in NLP—Word2vec, a technique to learn word embeddings or distributed numerical feature representations (that is, vectors) of words. Learning word representations lies at the very foundation of many NLP tasks because many NLP tasks rely on good feature representations for words that preserve their semantics as well as their context in a language. For example, the feature representation of the word forest should be very different from oven as these words are rarely used in similar contexts, whereas the representations of forest and jungle should be very similar.
Note
Word2vec is called a distributed representation, as the semantics of the word is captured by the activation pattern of the full representation vector, in contrast to a single element of the representation vector (for example, setting a single element in the vector to 1 and rest to 0 for a single word).
We will go step by step from the classical approach to solving this problem to modern neural network-based methods that deliver state-of-the-art performance in finding good word representations. We visualize (using t-SNE, a visualization technique for high-dimensional data) such learned word embeddings for a set of words on a 2D canvas in Figure 3.1. If you take a closer look, you will see that similar things are placed close to each other (for example, numbers in the cluster in the middle):

Figure 3.1: An example visualization of learned word embeddings using t-SNE
Note
t-Distributed Stochastic Neighbor Embedding (t-SNE)
This is a dimensionality reduction technique that projects high-dimensional data to a two-dimensional space. This allows us to imagine how high-dimensional data is distributed in space, and it is quite useful as we cannot visualize beyond three dimensions easily. You will learn about t-SNE in more detail in the next chapter.
- MySQL數據庫應用與管理 第2版
- Python數據可視化:基于Bokeh的可視化繪圖
- Python高效開發實戰:Django、Tornado、Flask、Twisted(第2版)
- YARN Essentials
- iOS應用逆向工程(第2版)
- Learning Three.js:The JavaScript 3D Library for WebGL
- C# and .NET Core Test Driven Development
- R用戶Python學習指南:數據科學方法
- Solutions Architect's Handbook
- Natural Language Processing with Python Quick Start Guide
- Java程序設計實用教程(第2版)
- Java Web開發教程:基于Struts2+Hibernate+Spring
- Mastering Unreal Engine 4.X
- Developing Java Applications with Spring and Spring Boot
- ASP.NET Core and Angular 2