之前简单学过一些自然语言处理的内容,如今对用python处理自然语言处理问题涉及到的一些关键命令复习一下。这些命令还记得吗?
if word.endwith('ing') text1.concordance("a") #p4 text1.similar('monster') #p5 text2.common_contexts(["monstrous","very"]) $p6 text4.dispersion_plot(["a","democracy"]) len(text3) sorted(set(text3)) text3.count("smote") ['a'] + ['b'] text4[173] #p12 text4.index('awaken') #p13 fdist1 = FreqDist(text1) #p18 fdist1中字典的顺序是按单词出现频率从大向小排的 vocabulary1 = fdist1.keys() vocabulary1 [:50] fidist1.plot(50,cumulative=True) fidst1.hapaxes() #p19 查找文档中只出现一次的词 bigrams(['a','b','c','d']) text4.collocations() #p22 查找文档中的频繁双联词。频繁双联词的意思就是两个词经常一起成对出现。
自然语言处理就要求我们能够让计算机自动的理解我们人类所表达的语言。在自然语言处理层面,有以下几个重点工作要去做。
1. 词义消歧 一个词汇有多个含义, 我们希望计算机能根据上下文准确理解出单词的含义
2. 指代消解 经常出现的他 她 它 等等 我们希望计算机能准确的识别出这些代词指代的具体是谁
3. 自动生成语言 这个更为高端了。计算机能够根据用户的问题回答响应的答案。需要计算机能够准确理解用户问题的意图。文本含义识别是这项工作的一个重大挑战。
4. 机器翻译:百度翻译or谷歌翻译都属于这个范畴下
5. 人机对话 类似于SIRI。