J'essaye de faire l'étiquette de position pour chaque mot dans chaque ligne (chaque ligne contient plusieurs phrases).Marquage de pos-niveau de mot en Python
Je possède ce code:
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()
Mais le code donne une étiquette pour chaque ligne et la sortie ressemble à ceci:
[('L'appartement est tout neuf et vierge dans sa propreté. ',' NNP '), (' 'Super petit endroit dans les montagnes.' ',' NNP '), (' Endroit très confortable près de l'arrêt fatima luas, j'adore cet endroit. \ Njose et vadym sont très accueillants et m'a très bien traité. "NNP"), ("Très serviable et communicatif hôte.Excellent emplacement, bien relié aux transports publics.La chambre était un peu trop petit pour un couple et le manque de cu pboards a été douloureusement senti. \ n \ nOinwise tout à fait propre et bien maintenu. ',' NNP '), (' Tout était exactement comme décrit. C'est beau. ',' NNP ')]
Mon code a' tokenizer 'et je ne sais pas quel est le problème avec mon code. J'ai besoin de balise pos pour chaque mot au lieu de chaque ligne. Mais chaque ligne doit toujours être découpée (ou distinguée) entre parenthèses ou quelque chose comme ça.
Il n'y a pas de problème avec python3 sur mon ordinateur. Je ne sais pas ce qui ne va pas ... – mquantin
@mquantin, je n'ai pas non plus de problème avec python 3, mais le code m'a donné la sortie ci-dessus, qui est un tag de niveau ligne. Avez-vous obtenu un marquage pos au niveau des mots, ce qui signifie que chaque mot a un tag pos? – Emily
@mquantin, FYI, dans mon ensemble de données, les phrases d'une parenthèse sont stockées dans une ligne. C'est probablement pourquoi une balise pos a été donnée aux phrases dans une parenthèse. – Emily