MX2015006040A - Modelo de gramatica para consultas de busqueda estructuradas. - Google Patents

Modelo de gramatica para consultas de busqueda estructuradas.

Info

Publication number
MX2015006040A
MX2015006040A MX2015006040A MX2015006040A MX2015006040A MX 2015006040 A MX2015006040 A MX 2015006040A MX 2015006040 A MX2015006040 A MX 2015006040A MX 2015006040 A MX2015006040 A MX 2015006040A MX 2015006040 A MX2015006040 A MX 2015006040A
Authority
MX
Mexico
Prior art keywords
identified
nodes
user
grammar
query
Prior art date
Application number
MX2015006040A
Other languages
English (en)
Other versions
MX342073B (es
Inventor
Yofay Kari Lee
Michael Benjamin Cohen
Maxime Boucher
Xiao Li
Lars Eilstrup Rasmussen
Alisson Gusatti Azzolini
Kathyn Hymes
Amy Campbell
Original Assignee
Facebook 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 Facebook Inc filed Critical Facebook Inc
Publication of MX2015006040A publication Critical patent/MX2015006040A/es
Publication of MX342073B publication Critical patent/MX342073B/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • 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/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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/9535Search customisation based on user profiles and personalisation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

En una modalidad, un método incluye acceder a una gráfica social que incluye una pluralidad de nodos y bordes, recibir una consulta de texto no estructurada, identificar nodos y bordes que corresponden a n-gramas de la consulta de texto, acceder a un modelo de gramática independiente, identificar gramáticas que tienen señales de consulta que corresponden a los nodos y bordes identificados, determinar una calificación para cada gramática identificada, y luego generar consultas estructuradas basándose en las gramáticas identificadas basándose en secuencias generadas por las gramáticas.

Description

MODELO DE GRAMATICA PARA CONSULTAS DE BUSQUEDA ESTRUCTURADAS CAMPO TECNICO Esta descripción en general se refiere a gráficas sociales y a la realización de búsquedas para objetos dentro de un ambiente de redes sociales.
ANTECEDENTES Un sistema de redes sociales, el cual incluye un sitio web de redes sociales, puede capacitar a sus usuarios (tales como personas u organizaciones) a interactuar con ellos y entre sí a través del mismo. El sistema de redes sociales puede, con la entrada de un usuario, crear y almacenar en el sistema de redes sociales un perfil de usuario asociado con el usuario. El perfil de usuario puede incluir información demográfica, información de canal de comunicación, e información sobre intereses personales del usuario. El sistema de redes sociales también puede, con la entrada de un usuario, crear y almacenar un registro de relaciones del usuario con otros usuarios del sistema de redes sociales, asi como proporcionar servicios (por ejemplo, publicaciones de muro, compartición de fotos, organización de eventos, mensajería, juegos, o anuncios) para facilitar la interacción social en los o entre los usuarios.
El sistema de redes sociales puede transmitir, a través de una o más redes, contenido o mensajes relacionados con sus servicios a un dispositivo móvil u otro dispositivo de cómputo de un usuario. Un usuario también puede instalar aplicaciones de software en un dispositivo móvil u otro dispositivo de cómputo del usuario para acceder a un perfil de usuario del usuario y otros datos dentro del sistema de redes sociales. El sistema de redes sociales puede generar un conjunto personalizado de objetos de contenido para presentar al usuario, tales como un suministro de noticias de historias agregadas de otros usuarios conectados al usuario.
El análisis de gráfica social ve las relaciones sociales en términos de teoría de red que consiste de nodos y bordes. Los nodos representan los actores individuales dentro de las redes, y los bordes representan las relaciones entre actores. Las estructuras basadas en gráfica resultantes por lo regular son muy complejas. Puede haber muchos tipos de nodos y muchos tipos de bordes para conectar nodos. En su forma más simple, una gráfica social es un mapa de todos los bordes relevantes entre todos los nodos que se están estudiando.
BREVE DESCRIPCION DE MODALI DADES PARTICULARES En modalidades particulares, en respuesta a una consulta de texto recibida de un usuario, un sistema de redes sociales puede generar consultas estructuradas que comprenden señales de consulta que corresponden con elementos de gráfica social identificados. Al proporcionar consultas estructuradas sugeridas en respuesta a una consulta de texto del usuario, el sistema de redes sociales puede proporcionar una forma poderosa para los usuarios en una red social en línea para buscar elementos representados en una gráfica social basada en sus atributos de gráfica social y su relación con varios elementos de gráfica social.
En modalidades particulares, el sistema de redes sociales puede recibir una consulta de texto substancialmente no estructurada de un usuario. En respuesta, el sistema de redes sociales puede acceder a una gráfica social y después analizar la consulta de texto para identificar elementos de gráfica social que correspondieron a n-gramas de la consulta de texto. El sistema de redes sociales puede identificar estos elementos de gráfica social correspondientes al determinar una probabilidad para cada n-grama que corresponde a un elemento de gráfica social particular. El sistema de redes sociales después puede acceder a un modelo de gramática, tal como un modelo de gramática independiente. Los elementos de gráfica social identificados pueden ser utilizados como señales terminales (“señales de consulta”) en las gramáticas del modelo de gramática, y cada gramática entonces puede ser calificada. Las gramáticas con una clasificación más alta que una calificación de umbral pueden ser utilizadas para generar consultas estructuradas que incluyen señales de consulta que hacen referencia a los elementos de gráfica social identificados. Las consultas estructuradas entonces pueden ser transmitidas y presentadas al usuario, en donde el usuario entonces puede seleccionar una consulta apropiada para buscar el contenido deseado.
BREVE DESCRIPCION DE LOS DIBUJOS La Figura 1 muestra un ambiente de red ilustrativo asociado con un sistema de redes sociales.
La Figura 2 muestra una gráfica social ilustrativa.
La Figura 3 muestra una página web ilustrativa de una red social en línea.
Las Figuras 4A-4B muestran consultas ilustrativas de la red social.
La Figura 5 muestra un método ilustrativo para utilizar un modelo de gramática independiente para generar consultas de búsqueda estructuradas.
La Figura 6 muestra un sistema de computadora ilustrativo.
DESCRIPCION DE MODALIDADES ILUSTRATIVAS Vista General del Sistema La Figura 1 muestra un ambiente de red 100 ilustrativo asociado con un sistema de redes sociales. El ambiente de red 100 incluye un sistema de cliente 130, un sistema de redes sociales 160, y un sistema de tercera parte 170 conectados entre sí a través de una red 1 10. Aunque la Figura 1 muestra una disposición particular de sistema de cliente 130, sistema de redes sociales 160, sistema de tercera parte 170, y red 1 10, esta descripción contempla cualquier disposición adecuada del sistema de cliente 130, sistema de redes sociales 160, sistema de tercera parte 170, y red 1 10. Como un ejemplo y no a manera de limitación, dos o más del sistema de cliente 130, sistema de redes sociales 160, y sistema de tercera parte 170 pueden ser conectados entre sí directamente, derivando la red 1 10. Como otro ejemplo, dos o más del sistema de cliente 130, sistema de redes sociales 160, y sistema de tercera parte 170 pueden ser física o lógicamente co-ubicados entre sí como un todo o en parte. Además, aunque la Figura 1 muestra un número particular de sistemas de cliente 130, sistemas de redes sociales 160, sistemas de tercera parte 170, y redes 1 10, esta descripción contempla cualquier número adecuado de sistemas de cliente 130, sistemas de redes sociales 160, sistemas de tercera parte 170, y redes 1 10. Como un ejemplo y no a manera de limitación, el ambiente de red 100 puede incluir múltiples sistemas de cliente 130, sistemas de redes sociales 160, sistemas de tercera parte 170, y redes 1 10.
Esta descripción contempla cualquier red 1 10 adecuada. Como un ejemplo y no a manera de limitación, una o más porciones de la red 1 10 puede incluir una red ad hoc, una intranet, una extranet, una red privada virtual (VPN , según siglas en inglés), una red de área local (LAN, según siglas en inglés), una red inalámbrica (LAN, según siglas en inglés), red de área ancha (WAN, según siglas en inglés), una WAN inalámbrica (WWAN, según siglas en inglés), una red de área metropolitana (MAN, según siglas en inglés), una porción del Internet, una porción de la Red de Telefonía Conmutada Pública (PSTN , según siglas en inglés), una red de teléfono celular, o una combinación de dos o más de éstas. La red 1 10 puede incluir una o más redes 1 10.
Los enlaces 150 pueden conectar el sistema de cliente 130, sistema de redes sociales 160, y sistema de tercera parte 170 para comunicación con la red 1 10 o entre sí. Esta descripción contempla cualquier enlace 150 adecuado. En modalidades particulares, uno o más enlaces 150 incluyen uno o más enlaces de línea de cable (tal como, por ejemplo, Línea de suscriptor Digital (DSL, según siglas en inglés)), o Datos a través de Especificación de I nterfase de Servicio por Cable (DOCSIS)), inalámbricos (tales como, por ejemplo, Wi-Fi o Inter-operabilidad Mundial para Acceso de Microonda (WiMAX)), u ópticos (tales como, por ejemplo, Red Optica Sincrónica (SONET) o de Jerarquía Digital Sincrónica (SDH)). En modalidades particulares, uno o más enlaces 150 cada uno incluye una red ad hoc, intranet, extranet, una VPN , una LAN, una WLAN, una WAN, una MAN , una porción del I nternet, una porción de la PSTN , una red basada en teenolog ía celular, una red basada en tecnolog ía de comunicaciones satelitales, otro enlace 150, o una combinación de dos o más de dichos enlaces 150. Los enlaces 150 necesariamente no tienen que ser iguales a través del ambiente de red 100. Uno o más primeros enlaces 150 pueden diferir en uno o más aspectos de uno o más segundos enlaces 150.
En modalidades particulares, el sistema de cliente 130 puede ser un dispositivo electrónico que incluye hardware, software, o componentes lógicos incorporados o una combinación de dos o más de dichos componentes y capaces de llevar a cabo funcionalidades apropiadas implementadas o soportadas por el sistema de cliente 130. Como un ejemplo y no a manera de limitación, un sistema de cliente 130 puede incluir un sistema de computadora tal como una computadora de escritorio, un ordenador portátil o una computadora portátil, computadora pequeña, portátil (netbook), una tableta, lector de libro electrónico, dispositivo GPS, cámara, asistente digital personal (PDA), dispositivo electrónico portátil, telefono celular, teléfono inteligente, otro dispositivo electrónico adecuado, o cualquier combinación adecuada de los mismos. Esta descripción contempla cualquier sistema de cliente 130 adecuado. Un sistema de cliente 130 puede habilitar un usuario de red en el sistema de cliente 130 para tener acceso a la red 1 10. Un sistema de cliente 130 puede permitir a su usuario a comunicarse con otros usuarios en otros sistemas de cliente 130.
En modalidades particulares, el sistema de cliente 130 puede incluir un navegador web 1 32, tal como MI CROSOFT I NTERNET EXPLORER, GOOGLE CH ROME, o MOZI LLA FI REFOX, y puede tener uno o más complementos, conexiones, u otras extensiones, tales como TOOLBAR o YAHOO TOOLBAR. Un usuario en el sistema de cliente 130 puede ingresar a un Localizador de Recurso Uniforme (URL, según siglas en inglés) u otra dirección que se dirige al navegador web 132 hacia un servidor particular (tal como el servidor 162, o un servidor asociado con un sistema de tercera parte 170), y el navegador web 132 puede generar una solicitud de Protocolo de Transferencia de Hipertexto (HTTP) y comunicar la solicitud de HTTP al servidor. El servidor puede aceptar la solicitud de HTTP y comunica al sistema de cliente 130 uno o más archivos de Lenguaje de Marcación de Hipertexto (HTML) en respuesta a la solicitud de HTTP. El sistema de cliente 130 puede presentar una página web en los archivos de HTML del servidor para presentación al usuario. Esta descripción contempla cualquier archivo de página web adecuado. Como un ejemplo y no a manera de limitación, las páginas web pueden presentarse de archivos HTML, archivos de Lenguaje de Marcación de Hipertexto Extensible (XHTML), o archivos de Lenguaje de Marcación Extensible (XML), de acuerdo con necesidades particulares. Dichas páginas también puede ejecutar escritos tales como, por ejemplo, y sin limitación, aquellos escritos en JAVASCRI PT, JAVA, MICROSOFT SI LVERLIGHT, combinaciones de lenguaje de marcación y escritos tales como AJAX ( JAVASCRIPT Asincrónico y XML), y similares. Aquí, la referencia una página web abarca uno o más archivos de página web correspondientes (los cuales un navegador puede utilizar para presentar la página web) y viceversa, en donde sea apropiado.
En modalidades particulares, el sistema de redes sociales 160 puede ser un sistema de cómputo dirigible a red que puede alojar una red social en línea. El sistema de redes sociales 160 puede generar, almacenar, recibir, y transmitir datos de redes sociales, tales como, por ejemplo, datos de perfil de usuario, datos de perfil de concepto, información de gráfica social, u otros datos adecuados relacionados con la red social en línea. El sistema de redes sociales 160 puede ser accedido por los otros componentes del ambiente de red 100 ya sea directamente o a traves de la red 1 10. En modalidades particulares, el sistema de redes sociales 160 puede incluir uno o más servidores 162. Cada servidor 162 puede ser un servidor unitario o un servidor distribuido que se expande en múltiples computadoras o múltiples centros de datos. Los servidores 162 puede ser varios tipos, tales como, por ejemplo y sin limitación, servidor web, servidor de noticias, servidor de correo, servidor de mensaje, servidor de anuncios, servidor de archivo, servidor de aplicación, servidor de intercambio, servidor de base de datos, servidor proxy, otro servidor adecuado para realizar funciones o procedimientos aquí descritos, o cualquier combinación de los mismos. En modalidades particulares, cada servidor 162 puede incluir hardware, software, o componentes lógicos incorporados o una combinación de dos o más de tales componentes para realizar las funcionalidades apropiadas implementadas o soportadas por el servidor 162. En modalidades particulares, el sistema de redes sociales 160 puede incluir uno o más almacenamientos de datos 164. Los almacenamientos de datos 164 pueden ser utilizados para almacenar varios tipos de información. En modalidades particulares, la información almacenada en los almacenamientos de datos 164 puede ser organizada de acuerdo con estructuras de datos específicas. En modalidades particulares, cada almacenamiento de datos 164 puede ser una base de datos de relación. Las modalidades particulares pueden proporcionar interfases que permiten a un sistema de cliente 130, un sistema de redes sociales 160, o un sistema de tercera parte 170 a manejar, recuperar, modificar, agregar, o eliminar, la información almacenada en el almacenamiento de datos 164.
En modalidades particulares, el sistema de redes sociales 160 puede almacenar una o más gráficas sociales en uno más almacenamientos de datos 164. En modalidades particulares, una gráfica social puede incluir múltiples nodos, los cuales pueden incluir múltiples nodos de usuario (cada uno correspondiendo a un usuario particular) o múltiples nodos de concepto (cada uno correspondiendo a un concepto particular) , y múltiples borde que conectan los nodos. El sistema de redes sociales 160 puede proporcionar a los usuarios de la red social en línea la habilidad para comunicarse e interactuar con otros usuarios. En modalidades particulares, los usuarios pueden unirse a la red social en línea a través del sistema de redes sociales 160 y después agregar conexiones (es decir, relaciones) a un número de otros usuarios del sistema de redes sociales 160 con quienes desean estar conectados. Aquí, el término “amigo” puede referirse a cualquier otro usuario del sistema de redes sociales 160 con quien un usuario ha formado una conexión, asociación, o relación a través del sistema de redes sociales 160.
En modalidades particulares, el sistema de redes sociales 160 puede proporcionar a los usuarios la habilidad de tomar acciones en varios tipos de artículos u objetos, soportados por el sistema de redes sociales 160. Como un ejemplo y no a manera de limitación, los artículos y objetos pueden incluir grupos o redes sociales a las cuales los usuarios del sistema de redes sociales 160 pueden pertenecer, eventos o entradas de calendario en donde un usuario puede tener interés, aplicaciones a base de computadora que un usuario puede utilizar, transacciones que permiten a los usuarios comprar o vender artículos a través del servicio, interacciones con anuncios que un usuario puede realizar, u otros artículos u objetos adecuados. Un usuario puede interactuar con cualquier cosa que sea capaz de ser representada en el sistema de redes sociales 160 o por un sistema externo del sistema de tercera parte 170, el cual está separado del sistema de redes sociales 160 y acoplado al sistema de redes sociales 160 a través de la red 1 10.
En modalidades particulares, el sistema de redes sociales 160 puede ser capaz de enlazar una variedad de entradas. Como un ejemplo y no a manera de limitación, el sistema de redes sociales 160 puede hacer que los usuarios interactúen entre sí así como recibir contenido de sistemas de tercera parte 170 u otras entradas, o para hacer que los usuarios interactúen con estas entidades a través de interfases de programación (API) u otros canales de comunicación.
En modalidades particulares, un sistema de tercera parte 170 puede incluir uno o más tipos de servidores, uno o más almacenamientos de datos, una o más interfaces, incluyendo pero no limitándose a API, uno o más servicios web, una o más fuentes de contenido, una o más redes, o cualquier otro componente adecuado, por ejemplo, que con los que los servidores se pueden comunicar. Un sistema de tercera parte 1 70 puede ser operado por una entidad diferente de una entidad que opera el sistema de redes sociales 160. En modalidades particulares, sin embargo, el sistema de redes sociales 160 y los sistemas de tercera parte 170 pueden operar en conjunto entre sí para proporcionar servicios de redes sociales a usuarios del sistema de redes sociales 160 o sistemas de tercera parte 170. En este sentido, el sistema de redes sociales 160 puede proporcionar una plataforma, o estructura, u otros sistemas, tales como sistemas de tercera parte 170, se pueden utilizar para proporcionar servicios y funcionalidad de redes sociales a los usuarios a través de I nternet.
En modalidades particulares, un sistema de tercera parte 170 puede incluir un proveedor de objeto de contenido de tercera parte. Un proveedor de objeto de contenido de tercera parte puede incluir una o más fuentes de objetos de contenido, los cuales pueden ser comunicados a un sistema de cliente 130. Como un ejemplo y no a manera de limitación, los objetos de contenido pueden incluir información con respecto a cosas o actividades de interés para el usuario, tales como, por ejemplo, horarios de películas, reseñas de películas, reseñas de restaurantes, menús de restaurantes, información y opiniones de productos, u otra información adecuada. Como otro ejemplo y no a manera de limitación, los objetos de contenido pueden incluir objetos de contenido de incentivo, tales como cupones, boletos de descuento, certificados de regalo, u otros objetos de incentivo adecuados.
En modalidades particulares, el sistema de redes sociales 160 también incluye objetos de contenido generados por usuario, los cuales pueden mejorar las interacciones de un usuario con el sistema de redes sociales 160. El contenido generado por usuario puede incluir cualquier cosa que un usuario pueda agregar, cargar, enviar, o “publicar” al sistema de redes sociales 160. Como un ejemplo y no a manera de limitación, un usuario comunica publicaciones al sistema de redes sociales 160 de un sistema de cliente 130. Las publicaciones pueden incluir datos tales como actualizaciones de estado u otros datos textuales, información de ubicación, fotos, videos, enlaces, música u otros datos o medios similares. El contenido también puede ser agregado al sistema de redes sociales 160 por una tercera parte a través de una “canal de comunicación”, tal como un suministro de noticias o secuencia.
En una modalidad particular, el sistema de redes sociales 160 puede incluir una variedad de servidores, sub-sistemas, programas, módulos, registros, y almacenamientos de datos. En modalidades particulares, el sistema de redes sociales 160 puede incluir uno o más de los siguientes: un servidor web, un registrador de acción, un servidor de solicitud API , una máquma de relevancia y clasificación, un clasificador de objeto de contenido, controlador de notificación, registro de acción, registro de exposición de objeto de contenido de tercera parte, módulo de inferencia, servidor de autorización/privacidad, módulos de búsqueda, módulo de activación de anuncio, módulo de interfase de usuario, almacenamiento de perfil de usuario, almacenamiento de conexión, almacenamiento de contenido de tercer parte, o almacenamiento de ubicación. El sistema de redes sociales 160 tambien puede incluir componentes adecuados tales como interfases de red, mecanismos de seguridad, equilibradores de carga, servidores anti-fallo, consolas de operaciones de manejo y red, otros componentes adecuados, o cualquier combinación adecuada de los mismos. En modalidades particulares, el sistema de redes sociales 160 puede incluir uno o más almacenamientos de perfil de usuario para almacenar perfiles de usuario. Un perfil de usuario puede incluir, por ejemplo, información biográfica, información demográfica, información de comportamiento, información social, u otros tipos de información descriptiva, tal como experiencia de trabajo, historia educacional, pasatiempos o preferencias, intereses afinidades, o ubicación. La información de interés puede incluir intereses relacionados con una o más categorías. Las categorías pueden ser generales o específicas. Como un ejemplo y no a manera de limitación, si a un usuario “le gusta” un artículo sobre una marca de zapatos, la categoría puede ser la marca, o la categoría general de “zapatos” o “ropa”. Se puede utilizar un almacenamiento de conexión para almacenar información de conexión sobre usuarios. La información de conexión puede indicar usuarios que tienen experiencias de trabajo similares o comunes, membresías de grupo, pasatiempos, historia educacional, o está en cualquier forma relacionada o comparte atributos comunes. La información de conexión tambien puede incluir conexiones definidas por el usuario entre diferentes usuarios y contenido (tanto interno como externo). Un servidor web puede ser utilizado para enlazar el sistema de redes sociales 160 a uno o más sistemas de cliente 130 o uno o más sistemas de tercera parte 170 a través de la red 1 10. El servidor web puede incluir un servidor de correo u otra funcionalidad de mensajería para recibir y enrutar mensajes entre el sistema de redes sociales 160 y uno o más sistemas de cliente 130. Un servidor de solicitud API puede permitir que un sistema de tercera parte 170 acceda a información desde el sistema de redes sociales 160 al llamar una o más APIs. Un registrador de acción puede ser utilizado para recibir comunicaciones desde un servidor web sobre las acciones de encendido o apagado del sistema de redes sociales 160 de un usuario. Junto con el registro de acción, un registro de objeto de contenido de tercera parte puede ser mantenido a exposiciones de usuario a los objetos de contenido de tercera parte. Un controlador de notificación puede proporcionar información con respecto a objetos de contenido a un sistema de cliente 130. La información puede ser empujada hacia un sistema de cliente 130 como notificaciones, o la información puede ser extraída del sistema de cliente 130 en respuesta a una solicitud recibida del sistema de cliente 1 30. Se pueden utilizar servidores de autorización para fomentar una o más configuraciones de privacidad de los usuarios del sistema de redes sociales 160. Una configuración de privacidad de un usuario determina cómo puede ser compartida información particular asociada con un usuario. El servidor de autorización puede optar por u optar por no tener sus acciones registradas por el sistema de redes sociales 160 o compartidas con otros sistemas (por ejemplo, sistema de tercera parte 170), tal como, por ejemplo, al establecer configuraciones de privacidad apropiadas. Se pueden utilizar almacenamientos de objeto de contenido de tercera parte para almacenar objetos de contenido recibidos de terceras partes, tales como el sistema de tercera parte 170. Se pueden utilizar almacenamientos de ubicación para almacenar información de ubicación recibida de los sistemas de cliente 130 asociados con los usuarios. Los módulos de precio de anuncio pueden combinar información social, el tiempo actual, información de ubicación, u otra información adecuada para proporcionar anuncios relevantes, en la forma de notificaciones, a un usuario.
Gráficas Sociales La figura 2 muestra una gráfica social 200 ilustrativa. En modalidades particulares, el sistema de redes sociales 160 puede almacenar una o más gráficas sociales 200 en uno o más almacenamientos de datos. En modalidades particulares, la gráfica social 200 puede incluir múltiples nodos, los cuales pueden incluir múltiples nodos de usuario 202 o múltiples nodos de concepto 204, y múltiples bordes 206 que conectan los nodos. La gráfica social 200 ilustrativa mostrada en la Figura 2 se muestra, para propósitos, en una representación de mapa visual bidimensional. En modalidades particulares, un sistema de redes sociales 160, sistema de cliente 130, o sistema de tercera parte 170 puede acceder a la gráfica social 200 e información de gráfica social relacionada para aplicaciones adecuadas. Los nodos y bordes de la gráfica social 200 pueden ser almacenados como objetos de datos, por ejemplo, en un almacenamiento de datos (tales como una base de datos de gráfica social). Dicho almacenamiento de datos puede incluir uno o más índices, que se pueden buscar o se pueden consultar, de nodos o bordes de la gráfica social 200.
En modalidades particulares, un nodo de usuario 202 puede corresponder a un usuario del sistema de redes sociales 160. Como un ejemplo y no a manera de limitación, un usuario puede ser un individuo (usuario humano), una entidad (por ejemplo, una empresa, negocios, o una aplicación de tercera parte), o un grupo (por ejemplo, de individuos o entidades) que interactúa o se comunica con o a traves del sistema de redes sociales 160. En modalidades particulares, cuando un usuario registra una cuenta con el sistema de redes sociales 160, el sistema de redes sociales 160 puede crear un nodo de usuario 202 que corresponde al usuario, y almacenar el nodo de usuario 202 en uno o más almacenamientos de datos. Los usuarios y nodos de usuario 202 aquí descritos, cuando es apropiado, se refieren a usuarios registrados y nodos de usuario 202 asociados con usuarios registrados. Además o como una alternativa, los usuarios y nodos de usuario 202 aquí descritos, pueden, cuando es apropiado, referirse a usuarios que no se han registrado con el sistema de redes sociales 160. En modalidades particulares, un nodo de usuario 202 puede ser asociado con información provista por un usuario o información reunida por varios sistemas, incluyendo el sistema de redes sociales 160. Como un ejemplo y no a manera de limitación, un usuario puede proporcionar su nombre, imagen de perfil, información de contacto, fecha de cumpleaños, sexo, estado civil, estado de familia, empleo, antecedentes de educación, preferencias, intereses u otra información demográfica. En modalidades particulares, un nodo de usuario 202 puede asociarse con uno o más objetos de datos que corresponden a información asociada con un usuario. En modalidades particulares, un nodo de usuario 202 puede corresponder a una o más páginas web.
En modalidades particulares, un nodo de concepto 204 puede corresponder a un concepto. Como un ejemplo y no a manera de limitación, un concepto puede corresponder a un lugar (tal como, por ejemplo, un cine, restaurante, marca, o ciudad); un sitio web (tal como, por ejemplo, un sitio web asociado con el sistema de redes sociales 160 o un sitio web de tercera parte asociado con un servidor de aplicación web); una entidad (tal como, por ejemplo, una persona, negocios, grupo, grupo de deportes, o celebridad), un recurso (tal como, por ejemplo, un archivo de audio, archivo de video, fotos digitales, archivo de texto, documento estructurado, o aplicación) que puede ser localizado dentro del sistema de redes sociales 160 o en un servidor externo, tal como un servidor de aplicación web; propiedad real o intelectual (tal como, por ejemplo, una escultura, pintura, película, juego, canción, idea, fotografía, o trabajo escrito); un juego; una actividad; una idea o teoría; otro concepto adecuado; o dos o más de tales conceptos. Un nodo de concepto 204 puede asociarse con información de un concepto provisto por un usuario o información reunida por varios sistemas, incluyendo el sistema de redes sociales 160. Como un ejemplo y no a manera de limitación, la información de un concepto puede incluir un nombre o título; una o más imágenes (por ejemplo, una imagen de la portada de un libro); una ubicación (por ejemplo, una dirección o una ubicación geográfica); un sitio web (el cual puede estar asociado con un U RL); información de contacto (por ejemplo, un número telefónico o una dirección de correo electrónico); otra información de concepto adecuada; o cualquier combinación de dicha información. En modalidades particulares, un nodo de concepto 204 puede asociarse con uno o más objetos de datos que corresponden a la información asociada con el nodo de concento 204. En modalidades particulares, un nodo de concepto 204 puede corresponder a una o más páginas web.
En modalidades particulares, un nodo en la gráfica social 200 puede representar o ser representado por una página web (la cual puede ser denominada como una “página de perfil”). Las páginas de perfil pueden ser alojadas por o accederse al sistema de redes sociales 160. Las páginas de perfil también pueden ser alojadas en sitios web de tercera parte asociados con un servidor de tercera parte 170. Como un ejemplo y no a manera de limitación , una página de perfil que corresponde a una página web externa particular puede sr la página web externa particular y la página de perfil puede corresponder a un nodo de concepto particular 204. Las páginas de perfil se pueden ver por todos o por un subgrupo seleccionado de otros usuarios. Como un ejemplo y no a manera de limitación, un nodo de usuario 202 puede tener una página de perfil de usuario correspondiente en donde el usuario correspondiente puede agregar contenido, hacer declaraciones, o de otra manera expresarse a sí mismo. Como otro ejemplo y no a manera de limitación, un nodo de concepto 204 puede tener una página de perfil de concepto correspondiente en donde uno o más usuarios pueden agregar contenido, hacer declaraciones, o expresarse a sí mismos, particularmente con relación al concepto que corresponde al nodo de concepto 204.
En modalidades particulares, un nodo de concepto 204 puede representar una página web de tercera parte o recurso alojado por un sistema de tercera parte 170. La página web de tercera parte o recurso puede incluir, entre otros elementos, contenido, un icono seleccionable u otro icono, u otro objeto inter-accionable (el cual puede ser implementado, por ejemplo, en JavaScript, AJAX, o códigos PHP) representando una acción o actividad. Como un ejemplo y no a manera de limitación, una página web de tercera parte puede incluir un icono seleccionable tal como “me gusta”, “verificar”, “comer”, “recomendar”, u otra acción o actividad adecuada. Un usuario que ve la página web de tercera parte puede realizar una acción al seleccionar uno de los iconos (por ejemplo, “comer”), haciendo que un sistema de cliente 130 transmita al sistema de redes sociales 160 un mensaje indicando la acción del usuario. En respuesta al mensaje, el sistema de redes sociales 160 puede crear un borde (por ejemplo, un borde de “comer”) entre un nodo de usuario 202 que corresponde al usuario y un nodo de concepto 204 que corresponde a la página web de tercera parte o recurso y el borde de almacenamiento 206 en uno o más almacenamientos de datos.
En modalidades particulares, un par de nodos en la gráfica social 200 puede conectarse entre sí a través de uno o más bordes 206. Un borde 206 que conecta un par de nodos puede representar una relación entre el par de nodos. En modalidades particulares, un borde 206 puede incluir o representar uno o más objetos de datos o atributos que corresponden a la relación entre un par de nodos. Como un ejemplo y no a manera de limitación, un primer usuario puede indicar que un segundo usuario es un “amigo” del primer usuario. En respuesta a esta indicación, el sistema de redes sociales 160 puede transmitir una “solicitud de amigo” al segundo usuario. Si el segundo usuario confirma la “solicitud de amigo”, el sistema de redes sociales 160 puede crear un borde 206 que conecta al primer nodo 202 del usuario con el segundo nodo 202 del usuario en la gráfica social 200 y el borde de almacenamiento 206 como información de gráfica social en uno o más almacenamientos de datos 24. En el ejemplo de la Figura 2, la gráfica social 200 incluye un borde 206 que indica una relación de amigo entre nodos de usuario 202 del usuario “A” y usuario “B” y un borde indicando una relación de amigo entre los nodos de usuario 202 del usuario “C” y el usuario “B”. Aunque esta descripción describe o muestra bordes 206 particulares con atributos particulares que conectan nodos de usuario 202 particulares, esta descripción contempla cualquier borde 206 adecuado con cualquier atributo que conecta los nodos de usuario 202. Como un ejemplo y no a manera de limitación, un borde 206 puede representar una amistad, relación familiar, relación de negocios o empleo, relación de fanático, relación de seguidor, relación de visitante, relación de suscriptor, relaciones de superior/ subordinado, relación recíproca, relación no recíproca, otro tipo adecuado de relación, de dos o más de tales relaciones. Además, aunque esta descripción en general describe nodos que se están conectando, esta descripción también describe usuarios o conceptos que se están conectando. Aquí, la referencia a usuarios o conceptos que se están conectando puede, cuando es apropiado, referirse a los nodos que corresponden a aquellos usuarios o conceptos que están siendo conectados en la gráfica social 202 por uno o más bordes 206.
En modalidades particulares, un borde 206 entre un nodo de usuario 202 y un nodo de concepto 204 puede representar una acción o actividad particular realizada por un usuario asociado con el nodo de usuario 202 hacia un concepto asociado con un nodo de concepto 204. Como un ejemplo y no a manera de limitación, como se ilustra en la Figura 2, a un usuario le puede “gustar”, “asistir”, “reproducir”, “escuchar”, “cocinar”, “trabajar en”, u “observar” un concepto, cada uno de los cuales puede corresponder a un tipo o sub-tipo de borde. Una página de perfil de concepto que corresponde a un nodo de concepto 204 puede incluir, por ejemplo, un icono de “verificar” seleccionable (tal como, por ejemplo, un icono de “verificar” al que se le puede dar un clic) o un icono de “agregar a favoritos” seleccionable. Similarmente, después de que un usuario da clic en estos iconos, el sistema de redes sociales 160 puede crear un borde de “favorito” o un borde de “verificar” en respuesta a una acción del usuario que corresponde a una acción respectiva. Como otro ejemplo y no a manera de limitación, un usuario (usuario “C”) puede escuchar una canción particular (“I magina”) utilizando una aplicación particular (SPOTIFY, la cual es una aplicación de música en línea). En este caso, el sistema de redes sociales 160 puede crear una borde de “escuchado” 206 y un borde de “utilizado” (como se muestra en la Figura 2) entre los nodos de usuario 202 que corresponden los nodos de usuario y de concepto 204 que corresponden a la canción y la aplicación para indicar que el usuario escuchó la canción y utilizó la aplicación. Además, el sistema de redes sociales 160 puede crear un borde 206 de “reproducido” (como se ilustra en la Figura 2) entre los nodos de concepto 204 que corresponden a la canción y la aplicación para indicar que la canción particular se reprodujo por la aplicación particular. En este caso, el borde 206 de “reproducido” corresponde a una acción realizada por una aplicación externa (SPOTI FY) en un archivo de audio externo (la canción “I magina”). Aunque esta descripción describe borde 206 particulares con atributos particulares que conectan nodos de usuario 202 y nodos de concepto 204, esta descripción contempla cualquier borde 206 adecuado con cualquier atributo adecuado que conectan los nodos de usuario 202 y nodos de concepto 204. Además, aunque esta descripción describe bordes entre un nodo de usuario 202 y un nodo de concepto 204 representando una sola relación, esta descripción contempla bordes entre un nodo de usuario 202 y un nodo de concepto 204 representando una o más relaciones. Como un ejemplo y no a manera de limitación, un borde 206 puede representar tanto a aquel usuario que le gusta como ha utilizado un concepto particular. Alternativamente, otro borde 206 puede representar cada tipo de relación (o múltiples de una sola relación) entre un nodo de usuario 202 y un nodo de concepto 204 (como se ilustra en la Figura 2 entre el nodo de usuario 202 para el usuario “E” y el nodo de concepto 204 para “SPOTIFY”).
En modalidades particulares, el sistema de redes sociales 160 puede crear un borde 206 entre un nodo de usuario 202 y un nodo de concepto 204 en la gráfica social 200. Como un ejemplo y no a manera de limitación, un usuario que ve una página de perfil de concepto (tal como, por ejemplo, al utilizar un navegador web o una aplicación de propósito especial alojada por el sistema de cliente 130 del usuario) puede indicar que le gusta el concepto representado por el nodo de concepto 204 al dar clic o al seleccionar un icono de “Me gusta”, el cual puede hacer que el sistema de cliente 130 del usuario transmita, al sistema de redes sociales 160, un mensaje indicando que el gusto del usuario del concepto asociado con la página de perfil de concepto. En respuesta al mensaje, el sistema de redes sociales 160 puede crear un borde 206 entre el nodo de usuario 202 asociado con el usuario y el nodo de concepto 204, como se ilustra por el borde 206 “me gusta” entre el usuario y el nodo de concepto 204. En modalidades particulares, el sistema de redes sociales 160 puede almacenar un borde 206 en uno o más almacenamientos de datos. En modalidades particulares, un borde 206 puede ser automáticamente formado por el sistema de redes sociales 160 en respuesta a una acción particular del usuario. Como un ejemplo y no a manera de limitación, si un primer usuario carga una imagen, ve una película, o escucha una canción, un borde 206 puede ser formado entre el nodo de usuario 202 que corresponde a los nodos del primer usuario y de concepto 204 que corresponden a esos conceptos. Aunque esta invención describe la formación de bordes 206 particulares en manera particulares, esta descripción contempla la formación de bordes 206 adecuados en cualquier manera adecuada.
Procedimientos de tecleo anticipado En modalidades particulares, uno o más procedimientos de lado de cliente y/o de extremo trasero (lado de servidor) implementan y utilizar una característica de “tecleo anticipado” para automáticamente intentar hacer comcidir conceptos que corresponden a nodos de usuario 202 existentes respectivos o nodos de concepto 204 para información actualmente introducida por un usuario en una forma de entrada presentada junto con una página web solicitada, tal como una página de perfil de usuario, la cual puede ser alojada o accesible, por el sistema de redes sociales 160. En modalidades particulares, a medida que un usuario introduce un texto para hacer una declaración, la característica de tecleo anticipado intenta hacer coincidir la secuencia de caracteres textuales que se están introduciendo en la declaración con secuencias de caracteres (por ejemplo, nombres) que corresponden a nodos de conceptos (o usuarios) existentes y de concepto correspondiente (o usuario) en la gráfica social 200. En modalidades particulares, cuando se encuentra una coincidencia, la característica de tecleo anticipado automáticamente puede llenar la forma con una referencia al nodo (tal como, por ejemplo, el nombre de nodo, I D de nodo, u otra referencia o identificador adecuado) del nodo existente.
En modalidades particulares, a medida que un usuario escribe o de otra manera introduce texto en una forma utilizada para agregar contenido o hacer declaraciones en varias secciones de la página de perfil del usuario u otra página, el procedimiento de tecleo anticipado puede trabajar junto con uno o más procedimientos de tecleo anticipado de extremo frontal (lado de cliente) y/o de extremo trasero (lado de servidor) (de aquí en adelante denominado simplemente como “procedimiento de tecleo anticipado”) que se ejecuta en (o dentro de) el sistema de redes sociales 160 (por ejemplo, dentro de los servidores 162), para interactiva y virtualmente de manera instantánea (como se aparece al usuario) intentar auto-llenar la forma con un término o términos que corresponden a nombres de entidades de gráfica social existentes, o términos asociado con entidades de gráfica social existente, que se determina que son las más relevantes o que mejor comciden con los caracteres del texto introducido por el usuario a medida que el usuario introduce los caracteres del texto. El uso de la información de gráfica social en una base de datos de gráfica social o información extraída e indexada de la base de datos de gráfica social, incluyendo información asociada con nodos y bordes, los procedimientos de tecleo anticipado, junto con la información de la base de datos de gráfica social, así como potencialmente junto con varios otros procedimientos, aplicaciones, bases de datos ubicadas dentro o que se ejecutan dentro del sistema de redes sociales 160, son capaces de pronosticar una declaración pretendida del usuario con un alto grado de precisión. Sin embargo, el sistema de redes sociales 160 también proporcionar a los usuarios la libertad de introducir cualquier declaración que desean que los usuarios expresen por sí mismos libremente.
En modalidades particulares, a medida que un usuario introduce caracteres de texto en un cuadro de forma u otro campo, los procedimientos de tecleo anticipado pueden intentar identificar elementos de gráfica social existentes (por ejemplo, nodos de usuario 202, nodos de concepto 204, o bordes 206) que comcidan con la secuencia de caracteres introducidos en la declaración del usuario a medida que el usuario está introduciendo los caracteres. En modalidades particulares, a medida que el usuario introduce los caracteres en un cuadro de forma, el procedimiento de tecleo anticipado puede leer la secuencia de caracteres textuales introducidos. A medida que se hace cada pulsación de la tecla, el procedimiento de tecleo anticipado de extremo frontal puede transmitir la secuencia de carácter introducida como una solicitud (o llamada) al procedimiento de tecleo anticipado de extremo trasero que se ejecuta dentro del sistema de redes sociales 160. En modalidades particulares, los procedimientos de tecleo anticipado pueden comunicarse a traves de AJAX (JavaScript Asincrónico y XML) u otras téenicas adecuadas, y en particular, técnicas asincrónicas. En una modalidad particular, la solicitud es, o comprende, una solicitud XMLHTTP (XHR) que permite un rápido y dinámico envío o búsqueda de resultados. En modalidades particulares, el procedimiento de tecleo anticipado también transmite antes, después o con la solicitud un identificador de sección (I D de sección) que identifica la sección particular de la página particular en donde el usuario está haciendo la declaración. En modalidades particulares, también se pueden enviar un parámetro de I D de usuario, pero esto puede ser innecesario en algunas modalidades, ya que el usuario ya es “conocido” con base en su entrada al sistema de redes sociales 160.
En modalidades particulares, el procedimiento de tecleo anticipado puede utilizar uno o más algoritmos de comcidencia para intentar identificar elementos de gráfica social coincidentes. En modalidades particulares, cuando se encuentra una o más coincidencias, el procedimiento de tecleo anticipado puede transmitir una respuesta (la cual puede utilizar AJAX u otras téenicas adecuadas) al sistema de cliente 130 del usuario que puede incluir, por ejemplo, los nombres (secuencias de nombre) de los elementos de gráfica social coincidentes así como, potencialmente, otros metadatos asociados con los elementos de gráfica social coincidentes. Como un ejemplo y no a manera de limitación, si un usuario introduce los caracteres “pok” en un campo de consulta, el procedimiento de tecleo anticipado puede presentar un menú desplegable que presenta nombres de páginas de perfil existentes coincidentes y nodos de usuario 202 o nodos de concepto 204 respectivos (por ejemplo, una página de perfil nombrada o devota a “poker”), que el usuario entonces puede dar clic o de otra manera seleccionar confirmando así el deseo de declarar el usuario coincidente o nombre de concepto que corresponde al nodo seleccionado. Como otro ejemplo y no a manera de limitación, después de dar clic en “poker”, el procedimiento de tecleo anticipado puede auto-llenar, o hace que el navegador web 132 auto-llene, el campo de consulta con la declaración “poker”. En modalidades particulares, el procedimiento de tecleo anticipado puede simplemente auto-llenar el campo con el nombre u otro identificador de la comcidencia con clasificación más alta en lugar de presentar un menú desplegable. El usuario entonces puede confirmar la declaración auto-llenada simplemente al pulsar la tecla de “enter” en su teclado o al dar clic en la declaración auto-llenada.
Más información sobre procedimiento de tecleo anticipado puede encontrarse en la Solicitud de Patente de E. U.A. No. 12/763162, presentada el 1 9 de abril del 2012, y la Solicitud de Patente de E. U.A. No. 13/556072, presentada el 23 de julio del 2012, las cuales se incorporan aquí para referencia.
Consultas de Búsqueda Estructuradas La Figura 3 muestra una página web ilustrativa de una red social en l ínea. En modalidades particulares, un usuario puede presentar una consulta al sistema de redes sociales 160 al ingresar una consulta de texto en el campo de consulta 350. Un usuario de una red social en línea puede buscar información con relación a un tema específico (por ejemplo, usuarios, conceptos, contenido externo o recurso) al proporcionar una frase corta que describa el tema, por lo general denominado como una “consulta de búsqueda”, a un motor de búsqueda. La consulta puede ser una consulta de texto no estructurada y puede comprender una o más secuencias de texto o una o más n-gramas. En general, un usuario puede introducir cualquier secuencia de carácter en el campo de consulta 350 para buscar contenido en el sistema de redes sociales 160 que comcide con la consulta de texto. El sistema de redes sociales 160 después puede buscar un almacenamiento de datos 164 (o, más particularmente, una base de datos de gráfica social) para identificar el contenido que coincida con la consulta. El motor de búsqueda puede conducir una búsqueda basándose en la frase de consulta utilizando varios algoritmos de búsqueda y generar resultados de búsqueda que identifican recursos o contenido (por ejemplo, páginas de perfil de usuario, páginas de perfil de contenido, o recursos externos) que muy probablemente están relacionados con la consulta de búsqueda. Para conducir una búsqueda, un usuario puede introducir o transmitir una consulta de búsqueda al motor de búsqueda. En respuesta, el motor de búsqueda puede identificar uno o más recursos que probablemente estarán relacionados con la consulta de búsqueda, que colectivamente puede denominarse como un “resultado de búsqueda” identificado para la consulta de búsqueda. El contenido identificado puede incluir, por ejemplo, entidades de gráfica social (es decir, nodos de usuario 202, nodos de concepto 204, bordes 206), páginas de perfil, páginas web externas, o cualquier combinación de los mismos. El sistema de redes sociales 160 entonces puede generar una página web de resultados de búsqueda con resultados de búsqueda que corresponden al contenido identificado. Los resultados de búsqueda pueden ser presentados al usuario, por lo general en la forma de una lista de enlaces en la página web de resultados de búsqueda, cada enlace estando asociado con una página web diferente que contiene algunos de los recursos o contenido identificados. En modalidades particulares, cada enlace en los resultados de búsqueda puede estar en la forma de un Localizador de Recurso Uniforme (URL) que especifica en donde está localizada la página web correspondiente y el mecanismo para recuperarla. El sistema de redes sociales 160 luego puede transmitir la página de resultados de búsqueda al navegar web 132 del usuario en el sistema de cliente 130 del usuario. El usuario después puede hacer clic en los enlaces del URL o de otra manera selecciona el contenido de la página web de resultados de búsqueda para tener acceso al contenido desde el sistema de redes sociales 160 o desde un sistema externo, según sea apropiado. Los recursos pueden ser clasificados y presentados al usuario de acuerdo con sus grados relativos de relevancia para la consulta de búsqueda. Los resultados de búsqueda también pueden ser clasificados y presentados al usuario de acuerdo con su grado relativo de relevancia para el usuario. En otras palabras, los resultados de búsqueda pueden ser personalizados para el usuario que consulta con base en, por ejemplo, la información de gráfica social, información de usuario, historia de búsqueda o de navegación del usuario, u otra información adecuada relacionada con el usuario.
En modalidades particulares, la clasificación de los recursos puede ser determinada por un algoritmo de clasificación implementado por el motor de búsqueda. Como un ejemplo y no a manera de limitación, los recursos que son más relevantes para la consulta de búsqueda o para el usuario pueden ser clasificados más altos que los recursos que son menos relevantes para la consulta de búsqueda o el usuario. En modalidades particulares, el motor de búsqueda puede limitar su búsqueda a recursos y contenido en la red social en línea. Sin embargo, en modalidades particulares, el motor de búsqueda tambien busca recursos o contenidos en otras fuentes, tales como un sistema de tercera parte 170, I nternet o la Gran Red Mundial, u otras fuentes adecuadas. Aunque esta descripción describe la consulta del sistema de redes sociales 160 en una forma particular, esta descripción contempla la consulta del sistema de redes sociales 160 en cualquier forma adecuada.
En modalidades particulares, los procedimientos de tecleo anticipado aquí descritos pueden ser aplicados a consultas de búsqueda introducidas por un usuario. Como un ejemplo y no a manera de limitación, a medida que un usuario introduce caracteres de texto en un campo de búsqueda, un procedimiento de tecleo anticipado puede intentar identificar uno o más nodos de usuario 202, nodos de concepto 204, o bordes 206 que comciden con la secuencia de caracteres introducidos en el campo de búsqueda a medida que el usuario está introduciendo los caracteres. A medida que el procedimiento de tecleo anticipado recibe solicitudes o llamadas incluyendo una secuencia o n-grama desde la consulta de texto, el procedimiento de tecleo anticipado puede realizar o hacer que se realice una búsqueda para identificar elementos de gráfica social existentes (es decir, nodos de usuario 202, nodos de concepto 204, bordes 206) que tienen nombres, tipos, categorías, u otros identificadores que comciden con el texto introducido. El procedimiento de tecleo anticipado puede utilizar uno o más algoritmos coincidentes para intentar identificar nodos o bordes coincidentes. Cuando se encuentra una coincidencia o coincidencias, el procedimiento de tecleo anticipado puede transmitir una respuesta al sistema de cliente 130 del usuario que puede incluir, por ejemplo, los nombres (secuencias de nombre) de los nodos coincidentes así como, potencialmente, otros metadatos asociados con los nodos coincidentes. El procedimiento de tecleo anticipado entonces puede presentar un menú desplegable 300 que presenta nombres de páginas de perfil existentes coincidentes y nodos de usuario 202 o nodos de concepto 204 respectivos, y presenta nombres de bordes 206 coincidentes que pueden conectarse a los nodos de usuario 202 o nodos de concepto 204 coincidentes, en donde el usuario despues puede dar clic o de otra forma seleccionar confirmando así el deseo de buscar el usuario coincidente o nombre de concepto que corresponda al nodo seleccionado, o a buscar usuarios o conceptos conectados a los usuarios o conceptos coincidentes a través de los bordes coincidentes. Alternativamente, el procedimiento de tecleo anticipado puede simplemente auto-llenar la forma con el nombre u otro identificador de la comcidencia con clasificación más alta en lugar de presentar un menú desplegable 300. El usuario luego puede confirmar la declaración auto-llenada simplemente al pulsar la tecla de “enter” en un teclado o al dar clic en la declaración auto-llenada. Después de la confirmación de usuario de los nodos y bordes coincidentes, el procedimiento de tecleo anticipado puede transmitir una solicitud que informa al sistema de redes sociales 160 de la confirmación de una consulta, por parte del usuario, conteniendo los elementos de gráfica social coincidentes. En respuesta a la solicitud transmitida, el sistema de redes sociales 160 automáticamente puede (o alternativamente basándose en una instrucción en la solicitud) llamar o de otra manera buscar una base de datos de gráfica social para los elementos de gráfica social coincidentes, o para elementos de gráfica social conectados a los elementos de gráfica social coincidentes, según sea apropiado. Aunque esta descripción describe la aplicación de procedimientos de tecleo anticipado a consultas de búsqueda en una forma particular, esta descripción contempla aplicar los procedimientos de tecleo anticipado a consultas de búsqueda en una forma adecuada.
Análisis t/e Consultas Utilizando Modelos de Gramática Libres de Contexto Las Figuras 4A-4B muestran consultan ilustrativas de la red social. En modalidades particulares, el sistema de redes sociales 160 puede generar una o más consultas estructuradas que comprenden señales de consulta que corresponden a uno o más elementos de gráfica social identificados en respuesta a una consulta de texto recibida de un primer usuario (es decir, el usuario que consulta). Las Figuras 4A-4B muestran varias consultas de texto ilustrativas en el campo de consulta 350 y varias consultas estructuradas generadas en respuesta a menús desplegables 300. Al proporcionar consultas estructuradas sugeridas en respuesta a una consulta de texto del usuario, el sistema de redes sociales 160 puede proporcionar una fuerte forma para que los usuarios de la red social en línea busquen elementos representados en la gráfica social 200 con base en sus atributos de gráfica social y su relación con varios elementos de gráfica social. Las consultas estructuradas pueden permitir que un usuario que consulta busque contenido que está conectado a usuarios particulares o conceptos en la gráfica social 200 a traves de tipos de borde particular. Como un ejemplo y no a manera de limitación, el sistema de redes sociales 160 puede recibir una consulta de texto substancialmente no estructurada de un primer usuario. En respuesta, el sistema de redes sociales 160 (a través de, por ejemplo, un procedimiento de detección de elemento de lado de servidor) puede acceder a la gráfica social 200 y luego analizar la consulta de texto para identificar elementos de gráfica social que correspondieron a n-gramas de la consulta de texto. El sistema de redes sociales 160 puede identificar estos elementos de gráfica social correspondientes al determinar una probabilidad para cada n-grama que corresponde a una elemento de gráfica social particular. El sistema de redes sociales 160 entonces puede acceder a un modelo de gramática, tal como un modelo de gramática independiente. Los elementos de gráfica social identificados pueden ser utilizados como señales terminales (“señales de consulta”) en las gramáticas, y cada gramática entonces puede ser calificada. Las gramáticas con una calificación mayor que una calificación de umbral pueden ser utilizadas para generar consultas estructuradas que incluyen señales de consulta que hacen referencia a los elementos de gráfica social identificados. Las consultas estructuradas luego pueden ser transmitidas al primer usuario y presentadas en un menú desplegable 300 (a traves de, por ejemplo, un procedimiento de tecleo anticipado de lado de cliente), en donde el primer usuario después puede seleccionar una consulta apropiada para buscar el contenido deseado. Algunas ventajas de utilizar las consultas estructuradas aquí descritas incluyen encontrar usuarios de la red social en línea basándose en información limitada, llevando conjuntamente índices virtuales de contenido desde la red social en línea basándose en la relación de ese contenido con varios elementos de gráfica social, o encontrar contenido relacionado con sus amigos. Aunque esta descripción describe y las Figuras 4A-4B muestran la generación de consultas estructuradas particulares en una forma particular, esta descripción contempla la generación de cualquier consulta estructurada adecuada en cualquier forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede recibir de un usuario que consulta/primer (que corresponde a un nodo de primer usuario 202) una consulta de testo substancialmente no estructurada. Como un ejemplo y no a manera de limitación, un primer usuario puede desear buscar a otros usuarios que: (a) son amigos en primer grado del primer usuario; y (2) están asociados con la Universidad de Stanford (es decir, los nodos de usuario 202 están conectados a traves de un borde 206 al nodo de concepto 204 que corresponde a la escuela “Stanford”). El primer usuario después puede introducir una consulta de texto, “amigos stanford”, en el campo de consulta 350, como se ilustra en las Figuras 4A-4B. A medida que el usuario introduce esta consulta de texto en el campo de consulta 350, el sistema de redes sociales 160 puede proporcionar varias consultas estructuradas sugeridas, como se ilustra en los menús desplegables 300. Como se utiliza aquí, una consulta de texto substancialmente no estructurada se refiere a una secuencia de texto simple introducida por un usuario. La consulta de texto, por supuesto, puede ser estructurada con respecto a reglas estándares de lenguaje/gramática (por ejemplo, gramática del idioma inglés). Sin embargo, la consulta de texto ordinariamente será no estructurada con respecto a elementos de gráfica social. En otras palabras, una consulta de texto simple ordinariamente no incluirá referencias incorporadas a elementos de gráfica social particular. De esta manera, como se utiliza aquí, una consulta estructurada se refiere a una consulta que contiene referencias a elementos de gráfica social particular, permitiendo que el motor de búsqueda busque basándose en los elementos identificados. Aunque esta descripción describe recibir consultas particulares en una forma particular, esta descripción contempla recibir cualquier consulta adecuada en una forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede analizar la consulta de texto substancialmente no estructurada (también simplemente denominada como una consulta de búsqueda) recibida del primer usuario (es decir, el usuario que consulta) para identificar una o más n-gramas. En general, una n-grama es una secuencia contigua de n artículos de una secuencia dada de texto o lenguaje. Los artículos pueden ser caracteres, fonemas, sílabas, letras, palabras, pares de base, prefijos, u otros artículos identificables déla secuencia de texto o lenguaje. La n-grama puede comprender uno o más caracteres de texto (letras, números, puntuación, etc.) introducidos por el usuario que consulta. Una n-grama de tamaño uno puede ser denominada como una “unigrama”, de tamaño dos puede ser denominada como una “bigrama” o “diagrama”, de tamaño tres puede ser denominada como un “trigrama”, y así sucesivamente. Cada n-grama puede incluir una o más partes de la consulta de texto recibida del usuario que consulta. En modalidades particulares, cada n-grama puede comprender una secuencia de carácter (por ejemplo, uno o más caracteres de texto) introducida por el primer usuario. Como un ejemplo y no a manera de limitación, el sistema de redes sociales 160 puede analizar la consulta de texto “amigos stanford” para identificar los siguientes n- gramas: amigos; stanford; amigos estanford. Como otro ejemplo y no a manera de limitación, el sistema de redes sociales 160 puede analizar la consulta de texto “amigos en palo alto” para identificar los siguientes n-gramas: amigos; en; palo; alto; amigos en; en palo; palo alto; amigo en palo; en palo también ; amigos en palo alto. En modalidades particulares, cada n-grama puede comprender una secuencia contigua de n artículos de la consulta de texto. Aunque esta descripción describe el analizar consultas particulares en una forma particular, esta descripción contempla analizar cualquier consulta adecuada en cualquier forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede determinar o calcular, para cada n-grama identificada en la consulta de texto, una calificación que la n-grama corresponde a un elemento de gráfica social. La calificación puede ser, por ejemplo, una calificación de confidencia, una probabilidad, una calidad, una clasificación, otro tipo adecuado de calificación, o cualquier combinación de los mismos. Como un ejemplo y no a manera de limitación, el sistema de redes sociales 160 puede determinar una calificación de probabilidad (también denominada simplemente como una “probabilidad”) que la n-grama corresponde a un elemento de gráfica social , tal como un nodo de usuario 202, un nodo de concepto 204, o un borde 206 de la gráfica social 200. La calificación de probabilidad puede indicar el nivel de similitud o relevancia entre la n-grama y un elemento de gráfica social particular. Puede haber muchas diferentes formas de calcular la probabilidad. La presente descripción contempla cualquier método adecuado para calcular una calificación de probabilidad para una n-grama identificada en una consulta de búsqueda. En modalidades particulares, el sistema de redes sociales 160 puede determinar una probabilidad, p, que una n-grama corresponde a un elemento de gráfica social particular. La probabilidad, p, puede ser calculada como la probabilidad de la correspondiente a un elemento de gráfica social particular, k, dada una consulta de búsqueda particular, X. en otras palabras, la probabilidad puede ser calculada como p = (k\X). Como un ejemplo y no a manera de limitación, una probabilidad que una n-grama corresponde a un elemento de gráfica social puede p ¡ · La entrada puede ser una consulta de texto X = (x1, x2, .... Xn), y un grupo de clases. Para (/ : j), el sistema de redes sociales 160 puede calcular P = p(clase(X ) = k\X). Como un ejemplo y no a manera de limitación, la n-grama “stanford” puede ser calificada con respecto a los siguientes elementos de gráfica social: escuela “Universidad de Stanford” = 0.7; ubicación “Stanford, California” = 0.2; usuario “Alien Stanford” = 0.1 . Como otro ejemplo y no a manera de limitación, la n-grama “amigos” puede ser calificada con respecto a los siguientes elementos de gráfica social como sigue: usuario “amigos” = 0.9; espectáculo de televisión “Amigos” = 0.1 . En modalidades particulares, el sistema de redes sociales 160 puede utilizar un algoritmo hacia adelante-hacia atrás para determinar la probabilidad que una n-grama particular corresponde a un elemento de gráfica social particular. Para una n-grama particular dentro de una consulta de texto, el sistema de redes sociales 160 puede utilizar las n-gramas tanto precedentes como subsecuentes para determinar que elementos de gráfica social particulares corresponden a una n-grama dada. Aunque esta descripción describe determinar si las n-gramas corresponde a elementos de gráfica social en una forma particular, esta descripción contempla determinar si las n-gramas corresponden a elementos de gráfica social en cualquier forma adecuada. Además, aunque esta descripción describe determinar si una n-grama corresponde a un elemento de gráfica social utilizando un tipo particular de calificación, esta descripción contempla determinar si una n-grama corresponde a un elemento de gráfica social utilizando cualquier tipo adecuado de calificación.
En modalidades particulares, el sistema de redes sociales 160 puede identificar uno más bordes 206 que tienen una probabilidad mayor que una probabilidad de umbral de borde. Cada uno de los bordes 206 identificados puede corresponder a por lo menos una de la n-gramas. Como un ejemplo y no a manera de limitación, la n-grama solo puede ser identificada como correspondiendo a un borde k si p¡,¡,k > P umbrat de borde · Además, cada uno de los bordes 206 identificados puede ser conectado a por lo menos uno de los nodos identificados. En otras palabras, el sistema de redes sociales 160 solo puede identificar los bordes 206 o tipos de bordes que están conectados a los nodos de usuario 202 o nodos de concepto 204 que previamente han sido identificados como correspondiendo a una n-gama particular. Los bordes 206 o tipos de bordes que no están conectados a cualquier nodo previamente identificado típicamente no probablemente corresponden a una n-grama particular en una consulta de búsqueda. Al filtrar o ignorar estos bordes 206 y tipos de borde, el sistema de redes sociales 160 puede más eficientemente buscar la gráfica social para elementos de gráfica social relevantes. Como un ejemplo y no a manera de limitación, haciendo referencia a la Figura 2, para una consulta de texto conteniendo “se fue a Stanford”, en donde un nodo de concepto 204 identificado es la escuela “Stanford”, el sistema de redes sociales 160 puede identificar los bordes 206 que corresponden a “trabajó en” y los bordes 206 que corresponden a “asistió”, ambos están conectados al nodo de concepto 204 para “Stanford”. De esta manera, la n-grama “fue a” puede ser identificada como correspondiendo a estos bordes 206. Sin embargo, para la misma consulta de texto, el sistema de redes sociales 160 puede no identificar los bordes 206 que corresponden a “me gusta” o “fanático” en la gráfica social 200 ya que el nodo “Stanford” no tiene ninguno de estos bordes conectados al mismo. Aunque esta descripción describe bordes de identificación 206 que corresponden a n-gramas en una forma particular, esta descripción contempla bordes de identificación 206 que corresponden a n-gramas en cualquier manera adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede identificar uno o más nodos de usuario 202 o nodos de concepto 204 que tienen una probabilidad mayor que una probabilidad de umbral de nodo. Cada uno de los nodos identificados puede corresponder a por lo menos una de las n-gramas. Como un ejemplo y no a manera de limitación, las n-gramas solo pueden ser identificadas como correspondiendo a un nodo k si p, y L > P umbral de nodo. Además. Cada uno de los nodos de usuario 202 identificados o nodos de concento 204 pueden ser conectados a por lo menos uno de los bordes identificados 206. En otras palabras, el sistema de redes sociales 160 solo puede identificar nodos o tipos de nodos que están conectados a los bordes 206 que previamente han sido identificados como correspondiendo a una n-grama particular. Los nodos o tipos de nodos que no están conectados a ninguno de los bordes 206 previamente identificados no probablemente de manera típica corresponden a una n-grama particular en una consulta de búsqueda. Al filtrar o ignorar estos nodos y los tipos de nodos, el sistema de redes sociales 160 puede, más eficientemente, buscar la gráfica social para elementos de gráfica social relevantes. Como un ejemplo y no a manera de limitación, para una consulta de texto que contiene “trabajó en Apple”, en donde un borde identificado 206 es “trabajó en”, el sistema de redes sociales 160 puede identificar el nodo de concepto 204 que corresponde a la compañía APPLE, INC. , que puede tener múltiples bordes 206 de “trabajó en” conectados al mismo. Sin embargo, para la misma consulta de texto, el sistema de redes sociales 160 puede no identificar el nodo de concepto 204 que corresponde al tipo de fruta “manzana”, que puede tener múltiples bordes de “me gusta” o “fanático” conectados al mismo, pero ninguna conexión de borde de “trabajó en”. En modalidades particulares, la probabilidad de umbral de nodo puede diferir para los nodos de usuario 202 y nodos de concepto 204. El n-grama puede ser identificada como correspondiendo a un nodo de usuario 302 kUSuar¡o si pi 'k > P umbral de nodo de usuario, mientras que la n-grama puede ser identificada como correspondiendo a un nodo de concepto 304 k concepto si p¡,j,k ^ P umbral de nodo de concepto E n m od a l id ades particu la res , el sistema de redes sociales 1060 solo puede identificar nodos que esten dentro de un grado de umbral de separación del nodo de usuario 202 que corresponde al primer usuario (es decir, el usuario que consulta). El grado de umbral de separación puede ser, por ejemplo, uno, dos, tres, o todos. Aunque esta descripción identifica nodos que corresponden a n-gramas en una forma particular, esta descripción contempla identificar nodos que corresponden a n-gramas en cualquier forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede acceder a un modelo de gramática independiente que comprende una pluralidad de gramáticas. Cada gramática del modelo de gramática puede comprender uno o más símbolos no terminales que pueden ser reemplazados por señales de consulta. Un módulo de gramática es un grupo de reglas de formación para secuencias en un lenguaje formal. Para generar una secuencia en el lenguaje, se inicia con una secuencia que consiste solo de un símbolo de inicio individual. Las reglas de producción después son aplicadas en cualquier orden, hasta que una secuencia que no contiene ni un símbolo de inicio y ni un símbolo no terminal designado se produce. En una gramática independiente, la producción de cada símbolo no terminal de la gramática es independiente de lo que se produce por otros símbolos no terminales de la gramática. Los símbolos no terminales pueden ser reemplazados con símbolos terminales (es decir, señales terminales o señales de consulta). Algunas de las señales de consulta pueden corresponder a nodos identificados o bordes identificados, como se describió previamente. Una secuencia generada por la gramática entonces puede ser utilizada como una consulta estructurada conteniendo referencias a los nodos identificados o bordes identificados. Una gramática independiente es una gramática en donde el lado izquierdo de cada regla de producción consiste únicamente de un símbolo no terminal individual. Una gramática independiente probabilística es una tupia (å, N, S, P ), en donde lo grupos de desunión å y N especifican los símbolos terminales y no terminales, respectivamente, S º N siendo el símbolo de inicio. P es el grupo de producciones, las cuales toman la forma E®x( ), con E e N, x e (å N) + , y p = Pr(£ ®x), la probabilidad de que E será expandido a la secuencia x. La suma de probabilidades p sobre todas las expansiones de un E no terminal dado debe ser de uno. Aunque esta descripción describe acceder a gramáticas particulares, esta descripción contempla cualquier gramática adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede identificar una o más gramáticas que tengan señales de consulta que corresponden a los nodos y bordes previamente identificados. En otras palabras, si un nodo identificado o borde identificado puede usarse como una señal de consulta en una gramática particular, esa gramática puede ser identificada por el sistema de redes sociales 160 como una posible gramática par utilizarse para generar una consulta estructurada. Este es efectivamente un tipo de análisis descendente-ascendente, en donde las posibles señales de consulta se utilizan para determinar la gramática aplicable para aplicar a la consulta. Como un ejemplo y no a manera de limitación, una gramática ilustrativa puede ser: [usuario][usuario-filtrar][escuela]. Los símbolos no terminales [usuario], [usuario-filtrar], y [escuela] entonces pueden ser determinados con base en n-gramas en la consulta de texto recibida. Para la consulta de texto “amigos stanford”, esta consulta puede ser analizada al utilizar la gramática, por ejemplo, como “[amigos][que van a][Universidad de Stanford]” o “[amigos][que trabajan en][Universidad de Stanford]”. Como otro ejemplo y no a manera de ilustración, una gramática ilustrativa puede ser [usuario][usuario-filtrar][ubicación]. Para la consulta de texto “amigos stanford”, esta consulta puede ser analizada al utilizar la gramática como, por ejemplo, “[amigos][que viven en][Stanford, California]”. En ambos casos ilustrativos anteriores, si las n-gramas de la consulta de texto recibida pueden ser utilizadas como señales de consulta en las gramáticas, entonces estas gramáticas pueden ser identificadas por el sistema de redes sociales 160. Similarmente, si la consulta de texto recibida comprende n-gramas que pueden no ser utilizados como señales de consulta en la gramática, esa gramática puede no ser identificada. Aunque esta descripción describe identificar gramáticas particulares en una forma particular, esta descripción contempla identificar cualquier gramática adecuada en una forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede determinar una calificación para cada gramática identificada. La calificación puede ser, por ejemplo, una calificación de confidencia, una probabilidad, una calidad, una clasificación, otro tipo adecuado de calificación, o cualquier combinación de las mismas. La calificación se puede basar en las calificaciones individuales o probabilidades asociadas con las señales de consulta de la gramática. Una gramática puede tener una calificación relativamente más alta si utiliza las señales de consulta con las calificaciones individuales más alta. Como un ejemplo y no a manera de limitación, continuando con los ejemplos anteriores, la n-grama “stanford” puede ser calificada con respecto a los siguientes elementos de gráfica social como sigue: escuela “Universidad de Stanford” = 0.7; ubicación “Stanford, California” = 0.2; usuario “Alien Stanford” = 0.1 . La n-grama “amigos” puede ser calificada con respecto a los siguientes elementos de gráfica social como sigue: usuario “amigos” = 0.9; espectáculo de televisión “Amigos” = 0.1 . De esta manera, la gramática [usuario][usuario-filtrar][escuela] puede tener una calificación relativamente alta si utiliza las señales de consulta para el usuario “amigos” y la escuela “Universidad de Stanford” (generando, por ejemplo, la secuencia “amigos que van a la Universidad de Stanford”), ambos tienen calificaciones individuales relativamente altas. En contraste, la gramática [usuario][usuario-filtrar][usuario] puede tener calificaciones relativamente bajas si utiliza las señales de consulta para el usuario “amigos” y el usuario “Alien Stanford” (generando, por ejemplo, la secuencia “amigos de Alien Stanford”), ya que la última señal de consulta tiene una calificación individual relativamente baja. Aunque esta descripción describe determinar calificaciones particulares para gramáticas particulares en una forma particular, esta descripción contempla determinar cualquier calificación adecuada para cualquier gramática en una forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede determinar la calificación para una gramática identificada basándose en la relevancia de los elementos de gráfica social que corresponden a las señales de consulta de la gramática al usuario que consulta (es decir, el primer usuario, que corresponde a un nodo 202 de primer usuario). Los nodos de usuario 202 y los nodos de concepto 204 que están conectados al nodo 202 de primer usuario a través de un borde 206 pueden ser considerados como relevantes para el primer usuario. De esta manera, las gramáticas que comprenden señales de consulta que corresponden a estos nodos y bordes relevantes pueden ser consideradas más relevantes para el usuario que consulta. Como un ejemplo y no a manera de limitación, un nodo de concepto 204 conectado por un borde 206 a un nodo 202 de primer usuario puede ser considerado relevante para el nodo 202 de primer usuario. Como se utiliza aquí, con referencia a una gráfica social 200, el término “conectado" significa una trayectoria que sale dentro de la gráfica social 200 entre dos nodos, en donde la trayectoria puede comprender uno o más bordes 206 y cero o más nodos intermediarios. En modalidades particulares, los nodos que están conectados al nodo 202 de primer usuario a través de uno o más nodos de intervención (y, por lo tanto, dos o más bordes 206) también puede ser considerados relevantes para el primer usuario. Además, en modalidades particulares, entre más cerca esté el segundo nodo al primer nodo de usuario, más relevante puede ser considerado el segundo nodo para el nodo de primer usuario. Es decir, entre menos bordes 206 separan el nodo 202 de primer usuario de un nodo de usuario 202 particular o nodo de concepto 204 (es decir, los menos grados de separación), más relevante se puede considerar a ese nodo de usuario 202 o nodo de concepto 204 para el primer usuario. Como un ejemplo y no a manera de limitación, como se ilustra en la Figura 2, el nodo de concepto 204 que corresponde a la escuela “Stanford” se conecta al nodo de usuario 202 que corresponde al Usuario “C”, y de esta manera el concepto “Stanford” puede ser considerado relevante para el Usuario “C". Como otro ejemplo y no a manera de limitación, el nodo de usuario 202 que corresponde al Usuario “A” está conectado al nodo de usuario 202 que corresponde al usuario “C” a través de un nodo intermediario y dos bordes 206 (es decir, el nodo de usuario intermedio 202 que corresponde al Usuario “B”), y de esta manera el Usuario “A” puede ser considerado como relevante para el Usuario “C”, pero ya que el nodo de usuario 202 para el usuario “A” es una conexión de segundo grado con respecto al Usuario “C”, ese nodo de concepto 204 particular puede ser considerado menos relevante que un nodo de usuario 202 que está conectado al nodo de usuario para el usuario “C” por un solo borde 206, tal como, por ejemplo, el nodo de usuario 202 que corresponde al Usuario “B”. Como otro ejemplo más y no a manera de limitación, el nodo de concepto para “Poker en línea” (el cual es un juego de jugadores múltiples en línea) no está conectado al nodo de usuario para el Usuario “C” a traves de ninguna trayectoria en la gráfica social 200, y de esta manera, el concepto “Poker en línea” puede no ser considerado relevante para el usuario “C”. En modalidades particulares, un segundo nodo solo puede ser considerado relevante para el primer usuario si el segundo nodo está dentro de un grado de umbral de separación del nodo 202 de primer usuario. Como un ejemplo y no a manera de limitación, si el grado de umbral de separación es de tres, entonces el nodo de usuario 202 que corresponde al Usuario “D” puede ser considerado relevante para el nodo de concepto 204 que corresponde a la receta de “Pollo Parmesano”, que está dentro de tres grados entre sí en la gráfica social 200 ilustrada en la Figura 2. Sin embargo, continuando con este ejemplo, el nodo de concepto 204 que corresponde a la aplicación “Todo Sobre Recetas” podría no ser considerado relevante para el nodo de usuario 202 que corresponde al Usuario “D” ya que estos nodos están cuatro grados separados en la gráfica social 200. Aunque esta descripción describe determinar si los elementos de gráfica social particulares (y sus señales de consulta correspondientes) son relevantes entre sí en una forma particular, esta descripción contempla determinar si cualquiera de los elementos de gráfica social adecuados es relevante entre sí en cualquier forma adecuada. Además, aunque esta descripción describe determinar si las señales de consulta particulares que corresponden a los nodos de usuario 202 y nodos de concepto 204 son relevantes para un usuario que consulta, esta descripción contempla la similitud para determinar si cualquier señal de consulta adecuada (y de esta forma cualquier nodo adecuado) es relevante a cualquier otro usuario.
En modalidades particulares, el sistema de redes sociales 160 puede determinar la calificación para una gramática basada en información de gráfica social que corresponde a las señales de consulta de la gramática. Como un ejemplo y no ha manera de limitación, cuando se determina una probabilidad, p, que una n-grama corresponde a un elemento de gráfica social particular, el cálculo de la probabilidad tambien puede ser un factor en la información de gráfica social. De esta manera, la probabilidad correspondiente a un elemento de gráfica social particular, k, dada una consulta de búsqueda particular, X, e información de gráfica social, G, puede ser calculada como p = (k \ x, G). Las probabilidades individuales para los nodos y bordes identificados entonces se puede utilizar para determinar la calificación para una gramática utilizando aquellos elementos de gráfica social como señales de consulta. En modalidades particulares, la calificación para una gramática identificada puede basarse en el grado de separación entre el nodo 202 de primer usuario y el elemento de gráfica social particular utilizado como una señal de consulta en la gramática. Las gramáticas con señales de consulta correspondientes a elementos de gráfica social que están más cerca en la gráfica social 200 ai usuario que consulta (es decir, pocos grados de separación entre el elemento y el nodo 202 de primer usuario) que un elemento de gráfica social que está más lejos del usuario (es decir, más grados de separación). Como un ejemplo y no a manera de limitación, haciendo referencia a la Figura 2, si el usuario “B” introduce una consulta de texto de “pollo”, una gramática con una señal de consulta que corresponde al nodo de concepto 204 para la receta “Pollo Parmesano”, que está conectado al usuario “B” por un borde 206, puede tener una calificación relativamente más alta que una gramática con una señal de consulta que corresponde a otros nodos asociados con la n-grama pollo (por ejemplo, los nodos de concepto 204 que corresponden a “nuggets de pollo”, o “danza del pollo funky”) que están conectados al usuario “B” en la gráfica social 200. En modalidades particulares, la calificación para una gramática identificada se puede basar en los bordes identificados 206 que corresponden a las señales de consulta de la gramática. Si el sistema de redes sociales 160 ya ha identificado uno o más bordes que corresponden a n-gramas en una consulta de texto recibida, esos bordes identificados entonces pueden ser considerados cuando se determina la calificación para un análisis particular de la consulta de texto por la gramática. Si una gramática particular comprende señales de consulta que corresponden tanto a nodos identificados como a bordes identificados, si los nodos identificados actualmente no corresponden a ninguno de los bordes identificados, a esa gramática particular se le puede asignar una calificación de cero o nula. En modalidades particulares, la calificación para una gramática identificada puede basarse en el número de bordes 206 conectados al nodo que corresponde a una señal de consulta de la gramática. Las gramáticas que comprenden señales de consulta que corresponden a nodos con más bordes de conexión 206 pueden ser populares y más probablemente ser un objetivo de una consulta de búsqueda. Como un ejemplo y no a manera de limitación, si el nodo de concepto 204 para “Stanford California” solo se conecta a través de cinco bordes mientras que el nodo de concepto 2'4 para “Universidad de Stanford” está conectado por cinco mil bordes, cuando se determina la calificación para gramáticas que contienen señales de consulta que corresponden a cualquier de estos nodos, el sistema de redes sociales 160 puede determinar que la gramática que hace referencia al nodo de concepto 204 para “Universidad de Stanford” tiene una calificación relativamente más alta que una gramática que hace referencia al nodo de concepto 204 para “Stanford , California” debido al número mayor de bordes conectados al nodo de concepto 204 inicial. En modalidades particulares, la calificación para una gramática identificada puede basarse en la historia de búsqueda asociada con el primer usuario (por ejemplo, el usuario que consulta). Las gramáticas con señales de consulta que corresponden a nodos que el primer usuario previamente ha accedido, o son relevantes a los nodos que el primer usuario previamente ha accedido, muy probablemente pueden ser el objetivo de la consulta de búsqueda del usuario. De esta manera, a estas gramáticas se les puede dar una calificación más alta. Como un ejemplo y no a manera de limitación, si el primer usuario ha visitado previamente la página de perfil de “Universidad de Stanford” pero nunca ha visitado la página de perfil de “Stanford, California”, cuando determina la calificación para gramáticas con señales de consulta que corresponden a estos conceptos, el sistema de redes sociales 160 puede determinar que el nodo de concepto 204 para “Universidad de Stanford” tiene una calificación relativamente alta, y así la gramática utiliza la señal de consulta correspondiente, ya que el usuario que consulta previamente ha accedido al nodo de concepto 204 para la escuela. Como otro ejemplo y no a manera de limitación, si el primer usuario previamente ha visitado la página de perfil de concepto para el espectáculo de televisión “Amigos”, cuando se determina la calificación para la gramática con la señal de consulta que corresponde al ese concepto, el sistema de redes sociales 160 puede determinar que el nodo de concepto 204 que corresponde al espectáculo de televisión “Amigos” tiene una calificación relativamente alta, y de esta manera la gramática que utiliza la señal de consulta correspondiente, ya que el usuario que consulta previamente ha accedido el nodo de concepto 204 para ese espectáculo de televisión. Aunque esta descripción describe determinar calificaciones para gramáticas particulares con base en información de gráfica social particular en una forma particular, esta descripción contempla determinar calificaciones para cualquier gramática adecuada basándose en cualquier información de gráfica social adecuada en cualquier forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede seleccionar una o más gramáticas que tengan una calificación mayor que una calificación de umbral de gramática. Cada una de las gramáticas seleccionadas puede contener señales de consulta que corresponden a por lo menos uno de los nodos identificados o bordes identificados (que corresponden a n-gramas de la consulta de texto recibida). En modalidades particulares, las gramáticas puede ser clasificadas con base en sus calificaciones determinadas, y solamente se seleccionan las gramáticas dentro de una clasificación de umbral (por ejemplo, por arriba de siete). Aunque esta descripción describe seleccionar gramáticas en una forma particular, esta descripción contempla seleccionar gramáticas en cualquier forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede generar una o más consultas estructuradas que corresponden a una gramática identificada que tiene una calificación mayor que una calificación de umbral de gramática. Cada consulta de estructura puede basarse en una secuencia generada por la gramática identificada correspondiente. Como un ejemplo y no a manera de limitación, en respuesta a la consulta de texto “amigos stanford”, la gramática [usuario][usuario-filtrar][escuela] puede generar una secuencia de “amigos que van a la Universidad de Stanford”, en donde las señales no terminales [usuario], [usuario-filtrar], [escuela] de la gramática han sido reemplazadas por las señales terminales [amigos], [que van a], y [Universidad de Stanford], respectivamente, para generar la secuencia. Cada consulta estructurada puede comprender señales de consulta que corresponden a la gramática identificada correspondiente, en donde estas señales de consulta corresponden a uno o más de los bordes identificados 206 y uno o más de los nodos identificados. Más adelante se describe la generación de consultas estructuradas.
La Figura 5 muestra un método 500 ilustrativo para utilizar un modelo de gramática independiente para generar consultas de búsqueda estructuradas. El método puede empezar en el paso 510, en donde el sistema de redes sociales 160 puede acceder a una gráfica social 200 que comprende una pluralidad de nodos y una pluralidad de bordes 206 que conectan los nodos. Los nodos pueden comprender un nodo 202 de primer usuario y una pluralidad de segundos nodos (uno o más nodos de usuario 202, nodos de concepto 204, o cualquier combinación de los mismos). En el paso 520, el sistema de redes sociales 160 puede recibir, del primer usuario, una consulta de texto substancialmente no estructurada. La consulta de texto puede comprender una o más n-gramas. En el paso 530, el sistema de redes sociales 160 puede identificar bordes y segundos nodos que corresponden a las n-gramas. En el paso 540, el sistema de redes sociales 160 puede acceder a un modelo de gramática independiente que comprende una pluralidad de gramáticas. Cada gramática puede comprender una o más señales de consulta. En el paso 550, el sistema de redes sociales 160 puede identificar gramáticas que tienen señales de consulta que corresponden a los nodos identificados o bordes identificados. En el paso 560, el sistema de redes sociales 160 puede determinar una calificación para cada gramática identificada. Esta calificación se puede basar en una variedad de factores. En el paso 570, el sistema de redes sociales puede generar una o más consultas estructuradas basándose en las gramáticas identificadas. Cada consulta estructurada puede corresponder a una gramática identificada que tenga una calificación mayor que una calificación de umbral de gramática, y puede comprender las señales de consulta de la gramática identificada correspondiente. Las señales de consulta de la consulta estructurada pueden corresponder a por lo menos uno de los segundos nodos identificados o bordes identificados. Las modalidades particulares pueden repetir uno o más pasos del metodo de la Figura 5, cuando es apropiado. Aunque esta descripción describe y muestra pasos particulares del método de la Figura 5 como ocurriendo en un orden particular, esta descripción contempla cualquier paso adecuado del método de la Figura 5 que ocurren en cualquier orden particular. Además, aunque esta descripción describe y muestra componentes, dispositivos o sistemas particulares que realizan pasos particulares del método de la Figura 5, esta descripción contempla cualquier combinación adecuada de cualquier componente, dispositivo, o sistema adecuado que realice cualquiera de los pasos adecuados del método de la Figura 5.
Generación de Consultas de Búsaueda Estructuradas En modalidades particulares, el sistema de redes sociales 160 puede generar una o más consultas estructuradas que cada una comprende las señales de consulta de la gramática correspondiente, en donde las señales de consulta pueden corresponder a uno o más de los nodos de usuario 202 identificados o uno o más de los bordes 206 identificados. Las consultas estructuradas generadas pueden basarse en gramáticas independientes, como se describió previamente. Este tipo de consulta de búsqueda estructurada puede hacer que el sistema de redes sociales 160 busque más eficientemente recursos y contenido relacionado con la red social en línea (tal como, por ejemplo, páginas de perfil) al buscar el contenido conectado a o de otra forma relacionado con los nodos de usuario 202 identificados y los bordes 206 identificados. Como un ejemplo y no a manera de limitación, en respuesta a la consulta de texto, “mostrar amigos de mi novia”, el sistema de redes sociales 160 puede generar una consulta estructurada, “Amigos de Stephanie”, en donde “Amigos” y “Stephanie” en la consulta estructurada son referencias que corresponden a elementos de gráfica social particular. La referencia a “Stephanie” podría corresponder a un nodo de usuario 202 particular, mientras que la referencia a “amigos” podría corresponder a los bordes 206 de “amigos” que conectan ese nodo de usuario 202 a otros nodos de usuario 202 (es decir, bordes 206 que conectan a los amigos de primer grado de “Stephanie”). Cuando se ejecuta esta consulta estructurada, el sistema de redes sociales 160 puede identificar uno o más nodos de usuario 202 conectados por los bordes 206 de “amigo” al nodo de usuario 202 que corresponde a “Stephanie”. En modalidades particulares, el sistema de redes sociales 160 puede generar una pluralidad de consultas estructuradas, en donde las consultas estructuradas pueden comprender referencias a diferentes nodos de usuario 202 identificados o diferentes bordes 206 identificados. Como un ejemplo y no a manera de limitación, en respuesta a la consulta de texto, “fotos del gato”, el sistema de redes sociales 160 puede generar una primera consulta estructurada de “Fotos de Catcy” y una segunda consulta estructurada de “Fotos de Catherine”, en donde “Fotos” en la consulta estructurada es una referencia que corresponde a un elemento de gráfica social particular, y en donde “Catey” y “Catherine” son referencias a dos diferentes nodos de usuario 202. Cuando se ejecutan cualquiera de estas consultas estructuradas, el sistema de redes sociales 160 puede identificar uno o más nodos de concepto 204 que corresponden a fotos que están conectadas a los nodos de usuario 202 identificados por los bordes 206. Aunque esta descripción describe generar consultas estructuradas particulares en una forma particular, esta descripción contempla generar cualquier de las consultas estructuradas adecuadas en una forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede generar una o más consultas estructuradas que cada una comprende señales de consulta que corresponden a los nodos de conceptos 24 identificados y uno o más bordes 206 identificados. Este tipo de consulta de búsqueda estructurada puede hacer que el sistema de redes sociales 160 busque más eficientemente recursos y contenido relacionado con la red social en línea (tal como, por ejemplo, páginas de perfil) al busca contenido conectado a o de otra manera relacionado con los nodos de concepto 204 identificados y bordes 206 identificados. Como un ejemplo y no a manera de limitación, en respuesta a la consulta de texto, “amigos que les gusta facebook”, el sistema de redes sociales 160 puede generar una consulta estructurada, “Amigos que les gusta Facebook”, en donde “Amigos”, “que les gusta”, y “Facebook” en la consulta estructurada son señales de consulta que corresponden a elementos de gráfica social particulares como se describió previamente (es decir, un borde 206 “amigo”, un borde 206 “que le gusta”, y un nodo de concepto 204 de “Facebook”). En modalidades particulares, el sistema de redes sociales 160 puede generar una pluralidad de consultas estructuradas, en donde las consultas estructuradas pueden comprender referencias a diferentes nodos de concepto 204 identificados o diferentes bordes 206 identificados. Como un ejemplo y no a manera de limitación, continuando con el ejemplo previo, además de la consulta estructurada “Amigos que les gusta Facebook”, el sistema de redes sociales 160 también puede generar una consulta estructurada “Amigos que les gusta el Grupo Culinario de Facebook”, en donde “Grupo Culinario de Facebook” en la consulta estructurada es una señal de consulta que corresponde aún a otro elementos de gráfica social. En modalidades particulares, el sistema de redes sociales 160 puede clasificar las consultas estructuradas generadas. Las consultas estructuradas pueden ser clasificadas con base en una variedad de factores. Aunque esta descripción describe generar consultas estructuradas particulares en una forma particular, esta descripción contempla generar cualquier consulta estructurada adecuada en cualquier forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede transmitir una o más de las consultas estructuradas al primer usuario (es decir, el usuario que consulta). Como un ejemplo y no a manera de limitación , después de que se generan consultas estructuradas, el sistema de redes sociales 160 puede transmitir una o más de las consultas estructuradas como una respuesta (la cual puede utilizar AJAX u otras téenicas adecuadas) al sistema de cliente 1 30 del usuario que pueden incluir, por ejemplo, los nombres (secuencias de nombre) de los elementos de gráfica social denominados, otras limitaciones de consulta (por ejemplo, operadores Boleanos, etc. ), así como, potencialmente, otros metadatos asociados con los elementos de gráfica social denominados. El navegar web 132 en el sistema de cliente 130 del usuario que consulta puede presentar las consultas estructuradas transmitidas en un menú desplegable 300, como se ilustra en las Figuras 4A-4B. En modalidades particulares, las consultas transmitidas pueden ser presentadas al usuario que consulta en un orden clasificado, tal como, por ejemplo, basándose en una clasificación previamente determinada como se describió antes. En una posición más prominente se pueden presentar consultas estructuradas con mejores clasificaciones. Además, en modalidades particulares, solamente las consultas estructuradas por arriba de una clasificación de umbral pueden ser transmitidas o presentadas al usuario que consulta. Como un ejemplo y no a manera de limitación, como se ilustra en las Figuras 4A-4B, las consultas estructuradas puede ser presentadas al usuario que consulta en un menú desplegable 300 en donde las consultas estructuradas de clasificación más alta pueden ser presentadas en la parte superior del menú, las consultas estructuradas de clasificación más baja se presentan en orden descendente en la parte de abajo del menú. En los ejemplos mostrados en las Figuras 4A-4B, solo siete de las consultas clasificadas más altas se transmiten y presentan al usuario. En modalidades particulares, una o más referencias en una consulta estructurada pueden ser resaltadas con el fin de indicar su correspondencia a un elemento de gráfica social particular. Como un ejemplo y no a manera de limitación, como se ilustra en las Figuras 4A-4B, las referencias a “Universidad de Stanford” y “Stanford, California” pueden ser resaltadas en las consultas estructuradas para indicar que corresponde a un nodo de concepto 204 particular. Similarmente, las referencias a “Amigos”, “me gusta”, “trabaja en”, y “va a” en las consultas estructuradas presentadas en el menú desplegable 200 tambien pueden ser resaltadas para indicar que corresponden a los bordes 206 particulares. Aunque esta descripción describe transmitir consultas estructuradas particulares en una forma particular, esta descripción contempla transmitir cualquier consulta estructurada en cualquier forma adecuada.
En modalidades particulares, el sistema de redes sociales 160 puede recibir, del primer usuario (es decir, el usuario que consulta), una selección de una de las consultas estructuradas. Como un ejemplo y no a manera de limitación, el navegador web 132 en el sistema de cliente 103 del usuario que consulta puede presentar las consultas estructuradas transmitidas en un menú desplegable 300, como se ilustra en las Figuras 4A-4B, en donde el usuario después puede dar clic en o de otra manera seleccionar (por ejemplo, simplemente al pulsa la tecla “enter” en su teclado) para indicar la consulta estructurada particular que el usuario desea ejecutar en el sistema de redes sociales 160. Después de seleccionar la consulta estructurada particular, el sistema de cliente 130 del usuario puede llamar o de otra manera instruir al sistema de redes sociales 160 a ejecutar la consulta estructurada seleccionada. Aunque esta descripción describe recibir selecciones de consultas estructuradas particulares en una forma particular esta descripción contempla recibir selecciones de cualquier consulta estructurada adecuada en cualquier forma adecuada.
Más información sobre consultas estructuradas se puede encontrar en la Solicitud de Patente de E. U.A. No. 13/556072, presentada el 23 de julio del 2012, la cual se incorpora aquí para referencia.
Sis te mas v Metodo s La Figura 6 muestra un sistema de computadora 600 ilustrativo. En modalidades particulares, uno o más sistemas de computadora 600 realizan uno o más pasos de uno o más métodos descritos o ilustrados aquí. En modalidades particulares, uno más sistemas de computadora 600 proporcionan funcionalidad aquí descrita o ilustrada. En modalidades particulares, el software que corre en uno o más sistemas de computadora 600 realiza uno o más pasos de uno o más métodos aquí descritos o ilustrados o proporciona funcionalidad aquí descrita o ilustrada. Las modalidades particulares incluyen una o más porciones de uno o más sistemas de computadora 600. Aquí, la referencia a un sistema de computadora puede abarcar un dispositivo de cómputo, en donde sea apropiado. Además, la referencia a un sistema de computadora puede abarcar uno o más sistemas de computadora, en donde sea apropiado.
Esta descripción contempla cualquier número adecuado de sistemas de computadora 600. Esta descripción contempla el sistema de computadora 600 tomando cualquier forma física adecuada. Como ejemplo y no a manera de limitación, el sistema de computadora 600 puede ser un sistema de computadora incorporado, un sistema en chip (SOC), un sistema de computadora de tablero individual (SBC) (tal como, por ejemplo, una computadora en módulo (CO ) o sistema en módulo (SOM)) , un sistema de computadora de escritorio, un sistema de computadora laptop o portátil, un quiosco interactivo, una macrocomputadora, una red de sistemas de computadora, un telefono móvil, un asistente digital personal (PDA), un servidor, un sistema de computadora de tableta, o una combinación de dos o más de éstos. Cuando es apropiado, el sistema de computadora 600 puede incluir uno o más sistemas de computadora 600; ser unitario o distribuido; múltiples ubicaciones de expansión; múltiples máqumas de expansión; múltiples centros de datos de expansión; o residir en una nube, la cual puede incluir uno o más componentes de nube en una o más redes. Cuando es apropiado, uno o más sistemas de computadora 600 pueden realizar, sin limitación espacial o temporal substancial, uno o más pasos de uno o más métodos aquí descritos o ilustrados. Como un ejemplo y no a manera de limitación, uno o más sistemas de computadora 600 puede realizar en tiempo real o en un modo intermitente uno o más pasos de uno o más métodos aquí descritos o ilustrados. Uno o más sistemas de computadora 600 pueden realizar, a diferentes tiempos o en diferentes ubicaciones, uno o más pasos de uno o más métodos aquí descritos o ilustrados, en donde sea apropiado.
En modalidades particulares, el sistema de computadora 600 incluye un procesador 602, memoria 604, almacenamiento 606, una interfase de entrada/salida (l/O) 608, una interfase de comunicación 610, y un conductor común 612. Aunque esta descripción describe y muestra un sistema de computadora particular que tiene un número particular de componentes particulares en una disposición particular, esta descripción contempla cualquier sistema de computadora adecuado que tenga cualquier número de cualquier componente en cualquier disposición adecuada.
En modalidades particulares, el procesador 602 incluye hardware para ejecutar instrucciones, tales como aquellas que forman un programa de computadora. Como un ejemplo y no a manera de limitación, para ejecutar instrucciones, el procesador 602 puede recuperar (o buscar) las instrucciones de un registrador interno, una memoria caché interna, memoria 604, o almacenamiento 606; descodificarlas y ejecutarlas; y después escribir uno o más resultados a un registrador interno, una memoria caché interna, memoria 604, o almacenamiento 606. En modalidades particulares, el procesador 602 puede incluir una o más memorias caché internas para datos, instrucciones, o direcciones. Esta descripción contempla que el procesador 603 incluye cualquier número de cualquier memoria caché interna, cuando es apropiado. Como un ejemplo y no a manera de limitación, el procesador 602 puede incluir una o más memorias caché de instrucción, una o más memorias caché de datos, y una o más memorias intermedias de traducción anticipada (TLBs). Las instrucciones en las memorias cache de instrucción pueden ser copias de instrucciones en la memoria 604 o almacenamiento 606, y las memorias caché de instrucción pueden acelerar la recuperación de esas instrucciones por el procesador 602. Los datos en las memorias caché de datos puede ser copias de datos en la memoria 604 o almacenamiento 606 para instrucciones que se ejecutan en el procesador 602 para operar en: los resultados de instrucciones previas ejecutadas en el procesador 602 para tener acceso a través de instrucciones subsecuentes que se ejecutan en el procesador 602 o para escribir en la memoria 604 o almacenamiento 606; u otros datos adecuados. Las memorias caché de datos pueden acelerar las operaciones de lectura y escritura por el procesador 602. Las TLBs puede acelerar la traducción de dirección virtual para el procesador 602. En modalidades particulares, el procesador 602 puede incluir uno o más registros internos para datos, instrucciones, o direcciones. Esta descripción contempla que el procesador 602 incluye cualquier número adecuado de cualquier registro interno, cuando es apropiado. En donde es apropiado, el procesador 602 puede incluir una o más unidades lógicas aritméticas (ALUs); ser un procesador de núcleos múltiples; o incluir uno o más procesadores 602. Aunque esta descripción describe y muestra un procesador particular, esta descripción contempla cualquier procesador adecuado.
En modalidades particulares, la memoria 604 incluye una memoria principal para almacenar instrucciones para que el procesador 602 ejecute o datos en los que opere el procesador 602. Como un ejemplo y no a manera de limitación, el sistema de computadora 600 puede almacenar instrucciones desde el almacenamiento 606 u otra fuente (tal como, por ejemplo, otro sistema de computadora 600) a la memoria 604. El procesador 602 después puede cargar las instrucciones de la memoria 604 un registro interno o memoria caché interna. Para ejecutar las instrucciones, el procesador 602 puede recuperar las instrucciones del registro interno o memoria caché interna y descodificarlas. Durante o después de la ejecución de las instrucciones, el procesador 602 puede escribir uno o más resultados (los cuales puede ser resultados intermedios o finales) al registro interno o memoria caché interna. El procesador 602 entonces puede escribir uno o más de estos resultados a la memoria 604. En modalidades particulares, el procesador 602 ejecuta solo instrucciones en uno o más registros internos o memorias caché internas o en la memoria 604 (según opuesto al almacenamiento 606 o en otra parte) y opera solo en datos en uno o más registros internos o memorias caché internas o en la memoria 604 (según opuesto al almacenamiento 606 o en otra parte). Uno o más conductores de comunes de memoria (los cuales cada uno puede incluir un conductor común de dirección y un conductor común de datos) puede acoplar el procesador 602 a la memoria 604. El conductor común 612 puede incluir uno o más conductores comunes de memoria, como se describe más adelante.
En modalidades particulares, una o más unidades de manejo de memoria (MMUs) residen entre el procesador 602 y la memoria 604 y facilitan los accesos a la memoria 604 solicitados por el procesador 602. En modalidades particulares, la memoria 604 incluye memoria de acceso aleatorio (RAM). Esta RAM puede ser memoria volátil, en donde sea apropiado. En donde sea apropiado, esta RAM puede ser RAM dinámica (DRAM) o RAM estática (SRAM). Además, en donde sea apropiado, esta RAM puede ser una RAM de un solo puerto o de puertos múltiples. Esta descripción contempla cualquier RAM adecuada. La memoria 604 puede incluir una o más memorias 604, en donde es apropiado. Aunque esta descripción describe y muestra una memoria particular, esta descripción contempla cualquier memoria adecuada.
En modalidades particulares, el almacenamiento 606 incluye un almacenamiento masivo para datos o instrucciones. Como un ejemplo y no a manera de limitación, el almacenamiento 606 puede incluir una unidad de disco duro (HDD), una unidad de disco flexible, memoria flash, un disco óptico, un disco magneto-óptico, cinta magnetica, o una unidad de Conductos Común en Serie Universal (USB), o una combinación de dos o más de éstos. El almacenamiento 606 puede incluir medios removibles y no removibles (o fijos), en donde sea apropiado. El almacenamiento 606 puede ser interno o externo al sistema de computadora 600, en donde sea apropiado. En modalidades particulares, el almacenamiento 606 en una memoria no volátil, de estado sólido. En modalidades particulares, el almacenamiento 606 incluye memoria de solo lectura (ROM). En donde sea apropiado, esta ROM puede ser una ROM programada por máscara, ROM programable (PROM), PROM borrable (EPROM), PROM eléctricamente borrable (EEPROM), ROM eléctricamente alterable (EAROM), o memoria flash o una combinación de dos o más de éstos. Esta descripción contempla el almacenamiento masivo 606 tomando cualquier forma física adecuada. El almacenamiento 606 puede incluir una o más unidades de control de almacenamiento que facilitan la comunicación entre el procesador 602 y el almacenamiento 606, en donde sea apropiado. En donde sea apropiado, el almacenamiento 606 puede incluir uno o más almacenamientos 606. Aunque esta descripción describe y muestra un almacenamiento particular, esta descripción contempla cualquier almacenamiento adecuado.
En modalidades particulares, la interfase de l/O 608 incluye hardware, software, o ambos, proporcionando una o más interfases para comunicación entre el sistema de computadora 600 y uno o más dispositivos de l/O. El sistema de computadora 600 puede incluir uno o más de estos dispositivos de l/O, en donde sea apropiado. Uno o más de estos dispositivos de l/O puede permitir la comunicación entre una persona y el sistema de computadora 600. Como un ejemplo y no a manera de limitación, un dispositivo de l/O puede incluir un teclado, un teclado numérico, micrófono, monitor, ratón, impresora, escáner, bocina, cámara fija, estilete, tableta, pantalla táctil, seguibola, videocámara, otro dispositivo de l/O o una combinación de dos o más de estos. Un dispositivo de l/O puede incluir uno o más sensores. Esta descripción contempla cualquier dispositivo de l/O adecuado y cualquier interfase de l/O adecuada 608 para él. En donde es apropiado, la interfase de l/O 608 puede incluir uno o más controladores de dispositivo o de software que permiten al procesador 602 dirigir uno o más de estos dispositivos de l/O. La interfase de l/O 608 puede incluir una o más interfases de l/O 608, en donde sea apropiado. Aunque esta descripción describe y muestra una interfase de l/O particular, esta descripción contempla cualquier interfase de l/O adecuada.
En modalidades particulares, la interfase de comunicación 610 incluye hardware, software, o ambos proporcionando una o más interfases para comunicación (tal como, por ejemplo, comunicación basada en paquete) entre el sistema de computadora 600 y uno o más de otros sistemas de computadora 600 o una o más redes. Como un ejemplo y no a manera de limitación, la interfase de comunicación 610 puede incluir un controlador de interfase de red (NIC) o un adaptador de red para comunicarse con una Ethernet u otra red basada en cable o un NIC inalámbrico (WN IC) o un adaptador inalámbrico para comunicarse con una red inalámbrica, tal como una red Wi-Fi . Esta descripción contempla cualquier red adecuada y cualquier combinación de interfase 610 para ella. Como un ejemplo y no a manera de limitación, el sistema de computadora 600 puede comunicarse con una red ad hoc, una red de área personal (PAN), una red de área local (LAN), una red de área ancha (WAN), una red de área metropolitana (MAN), o una o más porciones de Internet o una combinación de dos o más de éstas. Una o más porciones de una o más de estas redes puede ser por cable o inalámbrica. Como un ejemplo, el sistema de computadora 600 puede comunicarse con una PAN inalámbrica (WPAN) (tal como, por ejemplo, una WPAN de BLUETOOTH), una red de WI-FI , una red WI-MAX, una red de teléfono celular (tal como, por ejemplo, una red de Sistema Global para Comunicaciones Móviles (GSM)), u otra red inalámbrica adecuada o una combinación de dos o más de éstas. El sistema de computadora 600 puede incluir cualquier interfase de comunicación 610 adecuada para cualquiera de estas redes, en donde es apropiado. La interfase de comunicación 610 puede incluir una o más interfases de comunicación 610, en donde es apropiado. Aunque esta descripción describe y muestra una interfase de comunicación particular, esta descripción contempla cualquier interfase de comunicación adecuada.
En modalidades particulares, el conductor común 612 incluye hardware, software, o ambos acoplando componentes del sistema de computadora 600 entre sí. Como un ejemplo y no a manera de limitación, el conductor común 612 puede incluir un Puerto de Gráficos Acelerado (AGP) u otro conductor común de gráficos, un conductor común de Arquitectura Estándar de Industria Mejorada (EISA), un conductor común de lado frontal (FSB), una interconexión de H I PERTRANSPORTE (HT), una conductor común de Arquitectura Estándar de Industria (ISA), una interconexión I NFINI BAND, un conductor común de cuenta de conexión baja (LCP), un conductor común de memoria, un conductor común de Arquitectura de Micro-Canal (MCA), un conductor común de Interconexión de Componente Periferico (PCI), un conductor común de PCI-Exprés (PCIe), un conductor común de unión de teenología avanzada en serie (SATA), un conductor común local de Asociación Estándar de Video Electrónica (VLB), u otro conductor común o una combinación de dos o más de éstos. El conductor común 612 puede incluir uno o más conductores comunes 612, en donde sea apropiado. Aunque esta descripción describe y muestra un conductor común particular, esta descripción contempla cualquier conductor común o interconexión adecuada.
Aquí, un medio o medios de almacenamiento no transitorios legibles por computadora pueden incluir uno o más circuitos basados en semi-conductor u otros circuitos integrados (ICs) (tales como, por ejemplo, disposiciones de puerta de campo programable (FPGAs) o ICs de aplicación específica (ASCIs)), unidades de disco duro (HDDs), unidades duras híbridas (HHDs), discos ópticos, unidades de disco óptico (ODDs), discos magneto-ópticos, unidades magneto-ópticas, discos flexibles, unidades de discos flexibles (FDDs), cintas magnéticas, unidades de estado sólido (SSDs), unidades RAM, tarjetas o dispositivos DIGITALES SEGUROS, cualquier otro medios de almacenamiento no transitorio legible por computadora adecuado, o cualquier combinación de dos o más de éstos, en donde sea apropiado. Un medio de almacenamiento no transitorio legible por computadora puede ser volátil, no volátil, o una combinación de volátil y no volátil, en donde sea apropiado.
Aquí, “o” es inclusivo o no exclusivo, a menos que expresamente se indique de otra manera o se indique de otra manera por contexto. Por lo tanto, aquí “A o B” significa “A, B, o ambos”, a menos que se indique expresamente de otra manera o se indique de otra manera por contexto. Además, “y” es tanto unido como separado, a menos que se indique expresamente de otra manera o se indique de otra manera por contexto. Por lo tanto, aquí, “A y B” significa “A y B en conjunto o separadamente”, a menos que se indique expresamente de otra manera o se indique de otra manera por contexto.
El alcance de esta descripción abarca todos los cambios, substituciones, variaciones, alteraciones, y modificaciones a las modalidades ilustrativas aquí descritas y mostradas que un experto en la téenica podría comprender. El alcance de esta descripción no está limitado a las modalidades ilustrativas descritas o mostradas aquí. Además, aunque esta descripción describe y muestra modalidades respectivas de la presente como incluyendo componentes, elementos, funciones, operaciones o pasos particulares, cualquiera de estas modalidades puede incluir cualquier combinación o cambio de cualquiera de los componentes, elementos, funciones, operaciones o pasos descritos o mostrados aquí en cualquier parte que un experto en la técnica podría comprender. Además, la referencia en las reivindicaciones anexas a un aparato o sistema o un componente de un aparato o sistema estando adaptado a, dispuesto para, capaz de, configurado para, habilitado para, operable para, u operativo para realizar una función particular abarca ese aparato, sistema, componente, si esta función particular es activada o no, encendida, o desbloqueada, siempre que el aparato, sistema, o componente sea así adaptado, dispuesto, capaz de, configurado, habilitado, operable, u operativo.

