ES2882569T3 - Identificación de lugares a partir de datos de exploración inalámbrica - Google Patents

Identificación de lugares a partir de datos de exploración inalámbrica Download PDF

Info

Publication number
ES2882569T3
ES2882569T3 ES16716139T ES16716139T ES2882569T3 ES 2882569 T3 ES2882569 T3 ES 2882569T3 ES 16716139 T ES16716139 T ES 16716139T ES 16716139 T ES16716139 T ES 16716139T ES 2882569 T3 ES2882569 T3 ES 2882569T3
Authority
ES
Spain
Prior art keywords
location
processing device
data
wireless
locations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16716139T
Other languages
English (en)
Inventor
Cagatay Berk Kapicioglu
Blake Shaw
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FOURSQUARE LABS Inc
Original Assignee
FOURSQUARE LABS Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FOURSQUARE LABS Inc filed Critical FOURSQUARE LABS Inc
Application granted granted Critical
Publication of ES2882569T3 publication Critical patent/ES2882569T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un método implementado por ordenador para realizarse por un sistema de búsqueda de lugares, que comprende: recibir (204) datos de exploración inalámbrica desde un dispositivo de procesamiento, comprendiendo los datos de exploración inalámbrica un primer identificador de una conexión inalámbrica; identificar (206) una pluralidad de lugares asociados con el primer identificador de los datos de exploración inalámbrica recogidos de un índice de mapeo de identificadores inalámbricos a lugares, donde el índice de mapeo se genera a partir de datos de exploración inalámbrica recogidos de un conjunto de dispositivos y datos de validación activa recogidos durante visitas a uno o más lugares, donde el índice de mapeo asocia los datos de exploración inalámbrica con uno o más lugares; clasificar (208) la pluralidad de lugares de acuerdo con una probabilidad de que el dispositivo de procesamiento esté ubicado en un lugar particular basándose en la evaluación de al menos una de las señales espaciales recogidas del dispositivo de procesamiento y datos de usuario asociados con un perfil de usuario del dispositivo de procesamiento, donde las señales espaciales incluyen información de ubicación de un punto de acceso inalámbrico con relación al dispositivo de procesamiento; y determinar (210) un lugar previsto en el que está ubicado el dispositivo de procesamiento basándose en la clasificación de la pluralidad de lugares.

Description

