微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

得到结果的概率不同

如何解决得到结果的概率不同

我这里有一个情感分析代码和 json,它支持通过 csv 或 txt 的多个句子

这里的json看起来像他们得到结果的地方

{"text_sentiment": "positive","text_probability": [0.33917574607174916,0.26495590980799744,0.3958683441202534]}

这是我的单句代码

single_sentence = st.text_input('Enter Sentence Below:')
if single_sentence:
    url = 'http://.com/classify/?text='+ single_sentence
    r = requests.get(url)
    result = r.json()["text_sentiment"]
    proba = r.json()["text_probability"]
    proba_rd = [i*100 for i in proba]
    

多句

multiple_sentence = st.file_uploader("Upload your file input here",type=["csv","txt"])
if multiple_sentence is not None:
    input_c = pd.DataFrame(columns=['Comments','Result'])
    for i in range(input_df.shape[0]):
        url = 'http://.com/classify/?text='+str(input_df.iloc[i])
        r = requests.get(url)
        result = r.json()["text_sentiment"]
        proba = r.json()["text_probability"]
        proba_test = [i*100 for i in proba]
        input_c = input_c.append({'Comments': input_df.loc[i].to_string(index=False),'Result': result,'Probability': max(proba_test)},ignore_index = True)
        input_c.set_index('Probability')
    st.write(input_c)

我会用这句话来得到结果

"The product is one of the best out there."

这是我在单句中使用时的结果

{"text_sentiment": "positive","text_probability": [0.17189643331103147,0.17537792497833374,0.6527256417106349]}

这里是多个句子

{"text_sentiment": "positive","text_probability": [0.23948938642478806,0.18262169847430867,0.5778889151009032]}

知道为什么会这样吗?他们都在同一个 url/json 上得到结果。

我也尝试在多句中更改此代码

url = 'http://.com/classify/?text='+str(input_df.iloc[i])

进入

url = 'http://.com/classify/?text='+str(input_df.loc[i].to_string)

它也给出了不同的结果

编辑:nvm 我修复了它 使用此代码

url = 'http://.com/classify/?text='+str(input_df.loc[i,0])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。