我已经成功地训练了一个googleautoml自然语言模型来使用自定义标签对文本进行多标签分类。你知道吗
我还能够使用经过训练的数据集生成的python函数对Jupyter笔记本中Pandas数据框中包含的文本生成预测。你知道吗
但是我不知道如何使用结果,尤其是如何操作它,以便对我有用。你知道吗
下面是我的代码当前的样子:
r = #api call to get text
df = pd.read_csv(StringIO(r.text), usecols=['text_to_predict'])
df['Category_Predicted'] = df.apply(lambda row: get_prediction(row.review, 'xxx', 'xxxx')
df['Category\u Predicted'].head()的输出为
0 payload {\n classification {\n score: 0.61...
Name: Category_Predicted, dtype: object
一个简单的(可读性更强的)预测结果
payload {
classification {
score: 0.6122230887413025
}
display_name: "Shopping"
}
payload {
classification {
score: 0.608892023563385
}
display_name: "Search"
}
payload {
classification {
score: 0.38840705156326294
}
display_name: "Usability"
}
payload {
classification {
score: 0.2736874222755432
}
display_name: "Stability"
}
payload {
classification {
score: 0.011237740516662598
}
display_name: "Profile"
}
#......................(continues on for all categories)
现在,我的主要目标是让df['Category\u expected']成为一个字段,其中最顶层(最相关)的类别在一个简单的列表中用逗号分隔。上面的例子是
Shopping, Search, Usability
(取决于您希望根据分数保留标签的距离)
所以我手上有几个:
如何使用python访问此字段以获取类别及其相关分数?
如何操作它来创建单个字符串?
谢谢!你知道吗
编辑
根据评论中的要求,下面的一些示例表示我的数据帧中的2条记录(非完整)有效负载,其中在所需结果中,我过滤了得分大于0.3的结果。由于文本字段太大,我不得不使用用于表示而不是ascii表的“自定义”解决方案
第1行-预测文本
到目前为止应用程序很棒。只是遗憾的是,你不能在旧的应用程序中看到你仍然在你的购物或你的最爱是什么。这个事实已经不复存在了。再加上,你现在必须进入新的一切!!!
第1行-预测输出
payload {
classification {
score: 0.6122230887413025
}
display_name: "Shopping"
}
payload {
classification {
score: 0.608892023563385
}
display_name: "Search"
}
payload {
classification {
score: 0.38840705156326294
}
display_name: "Usability"
}
payload {
classification {
score: 0.2736874222755432
}
display_name: "Stability"
}
第1行-所需输出
购物、搜索、可用性
第2行-预测文本
第二次你让我们觉得一个新应用程序的笑话比第一次更糟糕。多久之后用这个程序升级?一点也不直观,不太清楚。。。简言之,不是上一个的水平
第2行-预测输出
payload {
classification {
score: 0.9011210203170776
}
display_name: "Usability"
}
payload {
classification {
score: 0.8007309436798096
}
display_name: "Shopping"
}
payload {
classification {
score: 0.5114057660102844
}
display_name: "Stability"
}
payload {
classification {
score: 0.226901113986969
}
display_name: "Search"
}
第2行-所需输出
可用性、购物、稳定性
我从你的问题中了解到的是,你想要的是最相关的类别。我将您的预测字符串输出放在一个文本文件中,例如
out.txt
对于上述共享的预测结果,得到了结果:你知道吗
我知道回答我自己的问题是不好的,但我想如果有人寻找同样的问题,他们可能会找到解决办法。你知道吗
作为google.cloud.automl\u v1beta1定义它,方法get\u prediction的返回值是PredictResponse(https://cloud.google.com/natural-language/automl/docs/reference/rpc/google.cloud.automl.v1beta1#predictresponse)类型的对象
通过使用此类对象的文档和可用结构,我发现这段代码可以做到这一点
相关问题 更多 >
编程相关推荐