DESCRIPCIÓN
Identificación de lugares a partir de datos de exploración inalámbrica
Los servicios basados en ubicación detectan la ubicación usando una diversidad de métodos. Típicamente, los servicios basados en la ubicación están diseñados para estimar las coordenadas geográficas de un dispositivo de procesamiento, tales como la latitud y la longitud. Sin embargo, el lugar específico en el que está ubicado el dispositivo de procesamiento normalmente es un punto de interés en lugar de las coordenadas geográficas asociadas con el dispositivo de procesamiento. Es con respecto a este entorno general que se han contemplado los aspectos de la presente tecnología desvelada en el presente documento.
El documento US 2013/0325855 A1 desvela una técnica para presentar posibles lugares de registro de entrada en un usuario de dispositivo móvil. La técnica opera entrenando un modelo durante una secuencia de entrenamiento inicial.
La Patente de Estados Unidos N.° 8.599.758 B1 desvela sistemas y métodos para generar modelos de un entorno de red inalámbrica en un espacio de interiores que se usa para predecir una ubicación de interiores. Se usan mapas de señales para generar modelos del espacio de interiores. Un modelo de votación usa una distribución de probabilidad de una pluralidad de mapas de señal para identificar una ubicación con una probabilidad más alta de solapamiento con señales actuales recibidas en un dispositivo cliente.
El documento US 2014/031067 A1 desvela una detección de ubicación de un dispositivo móvil que se consigue iniciando una solicitud de API en un programa de aplicación. La solicitud de API dirige un sistema operativo del dispositivo móvil para iniciar una exploración de puntos de acceso inalámbricos dentro del alcance de comunicación inalámbrica del dispositivo móvil.
Es por lo tanto el objeto de la presente invención proporcionar un método implementado por ordenador mejorado para identificar un lugar, un correspondiente sistema y un correspondiente dispositivo de almacenamiento legible por ordenador.
Este objeto se resuelve mediante la materia objeto de las reivindicaciones independientes.
Se definen realizaciones preferidas en las reivindicaciones dependientes.
En un ejemplo no limitante de la presente divulgación, se recogen datos de exploración inalámbrica recogidos desde un dispositivo de procesamiento que se mapean directamente a lugares. Se reciben datos de exploración inalámbrica desde un dispositivo de procesamiento donde los datos de exploración inalámbrica comprenden un primer identificador de una conexión inalámbrica. Los lugares asociados con el primer identificador se identifican desde un mapeo de identificadores inalámbricos a lugares basándose en datos de validación activa asociados con lugares particulares que incluyen datos de exploración inalámbrica históricos de los lugares particulares. La pluralidad de lugares se clasifica de acuerdo con una probabilidad de que el dispositivo de procesamiento esté ubicado en un lugar particular basándose en la evaluación de los datos de validación activa que incluyen los datos de exploración inalámbrica históricos a partir del mapeo. Se determina un lugar previsto en el que está ubicado el dispositivo de procesamiento basándose en la clasificación de la pluralidad de lugares.
En otro ejemplo no limitante, los datos de exploración inalámbrica recogidos de un dispositivo de procesamiento se mapean directamente a lugares. Se reciben los datos de exploración inalámbrica desde un dispositivo de procesamiento donde los datos de exploración inalámbrica comprenden una pluralidad de direcciones de control de acceso al medio (Media Access Control, MAC). Los lugares asociados con las direcciones de MAC se identifican a partir de un mapeo de direcciones de MAC a lugares basándose en la evaluación de datos de validación activa asociados con lugares particulares que incluyen datos de exploración inalámbrica históricos de los lugares particulares. La pluralidad de lugares se clasifica de acuerdo con una probabilidad de que el dispositivo de procesamiento esté ubicado en un lugar particular basándose en la evaluación de los datos de validación activa que incluyen los datos de exploración inalámbrica históricos a partir del mapeo. Se determina un lugar previsto en el que está ubicado el dispositivo de procesamiento basándose en la clasificación de los lugares identificados.
Se proporciona este sumario para introducir una selección de conceptos de una forma simplificada que se describen adicionalmente a continuación en la descripción detallada. Este sumario no se pretende para identificar características clave o características esenciales de la materia objeto reivindicada, ni se pretende que se use para limitar el alcance de la materia objeto reivindicada.
Breve descripción de los dibujos
Se describen ejemplos no limitantes y no exhaustivos con referencia a las siguientes figuras. Como una nota, el mismo número representa el mismo elemento o el mismo tipo de elemento en todos los dibujos.
La Figura 1A ilustra un sistema 100 ilustrativo que muestra la interacción de los componentes para la implementación de aplicaciones y servicios de búsqueda de lugares como se describe en el presente documento.
La Figura 1B ilustra un sistema 110 ilustrativo que muestra la interacción de componentes para la implementación de una red distribuida que implementa aplicaciones/servicios de búsqueda de lugares como se describe en el presente documento.
La Figura 2 ilustra un método 200 ilustrativo para la implementación de servicios de búsqueda de lugares como se describe en el presente documento.
La Figura 3 ilustra ejemplos de datos de exploración inalámbrica y datos de registro de entrada de lugares como se describe en el presente documento.
La Figura 4 ilustra un ejemplo de un entorno 400 de operación adecuado en el que pueden implementarse uno o más de los ejemplos actuales.
Descripción detallada
Ejemplos no limitantes de la presente divulgación describen la determinación del lugar en el que está ubicado un dispositivo mapeando directamente datos de exploración inalámbrica a lugares. Un lugar es un área definida para la organización de personas/eventos. Un lugar puede comprender uno o más lugares, por ejemplo, un edificio puede tener una pluralidad de unidades que cada una puede considerarse lugares. Ejemplos de lugares incluyen, pero sin limitación: lugares de negocios (por ejemplo, tiendas, restaurantes y oficinas), casas, edificios/partes de edificios como suites y apartamentos, museos, escuelas, teatros, salas de eventos, aeropuertos, transporte/vehículos y estadios, entre otros ejemplos. Los datos de exploración inalámbrica son cualquier información de señal recogida desde un dispositivo de procesamiento que es usable para identificar conexiones inalámbricas (por ejemplo, los puntos de acceso) para que se conecte un dispositivo de procesamiento. Los datos de exploración inalámbrica comprenden al menos un identificador de una conexión inalámbrica. Ejemplos de identificadores de una conexión inalámbrica incluyen, pero sin limitación, direcciones de control de acceso al medio (MAC), indicaciones de tiempo, identificadores universalmente únicos (Universally Unique Identifiers, UUID), identificadores de conjunto de servicios (Service Set Identifiers, SSID), información de frecuencia, información de intensidad de señal, información de precisión, información de dispositivo, información geográfica, información de WI-FI, Bluetooth, información de infrarrojos y/o de baliza, entre otros ejemplos. Una aplicación o servicio puede ser operativo para predecir un lugar en el que puede ubicarse un dispositivo de proceso, o, de otra manera, proporcionar datos acerca de o asociados con un lugar (por ejemplo, una actualización de estado, una publicación en una red social, etc.). Por ejemplo, un registro de entrada es una indicación de que un dispositivo está en la actualidad en o ha visitado un lugar. En un ejemplo, un registro de entrada en un lugar puede tener lugar de manera pasiva cuando una aplicación/servicio puede detectar y predecir de manera pasiva un lugar en el que puede ubicarse un dispositivo de procesamiento. La detección pasiva de un lugar puede tener lugar sin que un usuario de un dispositivo de procesamiento realice de manera activa operaciones para posibilitar una operación de registro de entrada para un lugar. Como un ejemplo, una aplicación/servicio puede recoger de manera pasiva y evaluar información para predecir un lugar en el que puede estar ubicado un dispositivo de procesamiento y proporcionar una notificación al dispositivo de procesamiento con respecto a una visita a un lugar particular. Por ejemplo, un dispositivo de procesamiento puede recibir una notificación que solicita a un usuario del dispositivo de procesamiento si le gustaría hacer un registro de entrada en un lugar. En otro ejemplo, una aplicación/servicio puede enviar la notificación a un dispositivo de procesamiento de que se ha visitado un lugar particular cuando la aplicación/servicio tiene un alto nivel de confianza en una predicción de lugar. En otro ejemplo, un registro de entrada puede ocurrir por un usuario de un procesamiento que lleva a cabo de manera activa una acción para realizar el acuse de recibido de la visita a un lugar particular. Un experto en la materia reconocerá que la identificación de lugar no está limitada a operaciones de registro de entrada en un lugar específico. Por ejemplo, pueden usarse los datos del mapeo de lugar a exploración inalámbrica para identificar lugares similares, hacer recomendaciones específicas de lugar, generar anuncios dirigidos relacionados con lugares, realizar consultas, mensajería, comunicación de vídeo o telefónica, transmitir una notificación a dispositivos de procesamiento y/o usuarios asociados con los dispositivos de procesamiento y desencadenar aplicaciones/servicios entre otros ejemplos. Para facilidad de análisis, se describirán ejemplos proporcionados a través de toda la divulgación con respecto a datos de registro de entrada, entre otros ejemplos. Sin embargo, un experto en la materia apreciará que los ejemplos proporcionados en el presente documento pueden ponerse en práctica usando otros tipos de datos como se ha identificado anteriormente. La presente divulgación proporciona una alternativa a internar asociar manualmente datos inalámbricos con lugares cuando se automatiza un proceso de asociación de datos de exploración inalámbrica con lugares específicos usando datos generados de un geoetiquetado en una red social.
Como un ejemplo, considérese un intento para predecir un lugar en el que está ubicado un dispositivo de procesamiento o un registro de entrada a un lugar (por ejemplo, un restaurante) en la ciudad de Nueva York. En otros ejemplos, un usuario puede buscar descubrir lugares similares, recomendaciones específicas de lugar o recibir anuncios dirigidos relacionados con lugares, entre otros ejemplos. Una ubicación geográfica de un lugar puede identificarse basándose en información geográfica, tal como coordenadas de latitud y longitud. Sin embargo, esa ubicación geográfica puede incluir más de un lugar. Por ejemplo, una ubicación geográfica puede identificar un edificio en la ciudad de Nueva York. Un restaurante en el que está intentando hacer un registro de inicio un dispositivo puede estar ubicado en la quinta planta de un edificio, donde el edificio puede incluir otros lugares en las plantas uno a cuatro, por ejemplo. Por consiguiente, puede ser difícil predecir de manera precisa un lugar exacto en el que está intentando hacer un registro de entrada el dispositivo para usar información geográfica. Además, la recogida de información geográfica (por ejemplo, mediante señales de GPS) usa más recursos (por ejemplo, procesamiento/alimentación de batería) en comparación con la recogida de otros datos de exploración inalámbrica. La presente divulgación crea estructuras de mapeo que mapean datos de exploración inalámbrica directamente a un lugar y, por lo tanto, puede predecir de manera precisa y eficaz un lugar en el que está ubicado un dispositivo de procesamiento sin la necesidad de centrarse específicamente en recoger y analizar información geográfica. También, modelando directamente lugares en lugar de coordenadas geográficas, pueden aprenderse patrones de "ruido" específicos de un lugar. Por ejemplo, las señales pueden rebotar de manera consistente en estructuras de una manera específica que conduce a predicciones de lugares imprecisas (por ejemplo, predicen un lugar ubicado al otro lado de la calle desde donde está ubicado realmente un dispositivo móvil debido al ruido de señal). La presente divulgación puede usar las estructuras de mapeo generadas (por ejemplo, que identifican patrones de ruido históricos) para procesar y evaluar datos de ruido de señal (por ejemplo, identificar patrones de ruido de señal). Al hacerlo, un sistema o servicio de predicción de lugar puede aumentar la precisión en la determinación de predicción de lugar.
Se consigue un número de ventajas técnicas basándose en la presente divulgación que incluyen, pero sin limitación: el mapeo de lugares a datos de exploración inalámbrica, la generación de índices de mapeo de lugar robustos, la escalabilidad de modelos de búsqueda de lugares, la precisión mejorada en la identificación/predicción de lugar, la fiabilidad mejorada en los registros de entada de lugares que incluye la reducción en las predicciones incorrectas de lugares, carga de procesamiento reducida en dispositivos de procesamiento durante la recogida de datos y el registro de entrada de lugares, y el control sobre la interacción de usuario para búsqueda de lugares (por ejemplo, la recogida de datos de exploración inalámbrica) y la identificación de lugar, y la usabilidad mejorada relacionada con las aplicaciones y servicios de registro de entrada de lugares, entre otros ejemplos.
La Figura 1A ilustra un sistema 100 ilustrativo que muestra la interacción de los componentes para la implementación de aplicaciones y servicios de búsqueda de lugares como se describe en el presente documento. El sistema 100 ilustrativo presentado es una combinación de componentes interdependientes que interactúan para formar una totalidad integrada para las aplicaciones y servicios de búsqueda/registro de entrada de lugares. Los componentes de los sistemas pueden ser componentes de hardware o software implementados en y/o ejecutados por componentes de hardware de los sistemas. En ejemplos, el sistema 100 puede incluir cualquiera de los componentes de hardware (por ejemplo, usados para ejecutar/hacer funcionar el sistema operativo (SO)), y componentes de software (por ejemplo, aplicaciones, interfaces de programación de aplicación, módulos, máquinas virtuales, bibliotecas de tiempo de ejecución, etc.) que se ejecutan en hardware. En un ejemplo, un sistema 100 ilustrativo puede proporcionar un entorno para que se ejecuten los componentes de software, obedezcan a restricciones establecidas para la operación y hagan uso de recursos o instalaciones del sistema 100, donde los componentes pueden ser software (por ejemplo, aplicación, programa, módulo, etc.) que se ejecuta en uno o más dispositivos de procesamiento. Por ejemplo, las operaciones de búsqueda/identificación de lugares (por ejemplo, aplicaciones, instrucciones, módulos, etc.) pueden ejecutarse en un dispositivo de procesamiento, tal como un ordenador, dispositivo móvil (por ejemplo, teléfono inteligente/teléfono, tableta) y/o cualesquiera otros dispositivos electrónicos. Como un ejemplo de un entorno de operación de dispositivo de procesamiento, hágase referencia al entorno 400 de operación de la Figura 4. En otros ejemplos, los componentes de los sistemas desvelados en el presente documento pueden ampliarse a través de múltiples dispositivos. Por ejemplo, la entrada puede introducirse en un dispositivo cliente (por ejemplo, un teléfono móvil) y la información puede procesase o accederse desde otros dispositivos en una red, tal como uno o más dispositivos de servidor usados, por ejemplo, la identificación de lugares candidatos potenciales y una predicción de un lugar que está visitando un dispositivo de procesamiento o en el que está ubicado.
Como un ejemplo, el sistema 100 comprende un componente 102 de mapeo de datos, un componente 104 de identificación de lugar y un componente 106 de predicción de lugar, teniendo cada uno uno o más componentes adicionales. Un experto en la materia apreciará que la escala de los sistemas tales como el sistema 100 puede variar y puede incluir más o menos componentes que aquellos descritos en la Figura 1A. En algunos ejemplos, la interconexión entre los componentes del sistema 100 puede tener lugar de manera remota, por ejemplo, donde los componentes del sistema 100 pueden extenderse a través de uno o más dispositivos de una red distribuida como se muestra en la Figura 1B y se describe en la descripción de la Figura 1B.
El componente 102 de mapeo de datos es un componente del sistema 100 que puede usarse para generar y mantener una o más estructuras de mapeo que mapean datos de exploración inalámbrica con datos de validación activa y/o información relacionada con el dispositivo de procesamiento. Los datos de validación activa son cualquier dato que esté asociado con un lugar particular y recogidos de manera activa por una identificación de lugar/sistema o servicio de predicción. Ejemplos de datos de validación activa incluyen, pero sin limitación: datos de registro de entrada de lugar obtenidos cuando un dispositivo de procesamiento asociado con un perfil de usuario hace un registro de entrada en un lugar, notificaciones enviadas/recibidas por un sistema o servicio que incluye un registro de entrada pasivo en un lugar por el sistema/servicio, actualizaciones de perfil de usuario, publicaciones asociadas con un perfil de usuario, información social tal como amigos/conexiones asociadas con un perfil de usuario, e información espacial asociada con un dispositivo de procesamiento después de lo cual inicia sesión en un perfil de usuario, entre otros ejemplos. La información relacionada con el dispositivo de procesamiento es cualquier información recogida por un dispositivo de procesamiento o acerca de un dispositivo de procesamiento que puede usarse con sistemas o servicios de búsqueda/predicción de lugares. Ejemplos de información relacionada con el dispositivo de procesamiento incluyen, pero sin limitación: información de geocodificación, información de sistema operativo, información de aplicación e información de dispositivo (por ejemplo, información de dispositivo inalámbrico), entre otros ejemplos. Los datos de validación activa y/o la información relacionada con el dispositivo de procesamiento pueden usarse para mejorar la precisión de predicción de lugar y mejorar las predicciones de lugares al determinar dónde está ubicado un dispositivo de procesamiento.
El componente 102 de mapeo de datos también almacena información de lugares que comprende cualquier información relacionada con un lugar particular. Ejemplos de información de lugar almacenada por el componente 102 de mapeo de datos incluyen, pero sin limitación: identificadores de lugares, tales como nombre y apodos, datos de exploración inalámbrica asociados con el lugar, descripciones de contacto y datos informativos tales como menús, horas de operación, información de contacto, datos estadísticos, revisiones, etc. En un ejemplo, la información de lugares puede recogerse y almacenarse en una o más memorias/almacenamientos (por ejemplo, bases de datos) asociados con el componente 102 de mapeo de datos. Como un ejemplo, la información de lugares puede mantenerse en una estructura de mapeo del componente 102 de mapeo de datos. Una estructura de mapeo es una recogida de información/datos dispuestos de una manera ordenada. Ejemplos de estructuras de mapeo incluyen, pero sin limitación: índices, ficheros, cuadros/gráficos, diagramas, páginas web, bases de datos y flujos de trabajo, entre otros ejemplos. Como un ejemplo, una estructura de mapeo mapea datos de exploración inalámbrica con lugares de acuerdo los datos de usuario.
Las estructuras de mapeo pueden mantenerse en cualquier forma y almacenarse en un almacenamiento (o almacenamientos) en red del sistema 100 asociado con el componente 102 de mapeo de datos. Un experto en la materia reconocerá que el componente 102 de mapeo de datos es lo suficientemente robusto para almacenar y gestionar cantidades de datos muy grandes, por ejemplo, datos relacionados con miles de millones de registros de entrada de lugares o de perfiles de usuario. En un ejemplo, la información para mapear estructuras del componente 102 de mapeo de datos puede extenderse a través de múltiples dispositivos en una red distribuida. Como un ejemplo, una estructura de mapeo puede ser un índice que mapea dispositivos inalámbricos a lugares, que puede usarse, por ejemplo, para mejorar la precisión al predecir un lugar en el que está ubicado un usuario. Por ejemplo, una estructura de mapeo puede mapear información recogida desde una exploración inalámbrica (por ejemplo, datos de exploración inalámbrica) tales como direcciones de control de acceso al medio (MAC) a lugares basándose en datos de exploración inalámbrica históricos (por ejemplo, datos de Wi-Fi) y datos de validación activa (por ejemplo, patrones de registro de entrada de un usuario). En otros ejemplos, pueden generarse una o más estructuras de mapeo que identifican la intensidad de señal inalámbrica (o la intensidad de señal inalámbrica prevista) asociada con lugares particulares. Cuando un dispositivo de procesamiento hace un registro de entrada en un lugar, o, como alternativa, un sistema/servicio de identificación/predicción de lugar identifica un lugar para registro de entrada/comprueba un dispositivo de procesamiento en un lugar, se recoge información de exploración inalámbrica y se agrega en al menos una estructura de mapeo en asociación con datos de validación activa asociados con la ocurrencia. En ejemplos, los datos de exploración inalámbrica recogidos pueden estar asociados con un identificador de lugar (por ejemplo, id de lugar) que se usa para identificar un lugar. En ejemplos, puede mapearse un identificador de lugar a más de un lugar. Por ejemplo, los datos de exploración inalámbrica pueden identificar una dirección de MAC que está asociada con múltiples lugares. La información de identificador inalámbrico recogida de datos de exploración inalámbrica puede evaluarse para hacer una determinación de en cuál de los múltiples lugares está ubicado un dispositivo de procesamiento.
El componente 102 de mapeo de datos puede contener una pluralidad de estructuras de mapeo relacionadas con el mapeo de datos de exploración inalámbrica con lugares, información de lugares y cualquier otra información usable para identificar y predecir lugares en los que puede estar ubicado un dispositivo de procesamiento. El componente 102 de mapeo de datos puede estar asociado con una pluralidad de componentes tales como dispositivos, almacenamientos (por ejemplo, memorias) y bases de datos, entre otros componentes. En un ejemplo, se usa el componente 102 de mapeo de datos para registrar todos los datos de exploración inalámbrica y asociar los datos de exploración inalámbrica con identificadores de lugares que se recuperan desde datos de validación activa (por ejemplo, operaciones de registro de entrada de usuario anteriores). Los datos de validación activa pueden registrarse por el componente 102 de mapeo de datos en cualquier forma que pueda usarse para mejorar la identificación de lugar y predicción de lugar de datos recogidos. En un ejemplo, se registran y/o mapean los datos en un cálculo fuera de línea. Sin embargo, el mapeo de datos no está limitado a este ejemplo y puede hacerse en línea también. En un ejemplo, tiene lugar un procesamiento automatizado cuando se recogen datos de exploración inalámbrica y se agregan en una estructura de mapeo (por ejemplo, índice o tabla). En un ejemplo alternativo del sistema 100, puede introducirse otro componente que se usa para implementar el procesamiento de aprendizaje relacionado con la recogida y evaluación de los datos. En un ejemplo, pueden usarse algoritmos de aprendizaje tales como Naive Bayes y similitud del coseno para procesar y aprender patrones históricos en datos recogidos tales como los datos de validación activa.
Como un ejemplo, una estructura de mapeo generada por el componente de mapeo de datos es una organización de información (por ejemplo, archivo) codificada en un identificador de lugar que enumera intensidades de señal esperadas para transmisores inalámbricos cercanos para el lugar (y puede incluir un modelo probabilístico de cómo se espera que varíe la intensidad de señal en cada lugar). Otra estructura de mapeo ilustrativa es una organización de información que indica lugares sugeridos que están asociados con identificadores inalámbricos (por ejemplo, direcciones de MAC, UUID, SSID) en un área dada. Otro ejemplo es una estructura de mapeo relacionada con la recogida de datos de validación activa. Otras estructuras de mapeo de ejemplo comprenden índices que incorporan modelos de aprendizaje de máquina. Un experto en la materia reconocerá que el componente 102 de mapeo de datos puede mantener cualquier organización de datos (o disposición de datos) que provenga de la recogida de datos de exploración inalámbrica y los datos de validación activa.
El componente 102 de mapeo de datos se interconecta con otros componentes del sistema 100 que incluyen el componente 104 de identificación de lugar y el componente 106 de predicción de lugar. Por ejemplo, el componente 104 de identificación de lugar puede proporcionar datos de exploración inalámbrica, de un dispositivo de procesamiento, que puede estar referenciado de manera cruzada con estructuras de mapeo del componente 102 de mapeo de datos durante la modelación de datos. En un ejemplo, esto puede hacerse en una operación de recuperación en línea. Sin embargo, un experto en la materia reconocerá que la presente divulgación no está limitada a una operación de recuperación en línea. La evaluación de datos de exploración inalámbrica usando una o más estructuras de mapeo del componente 102 de mapeo de datos posibilita que una correspondiente aplicación/servicio de búsqueda de lugares identifique de manera precisa lugares y prediga un lugar particular en el que estaba ubicado previamente o actualmente un dispositivo de procesamiento. En ejemplos, el componente 102 de mapeo de datos actualiza de manera inteligente estructuras de mapeo a medida que se recogen más y más datos con el tiempo. Pueden programarse actualizaciones a los datos mantenidos por el componente 102 de mapeo de datos para que tengan lugar en cualquier punto en el tiempo incluyendo cuando se reciben nuevos datos. El componente 102 de mapeo de datos puede emplear también algoritmos de modelación de datos para actualizar datos para incluir en estructuras de mapeo. En un ejemplo, se usa procesamiento de programación dinámica para alinear datos de exploración inalámbrica con datos de lugares. En otro ejemplo, puede aplicarse un modelo de filtración para determinar cómo asociar datos de exploración inalámbrica (por ejemplo, dirección de MAC) de datos de validación activa con un lugar. Por ejemplo, puede aplicarse cualquier tipo del proceso de filtración para identificar si han de añadirse los datos de un registro de entrada de lugar, por ejemplo, a una estructura de mapeo (por ejemplo, índice) del componente 102 de mapeo de datos. Como un ejemplo, puede emplearse un proceso que asocia un lugar con datos de exploración inalámbrica (por ejemplo, dirección de MAC) cuando dos o más registros de entrada han vinculado los datos de exploración inalámbrica con el lugar. Esto puede ayudar a minimizar el número de falsos positivos cuando un lugar está incorrectamente asociado con datos de exploración inalámbrica. En otro ejemplo, se filtran/eliminan datos de exploración inalámbrica (por ejemplo, direcciones de MAC) desde una estructura de mapeo si se observa que una varianza (basándose en coordenadas geográficas) está por encima de un intervalo, por ejemplo, un kilómetro. En otros ejemplos, el procesamiento ejecutado identifica puntos de acceso inalámbricos y/o dispositivos de Bluetooth que son no estacionarios. En un ejemplo, se descartan puntos de acceso/dispositivos Bluetooth no estacionarios para los fines de geolocalización.
Los datos de telemetría pueden mantenerse en asociación con estructuras de mapeo mantenidas por el componente 102 de mapeo de datos. Los datos de telemetría son cualquier dato que pueda monitorizarse/informarse en asociación con el procesamiento relacionado con servicios de búsqueda de lugares. Los datos de telemetría pueden recogerse en exploraciones inalámbricas antes de que un dispositivo de procesamiento haga un registro de entrada en un lugar (o antes de que una aplicación/servicio identifique un lugar como que se está visitando) así como cuando el dispositivo de procesamiento hace un registro de entrada en un lugar o una aplicación/servicio transmite una notificación de que se está visitando un lugar. Como ejemplos, pueden informarse datos de telemetría basándose en la estructura de mapeos generada y mantenida por el componente 102 de mapeo de datos y las actualizaciones de datos mantenidos por el componente 102 de mapeo de datos.
El componente 104 de identificación de lugar es un componente del sistema 100 que se usa para recuperar datos de exploración inalámbrica desde un dispositivo o dispositivos de procesamiento e identifica y recupera lugares que están asociados con los datos de exploración inalámbrica recogidos. Para posibilitar la identificación de búsqueda de lugares, el componente 104 de identificación de lugar interconecta con el componente 102 de mapeo de datos. El componente 104 de identificación de lugar también interconecta con el componente 106 de predicción de lugar para proporcionar datos recogidos y analizados al componente 106 de predicción de lugar que posibilita que tenga lugar la predicción de lugar. En un ejemplo, el componente 104 de identificación de lugar recoge datos de exploración inalámbrica antes de que un dispositivo de procesamiento haga un registro de entrada en un lugar. Esto es un ejemplo de recogida de datos pasiva donde se recogen datos de exploración inalámbrica sin que un dispositivo de procesamiento haga una solicitud para explorar datos antes de que se recojan para la identificación de lugar. Esto mejora una capacidad del sistema 100 para predecir un lugar en el que está ubicado el dispositivo de procesamiento y el usuario, aumenta la eficacia en la recogida de datos y maximiza una experiencia de usuario (por ejemplo, de un sistema/servicio de búsqueda de lugares). Sin embargo, en otros ejemplos, pueden recogerse datos de exploración inalámbrica en cualquier momento de una manera activa o pasiva. En la mayoría de los casos, puede ser difícil recoger datos de sensor antes de que tenga lugar un registro de entrada puesto que puede tomar unos pocos segundos que un dispositivo de procesamiento explore puntos de acceso cercanos una vez que un usuario de un dispositivo de procesamiento indica un deseo para hacer un registro de entrada en un lugar. Sin embargo, la presente solicitud presenta ejemplos que posibilitan la recogida pasiva de datos de exploración inalámbrica por un dispositivo de procesamiento antes de hacer una conexión en línea (por ejemplo, llamada en vivo) con un sistema/servicio de búsqueda/identificación de lugares para que comience la determinación de predicción de lugar. En un ejemplo, un dispositivo de procesamiento (por ejemplo, a través de un sistema/servicio de búsqueda de lugares local) recoge datos pasivos antes de actualizar una llamada en directo a un sistema/servicio de búsqueda de lugares que puede realizar finalmente una búsqueda de lugares en los que puede estar ubicado el dispositivo de procesamiento. Una aplicación/servicio de búsqueda de lugares incluye instrucciones que indican que han de recogerse unos datos de exploración inalámbrica. Unas instrucciones ilustrativas son como sigue:
signalScan = {
wifi = true,
iBeacon = true
iBeaconUUIDs = ["E2C56DB5DFFB48D2B060D0F5A71096E0"] #optional, if iBeacon = true, permitir que iOS informe datos
}.
Un experto en la materia reconocerá que puede usarse cualquier código para controlar la exploración de datos de exploración inalámbrica. Como el componente 104 de identificación de lugar puede controlar cuándo tiene lugar una exploración de datos de exploración inalámbrica, el componente 104 de identificación de lugar puede explorar de manera inteligente señales inalámbricas y minimizar la cantidad de potencia necesaria para llevar a cabo la exploración, evitando de esta manera agotar la batería del dispositivo de procesamiento.
En un ejemplo, el dispositivo de procesamiento (por ejemplo, el cliente), que usa una aplicación/servicio de búsqueda de lugares, detectará que el sistema 100 solicita la exploración pasiva de datos de exploración inalámbrica. Cuando un dispositivo de procesamiento detecta que el sistema 100 le gustaría que el dispositivo de procesamiento recogiera datos de exploración inalámbrica, se recogen los datos de exploración inalámbrica y se transmiten al sistema 100 (por ejemplo, al componente 104 de identificación de lugar). Como un ejemplo, una colección de datos de exploración inalámbrica puede tener un aspecto similar a lo siguiente, donde las comas separan los campos recogidos y los puntos y comas separan una lectura de conexión inalámbrica (por ejemplo, punto de acceso):
wifiScan = 1365046921,FatDenz,aasdasdadsas,1800,-23; 1365046921 foursquare,gfddasdadsas, 1800,-9
iBeaconScan=1365046921,E2C56DB5DFFB48D2B060D0F5A71096E0,00,70,near,0.1,-68; 136504692l,E2C56DB5DFFB48D2B060D0F5A71096E0,00,140,far,0.1,-128.
Como se ha indicado anteriormente, los datos de exploración inalámbrica es cualquier información de señal recogida de un dispositivo de procesamiento que puede usarse para identificar conexiones inalámbricas. Los campos de los datos de exploración inalámbrica que se recogen incluyen, pero sin limitación: información de indicación de tiempo, SSID, UUID, dirección de MAC, frecuencia (por ejemplo, frecuencia de radio en MHz), intensidad de señal, identificación de punto de acceso, proximidad y precisión, entre otros ejemplos. Sin embargo, un experto en la materia reconocerá que los campos asociados con la recogida de datos de exploración inalámbrica pueden variar y establecerse por un programador/desarrollador de la aplicación.
El componente 104 de identificación de lugar también monitoriza la exploración de conexiones inalámbricas. En un ejemplo, el componente 104 de identificación de lugar emplea una operación/algoritmo de detección de parada que detecta si el dispositivo de procesamiento sigue en alcance de una conexión inalámbrica (por ejemplo, identificado por SSID, UUID, dirección de MAC, etc.) durante una cantidad predeterminada de tiempo. El componente 104 de identificación de lugar escucha de manera continua conexiones inalámbricas de manera pasiva (en segundo plano mientras está operando el dispositivo de procesamiento) en una manera baja en potencia para conservar la duración de la batería del dispositivo de procesamiento. En un ejemplo, el componente 104 de identificación de lugar puede hacer que el dispositivo de procesamiento recoja información de alcance durante una cantidad de tiempo especificada por el sistema (por ejemplo, 1 minuto) y a continuación notificar al componente 104 de identificación de lugar si el dispositivo de procesamiento está aún dentro de alcance de la conexión inalámbrica después de variar la conexión inalámbrica durante la cantidad predeterminada de tiempo. Una instrucción de ejemplo proporcionada por el componente 104 de identificación de lugar al dispositivo de procesamiento para variar de una conexión inalámbrica es similar a la siguiente:
signalMonitor = {
iBeacon = true
iBeaconUUIDs = ["E2C56DB5DFFB48D2B060D0F5A71096E0"]
stopDuration = 60 # número de segundos que debería esperar el cliente]
}.
Si el dispositivo de procesamiento aún está dentro de alcance durante la cantidad predeterminada de tiempo, el dispositivo de procesamiento recoge y transmite los datos de exploración inalámbrica como se ha identificado anteriormente. En otras instancias, el dispositivo de procesamiento puede notificar al sistema 100 de que el dispositivo de procesamiento ya no está en alcance de una conexión inalámbrica. El sistema 100 registra los datos de exploración inalámbrica recogidos. En ejemplos, los datos de exploración inalámbrica recogidos se amplían mediante información adicional recogida, por ejemplo, desde el dispositivo de procesamiento que incluye, pero sin limitación: información relacionada con el dispositivo de procesamiento, datos de validación activa, identificación de usuario, información de cliente, información de indicación de tiempo e información geográfica, tal como la latitud y longitud, entre otros ejemplos. Tal información puede usarse para optimizar una lista de lugares candidatos en los que puede estar ubicado un dispositivo de procesamiento. Cuando se recibe una solicitud de búsqueda de lugares, el componente 104 de identificación de lugar recupera un conjunto de lugares candidatos en los que puede estar ubicado un dispositivo de procesamiento basándose en conexiones inalámbricas cercanas. Al hacer eso, el componente 104 de identificación de lugar realiza operaciones para mapear identificadores inalámbricos (por ejemplo, direcciones de MAC, SSIDS, UUIDS, intensidad de señal, etc.) a una lista de lugares (por ejemplo, por identificadores de lugar) y también identifica otras estadísticas auxiliares que pueden ayudar al componente 104 de identificación de lugar a determinar un lugar en el que está ubicado un dispositivo de procesamiento. Como un ejemplo, se mapea una dirección de MAC de una conexión inalámbrica con uno o más objetos que proporcionan información en una conexión inalámbrica. Para un aspecto dado de los datos de exploración inalámbrica (por ejemplo, dirección de MAC), las estadísticas auxiliares se calculan a partir de las exploraciones de conexión inalámbrica que están asociadas con los datos de exploración inalámbrica e información de lugar. Ejemplos de estadísticas auxiliares incluyen, pero sin limitación: estadísticas descriptivas, estadísticas inferenciales, medios de coordenadas asociadas con datos explorados, percentiles que corresponden con distancias entre coordenadas asociadas, media, mediana, promedio y desviación, entre otros ejemplos.
El componente 104 de identificación de lugar compara un listado de lugares candidatos con información de lugar mantenida por el componente 102 de mapeo de datos. Como un ejemplo, el componente 104 de identificación de lugar puede ejecutar una operación que emite todos los datos de exploración inalámbrica asociados con un lugar particular que se mantiene por el componente 102 de mapeo de datos. El componente 104 de identificación de lugar puede buscar datos de exploración inalámbrica de un lugar usando cualquier información disponible que incluye, pero sin limitación: información de los datos de exploración inalámbrica (por ejemplo, direcciones de MAC, SSIDS, UUIDS) e identificación de lugar, entre otros ejemplos. En una operación de ejemplo, puede usarse una consulta tal como la siguiente consulta para identificar datos de exploración inalámbrica asociados con un lugar que se mantiene por el componente 102 de mapeo de datos:
SELECT wifisignals, 'timestamp'
FROM thriftlogs.passive_sensor_scans
WHERE venueid = '4ef0e7cf7beb5932d5bdeb4e'
ORDER BY timestamp' DESC
LIMIT 100.
Sin embargo, un experto en la materia reconocerá que una consulta no está limitada a los campos identificados anteriores. Por ejemplo, una consulta de búsqueda del componente 102 de mapeo de datos puede codificarse en una dirección de MAC de los datos de exploración inalámbrica, entre otros ejemplos.
Los lugares identificados pueden a continuación clasificarse de acuerdo con la probabilidad de que el dispositivo de procesamiento esté ubicado en un lugar particular. Al hacer eso, el componente 104 de identificación de lugar aplica procesamiento de aprendizaje de máquina para evaluar los datos de exploración inalámbrica recogidos en comparación con datos gestionados por el componente 102 de mapeo de datos, por ejemplo, los datos de validación activa y la información relacionada con el dispositivo de procesamiento. Un procesamiento de aprendizaje de máquina es cualquier proceso que opera creando un clasificador basándose en el análisis de entrada o entradas de ejemplo y haciendo predicciones o decisiones analizando la entrada usando el clasificador. En ejemplos, el procesamiento de aprendizaje de máquina se crea y/o adapta para modelar específicamente datos obtenidos a partir de exploraciones inalámbricas y datos gestionados por el componente 102 de mapeo de datos tales como los datos de validación activa y/o pueden usarse procesos de aprendizaje de máquina de información relacionada con el dispositivo de procesamiento que pueden emplear cualquier tipo de análisis estadístico que incluye la clasificación, tal como la clasificación binaria o la clasificación de múltiples clases e incluir adicionalmente cualquier método adecuado para clasificadores de aprendizaje, tales como las redes bayesianas (por ejemplo, Naive Bayes), algoritmos de similitud de coseno, procesamiento de máquina de vector de soporte (SVM), árboles de decisión (por ejemplo, bosque aleatorio), máquinas de vector de soporte, redes neurales, regresión probit y regresión logística, entre otros ejemplos. En un ejemplo, el procesamiento de aprendizaje de máquina emplea un clasificador Naive Bayes con características binarias, para clasificar los lugares identificados.
Como un ejemplo, puede usarse la aplicación de un proceso de aprendizaje de máquina para determinar una probabilidad de que el dispositivo de procesamiento esté ubicado en un lugar particular evaluando los datos de exploración inalámbrica y los datos (por ejemplo, índices) mantenidos por el componente 102 de mapeo de datos. La probabilidad de que el dispositivo de procesamiento esté ubicado en un lugar particular es una probabilidad determinada a partir de la evaluación de datos de exploración inalámbrica asociados con datos de validación activa (por ejemplo, registros de entrada de lugares históricos) y/o información relacionada con el dispositivo de procesamiento mantenida por el componente 102 de mapeo de datos. Por ejemplo, un proceso de aprendizaje de máquina aplicado compara uno o más identificadores inalámbricos a partir de datos de exploración inalámbrica con identificadores inalámbricos que aparecen en datos de validación activa asociados con un lugar (por ejemplo, registro de entrada de lugar). En un ejemplo, puede compararse una dirección de MAC identificada para una conexión inalámbrica durante una exploración inalámbrica con direcciones de MAC que aparecen en registros de entrada de lugares. En otro ejemplo, se compara la intensidad de señal detectada para una conexión inalámbrica asociada con el identificador con la intensidad de señal prevista para una conexión inalámbrica de un lugar. Como un ejemplo, la intensidad de señal prevista para una conexión inalámbrica de un lugar puede estar basada en un análisis de datos de exploración inalámbrica asociados con datos de validación activa asociados con un lugar particular (por ejemplo, registros de entrada anteriores en un lugar particular). En otro ejemplo de modelación, pueden comprobarse datos de exploración inalámbrica recogidos contra lugares populares en un área cercana basándose en un índice mapeado por el componente 102 de mapeo de datos. En ejemplos adicionales, el procesamiento de aprendizaje de máquina puede considerar datos de exploración inalámbrica e información relacionada con el dispositivo de procesamiento para mejorar la precisión en la identificación/predicción de lugar. En un ejemplo, las coordenadas geográficas detectadas desde un dispositivo de procesamiento pueden analizarse (por ejemplo, procesamiento de triangulación) y pueden evaluarse adicionalmente datos de exploración inalámbrica para predecir de manera más precisa lugares candidatos.
La clasificación de los lugares candidatos identificados puede comprender la aplicación de más de un modelo de aprendizaje de máquina para mejorar la precisión al determinar la probabilidad de que un dispositivo de procesamiento esté ubicado en un lugar particular. Las aplicaciones de búsqueda de lugares pueden combinar una diversidad de métodos de puntuación (por ejemplo, usando métodos de aprendizaje de bosque lineal y/o aleatorio) para clasificar lugares candidatos para la coincidencia de lugares. Las puntuaciones pueden asignarse a cada uno de los lugares candidatos basándose en la aplicación del uno o más procesos de aprendizaje de máquina. Por ejemplo, los procesos de aprendizaje de máquina aplicados pueden aplicar pesos (por ejemplo, probabilidades) basándose en el identificador inalámbrico asociado con la evaluación de los datos de exploración inalámbrica. En ejemplos, se generan puntuaciones de confianza de acuerdo con cada uno de una pluralidad de lugares candidatos basándose en la aplicación del clasificador usando el procesamiento de aprendizaje de máquina. En un ejemplo, pueden determinarse valores umbral para lugares candidatos de clasificación. Por ejemplo, pueden usarse valores umbral para filtrar lugares candidatos que tienen una probabilidad baja (por ejemplo, puntuación de baja confianza) de ser un lugar en el que está ubicado un dispositivo de procesamiento. En un ejemplo, la clasificación de los lugares candidatos identificados o recuperados tiene lugar en un procesamiento de clasificación en línea. Sin embargo, un experto en la materia reconocerá que la clasificación de lugares candidatos no está limitada a su ocurrencia durante el procesamiento en línea.
Los procesos de aprendizaje de máquina aplicados pueden entrenarse o volverse a entrenar basándose en un número de factores. Los factores que pueden considerarse también en la clasificación/puntuación de lugares candidatos incluyen, pero sin limitación: datos de validación activa, señales espaciales que incluyen información de ubicación de un punto de acceso inalámbrico con relación al dispositivo de procesamiento, datos de usuario asociados con un perfil de usuario del dispositivo de procesamiento que incluyen datos sociales, datos de registro de entrada históricos (por ejemplo, lugares donde un usuario/dispositivo de procesamiento ha hecho un registro de entrada previamente, también), modelos de filtración, información del fabricante de la conexión del lugar o inalámbrica y la información del dispositivo de procesamiento, entre otros ejemplos. Por ejemplo, pueden usarse las señales sociales (por ejemplo, datos de usuario) asociadas con datos de validación activa para un lugar y/u otros datos de usuario (por ejemplo, asociados con perfiles de usuarios de una aplicación/servicio) por el procesamiento de aprendizaje de máquina para entrenar/volver a entrenar niveles de confianza en las predicciones de lugar. En un ejemplo de un modelo de aprendizaje de máquina de filtración, se aplican los procesos de filtración para eliminar lugares candidatos que son menos probables que sean el lugar en el que está ubicado un dispositivo de procesamiento. Pueden emplearse procesos de filtración para realizar diferentes tipos de filtración. Ejemplos de procesos de filtración incluyen, pero sin limitación, procesos que tienen como objetivo: eliminar puntos de acceso que se determinan que tienen ruido (por ejemplo, encaminadores móviles), eliminar puntos de acceso basándose en métricas de distancia (por ejemplo, distancia euclídea) donde un identificador de un punto de acceso puede no ser confiable si la distancia abarcada se encuentra por encima de un valor umbral y eliminar identificadores para razones empresariales/sociales, entre otros ejemplos. Las razones empresariales/sociales incluyen, pero sin limitación: misiones de la empresa, contratos comerciales, publicidad, censura, privacidad, legales y políticas, entre otros ejemplos.
El componente 106 de predicción de lugar es un componente del sistema 100 que puede usarse para predecir un lugar en el que está el dispositivo de procesamiento basándose en los lugares candidatos identificados y clasificados. En un ejemplo, cuando se realiza una llamada en vivo para una búsqueda de lugar por un dispositivo de procesamiento, el componente 106 de predicción de lugar envía una señal al dispositivo de procesamiento para presentar visualmente uno o más lugares para que el dispositivo de procesamiento lleve a cabo una acción y ejecute un registro de entrada de lugar. Como alternativa, un sistema/servicio de búsqueda/identificación de lugares puede proporcionar una notificación a un dispositivo de procesamiento de una predicción de lugar o identificar automáticamente que un dispositivo de procesamiento ha visitado un lugar basándose en una puntuación de confianza (por ejemplo, determinada por un clasificador probabilístico) asociada con una predicción de lugar. Para posibilitar predicciones de lugar, el componente 106 de predicción de lugar interconecta con el componente 102 de mapeo de datos y el componente 104 de identificación de lugar. Como un ejemplo, el componente 106 de predicción de lugar evalúa la clasificación de los lugares candidatos y predice un lugar en que está ubicado un dispositivo de procesamiento basándose en la evaluación de datos de exploración inalámbrica (por ejemplo, datos recogidos de manera pasiva) y/o la evaluación de datos de validación activa asociados con un lugar. Al predecir un lugar en el que está ubicado un dispositivo de procesamiento, el componente 106 de predicción de lugar puede emplear procesos o modelos para seleccionar lugares para emitir a un dispositivo de procesamiento de acuerdo con la clasificación o clasificaciones (por ejemplo, puntuaciones de confianza) determinadas por el componente 104 de identificación de lugar. Pueden enviarse una o más predicciones de lugar a un dispositivo de procesamiento. En ejemplos alternativos, un sistema o servicio puede identificar un lugar como que se visita por el dispositivo de procesamiento basándose en la evaluación de una puntuación de confianza asociada con un lugar. Por ejemplo, puede enviarse una notificación de que se ha visitado un lugar cuando el sistema 100 determina que hay una probabilidad muy alta (por ejemplo, basándose en la evaluación de la puntuación de confianza) de que está ubicado un dispositivo de procesamiento en un lugar particular. En un ejemplo, puede compararse una puntuación de confianza asociada con una predicción de lugar con un valor umbral predeterminado para determinar si enviar una notificación asociada con un lugar particular a un dispositivo de procesamiento. En algunos ejemplos, la notificación puede ser un registro de entrada automático en un lugar particular.
El componente 106 de predicción de lugar puede recoger también datos de telemetría cuando un dispositivo de procesamiento hace un registro de entrada en un lugar o una aplicación/servicio determina una predicción de lugar. Pueden recogerse datos de telemetría por el componente 106 de predicción de lugar para determinar la precisión de la predicción de lugar, así como estructuras de datos de actualización mantenidas por el componente 102 de mapeo de datos. Por lo tanto, las estructuras de datos mantenidas por el componente 102 de mapeo de datos pueden continuar siendo precisas y robustas a través del tiempo lo que conduce a una precisión mejorada en la búsqueda y predicción de lugar.
En ejemplos alternativos del sistema 100, se realizan las operaciones realizadas por el componente 104 de identificación de lugar y el componente 106 de predicción de lugar por un único componente.
La Figura 1B ilustra un sistema 110 ilustrativo que muestra la interacción de componentes para la implementación de una red distribuida que implementa aplicaciones/servicios de búsqueda de lugares como se describe en el presente documento. El sistema 110 ilustra una red distribuida que fomenta la interacción de un dispositivo 112 de procesamiento de cliente con componentes de sistema para que un servicio de búsqueda de lugares posibilite la determinación de predicción de lugar. Ejemplos de redes distribuidas que pueden incluirse en el sistema 110 incluyen, pero sin limitación, entornos de informática en la nube, redes informáticas de línea eléctrica y/o redes entre iguales, entre otros ejemplos.
En el sistema 110, el dispositivo 112 de procesamiento de cliente puede ser un dispositivo de procesamiento como se describe en el sistema 100. Como un ejemplo de un dispositivo de procesamiento y entorno de operación, hágase referencia al entorno 400 de operación de la Figura 4. En un ejemplo, el dispositivo 112 de procesamiento de cliente es un dispositivo informático tal como un ordenador de sobremesa, portátil, teléfono móvil/teléfono inteligente, tableta, reproductor de medios portátil, asistente de datos personal (PDA), vehículo o cualquier otro dispositivo de procesamiento que posibilite la identificación y predicción de lugar. El dispositivo 112 de procesamiento de cliente posibilita la operación de un servicio de búsqueda de lugares. Como se describe en detalle en la descripción de la Figura 1A, el dispositivo 112 de procesamiento de cliente interconecta con el servicio de búsqueda de lugares para enviar y/o recibir señales que incluyen la recogida de datos de exploración inalámbrica, la solicitud de una búsqueda de lugares, la recepción de lugares previstos, acciones (por ejemplo, registro de entrada, notificaciones, etc.) asociadas con un lugar particular y/o datos de telemetría de transmisión, entre otros ejemplos. La línea 113 de comunicación representa tales interacciones entre el dispositivo 112 de procesamiento de cliente y un componente 114 de búsqueda de lugares del servicio de búsqueda de lugares. Las comunicaciones entre un dispositivo de procesamiento de cliente y el servicio de búsqueda de lugares pueden transmitirse mediante una red, tal como internet.
El componente 114 de búsqueda de lugares realiza operaciones de sistema administrativo para proporcionar al dispositivo 112 de procesamiento de cliente con uno o más lugares candidatos en los que puede estar ubicado el dispositivo 112 de procesamiento de cliente. El componente 114 de búsqueda de lugares es uno o más componentes que realizan operaciones similares al componente 104 de identificación de lugar y al componente 106 de predicción de lugar del sistema 100, como se describe con respecto a la Figura 1A. El componente 114 de búsqueda de lugares puede interconectar con un componente 116 de mapeo para posibilitar la identificación, clasificación y predicción de lugar. El componente 116 de mapeo es uno o más componentes que realizan operaciones similares al componente 102 de mapeo de datos del sistema 100, como se describe con respecto a la Figura 1A. La línea 115 de comunicación representa interacciones entre el componente 114 de búsqueda de lugares y el componente 116 de mapeo para posibilitar a un servicio de búsqueda de lugares la identificación de lugar candidato y predicción de lugar. En un ejemplo, una vez que el servicio de búsqueda de lugares predice lugares para que un usuario del dispositivo 112 de procesamiento de cliente haga un registro de entrada, los lugares previstos se transmiten al dispositivo 112 de procesamiento de cliente como se representa por la línea 113 de comunicación. La transmisión de datos de telemetría relacionados con los datos de validación activa asociados con un lugar puede transmitirse desde el dispositivo 112 de procesamiento mediante la línea 113 de comunicación.
La Figura 2 ilustra un método 200 ilustrativo para la implementación de servicios de búsqueda de lugares como se describe en el presente documento. Como un ejemplo, el método 200 puede ejecutarse por un sistema ilustrativo tal como el sistema 100 de la Figura 1A y el sistema 110 de la Figura 1B. En ejemplos, el método 200 puede ejecutarse en un dispositivo que comprende al menos un procesador configurado para almacenar y ejecutar operaciones, programas o instrucciones. Sin embargo, el método 200 no está limitado a tales ejemplos. En otros ejemplos, el método 200 puede realizarse en una aplicación o servicio que ejecuta una aplicación o servicio de búsqueda/predicción de lugares. Sin embargo, un experto en la materia reconocerá que las operaciones descritas en el método 200 pueden implementarse para otros propósitos que incluyen, pero sin limitación, identificar lugares similares, hacer recomendaciones específicas de lugar, proporcionar notificaciones y generar anuncios dirigidos relacionados con lugares, entre otros ejemplos.
El método 200 comienza en la operación 202 donde se genera al menos una estructura de mapeo que mapea identificadores inalámbricos a lugares. Estructuras de mapeo ilustrativas generadas asocian datos de exploración inalámbrica con datos de validación activa que corresponden con lugares particulares. En un ejemplo, la información de lugar puede almacenarse en una red como una o más estructuras de mapeo almacenadas en un almacenamiento (por ejemplo, dispositivo que tiene memoria, base de datos, etc.) y referenciarse para asociar datos de exploración inalámbrica con información de lugar. En un ejemplo, la generación de estructuras de mapeo tiene lugar a partir de una pluralidad de datos de exploración inalámbrica asociados con datos de validación activa para un lugar (por ejemplo, registros de entrada de lugar, datos de usuario y/o datos de cuenta, tales como contactos de red social, preferencias, datos históricos, etc.). En ejemplos, se recoge la pluralidad de datos de exploración inalámbrica de dispositivos de procesamiento y se recogen los datos de validación activa durante las operaciones de registro de entrada en una pluralidad de diferentes lugares. En otro ejemplo, una colección de información es tan robusta que se genera una o más estructuras de mapeo a partir de datos de exploración inalámbrica históricos recogidos de datos de validación activa (por ejemplo, registros de entrada de lugares). Se proporcionan ejemplos de identificadores inalámbricos en las porciones anteriores de la descripción detallada. En al menos un ejemplo, un identificador inalámbrico es una dirección de MAC asociada con una conexión inalámbrica. Por ejemplo, una estructura de mapeo generada puede mapear direcciones de MAC a lugares basándose en la evaluación de datos de validación activa asociados con lugares particulares. La información de la estructura de mapeo es accesible para mejorar identificación de lugar y predicción de lugar de una aplicación/servicio de búsqueda de lugares.
El flujo continúa a la operación 204 donde se recogen los datos de exploración inalámbrica desde un dispositivo de procesamiento. Los datos de exploración inalámbrica comprenden un identificador de una conexión inalámbrica, por ejemplo, una conexión inalámbrica (por ejemplo, un punto de acceso) que está asociada con un lugar. Como se ha identificado anteriormente, un identificador inalámbrico puede ser una dirección de MAC asociada con una conexión inalámbrica de un lugar. Se describen otros ejemplos de datos de exploración inalámbrica e identificadores de datos de exploración inalámbrica en detalle adicional en las porciones anteriores de la descripción detallada que incluyen la descripción de la Figura 1A. Las recogidas de datos de exploración inalámbrica tienen lugar por un dispositivo de procesamiento tal como el dispositivo 112 de procesamiento de cliente representado en la Figura 1B. En un ejemplo, la colección de los datos inalámbricos puede tener lugar de manera pasiva antes de que se inicie una solicitud de búsqueda de lugares por el dispositivo de procesamiento usando una aplicación de búsqueda de lugares o puede tener lugar en respuesta a una solicitud de búsqueda de lugares.
El flujo continúa a la operación 206 donde se identifican los lugares asociados con el identificador de los datos de exploración inalámbrica recogidos. Los lugares candidatos pueden identificarse cuando un usuario de una aplicación de búsqueda de lugares solicita una búsqueda de lugar para recuperar lugares, o, como alternativa, pueden identificarse automáticamente lugares candidatos por una aplicación/servicio de búsqueda de lugares durante la evaluación de datos de exploración inalámbrica recogidos. El método 200 utiliza la una o más estructuras de datos mapeadas para identificar lugares candidatos que pueden estar asociados con los datos de exploración inalámbrica recogidos. En un ejemplo, se identifican lugares alineando (por ejemplo, por el identificador inalámbrico) los datos de exploración inalámbrica con datos de validación activa (por ejemplo, datos de exploración inalámbrica asociados con el registro de entrada las operaciones en los lugares) usando una o más estructuras mapeadas (por ejemplo, según se generan en la operación 202). En un ejemplo, se alinea una dirección de MAC identificada desde los datos de exploración inalámbrica recogidos con información de dirección de MAC a partir de datos de validación activa que corresponden con un lugar identificado usando las estructuras mapeadas.
El flujo continúa a la operación 208 donde los lugares candidatos identificados se clasifican de acuerdo con la probabilidad de que el dispositivo de procesamiento esté ubicado en un lugar particular. La clasificación realizada en la operación 208 puede estar basada en la comparación de datos de exploración inalámbrica y los datos de validación activa de una pluralidad de lugares. En un ejemplo, se aplica el procesamiento de aprendizaje de máquina para clasificar lugares recuperados basándose en patrones identificados en datos de exploración inalámbrica. La operación 208 clasifica los lugares candidatos identificados aplicando al menos un proceso de aprendizaje de máquina para determinar la probabilidad de que el dispositivo de procesamiento esté ubicado en un lugar. Como un ejemplo, un proceso de aprendizaje de máquina asigna, para cada lugar, una probabilidad de que el lugar esté asociado con el identificador basándose en la evaluación de un identificador (por ejemplo, identificador inalámbrico) asociado con los datos de validación activa asociados con lugares particulares. En un ejemplo, un proceso de aprendizaje de máquina aplicado compara similitudes entre la intensidad de señal detectada para una conexión inalámbrica asociada con el identificador e intensidad de señal prevista para una conexión inalámbrica de un lugar. En otro ejemplo, se aplican al menos dos procesos de aprendizaje de máquina para clasificar los lugares candidatos identificados. Por ejemplo, un proceso de aprendizaje de máquina aplicado es un proceso de filtración que elimina uno o más lugares de un listado de lugares identificados basándose en la aplicación de uno o más procesos. Los procesos de aprendizaje de máquina pueden reentrenarse basándose en información adicional, como una o formas de información espacial (por ejemplo, recogida durante una exploración de un dispositivo de procesamiento) y datos de validación activa. Como un ejemplo, la validación activa puede comprender datos de usuario asociados con un perfil de usuario de una aplicación/servicio de búsqueda de lugares que opera en un dispositivo de procesamiento, donde más de un usuario puede estar asociado con la cuenta. Como un ejemplo, los datos de usuario pueden comprender adicionalmente señales sociales asociadas con un perfil de usuario que opera en el dispositivo de procesamiento tales como la información difundida a través de una red y amigos/contactos asociados con un usuario, entre otros ejemplos. Por ejemplo, la información que identifica que los amigos de un perfil de usuario están todos registrados en un lugar particular puede ser útil al identificar que un usuario desee registrarse en ese mismo lugar particular. En otro ejemplo, un historial de registro de entrada de lugar asociado con un perfil de usuario puede ser útil al identificar un lugar en el que un usuario está intentando hacer un registro de entrada, ya que los usuarios pueden frecuentar los mismos lugares o similares a lo largo del tiempo. La operación 208 puede incorporar tal información para reentrenar un proceso de aprendizaje de máquina y mejorar una capacidad de la aplicación de búsqueda de lugares ilustrativa para predecir un lugar para una operación de registro de entrada, como un ejemplo. En ejemplos alternativos, una aplicación de búsqueda de lugares puede utilizar datos de validación activa tales como datos de usuario para predecir un lugar para la notificación (por ejemplo, la indicación de que un dispositivo de procesamiento ha visitado un lugar). En un ejemplo, puede determinarse una puntuación de confianza de acuerdo con cómo de probable está ubicado un dispositivo de procesamiento en un lugar particular. Pueden usarse datos de validación activa tales como datos de usuario para reevaluar una puntuación de confianza para un lugar particular.
Una vez que se han identificado y clasificado los lugares, el flujo continúa a la operación 210 donde se predice un lugar en el que está ubicado el dispositivo de procesamiento basándose en la clasificación de los lugares identificados. Esto puede posibilitar que un usuario haga un registro de entrada en uno de los lugares enumerados o permite que el servicio de búsqueda de lugares use los datos de lugares para recomendar lugares similares o identificar lugares para anuncios dirigidos, y proporcionar notificaciones de lugar a un dispositivo de procesamiento, por ejemplo. En un ejemplo, puede presentarse un número de lugares de clasificación más altos a un usuario de los servicios de búsqueda de lugares. La salida de los lugares clasificados puede estar basada en el nivel de confianza asociado con la predicción de lugar que se aprende de la aplicación del procesamiento de aprendizaje de máquina. Una vez que se ha realizado una determinación con respecto a la predicción de lugar, el flujo continúa a la operación 212 donde se transmite a una notificación de una predicción de lugar a un dispositivo de procesamiento. La operación 212 puede comprender adicionalmente transmitir, a un dispositivo de procesamiento, una lista que comprende uno o más lugares basándose en la clasificación de los lugares identificados. En ejemplos, una notificación transmitida en la operación 212 puede comprender una solicitud para que un dispositivo de procesamiento haga un acuse de recibo de que se visite un lugar, o, como alternativa, un acuse de recibo de registro de entrada/visita automático para un lugar particular. Cuando un usuario selecciona un lugar del listado previsto (o, como alternativa, no selecciona un lugar de la lista prevista) o realiza un acuse de recibo de la corrección de una notificación asociada con un lugar, pueden transmitirse (operación 214) datos de telemetría con respecto a la corrección del lugar previsto de un dispositivo de procesamiento a la aplicación/servicio de búsqueda de lugares. En ejemplos, pueden recogerse los datos de telemetría en relación con una notificación enviada por una aplicación de búsqueda de lugares, por ejemplo, cuando pueden recogerse datos con respecto a si una notificación, tal como una predicción sobre un lugar visitado, era o no correcta basándose en un acuse de recibo activo o pasivo desde un dispositivo de procesamiento (por ejemplo, el usuario de un dispositivo de procesamiento). En ejemplos, el acuse de recibo positivo puede referirse a llevar a cabo una acción (por ejemplo, hacer clic en un botón, deslizar el dedo, publicar información, enviar señales sociales, etc.) para identificar la corrección de una predicción de lugar mientras que el acuse de recibo pasivo puede hacer referencia a cualquier otro tipo de acuse de recibo, tal como no llevar a cabo una acción para identificar que una predicción de lugar es incorrecta. En la operación 214, se recibe realimentación de la acción asociada con un perfil de usuario (que opera en un dispositivo de procesamiento). Como un ejemplo, puede verificarse el lugar previsto si ha de realizarse un registro de entrada en el lugar. En otros ejemplos, puede evaluarse un perfil de usuario para determinar si un usuario realiza acuse de recibo de una predicción de lugar como que es correcta y/u otras señales sociales tales como si un usuario recomienda un lugar. De otra manera, la realimentación negativa puede tomar la forma de un registro de inicio a un lugar diferente o un acuse de recibo de que una predicción de lugar es incorrecta. Tal información puede usarse también en la actualización/reentreno de los procesos/modelos de aprendizaje de máquina. Basándose en la realimentación recibida (operación 214), puede actualizarse una o más de las estructuras mapeadas. En otros ejemplos, la actualización de las estructuras mapeadas comprende crear nuevas estructuras de mapeo basándose en datos de realimentación/telemetría recibidos para mejorar la robustez de los datos disponibles para un sistema/servicio de búsqueda de lugares para hacer las predicciones de lugares.
La Figura 3 ilustra ejemplos de datos de exploración inalámbrica y datos de validación activa como se describe en el presente documento. La Figura 3 proporciona datos de ejemplo que pueden usarse para mejorar la predicción de lugar para un sistema y/o servicio de búsqueda de lugares. En la Figura 3, el bloque 302 (datos de exploración inalámbrica de ejemplo recogidos del dispositivo de procesamiento) representa datos de ejemplo que pueden recogerse desde un dispositivo de procesamiento. Los bloques 304 (registro de entrada de lugar de ejemplo N.° 10046) y el bloque 306 (intensidad de señal prevista en Brighton Beach food court) representan datos de validación activa de ejemplo que pueden mantenerse por un sistema/servicio de búsqueda de lugares para la identificación y predicción de lugares. Un experto en la materia reconocerá que los datos incluidos en los bloques 302-306 son ejemplos de datos que pueden asociarse con la presente divulgación, y los datos incluidos en los bloques 302-306 pueden variar en forma y/o presentación de acuerdo con la descripción de la presente divulgación.
El bloque 302 ilustra datos de exploración inalámbrica de ejemplo recogidos del dispositivo de procesamiento. Ejemplos de datos e identificadores de exploración inalámbrica y de datos de exploración inalámbrica se describen en detalle en las porciones de la descripción detallada anteriores que incluyen la descripción de la Figura 1A. Las recogidas de datos de exploración inalámbrica tienen lugar por un dispositivo de procesamiento tal como el dispositivo 112 de procesamiento de cliente representado en la Figura 1B. En un ejemplo, la colección de datos inalámbricos puede tener lugar de manera pasiva antes de que se inicie una solicitud de búsqueda de lugares por el dispositivo de procesamiento usando una aplicación de búsqueda de lugares. Los datos de exploración inalámbrica comprenden uno o más identificadores inalámbricos, ejemplos de los cuales incluyen, pero sin limitación: dirección de MAC, SSID, intensidad de señal, datos de baliza, datos de Bluetooth, etc., como se muestra en el bloque 302. Tales identificadores inalámbricos pueden usarse para hacer una referencia cruzada con datos gestionados por un sistema/servicio de búsqueda de lugares para la identificación y predicción de lugar.
Por ejemplo, puede usarse un identificador inalámbrico, tal como la dirección de MAC para identificar datos tales como una estructura mapeada (por ejemplo, índice) gestionada por un sistema/servicio de búsqueda de lugares. El bloque 304 indica una porción de datos que puede incluirse en una estructura mapeada (por ejemplo, mantenida en al menos un almacenamiento) de un sistema/servicio de búsqueda de lugares. Como un ejemplo, un identificador inalámbrico, tal como una dirección de MAC, "00-02-01-44-55-BC" (como se muestra en el bloque 302), puede usarse para identificar datos de validación activa que se refieren a un lugar particular asociado con una misma dirección de MAC. Por ejemplo, una búsqueda realizada de datos gestionados por un sistema/servicio de búsqueda de lugares puede producir datos similares al registro de entrada de lugar N.° 10046 mostrado en el bloque 304. Como puede observarse en el bloque 304, un lugar "Burger Joint" estaba asociado con la dirección de MAC "00-02-01-44-55-BC", la misma dirección de MAC identificada en una porción de datos de exploración inalámbrica recogidos desde un dispositivo de procesamiento (mostrado en el bloque 302). Por consiguiente, evaluar identificadores inalámbricos adicionales asociados con datos de exploración inalámbrica puede mejorar una probabilidad de que un sistema/servicio de búsqueda de lugares esté prediciendo de manera precisa un lugar. La clasificación (por ejemplo, probabilidad asignada) puede corresponder directamente con los identificadores inalámbricos evaluados. En algunos ejemplos, clasificar algoritmos aplicados proporciona un peso superior a un identificador inalámbrico sobre otor identificador inalámbrico ya que algunos identificadores inalámbricos pueden proporcionar mejor indicación de que un lugar está asociado con datos de exploración inalámbrica recogidos desde un dispositivo de procesamiento.
En otro ejemplo, se usa más de un identificador inalámbrico para identificar y predecir un lugar basándose en datos de exploración inalámbrica recogidos. Por ejemplo, pueden usarse los identificadores inalámbricos de SSID e intensidad de señal, entre otros identificadores inalámbricos de ejemplo, para asociar datos de exploración inalámbrica con un lugar. Como se muestra en el bloque 302, se detecta un SSID de "Burger Joint" y una intensidad de señal que indica una señal intensa. Como un ejemplo, los datos de validación activa gestionados por un sistema/servicio de búsqueda de lugares pueden incluir datos similares a los mostrados en el bloque 306, donde la intensidad de señal prevista para los SSID en una ubicación geográfica (por ejemplo, Brighton Beach) puede compararse con los datos de exploración inalámbrica recogidos en el bloque 302. Los datos de los datos de exploración inalámbrica, tales como las coordenadas geográficas, pueden usarse para identificar datos de validación activa de estructuras mapeadas de un sistema/servicio de búsqueda de lugares que se han generado para mejorar identificación de lugar y la predicción de datos de exploración inalámbrica. Cuando se comparan datos de exploración inalámbrica recogidos (bloque 302) con datos de intensidad de señal prevista (bloque 306) mantenidos por un sistema/servicio de búsqueda de lugares. Puede observarse que un SSID de "Burger Joint" y una intensidad de señal de "intensa" son indicadores de que hay una muy buena probabilidad de que un lugar llamado "Burger Joint" sea un candidato de predicción de lugar intenso. Por consiguiente, evaluar identificadores inalámbricos adicionales asociados con datos de exploración inalámbrica puede mejorar una probabilidad de que un sistema/servicio de búsqueda de lugares esté prediciendo de manera precisa un lugar. En un ejemplo, los algoritmos de clasificación aplicados para clasificar una probabilidad de que un dispositivo de procesamiento esté ubicado en un lugar particular pueden basar su clasificación de lugares (por ejemplo, probabilidad) basándose en una combinación de identificadores inalámbricos. En algunos ejemplos, clasificar algoritmos puede agrupar de manera inteligente identificadores inalámbricos cuando se evalúan datos de exploración inalámbrica en comparación con datos gestionados por un sistema/servicio de búsqueda de lugares. En ejemplos, puede usarse el análisis adicional para identificar qué puntos de acceso inalámbricos y dispositivos Bluetooth son no estacionarios y por lo tanto deben descartarse para los fines de geolocalización.
La Figura 4 y el análisis adicional en la presente memoria descriptiva se pretenden que proporcionen una descripción general breve de un entorno informático adecuado en el que puede implementarse la presente invención y/o porciones de la misma. Aunque no se requiere, las realizaciones descritas en el presente documento pueden implementarse como instrucciones ejecutables por ordenador, tales como por módulos de programa, que se ejecutan por un ordenador, tal como una estación de trabajo de cliente o un servidor. En general, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos y similares que realizan tareas particulares o implementan tipos de datos abstractos particulares. Además, debería apreciarse que la invención y/o porciones de la misma pueden ponerse en práctica con otras configuraciones del sistema informático, que incluyen dispositivos portátiles, sistemas multiprocesador, electrónica de consumo basada en microprocesador o programable, PC de red, miniordenadores, ordenadores centrales y similares. La invención también se puede poner en práctica en entornos informáticos distribuidos donde las tareas son realizadas por dispositivos de procesamiento remoto que están vinculados a través de una red de comunicaciones. En un entorno informático distribuido, los módulos de programa pueden ubicarse tanto en dispositivos de almacenamiento de memoria local como remotos.
La Figura 4 ilustra un ejemplo de un entorno 400 informático adecuado en el que pueden implementase una o más de las presentes realizaciones. Esto es únicamente un ejemplo de un entorno informático adecuado y no se pretende sugerir ninguna limitación en cuanto al alcance de uso o funcionalidad. Otros sistemas informáticos, entornos y/o configuraciones bien conocidos que pueden ser adecuados para su uso incluyen, pero sin limitación, ordenadores personales, ordenadores de servidor, dispositivos de mano o portátiles, sistemas multiprocesador, sistemas basados en microprocesadores, electrónica de consumo programable tal como teléfonos inteligentes, PC de red, miniordenadores, ordenadores centrales, entornos informáticos distribuidos que incluyen cualquiera de los sistemas o dispositivos anteriores y similares.
En su configuración más básica, el entorno 400 de operación típicamente incluye al menos una unidad 402 de procesamiento y la memoria 404. Dependiendo de la configuración exacta y el tipo de dispositivo informático, la memoria 404 (que almacena, entre otras cosas, el módulo o módulos de aplicaciones basadas en lugares, por ejemplo, aplicaciones de registro de entrada de lugares, aplicaciones de búsqueda de lugares, aplicaciones de geocodificación/geocodificación inversa, API, programas, etc. y/u otros componentes o instrucciones para implementar o realizar los sistemas y métodos desvelados en el presente documento, etc.) pueden ser volátiles (tales como la RAM), no volátiles (tales como ROM, memoria flash, etc.), o alguna combinación de los dos. Esta configuración más básica se ilustra en la Figura 4 mediante la línea discontinua 406. Además, el entorno 400 puede incluir también dispositivos de almacenamiento (extraíbles, 408, y/o no extraíbles, 410) que incluyen, pero sin limitación, discos o cinta magnéticos u ópticos. De manera similar, el entorno 400 puede tener también el dispositivo o dispositivos 414 de entrada tales como el teclado, ratón, lápiz, entrada de voz, etc. y/o el dispositivo o dispositivos 416 de salida tal como una pantalla, altavoces, impresora, etc. También pueden estar incluidos en el entorno una o más conexiones de configuración, 412, tal como LAN, WAN, punto a punto, etc.
El entorno 400 de operación típicamente incluye al menos alguna forma de medio legible por ordenador. Medio legible por ordenador puede ser cualquier medio disponible que puede accederse por la unidad 402 de procesamiento u otros dispositivos que comprenden el entorno de operación. A modo de ejemplo, y no como limitación, medio legible por ordenador puede comprender medio de almacenamiento informático y medios de comunicación. Medio de almacenamiento informático incluye memoria extraíble y no extraíble volátil y no volátil implementada en cualquier método o tecnología para almacenamiento de información, tal como instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos. Medio de almacenamiento informático incluye, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento óptico, cintas magnéticas, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético o cualquier otro medio no transitorio que pueda usarse para almacenar la información deseada. Medio de almacenamiento informático no incluye medios de comunicación.
Medios de comunicación incorporan instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluyen cualquier medio de entrega de información. El término "señal de datos modulados" significa una señal que tiene una o más de sus características establecidas o modificadas de tal manera que codifican información en la señal. A modo de ejemplo, y no como limitación, medios de comunicación incluyen medios alámbricos tales como una red alámbrica o conexión alámbrica directa y medios inalámbricos tales como acústicos, de RF, de infrarrojos y otros medios inalámbricos. Las combinaciones de cualquiera de los anteriores también deben incluirse dentro del alcance de los medios legibles por ordenador.
El entorno 400 de operación puede ser un único ordenador que opera en un entorno en red usando conexiones lógicas a uno o más ordenadores remotos. El ordenador remoto puede ser un ordenador personal, un servidor, un encaminador, un PC de red, un dispositivo de pares u otro nodo de red común, y típicamente incluye muchos o todos los elementos anteriormente descritos, así como otros así mencionados. Las conexiones lógicas pueden incluir cualquier método soportado por medios de comunicaciones disponibles. Tales entornos de red son habituales en oficinas, redes informáticas a nivel empresarial, intranets e Internet.
Los diferentes aspectos descritos en el presente documento pueden emplearse usando software, hardware o una combinación de software y hardware para implementar y realizar los sistemas y métodos desvelados en el presente documento. Aunque se han indicado dispositivos específicos a través de toda la divulgación como que realizan funciones específicas, un experto en la materia apreciará que estos dispositivos se proporcionan para fines de ilustración, y que pueden emplearse otros dispositivos para realizar la funcionalidad develada en el presente documento sin alejarse del alcance de la divulgación.
Como se ha indicado anteriormente, un número de módulos de programa y archivos de datos pueden almacenarse en la memoria de sistema 404. Aunque se ejecutan en la unidad 402 de procesamiento, los módulos 408 de programa (por ejemplo, aplicaciones, gestión de entrada/salida (E/S) y otras utilidades) pueden realizar procesos que incluyen, pero sin limitación, una o más de las etapas de los métodos operacionales descritos en el presente documento tales como el método 200 ilustrado en la Figura 2, por ejemplo.
Adicionalmente, pueden ponerse en práctica ejemplos de la invención en un circuito eléctrico que comprende elementos electrónicos discretos, chips electrónicos empaquetados o integrados que contienen puertas lógicas, un circuito que utiliza un microprocesador o en un único chip que contiene elementos electrónicos o microprocesadores. Por ejemplo, pueden ponerse en práctica ejemplos de la invención a través de un sistema en un chip (SOC) en el que cada uno o muchos de los componentes ilustrados en la Figura 4 puede integrarse en un único circuito integrado. Un dispositivo de SOC de este tipo puede incluir una o más unidades de procesamiento, unidades gráficas, unidades de comunicaciones, unidades de virtualización de sistema y diversa funcionalidad de aplicación todas las cuales se integran (o "graban") en el sustrato de chip como un único circuito integrado. Cuando se opera mediante un SOC, la funcionalidad descrita en el presente documento puede operarse mediante lógica específica de la aplicación integrada con otros componentes del entorno 400 de operación en el único circuito (chip) integrado. Pueden ponerse también en práctica ejemplos de la presente divulgación usando otras tecnologías que pueden realizar operaciones lógicas tales como, por ejemplo, AND, OR y NOT, incluyendo, pero sin limitación, tecnologías mecánicas, ópticas, fluídicas y cuánticas. Además, pueden ponerse en práctica ejemplos de la invención dentro de un ordenador de propósito general o en cualesquiera otros circuitos o sistemas.
Esta divulgación describe algunos aspectos de la presente tecnología con referencia a los dibujos adjuntos, en los que únicamente se muestran algunas de las posibles realizaciones. Sin embargo, pueden realizarse otros aspectos en muchas formas diferentes y no deben interpretarse como que están limitados a las realizaciones expuestas en el presente documento. En su lugar, estos aspectos se proporcionan de modo que esta divulgación fuera minuciosa y completa y transportara completamente el alcance de las posibles realizaciones a los expertos en la materia.
Aunque se describieron aspectos específicos en el presente documento, el alcance de la tecnología no está limitado a estas realizaciones específicas. Un experto en la materia reconocerá otras realizaciones o mejoras que están dentro del alcance de la presente tecnología. Por lo tanto, la estructura específica, actos o medios se desvelan únicamente como realizaciones ilustrativas. El alcance de la tecnología se define por las siguientes reivindicaciones.

