RU2646350C2 - Способ ввода данных в электронное устройство, способ обработки голосового запроса, машиночитаемый носитель (варианты), электронное устройство, сервер и система - Google Patents

Способ ввода данных в электронное устройство, способ обработки голосового запроса, машиночитаемый носитель (варианты), электронное устройство, сервер и система Download PDF

Info

Publication number
RU2646350C2
RU2646350C2 RU2015102279A RU2015102279A RU2646350C2 RU 2646350 C2 RU2646350 C2 RU 2646350C2 RU 2015102279 A RU2015102279 A RU 2015102279A RU 2015102279 A RU2015102279 A RU 2015102279A RU 2646350 C2 RU2646350 C2 RU 2646350C2
Authority
RU
Russia
Prior art keywords
text
electronic device
application
tags
user
Prior art date
Application number
RU2015102279A
Other languages
English (en)
Other versions
RU2015102279A (ru
Inventor
Евгений Михайлович Волков
Денис Сергеевич Филиппов
Илья Алексеевич Мельников
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Priority to RU2015102279A priority Critical patent/RU2646350C2/ru
Priority to EP15879783.7A priority patent/EP3251113A4/en
Priority to PCT/IB2015/053789 priority patent/WO2016120675A1/en
Priority to US15/525,614 priority patent/US20170372700A1/en
Publication of RU2015102279A publication Critical patent/RU2015102279A/ru
Application granted granted Critical
Publication of RU2646350C2 publication Critical patent/RU2646350C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)

Abstract

Изобретение относится к вводу данных в электронное устройство и обработке голосового запроса, введенного в электронное устройство. Технический результат - обеспечение обработки голосовых запросов пользователя для заполнения частей интерфейса в пользовательских приложениях с помощью понимания естественного языка (NLU) текста, который был распознан в голосовом запросе пользователя, без необходимости вручную выбирать, какую конкретно часть интерфейса пользователь хочет заполнить с помощью голоса. Устройство для обработки голосового запроса выполнено с возможностью получения по меньшей мере одной части текста, связанной с соответствующим тегом, полученным из голосового запроса путем перевода голосового запроса в текст, анализа текста для предоставления по меньшей мере одной части текста и установления связи по меньшей мере одной части текста с соответствующим тегом из множества тегов. По меньшей мере одно поле ввода приложения заполняется в соответствии с частью текста, связанной с соответствующим тегом, соответствующим полю ввода. 7 н. и 18 з.п. ф-лы, 6 ил.

Description

