Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';str';对象在NLTK中不可调用 重新导入 导入nltk 作为pd进口熊猫 从nltk.chunk导入RegexpParser 从textblob导入textblob data=open('data.txt','r') data=data.read() #区域获取帐户类型 chunkData=r”“”数据块:{(++)} }+{""" lines=[line for line in open('data.txt')] lstLines=data.split(“|”) 数据线=[] 对于lstLines中的行: 数据行=行。拆分(“\n”) 对于数据行中的行: 如果行中有“数据”: DataTags=TextBlob(line).tags Datachunker=RegexpParser(chunkData) Datachunked=Datachunker.parse(DataTags) 对于Datachunked中的块: 如果类型(chunk)==nltk.tree.tree和chunk.label()=“DataChunk”: DatachunkedLst=chunk.leaves() Datachunked=[0]对于DatachunkedLst中的叶,如果叶[1]=='CD'] 数据=“/”.join(数据块化)_Python_Python 2.7_Nlp_Nltk_Nltk Book - Fatal编程技术网

Python ';str';对象在NLTK中不可调用 重新导入 导入nltk 作为pd进口熊猫 从nltk.chunk导入RegexpParser 从textblob导入textblob data=open('data.txt','r') data=data.read() #区域获取帐户类型 chunkData=r”“”数据块:{(++)} }+{""" lines=[line for line in open('data.txt')] lstLines=data.split(“|”) 数据线=[] 对于lstLines中的行: 数据行=行。拆分(“\n”) 对于数据行中的行: 如果行中有“数据”: DataTags=TextBlob(line).tags Datachunker=RegexpParser(chunkData) Datachunked=Datachunker.parse(DataTags) 对于Datachunked中的块: 如果类型(chunk)==nltk.tree.tree和chunk.label()=“DataChunk”: DatachunkedLst=chunk.leaves() Datachunked=[0]对于DatachunkedLst中的叶,如果叶[1]=='CD'] 数据=“/”.join(数据块化)

Python ';str';对象在NLTK中不可调用 重新导入 导入nltk 作为pd进口熊猫 从nltk.chunk导入RegexpParser 从textblob导入textblob data=open('data.txt','r') data=data.read() #区域获取帐户类型 chunkData=r”“”数据块:{(++)} }+{""" lines=[line for line in open('data.txt')] lstLines=data.split(“|”) 数据线=[] 对于lstLines中的行: 数据行=行。拆分(“\n”) 对于数据行中的行: 如果行中有“数据”: DataTags=TextBlob(line).tags Datachunker=RegexpParser(chunkData) Datachunked=Datachunker.parse(DataTags) 对于Datachunked中的块: 如果类型(chunk)==nltk.tree.tree和chunk.label()=“DataChunk”: DatachunkedLst=chunk.leaves() Datachunked=[0]对于DatachunkedLst中的叶,如果叶[1]=='CD'] 数据=“/”.join(数据块化),python,python-2.7,nlp,nltk,nltk-book,Python,Python 2.7,Nlp,Nltk,Nltk Book,错误:如果类型(chunk)=nltk.tree.tree和chunk.label()==“DataChunk”: TypeError:“str”对象不可调用 但是,我能够打印chunk.label()我怀疑发生了以下情况: 在代码中的某个地方–虽然它不包含在代码段中–您可以为名为type的变量指定一个字符串值,例如: import re import nltk import pandas as pd from nltk.chunk import RegexpParser from textbl

错误:如果类型(chunk)=nltk.tree.tree和chunk.label()==“DataChunk”: TypeError:“str”对象不可调用


但是,我能够打印
chunk.label()
我怀疑发生了以下情况:

在代码中的某个地方–虽然它不包含在代码段中–您可以为名为
type
的变量指定一个字符串值,例如:

import re
import nltk
import pandas as pd
from nltk.chunk import RegexpParser
from textblob import TextBlob
data = open('data.txt', 'r')
data = data.read()

# region Fetch Account Type
chunkData = r"""DataChunk: {(<NNP><NNP>+<CD>+)}
  }<JJ|IN|DT|TO>+{"""



lines = [line for line in open('data.txt')]
lstLines=data.split('|')
dataLines=[]
for lines in lstLines:
    dataLines=lines.split("\n")

for line in dataLines:
    if 'Data' in line:
        DataTags = TextBlob(line).tags
        Datachunker = RegexpParser(chunkData)
        Datachunked = Datachunker.parse(DataTags)

        for chunk in Datachunked:

                if type(chunk) == nltk.tree.Tree and chunk.label() == "DataChunk":
                    DatachunkedLst = chunk.leaves()
                    Datachunked = [leaf[0] for leaf in DatachunkedLst if leaf[1] == 'CD']
                    Data = '/'.join(Datachunked)
这正好给出了您的错误消息:

type = "context-free"
>type=“上下文无关”
>>>类型(对象())
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“str”对象不可调用
我认为这很有可能发生在这里;至少我经常想到我想在变量中存储某种类型的“类型”,但我通常不会这样做,因为这里有这样的麻烦


<>一个避免错误的方法是使用一个Link:一个在编辑器中运行在后台的工具,检查你的代码并找出危险的东西。我强烈推荐你尝试一个。

你好,Viayy,请考虑写下你想要达到的目标。否则我们只能猜测。请提供一些你正在阅读的数据。data.txt文件您是否有可能为名为
type
的变量(例如
type=“concept-free”)分配字符串值
?一个小时前它还在工作……但我也能打印chunk.label。但是当解释程序试图执行if条件时,它说它不是chunk.label不可调用。我正在尝试使用chunking获取名词和整数的命名实体。这是问题的根源:它应该打印
。正如我在回答中指出的那样,变量
type
可能被分配了一个字符串值–如果它打印为nothing,则可能是空字符串或一些空白字符。但chunk不是字符串人,然后检查conditonI是否从未说过
chunk
是字符串(或“字符串人”,无论是什么).我说的是内置函数
类型
,它可以被重写。
>>> type = "context-free"
>>> type(object())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callable