Claims (13)

REIVINDICACIONES
1. Un método implementado por ordenador para realizarse por un sistema de búsqueda de lugares, que comprende: recibir (204) datos de exploración inalámbrica desde un dispositivo de procesamiento, comprendiendo los datos de exploración inalámbrica un primer identificador de una conexión inalámbrica;
identificar (206) una pluralidad de lugares asociados con el primer identificador de los datos de exploración inalámbrica recogidos de un índice de mapeo de identificadores inalámbricos a lugares, donde el índice de mapeo se genera a partir de datos de exploración inalámbrica recogidos de un conjunto de dispositivos y datos de validación activa recogidos durante visitas a uno o más lugares, donde el índice de mapeo asocia los datos de exploración inalámbrica con uno o más lugares;
clasificar (208) la pluralidad de lugares de acuerdo con una probabilidad de que el dispositivo de procesamiento esté ubicado en un lugar particular basándose en la evaluación de al menos una de las señales espaciales recogidas del dispositivo de procesamiento y datos de usuario asociados con un perfil de usuario del dispositivo de procesamiento, donde las señales espaciales incluyen información de ubicación de un punto de acceso inalámbrico con relación al dispositivo de procesamiento; y
determinar (210) un lugar previsto en el que está ubicado el dispositivo de procesamiento basándose en la clasificación de la pluralidad de lugares.
2. El método implementado por ordenador de acuerdo con la reivindicación 1, donde los datos de exploración inalámbrica comprenden una pluralidad de identificadores inalámbricos, y el identificador inalámbrico es al menos uno de una dirección de MAC, datos de baliza y datos de Bluetooth.
3. El método implementado por ordenador de acuerdo con la reivindicación 1, donde la clasificación comprende adicionalmente aplicar un primer modelo de aprendizaje de máquina para determinar la probabilidad de que el dispositivo de procesamiento esté ubicado en el lugar previsto, donde el primer modelo de aprendizaje de máquina asigna una probabilidad a al menos un primer lugar de la pluralidad de lugares de que el primer lugar está asociado con el primer identificador basándose en la evaluación de un segundo identificador asociado con los datos de validación activa acumulados de visitas anteriores en el primer lugar; y/o
donde la clasificación comprende adicionalmente aplicar al menos un segundo proceso de aprendizaje de máquina para determinar la probabilidad de que el dispositivo de procesamiento esté ubicado en el lugar, el segundo proceso de aprendizaje de máquina es un proceso de filtración que elimina uno o más lugares de la pluralidad de lugares basándose en la aplicación de uno o más procesos de filtro.
4. El método implementado por ordenador de acuerdo con la reivindicación 1, que comprende adicionalmente transmitir (212) una notificación que incluye el lugar previsto al dispositivo de procesamiento, donde la notificación indica que el dispositivo de procesamiento está ubicado en el lugar previsto.
5. El método implementado por ordenador de acuerdo con la reivindicación 1, donde la clasificación comprende adicionalmente aplicar un modelo de aprendizaje de máquina para determinar la probabilidad de que el dispositivo de procesamiento esté ubicado en el lugar previsto, comparando el modelo de aprendizaje de máquina similitudes entre la intensidad de señal detectada para una conexión inalámbrica asociada con el primer identificador y una intensidad de señal prevista.
6. El método implementado por ordenador de acuerdo con la reivindicación 1, que comprende adicionalmente generar el mapeo de una pluralidad de datos de exploración inalámbrica recogidos de los dispositivos y una pluralidad de datos de validación activa recogidos durante visitas a una pluralidad de lugares, donde el mapeo asocia datos de exploración inalámbrica con lugares que corresponden a un usuario en una visita a un lugar.
7. El método implementado por ordenador de acuerdo con la reivindicación 1, donde determinar el lugar previsto comprende adicionalmente:
transmitir, al dispositivo de procesamiento, una lista que comprende uno o más lugares basándose en la clasificación de la pluralidad de lugares; o
recibir datos de telemetría con respecto a la corrección del lugar previsto, y actualizar el mapeo basándose en los datos de telemetría recibidos.
8. Un sistema de búsqueda de lugares que comprende:
una memoria; y
al menos un procesador conectado con la memoria, configurado para ejecutar operaciones que comprenden: recibir (204) datos de exploración inalámbrica de un dispositivo de procesamiento, comprendiendo los datos de exploración inalámbrica una pluralidad de direcciones de MAC,
identificar (206) lugares asociados con las direcciones de MAC de los datos de exploración inalámbrica recogidos de un índice de mapeo de direcciones de MAC a lugares, donde el índice de mapeo se genera a partir de datos de exploración inalámbrica recogidos de un conjunto de dispositivos y datos de validación activa recogidos durante visitas a uno o más lugares, donde el índice de mapeo asocia los datos de exploración inalámbrica con uno o más lugares, clasificar (208) la pluralidad de lugares de acuerdo con una probabilidad de que el dispositivo de procesamiento esté ubicado en un lugar particular basándose en la evaluación de al menos una de las señales espaciales recogidas del dispositivo de procesamiento y datos de usuario asociados con un perfil de usuario del dispositivo de procesamiento, donde las señales espaciales incluyen información de ubicación de un punto de acceso inalámbrico con relación al dispositivo de procesamiento, y
determinar (210) un lugar previsto en el que está ubicado el dispositivo de procesamiento basándose en la clasificación de la pluralidad de lugares.
9. El sistema de búsqueda de lugares de acuerdo con la reivindicación 8, donde la clasificación ejecutada por el procesador comprende adicionalmente aplicar un primer modelo de aprendizaje de máquina para determinar la probabilidad de que el dispositivo de procesamiento esté ubicado en el lugar previsto, donde el primer modelo de aprendizaje de máquina asigna una probabilidad a al menos un primer lugar de la pluralidad de lugares de que el primer lugar está asociado con una dirección de MAC basándose en la evaluación de una segunda dirección de MAC asociada con los datos de validación activa acumulados para visitas anteriores en el primer lugar; y/o
donde la clasificación comprende adicionalmente aplicar al menos un segundo modelo de aprendizaje de máquina para determinar la probabilidad de que el dispositivo de procesamiento esté ubicado en el lugar previsto, y donde el segundo modelo de aprendizaje de máquina es un proceso de filtración que elimina uno o más lugares de la pluralidad de lugares basándose en la aplicación de uno o más procesos de filtración.
10. El sistema de búsqueda de lugares de acuerdo con la reivindicación 8, donde las operaciones ejecutadas por el procesador comprenden adicionalmente:
transmitir (212) una notificación que incluye el lugar previsto al dispositivo de procesamiento, donde la notificación indica que el dispositivo de procesamiento está ubicado en el lugar previsto; o
generar (202) el mapeo de una pluralidad de piezas de datos de exploración inalámbrica recogidos de los dispositivos y una pluralidad de datos de validación activa recogidos durante las visitas a una pluralidad de lugares, donde el mapeo asocia datos de exploración inalámbrica con lugares que corresponden a un dispositivo de procesamiento en un momento de una visita a un lugar.
11. El sistema de búsqueda de lugares de acuerdo con la reivindicación 8, donde la clasificación ejecutada por el procesador comprende adicionalmente aplicar un modelo de aprendizaje de máquina para determinar la probabilidad de que el dispositivo de procesamiento esté ubicado en el lugar previsto, comparando el modelo de aprendizaje de máquina similitudes entre la intensidad de señal detectada para una conexión inalámbrica asociada con una dirección de MAC y una intensidad de señal prevista para una conexión inalámbrica de un lugar.
12. El sistema de búsqueda de lugares de acuerdo con la reivindicación 8, donde la determinación (210) del lugar previsto ejecutada por el procesador comprende adicionalmente:
transmitir, al dispositivo de procesamiento, una lista que comprende uno o más lugares basándose en la clasificación de la pluralidad de lugares; o
recibir datos de telemetría con respecto a la corrección del lugar previsto, y actualizar (214) el mapeo basándose en los datos de telemetría recibidos.
13. Un dispositivo de almacenamiento legible por ordenador que incluye instrucciones ejecutables, que cuando se ejecutan en al menos un procesador de un sistema de búsqueda de lugares, hacen que el procesador realice el método implementado por ordenador de acuerdo con cualquiera de las reivindicaciones 1 a 7.
ES16716139T 2015-03-31 2016-03-31 Identificación de lugares a partir de datos de exploración inalámbrica Active ES2882569T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/674,288 US9860704B2 (en) 2015-03-31 2015-03-31 Venue identification from wireless scan data
PCT/US2016/025268 WO2016161117A1 (en) 2015-03-31 2016-03-31 Venue identification from wireless scan data