Область техники, к которой относится изобретение
Настоящая технология относится к способам ввода данных в электронное устройство и способам обработки голосового запроса, введенного в электронное устройство.
Уровень техники
Преобразование речи в текст хорошо известно в данной области техники. Обычно пользователь электронного устройства со встроенным микрофоном позволяет микрофону улавливать аудиосигнал, соответствующий части речи, и использовать распознаватель речи. Распознаватель речи далее выводит строку текста либо операционной системе электронного устройства, либо приложению, работающему на электронном устройстве.
Распознавание речи считается серьезной нагрузкой на процессор, и даже в современных смартфонах или планшетах, как правило, используется удаленный сервер, запускающий систему для распознавания речи. Таким образом, провайдеры, такие как, например, Google и Yandex, предоставляют серверы распознавания речи (см. http://api.yandex.com/speechkit/), которые доступны через соответствующий интерфейс программирования.
Приложение или операционная система, которая работает в сети с поддержкой удаленного электронного устройства, может предоставлять уловленный аудиосигнал серверу распознавания речи, который, в свою очередь, выводит строку текста, которую может использовать приложение или операционная система, например, для заполнения строки сообщения в приложении для обмена сообщениями, для получения перевода речи пользователя на другой язык, для формирования основы поискового запроса или выполнения какой-либо команды операционной системы.
Примеры подобной технологии включают в себя описание к патенту США №US 8731942, опубл. 20.05.2014, принадлежащему компании Apple, в котором описана работа цифрового помощника, известного как Siri. Техническое решение по патенту США №US 8731942 связано с поддержкой контекстной информации между пользовательскими взаимодействиями. Цифровой помощник выполняет первую задачу с помощью первого параметра. Текстовая строка поступает в виде голосового ввода, полученного от пользователя. На основе, по меньшей мере частично, поисковой строки определяется вторая задача, отличающаяся от первой задачи, или второй параметр, отличающийся от первого параметра. Первая задача выполняется с использованием второго параметра или вторая задача выполняется с использованием первого параметра.
В патентной заявке США №US20140163983, опубл. 12.06.2014, принадлежащей компании LG, описан способ отображения переведенного в текстовую форму голоса на дисплее устройства, в котором процессор предоставляет интерфейс просмотра текста, отображающий по меньшей мере часть текста на дисплее в ответ на первый ввод пользователя и предоставляет интерфейс вывода текста, отображающий текст на дисплее в ответ на второй ввод пользователя.
Другая частая форма пользовательского взаимодействия с электронным устройством включает в себя заполнение форм либо в соответствующем приложении, либо в сетевом приложении, работающем в веб-браузере.
Несмотря на то что некоторые браузеры или браузерные агенты обладают функцией автозаполнения, позволяющей заполнять поля формы ранее сохраненными учетными данными пользователя, пользователи обычно не используют голосовой ввод для заполнения форм.
Происходит это по причине того, что для взаимодействия с интерфейсом широкого использования, включающим множество полей с возможностью голосового ввода, пользователям обычно необходимо вручную выбирать, какие именно поля они хотят заполнить, и далее надиктовать текст для этого поля. Таким образом, пользователь выбирает поле ввода А, заполняет его с помощью голосового ввода, далее выбирает поле ввода В, заполняет его, и так далее. Очевидно, что это является затруднительным.
Термин "поле ввода" включает в себя не только поля ввода текста, в которые пользователь свободно вводит текст в текстовое окно, например поле имени или поле адреса, но и любой другой интерфейс пользователя, с помощью которого пользователь может вводить информацию в приложение, например окно флажка, зависимые кнопки, календарные виджеты или выпадающие меню.
Как будет видно в каждом из других примеров, выбор поля ввода и попытка надиктовать команду по меньшей мере не будут интуитивно понятными пользователю, если не вовсе невозможными.
Раскрытие изобретения
Первым объектом настоящей технологии является способ ввода данных в электронное устройство, включающий в себя: получение голосового запроса через голосовой интерфейс электронного устройства; получение множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, относящегося к приложению на упомянутом электронном устройстве; получение по меньшей мере одной части текста, связанной с соответствующим тегом, который является производным от упомянутого голосового запроса; заполнение по меньшей мере одного поля ввода упомянутого приложения с помощью соответствующей части текста, которая связана с соответствующим тегом, связанным с полем ввода.
Возможен вариант осуществления способа, в котором каждый из упомянутого множества тегов предоставляет семантическое описание для соответствующего поля ввода.
Возможен вариант осуществления способа, в котором упомянутое приложение включает в себя веб-приложение, упомянутое веб-приложение включает в себя множество веб-страниц, каждая страница включает в себя по меньшей мере одно поле ввода, множество упомянутых полей ввода обладает соответствующими тегами.
Возможен вариант осуществления способа, в котором по меньшей мере одна из упомянутых веб-страниц включает в себя определение потока операций, и это определение указывает на последовательность страниц, включая упомянутое веб-приложение, и для каждой страницы - набор идентификаторов для каждого поля ввода упомянутой страницы.
Возможен вариант осуществления способа, в котором упомянутое определение потока операций включает в себя логику определения условной последовательности страниц в рамках упомянутого веб-приложения.
Возможен вариант осуществления способа, в котором упомянутые идентификаторы включают в себя теги для упомянутых полей ввода.
Возможен вариант осуществления способа, в котором на упомянутом этапе получения по меньшей мере одной части текста выполняют предоставление упомянутого голосового запроса, а также индикатора упомянутого множества тегов, связанных с соответствующими полями ввода упомянутого приложения, серверу преобразования речи в текст; и получают упомянутую по меньшей мере одну часть текста, связанную с соответствующим тегом, от упомянутого сервера преобразования речи в текст.
Возможен вариант осуществления способа, в котором упомянутый индикатор включает в себя URL веб-приложения.
Возможен вариант осуществления способа, в котором упомянутый индикатор включает в себя упомянутые теги.
Возможен вариант осуществления способа, в котором дополнительно: выполняют поиск семантической пользовательской информации, доступной на упомянутом электронном устройстве в ответ на получение части текста с нулевым значением текста, связанной с соответствующим тегом для поля ввода упомянутого приложения; заполняют упомянутое поле ввода упомянутого приложения, связанного с упомянутым тегом, с помощью упомянутой семантической пользовательской информации в ответ на получение семантической пользовательской информации, совпадающей с упомянутым соответствующим тегом с частью текста с нулевым значением текста.
Возможен вариант осуществления способа, в котором упомянутая семантическая пользовательская информация включает одно из: личную информацию пользователя; контактную информацию пользователя; информацию о местонахождении пользователя; историю браузера пользователя; избранные вебстраницы пользователя.
Вторым объектом настоящей технологии является способ обработки голосового запроса, включающий в себя: получение голосового запроса через голосовой интерфейс электронного устройства; получение множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, для приложения на упомянутом электронном устройстве; перевод голосового запроса в текст; анализ текста для предоставления по меньшей мере одной части текста; установление связи по меньшей мере одной части текста с соответствующим тегом из множества тегов; передачу электронному устройству по меньшей мере части текста с указанием соответствующего тега.
Возможен вариант осуществления способа, в котором каждый из упомянутого множества тегов предоставляет семантическое описание для соответствующего поля ввода.
Возможен вариант осуществления способа, в котором упомянутое приложение включает в себя веб-приложение, упомянутое веб-приложение включает в себя множество веб-страниц, каждая страница включает в себя по меньшей мере одно поле ввода, множество упомянутых полей обладает соответствующими тегами.
Возможен вариант осуществления способа, в котором по меньшей мере одна из упомянутых веб-страниц включает в себя определение потока операций, и это определение указывает на последовательность страниц, включая упомянутое веб-приложение, и для каждой страницы - набор идентификаторов для каждого поля ввода упомянутой страницы.
Возможен вариант осуществления способа, в котором упомянутое определение потока операций включает в себя логику определения условной последовательности страниц в рамках упомянутого веб-приложения.
Возможен вариант осуществления способа, в котором упомянутые идентификаторы включают в себя теги для упомянутых полей ввода.
Возможен вариант осуществления способа, в котором на упомянутом этапе анализа текста используют понимание естественного языка для предоставления упомянутой по меньшей мере одной части текста.
Возможен вариант осуществления способа, в котором на упомянутом этапе получения упомянутого множества тегов выполняют: получение URL веб-приложения от упомянутого электронного устройства, извлечение веб-страницы из упомянутого URL, и извлечение упомянутых тегов от упомянутой веб-страницы.
Возможен вариант осуществления способа, в котором на упомянутом этапе получения упомянутого множества тегов выполняют: получение упомянутого множества тегов от упомянутого электронного устройства.
Другим объектом настоящей технологии является машиночитаемый носитель, включающий в себя программные инструкции, выполненные с возможностью инициирования выполнения электронным устройством: получения голосового запроса через голосовой интерфейс электронного устройства; получения множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, относящегося к приложению на упомянутом электронном устройстве; получения по меньшей мере одной части текста, связанной с соответствующим тегом, который является производным от упомянутого голосового запроса; заполнения по меньшей мере одного поля ввода упомянутого приложения с помощью соответствующей части текста, которая связана с соответствующим тегом, связанным с полем ввода.
Еще одним объектом настоящей технологии является машиночитаемый носитель, включающий в себя программные инструкции, выполненные с возможностью инициирования выполнения сервером: получения голосового запроса через голосовой интерфейс электронного устройства; получения множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, для приложения на упомянутом электронном устройстве; перевода голосового запроса в текст; анализа текста для предоставления по меньшей мере одной части текста; установления связи по меньшей мере одной части текста с соответствующим тегом из множества тегов; и передачи электронному устройству по меньшей мере части текста с указанием соответствующего тега.
Другим объектом настоящей технологии является электронное устройство, включающее в себя компонент, работающий в сочетании с пользовательским интерфейсом приложения, и выполненное с возможностью: получения голосового запроса через голосовой интерфейс электронного устройства; получения множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, относящегося к приложению на упомянутом электронном устройстве; получения по меньшей мере одной части текста, связанной с соответствующим тегом, который является производным от упомянутого голосового запроса; заполнения по меньшей мере одного поля ввода упомянутого приложения с помощью соответствующей части текста, которая связана с соответствующим тегом, связанным с полем ввода.
Другим объектом настоящей технологии является сервер, связанный с одним или несколькими электронными устройствами в сети передачи данных и выполненный с возможностью: получения голосового запроса через голосовой интерфейс электронного устройства; получения множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, для приложения на упомянутом электронном устройстве; перевода голосового запроса в текст; анализа текста для предоставления по меньшей мере одной части текста; установления связи по меньшей мере одной части текста с соответствующим тегом из множества тегов; передачи электронному устройству по меньшей мере части текста с указанием соответствующего тега.
Другим объектом настоящей технологии является система, включающая в себя множество электронных устройств в соответствии с п.23, связанных с сервером по п.24 в сети передачи данных.
Технология относится к области обработки голосовых запросов пользователя для заполнения частей интерфейса в пользовательских приложениях с помощью понимания естественного языка (NLU) текста, который был распознан в голосовом запросе пользователя. Технология позволяет пользователю заполнять интерфейс приложения с помощью голоса без необходимости вручную выбирать, какую конкретно часть интерфейса пользователь хочет заполнить с помощью голоса.
Технология включает в себя создание и сопоставление тегов для частей пользовательского приложения с помощью голосового запроса пользователя на естественном языке для автоматического заполнения частей интерфейса приложения частями текста, полученными из голосового запроса пользователя на естественном языке.
В контексте настоящего описания, если конкретно не указано иное, «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от электронных устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные инструкции или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может являться одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».
В контексте настоящего описания, если конкретно не указано иное, «электронное устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами электронных устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как электронное устройство в настоящем контексте, может вести себя как сервер по отношению к другим электронным устройствам. Использование выражения «электронное устройство» не исключает возможности использования множества электронных устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода.
В контексте настоящего описания, если конкретно не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, которое выполняет процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или же она может находиться на отдельном оборудовании, например выделенном сервере или множестве серверов.
В контексте настоящего описания, если конкретно не указано иное, термин «информация» включает в себя любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
В контексте настоящего описания, если конкретно не указано иное, термин «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
В контексте настоящего описания, если конкретно не указано иное, термин «машиночитаемый носитель» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первый сервер" и "третий сервер " не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
Каждый вариант осуществления настоящей технологии включает по меньшей мере одну из вышеупомянутых целей. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.
Дополнительные и/или альтернативные характеристики и варианты осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы технологии.
Краткое описание чертежей
Далее будут описаны различные примерные варианты осуществления технологии со ссылками на соответствующие чертежи, где:
- на Фиг. 1 представлена схема системы, включающей электронное устройство для обработки голосовых запросов пользователя, устройство реализовано в соответствии с неограничивающими вариантами осуществления настоящей технологии;
- на Фиг. 2 представлен первый пример части веб-страницы, включающей в себя ряд полей ввода;
- на Фиг. 3 представлен второй пример части веб-страницы, включающей в себя ряд полей ввода;
- на Фиг. 4 представлена вторая страница веб-приложения, включающего в себя ряд полей ввода, следующая за веб-страницей, представленной на Фиг. 2;
- на Фиг. 5 представлена блок-схема, иллюстрирующая обработку, выполняемую агентом по отношению к системе, представленной на Фиг. 1; и
- на Фиг. 6 представлена блок-схема, иллюстрирующая обработку, выполняемую сервером преобразования речи в текст по отношению к системе, представленной на Фиг. 1.
Осуществление изобретения
На Фиг. 1 представлена схема системы 100. Важно иметь в виду, что система 100 является только одним из вариантов осуществления настоящей технологии. Таким образом, все последующее описание представлено только как описание иллюстративного примера настоящей технологии. Это описание не предназначено для определения объема или установления границ настоящей технологии. Некоторые полезные примеры модификаций компьютерной системы 100 также могут быть охвачены нижеследующим описанием.
Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящей технологии. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящей технологии, и в подобном случае представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.
Система 100 включает в себя электронное устройство 102. Варианты осуществления электронного устройства 102 конкретно не ограничены, но в качестве примера электронного устройства 102 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) или беспроводное электронное устройство (мобильные телефоны, смартфоны, планшеты и т.п.). Общий вариант осуществления электронного устройства 102 известен в области техники, и поэтому не будет здесь подробно описан. Достаточно сказать, что электронное устройство 102 содержит пользовательский интерфейс ввода (например, клавиатуру, мышь, сенсорную панель, сенсорный экран, микрофон и т.п.) для получения пользовательского ввода; пользовательский интерфейс вывода (например, экран, сенсорный экран, принтер и т.п.) для предоставления визуального или звукового вывода пользователю; интерфейс сетевой связи (например, модем, сетевую карту и т.п.) для двусторонней связи по сети 112 передачи данных; и процессор, соединенный с пользовательским интерфейсом ввода, пользовательским интерфейсом вывода и интерфейсом сетевой связи, который выполнен с возможностью выполнять различные процедуры, включая те, что описаны ниже. С этой целью процессор может сохранять или иметь доступ к машиночитаемым командам, выполнение которых инициирует процессор выполнять различные описанные здесь процедуры.
Настоящий пример описан в терминах заполнения полей ввода, отображенных на веб-приложении, которое работает в браузере 104 на электронном устройстве 102. Как известно, веб-приложение содержит ряд HTML-страниц (язык разметки гипертекста): страница #1…страница #N, связанных друг с другом гиперссылками, которые извлекаются браузером 104 из веб-сервера 108 с помощью URL (единый указатель ресурса) каждой страницы, обычно по сети 112 (несмотря на то что в некоторых случаях страницы могут храниться локально в URL, указывающем на место локального хранения), до этапа отрисовки.
В настоящем примере по меньшей мере одна страница приложения включает в себя ряд полей ввода, два из которых показаны на странице #1: Поле Ввода #1 и Поле Ввода #2. Как обсуждалось ранее, каждое поле ввода может содержать любую форму части пользовательского интерфейса, через который пользователь может вводить информацию в приложение, например: поля ввода текста, зависимые кнопки, календарные виджеты или выпадающие меню. После того как поля ввода сформированы, пользователь обычно выбирает виджет, например кнопку 105, добавленную на страницу для того, чтобы разместить предоставленные пользователем данные на веб-сервер 108, и в ответ предоставить их на следующей странице приложения веб-сервером 108 электронному устройству 102.
Страницы #1 - #N могут содержать статистические страницы, которые были созданы автором и далее опубликованы путем передачи созданного HTML для подобных страниц на место 110 хранения, которое доступно веб-серверу 108. Альтернативно или дополнительно, отдельные страницы могут быть созданы динамически на основе комбинации шаблона макета, запроса пользователя и полученной внешней информации, как это характерно, например, для каталогов, сайтов магазинов или сайтов бронирования.
В простейшем варианте осуществления технологии поля ввода связаны с тегами, семантически указывающими на информацию, которая вводится на вебстраницу. Простой вариант такой связи тегов для части HTML веб-страницы включает в себя форму, в которую пользователь вводит свое имя и фамилию следующим образом:
<form action="demo_form.asp">
First name:<input type-'text" name="FirstName" value="Mickey"><br>
Last name:<input type-'text" name-“LastName" value="Mouse"><br>
<input type=”submit" value="Submit">
</form>
Обычно теги полей ввода определяются автором приложения с помощью программного обеспечения для публикации в момент создания страницы и добавления полей ввода автором. В альтернативных вариантах осуществления настоящей технологии теги могут назначаться в какой-то момент времени после создания страницы.
На известном уровне техники при просмотре сформированной версии этого HTML в браузере пользователь с помощью электронного устройства с поддержкой голоса может выбрать поле ввода текста, обозначенное FirstName, и надиктовать свое имя; а затем выбрать поле ввода текста, обозначенное LastName, до произнесения своей фамилии, и далее кликнуть на клавишу подтверждения до перехода на следующую страницу. Альтернативно, если пользователь сохранил свою персональную информацию 114, в которой проставлены соответствующие теги, в хранилище 116, доступном электронному устройству 102, некоторые браузеры могут получить эту информацию и автоматически заполнить поля ввода с помощью тегов, соответствующих тем, которые сохранены для пользователя.
Тем не менее, как обсуждалось ранее, первый способ является неудобным для пользователей и используется редко; в то время как второй способ обладает ограниченным потенциалом использования, особенно в тех случаях, когда поля ввода требуют информацию, отличную от заранее сохраненных личных данных, например название отеля или пункт назначения, которые могут быть указаны пользователем только в голосовом запросе.
В показанном примере агент 120 предоставляется на электронном устройстве 102 либо для запуска автономного процесса, либо в виде надстройки браузера, либо как процесс операционной системы. Агент 120 получает аудиосигналы, соответствующие голосовым запросам пользователя от микрофонного компонента электронного устройства 102, и, в настоящем примере, передает их удаленному серверу 130 преобразования речи в текст через интерфейс 132 преобразования речи в текст, который предоставляется серверу 130 преобразования речи в текст на электронном устройстве 102. Примеры интерфейса 132 преобразования речи в текст, подходящие для осуществления настоящей технологии, включают в себя упомянутый выше интерфейс программирования приложений (API) Яндекс Speech Kit.
В настоящем примере сервер 130 преобразования речи в текст не только выводит текст, соответствующий аудиосигналу, полученному агентом 120 через интерфейс 132, как в настоящем интерфейсе программирования приложений Яндекс Speech Kit, но и разбивает текст на индивидуальные части, каждая из которых связана с помеченным или именованным полем ввода в приложении.
Для помощи серверу 130 преобразования речи в текст в этой процедуре сервер 130 преобразования речи в текст получает доступ к информационной странице приложения, чтобы определить метки и имена полей ввода в приложении.
Один из способов осуществления подобной процедуры включает в себя предоставление агентом 120, наряду с аудиосигналом для голосового запроса, идентификатора приложения, например URL конкретной страницы из браузера 104. В данном случае, сервер 130 преобразования речи в текст может получить копию страницы от веб-сервера 108, на котором размещена страница, и далее анализировать страницу для определения полей ввода, которые запрашивает страница. Альтернативно, агент 120 может предоставлять информацию о тегах полей ввода напрямую серверу 130 преобразования речи в текст. Агент 120 может также извлекать эту информацию либо из языка разметки гипертекста веб-страницы или, альтернативно, из объектной модели документов (DOM), созданной браузером 104 при отрисовке веб-страницы.
В простейшем примере с полями FirstName/LastName, который представлен выше, сервер 130 преобразования речи в текст обнаружит, что на странице требуются имя и фамилия, и будет стремиться обнаружить в аудиосигнале, предоставленном агентом 120, имя и фамилию.
Это достаточно просто, если при просмотре веб-страницы в браузере пользователь просто указывает свое полное имя. Тем не менее, пользователь также может просто произнести "Ввести мои данные". Далее, с помощью компонента 133 понимания естественного языка (NLU), который либо встроен в сервер 130 преобразования речи в текст, либо работает вместе с сервером 130 преобразования речи в текст, таким образом, сервер 130 преобразования речи в текст может определить, что на странице требуются учетные данные пользователя, то есть требуются имя и фамилия пользователя.
Маловероятно, что удаленный сервер 130 преобразования речи в текст, который может обслуживать запросы от огромного количества различных электронных устройств, управляемых различными пользователями, будет обладать прямым доступом к личным данным пользователя, и, в данном случае, сервер 130 преобразования речи в текст может выдать агенту 120 пару тегов <FirstName>; <LastName> с нулевым значением текста, тем самым побуждая агента 120 извлечь имя и фамилию пользователя из сохраненной личной информации 114 и соответственно заполнить поля ввода.
С другой стороны, если пользователь произнес имя, вероятно, свое собственное имя, например "Ларе Миккельсен", сервер 130 преобразования речи в текст может вывести текст, обладающий тегом, например, в форме "Ларе" <FirstName>; "Миккельсен" <LastName>, позволяя агенту 120 напрямую заполнить поля ввода странице.
С помощью компонента 133 понимания естественного языка (NLU) с учетом знания о том, какие поля ввода необходимо заполнить, сервер 130 преобразования речи в текст может выполнять и более сложные задачи.
Итак, если пользователь сталкивается со страницей, показанной на Фиг. 2, которая включает в себя форму бронирования авиабилета, он может надиктовать "Забронируй мне билет в Мюнхен на 22 февраля" или любое аналогичное выражение на естественном языке. В данном случае сервер 130 преобразования речи в текст при получении страницы определяет ряд полей ввода, которые могут быть отмечены или обозначены тегами: <Return> <One Way> <StartLocation> <DestinationLocation> <DepartureDay> <DepartureMonth> <ReturnDay> <ReturnMonth> <FareType> <DateFlexibility> <NoAdults> <NoChildren> <No lnfants> <PromoCode>. Дата по умолчанию и количество взрослых, детей и младенцев, показанное на Фиг. 2, также могут быть получены сервером 130 преобразования речи в текст. (Опция выбора города также может быть отмечена тегом, и пример использования этого тега будет описан далее.)
Далее, с помощью компонента 133 понимания естественного языка (NLU) сервер преобразования речи в текст может вывести для агента следующий обозначенный тегами текст в ответ на вышеприведенный голосовой запрос пользователя: "False" <Return>; "True" One Way>; "Dublin" <StartLocation>; "Munich" <DestinationLocation>; "22" <DepartureDay>; "February" <DepartureMonth>; <ReturnDay>; <ReturnMonth>; <FareType>; <DateFlexibility>; "1" <NoAdults>; "0" <NoChildren>; "0" <No lnfants>; <PromoCode>.
Следует отметить, что некоторые из выводимых тегов обладают нулевым значением связанного текста, например <PromoCode>. Если агент 120 ищет сохраненную информацию для пользователя в хранилище 116, он, вероятно, не найдет никакой полезной информации с тегом <PromoCode>, и это поле останется пустым.
В случае поля <StartLocation> сервером 130 преобразования речи в текст было предоставлено значение по умолчанию "Дублин" с оригинальной страницы. Если же это поле на оригинальной веб-странице было пустым или если сервер 130 преобразования речи в текст был запрограммирован на предоставление нулевого значения в данном поле, т.е. оставлять данное поле пустым, если информация по умолчанию была доступна с оригинальной веб-страницы и не указана в вышеупомянутом голосовом запросе, сервер 130 преобразования речи в текст может выводить тег с нулевым значением.
В данном случае агенту 120 придется пытаться использовать информацию 118 о местоположении, полученную, например, с GPS-ресивера (не показан), встроенного в электронное устройство 102; или просто использовать домашний адрес пользователя из его личной информации 114 для заполнения поля с отметкой <StartLocation>.
Когда различные поля заполнены, пользователь может по желанию заполнить любые из оставшихся полей или отредактировать любое из полей, которые были автоматически заполнены агентом 120, до нажатия кнопки "Забронировать".
Во втором примере, показанном на Фиг. 3, пользователь просматривает форму бронирования гостиницы, сформированную браузером 104. В данном случае пользователь может произнести "забронировать отель в Милане для моей семьи на дни, ночи с 22 марта".
Опять же, сервер 130 преобразования речи в текст при получении информации о странице определяет ряд меток для полей ввода, например следующие: <Destination>; <ChecklnDay>; <ChecklnMonth>; <CheckOutDay>; <CheckOutMonth>; <NoRooms>; <NoAdults>; <NoChildren>.
С помощью компонента 133 понимания естественного языка (NLU) сервер 130 преобразования речи в текст будет выводить следующий обозначенный тегами текст: "Милан" <Destination>; "22" <ChecklnDay>; "Март" <ChecklnMonth>; "25" <CheckOutDay>; "Март" <CheckOutMonth>; "1" <NoRooms>; <NoAdults>; <NoChildren>.
В данном случае, когда сервер 130 преобразования речи в текст распознает запрос на бронирование номера для семьи пользователя, он может посылать агенту сигнал для инициирования поиска информации о семье пользователя, не используя значения по умолчанию 2 и 0 из граф <NoAdults> и <NoChildren>, тем самым вынуждая агента 120 искать эту информацию в хранилище 116.
В данном случае агент 120 может работать различными способами. Например, электронные устройства, такие как электронное устройство 102, обычно хранят контактную информацию 122 пользователя, содержащую ряд записей, каждая из которых хранит контактные имена, номера телефонов, электронные адреса и так далее. Также возможно указать связь, в которой состоит каждый контакт с пользователем, например ребенок, супруг, родитель и так далее. Другие источники этой информации включают в себя любые социальные сети, в которых представлен пользователь, включая Facebook, и эта сетевая информация часто может включать в себя семантику связи контакта с пользователем, что позволяет агенту определить, например, подробности о семье пользователя для указания их в формах, которые будут заполняться.
С помощью этой информации агент 120 может определять членов семьи пользователя и, например, предоставлять значения для полей <NoAdults> и <NoChildren>.
После предоставления информации сервером 130 преобразования речи в текст и определения ее агентом 120 агент 120 может заполнять различные поля формы, позволяя пользователю нажать на кнопку "Искать", когда он будет удовлетворен качеством введенной информации.
Подводя итог, примеры одиночных страниц на Фиг. 2 и Фиг. 3. требуют от автора приложения описать поля ввода их интерфейса приложения с помощью соответствующих тегов. Когда пользователь взаимодействует с приложением путем произнесения запроса, например "Забронировать отель Ритц на 2 ночи с 1 декабря", приложение (вероятно, через агента 120) передает аудиосигнал, содержащий голосовой запрос, серверу 130 преобразования речи в текст. После получения запроса и информации о тегах для страницы сервер 130 преобразования речи в текст переводит речь в части текста и связывает части текста с соответствующими тегами. Например, "Отель Ритц" связан с тегом <hotel>, "1 декабря" связано с тегом <date> и так далее. Сервер 130 преобразования речи в текст далее передает части текста приложению (опять же, вероятно, через агента 120). Приложение получает части текста и вводит их в соответствующие части интерфейса в соответствии с тегами. В результате пользователю предоставляются заполненные (на основе одиночного голосового запроса) различные части интерфейса.
Следует отметить, что, несмотря на то, что вышеприведенные примеры были описаны в терминах веб-приложения, технология может быть применена и к машинному коду, автономному или клиент-серверному приложению. В данном случае вместо последовательности веб-страниц приложение может отображать последовательность экранов, и, следовательно, семантическая информация для соответствующих полей ввода таких экранов должна быть доступна для любого агента, ответственного за автоматическое заполнение этих полей ввода в ответ на голосовой запрос пользователя.
Технология также может быть осуществлена в приложении, т.е. программном приложении для мобильного телефона, работающего, например, на операционных системах Apple™ iOS или Google™ Android OS.
Альтернативно, технология может быть осуществлена в сочетании с программным обеспечением общего назначения, включая почтовый клиент, например Microsoft™ Outlook, текстовый процессор, например Microsoft™ Word, приложение для электронных таблиц, например Microsoft™ Excel, в которых автоматическое заполнение полей может быть полезным, например для электронных сообщений, документов или таблиц. В данном случае агент, например агент 120, может определять теги, связанные с полями ввода на странице, отображаемой приложением общего назначения, например, путем извлечения информации через API приложения, и далее заполнять поля частями текста, извлеченного из голосового запроса с помощью API приложения, как было описано выше.
В любом случае функциональность агента может быть внедрена в приложение или оставаться отдельным компонентом или компонентом операционной системы.
Аналогично, несмотря на то, что сервер 130 преобразования речи в текст был описан как одиночный удаленный сервер, обслуживающий множество клиентских устройств, таких как электронное устройство 102, сервер 130 преобразования речи в текст может быть выполнен и как компонент электронного устройства 102.
Настоящая технология также может применяться для заполнения полей ввода в приложении, которое распространяется на целый ряд связанных страниц. В данном случае автор приложения определяет поток операций, указывая на последовательность страниц, содержащих приложение, и поля ввода, которые возникают на этих страницах. В примере, представленном на Фиг. 1, это определение 111 потока операций хранится в содержимом первой страницы, например страницы #1 приложения, в форме, которую может определить либо сервер 130 преобразования речи в текст, либо, в некоторых случаях, агент 120, если агент передает определение 111 потока операций серверу 130 преобразования речи в текст. Так, например, определение 111 потока операций может быть включено как фрагмент XML (расширенного языка разметки), как необрабатываемая часть заголовка HTML вебстраницы. Также как и определение 111 потока операций, каждое из этих полей ввода обозначено тегами в языке разметки гипертекста (HTML) страницы, как описано выше.
Определение 111 потока операций может включать в себя простой список страниц, а для каждой страницы - соответствующий набор идентификаторов для полей ввода, содержащихся на странице. Таким образом, эти наборы идентификаторов могут просто включать в себя теги для соответствующих полей ввода; или наборы идентификаторов могут включать в себя и теги, и информацию о полях ввода, например, в представленной выше форме FirstName/LastName. Если необходимо, определение 111 потока операций также может включать в себя логику, указывающую на различные последовательности страниц в приложении, определенные в соответствии с вводом пользователя. Грамматика XML создана для простого добавления в нее подобной условной логики.
Как и ранее, агент 120 получает аудиосигнал для голосового запроса и передает его через интерфейс 132 преобразования речи в текст вместе с идентификатором приложения, т.е. URL первой страницы, серверу 130 преобразования речи в текст.
Сервер 130 преобразования речи в текст первоначально анализирует голосовой запрос и выполняет базовое преобразование речи в текст для получения текстового вывода.
Сервер 130 преобразования речи в текст далее нарезает текст на части и, в сочетании с компонентом 133 понимания естественного языка, передает части текста по мере необходимости, чтобы сделать их максимально совместимыми с полями ввода, например переводит запрос "проживание на 3 ночи" в даты начала и конца, как представлено в примере выше, до этапа связи частей текста с соответствующими тегами.
Если определение 111 потока операций в приложении доступно, сервер 130 преобразования речи в текст может вывести части текста, которые наиболее совпадают с полями ввода, в поток операций по всему ряду страниц приложения. Следует отметить, что просмотр полей ввода, которые могут потребоваться с последующих страниц, особенно полезен при работе с голосовым запросом, который был предоставлен в момент просмотра пользователем первой страницы приложения.
После того как обозначенные тегами значения для полей ввода были определены сервером 130 преобразования речи в текст, они выводятся на электронное устройство 102 либо постранично, либо в виде набора страниц, связанных с приложением.
После получения обозначенных тегами значений и возможного получения какой-либо дополнительной информации, которая доступна электронному устройству 102, из хранилища 116, как описано выше, происходит заполнение полей ввода приложения.
Как и в рассмотренном примере с многостраничным приложением, начинающимся в виде формы, показанной на Фиг. 2, если пользователь использует опцию выбора города, он переходит на вторую страницу, как показано на Фиг. 4, в отличие от случая, когда ему необходим простой авиабилет в одну сторону или билет в оба конца.
Определение 111 потока операций, которое может позволить пользователю взаимодействовать с рядом страниц приложения, может отвечать на запрос пользователя "забронируй мне авиабилет из Лондона в Нью-Йорк через Париж на 22 марта".
Когда определение 111 потока операций указывает на поля, доступные на первой странице приложения, которые показаны на Фиг. 2, и на поля, которые доступны на второй странице приложения, показанные на Фиг. 4, сервер 130 преобразования речи в текст может выводить агенту 120 следующие поля, обозначенные тегами, на первой странице:
<Return>; "True" <One Way>; "True" <Multicity>; "Лондон" <StartLocation>; "Нью-Йорк" <Destinationl_ocation>; "22" <DepartureDay>; "Март" <DepartureMonth>; <ReturnDay>; <ReturnMonth>; <FareType>; <DateFlexibility>; "1" <NoAdults>; "0" <NoChildren>; "0" <No lnfants>; <PromoCode>;
При получении этой информации агент 120, на этапе заполнения с помощью полученной информации, далее инициирует приложение переходить к странице, показанной на Фиг. 4.
Следует отметить, что предоставление информации о начальном местоположении и датах вылета на первой странице является избыточным, но это требует меньшего интеллекта (и меньшего кода) сервера 130 преобразования речи в текст, чем определение того, что эти поля ввода не надо заполнять.
Сервер 130 преобразования речи в текст может выводить агенту 120 следующие обозначенные тегами поля для второй страницы приложения либо в ответ на второй запрос от агента 120; или в ответ на исходный запрос и с разметкой соответствующим образом из обозначенной тегами информации с первой страницы:
"Лондон" <StartLocation1>; "Париж" <DestinationLocation1>; "Париж" <StartLocation2>; "Нью-Йорк" <Destinationl_ocation2>; "22" <DepartureDay>; "Март" <DepartureMonth>; <FareType>; <DateFlexibility>; "1" <NoAdults>; "0" <NoChildren>; "0" <No lnfants>; <PromoCode>; Агент 120 далее может заполнять необходимой информацией вторую страницу, что позволяет пользователю проверять и/или изменять информацию до нажатия на кнопку "Искать".
Следует отметить, что в данном примере с помощью определения 111 потока операций агент 120 может инициировать автоматический переход приложения от одной страницы к другой до нажатия пользователем на кнопку "Найти" на второй странице.
Следует отметить, что текст, который был получен из голосового запроса, например "Лондон" и "Нью-Йорк", может быть использован для полей ввода как на первой, так и на второй страницах приложения. А также текст типа "Париж" был использован более чем для одного поля ввода на одной странице приложения.
Если определение 111 потока операций в приложении является достаточно масштабным, то возможно, что агент 120, которому была передана дальнейшая обозначенная тегами информация для последующих страниц сервером 130 преобразования речи в текст, заполняет с помощью дополнительной информации последующие страницы. Например, если пользователь щелкнул на кнопку "забронировать" на предложенный авиабилет на странице (не показано), следующей за страницей, которая показана на Фиг. 4, агент 120 может далее быть способен заполнить с помощью имени пользователя, адреса и информации о кредитной карте следующую страницу (не показана). Альтернативно, если пользователь перешел на подобную страницу, он может просто произнести "внести мои данные", и сервер 130 преобразования речи в текст, в ответ на голосовой запрос и URL страницы, выводит теги полей агенту 120 для извлечения агентом информации об этих тегах из хранилища 116, чтобы заполнить соответствующие поля ввода.
Итак, со ссылкой на Фиг. 5 и Фиг. 6, которые суммируют описанные выше варианты осуществления настоящей технологии, агент 120 получает голосовой запрос, этап 150. Либо в ответ на голосовой запрос, либо после запуска приложения (загрузки и отрисовки - в случае веб-приложения) агент 120 либо получает необходимые теги от приложения или от страниц приложения или из определения потока операций, которое включено в приложение, или же агент 120 получает идентификатор приложения, т.е. URL, на этапе 152. Агент 120 далее получает части текста, извлеченные из голосового запроса, и связанные с тегами приложения на этапе 154.
В вариантах осуществления технологии, в которых этап 154 выполняется в основном на удаленном сервере 130, этап 154 включает в себя предоставление серверу 130 агентом 120 голосового запроса и либо тегов приложения, либо определения 111 потока операций, либо идентификатора приложения.
Когда сервер 130 получает голосовой запрос и голосовые теги на этапе 160 (Фиг. 6), он переводит аудиосигнал в текст на этапе 162. Как было описано выше, теги могут либо быть предоставлены агентом 120 серверу 130 напрямую, или, в случае наличия URL, сервер 130 может получать теги из страниц приложения, которые хранятся на веб-сервере, или из определения 111 потока операций, доступного на веб-сервере. Компонент 133 понимания естественного языка анализирует текст и, возможно, с помощью знаний о необходимых тегах приложения предоставляет части текста, полученные из голосового запроса, на этапе 164. Части текста далее связываются с тегами (или наоборот) и предоставляются агенту 120 на этапе 166.
Когда агент 120 получает обозначенный тегами текст, он может попытаться предоставить части текста для тегов с нулевым значением текста, используя семантическую информацию, доступную агенту 120, на этапе 156 (Фиг. 5).
Агент 120 далее заполняет любые поля ввода, для которых имеется обозначенная тегами информация, на этапе 158, и, если определение 111 потока операций доступно и если это необходимо и возможно, агент 120 инициирует переход приложения к следующей странице потока операций на этапе 159. (В противном случае, пользователь может выбрать виджет, инициирующий переход приложения к следующей странице.) Если части текста, полученные из голосового запроса, доступны для полей ввода на следующих страницах, они используются для заполнения полей ввода на следующей странице, и так до тех пор, пока определение потока операций не будет завершено.
В примере, показанном на Фиг. 1 и описанном выше, компонент 133 понимания естественного языка описан как автономная единица, отвечающая на голосовой запрос и поля ввода информации заявителя приложения. В более сложных вариантах осуществления технологии компонент 133 понимания естественного языка может использовать мета-информацию, полученную из запроса или из других источников для предоставления информации для полей ввода информации. Таким образом, например, в ответ на запрос пользователя "Забронировать авиабилет из Парижа в Дублин", компонент 133 понимания естественного языка (NLU) может получить код аэропорта Шарля де Голля из публичного списка кодов аэропортов Международной Ассоциации Воздушного Транспорта (IATA), чтобы ввести код в поле ввода, обозначенное тегом <Start Airport>. Аналогично, компонент 133 понимания естественного языка (NLU) может использовать TCP/IP-адрес или даже подробности о типе электронного устройства, который содержится в HTTP запросе, передаваемом агентом 120 серверу 130 преобразования речи в текст для определения положения пользователя или контекста, чтобы помочь предоставить информацию полям ввода приложения.
В одном таком варианте осуществления технологии при работе с почтовым клиентом пользователь вводит голосовой запрос "послать письмо Конору с картой места сегодняшней встречи" во время просмотра либо домашней страницы почтового клиента, либо пустого почтового сообщения. В данном случае, когда применяется подобный агент, агент 120 предоставляет серверу 130 преобразования речи в текст голосовой запрос и имена полей для электронного сообщения, например: <From>; <То>; <Subject>; <Attach>; <Text>.
Сервер 130 преобразования речи в текст далее может выводить следующие связанные с тегами поля:
<From>; "Конор" <То>; "Встреча сегодня" <Subject>; "https://www.google.ie/maps/ /@53.3345359,-6.2503907,16z…" <Attach>; <Text>.
В данном случае сервер 130 преобразования речи в текст определил из понимания естественного языка "место проведения сегодняшней встречи", что необходима ссылка на изображения карты места проведения встречи. Можно предположить, что полезная карта может быть показана относительно места, с которого был предоставлен голосовой запрос с электронного устройства 102. Определено это благодаря TCP/IP-адресу электронного устройства 102, и, таким образом, ссылка на изображение карты, относящейся к месту, которое соответствует TCP/IP-адресу, может быть предоставлена либо для добавления изображения карты в виде вложения в электронное письмо, либо в виде ссылки, которая может быть добавлена в текст электронного письма.
В других вариантах осуществления настоящей технологии пользователь электронного устройства 102 может сделать информацию доступной серверу 130 преобразования речи в текст для использования ее в создании обозначенного тегами текста, переданного агенту 120, для обеспечения завершения заполнения полей ввода в электронном устройстве 102. Эта информация может включать в себя конкретную информацию, включающую в себя, среди прочего, информацию о типе, например, личной информации 114, информации 118 о месте, контактной информации 122, а также избранные страницы (закладки) 124 пользователя и историю 126 браузера.
Подобный способ включает в себя аутентификацию пользователя для сервера 130 перевода речи в текст с помощью учетных данных для единого входа. Примеры учетных данных для единого входа в систему хорошо известны в области техники и включают в себя, среди прочего, Яндекс. Паспорт™, предоставляемый поисковой системой Яндекс™, единый вход в систему Google+™, Facebook™ и так далее.
В некоторых вариантах осуществления настоящей технологии сервер 130 преобразования речи в текст может получить эту конкретную пользовательскую информацию от сервера (не показан), ответственного за обращение с учетными данными для единого входа. В других вариантах осуществления настоящей технологии каждый из ряда сервисов может быть связан с отдельными учетными данными, и в подобных вариантах осуществления настоящей технологии сервер 130 преобразования речи в текст может получать конкретную пользовательскую информацию от сервера агрегации (не показан), ответственного за агрегацию конкретной пользовательской информации, или же сервер 130 преобразования речи в текст может действовать как сервер агрегации.
В любом случае, если такая конкретная пользовательская информация доступна серверу 130 преобразования речи в текст, сервер 130 может выполнять роль описанного выше агента 120 в этапе 156 в предоставлении конкретного пользовательского текста с обозначенными тегами, например семантической конкретной информации о пользователе, например <Name>, <Address> или <Age>.
Вышеприведенные примеры были описаны в терминах агента 120, работающего с данным приложением, как в случае, показанном на Фиг. 1, веб-приложением, работающим в браузере 102, или с любым другим типом приложения общего назначения.
Тем не менее, другие варианты осуществления настоящей технологии могут работать на более высоком уровне персональной помощи, начиная либо с пустой или домашней страницы браузера, либо даже с уровня операционной системы.
Таким образом, если устройство просматривает домашнюю страницу операционной системы или домашнюю страницу браузера, пользователь, который ввел голосовой запрос "забронировать мне авиабилет в Берлин", агент 120 может передавать аудиосигнал серверу 130 преобразования речи в текст. Далее, используя компонент 133 понимания естественного языка (NLU) и видя, что конкретное приложение не определило запрос от агента 120, сервер 130 преобразования речи в текста может выводить простую текстовую строку "забронировать авиабилет" агенту 120.
Агент 120 далее может использовать информацию, доступную в хранилище 116 для определения того, какое приложение может быть использовано для выполнения голосового запроса "забронировать авиабилет". Например, избранные веб-страницы (закладки) 124 пользователя и история 126 браузера обычно доступны приложениям, например агенту 120, работающему на электронном устройстве 102. Они могут быть использованы для определения авиалинии или приложения для бронирования авиабилетов, которые обычно используются пользователем. Агент 120 далее может, например, запустить в браузере URL авиалинии или приложения для бронирования авиабилетов. После получения URL веб-страницы и отрисовки ее браузером 104 агент 120 может переходить, как ранее, например, к вторичной передаче серверу 130 преобразования речи в текст аудиосигнала для первоначального голосового запроса одновременно с идентификатором приложения, например текущим URL. Сервер 130 преобразования речи в текст теперь может выводить обозначенные тегами поля ввода для заполнения полей ввода на веб-странице и, возможно, на веб-страницах, как и раньше, и для этого все еще требуется единственный голосовой запрос "Забронировать мне авиабилет в Берлин".
Представленные выше примеры демонстрируют использование настоящей технологии для бронирования авиабилетов и отелей, а также для отправки электронных писем. Тем не менее, следует отметить, что возможны и другие варианты использования, например заполнение учетных данных для покупки в интернет-магазинах или для доставки товаров и услуг, например доставки пиццы.
В настоящем описании были предложены примеры используемой грамматики, но, тем не менее, очевидно, что любые эквиваленты подобной грамматики могут быть использованы в альтернативных вариантах осуществления данной технологии.
Специалисты в данной области техники поймут, что в настоящем описании выражение "получение данных" от пользователя подразумевает получение электронным устройством данных от пользователя в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя (например, экран электронного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал содержит данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя.
Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, оптического соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).
Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.

