0

ウィキペディアのページですべての魚の種類を抽出し、それらの魚を印刷したい (コンテンツをテキスト ファイルにコピーした)。私はposタグを使用し、チャンカーを使用して魚の種類を抽出しました。しかし、私の出力には他の不要なデータが含まれています。これが私が実装したコードです

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をテキスト ファイルにコピーしました。

4

1 に答える 1