Publications (1)

Publication Number Publication Date
ES2882569T3 true ES2882569T3 (es) 2021-12-02

Family

ID=55750491

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16716139T Active ES2882569T3 (es) 2015-03-31 2016-03-31 Identificación de lugares a partir de datos de exploración inalámbrica

Country Status (6)

Country Link
US (1) US9860704B2 (es)
EP (1) EP3278240B1 (es)
ES (1) ES2882569T3 (es)
HK (1) HK1251849A1 (es)
MA (1) MA42011A (es)
WO (1) WO2016161117A1 (es)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268578B2 (en) 2010-11-05 2016-02-23 Mark Cummings Integrated circuit design and operation for determining a mutually compatible set of configuration for cores using agents associated with each core to achieve an application-related objective
US20130060636A1 (en) * 2011-03-04 2013-03-07 Tristan Walker System and method for managing and redeeming offers with a location-based service
US10320913B2 (en) 2014-12-05 2019-06-11 Microsoft Technology Licensing, Llc Service content tailored to out of routine events
US10135937B2 (en) 2015-02-19 2018-11-20 Microsoft Technology Licensing, Llc Personalized notifications
US9554356B2 (en) 2015-02-19 2017-01-24 Microsoft Technology Licensing, Llc Personalized reminders
US10185973B2 (en) * 2015-04-07 2019-01-22 Microsoft Technology Licensing, Llc Inferring venue visits using semantic information
CN105898835B (zh) * 2015-08-03 2017-07-14 上海连尚网络科技有限公司 生成无线接入点的接入点属性信息的方法与设备
SG10201507795SA (en) * 2015-09-18 2017-04-27 Mastercard International Inc Transaction based check-in to recommendation providing social media platforms
US9860685B1 (en) * 2016-06-29 2018-01-02 Cisco Technology, Inc. Presence indicator signal
US11481690B2 (en) 2016-09-16 2022-10-25 Foursquare Labs, Inc. Venue detection
CN110679162B (zh) * 2017-04-11 2021-01-12 谷歌有限责任公司 经由服务位置的热点识别用户
US10794986B2 (en) 2017-06-02 2020-10-06 Apple Inc. Extending a radio map
US10979854B2 (en) * 2017-06-02 2021-04-13 Apple Inc. Extending a radio map
US10306547B2 (en) * 2017-06-28 2019-05-28 Microsoft Technology Licensing, Llc Intelligent access point scanning based on a profile
US20190138645A1 (en) * 2017-11-07 2019-05-09 Microsoft Technology Licensing, Llc Automated document assistant with top skills
US20190138637A1 (en) * 2017-11-07 2019-05-09 Microsoft Technology Licensing, Llc Automated document assistant using quality examples
KR20190100786A (ko) 2018-02-21 2019-08-29 삼성전자주식회사 결제 정보에 기반한 지오펜싱 방법 및 이를 위한 장치
CN108419206A (zh) * 2018-02-28 2018-08-17 北京邮电大学 一种目标搜寻系统及方法
US11582576B2 (en) 2018-06-01 2023-02-14 Apple Inc. Feature-based slam
US11477667B2 (en) 2018-06-14 2022-10-18 Mark Cummings Using orchestrators for false positive detection and root cause analysis
US10924560B2 (en) * 2018-07-30 2021-02-16 Facebook, Inc. Determining geographic locations of network devices
US11436293B2 (en) * 2019-02-21 2022-09-06 Microsoft Technology Licensing, Llc Characterizing a place by features of a user visit
US11265286B2 (en) * 2019-04-24 2022-03-01 Cisco Technology, Inc. Tracking of devices across MAC address updates
KR20200144843A (ko) 2019-06-19 2020-12-30 삼성전자주식회사 가변적 지오펜싱 방법 및 이를 위한 장치
US10791421B1 (en) * 2019-09-03 2020-09-29 Cox Communications, Inc. Hyper-localization based edge-converged telemetry
RU2762779C2 (ru) * 2019-11-06 2021-12-22 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для определения события посещения места пользователем
US20220141619A1 (en) * 2020-10-29 2022-05-05 Cognosos, Inc. Method and system for locating objects within a master space using machine learning on rf radiolocation
US11381962B1 (en) 2021-02-01 2022-07-05 Adentro, Inc. Integration of content distribution systems with device detection systems in physical venues
US20220248166A1 (en) * 2021-02-01 2022-08-04 Zenreach, Inc. Machine-learning model for detecting a device within a venue
CN115119210A (zh) * 2021-03-19 2022-09-27 华为技术有限公司 确定电子设备是否需要重新认证的方法和电子设备
US12051054B2 (en) * 2021-07-08 2024-07-30 Zenreach, Inc. Machine learning model for combining device presence data with physical venue transaction data
CN115115944B (zh) * 2022-06-23 2024-01-09 北京百度网讯科技有限公司 地图数据查验方法、装置、电子设备和介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112100B2 (en) * 2006-05-12 2012-02-07 At&T Intellectual Property I, L.P. Location-based status checking
US8775420B2 (en) * 2007-10-31 2014-07-08 Yahoo! Inc. Text display of geo-referenced information based on relative distance to a user location
US20090307263A1 (en) * 2008-06-06 2009-12-10 Sense Networks, Inc. System And Method Of Performing Location Analytics
US8504073B2 (en) * 2008-08-12 2013-08-06 Teaneck Enterprises, Llc Customized content delivery through the use of arbitrary geographic shapes
US8180369B1 (en) * 2009-02-20 2012-05-15 Babak Sheikh Facilty-based interpersonal communication and interactive information system
US8150844B2 (en) * 2010-08-18 2012-04-03 Facebook, Inc. Location ranking using social graph information
US8599758B1 (en) 2011-04-20 2013-12-03 Google Inc. Indoor localization of mobile devices
US9047316B2 (en) * 2012-06-04 2015-06-02 Yellowpages.Com Llc Venue prediction based on ranking
US9301098B2 (en) * 2012-07-26 2016-03-29 Aruba Networks, Inc. Location detection in wireless communication networks
US8489596B1 (en) 2013-01-04 2013-07-16 PlaceIQ, Inc. Apparatus and method for profiling users