Claims (56)

1. Способ ввода данных в электронное устройство, включающий в себя:
получение голосового запроса через голосовой интерфейс электронного устройства;
получение множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, относящегося к приложению на упомянутом электронном устройстве;
получение по меньшей мере одной части текста, связанной с соответствующим тегом, извлеченным из упомянутого голосового запроса;
заполнение по меньшей мере одного поля ввода упомянутого приложения с помощью соответствующей части текста, которая связана с соответствующим тегом, связанным с полем ввода.
2. Способ по п. 1, в котором каждый из упомянутого множества тегов предоставляет семантическое описание для соответствующего поля ввода.
3. Способ по п. 1, в котором упомянутое приложение включает в себя веб-приложение, упомянутое веб-приложение включает в себя множество веб-страниц, каждая страница включает в себя по меньшей мере одно поле ввода, множество упомянутых полей ввода обладает соответствующими тегами.
4. Способ по п. 3, в котором по меньшей мере одна из упомянутых веб-страниц включает в себя определение потока операций и это определение указывает на последовательность страниц, включая упомянутое веб-приложение, и для каждой страницы - набор идентификаторов для каждого поля ввода упомянутой страницы.
5. Способ по п. 4, в котором упомянутое определение потока операций включает в себя логику определения условной последовательности страниц в рамках упомянутого веб-приложения.
6. Способ по п. 4, в котором упомянутые идентификаторы включают в себя теги для упомянутых полей ввода.
7. Способ по п. 1, в котором на упомянутом этапе получения по меньшей мере одной части текста выполняют предоставление упомянутого голосового запроса, а также индикатора упомянутого множества тегов, связанных с соответствующими полями ввода упомянутого приложения, серверу преобразования речи в текст; и получают упомянутую по меньшей мере одну часть текста, связанную с соответствующим тегом, от упомянутого сервера преобразования речи в текст.
8. Способ по п. 7, в котором упомянутый индикатор включает в себя URL веб-приложения.
9. Способ по п. 7, в котором упомянутый индикатор включает в себя упомянутые теги.
10. Способ по п. 1, в котором дополнительно:
выполняют поиск семантической пользовательской информации, доступной на упомянутом электронном устройстве в ответ на получение части текста с нулевым значением текста, связанной с соответствующим тегом для поля ввода упомянутого приложения;
заполняют упомянутое поле ввода упомянутого приложения, связанного с упомянутым тегом, с помощью упомянутой семантической пользовательской информации в ответ на получение семантической пользовательской информации, совпадающей с упомянутым соответствующим тегом с частью текста с нулевым значением текста.
11. Способ по п. 10, в котором упомянутая семантическая пользовательская информация включает одно из: личную информацию пользователя; контактную информацию пользователя; информацию о местонахождении пользователя; историю браузера пользователя; избранные веб-страницы пользователя.
12. Способ обработки голосового запроса, включающий в себя:
получение голосового запроса через голосовой интерфейс электронного устройства;
получение множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, для приложения на упомянутом электронном устройстве;
перевод голосового запроса в текст;
анализ текста для предоставления по меньшей мере одной части текста;
установление связи по меньшей мере одной части текста с соответствующим тегом из множества тегов;
передачу электронному устройству по меньшей мере части текста с указанием соответствующего тега.
13. Способ по п. 12, в котором каждый из упомянутого множества тегов предоставляет семантическое описание для соответствующего поля ввода.
14. Способ по п. 12, в котором упомянутое приложение включает в себя веб-приложение, упомянутое веб-приложение включает в себя множество веб-страниц, каждая страница включает в себя по меньшей мере одно поле ввода, множество упомянутых полей обладает соответствующими тегами.
15. Способ по п. 14, в котором по меньшей мере одна из упомянутых веб-страниц включает в себя определение потока операций и это определение указывает на последовательность страниц, включая упомянутое веб-приложение, и для каждой страницы - набор идентификаторов для каждого поля ввода упомянутой страницы.
16. Способ по п. 15, в котором упомянутое определение потока операций включает в себя логику определения условной последовательности страниц в рамках упомянутого веб-приложения.
17. Способ по п. 15, в котором упомянутые идентификаторы включают в себя теги для упомянутых полей ввода.
18. Способ по п. 12, в котором на упомянутом этапе анализа текста используют понимание естественного языка для предоставления упомянутой по меньшей мере одной части текста.
19. Способ по п. 12, в котором на упомянутом этапе получения упомянутого множества тегов выполняют: получение URL веб-приложения от упомянутого электронного устройства, извлечение веб-страницы из упомянутого URL и извлечение упомянутых тегов от упомянутой веб-страницы.
20. Способ по п. 12, в котором на упомянутом этапе получения упомянутого множества тегов выполняют: получение упомянутого множества тегов от упомянутого электронного устройства.
21. Машиночитаемый носитель для обработки голосового запроса, включающий в себя программные инструкции, выполненные с возможностью инициирования выполнения электронным устройством:
получения голосового запроса через голосовой интерфейс электронного устройства;
получения множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, относящегося к приложению на упомянутом электронном устройстве;
получения по меньшей мере одной части текста, связанной с соответствующим тегом, извлеченным из упомянутого голосового запроса;
заполнения по меньшей мере одного поля ввода упомянутого приложения с помощью соответствующей части текста, которая связана с соответствующим тегом, связанным с полем ввода.
22. Машиночитаемый носитель для обработки голосового запроса, включающий в себя программные инструкции, выполненные с возможностью инициирования выполнения сервером:
получения голосового запроса через голосовой интерфейс электронного устройства;
получения множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, для приложения на упомянутом электронном устройстве;
перевода голосового запроса в текст; анализа текста для предоставления по меньшей мере одной части текста;
установления связи по меньшей мере одной части текста с соответствующим тегом из множества тегов;
и передачи электронному устройству по меньшей мере части текста с указанием соответствующего тега.
23. Электронное устройство для обработки голосового запроса, включающее в себя компонент, работающий в сочетании с пользовательским интерфейсом приложения, и выполненное с возможностью:
получения голосового запроса через голосовой интерфейс электронного устройства;
получения множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, относящегося к приложению на упомянутом электронном устройстве;
получения по меньшей мере одной части текста, связанной с соответствующим тегом, извлеченным из упомянутого голосового запроса;
заполнения по меньшей мере одного поля ввода упомянутого приложения с помощью соответствующей части текста, которая связана с соответствующим тегом, связанным с полем ввода.
24. Сервер обработки голосового запроса, связанный с одним или несколькими электронными устройствами в сети передачи данных и выполненный с возможностью:
получения голосового запроса через голосовой интерфейс электронного устройства;
получения множества тегов, каждый из которых связан с соответствующим полем ввода пользовательского интерфейса, для приложения на упомянутом электронном устройстве;
перевода голосового запроса в текст;
анализа текста для предоставления по меньшей мере одной части текста;
установления связи по меньшей мере одной части текста с соответствующим тегом из множества тегов;
передачи электронному устройству по меньшей мере части текста с указанием соответствующего тега.
25. Система обработки голосового запроса, включающая в себя множество электронных устройств в соответствии с п. 23, связанных с сервером по п. 24 в сети передачи данных.
RU2015102279A 2015-01-27 2015-01-27 Способ ввода данных в электронное устройство, способ обработки голосового запроса, машиночитаемый носитель (варианты), электронное устройство, сервер и система RU2646350C2 (ru)

