WO2023080341A1 - Dynamic positioning of ai speaker in an iot ecosystem - Google Patents
Dynamic positioning of ai speaker in an iot ecosystem Download PDFInfo
- Publication number
- WO2023080341A1 WO2023080341A1 PCT/KR2022/000834 KR2022000834W WO2023080341A1 WO 2023080341 A1 WO2023080341 A1 WO 2023080341A1 KR 2022000834 W KR2022000834 W KR 2022000834W WO 2023080341 A1 WO2023080341 A1 WO 2023080341A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- electronic device
- voice
- placement
- optimal location
- Prior art date
Links
- 230000003993 interaction Effects 0.000 claims abstract description 178
- 230000004044 response Effects 0.000 claims abstract description 111
- 238000000034 method Methods 0.000 claims abstract description 80
- 238000013473 artificial intelligence Methods 0.000 claims description 143
- 239000013598 vector Substances 0.000 claims description 88
- 238000004458 analytical method Methods 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000004913 activation Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000010411 cooking Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R5/00—Stereophonic arrangements
- H04R5/02—Spatial or constructional arrangements of loudspeakers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
- G10L25/60—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for measuring the quality of voice signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2227/00—Details of public address [PA] systems covered by H04R27/00 but not provided for in any of its subgroups
- H04R2227/005—Audio distribution systems for home, i.e. multi-room use
Definitions
- the present disclosure relates to a method and system for dynamic positioning of an electronic device.
- the present invention relates to a method and system for the dynamic positioning of Artificial Intelligence (AI) Based electronic device in an Internet of Things (IoT) ecosystem.
- AI Artificial Intelligence
- the AI speaker 104 Speaker is unable to hear the user's voice command 110 even when user 102 is speaking continuously due to the far placement of the AI speaker 104 from the user 102. Due to such a problem, the user 102 has to manually turn on light 106 and hence may cause a bad user experience.
- the AI speaker 104 is unable to perform Speech Analysis due to poor mic activation as it is kept far from the user 102, and the wall 114 is dampening the user's voice command 110. Due to such a problem the user 102 has to repeat the command again and again and may get frustrated with the AI speaker 104. Hence, such a problem may also cause the bad user experience.
- the user 102 is asking the AI speaker 104 for weather information by giving the user's voice command 110.
- the AI speaker 104 is taking too long to process and respond to the command due to poor Wi-Fi signal as it is kept far from the Wi-Fi router 202.
- the user 102 will have to wait for a long time for the response from the AI speaker 104 and hence may also cause the bad user experience.
- the user 102 is asking the AI speaker 104 to play music by giving the user's voice command 110.
- the AI speaker 104 is unable to hear the user's voice command 110 even when the user 102 is speaking continuously as it is placed very far from the user 102.
- the AI speaker 104 is taking too long to process and respond to the user's voice command 110 due to poor Wi-Fi signal as it is kept far from the Wi-Fi router 202.
- the user 102 has to move or place the AI speaker 104 for better response. Such problem also result in the bad user experience.
- the present disclosure describes the method and the system for the dynamic positioning of AI-Based electronic device in the IoT ecosystem.
- AI-enabled electronic devices are more intelligent and capable of doing a specific task which saves a lot of resources and time.
- AI-enabled speaker Considering an AI-enabled device in IoT Ecosystem, for example, AI-enabled speaker.
- the AI-enabled speaker is generally kept at any location without any special thought about its positional importance in an IoT setting.
- the Placement of the AI-enabled speaker for example, very far from a user, near edge locations like a wall, balcony, areas with poor Wi-Fi reception, or areas with low speaker interactions could result in poor command analysis, poor repetition of user voice command, high latency in response and inconsistent behavior.
- the present subject matter refers to a method for positioning an electronic device in the IoT ecosystem.
- the method comprises analyzing user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input, over a time period.
- the method further comprises determining user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device.
- the method comprises determining at least an optimal location based on the user's voice interaction patterns and thereafter recommending the determined at least the optimal location to the user via at least one of a Graphical User Interface (GUI) and an audio response, for the placement of the electronic device.
- GUI Graphical User Interface
- the present subject matter refers to a system for positioning an electronic device in the IoT ecosystem.
- the system includes a command analysis engine, a placement engine, and a notification module.
- the command analysis engine analyzes user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input, over a time period.
- the command analysis engine further determines user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device.
- the placement engine determines at least an optimal location based on the user's voice interaction patterns.
- the notification module recommends the determined at least the optimal location to the user via at least one of the GUI and the audio response, for the placement of the electronic device.
- Figures 1A and 1B illustrate a first example illustration of problems regarding placement of the AI-enabled speaker in a smart home system, in accordance with an embodiment of existing solution
- Figures 2A and 2B illustrate a second example illustration of problems regarding placement of the AI-enabled speaker in the smart home system, in accordance with an embodiment of the existing solution
- FIG. 3 illustrates a flowchart of method steps for positioning of AI-speaker in the IoT ecosystem, in accordance with an embodiment of the present disclosure
- Figure 4 illustrates a system architecture for dynamic positioning of AI-Speaker in the IoT ecosystem, in accordance with an embodiment of the present disclosure, in accordance with an embodiment of the present disclosure
- Figure 5 illustrates an example method for calculating the interaction score for each of the directions with respect to locations associated with the user's voice interaction patterns, in accordance with an embodiment of the present disclosure
- Figure 6A and 6B illustrate an example illustration of the adjustment of the vectors of the interaction vector map by the placement engine of the system 400 of Figure 4, in accordance with an embodiment of the present disclosure
- Figure 7 illustrates a use case example of optimal placement of the AI speaker within a user's home, in accordance with an embodiment of the present disclosure
- Figure 8 illustrates an example illustration of interaction score heat map including two AI speakers, in accordance with an embodiment of the present disclosure
- Figure 9 illustrates a use case example of optimal placement of the AI speaker within a user's home using UWB event data, in accordance with an embodiment of the present disclosure
- Figure 10 illustrates an example illustration of the notification using the LED ring to guide the user in which the AI speaker needed to be moved, in accordance with an embodiment of the present disclosure
- Figure 11 illustrates a use case example of optimal placement of the AI speaker within a user's home using the IoT event data, in accordance with an embodiment of the present disclosure
- Figure 12 illustrates a use case example of optimal positioning of the AI speaker in a user's home using the user feedback, in accordance with an embodiment of the present disclosure
- Figure 13 illustrates a representative architecture to provide tools and development environment described herein for a technical realization of the system 400, in accordance with an embodiment of the present disclosure
- Figure 14 illustrates another exemplary implementation in accordance with the embodiment of the present invention, and yet another typical hardware configuration of the system 1300 in the form of a computer system 1400, in accordance with an embodiment of the present disclosure.
- any terms used herein such as but not limited to “includes,” “comprises,” “has,” “consists,” and grammatical variants thereof do NOT specify an exact limitation or restriction and certainly do NOT exclude the possible addition of one or more features or elements, unless otherwise stated, and must NOT be taken to exclude the possible removal of one or more of the listed features and elements, unless otherwise stated with the limiting language “MUST comprise” or “NEEDS TO include.”
- Figure 3 illustrates a flowchart of method steps for positioning of AI-speaker in the IoT ecosystem, in accordance with an embodiment of the present disclosure.
- Figure 3 depicts a method 300 for positioning of the AI-speaker in the IoT ecosystem that is executed by components of the system 400 of figure 4 of the drawings.
- Figure 4 illustrates a system architecture for the dynamic positioning of an electronic device in the IoT ecosystem, in accordance with an embodiment of the present disclosure.
- Figure 4 illustrates a system 400 for the dynamic positioning of AI-Speaker in the IoT ecosystem.
- the system 400 includes Command Analysis Engine 406, Interaction Score Analysis Engine 408, Vectorization Engine 410, Placement Engine 412, Notification Module 414, and a Database 416.
- the aforementioned components of the system 400 are coupled with each other for transfer of information from one component to the other component in the system 400.
- the electronic device corresponds, but is not limited to, AI speaker, voice-based portable IoT devices, electronic devices with voice user interface (VUI), voice assistant devices, and the like.
- any of the above-mentioned devices such as, but not limited to, the voice-based portable IoT devices, the electronic devices with voice user interface (VUI), the voice assistant devices and the like can be used to describe the functionalities of the components of the system 400 in a similar manner to be described below.
- VUI voice user interface
- the method 300 comprises analyzing (at step 302), over a time period, user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input.
- Command Analysis Engine 406 is triggered and analyzes the user's voice data input to the AI speaker and response data output by the AI speaker in response to the user's voice data input.
- the Command Analysis Engine 406 performs voice analysis and makes the user's voice profile based on audio speech input or audio tagging information corresponding to a plurality of user's locations with respect to a position of the AI speaker in the IoT ecosystem.
- the audio tagging information includes one or more voice parameters that consist of, but are not limited to, a pitch of the user's voice, an amplitude of the user's voice, a frequency of the user's voice, and an activation state of a mic of the AI speaker.
- the audio tagging information may also include one or more direction parameters (e.g., mic activation, and distance using Ultra-Wideband (UWB)) and IoT context/ UWB data (e.g., task-specific to zone or an IoT device, habit, etc.).
- direction parameters e.g., mic activation, and distance using Ultra-Wideband (UWB)
- IoT context/ UWB data e.g., task-specific to zone or an IoT device, habit, etc.
- the analysis of the user's voice data involves multiple parameters. For example, for determination of the amplitude of the user's voice and noise for a particular location, the Command Analysis Engine 406 may subdivide a particular space into zones and makes profiles as per average signal voice amplitude and noise at that location. For any user's activity context, location, presence, schedule related parameters, the Command Analysis Engine 406 may perform zone-based profiling as per commands context and the UWB data for direction and distance of the user from the AI speaker (mic activation). For the parameters such as the pitch, the amplitude, and the frequency of the user's voice, the Command Analysis Engine 406 may process the user's voice data input and extracts voice parameters for profiling.
- the voice utterance data (voice data 1, voice data 2) from the specific user locations (user location 1, user location 2) as shown in Figure 4 is processed by the Command Analysis Engine 406 to extract the voice parameters for the profiling.
- voice data 1, voice data 2 from the specific user locations (user location 1, user location 2) as shown in Figure 4 is processed by the Command Analysis Engine 406 to extract the voice parameters for the profiling.
- the Command Analysis Engine 406 may detect event commands uttered by the user from a specific location (for example, from the kitchen or any place inside a home), user presence, and direction and distance of the user from the AI speaker and can check for command history associated with that location.
- the Command Analysis Engine 406 analyzes response data output by the AI speaker in response to the user's voice data input.
- the response data of the AI speaker includes one or more response parameters corresponding to the plurality of user's locations.
- the one or more response parameters corresponds, but are not limited to, an incorrect service output by the AI speaker, any inaccurate service for a specific location marking user dissatisfaction or improper location of the AI speaker, repetition of response commands by the AI speaker, a service time of the AI speaker get impacted due to Wi-Fi signal strength or response from the speaker server, an activation state of the mic of the AI speaker as a loudness parameter, and device Specification data such as speaker audio power, mic sensitivity, WIFI driver and the like.
- the service time of the AI speaker is associated with a Distance of Wi-Fi Router from the AI speaker that may impact the performance in terms of long service time or due to latency in data transfer because of weak Wi-Fi signal, and the incorrect service can be referred as an erroneous service output by the AI speaker in response to the user's voice command from a specific direction of a plurality of directions around the AI speaker (e.g., an unwanted response from the AI speaker, wrong NLU analysis by the AI speaker).
- An example representation of a speaker response profile and a user voice profile is shown above in Table 1.
- the example representation of the speaker response profile and the user voice profile as shown in Table 1 is only shown for ease of explanation and is not limited to the information included in Table 1.
- the speaker response profile and the user voice profile can include information with reference to various types of parameters as described above.
- an example representation of the IoT event data and the UWB event data is also shown below in Table 2.
- the example representation of the IoT event data and the UWB event data as shown in Table 2 is only shown for ease of explanation and is not limited to the information included in the Table 2.
- the IoT event data and the UWB event data can include any other information depending on the nature of each of the IoT events and the UWB event.
- the flow of the method 300 now proceeds to (step 304).
- the method 300 comprises storing, as historical data in the database 416, the analyzed user's voice data and response data of the electronic device.
- the historical data includes at least one user voice profile and at least one response profile of the AI speaker.
- the Command Analysis Engine 406 stores each of the analyzed user's voice data and response data of the AI speaker as the historical data in the database 416.
- the stored historical data may also include, but is not limited to, at least one of a specific user's location with respect to the AI speaker during user interactions with the AI speaker, a number of user's voice commands uttered from the specific user's location to the AI speaker, IoT contexts during the user interactions with the AI speaker, user's feedback corresponding to a conversation with the AI speaker, a signal strength of at least one network device to which the AI speaker is connected during the user interactions with the AI speaker, directions of the uttered user's voice commands during the user interactions with the AI speaker, or a plurality of voice parameters associated with the uttered user's voice commands.
- the flow of the method 300 now proceeds to (step 306).
- the method 300 comprises determining user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device.
- the Command Analysis Engine 406 further determines the user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the AI speaker.
- the user's voice interaction patterns may also include one or more user voice profiles and one or more response profiles of the AI speaker.
- the method 300 comprises determining at least an optimal location for placement of the electronic device in the IoT ecosystem based on the user's voice interaction patterns determined by the Command Analysis Engine 406.
- the Placement Engine 412 determines an optimal location for placement of the AI Speaker in the IoT ecosystem based on the determined user's voice interaction patterns.
- the flow of the method 300 now proceeds to (step 310).
- the method 300 comprises recommending the optimal location determined by the Placement Engine 412 to the user via at least one of a Graphical User Interface (GUI) or an audio response, for the placement of the electronic device in the IoT ecosystem.
- GUI Graphical User Interface
- the Notification Module 414 recommends the optimal location determined by the Placement Engine 412 to the user via the GUI and the audio response for the placement of the AI Speaker in the IoT ecosystem.
- the GUI may refer to a graphic display provided on a display (e.g., screen) of an electronic device.
- the GUI may include at least one window, at least one icon, at least one scroll bar, and any other graphical items used for inputting commands to the device by a user.
- exemplary embodiments of the present invention may include various types of GUIs in various shapes, designs, and configurations.
- Other examples of output devices may include graphics devices/display devices, Computer screens, alarm systems, smart phone display screens, dashboard-mounted display screens in automobiles, or any other type of data output device.
- the Interaction Score Analysis Engine 408 calculates an interaction score for each direction of the plurality of directions with respect to locations associated with the user's voice interaction patterns, based on the user's voice interaction patterns including the one or more user voice profile and the one or more response profile of the AI speaker.
- the Interaction Score Analysis Engine 408 may also calculate the interaction score based on at least one of a user's current voice profiles, a current response profile of the AI speaker, and the historical data stored in the database 416.
- the interaction score is a value in a predefined range that indicates a classification level of at least one attribute among a plurality of attributes corresponding to the at least one user voice profile and the at least one response profile of the electronic device.
- Table 3 An example representation of the calculated interaction score is shown below in Table 3.
- the example representation of the interaction score as shown in Table 3 is only shown for ease of explanation and is not limited to the information included in the Table 3.
- the information included in the Table 3 will vary based on a change in the user's voice profile, response profile of the AI speaker, and the user's voice interaction pattern.
- the Interaction Score Analysis Engine 408 normalizes the calculated interaction score for each direction of the plurality of directions for the user's current location, based on a priority level of each of one or more system context variables associated with the AI speaker.
- the one or more system context variables corresponds to at least one of the IoT event data associated with the AI speaker and users of the AI speaker, device-specific data of the AI speaker, or user feedback data.
- An example representation of the device-specific data of the AI speaker is shown below in Table 4.
- the example representation of the device-specific data of the AI speaker as shown in Table 4 is only shown for ease of explanation and is not limited to the information included in the Table 4.
- the device-specific data of the AI speaker will vary based on the configuration of the AI speaker.
- the Interaction Score Analysis Engine 408 generates an interaction score matrix based on the normalized interaction score of the corresponding direction of the plurality of directions.
- An example representation of the interaction score matrix is shown below in Table 5.
- the example representation of the interaction score matrix as shown in Table 5 is only shown for ease of explanation and is not limited to the information included in the Table 5.
- the information included in the Table 5 will vary based on a change in the user's voice profile, response profile of the AI speaker, and the user's voice interaction pattern.
- normalized interaction score matrix score features priority(based on device data) interaction score normalized score voice amplitude medium 7 5 repetition high 5 3 usage frequency no change 4 4 Wi-Fi strength high 3 2 voice pinch less 3 5 time for service high 8 7 360 usage medium 8 7 duration of use no change 9 9
- Figure 5 illustrates an example method for calculating the interaction score for each of the directions with respect to locations associated with the user's voice interaction patterns, in accordance with an embodiment of the present disclosure.
- Figure 5 depicts a method 500 for the calculation of the interaction score for each of the directions with respect to locations associated with the user's voice interaction patterns.
- the method 500 comprises extracting (at step 502) relevant features present in the user's voice data and the response data output by the electronic device for calculation of the interaction score.
- the Interaction Score Analysis Engine 408 extracts the pitch of the user's voice, the amplitude of the user's voice, the frequency of the user's voice, and the activation state of a mic of the electronic device as the features for calculation of the interaction score from the user's voice data and speaker response data of the AI speaker.
- the flow of the method 500 now proceeds to (step 504).
- the method 500 comprises applying feature scaling techniques to standardize the extracted relevant features present in the user's voice data and speaker response data of the AI speaker and further classifying the standardized relevant features into a plurality of classes.
- the Interaction Score Analysis Engine 408 applies the feature scaling techniques to standardize the extracted relevant features present in the user's voice data and speaker response data of the AI speaker and further classifies the standardized relevant features into the plurality of classes (e.g., ranging from Very low, low, normal, high, very high).
- the Interaction Score Analysis Engine 408 may also assign some categorical values to the classified relevant features according to their class level.
- attributes like the repetition of commands (high) and frequency of use of the AI speaker (16 times per day) are extracted as feature "Repetition” and are classified as "very high” value and is given a poor score value of 2.
- feature "Repetition” attributes like the repetition of commands (high) and frequency of use of the AI speaker (16 times per day)
- very high value is given a poor score value of 2.
- the method 500 comprises determining and calculating the interaction score for each direction of the plurality of directions by applying at least one hot Encoding technique or a label encoding technique to the categorical values associated with the classified relevant features.
- the Interaction Score Analysis Engine 408 applies at least one of the hot Encoding techniques or the label encoding technique to the categorical values associated with the classified relevant features to calculate the interaction score for each direction of the plurality of directions.
- the method 500 comprises normalizing the calculated interaction score in a specific range in accordance with the priority level of each of one or more system context variables associated with the AI speaker.
- the Wi-Fi Strength has an interaction score of 3 but the priority of the Wi-Fi strength is low as per IoT context (most of the commands are kitchen specific but Wi-Fi strength is low near the kitchen), therefore the low interaction score for feature "Wi-Fi strength" is normalized to a higher value of 7.
- This example is only provided for the ease of explanation and is not limited to the scope of the Wi-Fi-strength parameter.
- the normalizing of the calculated interaction score in the specific range will vary based on a change in the priority level of one or more system context variables associated with the AI speaker.
- the Vectorization Engine 410 After the calculation and normalization of the interaction score matrix, the Vectorization Engine 410 generates an interaction vector map based on the interaction score calculated by the Interaction Score Analysis Engine 408 or the interaction score matrix generated by the Interaction Score Analysis Engine 408.
- the interaction vector map indicates the user's voice interaction patterns with respect to the AI speaker in each direction of the plurality of directions.
- the Vectorization Engine 410 sums the normalized data of all score features (voice amplitude, repetition, usage frequency, Wi-Fi strength, voice pitch, time of the service, 360 usages, duration of use, and the like) for each direction of the plurality of directions to estimate the magnitude of vectors.
- the Vectorization Engine 410 determines the vectors with distance for each direction of the plurality of directions (N, E, S, W, N-E, N-W, S-E, S-W) and performs the vectorization of the normalized interaction score with magnitude for each of the plurality of directions using the determined vectors with distance to generate the interaction vector map.
- the Placement Engine 412 determines the optimal location based on the generated interaction vector map such that the calculated interaction score is optimum along with a maximum number of directions among the plurality of directions.
- the Placement Engine 412 further re-calibrates and calculates vectors associated with the interaction vector map based on user feedback during the placement of the electronic device at the determined optimal location.
- the re-Calibration and calculation of vectors is a continuous process for every new displacement or movement of the electronic device.
- the Placement Engine 412 re-calibrates and calculates vectors associated with the interaction vector map when feedback is given by the user to the AI speaker during the placement of the AI speaker at the determined optimal location.
- the Placement Engine 412 re-calibrates and calculates vectors associated with the interaction vector map based on one of a movement or a displacement of the AI speaker at a location different from the determined optimal location.
- the Placement Engine 412 may also determine another optimal location for the placement of the electronic device based on the recalibration and the calculation of the vectors associated with the interaction vector map. In particular, the Placement Engine 412 determines another optimal location for the placement of the AI speaker based on the recalibration and the calculation of the vectors associated with the interaction vector map.
- FIGs 6A and 6B illustrate an example illustration of the adjustment of the vectors of the interaction vector map by the placement engine of the system 400 of Figure 4, in accordance with an embodiment of the present disclosure.
- the Placement Engine 412 receives input vectors in a form of the interaction vector map from the vectorization engine 410. After receiving the input vectors from the vectorization engine, the Placement Engine 412 adjusts the input vectors to determine the optimal location.
- Figure 6B depicts a method 600 for determining the optimal location by the Placement Engine 412.
- the method 600 comprises determining (at step 602) a theoretical threshold for each parameter corresponding to a current location of the user based on the electronic device (AI speaker) capabilities and the historical data stored in the database 416.
- the Placement Engine 412 determines the theoretical threshold for the parameters corresponding to the current location of the user with respect to the AI speaker based on the device-specific data and the historical data stored in the database 416.
- the flow of the method 600 now proceeds to (step 604).
- the method 600 comprises selecting the smallest vector for the current location of the user with respect to the electronic device based on the received input vectors from the vectorization engine 410.
- the Placement Engine 412 selects the smallest vector among the input vectors for the current location of the user with respect to the AI Speaker and in a case if one of the parameters that form the vector is close to the determined theoretical threshold, the Placement Engine 412 drops that parameter from vector magnitude estimation.
- the flow of the method 600 now proceeds to (step 606).
- the method 600 comprises sending a movement trigger to notify for the movement of the electronic device in a vector direction of the selected smallest vector.
- the Placement Engine 412 sends the movement trigger to the Notification Module 414 to notify the user for the movement of the AI speaker in the vector direction of the selected smallest vector.
- the flow of the method 600 now proceeds to (step 608).
- the method 600 comprises recalibrating the size of the input vectors in each of the plurality of directions around the speaker based on the movement of the electronic device by applying regression technique on the vector parameters.
- the Placement Engine 412 recalibrates the size of the input vectors in each of the plurality of directions around the speaker based on the movement of the electronic device by applying regression technique on the vector parameters corresponding to the input vectors. Further, the Placement Engine 412 also calculates the distance of the AI speaker from other devices in the IoT ecosystem based on UWB to avoid interference during the recalibration.
- the Placement Engine 412 also determines whether standards for all of the vector parameters are met after the recalibration. If the result of the determination at the step 608 is yes, then the flow of the method 600 now proceeds to (step 610).
- the method 600 comprises triggering the Notification Module 414 to notify the user to stop the movement of the electronic device where each of the input vectors after the recalibration becomes almost equally balanced in each of the plurality of directions around the electronic device.
- the Placement Engine 412 triggers the Notification Module 414 to notify the user to stop the movement of the AI speaker and determines the location at which each of the input vectors become almost equally balanced in each of the plurality of directions around the AI speaker, as the final optimal location.
- the Placement Engine 412 will repeat the method steps 604 and 606 until the result of the determination at the step 608 becomes yes.
- the Notification Module 414 for the movement of the electronic device at the optimal location.
- the Notification Module 414 notifies, under the control of the Placement Engine 412, movement directions and distances to the user for the placement of the electronic device at determined optimal location or the determined another optimal location via at least one of the GUI or the audio response.
- the Placement Engine 412 When the user moves the electronic device after getting notified about a new optimal location or the another optimal location, then at that time the Placement Engine 412 also determines whether the user moves the electronic device towards the movement directions along with the distances notified by the Notification Module 414. Further, the Notification Module 414 assists, the user via at least one of the GUI or the audio response, at least one correct movement direction or at least one correct distance to move the electronic device for the placement at one of the determined optimal location or the determined another optimal location, in accordance with the determination of the movement of the electronic device towards the notified movement directions by the user.
- FIG 7 illustrates a use case example of optimal placement of the AI speaker within a user's home, in accordance with an embodiment of the present disclosure.
- the user is giving commands to the AI speaker 702 from multiple locations (user location 704, user location 706, and user location 708) but the AI Speaker 702 is placed near the Sofa (balcony side) of the user's home 712.
- the AI speaker 702 misses more frequent commands given by the user.
- the Wi-Fi signal to which the AI speaker 702 is connected is weak due to the current placement of the AI speaker 702 and hence it is under-utilized as most of its view is blocked by balcony 710 of the user's home 712.
- the Notification Module 414 under the control of the Placement Engine 412 notifies the user about a new location for the placement of the AI speaker in the user's home 712 so that better response processing can be provided to enhance the user experience. Accordingly, the Notification Module 414 suggests the user to move the AI speaker 702 near dining room 714 of the user's home 712 and thereby enchaining the user experience. For example, but not limited to, the Notification Module 414 suggests the user to move 17 feet in the North-East direction for the optimal placement of the AI speaker 702 on the GUI along with the directions for movement as shown in the example GUI 716.
- the aforementioned example shown in the drawings are merely exemplary and are not intended to limit the scope of the invention.
- the vectors with the distance for each direction of the plurality of directions can be represented in a form of an interaction score heat map.
- the interaction score heat map indicates the accuracy of the electronic device in a zone-specific manner.
- an interaction score heat map is shown in the figure 8 of the drawings.
- FIG 8 illustrates an example illustration of an interaction score heat map including two AI speakers, in accordance with an embodiment of the present disclosure.
- the Placement Engine 412 may trigger the Notification Module 414 to suggest an accuracy of the AI speaker in accordance with zone information regarding a specific zone in which the AI speaker is placed.
- the Notification Module 414 may also suggest the user regarding the movement directions and distances so that the accuracy of the AI speaker becomes high.
- the Notification Module 414 may suggest moving the AI speakers (S1 and S2) as shown in figure 8, by some distances in a specific direction so that accuracy of the AI speakers (S1 and S2) improves after the movement.
- the Notification Module 414 may also assist the user the at least one correct movement direction or the at least one correct distance based on Ultra-Wideband (UWB) event data.
- the UWB event data may include information associated with movement directions and distance values for the placement of the electronic device at one of the determined optimal location or the determined another optimal location.
- FIG 9 illustrates a use case example of optimal placement of the AI speaker within a user's home using UWB event data, in accordance with an embodiment of the present disclosure.
- user 902 and user 904 are giving commands to the AI speaker 906, but the AI speaker 906 is placed in bedroom 908.
- the AI speaker 906 speaker misses more frequent commands given by the users 902 and 904.
- both users 902 and 904 may have to come out near the AI Speaker 906 to deliver commands clearly to the AI speaker 906.
- the Notification Module 414 under the control of the Placement Engine 412 considers UWB Context (direction, distance) and user's voice amplitude value as well as inefficient NLU processing and suggests the user to move the speaker to the central location 910 for better response processing and thereby enhance the user experience. Accordingly, the Notification Module 414 suggests the user to move the AI speaker 906 at the central location 910 of the user's home 912 and thereby enchaining the user experience.
- the Notification Module 414 may guide the user to move the AI Speaker new distance using a LED ring on the GUI or voice output.
- An example of the notification using the LED ring on the GUI is shown in Figure 10 of the drawings.
- Figure 10 illustrates an example illustration of the notification using the LED ring to guide the user in which the AI speaker needed to be moved, in accordance with an embodiment of the present disclosure.
- the Notification Module 414 suggests the user to move the AI speaker in the direction of the LED ring (back, left, right, and front) till the new distance is reached by the user while moving the AI speaker.
- the Notification Module 414 may assist, during placement of the AI speaker through the audio response, haptic feedback or the LED ring, etc..., the at least one correct movement direction or the at least one correct distance to the user based on sensor data.
- the Placement Engine 412 monitors the user's movement using UWB sensors, gyroscope sensors and triggers the Notification Module 414 during placement of the AI speaker and accordingly the Notification Module 414 suggests the at least one correct movement direction or the at least one correct distance to the user.
- the sensor data includes information associated with movement directions and distance values for the placement of the electronic device at one of the determined optimal location or the determined another optimal location.
- the sensor data can also be referred to as "IOT event data" without any deviation from the scope of the invention.
- FIG 11 illustrates a use case example of optimal placement of the AI speaker within a user's home using the IoT event data, in accordance with an embodiment of the present disclosure.
- user 1102 is giving commands to the AI speaker 1104 from kitchen 1106 more frequently for cooking recipes, but the AI speaker is placed near TV cabinet 1108 in the living room 1110 of the user's home 1112.
- the AI speaker 1104 may misses more frequent commands given by user 1102 while cooking. Even sometimes the user 1102 has to come out of the kitchen 1106 to deliver commands clearly to the AI speaker 1104.
- the Notification Module 414 under the control of the Placement Engine 412 considers IoT context of cooking, user's voice amplitude value, and inefficient NLU processing and suggests the user 1102 to move the AI speaker 1104 near a northern shelf 1114 of the kitchen 1106 for better response processing, and thereby enhance the user experience.
- the northern shelf 1114 of the kitchen 1106 is the location suggested by the Notification Module 414.
- the Placement Engine 412 may also determine whether the electronic device is placed at one of the determined optimal location or the determined another optimal location. As an example, the Placement Engine 412 may determine whether the AI speaker is placed at the location suggested by the Notification Module 414. Further, the Notification Module 414 may notify the user to stop the movement of electronic device via at least one of the GUI and the audio response when it is determined that the electronic device is placed at the suggested location. Furthermore, in a case if it is determined that the electronic device is not placed at the suggested location, the Notification Module 414 keeps suggesting the movement directions and the distance for the placement of the AI speaker at the determined optimal location or the determined another optimal location.
- the Notification Module 414 may also collect feedback from the user and sends it to Interaction Score Analysis Engine 408 for the normalization of the interaction score based on the user feedback.
- the user feedback could be but are not limited to, unavailability of power source at the new location, placement of the AI speaker in a specific area, user preference for the placement of the AI speaker, and the like.
- the Placement Engine 412 After the normalization of the interaction score based on the user feedback, the Placement Engine 412 performs the recalibration of the input vectors for a determination of a new position for the placement of the AI speaker.
- FIG 12 illustrates a use case example of optimal positioning of the AI speaker in a user's home using the user feedback, in accordance with an embodiment of the present disclosure.
- the user 1202 is giving frequent commands to the AI speaker 1208 from kitchen 1204 and living room 1206, respectively but the AI speaker 1208 was placed near the bedroom at the speaker location 1210. Therefore, the Notification Module 414 under the control of the Placement Engine 412 suggests a new speaker location 1212 for the placement of the AI speaker 1208 in the user's home 1216.
- the Placement Engine 412 controls the Notification Module 414 to collect user's feedback as input and to suggest an alternate speaker location 1214 to the user 1202 for the placement of the AI speaker 1208 and thereby enhance the user experience.
- Figure 13 illustrates a representative architecture to provide tools and development environment described herein for a technical realization of the system 400, in accordance with an embodiment of the present disclosure.
- Figure 13 is merely a non-limiting example, and it will be appreciated that many other architectures may be implemented to facilitate the functionality described herein.
- the architecture may be executing on hardware such as a computing machine 1300 of Figure 13 that includes, among other things, processors, memory, and various application-specific hardware components.
- the architecture 1300 may include an operating system, libraries, frameworks, or middleware.
- the operating system may manage hardware resources and provide common services.
- the operating system may include, for example, a kernel, services, and drivers defining a hardware interface layer.
- the drivers may be responsible for controlling or interfacing with the underlying hardware.
- the drivers may include display drivers, camera drivers, Bluetooth® drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), Wi-Fi® drivers, audio drivers, power management drivers, and so forth depending on the hardware configuration.
- USB Universal Serial Bus
- a hardware interface layer includes libraries which may include system libraries such as file-system (e.g., C standard library) that may provide functions such as memory allocation functions, string manipulation functions, mathematic functions, and the like.
- the libraries may include API libraries such as audio-visual media libraries (e.g., multimedia data libraries to support presentation and manipulation of various media formats such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG), database libraries (e.g., SQLite that may provide various relational database functions), web libraries (e.g. WebKit that may provide web browsing functionality), and the like.
- system libraries such as file-system (e.g., C standard library) that may provide functions such as memory allocation functions, string manipulation functions, mathematic functions, and the like.
- API libraries such as audio-visual media libraries (e.g., multimedia data libraries to support presentation and manipulation of various media formats such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG), database libraries (e.g., SQLite that may provide
- a middleware may provide a higher-level common infrastructure such as various graphic user interface (GUI) functions, high-level resource management, high-level location services, and so forth.
- GUI graphic user interface
- the middleware may provide a broad spectrum of other APIs that may be utilized by the applications or other software components/modules, some of which may be specific to a particular operating system or platform.
- module used in this disclosure may refer to a certain unit that includes one of hardware, software, and firmware or any combination thereof.
- the module may be interchangeably used with unit, logic, logical block, component, or circuit, for example.
- the module may be the minimum unit, or part thereof, which performs one or more particular functions.
- the module may be formed mechanically or electronically.
- the module disclosed herein may include at least one ASIC (Application-Specific Integrated Circuit) chip, FPGAs (Field-Programmable Gate Arrays), and programmable-logic device, which have been known or are to be developed.
- ASIC Application-Specific Integrated Circuit
- FPGAs Field-Programmable Gate Arrays
- programmable-logic device which have been known or are to be developed.
- the architecture 1300 depicts an aggregation of audio/video processing device-based mechanisms and ML/NLP-based mechanisms in accordance with an embodiment of the present subject matter.
- a user interface is defined as input and interaction 1301 refers to overall input. It can include one or more of the following -touch screen, microphone, camera, etc.
- a first hardware module 1302 depicts specialized hardware for ML/NLP based mechanisms. As an example, the first hardware module 1302 comprises one or more neural processors, FPGA, DSP, GPU, etc.
- a second hardware module 1312 depicts specialized hardware for executing the data splitting and transfer.
- ML/NLP based frameworks and APIs 1304 correspond to the hardware interface layer for executing the ML/NLP logic 1306 based on the underlying hardware.
- the frameworks may be one or more or the following - Tensorflow, Caf ⁇ , NLTK, GenSim, ARM Compute, etc.
- Simulation frameworks and APIs 1314 may include one or more of - Audio Core, Audio Kit, Unity, Unreal etc.
- a database 1308 depicts a pre-trained database.
- the database 1308 may be remotely accessible through cloud by the ML/NLP logic 1306.
- the database 1308 may partly reside on cloud and partly on-device based on usage statistics.
- Another database 1318 refers the memory.
- the database 1318 may be remotely accessible through cloud.
- the database 1318 may partly reside on the cloud and partly on-device based on usage statistics.
- a rendering module 1305 is provided for rendering audio output and trigger further utility operations.
- the rendering module 1305 may be manifested as a display cum touch screen, monitor, speaker, projection screen, etc.
- a general-purpose hardware and driver module 1303 corresponds to the computing device 1400 as referred in Figure 14 and instantiates drivers for the general purpose hardware units as well as the application-specific units (1302, 1312).
- the ML mechanism underlying the present architecture 1300 may be remotely accessible and cloud-based, thereby being remotely accessible through a network connection.
- An audio/video processing device may be configured for remotely accessing the NLP/ML modules and simulation modules may comprise skeleton elements such as a microphone, a camera a screen/monitor, a speaker etc.
- one of the plurality of modules of mesh network may be implemented through AI based on an ML/NLP logic 1306.
- a function associated with AI may be performed through the non-volatile memory, the volatile memory, and the processor constituting the first hardware module 1302 i.e. specialized hardware for ML/NLP based mechanisms.
- the processor may include one or a plurality of processors.
- one or a plurality of processors may be a general purpose processor, such as a central processing unit (CPU), an application processor (AP), or the like, a graphics-only processing unit such as a graphics processing unit (GPU), a visual processing unit (VPU), and/or an AI-dedicated processor such as a neural processing unit (NPU).
- the aforesaid processors collectively correspond to the processor 1402 of Figure 14.
- the one or a plurality of processors control the processing of the input data in accordance with a predefined operating rule or artificial intelligence (AI) model stored in the non-volatile memory and the volatile memory.
- the predefined operating rule or artificial intelligence model is provided through training or learning.
- a predefined operating rule or AI model of the desired characteristic is made.
- Obtained by training means that a predefined operation rule or artificial intelligence model configured to perform a desired feature (or purpose) is obtained by training a basic artificial intelligence model with multiple pieces of training data by a training technique.
- the learning may be performed in a device (i.e. the architecture 1300 or the device 1300) itself in which AI according to an embodiment is performed, and/or may be implemented through a separate server/system.
- the AI model may consist of a plurality of neural network layers. Each layer has a plurality of weight values, and performs a neural network layer operation through calculation between a result of computation of a previous-layer and an operation of a plurality of weights.
- Examples of neural-networks include, but are not limited to, convolutional neural network (CNN), deep neural network (DNN), recurrent neural network (RNN), restricted Boltzmann Machine (RBM), deep belief network (DBN), bidirectional recurrent deep neural network (BRDNN), generative adversarial networks (GAN), and deep Q-networks.
- the ML/NLP logic 1306 is a method for training a predetermined target device (for example, a robot) using a plurality of learning data to cause, allow, or control the target device to make a determination or prediction.
- learning techniques include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
- Figure 14 illustrates another exemplary implementation in accordance with the embodiment of the present invention, and yet another typical hardware configuration of the system 1300 in the form of a computer system 1400, in accordance with an embodiment of the present disclosure.
- the computer system 1400 can include a set of instructions that can be executed to cause the computer system 1400 to perform any one or more of the methods disclosed.
- the computer system 1400 may operate as a standalone device or may be connected, e.g., using a network, to other computer systems or peripheral devices.
- the computer system 1400 may operate in the capacity of a server or as a client user computer in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment.
- the computer system 1400 can also be implemented as or incorporated across various devices, such as a personal computer (PC), a tablet PC, a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- PC personal computer
- PDA personal digital assistant
- a mobile device a palmtop computer
- laptop computer a laptop computer
- a desktop computer a communications device
- a wireless telephone a land-line telephone
- web appliance a web appliance
- network router switch or bridge
- the computer system 1400 may include a processor 1402 e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both.
- the processor 1402 may be a component in a variety of systems.
- the processor 1402 may be part of a standard personal computer or a workstation.
- the processor 1402 may be one or more general processors, digital signal processors, application-specific integrated circuits, field-programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other now known or later developed devices for analyzing and processing data.
- the processor 1402 may implement a software program, such as code generated manually (i.e., programmed).
- the computer system 1400 may include a memory 1404, such as a memory 1404 that can communicate via a bus 1408.
- the memory 1404 may include, but is not limited to computer-readable storage media such as various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media and the like.
- memory 1404 includes a cache or random access memory for the processor 1402.
- the memory 1404 is separate from the processor 1402, such as a cache memory of a processor, the system memory, or other memory.
- the memory 1404 may be an external storage device or database for storing data.
- the memory 1404 is operable to store instructions executable by the processor 1402.
- the functions, acts or tasks illustrated in the figures or described may be performed by the programmed processor 1402 for executing the instructions stored in the memory 1404.
- the functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firmware, micro-code and the like, operating alone or in combination.
- processing strategies may include multiprocessing, multitasking, parallel processing and the like.
- the computer system 1400 may or may not further include a display unit 1410, such as a liquid crystal display (LCD), an organic light-emitting diode (OLED), a flat panel display, a solid-state display, a cathode ray tube (CRT), a projector, a printer or other now known or later developed display device for outputting determined information.
- a display unit 1410 such as a liquid crystal display (LCD), an organic light-emitting diode (OLED), a flat panel display, a solid-state display, a cathode ray tube (CRT), a projector, a printer or other now known or later developed display device for outputting determined information.
- the display 1410 may act as an interface for the user to see the functioning of the processor 1402, or specifically as an interface with the software stored in the memory 1404 or the drive unit 1416.
- the computer system 1400 may include an input device 1412 configured to allow a user to interact with any of the components of system 1400.
- the computer system 1400 may also include a disk or optical drive unit 1416.
- the disk drive unit 1416 may include a computer-readable medium 1422 in which one or more sets of instructions 1424, e.g. software, can be embedded.
- the instructions 1424 may embody one or more of the methods or logic as described. In a particular example, the instructions 1424 may reside completely, or at least partially, within the memory 1404 or within the processor 1402 during execution by the computer system 1400.
- the present invention contemplates a computer-readable medium that includes instructions 1424 or receives and executes instructions 1424 responsive to a propagated signal so that a device connected to a network 1426 can communicate voice, video, audio, images, or any other data over the network 1426. Further, the instructions 1424 may be transmitted or received over the network 1426 via a communication port or interface 1420 or using a bus 1408.
- the communication port or interface 1420 may be a part of the processor 1402 or maybe a separate component.
- the communication port 1420 may be created in software or maybe a physical connection in hardware.
- the communication port 1420 may be configured to connect with a network 1426, external media, the display 1410, or any other components in system 1400, or combinations thereof.
- connection with the network 1426 may be a physical connection, such as a wired Ethernet connection or may be established wirelessly as discussed later. Likewise, the additional connections with other components of the system 1400 may be physical or may be established wirelessly.
- the network 1426 may alternatively be directly connected to the bus 1408.
- the network 1426 may include wired networks, wireless networks, Ethernet AVB networks, or combinations thereof.
- the wireless network may be a cellular telephone network, an 802.11, 802.16, 802.20, 802.1Q or WiMax network.
- the network 1426 may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols.
- the system is not limited to operation with any particular standards and protocols. For example, standards for Internet and other packet-switched network transmissions (e.g., TCP/IP, UDP/IP, HTML, and HTTP) may be used.
- a method for positioning of an electronic device in Internet of Things (IoT) ecosystem comprising, analyzing, over a time period, user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input, determining user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device, determining at least a first optimal location for placement of the electronic device in the IoT ecosystem based on the determined user's voice interaction patterns, and recommending, for the placement of the electronic device in the IoT ecosystem, the determined at least the first optimal location to the user via at least one of a Graphical User Interface (GUI) and an audio response.
- GUI Graphical User Interface
- the user's voice interaction patterns include at least one user voice profile and at least one response profile of the electronic device
- the determination of the first optimal location comprising, calculating, for each direction of a plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on the user's voice interaction patterns including the at least one user voice profile and the at least one response profile of the electronic device, generating an interaction vector map based on the calculated interaction score, wherein the interaction vectors map indicates the user's voice interaction patterns with respect to the electronic device in each direction of the plurality of directions and determining, based on the generated interaction vector map, the at least first optimal location such that the calculated interaction score is optimum along a maximum number of directions among the plurality of directions.
- the interaction score is a value in a predefined range that indicates a classification level of at least one attribute among a plurality of attributes corresponding to the at least one user voice profile and the at least one response profile of the electronic device.
- UWB event data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
- the present disclosure further comprising assisting the at least one correct movement direction or the at least one correct distance to the user based on sensor data, wherein the sensor data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
- the analyzed user's voice data and response data of the electronic device further comprising, storing, as a historical data in a database, the analyzed user's voice data and response data of the electronic device, wherein the historical data includes at least one user voice profile and at least one response profile of the electronic device;
- the historical data further includes at least one of a specific user's location with respect to the electronic device during user interactions with the electronic device , a number of user's voice commands uttered from the specific user's location to the electronic device, IoT contexts during the user interactions with the electronic device, user's feedback corresponding to a conversation with the electronic device, a signal strength of at least one network device to which the electronic device is connected during the user interactions with the electronic device, directions of the uttered user's voice commands during the user interactions with the electronic device, or a plurality of voice parameters associated with the uttered user's voice commands.
- the determination of the at least first optimal location comprising, calculating, for each direction of a plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on the user's voice interaction patterns, normalizing, for each direction of the plurality of directions for the user's current location, the calculated interaction score based on a priority level of each of a plurality of system context variables associated with the electronic device, generating an interaction score matrix based on the normalized interaction score of corresponding direction of the plurality of directions, and generating an interaction vector map based on the interaction score matrix.
- the plurality of system context variables corresponds to at least one of Internet of Things (IoT) event data associated with the electronic device and users of the electronic device, device specific data of the electronic device, or user feedback data.
- IoT Internet of Things
- the user's voice data includes audio tagging information corresponding to a plurality of user's locations with respect to a position of the electronic device in the IOT ecosystem
- the audio tagging information includes a plurality of voice parameters
- the response data of the electronic device includes a plurality of response parameters corresponding to the plurality of user's locations
- the electronic device corresponds to an Artificial intelligence (AI) speaker.
- AI Artificial intelligence
- the plurality of voice parameters corresponds to a pitch of user's voice, an amplitude of the user's voice, a frequency of the user's voice, and an activation state of a mic of the electronic device.
- the plurality of response parameters corresponds to an incorrect service output by the electronic device, repetition of response commands by the electronic device, a service time of the electronic device, an activation state of the mic of the electronic device.
- the incorrect service is an erroneous service output by the electronic device in response to a user's voice command from a specific direction of the plurality of directions.
- a system for positioning of an electronic device in Internet of Things (IoT) ecosystem comprising, a command analysis engine configured to, analyze, over a time period, user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input and determine user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device, a placement engine configured to determine at least a first optimal location for placement of the electronic device in the IoT ecosystem based on the determined user's voice interaction patterns, and a notification module configured to recommend, for the placement of the electronic device in the IoT ecosystem, the determined at least the first optimal location to the user via at least one of a Graphical User Interface (GUI) and an audio response.
- GUI Graphical User Interface
- the user's voice interaction patterns include at least one user voice profile and at least one response profile of the electronic device
- the system further comprises, an interaction score analysis engine configured to calculate, for each direction of a plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on the user's voice interaction patterns including the at least one user voice profile and the at least one response profile of the electronic device and a vectorization engine configured to generate an interaction vector map based on the calculated interaction score, wherein the interaction vectors map indicates the user's voice interaction patterns with respect to the electronic device in each direction of the plurality of directions, and wherein the placement engine is further configured to determine, based on the generated interaction vector map, the at least first optimal location such that the calculated interaction score is optimum along a maximum number of directions among the plurality of directions.
- the placement engine is further configured to, re-calibrate and calculate vectors associated with the interaction vector map based on a user feedback during placement of the electronic device at the at least first optimal location and determine a second optimal location for the placement of the electronic device based on the recalibration and the calculation of the vectors associated with the interaction vector map.
- the placement engine is further configured to, re-calibrate and calculate vectors associated with the interaction vector map based on one of a movement or a displacement of the electronic device at a location different from the at least first optimal location and determine a second optimal location for the placement of the electronic device based on the recalibration and the calculation of the vectors associated with the interaction vector map.
- the notification module is further configured to notify, via at least one of the GUI and the audio response, movement directions and distances for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
- the placement engine is further configured to determine whether a user of the electronic device moves the electronic device towards the notified movement directions along with the notified distances
- the notification module is further configured to assist, to the user via at least one of the GUI or the audio response, at least one correct movement direction or at least one correct distance to move the electronic device for the placement at one of the at least first optimal location or the second optimal location.
- the notification module is further configured to assist to the user the at least one correct movement direction or the at least one correct distance based on Ultra-Wideband (UWB) event data
- UWB event data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
- the notification module is further configured to assist the at least one correct movement direction or the at least one correct distance to the user based on sensor data
- the sensor data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
- the placement engine is further configured to determine the electronic device is placed at one of the at least first optimal position or the second optimal position
- the notification module is further configured to notify, via at least one of the GUI and the audio response, the user to stop the movement of electronic device based on the determination that the electronic device is placed at one of the at least first optimal position or the second optimal position.
- the command analysis engine is further configured to store, as a historical data in a database, the analyzed user's voice data and response data of the electronic device, the historical data includes at least one user voice profile and at least one response profile of the electronic device, and the system further comprises an interaction score analysis engine configured to calculate, for each direction of the plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on at least one of a user's current voice profile, a current response profile of the electronic device, and the historical data.
- system further comprises, an interaction score analysis engine configured to, calculate, for each direction of a plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on the user's voice interaction patterns, normalize, for each direction of the plurality of directions for the user's current location, the calculated interaction score based on a priority level of each of a plurality of system context variables associated with the electronic device and generate an interaction score matrix based on the normalized interaction score of corresponding direction of the plurality of directions and a vectorization engine configured to generate an interaction vector map based on the interaction score matrix.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Navigation (AREA)
Abstract
Provided is a method for positioning of an electronic device in a IoT ecosystem. The method comprises analyzing user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input, over a time period. The method further comprises determining user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device. Furthermore, the method comprises determining at least an optimal location based on the user's voice interaction patterns and thereafter recommending the determined at least the optimal location to the user via at least one of a Graphical User Interface (GUI) and an audio response, for the placement of the electronic device.
Description
The present disclosure relates to a method and system for dynamic positioning of an electronic device. In particular, the present invention relates to a method and system for the dynamic positioning of Artificial Intelligence (AI) Based electronic device in an Internet of Things (IoT) ecosystem.
As shown in Figure 1A of the drawings, in the smart home system 116, the user's voice command 110 by a user 102 continuously given to the AI speaker 104 to turn on the light 106 that is in off-state. However, the AI speaker 104 Speaker is unable to hear the user's voice command 110 even when user 102 is speaking continuously due to the far placement of the AI speaker 104 from the user 102. Due to such a problem, the user 102 has to manually turn on light 106 and hence may cause a bad user experience.
Further as shown in Figure 1B of the drawings, in the smart home system 116 the user's voice command 110 by the user 102 given to the AI speaker 104 to play a music song, for example, "High Hopes". However, the AI speaker 104 is unable to perform Speech Analysis due to poor mic activation as it is kept far from the user 102, and the wall 114 is dampening the user's voice command 110. Due to such a problem the user 102 has to repeat the command again and again and may get frustrated with the AI speaker 104. Hence, such a problem may also cause the bad user experience.
Furthermore, as shown in Figure 2A of the drawings, in the smart home system 216 the user 102 is asking the AI speaker 104 for weather information by giving the user's voice command 110. However, the AI speaker 104 is taking too long to process and respond to the command due to poor Wi-Fi signal as it is kept far from the Wi-Fi router 202. As a result, the user 102 will have to wait for a long time for the response from the AI speaker 104 and hence may also cause the bad user experience.
Furthermore, as shown in Figure 2B of the drawings, in the smart home system 216 the user 102 is asking the AI speaker 104 to play music by giving the user's voice command 110. However, the AI speaker 104 is unable to hear the user's voice command 110 even when the user 102 is speaking continuously as it is placed very far from the user 102. Also, the AI speaker 104 is taking too long to process and respond to the user's voice command 110 due to poor Wi-Fi signal as it is kept far from the Wi-Fi router 202. As an alternative, the user 102 has to move or place the AI speaker 104 for better response. Such problem also result in the bad user experience. Also, there is no mechanism that exists to ensure optimal dynamic placement of the AI speaker in the existing IoT Ecosystem to enhance the user speaker interaction experience.
Therefore, there lies a need for a method and system that can provide recommendations for the dynamic positioning of the AI-enabled electronic devices to enhance the user experience. Accordingly, the present disclosure describes the method and the system for the dynamic positioning of AI-Based electronic device in the IoT ecosystem.
In the recent past, Internet-of-Things (IoT) has developed in all fields of life with the emergence of artificial intelligence and has drawn significant consideration to shape a new paradigm of life standards. AI-enabled electronic devices are more intelligent and capable of doing a specific task which saves a lot of resources and time.
Considering an AI-enabled device in IoT Ecosystem, for example, AI-enabled speaker. The AI-enabled speaker is generally kept at any location without any special thought about its positional importance in an IoT setting. Considering a smart home system, the Placement of the AI-enabled speaker for example, very far from a user, near edge locations like a wall, balcony, areas with poor Wi-Fi reception, or areas with low speaker interactions could result in poor command analysis, poor repetition of user voice command, high latency in response and inconsistent behavior.
The present disclosure relates to introduce a selection of concepts in a simplified format that are further described in the detailed description of the invention. This summary is not intended to identify key or essential inventive concepts of the invention, nor is it intended for determining the scope of the invention.
In an implementation, the present subject matter refers to a method for positioning an electronic device in the IoT ecosystem. The method comprises analyzing user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input, over a time period. The method further comprises determining user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device. Furthermore, the method comprises determining at least an optimal location based on the user's voice interaction patterns and thereafter recommending the determined at least the optimal location to the user via at least one of a Graphical User Interface (GUI) and an audio response, for the placement of the electronic device.
In another implementation, the present subject matter refers to a system for positioning an electronic device in the IoT ecosystem. The system includes a command analysis engine, a placement engine, and a notification module. The command analysis engine analyzes user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input, over a time period. The command analysis engine further determines user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device. The placement engine determines at least an optimal location based on the user's voice interaction patterns. After the determination of at least the optimal location, the notification module recommends the determined at least the optimal location to the user via at least one of the GUI and the audio response, for the placement of the electronic device.
To further clarify the advantages and features of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof, which is illustrated in the appended drawing. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting its scope. The invention will be described and explained with additional specificity and detail with the accompanying drawings.
These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
Figures 1A and 1B illustrate a first example illustration of problems regarding placement of the AI-enabled speaker in a smart home system, in accordance with an embodiment of existing solution;
Figures 2A and 2B illustrate a second example illustration of problems regarding placement of the AI-enabled speaker in the smart home system, in accordance with an embodiment of the existing solution;
Figure 3 illustrates a flowchart of method steps for positioning of AI-speaker in the IoT ecosystem, in accordance with an embodiment of the present disclosure;
Figure 4 illustrates a system architecture for dynamic positioning of AI-Speaker in the IoT ecosystem, in accordance with an embodiment of the present disclosure, in accordance with an embodiment of the present disclosure;
Figure 5 illustrates an example method for calculating the interaction score for each of the directions with respect to locations associated with the user's voice interaction patterns, in accordance with an embodiment of the present disclosure;
Figure 6A and 6B illustrate an example illustration of the adjustment of the vectors of the interaction vector map by the placement engine of the system 400 of Figure 4, in accordance with an embodiment of the present disclosure;
Figure 7 illustrates a use case example of optimal placement of the AI speaker within a user's home, in accordance with an embodiment of the present disclosure;
Figure 8 illustrates an example illustration of interaction score heat map including two AI speakers, in accordance with an embodiment of the present disclosure;
Figure 9 illustrates a use case example of optimal placement of the AI speaker within a user's home using UWB event data, in accordance with an embodiment of the present disclosure;
Figure 10 illustrates an example illustration of the notification using the LED ring to guide the user in which the AI speaker needed to be moved, in accordance with an embodiment of the present disclosure;
Figure 11 illustrates a use case example of optimal placement of the AI speaker within a user's home using the IoT event data, in accordance with an embodiment of the present disclosure;
Figure 12 illustrates a use case example of optimal positioning of the AI speaker in a user's home using the user feedback, in accordance with an embodiment of the present disclosure;
Figure 13 illustrates a representative architecture to provide tools and development environment described herein for a technical realization of the system 400, in accordance with an embodiment of the present disclosure;
Figure 14 illustrates another exemplary implementation in accordance with the embodiment of the present invention, and yet another typical hardware configuration of the system 1300 in the form of a computer system 1400, in accordance with an embodiment of the present disclosure.
Further, skilled artisans will appreciate that elements in the drawings are illustrated for simplicity and may not have necessarily been drawn to scale. For example, the flow charts illustrate the method in terms of the most prominent steps involved to help to improve understanding of aspects of the present invention. Furthermore, in terms of the construction of the device, one or more components of the device may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
It should be understood at the outset that although illustrative implementations of the embodiments of the present disclosure are illustrated below, the present invention may be implemented using any number of techniques, whether currently known or in existence. The present disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary design and implementation illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
The term "some" as used herein is defined as "none, or one, or more than one, or all." Accordingly, the terms "none," "one," "more than one," "more than one, but not all" or "all" would all fall under the definition of "some." The term "some embodiments" may refer to no embodiments or one embodiment or several embodiments or all embodiments. Accordingly, the term "some embodiments" is defined as meaning "no embodiment, or one embodiment, or more than one embodiment, or all embodiments."
The terminology and structure employed herein is for describing, teaching, and illuminating some embodiments and their specific features and elements and does not limit, restrict, or reduce the spirit and scope of the claims or their equivalents.
More specifically, any terms used herein such as but not limited to "includes," "comprises," "has," "consists," and grammatical variants thereof do NOT specify an exact limitation or restriction and certainly do NOT exclude the possible addition of one or more features or elements, unless otherwise stated, and must NOT be taken to exclude the possible removal of one or more of the listed features and elements, unless otherwise stated with the limiting language "MUST comprise" or "NEEDS TO include."
Whether or not a certain feature or element was limited to being used only once, either way, it may still be referred to as "one or more features" or "one or more elements" or "at least one feature" or "at least one element." Furthermore, the use of the terms "one or more" or "at least one" feature or element do NOT preclude there being none of that feature or element unless otherwise specified by limiting language such as "there NEEDS to be one or more . . . " or "one or more element is REQUIRED."
Unless otherwise defined, all terms, and especially any technical and/or scientific terms, used herein may be taken to have the same meaning as commonly understood by one having ordinary skill in the art.
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
Figure 3 illustrates a flowchart of method steps for positioning of AI-speaker in the IoT ecosystem, in accordance with an embodiment of the present disclosure. Figure 3 depicts a method 300 for positioning of the AI-speaker in the IoT ecosystem that is executed by components of the system 400 of figure 4 of the drawings. Figure 4 illustrates a system architecture for the dynamic positioning of an electronic device in the IoT ecosystem, in accordance with an embodiment of the present disclosure. Figure 4 illustrates a system 400 for the dynamic positioning of AI-Speaker in the IoT ecosystem. The system 400 includes Command Analysis Engine 406, Interaction Score Analysis Engine 408, Vectorization Engine 410, Placement Engine 412, Notification Module 414, and a Database 416. The aforementioned components of the system 400 are coupled with each other for transfer of information from one component to the other component in the system 400. The electronic device corresponds, but is not limited to, AI speaker, voice-based portable IoT devices, electronic devices with voice user interface (VUI), voice assistant devices, and the like.
Here a detailed description of the flow of method steps of the method 300 and functionalities of the components of the system 400 will be made by referring to an AI speaker as an example of the electronic device. However, any of the above-mentioned devices such as, but not limited to, the voice-based portable IoT devices, the electronic devices with voice user interface (VUI), the voice assistant devices and the like can be used to describe the functionalities of the components of the system 400 in a similar manner to be described below.
The method 300 comprises analyzing (at step 302), over a time period, user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input. As an example, once the AI speaker receives the user's voice data, Command Analysis Engine 406 is triggered and analyzes the user's voice data input to the AI speaker and response data output by the AI speaker in response to the user's voice data input. In particular, the Command Analysis Engine 406 performs voice analysis and makes the user's voice profile based on audio speech input or audio tagging information corresponding to a plurality of user's locations with respect to a position of the AI speaker in the IoT ecosystem. The audio tagging information includes one or more voice parameters that consist of, but are not limited to, a pitch of the user's voice, an amplitude of the user's voice, a frequency of the user's voice, and an activation state of a mic of the AI speaker. The audio tagging information may also include one or more direction parameters (e.g., mic activation, and distance using Ultra-Wideband (UWB)) and IoT context/ UWB data (e.g., task-specific to zone or an IoT device, habit, etc.).
In particular, the analysis of the user's voice data involves multiple parameters. For example, for determination of the amplitude of the user's voice and noise for a particular location, the Command Analysis Engine 406 may subdivide a particular space into zones and makes profiles as per average signal voice amplitude and noise at that location. For any user's activity context, location, presence, schedule related parameters, the Command Analysis Engine 406 may perform zone-based profiling as per commands context and the UWB data for direction and distance of the user from the AI speaker (mic activation). For the parameters such as the pitch, the amplitude, and the frequency of the user's voice, the Command Analysis Engine 406 may process the user's voice data input and extracts voice parameters for profiling. As an example, the voice utterance data (voice data 1, voice data 2) from the specific user locations (user location 1, user location 2) as shown in Figure 4 is processed by the Command Analysis Engine 406 to extract the voice parameters for the profiling. Those skilled in the art will appreciate that the aforementioned example is merely exemplary and is not intended to limit the scope of the invention.
For the parameters related to the IoT Events and the UWB event data, the Command Analysis Engine 406 may detect event commands uttered by the user from a specific location (for example, from the kitchen or any place inside a home), user presence, and direction and distance of the user from the AI speaker and can check for command history associated with that location.
Further, the Command Analysis Engine 406 analyzes response data output by the AI speaker in response to the user's voice data input. The response data of the AI speaker includes one or more response parameters corresponding to the plurality of user's locations. The one or more response parameters corresponds, but are not limited to, an incorrect service output by the AI speaker, any inaccurate service for a specific location marking user dissatisfaction or improper location of the AI speaker, repetition of response commands by the AI speaker, a service time of the AI speaker get impacted due to Wi-Fi signal strength or response from the speaker server, an activation state of the mic of the AI speaker as a loudness parameter, and device Specification data such as speaker audio power, mic sensitivity, WIFI driver and the like. Here, the service time of the AI speaker is associated with a Distance of Wi-Fi Router from the AI speaker that may impact the performance in terms of long service time or due to latency in data transfer because of weak Wi-Fi signal, and the incorrect service can be referred as an erroneous service output by the AI speaker in response to the user's voice command from a specific direction of a plurality of directions around the AI speaker (e.g., an unwanted response from the AI speaker, wrong NLU analysis by the AI speaker).
An example representation of a speaker response profile and a user voice profile is shown above in Table 1. The example representation of the speaker response profile and the user voice profile as shown in Table 1 is only shown for ease of explanation and is not limited to the information included in Table 1. The speaker response profile and the user voice profile can include information with reference to various types of parameters as described above. Similarly, an example representation of the IoT event data and the UWB event data is also shown below in Table 2. The example representation of the IoT event data and the UWB event data as shown in Table 2 is only shown for ease of explanation and is not limited to the information included in the Table 2. The IoT event data and the UWB event data can include any other information depending on the nature of each of the IoT events and the UWB event. The flow of the method 300 now proceeds to (step 304).
At the step 304, subsequent to the analysis of the user's voice data, the method 300 comprises storing, as historical data in the database 416, the analyzed user's voice data and response data of the electronic device. The historical data includes at least one user voice profile and at least one response profile of the AI speaker. As an example, the Command Analysis Engine 406 stores each of the analyzed user's voice data and response data of the AI speaker as the historical data in the database 416. The stored historical data may also include, but is not limited to, at least one of a specific user's location with respect to the AI speaker during user interactions with the AI speaker, a number of user's voice commands uttered from the specific user's location to the AI speaker, IoT contexts during the user interactions with the AI speaker, user's feedback corresponding to a conversation with the AI speaker, a signal strength of at least one network device to which the AI speaker is connected during the user interactions with the AI speaker, directions of the uttered user's voice commands during the user interactions with the AI speaker, or a plurality of voice parameters associated with the uttered user's voice commands. The flow of the method 300 now proceeds to (step 306).
At the step 306, the method 300 comprises determining user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device. As an example, the Command Analysis Engine 406 further determines the user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the AI speaker. The user's voice interaction patterns may also include one or more user voice profiles and one or more response profiles of the AI speaker. The flow of the method 300 now proceeds to (step 308).
At the step 308, the method 300 comprises determining at least an optimal location for placement of the electronic device in the IoT ecosystem based on the user's voice interaction patterns determined by the Command Analysis Engine 406. As an example, the Placement Engine 412 determines an optimal location for placement of the AI Speaker in the IoT ecosystem based on the determined user's voice interaction patterns. The flow of the method 300 now proceeds to (step 310).
At the step 310, subsequent to the determination of the optimal location, the method 300 comprises recommending the optimal location determined by the Placement Engine 412 to the user via at least one of a Graphical User Interface (GUI) or an audio response, for the placement of the electronic device in the IoT ecosystem. As an example, the Notification Module 414 recommends the optimal location determined by the Placement Engine 412 to the user via the GUI and the audio response for the placement of the AI Speaker in the IoT ecosystem. The GUI may refer to a graphic display provided on a display (e.g., screen) of an electronic device. The GUI may include at least one window, at least one icon, at least one scroll bar, and any other graphical items used for inputting commands to the device by a user. It should be understood that exemplary embodiments of the present invention may include various types of GUIs in various shapes, designs, and configurations. Other examples of output devices may include graphics devices/display devices, Computer screens, alarm systems, smart phone display screens, dashboard-mounted display screens in automobiles, or any other type of data output device.
Now a set of operations and processes for the determination of the optimal location by the Placement Engine 412 will be explained in detail with reference to the Interaction Score Analysis Engine 408 and the Vectorization Engine 410 of the system 400.
For the determination of the optimal location, firstly, the Interaction Score Analysis Engine 408 calculates an interaction score for each direction of the plurality of directions with respect to locations associated with the user's voice interaction patterns, based on the user's voice interaction patterns including the one or more user voice profile and the one or more response profile of the AI speaker. The Interaction Score Analysis Engine 408 may also calculate the interaction score based on at least one of a user's current voice profiles, a current response profile of the AI speaker, and the historical data stored in the database 416. Here, the interaction score is a value in a predefined range that indicates a classification level of at least one attribute among a plurality of attributes corresponding to the at least one user voice profile and the at least one response profile of the electronic device. An example representation of the calculated interaction score is shown below in Table 3. The example representation of the interaction score as shown in Table 3 is only shown for ease of explanation and is not limited to the information included in the Table 3. The information included in the Table 3 will vary based on a change in the user's voice profile, response profile of the AI speaker, and the user's voice interaction pattern.
Secondly, the Interaction Score Analysis Engine 408 normalizes the calculated interaction score for each direction of the plurality of directions for the user's current location, based on a priority level of each of one or more system context variables associated with the AI speaker. The one or more system context variables corresponds to at least one of the IoT event data associated with the AI speaker and users of the AI speaker, device-specific data of the AI speaker, or user feedback data. An example representation of the device-specific data of the AI speaker is shown below in Table 4. The example representation of the device-specific data of the AI speaker as shown in Table 4 is only shown for ease of explanation and is not limited to the information included in the Table 4. The device-specific data of the AI speaker will vary based on the configuration of the AI speaker.
Furthermore, the Interaction Score Analysis Engine 408 generates an interaction score matrix based on the normalized interaction score of the corresponding direction of the plurality of directions. An example representation of the interaction score matrix is shown below in Table 5. The example representation of the interaction score matrix as shown in Table 5 is only shown for ease of explanation and is not limited to the information included in the Table 5. The information included in the Table 5 will vary based on a change in the user's voice profile, response profile of the AI speaker, and the user's voice interaction pattern.
normalized interaction score matrix | |||
score features | priority(based on device data) | interaction score | normalized score |
voice amplitude | medium | 7 | 5 |
repetition | high | 5 | 3 |
usage frequency | no |
4 | 4 |
Wi-Fi strength | high | 3 | 2 |
voice pinch | less | 3 | 5 |
time for service | high | 8 | 7 |
360 usage | medium | 8 | 7 |
duration of use | no change | 9 | 9 |
An example for calculating the inteaction score will be described with reference to figure 5 of the drawings. Figure 5 illustrates an example method for calculating the interaction score for each of the directions with respect to locations associated with the user's voice interaction patterns, in accordance with an embodiment of the present disclosure. Figure 5 depicts a method 500 for the calculation of the interaction score for each of the directions with respect to locations associated with the user's voice interaction patterns.
The method 500 comprises extracting (at step 502) relevant features present in the user's voice data and the response data output by the electronic device for calculation of the interaction score. As an example, the Interaction Score Analysis Engine 408 extracts the pitch of the user's voice, the amplitude of the user's voice, the frequency of the user's voice, and the activation state of a mic of the electronic device as the features for calculation of the interaction score from the user's voice data and speaker response data of the AI speaker. The flow of the method 500 now proceeds to (step 504).
At the step 504, subsequent to the extraction of the relevant features present in the user's voice data and the response data of the AI speaker, the method 500 comprises applying feature scaling techniques to standardize the extracted relevant features present in the user's voice data and speaker response data of the AI speaker and further classifying the standardized relevant features into a plurality of classes. As an example, the Interaction Score Analysis Engine 408 applies the feature scaling techniques to standardize the extracted relevant features present in the user's voice data and speaker response data of the AI speaker and further classifies the standardized relevant features into the plurality of classes (e.g., ranging from Very low, low, normal, high, very high). The Interaction Score Analysis Engine 408 may also assign some categorical values to the classified relevant features according to their class level. In particular, for example, attributes like the repetition of commands (high) and frequency of use of the AI speaker (16 times per day) are extracted as feature "Repetition" and are classified as "very high" value and is given a poor score value of 2. The above-mentioned example is only given for ease of explanation and is not limited to the above-mentioned feature, class, and score value. These values vary and depend on the relevant features that are extracted from the user's voice data and the response profile of the AI speaker. The flow of the method 500 now proceeds to (step 506).
At the step 506, the method 500 comprises determining and calculating the interaction score for each direction of the plurality of directions by applying at least one hot Encoding technique or a label encoding technique to the categorical values associated with the classified relevant features. As an example, the Interaction Score Analysis Engine 408 applies at least one of the hot Encoding techniques or the label encoding technique to the categorical values associated with the classified relevant features to calculate the interaction score for each direction of the plurality of directions. Further, at the step 506, the method 500 comprises normalizing the calculated interaction score in a specific range in accordance with the priority level of each of one or more system context variables associated with the AI speaker. As an example, with reference to the Table 3 and the Table 5 as shown above, the Wi-Fi Strength has an interaction score of 3 but the priority of the Wi-Fi strength is low as per IoT context (most of the commands are kitchen specific but Wi-Fi strength is low near the kitchen), therefore the low interaction score for feature "Wi-Fi strength" is normalized to a higher value of 7. This example is only provided for the ease of explanation and is not limited to the scope of the Wi-Fi-strength parameter. The normalizing of the calculated interaction score in the specific range will vary based on a change in the priority level of one or more system context variables associated with the AI speaker.
After the calculation and normalization of the interaction score matrix, the Vectorization Engine 410 generates an interaction vector map based on the interaction score calculated by the Interaction Score Analysis Engine 408 or the interaction score matrix generated by the Interaction Score Analysis Engine 408. The interaction vector map indicates the user's voice interaction patterns with respect to the AI speaker in each direction of the plurality of directions. As an example, at first the Vectorization Engine 410 sums the normalized data of all score features (voice amplitude, repetition, usage frequency, Wi-Fi strength, voice pitch, time of the service, 360 usages, duration of use, and the like) for each direction of the plurality of directions to estimate the magnitude of vectors. The Vectorization Engine 410 then determines the vectors with distance for each direction of the plurality of directions (N, E, S, W, N-E, N-W, S-E, S-W) and performs the vectorization of the normalized interaction score with magnitude for each of the plurality of directions using the determined vectors with distance to generate the interaction vector map.
Once the interaction vector map is generated by the Vectorization Engine 410, the Placement Engine 412 determines the optimal location based on the generated interaction vector map such that the calculated interaction score is optimum along with a maximum number of directions among the plurality of directions.
The Placement Engine 412 further re-calibrates and calculates vectors associated with the interaction vector map based on user feedback during the placement of the electronic device at the determined optimal location. The re-Calibration and calculation of vectors is a continuous process for every new displacement or movement of the electronic device. As an example, the Placement Engine 412 re-calibrates and calculates vectors associated with the interaction vector map when feedback is given by the user to the AI speaker during the placement of the AI speaker at the determined optimal location. In particular, the Placement Engine 412 re-calibrates and calculates vectors associated with the interaction vector map based on one of a movement or a displacement of the AI speaker at a location different from the determined optimal location.
Furthermore, the Placement Engine 412 may also determine another optimal location for the placement of the electronic device based on the recalibration and the calculation of the vectors associated with the interaction vector map. In particular, the Placement Engine 412 determines another optimal location for the placement of the AI speaker based on the recalibration and the calculation of the vectors associated with the interaction vector map.
Now a series of steps performed by the Placement Engine 412 for determining the optimal location and recalibrating the vectors associated with the interaction vector map, will be described with reference to Figures 6A and 6B of the drawings.
Figures 6A and 6B illustrate an example illustration of the adjustment of the vectors of the interaction vector map by the placement engine of the system 400 of Figure 4, in accordance with an embodiment of the present disclosure. As seen in figure 6A, the Placement Engine 412 receives input vectors in a form of the interaction vector map from the vectorization engine 410. After receiving the input vectors from the vectorization engine, the Placement Engine 412 adjusts the input vectors to determine the optimal location.
Figure 6B depicts a method 600 for determining the optimal location by the Placement Engine 412. The method 600 comprises determining (at step 602) a theoretical threshold for each parameter corresponding to a current location of the user based on the electronic device (AI speaker) capabilities and the historical data stored in the database 416. As an example, the Placement Engine 412 determines the theoretical threshold for the parameters corresponding to the current location of the user with respect to the AI speaker based on the device-specific data and the historical data stored in the database 416. The flow of the method 600 now proceeds to (step 604).
At the step 604, subsequent to the determination of the theoretical threshold, the method 600 comprises selecting the smallest vector for the current location of the user with respect to the electronic device based on the received input vectors from the vectorization engine 410. As an example, the Placement Engine 412 selects the smallest vector among the input vectors for the current location of the user with respect to the AI Speaker and in a case if one of the parameters that form the vector is close to the determined theoretical threshold, the Placement Engine 412 drops that parameter from vector magnitude estimation. The flow of the method 600 now proceeds to (step 606).
At the step 606, subsequent to the selection of the smallest vector, the method 600 comprises sending a movement trigger to notify for the movement of the electronic device in a vector direction of the selected smallest vector. As an example, the Placement Engine 412 sends the movement trigger to the Notification Module 414 to notify the user for the movement of the AI speaker in the vector direction of the selected smallest vector. The flow of the method 600 now proceeds to (step 608).
At the step 608, the method 600 comprises recalibrating the size of the input vectors in each of the plurality of directions around the speaker based on the movement of the electronic device by applying regression technique on the vector parameters. As an example, the Placement Engine 412 recalibrates the size of the input vectors in each of the plurality of directions around the speaker based on the movement of the electronic device by applying regression technique on the vector parameters corresponding to the input vectors. Further, the Placement Engine 412 also calculates the distance of the AI speaker from other devices in the IoT ecosystem based on UWB to avoid interference during the recalibration.
At the step 608, the Placement Engine 412 also determines whether standards for all of the vector parameters are met after the recalibration. If the result of the determination at the step 608 is yes, then the flow of the method 600 now proceeds to (step 610). At the step 610, the method 600 comprises triggering the Notification Module 414 to notify the user to stop the movement of the electronic device where each of the input vectors after the recalibration becomes almost equally balanced in each of the plurality of directions around the electronic device. As an example, the Placement Engine 412 triggers the Notification Module 414 to notify the user to stop the movement of the AI speaker and determines the location at which each of the input vectors become almost equally balanced in each of the plurality of directions around the AI speaker, as the final optimal location.
If the result of the determination at the step 608 is No, then the Placement Engine 412 will repeat the method steps 604 and 606 until the result of the determination at the step 608 becomes yes.
Referring back again to figure 4 of the drawings, a detailed description will be made with respect to the Notification Module 414 for the movement of the electronic device at the optimal location. The Notification Module 414 notifies, under the control of the Placement Engine 412, movement directions and distances to the user for the placement of the electronic device at determined optimal location or the determined another optimal location via at least one of the GUI or the audio response.
When the user moves the electronic device after getting notified about a new optimal location or the another optimal location, then at that time the Placement Engine 412 also determines whether the user moves the electronic device towards the movement directions along with the distances notified by the Notification Module 414. Further, the Notification Module 414 assists, the user via at least one of the GUI or the audio response, at least one correct movement direction or at least one correct distance to move the electronic device for the placement at one of the determined optimal location or the determined another optimal location, in accordance with the determination of the movement of the electronic device towards the notified movement directions by the user.
An example of such notification will be explained with reference to a use case example shown in figure 7 of the drawings. Figure 7 illustrates a use case example of optimal placement of the AI speaker within a user's home, in accordance with an embodiment of the present disclosure. As shown in figure 7 the user is giving commands to the AI speaker 702 from multiple locations (user location 704, user location 706, and user location 708) but the AI Speaker 702 is placed near the Sofa (balcony side) of the user's home 712. Hence the AI speaker 702 misses more frequent commands given by the user. Also, the Wi-Fi signal to which the AI speaker 702 is connected is weak due to the current placement of the AI speaker 702 and hence it is under-utilized as most of its view is blocked by balcony 710 of the user's home 712. In view of such a problem, the Notification Module 414 under the control of the Placement Engine 412 notifies the user about a new location for the placement of the AI speaker in the user's home 712 so that better response processing can be provided to enhance the user experience. Accordingly, the Notification Module 414 suggests the user to move the AI speaker 702 near dining room 714 of the user's home 712 and thereby enchaining the user experience. For example, but not limited to, the Notification Module 414 suggests the user to move 17 feet in the North-East direction for the optimal placement of the AI speaker 702 on the GUI along with the directions for movement as shown in the example GUI 716. Those skilled in the art will appreciate that the aforementioned example shown in the drawings are merely exemplary and are not intended to limit the scope of the invention.
The vectors with the distance for each direction of the plurality of directions can be represented in a form of an interaction score heat map. The interaction score heat map indicates the accuracy of the electronic device in a zone-specific manner. As an example, an interaction score heat map is shown in the figure 8 of the drawings.
Figure 8 illustrates an example illustration of an interaction score heat map including two AI speakers, in accordance with an embodiment of the present disclosure. The Placement Engine 412 may trigger the Notification Module 414 to suggest an accuracy of the AI speaker in accordance with zone information regarding a specific zone in which the AI speaker is placed. In case if the suggested accuracy of the AI speaker is low, the Notification Module 414 may also suggest the user regarding the movement directions and distances so that the accuracy of the AI speaker becomes high. As an example, the Notification Module 414 may suggest moving the AI speakers (S1 and S2) as shown in figure 8, by some distances in a specific direction so that accuracy of the AI speakers (S1 and S2) improves after the movement.
According to another embodiment of the present disclosure, the Notification Module 414 may also assist the user the at least one correct movement direction or the at least one correct distance based on Ultra-Wideband (UWB) event data. The UWB event data may include information associated with movement directions and distance values for the placement of the electronic device at one of the determined optimal location or the determined another optimal location.
An example of assisting the at least one correct movement direction or the at least one correct distance using the UWB event data will be explained with reference to a use case example shown in figure 9 of the drawings. Figure 9 illustrates a use case example of optimal placement of the AI speaker within a user's home using UWB event data, in accordance with an embodiment of the present disclosure. As shown in figure 9, user 902 and user 904 are giving commands to the AI speaker 906, but the AI speaker 906 is placed in bedroom 908. Hence the AI speaker 906 speaker misses more frequent commands given by the users 902 and 904. Sometimes both users 902 and 904 may have to come out near the AI Speaker 906 to deliver commands clearly to the AI speaker 906. In view of such problem, the Notification Module 414 under the control of the Placement Engine 412 considers UWB Context (direction, distance) and user's voice amplitude value as well as inefficient NLU processing and suggests the user to move the speaker to the central location 910 for better response processing and thereby enhance the user experience. Accordingly, the Notification Module 414 suggests the user to move the AI speaker 906 at the central location 910 of the user's home 912 and thereby enchaining the user experience. Those skilled in the art will appreciate that the aforementioned example shown in the drawings are merely exemplary and are not intended to limit the scope of the invention.
According to one embodiment of the present disclosure, the Notification Module 414 may guide the user to move the AI Speaker new distance using a LED ring on the GUI or voice output. An example of the notification using the LED ring on the GUI is shown in Figure 10 of the drawings. Figure 10 illustrates an example illustration of the notification using the LED ring to guide the user in which the AI speaker needed to be moved, in accordance with an embodiment of the present disclosure. As shown in figure 10, the Notification Module 414 suggests the user to move the AI speaker in the direction of the LED ring (back, left, right, and front) till the new distance is reached by the user while moving the AI speaker.
According to one embodiment of the present disclosure, the Notification Module 414 may assist, during placement of the AI speaker through the audio response, haptic feedback or the LED ring, etc..., the at least one correct movement direction or the at least one correct distance to the user based on sensor data. As an example, if the user is moving the AI speaker incorrectly, then the Placement Engine 412 monitors the user's movement using UWB sensors, gyroscope sensors and triggers the Notification Module 414 during placement of the AI speaker and accordingly the Notification Module 414 suggests the at least one correct movement direction or the at least one correct distance to the user.
The sensor data includes information associated with movement directions and distance values for the placement of the electronic device at one of the determined optimal location or the determined another optimal location. The sensor data can also be referred to as "IOT event data" without any deviation from the scope of the invention.
An example of assisting the at least one correct movement direction or the at least one correct distance using the IoT event data will be explained with reference to a use case example shown in figure 11 of the drawings. Figure 11 illustrates a use case example of optimal placement of the AI speaker within a user's home using the IoT event data, in accordance with an embodiment of the present disclosure. As shown in figure 11, user 1102 is giving commands to the AI speaker 1104 from kitchen 1106 more frequently for cooking recipes, but the AI speaker is placed near TV cabinet 1108 in the living room 1110 of the user's home 1112. Hence the AI speaker 1104 may misses more frequent commands given by user 1102 while cooking. Even sometimes the user 1102 has to come out of the kitchen 1106 to deliver commands clearly to the AI speaker 1104. In view of such problem, the Notification Module 414 under the control of the Placement Engine 412 considers IoT context of cooking, user's voice amplitude value, and inefficient NLU processing and suggests the user 1102 to move the AI speaker 1104 near a northern shelf 1114 of the kitchen 1106 for better response processing, and thereby enhance the user experience. Here, the northern shelf 1114 of the kitchen 1106 is the location suggested by the Notification Module 414. Those skilled in the art will appreciate that the aforementioned example shown in the drawings are merely exemplary and are not intended to limit the scope of the invention.
According to one embodiment of the present disclosure, the Placement Engine 412 may also determine whether the electronic device is placed at one of the determined optimal location or the determined another optimal location. As an example, the Placement Engine 412 may determine whether the AI speaker is placed at the location suggested by the Notification Module 414. Further, the Notification Module 414 may notify the user to stop the movement of electronic device via at least one of the GUI and the audio response when it is determined that the electronic device is placed at the suggested location. Furthermore, in a case if it is determined that the electronic device is not placed at the suggested location, the Notification Module 414 keeps suggesting the movement directions and the distance for the placement of the AI speaker at the determined optimal location or the determined another optimal location.
According to one embodiment of the present disclosure, the Notification Module 414 may also collect feedback from the user and sends it to Interaction Score Analysis Engine 408 for the normalization of the interaction score based on the user feedback. Examples of the user feedback could be but are not limited to, unavailability of power source at the new location, placement of the AI speaker in a specific area, user preference for the placement of the AI speaker, and the like. Those skilled in the art will appreciate that the aforementioned examples are merely exemplary and are not intended to limit the scope of the invention. After the normalization of the interaction score based on the user feedback, the Placement Engine 412 performs the recalibration of the input vectors for a determination of a new position for the placement of the AI speaker.
An example of optimal positioning of the AI speaker using the user feedback will be explained with reference to a use case example shown in figure 12 of the drawings. Figure 12 illustrates a use case example of optimal positioning of the AI speaker in a user's home using the user feedback, in accordance with an embodiment of the present disclosure. As shown in figure 12, the user 1202 is giving frequent commands to the AI speaker 1208 from kitchen 1204 and living room 1206, respectively but the AI speaker 1208 was placed near the bedroom at the speaker location 1210. Therefore, the Notification Module 414 under the control of the Placement Engine 412 suggests a new speaker location 1212 for the placement of the AI speaker 1208 in the user's home 1216. However, the location suggested by the Notification Module 414 turned out to be a walkway so the user 1202 cannot place the AI speaker 1208 at the speaker location 1212. Therefore, the Placement Engine 412 controls the Notification Module 414 to collect user's feedback as input and to suggest an alternate speaker location 1214 to the user 1202 for the placement of the AI speaker 1208 and thereby enhance the user experience. Those skilled in the art will appreciate that the aforementioned example shown in the drawings are merely exemplary and are not intended to limit the scope of the invention.
Referring now to Figure 13 of the Drawings, Figure 13 illustrates a representative architecture to provide tools and development environment described herein for a technical realization of the system 400, in accordance with an embodiment of the present disclosure. Figure 13 is merely a non-limiting example, and it will be appreciated that many other architectures may be implemented to facilitate the functionality described herein. The architecture may be executing on hardware such as a computing machine 1300 of Figure 13 that includes, among other things, processors, memory, and various application-specific hardware components.
The architecture 1300 may include an operating system, libraries, frameworks, or middleware. The operating system may manage hardware resources and provide common services. The operating system may include, for example, a kernel, services, and drivers defining a hardware interface layer. The drivers may be responsible for controlling or interfacing with the underlying hardware. For instance, the drivers may include display drivers, camera drivers, Bluetooth® drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), Wi-Fi® drivers, audio drivers, power management drivers, and so forth depending on the hardware configuration.
A hardware interface layer includes libraries which may include system libraries such as file-system (e.g., C standard library) that may provide functions such as memory allocation functions, string manipulation functions, mathematic functions, and the like. In addition, the libraries may include API libraries such as audio-visual media libraries (e.g., multimedia data libraries to support presentation and manipulation of various media formats such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG), database libraries (e.g., SQLite that may provide various relational database functions), web libraries (e.g. WebKit that may provide web browsing functionality), and the like.
A middleware may provide a higher-level common infrastructure such as various graphic user interface (GUI) functions, high-level resource management, high-level location services, and so forth. The middleware may provide a broad spectrum of other APIs that may be utilized by the applications or other software components/modules, some of which may be specific to a particular operating system or platform.
The term "module" used in this disclosure may refer to a certain unit that includes one of hardware, software, and firmware or any combination thereof. The module may be interchangeably used with unit, logic, logical block, component, or circuit, for example. The module may be the minimum unit, or part thereof, which performs one or more particular functions. The module may be formed mechanically or electronically. For example, the module disclosed herein may include at least one ASIC (Application-Specific Integrated Circuit) chip, FPGAs (Field-Programmable Gate Arrays), and programmable-logic device, which have been known or are to be developed.
Further, the architecture 1300 depicts an aggregation of audio/video processing device-based mechanisms and ML/NLP-based mechanisms in accordance with an embodiment of the present subject matter. A user interface is defined as input and interaction 1301 refers to overall input. It can include one or more of the following -touch screen, microphone, camera, etc. A first hardware module 1302 depicts specialized hardware for ML/NLP based mechanisms. As an example, the first hardware module 1302 comprises one or more neural processors, FPGA, DSP, GPU, etc.
A second hardware module 1312 depicts specialized hardware for executing the data splitting and transfer. ML/NLP based frameworks and APIs 1304 correspond to the hardware interface layer for executing the ML/NLP logic 1306 based on the underlying hardware. In an example, the frameworks may be one or more or the following - Tensorflow, Cafι, NLTK, GenSim, ARM Compute, etc. Simulation frameworks and APIs 1314 may include one or more of - Audio Core, Audio Kit, Unity, Unreal etc.
A database 1308 depicts a pre-trained database. The database 1308 may be remotely accessible through cloud by the ML/NLP logic 1306. In other example, the database 1308 may partly reside on cloud and partly on-device based on usage statistics.
Another database 1318 refers the memory. The database 1318 may be remotely accessible through cloud. In other example, the database 1318 may partly reside on the cloud and partly on-device based on usage statistics.
A rendering module 1305 is provided for rendering audio output and trigger further utility operations. The rendering module 1305 may be manifested as a display cum touch screen, monitor, speaker, projection screen, etc.
A general-purpose hardware and driver module 1303 corresponds to the computing device 1400 as referred in Figure 14 and instantiates drivers for the general purpose hardware units as well as the application-specific units (1302, 1312).
In an example, the ML mechanism underlying the present architecture 1300 may be remotely accessible and cloud-based, thereby being remotely accessible through a network connection. An audio/video processing device may be configured for remotely accessing the NLP/ML modules and simulation modules may comprise skeleton elements such as a microphone, a camera a screen/monitor, a speaker etc.
Further, at-least one of the plurality of modules of mesh network may be implemented through AI based on an ML/NLP logic 1306. A function associated with AI may be performed through the non-volatile memory, the volatile memory, and the processor constituting the first hardware module 1302 i.e. specialized hardware for ML/NLP based mechanisms. The processor may include one or a plurality of processors. At this time, one or a plurality of processors may be a general purpose processor, such as a central processing unit (CPU), an application processor (AP), or the like, a graphics-only processing unit such as a graphics processing unit (GPU), a visual processing unit (VPU), and/or an AI-dedicated processor such as a neural processing unit (NPU). The aforesaid processors collectively correspond to the processor 1402 of Figure 14.
The one or a plurality of processors control the processing of the input data in accordance with a predefined operating rule or artificial intelligence (AI) model stored in the non-volatile memory and the volatile memory. The predefined operating rule or artificial intelligence model is provided through training or learning.
Here, being provided through learning means that, by applying a learning logic/technique to a plurality of learning data, a predefined operating rule or AI model of the desired characteristic is made. "Obtained by training" means that a predefined operation rule or artificial intelligence model configured to perform a desired feature (or purpose) is obtained by training a basic artificial intelligence model with multiple pieces of training data by a training technique. The learning may be performed in a device (i.e. the architecture 1300 or the device 1300) itself in which AI according to an embodiment is performed, and/or may be implemented through a separate server/system. "
The AI model may consist of a plurality of neural network layers. Each layer has a plurality of weight values, and performs a neural network layer operation through calculation between a result of computation of a previous-layer and an operation of a plurality of weights. Examples of neural-networks include, but are not limited to, convolutional neural network (CNN), deep neural network (DNN), recurrent neural network (RNN), restricted Boltzmann Machine (RBM), deep belief network (DBN), bidirectional recurrent deep neural network (BRDNN), generative adversarial networks (GAN), and deep Q-networks.
The ML/NLP logic 1306 is a method for training a predetermined target device (for example, a robot) using a plurality of learning data to cause, allow, or control the target device to make a determination or prediction. Examples of learning techniques include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
Referring now to Figure 14 of the Drawings, Figure 14 illustrates another exemplary implementation in accordance with the embodiment of the present invention, and yet another typical hardware configuration of the system 1300 in the form of a computer system 1400, in accordance with an embodiment of the present disclosure. The computer system 1400 can include a set of instructions that can be executed to cause the computer system 1400 to perform any one or more of the methods disclosed. The computer system 1400 may operate as a standalone device or may be connected, e.g., using a network, to other computer systems or peripheral devices.
In a networked deployment, the computer system 1400 may operate in the capacity of a server or as a client user computer in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. The computer system 1400 can also be implemented as or incorporated across various devices, such as a personal computer (PC), a tablet PC, a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while a single computer system 1400 is illustrated, the term "system" shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
The computer system 1400 may include a processor 1402 e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both. The processor 1402 may be a component in a variety of systems. For example, the processor 1402 may be part of a standard personal computer or a workstation. The processor 1402 may be one or more general processors, digital signal processors, application-specific integrated circuits, field-programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other now known or later developed devices for analyzing and processing data. The processor 1402 may implement a software program, such as code generated manually (i.e., programmed).
The computer system 1400 may include a memory 1404, such as a memory 1404 that can communicate via a bus 1408. The memory 1404 may include, but is not limited to computer-readable storage media such as various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media and the like. In one example, memory 1404 includes a cache or random access memory for the processor 1402. In alternative examples, the memory 1404 is separate from the processor 1402, such as a cache memory of a processor, the system memory, or other memory. The memory 1404 may be an external storage device or database for storing data. The memory 1404 is operable to store instructions executable by the processor 1402. The functions, acts or tasks illustrated in the figures or described may be performed by the programmed processor 1402 for executing the instructions stored in the memory 1404. The functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firmware, micro-code and the like, operating alone or in combination. Likewise, processing strategies may include multiprocessing, multitasking, parallel processing and the like.
As shown, the computer system 1400 may or may not further include a display unit 1410, such as a liquid crystal display (LCD), an organic light-emitting diode (OLED), a flat panel display, a solid-state display, a cathode ray tube (CRT), a projector, a printer or other now known or later developed display device for outputting determined information. The display 1410 may act as an interface for the user to see the functioning of the processor 1402, or specifically as an interface with the software stored in the memory 1404 or the drive unit 1416.
Additionally, the computer system 1400 may include an input device 1412 configured to allow a user to interact with any of the components of system 1400. The computer system 1400 may also include a disk or optical drive unit 1416. The disk drive unit 1416 may include a computer-readable medium 1422 in which one or more sets of instructions 1424, e.g. software, can be embedded. Further, the instructions 1424 may embody one or more of the methods or logic as described. In a particular example, the instructions 1424 may reside completely, or at least partially, within the memory 1404 or within the processor 1402 during execution by the computer system 1400.
The present invention contemplates a computer-readable medium that includes instructions 1424 or receives and executes instructions 1424 responsive to a propagated signal so that a device connected to a network 1426 can communicate voice, video, audio, images, or any other data over the network 1426. Further, the instructions 1424 may be transmitted or received over the network 1426 via a communication port or interface 1420 or using a bus 1408. The communication port or interface 1420 may be a part of the processor 1402 or maybe a separate component. The communication port 1420 may be created in software or maybe a physical connection in hardware. The communication port 1420 may be configured to connect with a network 1426, external media, the display 1410, or any other components in system 1400, or combinations thereof. The connection with the network 1426 may be a physical connection, such as a wired Ethernet connection or may be established wirelessly as discussed later. Likewise, the additional connections with other components of the system 1400 may be physical or may be established wirelessly. The network 1426 may alternatively be directly connected to the bus 1408.
The network 1426 may include wired networks, wireless networks, Ethernet AVB networks, or combinations thereof. The wireless network may be a cellular telephone network, an 802.11, 802.16, 802.20, 802.1Q or WiMax network. Further, the network 1426 may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols. The system is not limited to operation with any particular standards and protocols. For example, standards for Internet and other packet-switched network transmissions (e.g., TCP/IP, UDP/IP, HTML, and HTTP) may be used.
According to an embodiment of the present disclosure, a method for positioning of an electronic device in Internet of Things (IoT) ecosystem, comprising, analyzing, over a time period, user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input, determining user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device, determining at least a first optimal location for placement of the electronic device in the IoT ecosystem based on the determined user's voice interaction patterns, and recommending, for the placement of the electronic device in the IoT ecosystem, the determined at least the first optimal location to the user via at least one of a Graphical User Interface (GUI) and an audio response.
According to another embodiment of the present disclosure, wherein the user's voice interaction patterns include at least one user voice profile and at least one response profile of the electronic device, and the determination of the first optimal location comprising, calculating, for each direction of a plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on the user's voice interaction patterns including the at least one user voice profile and the at least one response profile of the electronic device, generating an interaction vector map based on the calculated interaction score, wherein the interaction vectors map indicates the user's voice interaction patterns with respect to the electronic device in each direction of the plurality of directions and determining, based on the generated interaction vector map, the at least first optimal location such that the calculated interaction score is optimum along a maximum number of directions among the plurality of directions.
According to another embodiment of the present disclosure, wherein the interaction score is a value in a predefined range that indicates a classification level of at least one attribute among a plurality of attributes corresponding to the at least one user voice profile and the at least one response profile of the electronic device.
According to another embodiment of the present disclosure, further comprising, re-calibrating and calculating vectors associated with the interaction vector map based on a user feedback during placement of the electronic device at the at least first optimal location, and determining a second optimal location for the placement of the electronic device based on the recalibration and the calculation of the vectors associated with the interaction vector map.
According to another embodiment of the present disclosure, further comprising, re-calibrating and calculating vectors associated with the interaction vector map based on one of a movement or a displacement of the electronic device at a location different from the at least first optimal location, and determining a second optimal location for the placement of the electronic device based on the recalibration and the calculation of the vectors associated with the interaction vector map.
According to another embodiment of the present disclosure, further comprising notifying, via at least one of the GUI and the audio response, movement directions and distances for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
According to another embodiment of the present disclosure, further comprising, determining whether a user of the electronic device moves the electronic device towards the notified movement directions along with the notified distances, and assisting, to the user via at least one of the GUI or the audio response, at least one correct movement direction or at least one correct distance to move the electronic device for the placement at one of the at least first optimal location or the second optimal location.
According to another embodiment of the present disclosure, further comprising assisting to the user the at least one correct movement direction or the at least one correct distance based on Ultra-Wideband (UWB) event data, wherein the UWB event data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
According to another embodiment of the present disclosure, further comprising assisting the at least one correct movement direction or the at least one correct distance to the user based on sensor data, wherein the sensor data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
According to another embodiment of the present disclosure, further comprising, determining the electronic device is placed at one of the at least first optimal position or the second optimal position, and
notifying, via at least one of the GUI and the audio response, the user to stop the movement of electronic device based on the determination that the electronic device is placed at one of the at least first optimal position or the second optimal position.
According to another embodiment of the present disclosure, further comprising, storing, as a historical data in a database, the analyzed user's voice data and response data of the electronic device, wherein the historical data includes at least one user voice profile and at least one response profile of the electronic device; and
calculating, for each direction of the plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on at least one of a user's current voice profile, a current response profile of the electronic device, and the historical data.
According to another embodiment of the present disclosure, wherein the historical data further includes at least one of a specific user's location with respect to the electronic device during user interactions with the electronic device , a number of user's voice commands uttered from the specific user's location to the electronic device, IoT contexts during the user interactions with the electronic device, user's feedback corresponding to a conversation with the electronic device, a signal strength of at least one network device to which the electronic device is connected during the user interactions with the electronic device, directions of the uttered user's voice commands during the user interactions with the electronic device, or a plurality of voice parameters associated with the uttered user's voice commands.
According to another embodiment of the present disclosure, wherein the determination of the at least first optimal location comprising, calculating, for each direction of a plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on the user's voice interaction patterns, normalizing, for each direction of the plurality of directions for the user's current location, the calculated interaction score based on a priority level of each of a plurality of system context variables associated with the electronic device, generating an interaction score matrix based on the normalized interaction score of corresponding direction of the plurality of directions, and generating an interaction vector map based on the interaction score matrix.
According to another embodiment of the present disclosure, wherein the plurality of system context variables corresponds to at least one of Internet of Things (IoT) event data associated with the electronic device and users of the electronic device, device specific data of the electronic device, or user feedback data.
According to another embodiment of the present disclosure, wherein the user's voice data includes audio tagging information corresponding to a plurality of user's locations with respect to a position of the electronic device in the IOT ecosystem, the audio tagging information includes a plurality of voice parameters, the response data of the electronic device includes a plurality of response parameters corresponding to the plurality of user's locations, and the electronic device corresponds to an Artificial intelligence (AI) speaker.
According to another embodiment of the present disclosure, wherein the plurality of voice parameters corresponds to a pitch of user's voice, an amplitude of the user's voice, a frequency of the user's voice, and an activation state of a mic of the electronic device.
According to another embodiment of the present disclosure, wherein the plurality of response parameters corresponds to an incorrect service output by the electronic device, repetition of response commands by the electronic device, a service time of the electronic device, an activation state of the mic of the electronic device.
According to another embodiment of the present disclosure, wherein the incorrect service is an erroneous service output by the electronic device in response to a user's voice command from a specific direction of the plurality of directions.
According to another embodiment of the present disclosure, a system for positioning of an electronic device in Internet of Things (IoT) ecosystem, comprising, a command analysis engine configured to, analyze, over a time period, user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input and determine user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device, a placement engine configured to determine at least a first optimal location for placement of the electronic device in the IoT ecosystem based on the determined user's voice interaction patterns, and a notification module configured to recommend, for the placement of the electronic device in the IoT ecosystem, the determined at least the first optimal location to the user via at least one of a Graphical User Interface (GUI) and an audio response.
According to another embodiment of the present disclosure, wherein the user's voice interaction patterns include at least one user voice profile and at least one response profile of the electronic device, wherein the system further comprises, an interaction score analysis engine configured to calculate, for each direction of a plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on the user's voice interaction patterns including the at least one user voice profile and the at least one response profile of the electronic device and a vectorization engine configured to generate an interaction vector map based on the calculated interaction score, wherein the interaction vectors map indicates the user's voice interaction patterns with respect to the electronic device in each direction of the plurality of directions, and wherein the placement engine is further configured to determine, based on the generated interaction vector map, the at least first optimal location such that the calculated interaction score is optimum along a maximum number of directions among the plurality of directions.
According to another embodiment of the present disclosure, wherein the placement engine is further configured to, re-calibrate and calculate vectors associated with the interaction vector map based on a user feedback during placement of the electronic device at the at least first optimal location and determine a second optimal location for the placement of the electronic device based on the recalibration and the calculation of the vectors associated with the interaction vector map.
According to another embodiment of the present disclosure, wherein the placement engine is further configured to, re-calibrate and calculate vectors associated with the interaction vector map based on one of a movement or a displacement of the electronic device at a location different from the at least first optimal location and determine a second optimal location for the placement of the electronic device based on the recalibration and the calculation of the vectors associated with the interaction vector map.
According to another embodiment of the present disclosure, wherein the notification module is further configured to notify, via at least one of the GUI and the audio response, movement directions and distances for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
According to another embodiment of the present disclosure, wherein the placement engine is further configured to determine whether a user of the electronic device moves the electronic device towards the notified movement directions along with the notified distances, and the notification module is further configured to assist, to the user via at least one of the GUI or the audio response, at least one correct movement direction or at least one correct distance to move the electronic device for the placement at one of the at least first optimal location or the second optimal location.
According to another embodiment of the present disclosure, wherein the notification module is further configured to assist to the user the at least one correct movement direction or the at least one correct distance based on Ultra-Wideband (UWB) event data, and the UWB event data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
According to another embodiment of the present disclosure, wherein the notification module is further configured to assist the at least one correct movement direction or the at least one correct distance to the user based on sensor data, and the sensor data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
According to another embodiment of the present disclosure, wherein the placement engine is further configured to determine the electronic device is placed at one of the at least first optimal position or the second optimal position, and the notification module is further configured to notify, via at least one of the GUI and the audio response, the user to stop the movement of electronic device based on the determination that the electronic device is placed at one of the at least first optimal position or the second optimal position.
According to another embodiment of the present disclosure, wherein the command analysis engine is further configured to store, as a historical data in a database, the analyzed user's voice data and response data of the electronic device, the historical data includes at least one user voice profile and at least one response profile of the electronic device, and the system further comprises an interaction score analysis engine configured to calculate, for each direction of the plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on at least one of a user's current voice profile, a current response profile of the electronic device, and the historical data.
According to another embodiment of the present disclosure, wherein the system further comprises, an interaction score analysis engine configured to, calculate, for each direction of a plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on the user's voice interaction patterns, normalize, for each direction of the plurality of directions for the user's current location, the calculated interaction score based on a priority level of each of a plurality of system context variables associated with the electronic device and generate an interaction score matrix based on the normalized interaction score of corresponding direction of the plurality of directions and a vectorization engine configured to generate an interaction vector map based on the interaction score matrix.
While specific language has been used to describe the disclosure, any limitations arising on account of the same are not intended. As would be apparent to a person in the art, various working modifications may be made to the method in order to implement the inventive concept as taught herein.
The drawings and the forgoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein.
Moreover, the actions of any flow diagram need not be implemented in the order shown; nor do all of the acts necessarily need to be performed. Also, those acts that are not dependent on other acts may be performed in parallel with the other acts. The scope of embodiments is by no means limited by these specific examples. Numerous variations, whether explicitly given in the specification or not, such as differences in structure, dimension, and use of material, are possible. The scope of embodiments is at least as broad as given by the following claims.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any component(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or component of any or all the claims.
Claims (15)
- A method for positioning of an electronic device in Internet of Things (IoT) ecosystem, comprising:analyzing, over a time period, user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input;determining user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device;determining at least a first optimal location for placement of the electronic device in the IoT ecosystem based on the determined user's voice interaction patterns; andrecommending, for the placement of the electronic device in the IoT ecosystem, the determined at least the first optimal location to the user via at least one of a Graphical User Interface (GUI) and an audio response.
- The method as claimed in claim 1, whereinthe user's voice interaction patterns include at least one user voice profile and at least one response profile of the electronic device, andthe determination of the first optimal location comprising:calculating, for each direction of a plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on the user's voice interaction patterns including the at least one user voice profile and the at least one response profile of the electronic device;generating an interaction vector map based on the calculated interaction score, wherein the interaction vectors map indicates the user's voice interaction patterns with respect to the electronic device in each direction of the plurality of directions; anddetermining, based on the generated interaction vector map, the at least first optimal location such that the calculated interaction score is optimum along a maximum number of directions among the plurality of directions.
- The method as claimed in claim 2, wherein the interaction score is a value in a predefined range that indicates a classification level of at least one attribute among a plurality of attributes corresponding to the at least one user voice profile and the at least one response profile of the electronic device.
- The method as claimed in claim 2, further comprising:re-calibrating and calculating vectors associated with the interaction vector map based on one of a movement of the electronic device at a location different from the at least first optimal location or a user feedback during placement of the electronic device at the at least first optimal location; anddetermining a second optimal location for the placement of the electronic device based on the recalibration and the calculation of the vectors associated with the interaction vector map.
- The method as claimed in claim 4, further comprising notifying, via at least one of the GUI and the audio response, movement directions and distances for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
- The method as claimed in claim 5, further comprising:determining whether a user of the electronic device moves the electronic device towards the notified movement directions along with the notified distances; andassisting, to the user via at least one of the GUI or the audio response, at least one correct movement direction or at least one correct distance to move the electronic device for the placement at one of the at least first optimal location or the second optimal location.
- The method as claimed in claim 5, further comprising assisting to the user the at least one correct movement direction or the at least one correct distance based on Ultra-Wideband (UWB) event data, wherein the UWB event data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
- The method as claimed in claim 5, further comprising assisting the at least one correct movement direction or the at least one correct distance to the user based on sensor data, wherein the sensor data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
- The method as claimed in claim 5, further comprising:determining the electronic device is placed at one of the at least first optimal position or the second optimal position; andnotifying, via at least one of the GUI and the audio response, the user to stop the movement of electronic device based on the determination that the electronic device is placed at one of the at least first optimal position or the second optimal position.
- The method as claimed in claim 1, whereinthe user's voice data includes audio tagging information corresponding to a plurality of user's locations with respect to a position of the electronic device in the IOT ecosystem,the audio tagging information includes a plurality of voice parameters,the response data of the electronic device includes a plurality of response parameters corresponding to the plurality of user's locations, andthe electronic device corresponds to an Artificial intelligence (AI) speaker, wherein the plurality of voice parameters corresponds to a pitch of user's voice, an amplitude of the user's voice, a frequency of the user's voice, and an activation state of a mic of the electronic device, wherein the plurality of response parameters corresponds to an incorrect service output by the electronic device, repetition of response commands by the electronic device, a service time of the electronic device, an activation state of the mic of the electronic device, and wherein the incorrect service is an erroneous service output by the electronic device in response to a user's voice command from a specific direction of the plurality of directions.
- A system for positioning of an electronic device in Internet of Things (IoT) ecosystem, comprising:a command analysis engine configured to:analyze, over a time period, user's voice data input to the electronic device and response data output by the electronic device in response to the user's voice data input; anddetermine user's voice interaction patterns based on each of the analyzed user's voice data and the analyzed response data of the electronic device;a placement engine configured to determine at least a first optimal location for placement of the electronic device in the IoT ecosystem based on the determined user's voice interaction patterns; anda notification module configured to recommend, for the placement of the electronic device in the IoT ecosystem, the determined at least the first optimal location to the user via at least one of a Graphical User Interface (GUI) and an audio response.
- The system as claimed in claim 11,wherein the user's voice interaction patterns include at least one user voice profile and at least one response profile of the electronic device,wherein the system further comprises:an interaction score analysis engine configured to calculate, for each direction of a plurality of directions with respect to locations associated with the user's voice interaction patterns, an interaction score based on the user's voice interaction patterns including the at least one user voice profile and the at least one response profile of the electronic device; anda vectorization engine configured to generate an interaction vector map based on the calculated interaction score, wherein the interaction vectors map indicates the user's voice interaction patterns with respect to the electronic device in each direction of the plurality of directions, andwherein the placement engine is further configured to determine, based on the generated interaction vector map, the at least first optimal location such that the calculated interaction score is optimum along a maximum number of directions among the plurality of directions.
- The system as claimed in claim 12, wherein the placement engine is further configured to:re-calibrate and calculate vectors associated with the interaction vector map based on one of a movement of the electronic device at a location different from the at least first optimal location or an user feedback during placement of the electronic device at the at least first optimal location; anddetermine a second optimal location for the placement of the electronic device based on the recalibration and the calculation of the vectors associated with the interaction vector map.
- The system as claimed in claim 13, wherein the notification module is further configured to notify, via at least one of the GUI and the audio response, movement directions and distances for the placement of the electronic device at one of the at least first optimal location or the second optimal location, whereinthe placement engine is further configured to determine whether a user of the electronic device moves the electronic device towards the notified movement directions along with the notified distances, andthe notification module is further configured to assist, to the user via at least one of the GUI or the audio response, at least one correct movement direction or at least one correct distance to move the electronic device for the placement at one of the at least first optimal location or the second optimal location, and whereinthe notification module is further configured to assist to the user the at least one correct movement direction or the at least one correct distance based on Ultra-Wideband (UWB) event data, andthe UWB event data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location.
- The system as claimed in claim 14, wherein the notification module is further configured to assist the at least one correct movement direction or the at least one correct distance to the user based on sensor data,wherein the sensor data includes information associated with movement directions and distance values for the placement of the electronic device at one of the at least first optimal location or the second optimal location,wherein the placement engine is further configured to determine the electronic device is placed at one of the at least first optimal position or the second optimal position, andwherein the notification module is further configured to notify, via at least one of the GUI and the audio response, the user to stop the movement of electronic device based on the determination that the electronic device is placed at one of the at least first optimal position or the second optimal position.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202141050381 | 2021-11-02 | ||
IN202141050381 | 2021-11-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023080341A1 true WO2023080341A1 (en) | 2023-05-11 |
Family
ID=86241710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/000834 WO2023080341A1 (en) | 2021-11-02 | 2022-01-17 | Dynamic positioning of ai speaker in an iot ecosystem |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023080341A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005303898A (en) * | 2004-04-15 | 2005-10-27 | Nippon Telegr & Teleph Corp <Ntt> | Microphone position determining method, apparatus and program |
US20180374494A1 (en) * | 2017-06-23 | 2018-12-27 | Casio Computer Co., Ltd. | Sound source separation information detecting device capable of separating signal voice from noise voice, robot, sound source separation information detecting method, and storage medium therefor |
JP2019036174A (en) * | 2017-08-17 | 2019-03-07 | ヤフー株式会社 | Control apparatus, input/output device, control method and control program |
US20190139542A1 (en) * | 2017-11-08 | 2019-05-09 | Harman International Industries, Incorporated | Proximity aware voice agent |
US20190355365A1 (en) * | 2017-01-13 | 2019-11-21 | Samsung Electronics Co., Ltd. | Electronic device and method of operation thereof |
-
2022
- 2022-01-17 WO PCT/KR2022/000834 patent/WO2023080341A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005303898A (en) * | 2004-04-15 | 2005-10-27 | Nippon Telegr & Teleph Corp <Ntt> | Microphone position determining method, apparatus and program |
US20190355365A1 (en) * | 2017-01-13 | 2019-11-21 | Samsung Electronics Co., Ltd. | Electronic device and method of operation thereof |
US20180374494A1 (en) * | 2017-06-23 | 2018-12-27 | Casio Computer Co., Ltd. | Sound source separation information detecting device capable of separating signal voice from noise voice, robot, sound source separation information detecting method, and storage medium therefor |
JP2019036174A (en) * | 2017-08-17 | 2019-03-07 | ヤフー株式会社 | Control apparatus, input/output device, control method and control program |
US20190139542A1 (en) * | 2017-11-08 | 2019-05-09 | Harman International Industries, Incorporated | Proximity aware voice agent |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019154181A1 (en) | Display control method and mobile terminal | |
US10564945B2 (en) | Method and device for supporting multi-framework syntax | |
WO2020258929A1 (en) | Folder interface switching method and terminal device | |
WO2020215949A1 (en) | Object processing method and terminal device | |
US20090327871A1 (en) | I/o for constrained devices | |
CN109947650B (en) | Script step processing method, device and system | |
US9092241B2 (en) | Multi-layer graphics painting for mobile devices | |
CN111061383B (en) | Text detection method and electronic equipment | |
US11556761B2 (en) | Method and device for compressing a neural network model for machine translation and storage medium | |
WO2022105692A1 (en) | Gesture recognition method and apparatus | |
WO2020192324A1 (en) | Interface displaying method and terminal device | |
CN111090489B (en) | Information control method and electronic equipment | |
US20180329612A1 (en) | Interfacing with a computing device | |
WO2016192518A1 (en) | Method and device for interaction between terminals | |
US20200071123A1 (en) | "Elevator Control and User Interface System" | |
CN107918509B (en) | Software shortcut prompt setting method and device and readable storage medium | |
KR102657949B1 (en) | Session creation method and terminal device | |
US20220245401A1 (en) | Method and apparatus for training model | |
WO2023080341A1 (en) | Dynamic positioning of ai speaker in an iot ecosystem | |
US11327639B2 (en) | Split view exiting method, split view exiting device, and electronic device | |
CN108154238B (en) | Migration method and device of machine learning process, storage medium and electronic equipment | |
EP3825894A1 (en) | Method, device and terminal for performing word segmentation on text information, and storage medium | |
KR20220045220A (en) | Icon display method and terminal | |
CN108563487B (en) | User interface updating method and device | |
US20230162494A1 (en) | System and method for ontology guided indoor scene understanding for cognitive robotic tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22890081 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |