BR102012020793A2 - Entrada assistida baseada em frase gerada dinamicamente - Google Patents

Entrada assistida baseada em frase gerada dinamicamente Download PDF

Info

Publication number
BR102012020793A2
BR102012020793A2 BRBR102012020793-1A BR102012020793A BR102012020793A2 BR 102012020793 A2 BR102012020793 A2 BR 102012020793A2 BR 102012020793 A BR102012020793 A BR 102012020793A BR 102012020793 A2 BR102012020793 A2 BR 102012020793A2
Authority
BR
Brazil
Prior art keywords
text
chat
word
phrase
user
Prior art date
Application number
BRBR102012020793-1A
Other languages
English (en)
Inventor
Stephane Jankowski
Marc Silbey
Kip Martin
Kevin O'sullivan
Lane Merrifield
Vita Markman
Sean O'dell
Arkady Trestman
Drew Beechum
Paul Pak
Christian Shrigley
Original Assignee
Disney Entpr 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 Disney Entpr Inc filed Critical Disney Entpr Inc
Publication of BR102012020793A2 publication Critical patent/BR102012020793A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • 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
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking

Abstract

ENTRADA ASSISTIDA BASEADA EM FRASE GERADA DINAMICAMENTE A presente invenção refere-se a técnicas para fornecer para usuários em um ambiente online uma facilidade de bate-papo segura e eficaz. A facilidade de bate-papo é "segura" no sentido de que a habilidade dos usuários em compor mensagens não apropriadas é altamente restrita, enquanto "eficaz" no sentido de que ainda é permitida para os usuários uma ampla faixa de capacidade de expressão ao compor e trocar mensagens de bate-papo.

Description