Claims (20)

REIVI NDICACION ES
1. Un método que comprende, a través de un dispositivo de cómputo: acceder a una gráfica social que comprende una pluralidad de nodos y una pluralidad de bordes que conectan los nodos, cada uno de los bordes entre dos de los nodos representando un grado de separación individual entre ello, los nodos comprenden: un primer nodo de usuario que corresponde a un primer usuario asociado con una red social en línea; y una pluralidad de segundos nodos que cada uno corresponde a un concepto o un segundo usuario asociado con la red social en línea; recibir, del primer usuario, una consulta de texto no estructurada; identificar uno o más bordes de uno o más segundos nodos, cada uno de los bordes identificados o nodos identificados correspondiendo a por lo menos una porción de la consulta de texto no estructurada; acceder a un modelo de gramática independiente que comprende una pluralidad de gramáticas, cada gramática comprendiendo una o más señales de consulta; identificar una o más gramáticas, cada gramática identificada teniendo una o más señales de consulta que corresponden a por lo menos uno de los segundos nodos identificados o bordes identificados; determinar una primera calificación para cada gramática identificada; y generar una o más consultas estructuradas, cada consulta estructurada correspondiendo a una gramática identificada que tiene una primera calificación mayor que una calificación de umbral de gramática, en donde la consulta estructurada se basa en una secuencia generada por la gramática identificada, cada consulta estructurada comprende las señales de consulta de la gramática identificada correspondiente, en donde una o más de las señales de consulta de la consulta estructurada corresponde a por lo menos uno de los segundos nodos identificados o bordes identificados.
2. El método de acuerdo con la reivindicación 1 , en donde la consulta de texto no estructurada comprende una o más n-gramas, en donde cada uno de los bordes identificados o nodos identificados corresponde a por lo menos una de las n-gramas.
3. El método de acuerdo con la reivindicación 2, en donde cada n-grama comprende uno o más caracteres del texto introducido por el primer usuario.
4. El método de acuerdo con la reivindicación 2, en donde cada n-grama comprende una secuencia contigua de n artículos de la consulta de texto.
5. El método de acuerdo con la reivindicación 2, en donde identificar uno o más bordes o segundos nodos comprende: determinar una segunda calificación para cada n-grama que el n-grama corresponde a un borde o un segundo nodo; seleccionar uno o más bordes que tienen una segunda calificación mayor que una calificación de umbral de borde, cada uno de los bordes identificados correspondiendo a por lo menos una de las n-gramas; y seleccionar uno o más de los segundos nodos que tienen una segunda calificación mayor que una calificación de umbral de nodo, cada uno de los segundos nodos identificados estando conectado a por lo menos uno de los bordes identificados, cada uno de los segundos nodos identificados correspondiendo a por lo menos una de las n-gramas.
6. El metodo de acuerdo con la reivindicación 5, en donde la segunda calificación para cada n-grama es una probabilidad que la n-grama corresponda a un borde o un segundo nodo.
7. El método de acuerdo con la reivindicación 1 , en donde determinar la primera calificación para cada gramática se basa en el grado de separación entre el primer nodo de usuario y los segundos nodos identificados que corresponden a las señales de consulta de la gramática.
8. El método de acuerdo con la reivindicación 1 , en donde determinar la primera calificación para cada gramática se basa en los bordes identificados que corresponden a las señales de consulta de la gramática.
9. El método de acuerdo con la reivindicación 1 , en donde determinar la primera calificación de cada gramática se basa en el número de bordes identificados conectados a los segundos nodos identificados que corresponden a las señales de consulta de la gramática.
10. El metodo de acuerdo con la reivindicación 1 , en donde determinar la primera calificación para cada gramática se basa en la historia de búsqueda asociada con el primer usuario.
1 1 . Uno o más medios de almacenamiento no transitorios legibles por computadora que modalizan un software que es operable cuando se ejecuta para: acceder a una gráfica social que comprende una pluralidad de nodos y una pluralidad de bordes que conectan los nodos, cada uno de los bordes entre dos de los nodos representando una grado de separación individual entre ellos, los nodos comprenden: un primer nodo de usuario que corresponde a un primer usuario asociado con una red social en línea; y una pluralidad de segundos nodos que cada uno corresponde a un concepto o un segundo usuario asociado con la red social en linea; recibir, del primer usuario, una consulta de texto no estructurada; identificar uno o más bordes de uno o más segundos nodos, cada uno de los bordes identificados o nodos identificados correspondiendo a por lo menos una porción de la consulta de texto no estructurada; acceder a un modelo de gramática independiente que comprende una pluralidad de gramáticas, cada gramática comprendiendo una o más señales de consulta; identificar una o más gramáticas, cada gramática identificada teniendo una o más señales de consulta que corresponden a por lo menos uno de los segundos nodos identificados o bordes identificados; determinar una primera calificación para cada gramática identificada; y generar una o más consultas estructuradas, cada consulta estructurada correspondiendo a una gramática identificada que tiene una primera calificación mayor que una calificación de umbral de gramática, en donde la consulta estructurada se basa en una secuencia generada por la gramática identificada, cada consulta estructurada comprende las señales de consulta de la gramática identificada correspondiente, en donde una o más de las señales de consulta de la consulta estructurada corresponde a por lo menos uno de los segundos nodos identificados o bordes identificados.
12. Los medios de acuerdo con la reivindicación 1 1 , en donde la consulta de texto no estructurada comprende una o más n-gramas, en donde cada uno de los bordes identificados o nodos identificados corresponde a por lo menos una de las n-gramas.
13. Los medios de acuerdo con la reivindicación 12, en donde cada n-grama comprende uno o más caracteres del texto introducido por el primer usuario.
14. Los medios de acuerdo con la reivindicación 12, en donde cada n-grama comprende una secuencia contigua de n artículos de la consulta de texto.
15. Los medios de acuerdo con la reivindicación 12, en donde identificar uno o más bordes o segundos nodos comprende: determinar una segunda calificación para cada n-grama que el n-grama corresponde a un borde o un segundo nodo; seleccionar uno o más bordes que tienen una segunda calificación mayor que una calificación de umbral de borde, cada uno de los bordes identificados correspondiendo a por lo menos una de las n-gramas; y seleccionar uno o más de los segundos nodos que tienen una segunda calificación mayor que una calificación de umbral de nodo, cada uno de los segundos nodos identificados estando conectado a por lo menos uno de los bordes identificados, cada uno de los segundos nodos identificados correspondiendo a por lo menos una de las n-gramas.
16. Los medios de acuerdo con la reivindicación 15, en donde la segunda calificación para cada n-grama es una probabilidad que la n-grama corresponda a un borde o un segundo nodo.
17. Los medios de acuerdo con la reivindicación 1 1 , en donde determinar la primera calificación para cada gramática se basa en el grado de separación entre el primer nodo de usuario y los segundos nodos identificados que corresponden a las señales de consulta de la gramática.
18. Los medios de acuerdo con la reivindicación 1 1 , en donde determinar la primera calificación para cada gramática se basa en los bordes identificados que corresponden a las señales de consulta de la gramática.
19. Los medios de acuerdo con la reivindicación 1 1 , en donde determinar la primera calificación de cada gramática se basa en el número de bordes identificados conectados a los segundos nodos identificados que corresponden a las señales de consulta de la gramática.
20. Un sistema que comprende: uno o más procesadores; y una memoria acoplada a los procesadores que comprende instrucciones ejecutables por los procesadores, los procesadores operables cuando se ejecutan las instrucciones para: acceder a una gráfica social que comprende una pluralidad de nodos y una pluralidad de bordes que conectan los nodos, cada uno de los bordes entre dos de los nodos representando una grado de separación individual entre ellos, los nodos comprenden: un primer nodo de usuario que corresponde a un primer usuario asociado con una red social en línea; y una pluralidad de segundos nodos que cada uno corresponde a un concepto o un segundo usuario asociado con la red social en línea; recibir, del primer usuario, una consulta de texto no estructurada; identificar uno o más bordes de uno o más segundos nodos, cada uno de los bordes identificados o nodos identificados correspondiendo a por lo menos una porción de la consulta de texto no estructurada; acceder a un modelo de gramática independiente que comprende una pluralidad de gramáticas, cada gramática comprendiendo una o más señales de consulta; identificar una o más gramáticas, cada gramática identificada teniendo una o más señales de consulta que corresponden a por lo menos uno de los segundos nodos identificados o bordes identificados; determinar una primera calificación para cada gramática identificada; y generar una o más consultas estructuradas, cada consulta estructurada correspondiendo a una gramática identificada que tiene una primera calificación mayor que una calificación de umbral de gramática, en donde la consulta estructurada se basa en una secuencia generada por la gramática identificada, cada consulta estructurada comprende las señales de consulta de la gramática identificada correspondiente, en donde una o más de las señales de consulta de la consulta estructurada corresponde a por lo menos uno de los segundos nodos identificados o bordes identificados.
MX2015006040A 2012-11-12 2013-10-29 Modelo de gramatica para consultas de busqueda estructuradas. MX342073B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/674,695 US9105068B2 (en) 2012-11-12 2012-11-12 Grammar model for structured search queries
PCT/US2013/067214 WO2014074346A1 (en) 2012-11-12 2013-10-29 Grammar model for structured search queries

