Convolutional Neural Networks are a useful network architecture which are implemented with a minimal amount of code in TensorFlow. While they're designed with images in mind, a CNN is not limited to image input. Convolutions are used in multiple industries from music to medical and a CNN can be applied in a similar manner. Currently, TensorFlow is designed for two dimensional convolutions but it's still possible to work with higher dimensionality input using TensorFlow.
While a CNN could theoretically work with natural language data (text), it isn't designed for this type of input. Text input is often stored in a SparseTensor where the majority of the input is 0. CNNs are designed to work with dense input where each value is important and the majority of the input is not 0. Working with text data is a challenge which is addressed in the next chapter on "Recurrent Neural Networks and Natural Language Processing".