我对Python并不是非常有经验,但是我想用语料库进行一些数据分析,因此我正在NLTK Python中进行此工作。

我想遍历整个语料库,并制作一个字典,其中包含出现在语料库数据集中的每个单词。然后,我希望能够在此词典中搜索一个单词,并找到该单词作为词性(标签)出现的次数。因此,例如,如果我要搜索“狗”,则可能会找到100个名词标签和5个动词标签,等等。

最终目标是从外部将该文件另存为.txt或其他内容,然后将其加载到另一个程序中,以检查某个单词是哪个标签的可能性。

我会用Counter和ngrams这样做吗?

最佳答案

由于您只需要POS宽松的单词,因此不需要ngram,因此需要标记的语料库。假设您的语料库已被标记,则可以这样进行。

>>> from nltk.corpus import brown
>>> wordcounts = nltk.ConditionalFreqDist(brown.tagged_words())
>>> wordcounts["set"].tabulate(10)
VBN   VB   NN  VBD VBN-HL NN-HL
159   88   86   71    2    2


ConditionalFreqDist基本上是Counter对象的字典,并附带一些其他内容。可以在NLTK文档中查找。

PS。如果要在计数之前对单词进行大小写标准化,请使用

wordcounts = nltk.ConditionalFreqDist((w.lower(), t) for w, t in brown.tagged_words())

关于python - Python NLTK-从语料库制作“词典”并保存数字标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30697605/

10-12 22:18