Publications (2)

Publication Number Publication Date
MX2015006040A true MX2015006040A (es) 2015-08-07
MX342073B MX342073B (es) 2016-09-13

Family

ID=49552279

Family Applications (2)

Application Number Title Priority Date Filing Date
MX2015006040A MX342073B (es) 2012-11-12 2013-10-29 Modelo de gramatica para consultas de busqueda estructuradas.
MX2016011819A MX350680B (es) 2012-11-12 2013-10-29 Modelo de gramática para consultas de búsqueda estructuradas.

Family Applications After (1)

Application Number Title Priority Date Filing Date
MX2016011819A MX350680B (es) 2012-11-12 2013-10-29 Modelo de gramática para consultas de búsqueda estructuradas.

Country Status (11)

Country Link
US (3) US9105068B2 (es)
EP (1) EP2731069A1 (es)
JP (3) JP5902871B2 (es)
KR (2) KR101582929B1 (es)
CN (2) CN104781813B (es)
AU (3) AU2013341565B2 (es)
BR (1) BR112015010802A2 (es)
CA (2) CA2897123C (es)
IL (3) IL238467A (es)
MX (2) MX342073B (es)
WO (1) WO2014074346A1 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361363B2 (en) 2012-12-31 2016-06-07 Facebook, Inc. Modifying structured search queries on online social networks
US9367607B2 (en) 2012-12-31 2016-06-14 Facebook, Inc. Natural-language rendering of structured search queries
US9703844B2 (en) 2012-12-31 2017-07-11 Facebook, Inc. Search result snippets for structured search queries
US8965915B2 (en) 2013-03-17 2015-02-24 Alation, Inc. Assisted query formation, validation, and result previewing in a database having a complex schema
US9805099B2 (en) * 2014-10-30 2017-10-31 The Johns Hopkins University Apparatus and method for efficient identification of code similarity
US10412160B2 (en) * 2015-08-05 2019-09-10 Facebook, Inc. Controlling a device cloud
DE102016010909A1 (de) * 2015-11-11 2017-05-11 Adobe Systems Incorporated Strukturiertes Modellieren, Extrahieren und Lokalisieren von Wissen aus Bildern
CN107015979B (zh) * 2016-01-27 2021-04-06 斑马智行网络(香港)有限公司 一种数据处理方法、装置和智能终端
US10185763B2 (en) * 2016-11-30 2019-01-22 Facebook, Inc. Syntactic models for parsing search queries on online social networks
US10162886B2 (en) * 2016-11-30 2018-12-25 Facebook, Inc. Embedding-based parsing of search queries on online social networks
US10558817B2 (en) * 2017-01-30 2020-02-11 Foley & Lardner LLP Establishing a link between identifiers without disclosing specific identifying information
US10614141B2 (en) 2017-03-15 2020-04-07 Facebook, Inc. Vital author snippets on online social networks
US10445319B2 (en) * 2017-05-10 2019-10-15 Oracle International Corporation Defining subgraphs declaratively with vertex and edge filters
US10678786B2 (en) 2017-10-09 2020-06-09 Facebook, Inc. Translating search queries on online social networks
CN107704450B (zh) * 2017-10-13 2020-12-04 威盛电子股份有限公司 自然语言识别设备以及自然语言识别方法
KR102363131B1 (ko) * 2018-01-12 2022-02-15 (주)호모미미쿠스 도식화된 질의 구성 방식을 이용한 전문가시스템에서의 다차원 지식 검색 방법 및 시스템
CN110209885B (zh) * 2018-04-26 2023-05-12 腾讯科技(深圳)有限公司 一种图查询方法及系统
US10664472B2 (en) * 2018-06-27 2020-05-26 Bitdefender IPR Management Ltd. Systems and methods for translating natural language sentences into database queries
CN110889000B (zh) * 2018-09-10 2022-08-16 百度在线网络技术(北京)有限公司 用于输出信息的方法和装置
KR102149701B1 (ko) * 2018-12-27 2020-08-31 포항공과대학교 산학협력단 텍스트 데이터에서 의미상 대응하는 자연어-sql의 매핑 방법
US11966389B2 (en) * 2019-02-13 2024-04-23 International Business Machines Corporation Natural language to structured query generation via paraphrasing
US11275906B2 (en) 2019-07-17 2022-03-15 Avigilon Corporation Natural language text conversion and method therefor
KR102345568B1 (ko) * 2019-12-26 2021-12-31 포항공과대학교 산학협력단 자연어 단어를 데이터베이스의 컬럼 및 테이블과 연결하는 방법
CN111787351B (zh) * 2020-07-01 2022-09-06 百度在线网络技术(北京)有限公司 信息查询方法、装置、设备和计算机存储介质

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957184B2 (en) 2000-07-20 2005-10-18 Microsoft Corporation Context free grammar engine for speech recognition system
US6714939B2 (en) 2001-01-08 2004-03-30 Softface, Inc. Creation of structured data from plain text
US7752326B2 (en) 2001-08-20 2010-07-06 Masterobjects, Inc. System and method for utilizing asynchronous client server communication objects
US20090006543A1 (en) 2001-08-20 2009-01-01 Masterobjects System and method for asynchronous retrieval of information based on incremental user input
US8112529B2 (en) 2001-08-20 2012-02-07 Masterobjects, Inc. System and method for asynchronous client server session communication
US7512612B1 (en) 2002-08-08 2009-03-31 Spoke Software Selecting an optimal path through a relationship graph
US20050131872A1 (en) 2003-12-16 2005-06-16 Microsoft Corporation Query recognizer
US7487145B1 (en) * 2004-06-22 2009-02-03 Google Inc. Method and system for autocompletion using ranked results
US7836044B2 (en) 2004-06-22 2010-11-16 Google Inc. Anticipated query generation and processing in a search engine
US7499940B1 (en) 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
AU2006321767B2 (en) 2005-12-07 2010-11-25 Telecommunication Systems, Inc. Method and system for a user input solution for a limited telecommunication device
JP2008027290A (ja) * 2006-07-24 2008-02-07 Nippon Telegr & Teleph Corp <Ntt> 日本語文作成支援方法及びその装置
US7933843B1 (en) 2006-08-26 2011-04-26 CommEq Ltd. Media-based computational influencer network analysis
US8280978B2 (en) 2006-12-29 2012-10-02 Prodea Systems, Inc. Demarcation between service provider and user in multi-services gateway device at user premises
US8713143B2 (en) 2007-04-27 2014-04-29 President And Fellows Of Harvard College Establishing a social network
US8280886B2 (en) * 2008-02-13 2012-10-02 Fujitsu Limited Determining candidate terms related to terms of a query
US20090228296A1 (en) 2008-03-04 2009-09-10 Collarity, Inc. Optimization of social distribution networks
US8417698B2 (en) 2008-05-06 2013-04-09 Yellowpages.Com Llc Systems and methods to provide search based on social graphs and affinity groups
US8027990B1 (en) 2008-07-09 2011-09-27 Google Inc. Dynamic query suggestion
US8032508B2 (en) 2008-11-18 2011-10-04 Yahoo! Inc. System and method for URL based query for retrieving data related to a context
US8412749B2 (en) 2009-01-16 2013-04-02 Google Inc. Populating a structured presentation with new values
US20100235354A1 (en) 2009-03-12 2010-09-16 International Business Machines Corporation Collaborative search engine system
US20100281044A1 (en) 2009-04-29 2010-11-04 Ajay Gupta Method and system for creating a profiled social network
US8782069B2 (en) 2009-06-11 2014-07-15 Chacha Search, Inc Method and system of providing a search tool
CN102012900B (zh) * 2009-09-04 2013-01-30 阿里巴巴集团控股有限公司 信息检索方法和系统
US20110078166A1 (en) 2009-09-29 2011-03-31 Nokia Corporation Method and apparatus for creating and utilizing information representation of queries
US8862482B2 (en) 2009-10-09 2014-10-14 International Business Machines Corporation Managing connections between real world and virtual world communities
US20110087534A1 (en) 2009-10-14 2011-04-14 Wantsa Media (Canada), Inc. Search queries and advertising platforms utilizing at least one social graph
US8239364B2 (en) 2009-12-08 2012-08-07 Facebook, Inc. Search and retrieval of objects in a social networking system
US9129012B2 (en) * 2010-02-03 2015-09-08 Google Inc. Information search system with real-time feedback
US8595297B2 (en) 2010-02-08 2013-11-26 At&T Intellectual Property I, L.P. Searching data in a social network to provide an answer to an information request
US8527496B2 (en) 2010-02-11 2013-09-03 Facebook, Inc. Real time content searching in social network
US8180804B1 (en) * 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
US8185558B1 (en) 2010-04-19 2012-05-22 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph
JP5296014B2 (ja) * 2010-06-22 2013-09-25 ヤフー株式会社 検索装置、方法及びプログラム
US8719246B2 (en) * 2010-06-28 2014-05-06 Microsoft Corporation Generating and presenting a suggested search query
US8364709B1 (en) 2010-11-22 2013-01-29 Google Inc. Determining word boundary likelihoods in potentially incomplete text
US9870424B2 (en) * 2011-02-10 2018-01-16 Microsoft Technology Licensing, Llc Social network based contextual ranking
US9495461B2 (en) * 2011-03-22 2016-11-15 Excalibur Ip, Llc Search assistant system and method
US20120278127A1 (en) 2011-04-28 2012-11-01 Rawllin International Inc. Generating product recommendations based on dynamic product context data and/or social activity data related to a product
US20160026727A1 (en) * 2011-06-03 2016-01-28 Google Inc. Generating additional content
US20120311034A1 (en) 2011-06-03 2012-12-06 Cbs Interactive Inc. System and methods for filtering based on social media
US8601027B2 (en) 2011-06-20 2013-12-03 Google Inc. Query-based user groups in social networks
US20130031106A1 (en) 2011-07-29 2013-01-31 Microsoft Corporation Social network powered query suggestions
US8538960B2 (en) 2011-08-05 2013-09-17 Microsoft Corporation Providing objective and people results for search
US20130041876A1 (en) 2011-08-08 2013-02-14 Paul Alexander Dow Link recommendation and densification
US11620719B2 (en) 2011-09-12 2023-04-04 Microsoft Technology Licensing, Llc Identifying unseen content of interest
US8949232B2 (en) 2011-10-04 2015-02-03 Microsoft Corporation Social network recommended content and recommending members for personalized search results
US8949264B2 (en) * 2012-01-30 2015-02-03 Hewlett-Packard Development Company, L.P. Disambiguating associations
US8321364B1 (en) 2012-02-08 2012-11-27 Google Inc. Method and system for including robots into social networks

