Python中的单词级词性标注

Python中的单词级词性标注,python,tokenize,pos-tagger,Python,Tokenize,Pos Tagger,我试图为每行中的每个单词做词性标记(每行包含几个句子) 我有以下代码: import nltk import pos_tag import nltk.tokenize import word_tokenize f = open('C:\Users\test_data.txt') data = f.readlines() #Parse the text file for NER with POS Tagging for line in data: tokens = nltk.word_

我试图为每行中的每个单词做词性标记(每行包含几个句子)

我有以下代码:

import nltk import pos_tag
import nltk.tokenize import word_tokenize

f = open('C:\Users\test_data.txt')
data = f.readlines()

#Parse the text file for NER with POS Tagging
for line in data:
    tokens = nltk.word_tokenize(line)
    tagged = nltk.pos_tag(tokens)
    entities = nltk.chunk.ne_chunk(tagged)
    print entities
f.close()
但代码为每行提供了一个标记,输出如下所示:

[(“公寓是全新的,干净整洁。”,“NNP”),(“山上的小地方很棒。”,“NNP”),(“非常舒适的地方,靠近法蒂玛卢亚斯车站。我喜欢这个地方。\n豪斯和瓦迪姆非常欢迎我,对我也很好。\n我希望能再次入住。”,“NNP”),(“非常乐于助人且善于沟通的主人。地理位置优越,与公共交通连接良好。房间对一对夫妇来说太小了一点,而且感觉没有碗橱。\n\n或者说非常干净且保养得很好。”,“NNP”),(“一切都和描述的一模一样。很漂亮。”,“NNP”)]

我的代码有“标记器”,我不知道我的代码出了什么问题。我需要每个单词的pos标记,而不是每行。但是每行都应该用括号或类似的东西分块(或区分)。

(纯复制粘贴,从我的计算机上运行)

运行代码(请注意简单的导入语句):

在以下unicode原始文本文件(3行)上:

我得到以下结果:

(S
(/(
this/DT
is/VBZ
a/DT
first/JJ
example/NN
./.
)/)
(/(
Another/DT
sentence/NN
in/IN
another/DT
parentheses/NNS
./.
)/))
(S (/( onlyone/NN in/IN that/DT line/NN )/))
(S
this/DT
...
正如你所看到的,没有特别的问题。
您是否正确解析csv数据?csv在您的情况下有用吗?您是否尝试使用一个简单的文本文件?

我的计算机上的python3没有问题。我不知道出了什么问题…@mquantin,我对python3也没有问题,但代码给了我上面的输出,即行级词性标记。您得到单词级词性标记了吗ng表示每个单词都有一个词性标记?@mquantin,仅供参考,在我的数据集中,括号中的句子存储在一行中。这可能就是为什么括号中的句子有一个词性标记的原因。是的,我得到了单词级词性标记,括号被标记和词性标记(如
)@mquantin您能给我看一下结果吗?结果是什么样子的?您存储的数据是什么样子的?在我的数据中,每个括号中的句子都以csv格式存储在一行中。我真的需要得到与您相同的结果,因此非常感谢您的回答。非常感谢!在我将数据编码更改为“ut”后,它就成功了“f-8”和安装“numpy”是出于某种原因。我感谢你的帮助。我做到了。再次感谢!
(this is a first example.)(Another sentence in another parentheses.)
(onlyone in that line)
this is a second one wihtout parenthesis. (Another sentence in another parentheses.)
(S
(/(
this/DT
is/VBZ
a/DT
first/JJ
example/NN
./.
)/)
(/(
Another/DT
sentence/NN
in/IN
another/DT
parentheses/NNS
./.
)/))
(S (/( onlyone/NN in/IN that/DT line/NN )/))
(S
this/DT
...