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 подробнее о распознавании речи и синтезе речи .
Вот эти ссылки снова …
- Живое интерактивное приложение (требуется Chrome): https://watsonhealthqa.mybluemix.net/
- Полный источник: https://hub.jazz.net/project/andrewtrice/WatsonHealthQA-SpeechAPI/overview
Вы можете начать работу со службами Watson для Bluemix по адресу https://console.ng.bluemix.net/#/store/cloudOEPaneId=store.