第4章: 词性(POS)标注 (English Resource)

压缩包alice.zip包含Lewis Carroll的著作《爱丽丝漫游仙境(Alice’s Adventures in Wonderland)》,以文本文件alice.txt的形式存储(该资源公开于Project Gutenberg)。 使用词性标注器(part-of-speech tagger)对文本进行标注,然后将结果存储至另一个文件中。编写程序读取含词性标注结果的文件,并完成下述任务。

为了便于处理,压缩包中已包含经Stanford CoreNLP标注器处理后的文本alice.txt.conll。此外,对于第37、38、39问,建议使用matplotlibGnuplot

30. 读取词性标注结果

编写一个程序,从文件中读取词性标注结果。对于每个句子,将其表示为一个包含多个映射对象的列表对象。其中,每个词作为映射对象,应具备以下属性:

  • 表层形态(即文本所用形态),对应键名text
  • 词元(即词的原形),对应键名lemma
  • 词性,对应键名pos

活用该程序以解决下列问题。

31. 动词

提取出现在文本中所有的动词(表层形态)。

32. 动词原形

提取出现在文本中所有动词的原形。

33. A of B

提取以”A of B”形式出现的短语,其中A与B均为名词。

34. 名词序列

提取由连续名词组成的序列中最长的一个。

35. 词频

获取所有单词的列表及其出现的频率数值,按词频对单词进行降序排序。

36. 出现频率最高的10个词

对出现频率最高的10个词及其频率数值进行可视化(如绘制柱状图)。

37. 与’Alice’共现频率最高的10个词

提取所有与Alice共同出现的词。对共现频率最高的10个词及其频率数值进行可视化(如绘制柱状图)。

38. 直方图

绘制词频直方图,其中:

  • 横轴x代表单词的词频数值;
  • 纵轴y代表词频为x的单词种类总数。

39. Zipf定律

按词频对所有单词降序排序。以此排名的名次为横轴x,各名次所对应的词频为纵轴y,绘制双对数坐标图。