Я хочу извлечь все типы рыб на странице wikipedia и распечатать эти рыбы (я скопировал содержимое в текстовый файл). Я использовал поз тег, а затем используется для извлечения Chunker типы рыб .Но мой вывод содержит ненужные данные, вот код, я реализованИзвлечение определенного типа строки из текстового файла с помощью nltk
import nltk
from nltk.corpus import stopwords
from nltk.chunk.regexp import RegexpParser
#opening the file and reading
fp = open('C:\\Temp\\fishdata.txt','r')
text = fp.read()
lemmatizer = nltk.WordNetLemmatizer()
stemmer = nltk.stem.porter.PorterStemmer()
sentence_re = r'''(?x) # set flag to allow verbose regexps
([A-Z])(\.[A-Z])+\.? # abbreviations, e.g. U.S.A.
| \w+(-\w+)* # words with optional internal hyphens
| \$?\d+(\.\d+)?%? # currency and percentages, e.g. $12.40, 82%
| \.\.\. # ellipsis
| [][.,;"'?():-_`] # these are separate tokens
'''
chunker = RegexpParser(r'''
NP:
{<NNP><'fish'>}
''')
stpwords = stopwords.words('english')
lemmatizer = nltk.WordNetLemmatizer()
stemmer = nltk.stem.porter.PorterStemmer()
toks = nltk.regexp_tokenize(text, sentence_re)
postoks = nltk.tag.pos_tag(toks)
sent=chunker.parse(postoks)
print sent
Выход я получил
wikipedia
armored
fish
ray-finned
fish
jelly
fish
constucutive
then
oragn
Выход требуется
armored
fish
jelly
fish
bony
fish
Выше была только небольшая часть выхода, но мне нужно то, что требуется на 2-м выходе Вход на страницу википедии - http://en.wikipedia.org/wiki/Fish, которую я коп в текстовый файл.
привет! некоторые входные данные образца вместе с выходными данными, которые нежелательны, могут помочь. также - нам не нужна вся ваша программа. нам было бы легче взглянуть, если вы обнуляете строки кода, которые не работают должным образом! – arturomp
Я обновил то, что мне нужно, и проблема в сегменте chunker, он производит больше существительных, чем требуется вместе с термином «рыба». – user2737152