Priority Applications (4)

Application Number Priority Date Filing Date Title
RU2015102279A RU2646350C2 (ru) 2015-01-27 2015-01-27 Способ ввода данных в электронное устройство, способ обработки голосового запроса, машиночитаемый носитель (варианты), электронное устройство, сервер и система
EP15879783.7A EP3251113A4 (en) 2015-01-27 2015-05-22 Method of entering data in an electronic device
PCT/IB2015/053789 WO2016120675A1 (en) 2015-01-27 2015-05-22 Method of entering data in an electronic device
US15/525,614 US20170372700A1 (en) 2015-01-27 2015-05-22 Method of entering data in an electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015102279A RU2646350C2 (ru) 2015-01-27 2015-01-27 Способ ввода данных в электронное устройство, способ обработки голосового запроса, машиночитаемый носитель (варианты), электронное устройство, сервер и система

Publications (2)

Publication Number Publication Date
RU2015102279A RU2015102279A (ru) 2016-08-20
RU2646350C2 true RU2646350C2 (ru) 2018-03-02

Family

ID=56542514

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015102279A RU2646350C2 (ru) 2015-01-27 2015-01-27 Способ ввода данных в электронное устройство, способ обработки голосового запроса, машиночитаемый носитель (варианты), электронное устройство, сервер и система