Also Published As

Publication number Publication date
CN107403388A (zh) 2017-11-28
WO2014074346A1 (en) 2014-05-15
JP5902871B2 (ja) 2016-04-13
JP6290952B2 (ja) 2018-03-07
AU2017203200A1 (en) 2017-06-01
CA2890248C (en) 2016-02-02
JP2018110007A (ja) 2018-07-12
MX342073B (es) 2016-09-13
KR20150079983A (ko) 2015-07-08
JP2016501395A (ja) 2016-01-18
CN104781813B (zh) 2017-03-22
EP2731069A1 (en) 2014-05-14
US20140136564A1 (en) 2014-05-15
MX350680B (es) 2017-09-13
US9105068B2 (en) 2015-08-11
IL238467A0 (en) 2015-06-30
US9679080B2 (en) 2017-06-13
JP6568609B2 (ja) 2019-08-28
CN107403388B (zh) 2019-03-19
KR101582929B1 (ko) 2016-01-07
US20150293931A1 (en) 2015-10-15
IL238467A (en) 2016-11-30
BR112015010802A2 (pt) 2017-07-11
KR101858157B1 (ko) 2018-05-15
US20170220590A1 (en) 2017-08-03
AU2013341565A1 (en) 2015-06-18
CA2897123C (en) 2018-10-16
IL248387A (en) 2017-06-29
AU2015221436B2 (en) 2017-04-06
AU2013341565B2 (en) 2015-07-30
CA2897123A1 (en) 2014-05-15
AU2017203200B2 (en) 2018-11-08
CN104781813A (zh) 2015-07-15
JP2016149140A (ja) 2016-08-18
KR20160003882A (ko) 2016-01-11
IL252697A0 (en) 2017-08-31
CA2890248A1 (en) 2014-05-15
AU2015221436A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
US10614084B2 (en) Default suggested queries on online social networks
US10282377B2 (en) Suggested terms for ambiguous search queries
US9946772B2 (en) Search queries with previews of search results on online social networks
US9753995B2 (en) Generating default search queries on online social networks
US9852444B2 (en) Sponsored search queries on online social networks
US9589011B2 (en) Dynamic suggested search queries on online social networks
US9582552B2 (en) Sharing search queries on online social networks
MX2015006040A (es) Modelo de gramatica para consultas de busqueda estructuradas.
AU2017200341B2 (en) Suggested terms for ambiguous search queries
US10402419B1 (en) Search queries with previews of search results on online social networks

Legal Events

Date Code Title Description
FG Grant or registration