Watson API не отвечает при отправке текста, созданного с помощью распознавания речи - PullRequest
0 голосов
/ 26 мая 2018

Я использую chrome webkit для распознавания текста и IBM watson assistant.Каждый раз, когда моя речь / текст содержит «?»он должен отправлять содержимое стенограммы в watson через API, но мой текст стенограммы не читается Watson.Для нормального текста, вводимого с клавиатуры, этот фрагмент кода работает без проблем

<label for="textInput" class="inputOutline">
          <input id="textInput" class="input responsive-column"
            placeholder="Type something" type="text" value=""
            onkeydown="/*globals CanvasJS */
            ConversationPanel.inputKeyDown(event, this)">
        </label>

Я заменил этот код на эти два ...

<label for="textInput" class="inputOutline">
<div id="textInput" class="input responsive-column" type="text" ></div></label>

if(finalTranscripts.includes('?')){
           Api.sendRequest(finalTranscripts, this);


          } 

Это контекст ....

<body>
  <div id="contentParent" class="responsive-columns-wrapper">
    <div id="chat-column-holder" class="responsive-column content-column">
      <div class="chat-column">
        <div id="scrollingChat"></div>

       
<label for="textInput" class="inputOutline">
<div id="textInput" class="input responsive-column" type="text" ></div></label>




<button onclick="startConverting();"><i class="fa fa-microphone"></button>
<script type="text/javascript">



	var r = document.getElementById('textInput');
	function startConverting (){

		if('webkitSpeechRecognition' in window){
	var speechRecognizer = new webkitSpeechRecognition();
	speechRecognizer.continuous = true;
	speechRecognizer.interimResults = true;
  speechRecognizer.lang = 'en-IN';
	speechRecognizer.start();

	var finalTranscripts = '';

	speechRecognizer.onresult = function(event){
          var interimTranscripts = '';
          for(var i = event.resultIndex; i < event.results.length; i++){
          	var transcript = event.results[i][0].transcript; 
          	transcript.replace("\n", "<br>");
          	if(event.results[i].isFinal){
          		finalTranscripts += transcript;
          	}else{
          		interimTranscripts += transcript;
          	}}
 

 if(finalTranscripts.includes('!')){
           window.alert('It works');


          }


 if(finalTranscripts.includes('?')){
           Api.sendRequest(finalTranscripts, this);


          }         

          r.innerHTML = finalTranscripts + '<span style="color#999' +interimTranscripts + '</span>'; 
	};

	speechRecognizer.onerror = function (event) {
  };



}else {
	r.innerHTML = 'please update google chrome ';
}

	}



</script>

К сожалению, это не работает.Как я уже говорил, похоже, что Уотсон не читает содержание моей речи ...

(ConversationPanel и inputKeyDown определены в файле .js)

Я рад за всепомощи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...