Relatório Descritivo da Patente de Invenção para "ENTRADA ASSISTIDA BASEADA EM FRASE GERADA DINAMICAMENTE".
ANTECEDENTES
Campo
A presente invenção refere-se a comunicação online baseada
em computador. Mais especificamente, concretizações da invenção são di- recionadas para uma variedade de técnicas para gerenciar o conteúdo de mensagens de bate-papo trocadas entre usuários em ambientes de jogo e social online.
Descrição da Técnica Relacionada
Jogos de vídeo com múltiplos jogadores e mundos virtuais rapi- damente se tornaram formas populares de entretenimento online. Ambos geralmente proporcionam para os usuários acesso a um ambiente virtual onde eles podem interagir uns com os outros. Por exemplo, avatares são 15 frequentemente utilizados para proporcionar uma representação gráfica de cada usuário presente dentro de um ambiente virtual e usuários interagem uns com os outros através de seus avatares. Os usuários controlam as a- ções de seu avatar para navegarem o ambiente virtual, por exemplo, alcan- çar objetivos do jogo bem como se comunicar ou bater papo com outros u- 20 suários. Tal ambiente pode ser persistente onde ocorrem eventos e usuários interagem uns com os outros independentes da presença de qualquer usuá- rio particular. Alternativamente, tal ambiente pode baseada em um jogo ou sessão, por exemplo, onde um grupo de usuários participa em uma competi- ção de um jogo de atirador de primeira pessoa.
A comunicação de usuário para usuário (isto é, bate-papo) fre-
quentemente é um aspecto proeminente dentro destes tipos de ambientes online. Por exemplo, um usuário pode bater-papo diretamente com outros usuários presentes na mesma localização virtual por digitar caracteres em um campo de texto em uma interface com o usuário. Para promover civilida- 30 de e segurança entre os usuários, um provedor de serviço hospedando um ambiente online pode desejar impedir o uso de linguagem obscena ou de outra comunicação inapropriada, particularmente em ambientes online de- senvolvidos para menores. Em tal caso, o software de bate-papo pode filtrar as mensagens de bate-papo por remover palavrões, insultos, ou outros ter- mos conhecidos de depreciação. Entretanto, simplesmente filtrar tais pala- vras de "baixo calão" é inadequado, à medida que mensagens impróprias 5 claramente não estão limitadas simplesmente às palavras de "baixo calão".
Por conseqüência, em alguns casos, uma interface de bate-papo pode não suportar usuários livremente compondo mensagens de bate-papo. Ao invés disso, os usuários podem bater-papo por selecionar mensagens a partir de um conjunto pretendido de palavras ou frases. Uma restrição de tal 10 sistema é que o conjunto de palavras ou frases permitidas deve ser definido pelo provedor do ambiente online antecipadamente. Entretanto, em tais ca- sos, os usuários podem ter que digitar uma mensagem de bate-papo que exatamente corresponde a uma das mensagens permitidas. Na prática, isto restringe muito a expressividade dos usuários dentro do ambiente virtual. 15 Por exemplo, se as mensagens permitidas incluírem a frase "Eu quero jogar xadrez", mas não conter a frase "Eu quero jogar damas", a segunda frase não pode se tornar uma seleção. Ao mesmo tempo, entrar com todas as fra- ses possíveis é oneroso e demorado e não é uma opção viável. Adicional- mente, mesmo automaticamente gerar novas frases e armazenar as mes- 20 mas em uma base de dados estática não é uma solução completa, desde que a maioria das frases são raramente novamente repetidas, elas simples- mente irão ocupar espaço sem contribuir para a experiência do usuário co- mo um todo.
SUMÁRIO
Uma concretização da invenção proporciona um método imple-
mentado por computador para facilitar comunicação entre usuários. Este método geralmente pode incluir gerar, para várias palavras em um vocabulá- rio de bate-papo, metadados de palavra caracterizando uma função gramati- cal para as palavras no vocabulário de bate-papo e designar cada uma das 30 várias palavras no vocabulário de bate-papo para uma ou mais categorias semânticas em uma ontologia. Esse método também pode incluir obter vá- rias regras de combinabilidade de palavras para combinar uma ou mais pa- lavras designadas para uma primeira categoria semântica das categorias semânticas com uma ou mais palavras designadas para uma segunda cate- goria semântica das categorias semânticas, baseado nos metadados de pa- lavra e na ontologia. Este método também pode incluir dinamicamente gerar 5 frases para incluir nas mensagens de bate-papo de acordo com as várias regras de combinabilidade de palavra.
Em um ambiente particular, palavras no vocabulário de bate- papo são determinadas a partir de um histórico de bate-papo de mensagens de bate-papo trocadas entre usuários em um ambiente virtual online.
Outras concretizações incluem, sem limitação, um meio legível
por computador que inclui instruções que permitem que uma unidade de processamento implemente um ou mais aspectos dos métodos revelados.
BREVE DESCRIÇÃO DOS DESENHOS
De modo que a maneira na qual os aspectos citados acima se- 15 jam obtidos e possam ser entendidos em detalhes, uma descrição mais par- ticular de concretizações da invenção, brevemente resumidas acima, pode ser obtida por referência aos desenhos anexos. Entretanto, é para ser ob- servado que os desenhos anexos ilustram somente concretizações típicas desta invenção e, portanto, não são para serem considerados limitando seu 20 escopo, devido à invenção poder admitir outras concretizações igualmente eficientes.
A figura 1 ilustra uma infraestrutura de computação configurada para proporcionar um ambiente de bate-papo seguro e eficaz, de acordo com uma concretização da invenção.
A figura 2 ilustra um exemplo de uma aplicação de ambiente vir-
tual com múltiplos usuários, de acordo com uma concretização da invenção.
A figura 3 ilustra um método para gerar um arquivo dinâmico de bate-papo com frases, de acordo com uma concretização da invenção.
A figura 4 ilustra um método para dinamicamente sugerir e/ou avaliar mensagens que podem ser permitidas de bate-papo com frases para usuários de um ambiente online, de acordo com uma concretização da in- venção. As figuras 5A e 5B ilustram um exemplo de uma mensagem de bate-papo avaliada utilizando os métodos das figuras 3 e 4, de acordo com uma concretização da invenção.
A figura 6 ilustra um método para mensagens de bate-papo com envio por software para usuário em um ambiente online, de acordo com ou- tra concretização da invenção.
As figuras 7A até 7C ilustram um exemplo de mensagens de ba- te-papo sendo trocadas em um ambiente online utilizando o método da figu- ra 6, de acordo com uma concretização da invenção.
A figura 8 ilustra um método para sugerir possibilidades de frase
de bate-papo permitidas para um usuário em um ambiente online, de acordo com uma concretização da invenção.
As figuras 9A até 9C ilustram um exemplo de uma mensagem de bate-papo sendo composta em um ambiente online utilizando o método da figura 8, de acordo com uma concretização da invenção.
A figura 10 é uma vista mais detalhada do sistema de computa- ção cliente da figura 1, de acordo com uma concretização da invenção.
A figura 11 é uma vista mais detalhada do sistema de computa- ção servidor da figura 1, de acordo com uma concretização da invenção.
DESCRIÇÃO DETALHADA DAS CONCRETIZAÇÕES PREFE-
RIDAS
Concretizações da invenção proporcionam uma variedade de técnicas para fornecer para os usuários uma capacidade de bate-papo segu- ra e eficaz. A capacidade de bate-papo é "segura" no sentido de que a habi- 25 Iidade de um usuário em compor mensagens não apropriadas é altamente restrita, enquanto "eficaz" no sentido de que os usuários ainda são permiti- dos de uma ampla faixa de expressividade ao compor e trocar mensagens de bate-papo. Em uma concretização, os usuários trocam a mensagem en- quanto participando em um ambiente virtual online. Alternativamente, usuá- 30 rios podem estar trocando mensagens de uma maneira assíncrona (por e- xemplo, como mensagens SMS enviadas entre telefones celulares).
Uma interface de bate-papo com frases pode ser utilizada para compor e enviar mensagens, onde usuários selecionam frases aprovadas como mensagens de bate-papo. A interface de bate-papo com frases é mais interativa do que o bate-papo por menu, onde, ao invés de selecionar a partir de um menu predefinido de frases, um usuário pode receber sugestões de 5 conclusões ou correspondências para o que ele / ela está digitando. Além disso, pode ser requerido que a seleção do usuário seja uma frase completa exata a partir da lista de sugestões, assim garantindo que a frase não possa ser manipulada para dizer alguma coisa não apropriada. Por exemplo, se um usuário digitar "hei", a interface de bate-papo com frases pode sugerir "hello, 10 hello how are u?", "hello there", etc. Entretanto, o usuário não recebe autori- zação para enviar uma mensagem com a palavra "hell", à medida que ela não é uma das opções apresentadas na interface de bate-papo com frases.
Esta abordagem permite que o servidor ofereça sugestões de frase para ajudar a identificar frases permitidas conhecidas enquanto um usuário digita uma mensagem em seu cliente de bate-papo. À medida que o usuário começaria a digitar uma frase que ele deseja utilizar, uma lista de sugestões aparece e dinamicamente se altera à medida que mais e mais da frase é digitada. Uma vez que a lista de sugestões de frase contenha a frase (ou a frase parcial ou mesmo dois - três caracteres) que o usuário deseja enviar, ele pode parar de digitar a frase e selecionar a mesma a partir da lista oferecida. Fazer isto permite que a criança acesse um grande número de frases agradáveis sem ter que navegar através de uma inconveniente seleção de menu com múltiplas camadas. Ao invés disso, a interface com o usuário se torna uma metáfora mais natural para bater-papo e permite a ex- pressividade de frases agradáveis conhecidas ser substancialmente aumen- tada. Em uma concretização, frases apresentadas enquanto um usuário digi- ta são classificadas por sua frequência de utilização, assim oferecendo as frases mais utilizadas. Devido à frases serem indexadas pela utilização, isto beneficiaria o usuário baseado na probabilidade predeterminada pela utiliza- ção de frases no restante da comunidade. Adicionalmente, usuários poderi- am receber uma opção de sugerir uma frase para adição para a lista de su- gestões. Adicionalmente, em uma concretização, a permissibilidade de dada frase (ou de frase sugerida) é determinada dinamicamente à medida que um usuário digita uma frase (ou solicita enviar uma frase) baseado em um conjunto de regras de combinabilidade de palavras. Por exemplo, se 5 uma frase digitada não for encontrada em uma base de dados estática (por exemplo, uma base de dados de frases comuns que podem ser associadas rapidamente), ela pode ser avaliada dinamicamente. Por exemplo, suponha que um usuários digite ("random") e a única frase na base de dados estática que começa com esta palavra seja "random numbers". Entretanto, adicio- 10 nalmente suponha que o usuário deseja dizer "random people". As duas pa- lavras são seguras e apropriadas de combinar, e o sistema "constrói" esta frase e apresenta a mesma para o usuário (ou envia a mesma para outros usuários) dinamicamente. Neste exemplo, as palavras "random" e "people" são combinadas em uma frase utilizando um conjunto de regras gramaticais 15 configuradas para garantir que palavras sejam combinadas em frases sinta- ticamente bem formada (neste caso, uma locução substantiva composta de um adjetivo e de um substantivo). Um conjunto de anotações semânticas em relação ás palavras garante que as palavras sejam combinadas em frases que sejam apropriadas e seguras. Por exemplo, anotações semânticas para 20 a palavra "comer" são utilizadas junto com uma regra de combinabilidade indicando que este verbo pode ser combinado com palavras a partir de uma categoria "alimento" como um objeto, mas não como um objeto para pala- vras a partir de uma categoria "pessoas". Continuando com este exemplo, outra regra de combinabilidade poderia indicar que palavras na categoria 25 "pessoas" são permitidas de serem combinadas como um sujeito com o ver- bo "comer", como na frase "garota come pizza". Tais regras também poderi- am permitir que "random" fosse combinado tanto com a palavra "people" como com a palavra "food", como um objeto ou sujeito. Obviamente, as ca- tegorias e as regras de combinabilidade podem ser adaptadas para o voca- 30 bulário do bate-papo de um grupo particular bem como para mensagens que são (e não são) permitidas de serem construídas utilizando este vocabulário de bate-papo. A geração dinâmica de frase também oferece um meio de facil- mente interpolar nomes de avatar em frases, alguma coisa que não é possí- vel quando contando com uma base de dados estática de frases. Interpolar nomes de avatar aprovados em frases não é alguma coisa que nós possa- 5 mos fazer com uma base de dados estática de bate-papo com frases devido aos nomes de avatar alterarem dinamicamente: novos nomes entram no sis- tema todo o tempo e podem ser utilizados em uma ampla variedade de con- textos possíveis (por exemplo. "AwsomePeguin, por favor, venha para meu iglu", ou "Awsomepenguin me encontre na cafeteria" onde "Awsomepenguin" 10 é outro nome de avatar do jogador).
Em outra concretização, o sistema de bate-papo é configurado para envio "por software" de algumas mensagens enviadas por um usuário para outros. Um aspecto particular da linguagem de bate-papo online que de forma significativa contribui para a explosão de novas frases - particular- 15 mente para crianças - é o uso extensivo de interjeições, palavras de fala por texto, tais como "lol", "hehe", "ok", etc., bem como o uso de ortografia não convencional (por exemplo, "u r" vs. "you are"). Tais palavras / expressões podem ser referidas como "opcionais" devido a elas geralmente não propor- cionarem contribuição semântica para a frase. Em adição, outro fato que 20 aumenta o número de frases possíveis que os usuários podem informar é o uso de letras maiúsculas (por exemplo, "that's AWESOME" vs."that's awe- some"), repetição de palavra "isto é really really really cool" vs. "this is really cool", uso de letras repetidas, (por exemplo, "this is so cooooool" vs. "this is so cool"), e o uso de sinais de pontuação, (por exemplo, "this is so cool!!!!!!!! 25 vs. "this is so cool!"). Claramente, todos os aspectos acima podem existir em qualquer combinação, assim aumentando o problema, por exemplo, "this is soooooooooo sooo coolllllll!!!!!!".
Em uma concretização, mensagens tais como estas são anali- sadas ou normalizadas em uma forma semicanônica para associação com a base de dados estática de frases com palavras. Por exemplo, algumas das variações listadas acima podem ser reduzidas para "this is so cool!!" pela remoção de mais do que duas letras repetidas, remoção de palavras repeti- das, e limitação do número de pontos de exclamação para dois. Regras simi- lares podem expandir as contrações (por exemplo, "u r" vs. "you are"), letras maiúsculas e substituições de letra (por exemplo, "h1 th3r3" para "hi there"). Uma vez que uma potencial frase de bate-papo seja reduzida para uma for- 5 ma semicanônica, ela pode ser associada com uma base de dados estática de frases (ou em outros casos, avaliada utilizando o processo dinâmico de bate-papo com frases mencionado acima). Se uma correspondência for en- contrada, então, um identificador associado com a frase correspondente po- de ser enviado para os receptores da mensagem. Ou seja, a frase digitada 10 pelo usuário não é enviada para outros - garantindo o controle em relação à qual mensagem é realmente recebida pelos receptores. Ou seja, a frase é "enviada por software" para os receptores. Enviar por software a frase signi- fica enviar para os receptores a frase núcleo, não a forma exata da frase, posto que a frase enviada é diferente da entrada do usuário nos modos cita- 15 dos acima, por exemplo, ela contém expressões opcionais, ortografia não convencional, mais do que três sinais de pontuação, e repetições de pala- vras / letras. Assim, se o usuário digitar "LOL", that's funny!!!!!!", o que é en- viado por software e apresentado para os outros usuários é "that's funny!!!". Observe, pode ser apresentado para o usuário que envia a mensagem origi- 20 nal na interface de bate-papo (por exemplo, em uma bolha de texto flutuando sobre seu avatar).
Adicionalmente, o "envio por software" poderia permitir algumas variações na frase a ser enviada com o identificador de frase. Por exemplo, se o usuário inclui a maior parte das letras em maiúscula, então a frase po- 25 deria ser apresentada para os receptores em toda em maiúsculas. De forma similar, a frase poderia ser decorada com algum número de pontos de ex- clamação apresentados pelo usuário. Enquanto esta abordagem de algum modo limita a expressividade do usuário, ela ainda permite que os usuários se comuniquem utilizando uma ampla faixa de conteúdo semanticamente 30 equivalente. Adicionalmente, esta abordagem impede uma variedade de mensagens não apropriadas de serem embutidas nas variantes semânticas. Considere, por exemplo, a frase "I Iike gRAPEs". Como observado, em uma concretização, sugestões de frase são feitas para um usuário enquanto ele compõe uma mensagem de bate- papo. Em uma concretização, em adição à frase digitada ou escolhida por um usuário, um grande conjunto de dados extras de texto pode ser aplicado 5 para proporcionar sugestões mais precisas (e, portanto, melhores). Exem- plos incluem: atividades atuais, indagações, localizações e itens mantidos dentro do jogo. Por exemplo, crianças localizadas em uma pizzaria virtual são mais prováveis de falar sobre pizza. Estes dados poderiam ser utilizados para agressivamente favorecer frases contendo "pizza" nas frases sugeridas 10 à medida que é mais provável que o usuário pretenda dizer "I Iike pizza" ao invés de "I Iike penguins". O software de bate-papo pode identificar as su- gestões utilizando dados de relevância derivados a partir de varias fontes, por exemplo, análise do histórico de bate-papo, ambiente online, interações sociais no jogo, dados específicos do usuário (por exemplo, idade, gênero, 15 localização), identificação de especialista, identificação de semântica, dados externos ao jogo (por exemplo, indagações). O resultado é um pequeno con- junto de sugestões retornadas que podem ser mais prováveis de refletirem as declarações pretendidas do usuário, produzindo digitação reduzida, resul- tados mais rápidos e menos frustração para usuários.
Observe que ao mesmo tempo em que discutido separadamen-
te, as técnicas para fornecer para os usuários em um ambiente online uma capacidade de bate-papo segura e eficaz, os versados na técnica irão reco- nhecer que as técnicas reveladas podem ser combinadas para operarem em conjunto umas com as outras bem como combinadas com outras técnicas 25 para gerenciar uma capacidade de bate-papo proporcionada para usuários de um ambiente virtual. Adicionalmente, enquanto alguma funcionalidade é descrita como sendo proporcionada por componentes servidores e algumas por componentes clientes, tais distinções são feitas para facilitar a descrição seguinte. Além disso, enquanto ambientes virtuais online são descritos como 30 um ambiente onde monitorar a funcionalidade de bate-papo pode ser útil, as abordagens descritas neste documento podem ser adaptadas para uso em várias situações onde indivíduos utilizam software para enviar mensagens de bate-papo uns para outros. Por exemplo, em adição a uma capacidade de bate-papo dentro de um mundo virtual, concretizações podem ser utiliza- das para gerenciar mensagens de bate-papo trocadas entre indivíduos envi- adas como mensagens SMS em telefones celulares ou mensagens enviadas 5 utilizando uma variedade de diferentes aplicações de software e/ou protoco- los de bate-papo.
Adicionalmente, a descrição seguinte faz referência a concreti- zações da invenção. Entretanto, deve ser entendido que a invenção não está limitada às concretizações específicas descritas. Ao invés disso, qualquer 10 combinação dos aspectos e elementos seguintes, estejam relacionados com concretizações diferentes ou não, é contemplada para implementar e prati- car a invenção. Adicionalmente, apesar das concretizações da invenção po- der alcançar vantagens em relação a outras soluções possíveis e/ou em re- lação à técnica anterior, se uma vantagem particular é ou não alcançada por 15 uma dada concretização, isto não limita a invenção. Assim, os aspectos, ca- racterísticas, concretizações e vantagens seguintes são meramente ilustrati- vos e não são considerados elementos ou limitações das reivindicações a- nexas, exceto onde explicitamente citado em uma reivindicação (reivindica- ções). Da mesma forma, referência à "invenção" não deve ser construído 20 como uma generalização de qualquer assunto da invenção revelado neste documento e não deve ser considerado como sendo um elemento ou limita- ção das reivindicações anexas, exceto onde explicitamente citado em uma reivindicação (reivindicações).
Os aspectos da presente invenção podem ser incorporados co- 25 mo um sistema, método ou produto de programa de computador. Por conse- qüência, os aspectos da presente invenção podem assumir a forma de uma concretização totalmente de hardware, uma concretização totalmente de software (incluindo firmware, software residente, microcódigo, etc.) ou uma concretização combinando aspectos de software e hardware, todos os quais 30 podem ser geralmente referidos neste documento como um "circuito", "mó- dulo" ou "sistema". Adicionalmente, aspectos da presente invenção podem assumir a forma de um produto de programa de computador incorporado em um ou mais meios legíveis por computador possuindo código de programa legível por computador incorporado nos mesmos.
Qualquer combinação de um ou mais meios legíveis por compu- tador pode ser utilizada. O meio legível por computador pode ser um meio de sinal legível por computador ou um meio de armazenamento legível por computador. Um meio de armazenamento legível por computador pode ser, por exemplo, mas não limitado a um sistema, aparelho ou dispositivo eletrô- nico, magnético, ótico, eletromagnético, infravermelho ou semicondutor, ou qualquer combinação adequada do dito anteriormente. Exemplos mais es- pecíficos (uma lista não exaustiva) de meios de armazenamento legíveis por computador incluiria o seguinte: uma conexão elétrica possuindo um ou mais fios, um disquete de computador portátil, um disco rígido, uma memória de acesso aleatório (RAM), uma memória somente para leitura (ROM), uma memória somente para leitura programável e que pode ser apagada (E- PROM ou memória Flash), uma fibra ótica, um disco compacto - memória somente para leitura portátil (CD-ROM), um dispositivo de armazenamento ótico, um dispositivo de armazenamento magnético, ou qualquer combina- ção adequada do dito anteriormente. No contexto deste documento, um meio de armazenamento legível por computador pode ser qualquer meio tangível que possa conter, ou armazenar, um programa para uso por ou em conexão com um sistema, aparelho ou dispositivo de execução de instrução.
O fluxograma e os diagramas de bloco nas figuras ilustram a ar- quitetura, funcionalidade e operação de implementações possíveis de siste- mas, métodos e produtos de programa de computador de acordo com várias 25 concretizações da presente invenção. A este respeito, cada bloco no fluxo- grama ou nos diagramas de blocos pode representar um módulo, segmento ou parte de código, o qual compreende uma ou mais instruções executáveis para implementar as funções lógicas especificas. Em algumas implementa- ções alternativas, as funções citadas no bloco podem ocorrer fora da ordem 30 citada nas figuras. Por exemplo, dois blocos apresentados em sucessão po- dem, na verdade, ser executados substancialmente simultaneamente, ou os blocos algumas vezes podem ser executados em ordem inversa, dependen- do da funcionalidade envolvida. Cada bloco dos diagramas de blocos e/ou das ilustrações de fluxograma, e combinações de blocos nas ilustrações de diagramas de blocos e/ou de fluxograma pode ser implementado por siste- mas baseados em hardware de propósito especial que executam as funções 5 ou atos especificados, ou combinações de hardware de propósito especial e instruções de computador.
A figura 1 ilustra uma infraestrutura de computação 100 configu- rada para proporcionar um ambiente de bate-papo seguro e eficaz, de acor- do com uma concretização da invenção. Como apresentado, a infraestrutura 10 de computação 100 inclui um sistema de computação servidor 105, e os sis- temas clientes 130i até 3, cada um conectado com uma rede de comunica- ções 120. Ilustrativamente, o sistema servidor 105 inclui um servidor de Re- de 10, uma aplicação de ambiente virtual com múltiplos usuários 111, e uma base de dados 112. Como descrito em maiores detalhes abaixo, a base de 15 dados 1122 pode armazenar dados de conta do usuário, históricos de bate- papo, um arquivo de palavras, metadados de palavra, e regras de combina- bilidade utilizadas para gerenciar interações de bate-papo entre usuários da aplicação de ambiente virtual com múltiplos usuários 111.
Os sistemas clientes 130 1 até 3 se comunicam com o servidor de 20 Rede 110 através da rede 120 para acessar a aplicação de ambiente virtual com múltiplos usuários 111, isto é, para acessar um ambiente virtual online ou jogo hospedado pelo sistema servidor 105. Obviamente, outras aborda- gens para a comunicação em rede poderiam ser utilizadas ao invés (ou em adição) ao servidor de Rede e do bem conhecido protocolo HTTP.
Neste exemplo particular, o sistema cliente 130i representa um
sistema de computador executando um navegador da Rede 132. Por conse- qüência, o sistema cliente 130i é representativo de PCs de mesa, computa- dores laptop, PCs home-theater (HTPCs), e de outros sistemas de computa- ção capazes de executar um navegador da Rede. De forma similar, o siste- 30 ma cliente 1302 representa um dispositivo móvel tal como um telefone celu- lar, computador tablet, ou reprodutor portátil de MP3, etc.. Como apresenta- do, o dispositivo móvel 1302 inclui um navegador de Rede móvel 135 bem como as "aplicações" de bate-papo dedicadas 131.
Em uma concretização, o ambiente virtual (ou capacidade de ba- te-papo do usuário) proporcionado pela aplicação 111 pode ser acessado utilizando o navegador da Rede 132 ou o navegador móvel 135. Alternati- 5 vãmente, o ambiente virtual proporcionado pela aplicação 111 pode ser a- cessado utilizando programas de aplicação independentes (ou "aplicação" de bate-papo 121) executados no dispositivo móvel 1302. Em adição a aces- sar um ambiente virtual, o dispositivo móvel 1302 pode ser utilizado para en- viar mensagens de bate-papo ou de texto a partir de um usuário para outro 10 (da mesma forma que o sistema cliente 130i utilizando o navegador da Rede 132 ou outro software de aplicação). De forma similar, o sistema cliente 130i do dispositivo cliente representa um sistema de computador executando uma aplicação cliente 136 configurada para acessar a aplicação de ambiente cliente com múltiplos usuários 111. Por exemplo, o sistema cliente 130i po- 15 deria ser um sistema de computador ou um console de jogo de vídeo execu- tando uma aplicação de jogo de vídeo que inclui um componente multiusuá- rio junto com as capacidades de bate-papo de usuário para usuário.
Em cada um destes casos, uma interface com o usuário pode proporcionar um mecanismo para um usuário compor mensagens de bate- 20 papo enviadas para outros usuários dentro do ambiente virtual proporciona- do pela aplicação 111. Adicionalmente, a aplicação 111 pode incluir compo- nentes configurados para gerenciar mensagens de bate-papo enviadas por um dado usuário de modo a proporcionar um ambiente online apropriado para uma dada comunidade de usuários. Por exemplo, para um ambiente 25 virtual desenvolvido para crianças pré-adolescentes, as frases de bate-papo permitidas de serem enviadas entre os usuários poderiam ser limitadas de modo a impedir os usuários de enviar, por exemplo, mensagens ofensivas, de intimidação, ou não apropriadas.
A figura 2 ilustra uma visão lógica de componentes da aplicação de ambiente virtual com múltiplos usuários 111, de acordo com uma concre- tização da invenção. Como apresentado, a aplicação de ambiente virtual 111 inclui um servidor de ambiente 205, um servidor de bate-papo 210 e um con- junto de regras de combinabilidade de palavra / frase 215. Adicionalmente, a aplicação de ambiente virtual 11 pode interagir com uma base de dados 112. Neste exemplo, a base de dados 112 armazena um arquivo de palavras 220, metadados de palavras 222, o arquivo de frases estáticas 224 e os registros 5 de bate-papo 226.
O servidor de ambiente 205 proporciona uma aplicação de soft- ware configurada para hospedar um ambiente virtual particular. Por exemplo, o servidor de ambiente 205 poderia proporcionar um resort de esqui virtual permitindo aos usuários interagirem e executar ou proporcionar um centro comercial virtual novamente permitindo aos usuários interagirem uns com os outros, mas também permitindo aos usuários comprarem mercadorias e ser- viços virtuais (ou reais). Outros exemplos incluem ambientes de jogo online (por exemplo, uma pista virtual de corrida de carros ou atirador de primeira pessoa). Independente do ambiente virtual particular, o servidor de bate- papo 210 pode permitir aos usuários comporem (ou selecionarem) mensa- gens de bate-papo para se comunicarem com outros usuários. Para facilitar tal comunicação, o servidor de bate-papo 210 pode incluir um gerador de frase 211, um componente de análise de frase 212, e um componente de sugestão de frase 213. Obviamente, estes (ou outros componentes) podem ser combinados ou adicionalmente subdivididos em um caso particular.
Em uma concretização, o gerador de frase 211 proporciona um componente de software configurado para dinamicamente gerar frases de mensagem de bate-papo permitidas a partir de conteúdo composto (ou su- gerido para) por um usuário.
Em uma concretização, o gerador de frase 211 proporciona um
componente de software configurado para dinamicamente gerar frases de mensagem de bate-papo permitidas a partir do conteúdo composto por (ou sugerido para) um usuário. Por exemplo, assuma que um usuário digita "vermelho". Em tal caso, um gerador de frase 211 pode identificar esta pala- 30 vra no arquivo de palavras 220 e recuperar metadados de palavra 222 asso- ciados com esta palavra. Neste exemplo, os metadados 222 poderiam indi- car que a palavra "vermelho" é gramaticamente um adjetivo, categorizado como sendo uma cor. Mais geralmente, os metadados de palavra 222 po- dem proporcionar uma coleção de informações descrevendo a função gra- matical e o uso para palavras no arquivo de palavras 220 bem como uma ontologia caracterizando o significado semântico de palavras no arquivo de 5 palavras 220 bem como o significado semântico de frases maiores no arqui- vo de frases estático 224.
Adicionalmente, as regras de combinabilidade de palavra / frase 215 poderiam indicar quais categorias de palavra (isto é, uma categoria de cor para adjetivos) são permitidas de serem combinadas. Por exemplo, as regras de combinabilidade de palavra / frase 215 poderiam indicar que pala- vras categorizadas pelos metadados 222 como sendo "cores" podem ser combinadas com nomes de certo tipo (por exemplo, palavras categorizadas pelos metadados 222 como sendo alimento, ou mais especificamente, fruta) para formar uma locução substantiva, porém não com palavras categoriza- das como se referindo a "pessoas". Assim, se o usuário continuou a digitar "maça", o gerador de frase 211 poderia gerar uma mensagem de bate-papo que incluía a frase "maça vermelha", porém não faria o mesmo se o usuário digitasse "garota vermelha". Adicionalmente, mesmo antes de o usuário digi- tar "maçã", o componente de sugestão de frase 213 poderia identificar pala- vras na categoria "alimento" ("fruta") como sendo combináveis com palavras categorizadas como sendo "cores" e fazer sugestões sobre quais palavras poderiam ser combinadas com a primeira palavra(isto é, com "vermelha"). Em vários casos, as categorias poderiam permitir um número maior de pala- vras serem combinadas. Por conseqüência, o componente de sugestão de frase 213 poderia ser configurado para selecionar quais apresentar como sugestões utilizando vários critérios, incluindo, por exemplo, análise de histó- rico de bate-papo, ambiente online, interações sociais no jogo, dados espe- cíficos do usuário (por exemplo, idade, gênero, localização), marcação de especialista, marcação semântica, dados externos ao jogo (por exemplos, indagações).
Adicionalmente, como descrito em maiores detalhes abaixo, as sugestões para uma dada frase podem alterar à medida que elementos são adicionados para a frase. Por exemplo, um primeiro conjunto de sugestões relevantes pode ser determinado para a palavra "vermelha" e se o usuário digitou "Maça", um segundo conjunto de sugestões relevantes pode ser de- terminado para a frase "maça vermelha", tal processo poderia continuar a 5 criar sugestões para frases maiores e maiores (por exemplo, à medida que o usuário digitou (ou selecionou o verbo "são" e o adjetivo "apetitosa"). Ou se- ja, se selecionado por um usuário digitando a palavra "maça" por um usuário selecionando a sugestão para adicionar "maça" para "vermelha", resultando na frase "maça vermelha", (uma locução substantiva) sendo dinamicamente 10 gerada, o gerador de frase 211 poderia adicionalmente sugerir palavras adi- cionais que com qual está locução substantiva poderia ser combinada.
Assim, o processo para dinamicamente gerar frases pode ser a- ninhado, onde as primeiras palavras individuais "vermelha" e "maçãs" são avaliadas em relação às regras de combinabilidade de palavra / frase 215 - 15 resultando na frase "maçãs vermelhas". As regras de combinabilidade 215 poderiam indicar que uma locução substantiva do tipo "alimento" ou "fruta" poderia ser adicionalmente combinada com um verbo intransitivo ou com um verbo transitivo e com um complemento direto (por exemplo, são apetitosas). Mais geralmente, as regras de combinabilidade 215 podem ser aplicadas 20 para o arquivo de palavras 220 para construir frases de bate-papo permitidas dentre os componentes menores (por exemplo, substantivos e verbos indivi- duais) bem como elementos gramaticais maiores (por exemplo, quais cate- gorias de frases adjetivas são combinadas com palavras / frases em outras categorias).
Em uma concretização, o componente de análise de frase 212
pode ser configurado para analisar e editar uma mensagem de bate-papo digitada por um usuário. Por exemplo, o componente de análise de frase 212 pode ser configurado para remover os assim chamados "opcionais" a partir de uma mensagem de bate-papo. Fazer isto pode reduzir uma frase de bate- 30 papo para uma forma semi-canônica utilizada para associação com o arqui- vo de frases 224 (ou para avaliação utilizando o gerador de frase dinâmico 211. Se uma associação for encontrada, então, um identificador correspon- dendo à mensagem de bate-papo do usuário pode ser enviada para outros usuários presentes dentro do ambiente virtual.
Os registros de bate-papo 226 podem armazenar históricos de bate-papo para usuários. Os registros de bate-papo 226 podem ser utiliza- 5 dos para periodicamente determinar o arquivo de palavras 220. Por exem- plo, os registros 226 podem ser avaliados para determinar as palavras (ou frases) mais frequentemente utilizadas para um dado ambiente online ou dada comunidade de usuários dentro de um ambiente online - até um dado número de palavras (por exemplo, 20.000). Periodicamente regenerar o ar- 10 quivo de palavras 220 permite ao mesmo evoluir à medida que os padrões de linguagem dos usuários altera com o tempo.
A figura 3 ilustra um método 300 para gerar um arquivo dinâmico de bate-papo com frases, de acordo com uma concretização da invenção. Como apresentado, o método 300 começa na etapa 305 onde um arquivo de 15 palavras é gerado. O arquivo de palavras proporciona um vocabulário de bate-papo para mensagens de bate-papo em um dado ambiente virtual. Por exemplo, o servidor de bate-papo pode identificar as 20.000 palavras mais utilizadas nos registros atuais de bate-papo. Observe que a experiência tem apresentado que 20.000 palavras geralmente correspondem ao tamanho do 20 vocabulário de bate-papo que os usuários pré-adolescentes exibem ao com- por mensagens de bate-papo nos ambientes online (após a maior parte da ortografia se corrigida e a pontuação / uso de maiúscula ser removida). Ob- viamente, para outros grupos de usuário, um número diferente de palavras pode ser utilizado.
Em adição a avaliar um registro de ocorrências do bate-papo, o
conteúdo do vocabulário de bate-papo pode ser modificado manualmente. Por exemplo, um moderador pode monitorar as interações entre usuários de um ambiente online para identificar frases que devem ser permitidas (com palavras que precisam ser adicionadas para o vocabulário) bem como identi- 30 ficar frases que apresentam uma mensagem inapropriada que, entretanto, são permitidas de serem enviadas pelo sistema. De forma similar, à medida que a linguagem expande ou especializa dentro de uma dada comunidade ou ambiente, o moderador pode adicionar palavras para o vocabulário.
Na etapa 310, as palavras identificadas na etapa 305 são dividi- das em categorias gramaticais, por exemplo, substantivos, verbos, adjetivos, advérbios, proposições, etc.. Na etapa 315, as palavras em cada categoria gramatical são anotadas com informação de semântica ampla (por exemplo, se uma dada palavra denota um item alimentar, item de vestimenta, ou ação, etc.) e com sua função gramatical (por exemplo, se ela é um verbo, substan- tivo ou adjetivo). Por exemplo, a palavra "laranja" pode ser anotada como sendo um substantivo pertencendo tanto a categoria de "alimento" como a uma subcategoria de "fruta", bem como anotada como sendo um adjetivo pertencendo a uma categoria de "cor". Assim, a anotação cria uma ontologia de significado semântico para as palavras no arquivo de palavras. Observe que de preferência as categorias semânticas devem ser relativamente restri- tas, sem ser muito refinada. Por exemplo, enquanto uma categoria "alimen- to" e uma categoria "bebida" são prováveis de serem apropriadas no escopo de uma ontologia de palavras utilizadas por crianças ao compor mensagens de bate-papo, uma categoria de "cheeseburguer" ou uma categoria de "so- da" são prováveis de serem muito refinadas. Em uma concretização, o es- copo das categorias pode ser construído para resultar em categorias possu- indo certo número mínimo (e/ou máximo) de membros.
Para cada categoria de palavra, outras categorias com as quais uma dada categoria de palavra pode ser combinada são especificadas. Adi- cionalmente, uma ordem permitida da palavra para combinar palavras / fra- ses pode ser igualmente especificada. Ou seja, as regras de combinabilida- 25 de de palavra / frase para as categorias de palavra também são especifica- das na etapa 315. Por exemplo, adjetivos em uma categoria de "cor" (verme- lha, verde, laranja) podem ser especificados como sendo combináveis quan- do substantivos precedentes marcados como sendo "alimento" ou "fruta" (maçã, tangerina, pêra). Desse modo, resultados nas frases possíveis permi- 30 tidas tais como {maçã vermelha, tangerina vermelha, pêra vermelha, ...}, mas não (maçãs vermelhas ou peras verdes}. De forma similar, uma catego- ria "depreciação" que incluía substantivos {gordo, feio} poderia ser limitada a 10
15
20
25
ser combinável com uma pequena faixa de frases, por exemplos, substanti- vos em uma categoria "animal" tal como "pingüim" ou "gato", mas não com palavras em uma categoria "pessoas" (por exemplo, "garota", "garoto", "vo- cê", ou nomes de avatar). Isto ajuda a evitar frases inapropriadas de serem criadas.
Entretanto, algumas frases combináveis podem ser não usuais, por exemplo, "pêra aleatória", "maçã séria" ou "laranja laranja". Entretanto, frases absurdas são encorajadas, particularmente em ambientes online onde crianças interagem umas com as outras. Em tais casos, à medida que crian- ças jogam, "fazem de conta" o tempo todo e frequentemente batem papo utilizando combinações não usuais de palavras. Ao mesmo tempo, somente permitir palavras em certas categorias serem combinadas ajuda a garantir que as comunicações resultantes sejam limitadas às comunicações julgadas antecipadamente como não resultando em frases de bate-papo inapropria- das, ofensivas ou de outro modo não desejadas.
As Tabelas I até Ill abaixo proporcionam um pequeno exemplo que ilustra um conjunto de combinações permissíveis de palavras geradas a partir das etapas 310 e 315. Obviamente, as palavras e categorias nas Ta- belas I até Ill de maneira nenhuma são exaustivas. Ao invés disso, esta a- bordagem é prontamente estendida com mais palavras e, assim, se traduz em uma metodologia robusta para dinamicamente gerar frases seguras que podem servir como sugestões para frases, por exemplo, quando nenhuma correspondência é encontrada para a entrada do usuário na base de dados estática.
Adjetivos Tipos de substantivos Predicados podem Exemplos de frases permissíveis podem combinar com combinar com Vermelho Alimento, eventos natu¬ é, são, se torna, é vermelho, se toma vermelho, ficar rais, vestimenta virar vermelho, maçã vermelha, pêra verme¬ lha, virar vermelho, neve vermelha Verde Alimento, eventos natu¬ é, são, se torna, É verde, se toma verde, fica verde, maçã rais, vestimenta virar verde, pêra verde, avalanche verde Amarelo Alimento, eventos natu¬ é, são, se toma, É amarelo, se torna amarelo, fica amare¬ rais, vestimenta virar lo, vira amarelo, maçã amarela Laranja Alimento, eventos natu¬ É, são, se torna, É amarelo, se toma amarelo, fica amare¬ rais, vestimenta fica, vira lo, vira amarelo, maçã amarela, pêra amarela Tabela Il—Exemplo de Combinabilidade de Substantivo
Substantivo Tipos de Sujeito do predicado Complemento Exemplos de frases per¬ substantivos direto do predicado missíveis Maçã alimento, É azul, é verde, é ver¬ Comer, parece Maçãs crescem aqui, ma¬ subtipo fruta melha, é laranja, é çã vermelha, maçã verde, impressionante, é sério come maça, parece maçã, como maçã, Céu Eventos natu¬ É azul, é verde, é ver¬ Ver, gostar 0 céu é azul, o céu é ver¬ rais melho, é laranja, é de, o céu é impressionante impressionante, é sério Garota Pessoa Corre, gosta, anda, Ver A garota corre ao redor, a garota gosta de maças, veja a garota Tabela Ill- Exemplo de Predicados:
Predicados Sujeito Pessoa do Número do Exemplos de frases que podem Sujeito sujeito ser permitidas É impressionante Alimento, evento Terceira Singular A maça é impressionante, o céu natural, Pessoas pessoa é impressionante, a garota é impressionante Como parte adicional da etapa 315, as frases de bate-papo ge- radas por combinar palavras nas categorias podem elas próprias serem 5 marcadas com informação gramatical. Fazer isso permite que uma frase ba- se seja combinadas com outras palavras que o usuário pode digitar. Por e- xemplo, se "maça vermelha" for marcada com uma marca "substantivo, adje- tivo, terceira pessoa, singular, sujeito / complemento direto, alimento", isto indica que a frase pode ser colocada na posição de sujeito de uma locução 10 substantiva ou posição de complemento direto de um predicado e possui propriedades gramaticais tais como terceira pessoa e singular, e semanti- camente categorizada como sendo um tipo de alimento. Na etapa 320, o arquivo de palavras resultantes e os metadados de palavra anotados podem ser armazenados em uma base de dados. Uma vez armazenados, o servidor 5 de bate-papo pode avaliar a entrada do usuário para dinamicamente gerar mensagens de análise de bate-papo que podem ser permitidas para usuá- rios de um ambiente ou comunidade online.
A figura 4 ilustra um método 400 para dinamicamente sugerir e/ou avaliar mensagens de bate-papo por frases para usuários de um ambi- 10 ente online, de acordo com uma concretização da invenção. Como apresen- tado, o método 400 começa na etapa 405 onde uma interface de bate-papo é apresentada para um usuário como parte do acesso a um ambiente online. Por exemplo, o usuário pode se conectar com uma comunidade online virtu- al, onde a presença deste usuário é indicada por um avatar visível para ou- 15 tros usuários da comunidade e onde o usuário vê os avatares representando outros usuários da comunidade online presentes em qualquer dado momen- to.
A interface com tal ambiente online pode permitir ao usuário compor mensagens de bate-papo para enviar para outros usuários. Como 20 descrito acima, o conjunto de frases de bate-papo disponíveis pode ser limi- tado a palavras em um arquivo de palavras predefinido e às categorizações de palavras indicando que palavras em tal arquivo podem ser combinadas umas com as outras (e a ordem na qual tais palavras em diferentes catego- rias podem ser combinadas umas com as outras). Em adição às frases de 25 bate-papo que podem ser permitidas determinadas dinamicamente, uma dada frase também pode ser comparada com um arquivo estático de frases permitidas.
Na etapa 410, o servidor de bate-papo pode determinar se um usuário completou a digitação de uma palavra (ou outra parte de uma men- sagem de bate-papo) ou selecionou aumentar a frase corrente com uma pa- lavra (ou frase) sugerida derivada a partir das regras de combinabilidade. Por exemplo, dada a locução substantiva "maçã vermelha", a Tabela Ill indi- ca que esta frase (um alimento, locução substantiva singular da terceira pes- soa) pode ser combinada com o predicado "é impressionante". Por conse- qüência, a frase "é impressionante" poderia ser sugerida para o usuário. Se o usuário então selecionou adicionar uma palavra (ou frase) sugerida, esta 5 palavra (ou frase) é adicionada para uma potencial frase de bate-papo (eta- pa 415).
Mais especificamente, assuma novamente que o usuário digitou a frase "maçã vermelha" (ou após digitar a palavra "vermelha" selecionou a sugestão de "maça" em relação às sugestões ("pêssego", "céu" ou "cha- 10 péu")). A frase "maçã vermelha" pode ser combinada de acordo com as re- gras apresentadas na Tabela 1, acima. Como observado, a frase de bate- papo que pode ser permitida resultante "maçã vermelha" pode ser marcada com a informação de semântica e comparada com a entrada subsequente do usuário. Por exemplo, se, após digitar "maça vermelha" o usuário conti- 15 nuar a digitar "é impressionante", estes elementos adicionais da frase podem ser avaliados para determinar se "maçã vermelha" pode ser adicionalmente combinada com o predicado "é impressionante", e se puder, a frase mais longa "maçã vermelha é impressionante" é gerada. Para avaliar esta frase mais longa, dados de semântica a partir da frase corrente "maçã vermelha" 20 são extraídos. Neste exemplo, a frase "maçã vermelha" poderia ser marcada com: "maçã vermelha" marca = {adjetivo, substantivo, terceira pessoa, singu- lar, alimento, sujeito / complemento direto}. Isto significa que a frase envolve um adjetivo, um substantivo, o sujeito é terceira pessoa, é singular, é um complemento direto alimento.
Quando o usuário continua a digitar a frase mais longa "maçã
vermelha é impressionante", o predicado "é impressionante" pode ser pes- quisado em relação á lista de predicados que podem ser permitidos para a locução substantiva possuindo a marca semântica de {adjetivo, substantivo, terceira pessoa, singular, alimento, sujeito / complemento direto}. À medida 30 que esta frase pode ser permitida, ela poderia ser sugerida (por exemplo, após o usuários ter digitado "é" ou totalmente digitada pelo usuário e subse- quentemente enviada para os receptores de mensagem dentro da comuni- dade online.
Se o usuário digitar sua própria frase seguindo "maçã vermelha", os elementos da palavra / frase na potencial frase de bate-papo podem ser avaliados em relação à combinabilidade de acordo com as regras de combi- nabilidade de palavra / frase (etapa 425). Se a frase completa puder ser combinada, e o usuário selecionar enviar a mensagem (etapa 430), então na etapa 435, a frase é enviada para um ou mais receptores. Ou seja, uma vez que uma frase permitida é gerada (através do usuário selecionando suges- tões ou digitando uma mensagem completa), o usuário pode selecionar en- viar a mensagem resultante para outros membros da comunidade online. Observe que em uma concretização, a interface pode indicar quando uma mensagem que pode ser permitida foi identificada, por exemplo, por alterar a cor de texto da potencial mensagem ou ativar um botão de envio. Adicional- mente, quando enviando mensagens para um receptor, a mensagem pode ser o conteúdo de texto, porém outras representações igualmente poderiam ser feitas para uma mensagem. Por exemplo, assuma que um usuário envia a mensagem "Eu gosto de comer pizza" ou "Vamos visitar o castelo". Nestes casos, os elementos da mensagem poderiam ser substituídos por represen- tações gráficas, tais como uma imagem representando a pizza ou o castelo na mensagem anterior.
De outro modo, se o usuário não tiver digitado (ou selecionado sugestões) de modo a criar uma frase de bate-papo permitida de acordo com as regras de combinabilidade, então, o método 400 retorna para a eta- pa 410 até que palavras / frases adicionais sejam digitadas ou palavras su- 25 geridas sejam selecionadas e um frase de bate-papo que possa ser combi- nada seja dinamicamente gerada.
As figuras 5A e 5B ilustram um exemplo de uma frase de bate- papo dinâmica gerada de acordo com os métodos das figuras 3 e 4, de a- cordo com uma concretização da invenção. Como apresentado na figura 5A, 30 uma sintetização 500 apresenta um ambiente virtual onde usuários podem interagir uns com os outros via os avatares. Neste exemplo particular, o am- biente virtual apresenta usuários com um resort virtual de esqui onde avata- res são pingüins caracterizados. Ilustrativamente, vários avatares estão pre- sentes na base de um teleférico para esqui virtual. Adicionalmente, cada a- vatar apresenta o nome correspondente do usuário. Para este exemplo, as- suma que o avatar 520 "purplePengiun" corresponde ao usuário visualizando 5 a sintetização 500, enquanto os outros avatares representam outros usuá- rios também presentes neste ambiente virtual.
O usuário controlando o avatar 520 pode compor uma mensa- gem de bate-papo utilizando a interface 505. Neste exemplo, o usuário digi- tou a frase "Eu gosto de pingüins gordos". Uma vez completada, o usuário 10 pode tentar enviar esta mensagem por pressionar o botão de envio 515. Em resposta, o servidor de bate-papo avalia esta frase utilizando as regras de combinabilidade. Por exemplo, a frase "Eu gosto" seria combinável com ela própria e combinável com um predicado permitido. Adicionalmente, o predi- cado neste caso "pingüim gordo" poderia ser permitido se as regras de com- 15 binabilidade permitissem o uso da palavra "gordo" como um adjetivo, por exemplo, em uma categoria de "depreciação" para modificar substantivos em uma categoria "animal". Em uma concretização, o servidor de bate-papo poderia sugerir frases combináveis para adicionar para a frase corrente. Por exemplo, o servidor de bate poderia sugerir "pingüins" após o usuário digitar 20 "Eu gosto gordos", junto com outros elementos da categoria "animal". Assu- mindo que este é o caso, a o usuário selecionou "pingüim" (ao invés de "ga- to", "cachorro" ou "peixe"), o servidor de bate-papo constrói a frase "Eu gos- to de pingüins gordos" para enviar para outros usuários deste ambiente vir- tual. Este resultado é apresentado na figura 5B, onde o avatar 520 é sinteti- 25 zado com uma bolha de texto 550 apresentando esta mensagem de bate- papo. Em contraste, se o usuário tiver digitado uma frase que não era com- binável de acordo com as regras, por exemplo, "Eu gosto de garotas gor- das", o servidor de bate-papo não enviaria esta mensagem para outros usu- ários presentes na ambiente virtual. Enquanto o comportamento da interface 30 pode variar, em uma concretização, o botão de envio 515 poderia ser sinteti- zado em um estado inativo até que uma mensagem permitida fosse identifi- cada. Alternativamente, a interface poderia apresentar a bolha de texto, a- penas para o usuário tentando enviar a mensagem não permitida pelas re- gras de combinabilidade.
Em adição a gerar sugestões utilizando o arquivo dinâmico de bate-papo por com frases, as sugestões de bate-papo também podem ser 5 geradas igualmente a partir do arquivo de frases estático. Por exemplo, uma frase pode ser associada com um conjunto estático de frases classificadas por popularidade. Em uma concretização, o cliente de bate-papo monitora um usuário digitando uma frase e envia a mesma para o servidor que con- tem um fragmento de frase que o servidor irá comparar com sua base de 10 dados de frases mais utilizadas. As frases "mais utilizadas" podem ser sele- cionadas como as mais populares para um dado site, grupo de usuários, ou utilizando qualquer outros critérios apropriados em um caso particular. Entre- tanto quando determinado, um conjunto adequado de frases que contêm o fragmento de frase ou frases com contexto equivalente será retornado para 15 os clientes de bate-papo. Estas frases podem ser apresentadas para o usuá- rio. O usuário então pode selecionar a frase apropriada. Depuração adicional no lado do cliente da lista de frases retornadas a partir do servidor acontece- ria à medida que o usuário continuasse a digitar a frase até que a frase a- propriada fosse exibida.
Por exemplo, uma vez que um usuário digitasse a frase inicial
"você quer", o conjunto seguinte de respostas possíveis poderia ser identifi- cado e apresentado para o usuário.
• você quer vir a minha casa
• você quer vir a minha festa · você quer jogar comigo
Adicionalmente, uma vez apresentada, se o usuário digitou "jo- gar", então as primeiras duas sugestões de frase seriam removidas. Inver- samente, se o usuários digitou "vir" então a terceira sugestão de frase seria removida, permitindo ao usuário selecionar entre as mesmas ou digitar algo mais totalmente.
Em adição a gerar mensagens de bate-papo para sugerir e/ou enviar para usuários de um ambiente virtual, o servidor de bate-papo pode manter um arquivo estático de frases de frases permitidas. Por exemplo, ao invés de construir frases comuns (por exemplo, "oi você ai!") para sugerir (ou enviar) dinamicamente, tais frases poderiam ser adicionadas para uma "lista branca" permitida. Em uma concretização, quando uma mensagem criada 5 pelo usuário pode ser mapeada para tal mensagem pré-aprovada, a mensa- gem pré-aprovada é enviada e apresentada para receptores da mensagem, independente de qualquer "opcional" digitado na mensagem pelo usuário.
Por exemplo, a figura 6 ilustra um método para mensagens de bate-papo de envio por software para usuários em um ambiente online, de 10 acordo com outra concretização da invenção. Observe que o método 600 pode ser combinado com abordagens para dinamicamente gerar mensagens de bate-papo com frases discutidas neste documento, que o método 600 avalia mensagens digitadas pelo usuário em relação a um arquivo estático de frases como um exemplo.
Como apresentado, o método 600 começa na etapa 605, onde
uma interface de bate-papo é apresentada para um usuário como parte de acesso a um ambiente online. Por exemplo, o usuário pode se conectar com uma comunidade virtual online, onde a presente deste usuário é indicada por um avatar visível para outros usuários da comunidade e onde o usuário vê 20 os avatares representando outros usuários da comunidade online presentes em qualquer dado momento. Na etapa 610, um usuário solicita enviar um frase de bate-papo digitada para receptores. Observe que os receptores po- dem ser qualquer pessoa presente na mesma área do ambiente virtual (co- mo apresentado na figura 5B) ou o usuário transmissor poderia especificar 25 um ou mais receptores da mensagem pretendidos.
Uma vez que o usuário solicita enviar uma mensagem de bate- papo, o servidor de bate-papo pode analisar a frase para derivar uma frase de teste para associação com frases em um arquivo de palavras estático (etapa 615). A frase de teste pode remover um ou mais aspectos sintáticos 30 da frase recebida sem substancialmente alterar o significado semântico da frase. Por exemplo, em uma concretização, o servidor de bate-papo pode remover mais do que duas letras repetidas, remover palavras repetidas, e limitar o número de pontos de exclamação (ou outras marcas de pontuação). De forma similar, o servidor de bate-papo poderia reformatar uma frase para padronizar maiúsculas e minúsculas, substituir letras, remover números den- tro dos caracteres do texto, etc.. A frase de teste resultante proporciona uma 5 mensagem em uma forma semicanônica que pode ser associada com frases no arquivo de frases estático (etapa 620). Na etapa 625, se for encontrada uma associação, então, um identificador associado com a frase associada pode ser enviado para os receptores da mensagem. Uma vez recebida, cada receptor sintetiza a mensagem na forma semicanônica (etapa 630). De qual- 10 quer forma, a mensagem é sintetizada para visualização pelo usuário reme- tente (etapa 635).
As figuras 7 A até 7C ilustram um exemplo de mensagens de ba- te-papo sendo "enviadas por software" em um ambiente online utilizando o método da figura 6, de acordo com uma concretização da invenção. Como 15 apresentado na figura 7A, uma sintetização 700 apresenta um ambiente vir- tual onde usuários podem interagir uns com os outros via avatares. Neste exemplo particular, o ambiente virtual apresenta usuários com uma loja de roupas virtual onde os avatares são pingüins caracterizados. Para este e- xemplo, assuma que o avatar 720 "Flippers" corresponde ao usuário visuali- 20 zando a sintetização 700, enquanto os outros avatares representam outros usuários também presentes neste ambiente virtual.
O usuário controlando o avatar 720 pode compor uma mensa- gem de bate-papo utilizando a interface 705. Neste exemplo, o usuário digi- tou uma frase 710 "LOLÜ Thats SOOO cooolll!!!". O usuário controlando o 25 avatar 720 pode enviar a frase 710 utilizando o botão 715. Uma vez que o usuário solicita enviar a frase 710, ela pode ser avaliada pelo servidor de bate-papo. Por exemplo, remover a frase opcional "LOLI1", substituir "thats" por "that's", e remover letras repetidas resulta nas frases semi-canônicas "that's so cool". A frase resultante - "that's so cool" - é emulada em relação 30 a um arquivo de frases estático. Alternativamente, a frase resultante poderia ser avaliada utilizando o processo de bate-papo com frases dinâmicas discu- tido acima. Assuma que uma associação é encontrada no arquivo de frases estático. Em tal caso, o servidor de bate-papo envia um ID da frase corres- pondendo à frase - "that's so cool" - para cada receptor. Em adição, o servi- dor de bate-papo pode restaurar alguns dos "opcionais" para a frase. Por exemplo, os pontos de exclamação do final poderiam ser adicionados, e a 5 frase poderia ser enviada em letras maiúsculas (assumindo que a frase composta pelo usuário tinha uma maioria das letras em um formato de mai- úsculas).
O resultado do "envio por software" da frase para receptores é apresentado na figura 7B. Como apresentado nesta figura, o avatar 720 é 10 sintetizado com uma bolha de texto 730 que inclui a frase a partir do arquivo e palavras / frases estático, com os pontos de exclamação do final. A bolha de texto 730 é sintetizada com o arquivo de frases para cada usuário com um avatar na ambiente virtual apresentado na figura 7B. Em contraste, a figura 7C apresenta a frase sintetizada para o usuário remetente. Novamen- 15 te, o avatar 720 é agora sintetizado com uma bolha de texto 730. Entretanto, o conteúdo da bolha de texto 730 apresenta a mensagem de bate-papo co- mo digitada pelo usuário controlando o avatar 720. Ou seja, a frase é sinteti- zada para o usuário remetente com todos os "opcionais" intactos.
Em adição a dinamicamente gerar mensagens de bate-papo pa- ra sugerir e/ou enviar para usuários de um ambiente virtual, e a "enviar por software" algumas mensagens de bate-papo, o servidor de bate-papo pode ser adicionalmente configurado para construir um conjunto de sugestões à medida um usuário compõe uma mensagem de bate-papo. Entretanto, dada as grandes combinações de mensagens de bate-papo permitidas possíveis, em uma concretização, o servidor de bate-papo pode tentar determinar a "melhor" escolha para apresentar para um usuário quando construindo uma mensagem de bate-papo. Se nenhuma das palavras apresentadas forem corretas, o usuário pode digitar o próximo elemento da mensagem de bate- papo desejada, e o servidor de bate-papo pode novamente avaliar a frase parcial resultante para determinar outro conjunto de "melhores" escolhas para apresentar para o usuário. Enquanto os critérios para selecionar as "melhores" escolhas podem ser construídos para uma comunidade particular de usuários ou ambiente virtual, exemplos de fatores que podem ser utiliza- dos incluem a popularidade da frase, dados demográficos de uma base de usuários, o histórico de bate-papo do usuário, nível de avatar do convidado e atividades correntes, (indagações, localizações, etc.). Por exemplo, retor- 5 nando para o exemplo de uma loja apresentado nas figuras 7A até 7C, os usuários podem ser mais prováveis de bater-papo sobre itens na loja (ou sobre tópicos relacionados com os mesmos). Estes dados poderiam ser utili- zados para agressivamente favorecer frases contendo "perucas" ou "cha- péus" nas frases sugeridas à medida que é mais provável que o usuário pre- 10 tenda dizer "Eu quero um chapéu" em relação a dizer "Eu quero pizza".
A figura 8 ilustra um método 800 para sugerir possibilidade de frase de bate-papo para um usuário em um ambiente online, de acordo com uma concretização da invenção. Como apresentado, o método 800 começa na etapa 805, onde uma interface de bate-papo é apresentada para um usu- 15 ário como parte do acesso a um ambiente online. Por exemplo, o usuário pode se conectar com uma comunidade virtual online, onde a presença des- te usuário é indicada por um avatar visível para os outros usuários da comu- nidade e onde o usuário vê os avatares representando outros usuários da comunidade online presentes em qualquer dado momento. Uma vez que um 20 usuário seleciona (ou digita) um próximo termo para incluir em uma mensa- gem de bate-papo (etapa 810), o servidor de bate-papo identifica os N ter- mos sugeridos mais utilizados para adicionar para a frase sendo composta pelo usuário (etapa 815). Uma vez identificadas, as N escolhas mais utiliza- das podem ser apresentadas para o usuário (etapa 820). O processo (eta- 25 pas 810, 815 e 820) continua até que um usuário selecione enviar uma frase de bate-papo completada (etapa 825). Na etapa 830, a frase resultante Poe ser enviada para os receptores da mensagem. Uma vez recebida, cada re- ceptor sintetiza a mensagem.
As figuras 9A até 9C ilustram um exemplo de uma mensagem de bate-papo sendo composta em um ambiente online utilizando o método da figura 8, de acordo com uma concretização da invenção. Como apresentado na figura 9A, uma sintetização 900 apresenta um ambiente virtual onde usu- ários podem interagir uns com os outros via avatares. Neste exemplo parti- cular, o ambiente virtual apresenta usuários com uma rua ao ar livre, onde os avatares são pingüins caracterizados. Para este exemplo, assumam que o avatar 920 (com um nome de usuário de "Flippers") corresponde ao usuá- 5 rio visualizando a sintetização 900, enquanto os outros avatares represen- tam outros usuários também presentes neste ambiente virtual.
Ilustrativamente, o usuário controlando o avatar 920 está digi- tando uma mensagem de bate-papo na interface 905 que começa com a palavra "festa". Um bloco de palavras 910 apresenta a palavra informada 10 pelo usuário. Adicionalmente, uma pilha de palavras 915 apresenta um con- junto de escolhas para estender a frase sendo composta. Como descrito, as palavras particulares na pilha de palavras 915 podem ser determinadas co- mo as "melhores" escolhas em relação à frase "festa" corrente e em relação a outros critérios tais como as palavras mais populares ou baseadas na Ioca- 15 lização corrente do usuário. Neste exemplo particular, o usuário seleciona uma das sugestões - a palavra "no". Este resultado é apresentado na figura 9B, onde blocos de palavras 910 e 925 representam o estado atual da men- sagem de bate-papo à medida que ela está sendo composta. Uma segunda pilha de palavras 930 apresenta um segundo conjunto de escolhas que o 20 usuário pode selecionar. De forma importante, as escolhas apresentadas na pilha de palavras 930 são determinadas em relação à frase atual completa "festa no" e não apenas em relação à última palavra "no". Ou seja, as "me- lhores" escolhas são determinadas em relação à frase atual, não em relação às palavras individuais.
Continuando com o presente exemplo, a figura 9C apresenta
uma terceira pilha de palavras 940 determinada para a frase corrente "festa no iglu" composta a partir dos blocos de palavras 910, 925 e 945. Observe que neste exemplo, o usuário não selecionou qualquer uma das "melhores" escolhas a partir da pilha de palavras 930 apresentada na figura 9B. Ao in- 30 vés disso, o usuário digitou uma nova palavra "iglu" para ser adicionada para a mensagem de bate-papo. Ao mesmo tempo, o servidor de bate-papo res- ponde por avaliar a frase completa "festa no iglu" para determinar as pala- vras a incluir na pilha de palavras 940. Este exemplo ilustra que as "melho- res" escolhas são determinadas em relação à frase corrente, não em relação às palavras individuais, mesmo quando as palavras são adicionadas para a frase pelo usuário digitando, ao invés de selecionar uma das "melhores" pa- 5 lavras a partir de uma pilha de palavras corrente. Este processo continua até que um usuário complete a composição de uma frase e decida enviar a mesma para um ou mais receptores, tal como todas as pessoas na mesma localização do ambiente virtual que o usuário remetente.
A figura 10 é uma vista mais detalhada do sistema de computa- 10 ção servidor da figura 1, de acordo com uma concretização da invenção. Como apresentado, o sistema servidor 105 inclui, sem limitação, uma unida- de central de processamento (CPU) 1005, uma interface de rede 1015, um barramento 1017, uma memória 1020, e o armazenamento 1030. O sistema servidor 105 também inclui uma interface de dispositivo de E/S 1010, conec- 15 tando o sistema servidor 105 com dispositivos de E/S 1012 (por exemplo, teclado, vídeo e dispositivos de mouse). Como descrito acima, o sistema servidor 105 proporciona um sistema de computação configurado para hos- pedar uma aplicação de ambiente virtual com múltiplos usuários 111.
A CPU 1005 recupera e executa instruções de programação ar- mazenadas na memória 1020. De forma similar, a CPU 1005 armazena e recupera dados da aplicação residindo na memória 1020. O barramento 1017 é utilizado para transmitir as instruções de programação e os dados da aplicação entre a CPU 1005, a interface dos dispositivos de E/S 1010, o ar- mazenamento 1030, a interface de rede 1015, e a memória 1020. A CPU 1005 está incluída para ser representativa de uma única CPU, de múltiplas CPU, de uma única CPU possuindo múltiplos núcleos de processamento, e assim por diante. Além disso, a memória 1020 está geralmente incluída para ser representativa de uma memória de acesso aleatório. O armazenamento 1030 pode ser um dispositivo de armazenamento da unidade de disco. Ape- sar de apresentada como uma unidade única, o armazenamento 1030 pode ser uma combinação de dispositivos de armazenamento fixos e/ou removí- veis, tais como unidades de disco magnético, unidade de estado sólido (SSD)1 cartões de memória removíveis, armazenamento óptico, armazena- mento conectado com rede (NAS), ou uma rede de área de armazenamento (SAN).
De forma ilustrativa, a memória 1020 inclui a aplicação de ambi- ente virtual com múltiplos usuários 111, a qual inclui o servidor de bate-papo 205 e o servidor de ambiente virtual 210. Como observado, a aplicação de ambiente virtual 111 e o servidor de bate-papo 205 proporcionam uma apli- cação de software configurada para implementar qualquer uma das aborda- gens discutidas acima para gerenciar comunicações de bate-papo comparti- Ihada entre usuários dos ambientes virtuais hospedados. O armazenamento 1030 inclui o arquivo de palavras atual (as palavras individuais a partir das quais as mensagens de bate-papo podem ser compostas) e uma ontologia de palavras 222. Como descrito acima, a ontologia de palavras 222 pode proporcionar anotações semânticas para as palavras individuais no arquivo de palavras 222.
A figura 11 é uma vista mais detalhada do sistema de computa- ção cliente 130 da figura 1, de acordo com uma concretização da invenção. Como apresentado, o sistema de computação cliente 130 inclui, sem limita- ção, uma unidade central de processamento (CPU) 1105, uma interface de 20 rede 1115, um barramento 1117, uma memória 1120, e o armazenamento 1130. O sistema de computação 130 também inclui uma interface de disposi- tivo de E/S 1110 conectando dispositivos de E/S 1112 com o sistema de computação 130 (por exemplo, um teclado, mouse, ou controle remoto, junto com um monitor (por exemplo, um painel LCD).
Da mesma forma que a CPU 1005, a CPU 1105 está incluída
para ser representativa de uma única CPU, de múltiplas CPUs, de uma úni- ca CPU possuindo múltiplos núcleos de processamento, etc., e a memória 1120 está incluída para ser representativa de uma memória de acesso alea- tório. O barramento 1117 conecta a CPU 1105, a interface de dispositivos de 30 E/S 1110, o armazenamento 1130, a interface de rede 1115, e a memória 1120. A interface de rede 1115 é configurada para transmitir dados via a re- de de comunicações 120, por exemplo, para acessar um ambiente virtual hospedado pelo sistema servidor 105. O armazenamento 1130, tal como uma unidade de disco rígido ou unidade de armazenamento de estado sólido (SSD), pode armazenar arquivos de dados junto com outros conteúdos.
De forma ilustrativa, a memória 1120 inclui um navegador da 5 Rede 132, o qual ele próprio inclui um cliente de bate-papo 1125. Além dis- so, o armazenamento 1135 armazena dados de conta de usuário 1135 e parâmetros de configuração do usuário á medida que necessários para facili- tar um usuário interagir com um ambiente virtual online hospedado. Por e- xemplo, descrito acima, o navegador da Rede 132 pode acessar um acesso 10 do servidor ao ambiente virtual e ao cliente de bate-papo, permitindo que um usuário participe de um jogo, bem como se comunicar com outros usuários via o cliente de bate-papo 1125.
De forma vantajosa, as concretizações da invenção proporcio- nam uma variedade de técnicas para fornecer para os usuários em um am- 15 biente online uma capacidade de bate-papo seguira e eficaz. Por exemplo, em uma concretização, a capacidade de permissão de dada frase (ou frase sugerida) é determinada dinamicamente à medida que um usuário digita uma frase (ou solicita enviar uma frase) baseada em um conjunto de regras de combinabilidade. Em outra concretização, o sistema de bate-papo é con- 20 figurado para envio por software de algumas mensagens enviadas por um usuário para outros. Uma mensagem é "enviada por software" quando a mensagem real enviada para os receptores remove "opcionais" da mensa- gem fornecida pelo usuário. Ainda em outra concretização, sugestões de frase são feitas para um usuário enquanto ele compõe uma mensagem de 25 bate-papo, onde as seleções são determinadas em relação a uma variedade de fatores, incluindo, por exemplo, a popularidade da frase, o histórico de bate-papo do usuário, o nível de avatar do convidado e as atividades corren- tes, indagações, localizações e itens mantidos dentro do jogo.
Enquanto o dito anteriormente é direcionado para concretizações da presente invenção, outras concretizações e concretizações adicionais da invenção podem ser imaginadas sem afastamento do escopo básico da mes- ma, e o escopo da mesma é determinado pelas reivindicações a seguir.

Claims (27)

1. Método implementado por computador para facilitar comuni- cação, compreendendo: gerar, para várias palavras em um vocabulário de bate-papo, metadados de palavra caracterizando uma função gramatical para as pala- vras no vocabulário de bate-papo; designar cada uma das várias palavras no vocabulário de bate- papo para uma ou mais categorias semânticas em uma ontologia; obter várias regras de combinabilidade de palavras para combi- nar uma ou mais palavras designadas para uma segunda categoria semânti- ca das categorias semânticas, baseado nos metadados de palavra e na on- tologia; e dinamicamente gerar frases para incluir nas mensagens de bate- papo de acordo com as várias regras de combinabilidade de palavra.
2. Método, de acordo com a reivindicação 1, em que as palavras no vocabulário de bate-papo são determinadas a partir de um histórico de bate-papo de mensagens de bate-papo trocadas entre usuários em um am- biente virtual online.
3. Método, de acordo com a reivindicação 1, em que pelo menos uma das regras de combinabilidade de palavra adicionalmente especifica uma ordem permitida da palavra para as combinações de uma ou mais pala- vras designadas para a primeira categoria semântica das categorias semân- ticas com uma ou mais palavras designadas para a segunda categoria se- mântica das categorias semânticas.
4. Método, de acordo com a reivindicação 1, em que dinamica- mente gerar frases para mensagens de bate-papo de acordo com as várias regras de combinabilidade de palavra compreende: receber uma frase de texto composta do vocabulário de pala- vras, a frase de texto gerada por um primeiro usuário, avaliar a frase de texto utilizando as várias regras de combinabi- lidade de palavra para determinar se a frase de texto corresponde a uma das frases de bate-papo permitas; e ao determinar que a frase de texto corresponde a uma das fra- ses de bate-papo permitidas, enviar a frase de texto para pelo menos um segundo usuário.
5. Método, de acordo com a reivindicação 1, em que dinamica- mente gerar frases para mensagens de bate-papo de acordo com as várias regras de combinabilidade de palavra compreende: receber uma primeira frase de texto composta do vocabulário de palavras, a frase de texto gerada por um primeiro usuário; identificar uma ou mais segundas frases de texto combináveis com a primeira frase de texto de acordo com as regras de combinabilidade de palavra; e sugerir a uma ou mais segundas frases de texto para o primeiro usuário.
6. Método, de acordo com a reivindicação 5, em que identificar uma ou mais segundas frases de texto combináveis com a primeira frase de texto de acordo com as regras de combinabilidade de palavra compreende: identificar no máximo um número especificado de segundas fra- ses de texto, em que no máximo o número especificado de segundas frases de texto é selecionado como um conjunto de frases mais prováveis de serem selecionadas pelo primeiro usuário para incluir em uma mensagem de bate- papo que inclui a primeira frase de texto e a segunda frase de texto, e em que o conjunto de frases mais prováveis de serem selecionadas pelo primei- ro é determinado em relação a critérios predefinidos.
7. Método, de acordo com a reivindicação 6, que adicionalmente compreende: receber uma indicação de uma frase selecionada dentre a uma ou mais segundas frases de texto; combinar a primeira frase de texto com a segunda frase de texto como uma mensagem de bate-papo; e enviar a mensagem de bate-papo para pelo menos um segundo usuário.
8. Método, de acordo com a reivindicação 6, que adicionalmente compreende: receber uma indicação de uma frase selecionada dentre uma ou mais segundas frases de texto; combinar a primeira frase de texto com a segunda frase de texto como uma terceira frase de texto; identificar uma ou mais quartas frases de texto combináveis com a terceira frase de texto de acordo com as regras de combinabilidade de pa- lavras; e sugerir a uma ou mais quartas frases de texto para o primeiro usuário.
9. Método, de acordo com a reivindicação 6, que adicionalmente compreende marcar a primeira frase de texto com uma anotação caracteri- zando uma função gramatical da primeira frase de texto e uma categoria semântica designada dentre categorias semânticas da ontologia.
10. Meio de armazenamento legível por computador armaze- nando um programa que, quando executado por um processador, executa uma operação para facilitar comunicação, a operação compreendendo: gerar, para várias palavras em um vocabulário de bate-papo, metadados de palavras caracterizando uma função gramatical para as pala- vras no vocabulário de bate-papo; designar cada uma das várias palavras no vocabulário de bate- papo para uma ou mais categorias semânticas em uma ontologia; obter várias regras de combinabilidade de palavra para combinar uma ou mais palavras designadas para uma primeira categoria semântica dentre as categorias semânticas com uma ou mais palavras designadas pa- ra uma segunda categoria semântica dentre as categorias semânticas, ba- seado nos metadados de palavra e na ontologia; e dinamicamente gerar frases incluindo mensagens de bate-papo de acordo com as várias regras de combinabilidade de palavra.
11. Meio de armazenamento legível por computador, de acordo com a reivindicação 10, em que as palavras no vocabulário de bate-papo são determinadas a partir de um histórico de bate-papo das mensagens de bate-papo trocadas entre usuários em um ambiente virtual online.
12. Meio de armazenamento legível por computador, de acordo com a reivindicação 10, em que pelo menos uma das regras de combinabili- dade de palavra adicionalmente especifica uma ordem permitida das pala- vras para as combinações de uma ou mais palavras designadas para a pri- meira categoria semântica das categorias semânticas com uma ou mais pa- lavras designadas para a segunda categoria semântica dentre as categorias semânticas.
13. Meio de armazenamento legível por computador, de acordo com a reivindicação 10, em que dinamicamente gerar frases para mensa- gens de bate-papo de acordo com as várias regras de combinabilidade de palavra compreende: receber uma frase de texto composta do vocabulário de pala- vras, a frase de texto gerada por um primeiro usuário; avaliar a frase de texto utilizando as várias regras de combinabi- lidade de palavra para determinar se a frase de texto corresponde a uma das frases de bate-papo permitas; e ao determinar que a frase de texto corresponde a uma das fra- ses de bate-papo permitidas, enviar a frase de texto para pelo menos um segundo usuário.
14. Meio de armazenamento legível por computador, de acordo com a reivindicação 10, em que dinamicamente gerar frases para mensa- gens de bate-papo de acordo com as várias regras de combinabilidade de palavra compreende: receber uma primeira frase de texto composta do vocabulário de palavras, a frase de texto gerada por um primeiro usuário; identificar uma ou mais segundas frases de texto combináveis com a primeira frase de texto de acordo com as regras de combinabilidade de palavra; e sugerir a uma ou mais segundas frases de texto para o primeiro usuário.
15. Meio de armazenamento legível por computador, de acordo com a reivindicação 14, em que identificar uma ou mais segundas frases de texto combináveis com a primeira frase de texto de acordo com as regras de combinabilidade de palavra compreende: identificar no máximo um número especificado de segundas fra- ses de texto, em que no máximo o número especificado de segundas frases de texto é selecionado como um conjunto de frases mais prováveis de serem selecionadas pelo primeiro usuário para incluir em uma mensagem de bate- papo que inclui a primeira frase de texto e a segunda frase de texto, e em que o conjunto de frases mais prováveis de serem selecionadas pelo primei- ro é determinado em relação a critérios predefinidos.
16. Meio de armazenamento legível por computador, de acordo com a reivindicação 14, em que a operação adicionalmente compreende: receber uma indicação de uma frase selecionada dentre a uma ou mais segundas frases de texto; combinar a primeira frase de texto com a segunda frase de texto como uma mensagem de bate-papo; e enviar a mensagem de bate-papo para pelo menos um segundo usuário.
17. Meio de armazenamento legível por computador, de acordo com a reivindicação 14, em que a operação adicionalmente compreende: receber uma indicação de uma frase selecionada dentre a uma ou mais segundas frases de texto; combinar a primeira frase de texto com a segunda frase de texto como uma terceira frase de texto; identificar uma ou mais quartas frases de texto combináveis com a terceira frase de texto de acordo com as regras de combinabilidade de pa- lavras; e sugerir a uma ou mais quartas frases de texto para o primeiro usuário.
18. Meio de armazenamento legível por computador, de acordo com a reivindicação 14, em que a operação adicionalmente compreende marcar a primeira frase de texto com uma anotação caracterizando uma fun- ção gramatical da primeira frase de texto e uma categoria semântica desig- nada dentre categorias semânticas da ontologia.
19. Sistema, compreendendo: um processador; e uma memória, em que a memória inclui um programa de aplica- ção configurado para executar uma operação para facilitar comunicação en- tre usuários, a operação compreendendo: gerar, para várias palavras em um vocabulário de bate-papo, metadados de palavra caracterizando uma função gramatical para as pala- vras no vocabulário de bate-papo; designar cada uma das várias palavras no vocabulário de bate- papo para uma ou mais categorias semânticas em uma ontologia; obter várias regras de combinabilidade de palavra para combinar uma ou mais palavras designadas para uma primeira categoria semântica dentre as categorias semânticas com uma ou mais palavras designadas pa- ra uma segunda categoria semântica dentre as categorias semânticas, ba- seado nos metadados de palavra e na ontologia; e dinamicamente gerar frases incluindo mensagens de bate-papo de acordo com as várias regras de combinabilidade de palavra.
20. Sistema, de acordo com a reivindicação 19, em que as pala- vras no vocabulário de bate-papo são determinadas a partir de um histórico de bate-papo das mensagens de bate-papo trocadas entre usuários em um ambiente virtual online.
21. Sistema, de acordo com a reivindicação 19, em que pelo menos uma das regras de combinabilidade de palavra adicionalmente espe- cifica uma ordem permitida da palavra para as combinações de uma ou mais palavras designadas para a primeira categoria semântica das categorias semânticas com uma ou mais palavras designadas para a segunda catego- ria semântica dentre as categorias semânticas.
22. Sistema, de acordo com a reivindicação 19, em que dinami- camente gerar frases para mensagens de bate-papo de acordo com as vá- rias regras de combinabilidade de palavra compreende: receber uma frase de texto composta do vocabulário de pala- vras, a frase de texto gerada por um primeiro usuário; avaliar a frase de texto utilizando as várias regras de combinabi- lidade de palavra para determinar se a frase de texto corresponde a uma das frases de bate-papo permitas; e ao determinar que a frase de texto corresponde a uma das fra- ses de bate-papo permitidas, enviar a frase de texto para pelo menos um segundo usuário.
23. Sistema, de acordo com a reivindicação 19, em que dinami- camente gerar frases para mensagens de bate-papo de acordo com as vá- rias regras de combinabilidade de palavra compreende: receber uma primeira frase de texto composta do vocabulário de palavras, a frase de texto gerada por um primeiro usuário; identificar uma ou mais segundas frases de texto combináveis com a primeira frase de texto de acordo com as regras de combinabilidade de palavra; e sugerir a uma ou mais segundas frases de texto para o primeiro usuário.
24. Sistema, de acordo com a reivindicação 23, em que identifi- car uma ou mais segundas frases de texto combináveis com a primeira frase de texto de acordo com as regras de combinabilidade de palavra compreen- de: identificar no máximo um número especificado de segundas fra- ses de texto, em que no máximo o número especificado de segundas frases de texto é selecionado como um conjunto de frases mais prováveis de serem selecionadas pelo primeiro usuário para incluir em uma mensagem de bate- papo que inclui a primeira frase de texto e a segunda frase de texto, e em que o conjunto de frases mais prováveis de serem selecionadas pelo primei- ro é determinado em relação a critérios predefinidos.
25. Sistema, de acordo com a reivindicação 23, em que a opera- ção adicionalmente compreende: receber uma indicação de uma frase selecionada dentre a uma ou mais segundas frases de texto; combinar a primeira frase de texto com a segunda frase de texto como uma mensagem de bate-papo; e enviar a mensagem de bate-papo para pelo menos um segundo usuário.
26. Sistema, de acordo com a reivindicação 23, em que a opera- ção adicionalmente compreende: receber uma indicação de uma frase selecionada dentre a uma ou mais segundas frases de texto; combinar a primeira frase de texto com a segunda frase de texto como uma terceira frase de texto; identificar uma ou mais quartas frases de texto combináveis com a terceira frase de texto de acordo com as regras de combinabilidade de pa- lavras; e sugerir a uma ou mais quartas frases de texto para o primeiro usuário.
27. Sistema, de acordo com a reivindicação 23, em que a opera- ção adicionalmente compreende marcar a primeira frase de texto com uma anotação caracterizando uma função gramatical da primeira frase de texto e uma categoria semântica designada dentre categorias semânticas da onto- logia.
BRBR102012020793-1A 2011-08-19 2012-08-17 Entrada assistida baseada em frase gerada dinamicamente BR102012020793A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/214,087 US9176947B2 (en) 2011-08-19 2011-08-19 Dynamically generated phrase-based assisted input

Publications (1)

Publication Number Publication Date
BR102012020793A2 true BR102012020793A2 (pt) 2014-05-06

Family

ID=46934418

Family Applications (1)

Application Number Title Priority Date Filing Date
BRBR102012020793-1A BR102012020793A2 (pt) 2011-08-19 2012-08-17 Entrada assistida baseada em frase gerada dinamicamente

Country Status (4)

Country Link
US (1) US9176947B2 (pt)
EP (1) EP2560103A3 (pt)
CN (1) CN102999544B (pt)
BR (1) BR102012020793A2 (pt)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9713774B2 (en) 2010-08-30 2017-07-25 Disney Enterprises, Inc. Contextual chat message generation in online environments
US9552353B2 (en) 2011-01-21 2017-01-24 Disney Enterprises, Inc. System and method for generating phrases
US9165329B2 (en) 2012-10-19 2015-10-20 Disney Enterprises, Inc. Multi layer chat detection and classification
US9313284B2 (en) * 2013-03-14 2016-04-12 International Business Machines Corporation Smart posting with data analytics and semantic analysis to improve a message posted to a social media service
US10303762B2 (en) 2013-03-15 2019-05-28 Disney Enterprises, Inc. Comprehensive safety schema for ensuring appropriateness of language in online chat
US10742577B2 (en) 2013-03-15 2020-08-11 Disney Enterprises, Inc. Real-time search and validation of phrases using linguistic phrase components
US8984080B1 (en) 2013-04-09 2015-03-17 Kabam, Inc. Facilitating user configured assistance requests through a chat in a virtual space
US9332043B1 (en) * 2013-04-12 2016-05-03 Kabam, Inc. System and method for facilitating user interaction with a virtual space through a graphical chat interface
JP5728630B1 (ja) * 2014-07-31 2015-06-03 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
CN106209570A (zh) * 2015-05-05 2016-12-07 阿里巴巴集团控股有限公司 聊天中的信息提示方法及装置
US10951558B2 (en) * 2017-09-27 2021-03-16 Slack Technologies, Inc. Validating application dialog associated with a triggering event identification within user interaction data received via a group-based communication interface
US11030413B2 (en) * 2018-06-27 2021-06-08 International Business Machines Corporation Recommending message wording based on analysis of prior group usage
US11157694B2 (en) * 2018-08-14 2021-10-26 Snap Inc. Content suggestion system
US11625421B1 (en) * 2020-04-20 2023-04-11 GoLaw LLC Systems and methods for generating semantic normalized search results for legal content
CN112717424B (zh) * 2021-01-05 2022-02-15 浙江大学 一种信息发送控制方法、装置、电子设备及存储介质

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678051A (en) 1992-12-24 1997-10-14 Matsushita Electric Industrial C., Ltd. Translating apparatus with special display mode for supplemented words
US5995920A (en) 1994-12-22 1999-11-30 Caterpillar Inc. Computer-based method and system for monolingual document development
US6487583B1 (en) 1998-09-15 2002-11-26 Ikimbo, Inc. System and method for information and application distribution
DE19962902A1 (de) 1999-12-23 2001-07-05 Erland Wittkoetter Vorrichtung zum Passwort-geschützten Handhaben eines elektronischen Dokuments
US20010029455A1 (en) 2000-03-31 2001-10-11 Chin Jeffrey J. Method and apparatus for providing multilingual translation over a network
US6836760B1 (en) 2000-09-29 2004-12-28 Apple Computer, Inc. Use of semantic inference and context-free grammar with speech recognition system
US6922670B2 (en) 2000-10-24 2005-07-26 Sanyo Electric Co., Ltd. User support apparatus and system using agents
US7027974B1 (en) * 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
JP2002157202A (ja) 2000-11-17 2002-05-31 Square Co Ltd 情報処理装置、メッセージ通信方法、記録媒体およびコンピュータ・プログラム
US20020140726A1 (en) 2000-12-22 2002-10-03 Schwartz Richard L. Method and system for facilitating mediated communication
US6908389B1 (en) 2001-03-07 2005-06-21 Nokia Corporation Predefined messages for wireless multiplayer gaming
US20030097406A1 (en) 2001-11-16 2003-05-22 Ben Stafford Method of exchanging messages
US20030187632A1 (en) 2002-04-02 2003-10-02 Menich Barry J. Multimedia conferencing system
AU2003248736A1 (en) 2002-06-25 2004-01-06 Abs Software Partners Llc System and method for online monitoring of and interaction with chat and instant messaging participants
EP1576586A4 (en) 2002-11-22 2006-02-15 Transclick Inc LANGUAGE TRANSLATION SYSTEM AND METHOD
US7305627B2 (en) 2003-04-01 2007-12-04 International Business Machines Corporation Apparatus and method for correcting previously sent messages in a real-time messaging system
GB2407657B (en) 2003-10-30 2006-08-23 Vox Generation Ltd Automated grammar generator (AGG)
KR100561227B1 (ko) 2003-12-19 2006-03-15 한국전자통신연구원 한-중 기계번역시스템의 용언구 패턴 자동 확장 및 검증장치 및 방법
US7552055B2 (en) 2004-01-10 2009-06-23 Microsoft Corporation Dialog component re-use in recognition systems
WO2005103978A2 (en) 2004-04-15 2005-11-03 Artifical Medical Intelligence, Inc. System and method for automatic assignment of medical codes to unformatted data
JP4579595B2 (ja) 2004-06-29 2010-11-10 キヤノン株式会社 音声認識文法作成装置、音声認識文法作成方法、プログラム、及び記憶媒体
JP2006014954A (ja) 2004-07-01 2006-01-19 Aruze Corp ゲームシステム
US20070016401A1 (en) 2004-08-12 2007-01-18 Farzad Ehsani Speech-to-speech translation system with user-modifiable paraphrasing grammars
US7478105B2 (en) 2004-10-26 2009-01-13 International Business Machines Corporation E-mail based Semantic Web collaboration and annotation
US20060129633A1 (en) 2004-12-14 2006-06-15 International Business Machines Corporation Mechanism to facilitate customization of real time messaging using mobile devices
US8015051B2 (en) 2005-03-11 2011-09-06 Sap Ag System and method for business process integration
US7396281B2 (en) 2005-06-24 2008-07-08 Disney Enterprises, Inc. Participant interaction with entertainment in real and virtual environments
JP5124469B2 (ja) 2005-11-14 2013-01-23 ランゲージ ディスカバリー エルティーディー 多言語交流システム
US7587308B2 (en) * 2005-11-21 2009-09-08 Hewlett-Packard Development Company, L.P. Word recognition using ontologies
US7873584B2 (en) 2005-12-22 2011-01-18 Oren Asher Method and system for classifying users of a computer network
US20070168511A1 (en) 2006-01-17 2007-07-19 Brochu Jason M Method and apparatus for user moderation of online chat rooms
FR2906049A1 (fr) * 2006-09-19 2008-03-21 Alcatel Sa Procede, mis en oeuvre par ordinateur, de developpement d'une ontologie a partir d'un texte en langage naturel
US20100050074A1 (en) 2006-10-30 2010-02-25 Cellesense Technologies Ltd. Context sensitive, error correction of short text messages
DE102007004684A1 (de) * 2007-01-25 2008-07-31 Deutsche Telekom Ag Verfahren und Datenverarbeitungssystem zum gesteuerten Abfragen strukturiert gespeicherter Informationen
US7809719B2 (en) * 2007-02-08 2010-10-05 Microsoft Corporation Predicting textual candidates
US20080220854A1 (en) 2007-03-08 2008-09-11 Timothy Michael Midgley Method and apparatus for collecting user game play data and crediting users in an online gaming environment
CN100505664C (zh) * 2007-03-27 2009-06-24 腾讯科技(深圳)有限公司 一种互动问答系统及其实现方法
WO2009030247A1 (de) 2007-09-03 2009-03-12 Iqser Ip Ag Erfassung von zusammenhängen zwischen informationen repräsentierenden daten
US20090299960A1 (en) 2007-12-21 2009-12-03 Lineberger William B Methods, systems, and computer program products for automatically modifying a virtual environment based on user profile information
US20090210803A1 (en) 2008-02-15 2009-08-20 International Business Machines Corporation Automatically modifying communications in a virtual universe
US20090245500A1 (en) 2008-03-26 2009-10-01 Christopher Wampler Artificial intelligence assisted live agent chat system
US8616970B2 (en) 2008-04-07 2013-12-31 Palo Alto Research Center Incorporated System and method for managing a multiplicity of text messages in an online game
US8326604B2 (en) * 2008-04-24 2012-12-04 International Business Machines Corporation Dictionary for textual data compression and decompression
US8095878B2 (en) 2008-06-23 2012-01-10 International Business Machines Corporation Method for spell check based upon target and presence of avatars within a virtual environment
US8180629B2 (en) 2008-07-10 2012-05-15 Trigent Softward Ltd. Automatic pattern generation in natural language processing
US8874443B2 (en) 2008-08-27 2014-10-28 Robert Bosch Gmbh System and method for generating natural language phrases from user utterances in dialog systems
US8010615B2 (en) 2008-12-31 2011-08-30 International Business Machines Corporation Instant messaging multilingual configuration
EP2380094A1 (en) * 2009-01-16 2011-10-26 Sanjiv Agarwal Dynamic indexing while authoring
US20120101970A1 (en) 2009-06-22 2012-04-26 United Parents Online Ltd. Method and system of monitoring a network based communication among users
US8301168B2 (en) 2009-10-16 2012-10-30 At&T Mobility Ii Llc Devices and methods for selectively filtering message content
US20110154224A1 (en) * 2009-12-17 2011-06-23 ChatMe TV, Inc. Methods, Systems and Platform Devices for Aggregating Together Users of a TVand/or an Interconnected Network
US8478581B2 (en) 2010-01-25 2013-07-02 Chung-ching Chen Interlingua, interlingua engine, and interlingua machine translation system
US8782556B2 (en) 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US20110270771A1 (en) 2010-05-03 2011-11-03 Xerox Corporation System and method for a flexible management of the escalation of support for devices
US8380725B2 (en) * 2010-08-03 2013-02-19 Ganz Message filter with replacement text
US9213704B2 (en) * 2010-09-20 2015-12-15 Microsoft Technology Licensing, Llc Dictionary service
US20120323565A1 (en) 2011-06-20 2012-12-20 Crisp Thinking Group Ltd. Method and apparatus for analyzing text

Also Published As

Publication number Publication date
US20130046791A1 (en) 2013-02-21
CN102999544B (zh) 2016-04-27
EP2560103A3 (en) 2013-10-30
US9176947B2 (en) 2015-11-03
EP2560103A2 (en) 2013-02-20
CN102999544A (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
US9245253B2 (en) Soft-sending chat messages
BR102012020793A2 (pt) Entrada assistida baseada em frase gerada dinamicamente
US9552353B2 (en) System and method for generating phrases
Drakett et al. Old jokes, new media–Online sexism and constructions of gender in Internet memes
US7627536B2 (en) Dynamic interaction menus from natural language representations
US9713774B2 (en) Contextual chat message generation in online environments
US9509521B2 (en) Contextual chat based on behavior and usage
Ho et al. Perspective-taking of non-player characters in prosocial virtual reality games: Effects on closeness, empathy, and game immersion
Smith et al. Children’s digital playgrounds as data assemblages: Problematics of privacy, personalization, and promotional culture
Chew et al. Bringing art to life: Examining poetic gameplay devices in interactive life stories
Murphy Hacking public memory: Understanding the multiple arcade machine emulator
Sockolow et al. At-risk adolescents as experts in a new requirements elicitation procedure for the development of a smart phone psychoeducational trauma-informed care application
Ismangil Subversive nationalism through memes: A dota 2 case study
Boellstorff et al. Transplatform: culture, context, and the intellivision/atari VCS rivalry
Holl et al. Moral minds in gaming
Massanari Contested play: The culture and politics of reddit bots
Chettoor Jayakrishnan et al. GOVID: repurposing serious game for enterprise COVID-19 awareness
Khoo et al. Confucius Computer: bridging intergenerational communication through illogical and cultural computing
Simon Social heroes: games as APIs for social interaction
Jackson et al. Expert writers on how to achieve narrative immersion in digital games
Yan et al. Social Life Simulation for Non-Cognitive Skills Learning
Trevino 'It Takes Two'to make a game review go right.
Baruzdin Heuristic Evaluation of Videogame Localisation Usability
Yu Book Review: Digital playgrounds: The hidden politics of children’s online play spaces, virtual worlds, and connected games
Chamba Gaming Lingo: A lexicosemantic Analysis

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B11B Dismissal acc. art. 36, par 1 of ipl - no reply within 90 days to fullfil the necessary requirements