AttributeError: 'LanguageServiceClient' object has no attribute 'classify_text'
AttributeError: 'LanguageServiceClient' object has no attribute 'classify_text'
我正在尝试对一些文本进行分类并具有以下代码:
from google.cloud import language
from google.cloud.language import enums
from google.cloud.language import types
def classify_text(text):
"""Classifies content categories of the provided text."""
client = language.LanguageServiceClient()
if isinstance(text, six.binary_type):
text = text.decode('utf-8')
document = types.Document(
content=text.encode('utf-8'),
type=enums.Document.Type.PLAIN_TEXT)
categories = client.classify_text(document).categories
for category in categories:
print(u'=' * 20)
print(u'{:<16}: {}'.format('name', category.name))
print(u'{:<16}: {}'.format('confidence', category.confidence))
但是当我调用:classify_text('Hello')
,我得到:
AttributeError: 'LanguageServiceClient' object has no attribute 'classify_text'
我似乎在 SO 上找不到关于此错误的任何问题。有人知道这里发生了什么吗?
尝试:
categories = client.classify_text(document)
cat = categories.categories
这是基本调试,我知道。
您也可以注释掉文档的声明并执行此操作:
document = {}
并检查它是否抛出相同的错误。
因为它应该 return 任何一种方式 ClassifyTextResponse
,也许这会开始将问题分成几部分。这种情况最好一一攻击。
我使用的版本 0.29 已弃用。当前版本为1.1,正确的函数如下:
def classify(text, verbose=True):
"""Classify the input text into categories. """
language_client = language.LanguageServiceClient()
document = language.types.Document(
content=text,
type=language.enums.Document.Type.PLAIN_TEXT)
response = language_client.classify_text(document)
categories = response.categories
result = {}
for category in categories:
# Turn the categories into a dictionary of the form:
# {category.name: category.confidence}, so that they can
# be treated as a sparse vector.
result[category.name] = category.confidence
if verbose:
print(text)
for category in categories:
print(u'=' * 20)
print(u'{:<16}: {}'.format('category', category.name))
print(u'{:<16}: {}'.format('confidence', category.confidence))
return result
找到那个函数here, but the function I mistakenly used is found here
我正在尝试对一些文本进行分类并具有以下代码:
from google.cloud import language
from google.cloud.language import enums
from google.cloud.language import types
def classify_text(text):
"""Classifies content categories of the provided text."""
client = language.LanguageServiceClient()
if isinstance(text, six.binary_type):
text = text.decode('utf-8')
document = types.Document(
content=text.encode('utf-8'),
type=enums.Document.Type.PLAIN_TEXT)
categories = client.classify_text(document).categories
for category in categories:
print(u'=' * 20)
print(u'{:<16}: {}'.format('name', category.name))
print(u'{:<16}: {}'.format('confidence', category.confidence))
但是当我调用:classify_text('Hello')
,我得到:
AttributeError: 'LanguageServiceClient' object has no attribute 'classify_text'
我似乎在 SO 上找不到关于此错误的任何问题。有人知道这里发生了什么吗?
尝试:
categories = client.classify_text(document)
cat = categories.categories
这是基本调试,我知道。
您也可以注释掉文档的声明并执行此操作:
document = {}
并检查它是否抛出相同的错误。
因为它应该 return 任何一种方式 ClassifyTextResponse
,也许这会开始将问题分成几部分。这种情况最好一一攻击。
我使用的版本 0.29 已弃用。当前版本为1.1,正确的函数如下:
def classify(text, verbose=True):
"""Classify the input text into categories. """
language_client = language.LanguageServiceClient()
document = language.types.Document(
content=text,
type=language.enums.Document.Type.PLAIN_TEXT)
response = language_client.classify_text(document)
categories = response.categories
result = {}
for category in categories:
# Turn the categories into a dictionary of the form:
# {category.name: category.confidence}, so that they can
# be treated as a sparse vector.
result[category.name] = category.confidence
if verbose:
print(text)
for category in categories:
print(u'=' * 20)
print(u'{:<16}: {}'.format('category', category.name))
print(u'{:<16}: {}'.format('confidence', category.confidence))
return result
找到那个函数here, but the function I mistakenly used is found here