Статьи

IBM Watson, API для когнитивных вычислений и речи

IBM Watson — это платформа когнитивных вычислений, которую вы можете использовать для добавления аналитики и анализа естественного языка в свои собственные приложения. Watson использует обработку естественного языка, генерацию гипотез и динамическое обучение для предоставления решений для служб вопросов и ответов на естественном языке, анализа настроений, выведения отношений, расширения концепций и услуг по языку / переводу; вы можете проверить его с  помощью облачных сервисов IBM Bluemix .

Уотсон выиграл Jeopardy , занимается генетикой ,   создает рецепты и многое другое. Он открывает новые горизонты ежедневно.

Служба IBM Watson Question Question (QA) предоставляет API, который предоставляет вам возможности системы когнитивных вычислений IBM Watson. С помощью этой услуги вы можете подключаться к Watson, задавать вопросы на естественном языке и получать ответы, которые вы можете использовать в своем приложении.

В этом посте я зацепил Watson QA Node.js стартовый проект в API Web Speech  распознавания речи и синтеза речи API. Используя эти API, вы теперь можете поговорить с Watson. Задайте любой вопрос о здравоохранении и посмотрите, что говорит Уотсон. Посмотрите видео ниже, чтобы увидеть его в действии.

Вы можете посмотреть живую демонстрацию по  адресу:

Просто нажмите на кнопку микрофона, разрешите доступ к системному микрофону и начните говорить.  Просто предупреждение, много фонового шума может помешать способности API распознавать и генерировать значимую расшифровку.

Эта демонстрация поддерживает только  Google Chrome  только на момент написания. Вы можете проверить, где веб-речь поддерживается на caniuse.com.

Вы можете проверить полный исходный код этого примера в IBM Jazz Hub (git):

Я просто взял пример приложения Watson QA для Node.js и начал играть с ним, чтобы посмотреть, что я могу сделать…

В этой демонстрации используется набор данных Watson For Healthcare , который содержит информацию из HealthFinder.gov, CDC, Национального института слуха и крови, Национального института артрита и заболеваний костно-мышечной системы и кожи, Национального института диабета и болезней органов пищеварения и почек, Национального института Институт неврологических расстройств и инсульта и Cancer.gov. Просто знайте, что это бета-сервис / набор данных — реализация Watson для ваших собственных корпоративных решений требует обучения системы и разработки алгоритмов, чтобы Watson могла понимать ваши данные.

Используя Watson с этим набором данных, вы можете задавать условные вопросы, например:

  • Что такое Х?
  • Что вызывает X?
  • Что такое лечение для X?
  • Каковы симптомы Х?
  • Я в опасности Х?

Процедурные вопросы, такие как:

  • Чего мне ожидать до X?
  • Чего мне ожидать после X?

Общие вопросы здоровья, такие как:

  • Каковы преимущества ежедневного приема аспирина?
  • Зачем мне делать снимки?
  • Как узнать, есть ли у меня пищевое отравление?

Или связанные с действиями вопросы, такие как:

  • Как я могу бросить курить?
  • Что мне делать, если мой ребенок страдает ожирением?
  • Что я могу сделать, чтобы получить больше кальция?

Сервисы Watson предоставляются через RESTful API и могут быть легко интегрированы в существующее приложение. Например, вот фрагмент, демонстрирующий, как вы можете использовать службу QS Watson внутри приложения Node.js.

var parts = url.parse(service_url +'/v1/question/healthcare');
var options = {
host: parts.hostname,
port: parts.port,
path: parts.pathname,
method: 'POST',
headers: {
  'Content-Type'  :'application/json',
  'Accept':'application/json',
  'X-synctimeout' : '30',
  'Authorization' :  auth
}
};
 
// Create a request to POST to Watson
var watson_req = https.request(options, function(result) {
  result.setEncoding('utf-8');
  var response_string = '';
 
  result.on('data', function(chunk) {
    response_string += chunk;
  });
 
  result.on('end', function() {
    var answers = JSON.parse(response_string)[0];
    var response = extend({ 'answers': answers },req.body);
    return res.render('response', response);
  });
});

Подключиться к API Web Speech так же просто (если вы используете браузер, который реализует API Web Speech — я создал эту демонстрацию с использованием Chrome на OS X). На стороне клиента вам просто нужно создать экземпляр SpeechRecognition и добавить соответствующие обработчики событий.

var recognition = new webkitSpeechRecognition();
 recognition.continuous = true;
 recognition.interimResults = true;
 
 recognition.onstart = function() { ... }
 recognition.onresult = function(event) {
 
   var result = event.results[event.results.length-1];
   var transcript = result[0].transcript;
 
   // then do something with the transcript
   search( transcript );
 };
 recognition.onerror = function(event) { ... }
 recognition.onend = function() { ... }

Чтобы заставить ваше приложение общаться с вами (синтезировать речь), вам просто нужно создать новый объект SpeechSynthesisUtterance и передать его в функцию window.speechSynthesis.speak (). При необходимости вы можете добавить прослушиватели событий для обработки речевых событий.

var msg = new SpeechSynthesisUtterance( tokens[i] );
 
msg.onstart = function (event) {
    console.log('started speaking');
};
 
msg.onend = function (event) {
    console.log('stopped speaking');
};
 
window.speechSynthesis.speak(msg);

Проверьте эти статьи на HTML5Rocks.com подробнее о распознавании речи и синтезе речи .

Вот эти ссылки снова …

Вы можете начать работу со службами Watson для Bluemix по адресу  https://console.ng.bluemix.net/#/store/cloudOEPaneId=store.