Country Status (4)

Country Link
US (1) US20170372700A1 (ru)
EP (1) EP3251113A4 (ru)
RU (1) RU2646350C2 (ru)
WO (1) WO2016120675A1 (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2757264C2 (ru) * 2019-12-24 2021-10-12 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для обработки пользовательского разговорного речевого фрагмента
US11289095B2 (en) 2019-12-30 2022-03-29 Yandex Europe Ag Method of and system for translating speech to text
RU2778380C2 (ru) * 2019-12-30 2022-08-18 Общество С Ограниченной Ответственностью «Яндекс» Способ и система перевода речи в текст

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581989B2 (en) 2015-07-30 2020-03-03 Nasdaq, Inc. Application logging framework
JP6762819B2 (ja) * 2016-09-14 2020-09-30 株式会社東芝 入力支援装置およびプログラム
US11861298B1 (en) * 2017-10-20 2024-01-02 Teletracking Technologies, Inc. Systems and methods for automatically populating information in a graphical user interface using natural language processing
CN111324213A (zh) * 2018-12-13 2020-06-23 青岛海信移动通信技术股份有限公司 终端的信息输入方法和终端
KR20210016739A (ko) * 2019-08-05 2021-02-17 삼성전자주식회사 전자 장치 및 전자 장치의 입력 방법
US10915227B1 (en) * 2019-08-07 2021-02-09 Bank Of America Corporation System for adjustment of resource allocation based on multi-channel inputs
US11425075B2 (en) * 2020-07-29 2022-08-23 Vmware, Inc. Integration of client applications with hosted applications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2349970C2 (ru) * 2003-01-09 2009-03-20 Моторола, Инк. Блок разрешения диалога голосового браузера для системы связи
RU2355044C2 (ru) * 2003-11-11 2009-05-10 Майкрософт Корпорейшн Последовательный мультимодальный ввод
WO2013049201A1 (en) * 2011-09-26 2013-04-04 Google Inc. Directing dictation into input fields
US20140207466A1 (en) * 2013-01-22 2014-07-24 Research In Motion Limited Method and system for automatically identifying voice tags through user operation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998020434A2 (en) * 1996-11-07 1998-05-14 Vayu Web, Inc. System and method for displaying information and monitoring communications over the internet
US20020062342A1 (en) * 2000-11-22 2002-05-23 Sidles Charles S. Method and system for completing forms on wide area networks such as the internet
US7660400B2 (en) * 2003-12-19 2010-02-09 At&T Intellectual Property Ii, L.P. Method and apparatus for automatically building conversational systems
US7739117B2 (en) * 2004-09-20 2010-06-15 International Business Machines Corporation Method and system for voice-enabled autofill
US20070130134A1 (en) * 2005-12-05 2007-06-07 Microsoft Corporation Natural-language enabling arbitrary web forms
US8060371B1 (en) * 2007-05-09 2011-11-15 Nextel Communications Inc. System and method for voice interaction with non-voice enabled web pages
EP3091535B1 (en) * 2009-12-23 2023-10-11 Google LLC Multi-modal input on an electronic device
US9111546B2 (en) * 2013-03-06 2015-08-18 Nuance Communications, Inc. Speech recognition and interpretation system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2349970C2 (ru) * 2003-01-09 2009-03-20 Моторола, Инк. Блок разрешения диалога голосового браузера для системы связи
RU2355044C2 (ru) * 2003-11-11 2009-05-10 Майкрософт Корпорейшн Последовательный мультимодальный ввод
WO2013049201A1 (en) * 2011-09-26 2013-04-04 Google Inc. Directing dictation into input fields
US20140207466A1 (en) * 2013-01-22 2014-07-24 Research In Motion Limited Method and system for automatically identifying voice tags through user operation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2817625C2 (ru) * 2019-05-22 2024-04-17 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Управление активацией для нескольких голосовых помощников
RU2757264C2 (ru) * 2019-12-24 2021-10-12 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для обработки пользовательского разговорного речевого фрагмента
US11817093B2 (en) 2019-12-24 2023-11-14 Yandex Europe Ag Method and system for processing user spoken utterance
US11289095B2 (en) 2019-12-30 2022-03-29 Yandex Europe Ag Method of and system for translating speech to text
RU2778380C2 (ru) * 2019-12-30 2022-08-18 Общество С Ограниченной Ответственностью «Яндекс» Способ и система перевода речи в текст

Also Published As

Publication number Publication date
RU2015102279A (ru) 2016-08-20
WO2016120675A1 (en) 2016-08-04
US20170372700A1 (en) 2017-12-28
EP3251113A4 (en) 2018-07-25
EP3251113A1 (en) 2017-12-06

Similar Documents

Publication Publication Date Title
RU2646350C2 (ru) Способ ввода данных в электронное устройство, способ обработки голосового запроса, машиночитаемый носитель (варианты), электронное устройство, сервер и система
US10796076B2 (en) Method and system for providing suggested tags associated with a target web page for manipulation by a useroptimal rendering engine
JP7485485B2 (ja) 自然言語ウェブブラウザ
US9378290B2 (en) Scenario-adaptive input method editor
US10515151B2 (en) Concept identification and capture
US10049151B2 (en) External action suggestions in search results
US20230334102A1 (en) Displaying Stylized Text Snippets with Search Engine Results
US8589433B2 (en) Dynamic tagging
US11487757B2 (en) Assistive browsing using context
US10051108B2 (en) Contextual information for a notification
WO2011039024A2 (en) Method and system for processing services
RU2633180C2 (ru) Система и способ управления браузерным приложением, постоянный машиночитаемый носитель и электронное устройство
US11003667B1 (en) Contextual information for a displayed resource
US20140222865A1 (en) Method, System and Program for Interactive Information Services
RU2580431C2 (ru) Способ и сервер для обработки поискового запроса и машиночитаемый носитель
US8327261B2 (en) Multilingual tagging of content with conditional display of unilingual tags
JP2008090709A (ja) 共同翻訳装置
JP2019197381A (ja) 判決文データベースの作成方法、判決文データベースの検索方法、文作成方法、判決文データベースの作成装置、判決文データベースの検索装置、文作成装置、判決文データベースの作成プログラム、判決文データベースの検索プログラム、および文作成プログラム
US10289741B2 (en) Using relevant objects to add content to a collaborative repository
US20170139895A1 (en) Method and System for Report Generation
JP6796337B2 (ja) 評釈データベース作成装置、評釈データベース作成方法、評釈データベース作成プログラム
JP2009157727A (ja) 文書管理装置、文書管理システム、文書検索方法、プログラムおよびコンピュータ読み取り可能な記録媒体
JP2002092370A (ja) ニーズ情報とサービス情報のマッチングシステム
JP2009134637A (ja) 評価情報作成装置および評価情報提示装置

Legal Events

Date Code Title Description
FA92 Acknowledgement of application withdrawn (lack of supplementary materials submitted)

Effective date: 20170127

FZ9A Application not withdrawn (correction of the notice of withdrawal)

Effective date: 20171206