自然语言处理入门
我刚开始学习自然语言处理(NLP,即处理文本数据)的时候,想找一本入门指南,帮我构建一个框架,理解相关的主题和术语,以便查找学习资源。但我一直没找到。不过,就在这周,推特用户@omarsar0(网名“elvis”)发布了一些思维导图,看起来非常实用。我觉得应该把它们分享在这里,或许对其他初学者也有帮助。
文本挖掘思维导图:
NLP思维导图:
此外,这里有一些我觉得对入门非常有帮助的Python入门教程和代码示例:
还有一本很有用的书是《使用 Python 进行文本分析》。
还有许多更复杂的“最先进”(SOTA)方法没有涵盖在上述资源中(例如 Word2Vec、GloVe、ELMo、BERT 以及 BERT 之后的 SOTA 模型),但我建议在你理解传统方法的文本挖掘之前,不要接触这些方法。
自然语言处理(NLP)技术可以完成许多不同的任务(例如语言翻译、文本摘要、问答等等),我建议从“文本分类”或“情感分析”(情感分析是文本分类的一种)入手。网上有很多关于情感分析的免费教程和示例,例如尝试判断Yelp评论是正面评价还是负面评价。或许在此之前,我建议先导入文本数据并创建词云(本教程会有所帮助)。如果您不知道什么是词云,下面是一个示例。词云是一种可视化文本中每个词出现频率的方法。
我使用以下代码创建了上面的词云:
# import matplotlib so that the wordcloud can be displayed
import matplotlib.pyplot as plt
%matplotlib inline
# import wordcloud so that the wordcloud can be created
from wordcloud import WordCloud
# create a string of text
text_string = "NLP, NLP, NLP, NLP, NLP, NLP, NLP, NLP, NLP, \
text, text, text, spacy, spacy,\
sentiment analysis, translation, stopwords,\
tokenisation, tokenisation, tokenisation,\
part-of-speech tagging, bag of words, TF-IDF,\
embedding, summarisation, language modelling,\
question answering, text classification,\
text classification, RNN, LSTM"
# create a wordcloud from the string of text
my_wordcloud = WordCloud(background_color="white",
max_words=50,
).generate(text_string)
# display the wordcloud
plt.imshow(my_wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
注意:您可能需要先安装 wordcloud(例如,!pip install wordcloud如果您在 Jupyter Notebook 中编写 Python 代码)。
自然语言处理(NLP)是一个庞大的领域,入门可能会让人望而生畏,甚至感到困惑。不过,它确实非常有趣,值得投入时间和精力。我计划未来撰写更多关于NLP的文章,因为我正在攻读数据科学硕士学位,并从中学习了很多相关知识。同时,我希望我在这里提到的资源能够帮助完全的初学者更轻松地入门。
文章来源:https://dev.to/nicfoxds/getting-started-in-nlp-b0e