Also Published As

Publication number Publication date
US9860704B2 (en) 2018-01-02
EP3278240B1 (en) 2021-07-21
US20160295372A1 (en) 2016-10-06
HK1251849A1 (zh) 2019-04-18
EP3278240A1 (en) 2018-02-07
MA42011A (fr) 2018-02-07
WO2016161117A1 (en) 2016-10-06

Similar Documents

Publication Publication Date Title
ES2882569T3 (es) Identificación de lugares a partir de datos de exploración inalámbrica
Narain et al. Inferring user routes and locations using zero-permission mobile sensors
Radu et al. A semi-supervised learning approach for robust indoor-outdoor detection with smartphones
CN107076561B (zh) 在位置确定期间考虑室内-室外过渡
Yu et al. Geo-friends recommendation in gps-based cyber-physical social network
Do et al. The places of our lives: Visiting patterns and automatic labeling from longitudinal smartphone data
JP6462896B2 (ja) 特定のコンテキストについてのユーザニーズの予測
WO2016196435A2 (en) Segmentation techniques for learning user patterns to suggest applications responsive to an event on a device
JP2017130182A (ja) 画像を施設に対して関連付けるシステム、方法、プログラム及び装置
US20130184007A1 (en) Methods and apparatuses for context determination
JP2013250861A (ja) 情報処理装置、情報処理方法、及びプログラム
US10571279B2 (en) Object and location tracking with a graph-of-graphs
US11604968B2 (en) Prediction of next place visits on online social networks
ES2892198T3 (es) Geoubicación de individuos con base en una red social derivada
US20170124465A1 (en) Analysis and prediction from venue data
JP2013250862A (ja) 情報処理装置、情報処理方法、及びプログラム
Elhamshary et al. A fine-grained indoor location-based social network
US20220374484A1 (en) Graph learning and automated behavior coordination platform
JP6796190B2 (ja) データ共有判断装置
US10129705B1 (en) Location prediction using wireless signals on online social networks
Hang et al. Platys: User-centric place recognition
Zhao et al. Personalized sequential check-in prediction: Beyond geographical and temporal contexts
Bok et al. A Social Search Scheme Considering User Preferences and Popularities in Mobile Environments
JP2016035679A (ja) Poiデータ生成装置、端末装置、poiデータ生成方法およびプログラム
ES2933179T3 (es) Sistema y método para comunicar información en un sistema basado en la ubicación