发现外国的这个博客写的很不错,流程清晰明了,讲述简单,操作可行。文章脉络如下:
- 2 Benefits of NLP
- 3 NLP Implementations
- 4 NLP Libraries
- 5 Install NLTK
- 6 Tokenize Text Using Pure Python
- 7 Count Word Frequency
- 8 Remove Stop Words Using NLTK
- 9 Tokenize Text Using NLTK
- 10 Tokenize non-English Languages Text
- 11 Get Synonyms from WordNet
- 12 Get Antonyms from WordNet
- 13 NLTK Word Stemming
- 14 Stemming non-English Words
- 15 Lemmatizing Words Using WordNet
- 16 Stemming and Lemmatization Difference
https://likegeeks.com/nlp-tutorial-using-python-nltk/ 点击打开链接
要注意的地方:
1、在文本爬虫这里,在我电脑(python3.5)需要更改一下Beautifulsoup的解析器:
###原来的解析器为html5lib.
soup = BeautifulSoup(html, "lxml")
获取文本方面完整的代码如下:
from bs4 import BeautifulSoup
import urllib.request
response = urllib.request.urlopen('http://php.net/')
print(type(response) )
html = response.read() # html5lib.
# print(html )
soup = BeautifulSoup(html, "lxml")
print(soup)
text = soup.get_text(strip=True)
print(text)
2、文章中提到支持语言:
Stemming non-English Words
SnowballStemmer can stem 13 languages besides the English language.
The supported languages are:
查看一下支持处理的语言:from nltk.stem import SnowballStemmer print(SnowballStemmer.languages)('danish', 'dutch', 'english', 'finnish', 'french', 'german', 'hungarian', 'italian', 'norwegian', 'porter', 'portuguese', 'romanian', 'russian', 'spanish', 'swedish')
(丹麦语,荷兰语,英语,芬兰语,法语,德语,匈牙利语,意大利语,挪威语,“波特”,“葡萄牙语”,“罗马尼亚语”,“俄语”,“西班牙语”,“西班牙语”,“瑞典语”)
也就是说,中文的话需要利用其它的工具,在这里我推荐一下,仅供参考:
Jieba:可以用来做分词,词性标注,TextRank
HanLP:分词,命名实体识别,依存句法分析,还有FudanNLP,NLPIR偶然也发现,对这个博客的大部分内容有一个中文翻译版。见另一位博友 点击打开链接