- Python Machine Learning By Example
- Yuxi (Hayden) Liu
- 216字
- 2021-07-02 12:41:40
Stemming and lemmatization
Word stemming is a process of reverting an inflected or derived word to its root form. For instance, machine is the stem of machines, and learning and learned are generated from learn as their stem.
The word lemmatization is a cautious version of stemming. It considers the PoS of a word when conducting stemming. We will discuss these two text preprocessing techniques, stemming and lemmatization, in further detail shortly. For now, let's take a quick look at how they're implemented respectively in NLTK by performing the following steps:
- Import porter as one of the three built-in stemming algorithms (LancasterStemmer and SnowballStemmer are the other two) and initialize the stemmer as follows:
>>> from nltk.stem.porter import PorterStemmer
>>> porter_stemmer = PorterStemmer()
- Stem machines and learning, as shown in the following codes:
>>> porter_stemmer.stem('machines')
'machin'
>>> porter_stemmer.stem('learning')
'learn'
Stemming sometimes involves chopping of letters if necessary, as we can see in machin in the preceding command output.
- Now import a lemmatization algorithm based on the built-in WordNet corpus and initialize a lemmatizer:
>>> from nltk.stem import WordNetLemmatizer
>>> lemmatizer = WordNetLemmatizer()
Similar to stemming, we lemmatize machines, learning:
>>> lemmatizer.lemmatize('machines')
'machine'
>>> lemmatizer.lemmatize('learning')
'learning'
Why is learning unchanged? It turns out that this algorithm only lemmatizes on nouns by default.
推薦閱讀
- Ansible Configuration Management
- 基于C語言的程序設計
- Getting Started with MariaDB
- MCSA Windows Server 2016 Certification Guide:Exam 70-741
- 空間傳感器網絡復雜區域智能監測技術
- VMware Performance and Capacity Management(Second Edition)
- 智能工業報警系統
- 21天學通Visual Basic
- 人工智能與人工生命
- 新編計算機組裝與維修
- Excel 2007技巧大全
- 人工智能技術入門
- Citrix? XenDesktop? 7 Cookbook
- Mastering pfSense
- IBM? SmartCloud? Essentials