在NLTK中创建自定义语料库的优势
我在Mysql数据库里有很多文本内容。我想对这些文本进行一些统计分析,之后还想用NLTK工具包做一些自然语言处理(NLP)。
我有两个选择:
- 一次性从数据库表中提取所有文本(如果需要的话,可以把它们放到一个文件里),然后使用NLTK的功能。
- 提取文本并将其转化为一个“语料库”,这样就可以和NLTK一起使用。
第二个选择看起来比较复杂,我还没找到任何具体的文章来说明怎么使用这个方法。我只找到了一篇关于如何创建一个基于MongoDB的语料库阅读器的文章,链接在这里:Creating a MongoDB backed corpus reader,这篇文章使用MongoDB作为数据库,代码也比较复杂,还需要了解MongoDB。而第一个选择看起来很简单,但从数据库提取文本会有一些额外的工作。
现在的问题是,在NLTK中使用语料库有什么好处?换句话说,如果我选择挑战自己,深入研究如何修改NLTK的方法,让它可以直接从MySQL数据库读取数据,这样做值得吗?把我的文本转化为语料库能给我带来一些普通NLTK功能无法实现的东西吗?
另外,如果你知道如何将MySQL连接到NLTK,请告诉我。谢谢!
1 个回答
3
经过一番研究,我找到了答案。
在NLTK这个工具里,有几个非常实用的功能,比如搭配词、搜索、共同上下文和相似度等,这些都可以用在保存为语料库的文本上。不过,如果自己去实现这些功能,会花费不少时间。如果我从数据库中选择我的文本,放到一个文件里,然后使用nltk.Text
这个功能,就可以直接使用我之前提到的所有功能,而不需要写那么多代码,甚至不需要重写方法来连接MySql。想了解更多信息,可以查看这个链接:nltk.Text