用Python进行自然语言处理 - 语言计算:文本和单词

最近在看《Analyzing Text with the Natural Language Toolkit》的中文翻译版本,觉得蛮有意思的,就把学习过程中的遇到的问题和一些代码的运行结果记录下来。小白一只,如有错误,请您指正,谢谢!

想要这本书资源的可以在评论区留下您的邮箱。

下面进入正题(之前我已经装好了Python3.6版本):

第1章    语言处理与Python

1.1 语言计算:文本和单词


  • NLTK入门    

       由于pip版本太老,先右键管理员身份打开cmd,根据提示输入 python -m pip install --upgrade pip 语句进行pip的更新。

       更新完毕,输入 pip install nltk 语句进行NLTK的安装。

       安装完毕,启动Python解释器。在Python提示符后输入以下命令:

                                                   >>>import nltk

                                                   >>>nltk.download()

       跳出以下界面:

       选中“book”这一行,点击“Download”。完成后,出现如下界面:

        关闭窗口。此时数据已经被下载到电脑上啦,你可以使用Python解释器去加载一些要用的文本。

        首先输入 from nltk.book import * ,即从NLTK的book模块加载all。

        若想找到这些文本,只需在>>>后输入它们的名字即可。如:


  •  搜索文本

        text1.concordance("monstrous") 即搜索《白鲸记》中的词monstrous:

         text2.concordance("affection") 即搜索《理智与情感》中的词affection:

         通过上述的词语索引,我们可以看到其上下文。如text1中的monstrous,我们可以看到 the_____pictures (见下图红框): 

 可以通过 文本名.similar("关键词”) 语句来查看还有哪些词出现在相似的上下文中。

        common_contexts函数可以研究两个及以上的词的共同的上下文,如monstrous 和 very。 


  •  判断词在文本中的位置

        从文本开头算起在它前面有多少个词,位置信息可以用离散图表示。图中,每一个竖线代表一个单词,每一行代表整个文本。PS:为了画图,我们需要安装Python的NumPy的Matplotlib包。如果没有安装,就会出现如下错误:

        通过Ctrl+Z 退出Python 解释器,然后通过 pip install matplotlib 语句进行下载安装。

         安装之后,进入Python解释器,记得导入nltk book模块的所有文本。然后输入如下语句(见黄框):

        然后弹出一张图:

        关闭图片窗口后,输入另一条语句:

        弹出如下图片:


  • generate函数

        不再适用,暂时没有替代的函数。如果有,希望哪位大佬可以告知。


  • 计数词汇 

        使用len函数获取长度。(以文本中出现的词和标点符号为单位算出文本从头到尾的长度。)

        使用set函数获得词汇表。

        使用sorted(set(文本名称))得到一个词汇项的排序表

        再用len来获得这个数值。 

         对文本词汇丰富度进行测量(需确保Python使用的是浮点除法):

         计数一个词在文本中出现的次数,计算一个特定的词在文本中占据的百分比。


  • 定义函数 

        用关键字def定义新函数:

         使用这些函数:

猜你喜欢

转载自blog.csdn.net/weixin_40122035/article/details/82380871