下面的代码非常简单。但是,当我执行它时,我总是从 Watson-Conversation 服务收到{"error":"Unsupported Media Type"}。请帮助告诉我问题出在哪里。
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_POST => true,
CURLOPT_URL => "https://watson-api-explorer.mybluemix.net/conversation/api/v1/workspaces/70b056e6-14a0-424f-9631-696272ce666e/message?version=2016-09-20",
CURLOPT_USERPWD => "{MYUSERNAME}:{MYPASSWORD}",
CURLOPT_POSTFIELDS => array('message' => '{ "input": { "text": "Hola" }, "alternate_intents": false }'),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => true
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err)
{
echo "cURL Error #:" . $err;
}
else
{
echo $response;
}
Run Code Online (Sandbox Code Playgroud)
非常感谢。
IBM Watson Conversation和Natural Language Classifier有什么区别?
会话:https://www.ibm.com/watson/developercloud/conversation.html
自然语言分类器:https://console.ng.bluemix.net/catalog/services/natural-language-classifier/
在这种情况下,我试图看看是否有可能或者是否有办法让沃森根据时间识别这段时间.
conversation_start夜间沃森说:晚上好!conversation_startBy By morning time Watson说:早上好!conversation_start按下午时间沃森说:下午好!实际上我创建了一个权利,@time如果用户键入晚安,实体保存,Watson完全响应用户键入的内容.
我的回应条件是:
@time, how are you?
Run Code Online (Sandbox Code Playgroud)
例:
看到它是相同的答案,因为我创建了一个具有这些时期的实体
检查图片:
我想知道如果有可能自动执行或者我必须开发一些代码来执行此操作,并且如果可能的话,一个示例.
我试图通过来自IBM的API文档从我的node.js应用程序中使用Watson转换器服务https://www.ibm.com/watson/developercloud/alchemyvision/api/v1/#apiexplorer
var request = require("request");
var LanguageTranslatorV3 = require('watson-developer-cloud/language-translator/v3');
var english_message
var languageTranslator = new LanguageTranslatorV3({
version: '2018-05-01',
username: '1234',
password: '1234',
url: 'https://gateway.watsonplatform.net/language-translator/api'
});
function translatorEnglish(message) {
var parameters = {
text: message.text,
model_id: 'es-en'
};
languageTranslator.translate(
parameters,
function(error, response, body) {
if (error)
console.log(error)
else
console.log(JSON.stringify(response, null, 2));
}
);
}
Run Code Online (Sandbox Code Playgroud)
我在日志中得到以下正确的响应
{
"translations": [
{
"translation": "Hi."
}
],
"word_count": 1,
"character_count": 4
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试提取输出转换值时,我总是得到输出Undefined.
console.log(response.translations.translation); => undefined
Run Code Online (Sandbox Code Playgroud)
如果我做错了什么,你可以检查并告诉我吗?
谢谢
当我将Watson Assistant示例代码用于Python时,它可以在python 3.6.5上完美运行。
但是我得到了错误:
TypeError: 'DetailedResponse' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)
当我尝试在python 3.6.6中执行代码时,它失败的命令是:
if response['output']['text']:
print(response['output']['text'][0])
Run Code Online (Sandbox Code Playgroud)
如果我打印对象响应的类型,则会得到:
任何指针将不胜感激!
我使用IBM Cloud Watson Assistant制作了一个聊天机器人,我需要在我的Android应用程序中使用它.这是我的config.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Watson Conversation Service Credentials -->
<string name="workspace_id">???</string>
<string name="conversation_username">2m5tAP3W_ELNzcKlc4B5mRN6R-QXtF1C9zS22XzYXYbA</string>
<string name="conversation_password">2m5tAP3W_ELNzcKlc4B5mRN6R-QXtF1C9zS22XzYXYbA</string>
<!--Watson Speech-To-Text Service Credentials-->
<string name="STT_username">yP4_u_mm3mhVNn9zcgIMFakfbcUO2Q4L5cxbLhYpn8WN</string>
<string name="STT_password">yP4_u_mm3mhVNn9zcgIMFakfbcUO2Q4L5cxbLhYpn8WN</string>
<!--Watson Text-To-Speech Service Credentials-->
<string name="TTS_username">-t1Rljl4Mu1pdno09T2OXeMnQOyPPBgrEDieZSwsVzJX</string>
<string name="TTS_password">-t1Rljl4Mu1pdno09T2OXeMnQOyPPBgrEDieZSwsVzJX</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
我知道在服务中使用API密钥而不是userName和密码.我的问题是我找不到聊天机器人的工作区ID.我搜索了很多,但我找不到它.
我正在尝试将 Watson Assistant 的输出放入一个变量中。因此,据我搜索,我需要获取 json 的“输出”和“文本”部分(起初它是一个 dict,但后来我们将其解析为 json)。但我似乎无法理解:
我已经在这两个问题中搜索过:这是一个给 watson 这个一个用于解析 json
代码非常简单:访问我的机器人,并输入“行程”。我已经取出了 api 和工作区,但我有它们(显然)。
if __name__ == '__main__':
assistant = watson_developer_cloud.AssistantV1(
iam_apikey='{YOUR API HERE}',
version='2018-09-20',
url='https://gateway-syd.watsonplatform.net/assistant/api'
)
response = assistant.message(
workspace_id='{YOUR WORKSPACE HERE}',
input={
'text': 'trips'
}
).get_result()
fullResponse=json.dumps(response, indent=2)
print(fullResponse)
print("testing to print the output: ")
respuesta=json.dumps(response, indent=2)
#print(respuesta['output'][0]['text'])
print(respuesta['output']['text'])
Run Code Online (Sandbox Code Playgroud)
和输出:
Traceback (most recent call last):
"intents": [
File "C:/Users/.PyCharmCE2018.3/config/scratches/pruebaMain.py", line 105, in <module>
{
print(respuesta['output']['text'])
"intent": "trips",
TypeError: string indices must be integers
"confidence": 1
} …Run Code Online (Sandbox Code Playgroud) 今天在我的Raspberry Pi上设置 IBM Watson Conversation 服务后,我很失望地看到我必须写出所有可能的输入(意图)和输出(实体)。把这归结为我对机器学习的极端天真,但是有没有办法与现有的对话功能相结合?
例如,我确信 Watson 已经知道 Hello 的所有单词及其正确的响应。或者如何回答各种愚蠢的问题。有什么办法可以利用我们在 Jeopardy 上看到的 Watson吗?
谢谢你的帮助!
我在沃森谈话中遇到时间价值问题.在"立即尝试"面板中,当前时间是正确的(使用now()函数),但是当我使用bluemix或facebook messenger上部署的对话时,时间是两个小时.例:
in "try now" panel -> 13:30
in bluemix chat -> 11:30
in facebook messenger -> 11:30
Run Code Online (Sandbox Code Playgroud)
似乎像bluemix自动设置utc +00.我该如何解决这个问题?
提前致谢!
我试图通过Java应用程序访问Watson对话服务。因此,我在Bluemix上创建了Service并编写了一个小型Application。
package de.kkh.comp.WatsonDemo;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import com.ibm.watson.developer_cloud.conversation.v1.ConversationService;
import com.ibm.watson.developer_cloud.conversation.v1.model.MessageRequest;
import com.ibm.watson.developer_cloud.conversation.v1.model.MessageResponse;
public class App {
private static final String USERNAME = "{USERNAME}";
private static final String PASSWORD = "{PASSWORD}";
private static final String WORKSPACE_ID = "{WORKSPACE_ID}";
public static void main(String[] args) {
ConversationService service = new ConversationService(ConversationService.VERSION_DATE_2017_02_03);
service.setUsernameAndPassword(USERNAME, PASSWORD);
MessageRequest newMessage = new MessageRequest.Builder().inputText("Hallo").context(new HashMap<String,Object>()).build();
MessageResponse response = service.message(WORKSPACE_ID, newMessage).execute();
System.out.println(response);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望我能得到Watson Service的简单答复。
如果我运行该应用程序,尽管我使用了Bluemix给出的凭证,但是会出现未授权异常。
Aug 02, 2017 7:56:19 PM okhttp3.internal.platform.Platform …Run Code Online (Sandbox Code Playgroud) ibm-watson ×6
ibm-cloud ×4
android ×1
java ×1
javascript ×1
nlp ×1
node.js ×1
python ×1
python-3.x ×1
undefined ×1