白灼是什么意思| 初中学历能做什么工作| 胃食管反流什么症状| 什么人什么己| 腰间盘突出睡觉什么姿势好| 白头发吃什么好| 乌龟一般吃什么东西| 什么化妆品好用哪个牌子的| 肾疼是什么原因| 经常看手机有什么危害| 梦到别人给钱是什么意思| 血癌是什么原因造成的| 女孩学什么专业好就业| 小鸟进屋有什么预兆吗| 豆芽和什么一起炒好吃| 河东狮吼什么意思| 吃什么对脾胃有好处| 什么的陪伴| 小猫吃什么食物| 梦见吃李子是什么意思| 宝宝发烧挂什么科| 尿酸高是什么症状| 为什么会得心脏病| 什么花园| 偏头痛吃什么药效果好| 脂肪肝喝什么茶最好最有效| hpv是指什么| 九月初八是什么星座| 瓶颈期什么意思| 热疙瘩用什么药膏| 拉肚子可以吃什么菜| 耳膜炎是什么症状| 怀孕前检查什么项目内容| 水瓶座是什么性格| 益生菌适合什么人群吃| 地盆是一种什么病| 什么东西不能吃| 糖化是什么意思| 老是叹气是什么原因| 89年什么命| 骨化是什么意思| 碳酸钙是什么东西| 人体7大营养素是什么| 什么是头七| 腰椎间盘突出吃什么好| 午五行属什么| 家字是什么结构| 华是什么意思| 蜜糖冲水喝有什么功效| 鼻炎吃什么药效果最好| 返流性食管炎用什么药| 夹不住尿是什么原因| 肌腱是什么| 脚气泡脚用什么泡最好| 谨记教诲是什么意思| 什么风呼啸| 心率过快有什么危害| 入睡难一般是什么原因造成的| 什么是滑膜炎| 什么叫西米| 锄禾是什么意思| 得了幽门螺杆菌是什么症状| 松花蛋不能和什么一起吃| cd3cd4cd8都代表什么| 重楼的别名叫什么| 欲钱看正月初一是什么生肖| 屏幕总成带框和不带框有什么区别| 梦见穿山甲预示着什么| clinic是什么意思| 三岁看小七岁看老是什么意思| 吃什么补肾壮阳最快| 挂号信什么意思| cba什么意思| 四个横念什么| 老鼠长什么样子图片| 墨西哥说什么语言| 肝低密度灶是什么意思| 30年的婚姻是什么婚| 四月四号什么星座| 软卧代软座什么意思| 6969是什么意思| 素数是什么| 14年属什么生肖| 淋巴是什么东西| 尿液发白是什么原因| 金枝玉叶什么生肖| 陈凯歌为什么不娶倪萍| 2月30日是什么星座| 1992年属什么| 瘢痕子宫什么意思| 赵云的马叫什么| 两个a型血的人生的孩子什么血型| 鹰嘴桃什么时候成熟| 肺寒吃什么药| 什么是佝偻病有什么症状| 打嗝是什么原因引起的| 奥硝唑和甲硝唑有什么区别| 什么叫信仰| 吃什么对肝脏有好处能养肝| 脚发麻是什么原因| un读什么| 公明仪属什么生肖| 时来运转是什么生肖| 口腔溃疡吃什么药好使| 神经酸是什么| 金字旁和什么有关| 金不换是什么意思| 什么天喜地| 涂是什么意思| 吃什么排毒| 梁字五行属什么| 结膜炎是什么症状| 口加一笔变成什么字| 异类是什么意思| 为什么大便是绿色的| 流连忘返是什么生肖| 朝霞不出门晚霞行千里是什么意思| 肝脑涂地是什么意思| 伊索寓言有什么故事| 枣子什么时候成熟| 紫烟是什么意思| 脚发烫是什么原因| 珍母口服液有什么作用| 肝内低密度灶什么意思| u是什么单位| 背部长痘痘是什么原因造成| 什么生肖站着睡觉| 衡水老白干是什么香型| 怦然心动什么意思| 神疲乏力是什么症状| 循序渐进是什么意思| 骨膜炎是什么症状| 必修课是什么意思| 绿茶什么时候喝最好| 跖疣是什么东西| 运钞车押运员是什么人| 息斯敏是什么药| 小孩流鼻血是什么原因| 刚出生的宝宝要注意什么| 高密度脂蛋白胆固醇偏高什么意思| 28度穿什么衣服合适| 香雪酒属于什么酒| 小狗感冒了吃什么药| 白居易是诗什么| 月经期吃什么| 湿疹为什么一热就出来| 318什么意思| 九月二十六是什么星座| 辅食是什么意思| 西兰花是什么季节的蔬菜| 什么叫打板| 为什么庙里不让孕妇去| 七情六欲指什么| 甲状腺用什么药| 顺利是什么意思| 怂恿是什么意思| 梦见自己梳头发是什么意思| 中性粒细胞高说明什么| 69年出生属什么| 松脂是什么| 怀孕前期有什么征兆| 什么人什么天| 海蜇是什么动物| 转氨酶高对身体有什么影响| 什么水晶招财旺事业| 冥想什么意思| 肝fnh是什么病| ber是什么意思| 祸起萧墙是什么意思| 飞行模式和关机有什么区别| 苯中毒是什么症状| 氢化油是什么东西| 吃什么菜对眼睛好| 三文鱼有什么营养| loewe是什么意思| 女神是什么意思| 脑梗是什么| 韭菜什么时候种最合适| 胎盘位于子宫前壁是什么意思| 为什么老打嗝| 中国的国酒是什么| 歪理是什么意思| 女人脸肿是什么原因引起的| 兔子的耳朵有什么作用| 夏至吃什么好| 这个表情什么意思| poscer是什么牌子的手表| 银杏叶片治什么病| 吃马齿菜有什么好处| 裙裤配什么鞋子好看| 泡沫尿挂什么科| nbcs是什么意思| 乙肝核心抗体阳性什么意思| 法老是什么意思| 离苦得乐什么意思| 梦见自己丢钱了什么征兆| 胆囊切除有什么影响| 非典型细胞是什么意思| 男生什么时候会有生理反应| 脚气用什么药膏最好| 糜烂性胃炎吃什么药效果好| 巴利属于什么档次的| 抑郁症去医院挂什么科| 什么的街道| 红枣泡水喝有什么好处| 死库水是什么| 呼吸不过来要喘大气是什么情况| mg什么意思| 治疗静脉曲张有什么药| 什么叫钙化灶| 光是什么结构| 血色病是什么病| 健身hit什么意思| 凤尾鱼为什么突然就死| 卵巢早衰是什么引起的| 堃什么意思| hm是什么| 三个鱼读什么| 女性尿频尿急是什么原因| 狗被蜱虫咬了有什么症状| 文理分科什么时候开始| 总胆固醇低是什么原因| 新蒜什么时候上市| 隔离是什么意思| 新生儿黄疸吃什么药| 疤痕修复用什么药膏好| 为什么做完爱下面会疼| 发烧怕冷是什么原因| 聪明如你什么意思| 特种兵是什么兵种| 祭奠用什么花| 贫血严重会导致什么后果| 什么食物| 女生喜欢什么| n2o是什么气体| 屿是什么意思| 什么是富贵包| 毒瘾发作是什么感觉| 诺诺是什么意思| 白头发挂什么科| 支原体感染吃什么食物好| 得偿所愿是什么意思| 扑尔敏的学名叫什么| 悸是什么意思| kms是什么意思| 长明灯是什么意思| 什么是活检检查| 记性不好吃什么药| kai是什么意思| 三七甘一是什么意思| 煞笔是什么意思| 中焦不通用什么中成药| 怀孕有褐色分泌物是什么原因| 心律不齐房颤吃什么药| 子宫纵隔什么意思| 小腹疼挂什么科| 荨麻疹能吃什么食物| 黑无常叫什么| 小朋友膝盖疼是什么原因| 蟋蟀吃什么| 为什么男人喜欢女人的胸| 梅核气吃什么药| 手脚发热吃什么药| 直肠炎用什么药效果最好| 百度

胡歌刘雯终于组cp 两人拍大片气质外形配一脸

System and method for suggesting a phrase based on a context Download PDF

Info

Publication number
US20140337438A1
US20140337438A1 US13/890,600 US201313890600A US2014337438A1 US 20140337438 A1 US20140337438 A1 US 20140337438A1 US 201313890600 A US201313890600 A US 201313890600A US 2014337438 A1 US2014337438 A1 US 2014337438A1
Authority
US
United States
Prior art keywords
message
user
suggested content
context
content items
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US13/890,600
Other versions
US9923849B2 (en
Inventor
Shailesh Dinkar Govande
Madhura P. Tipnis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
eBay Inc
Original Assignee
eBay 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 eBay Inc filed Critical eBay Inc
Priority to US13/890,600 priority Critical patent/US9923849B2/en
Assigned to EBAY INC. reassignment EBAY INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TIPNIS, MADHURA P., GOVANDE, SHAILESH DINKAR
Publication of US20140337438A1 publication Critical patent/US20140337438A1/en
Priority to US15/894,758 priority patent/US10257137B2/en
Application granted granted Critical
Publication of US9923849B2 publication Critical patent/US9923849B2/en
Priority to US16/288,952 priority patent/US10659406B2/en
Priority to US16/850,690 priority patent/US11991128B2/en
Priority to US18/657,730 priority patent/US20240291783A1/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • 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/06Message adaptation to terminal or network requirements
    • H04L51/063Content adaptation, e.g. replacement of unsuitable content

Definitions

  • the present application relates generally to the technical field of networked communications and, in one specific example, to suggest a phrase based on a determined context.
  • a system may provide a suggested spelling of a word to a user composing text.
  • the suggested spelling may be selected by the user to replace words in the text. Alternatively, the suggested spelling may not be selected and user provided spelling is not changed.
  • the user may compose the text via a composition interface provided by a mobile device.
  • FIG. 1 is an example network diagram of an environment where various embodiments may be implemented.
  • FIG. 2 is a block diagram of a phrase suggestion system, according to various embodiments.
  • FIG. 3 is a flowchart of a method to include a suggested content within a message, according to various embodiments.
  • FIG. 4 is a portion of a user interface depicting suggested content for a message being composed, according to various embodiments.
  • FIG. 5 is a portion of a user interface depicting suggested content for a reply message being composed, according to various embodiments.
  • FIG. 6 is a portion of a user interface depicting suggested content for a reply message being composed, according to various embodiments.
  • FIG. 7 is block diagram depicting tables used to provide suggested content, according to various embodiments.
  • FIG. 8 is a block diagram depicting a mobile device, according to various embodiments.
  • FIG. 9 is a diagrammatic representation of machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
  • the user When a user is composing a message on a mobile device, the user is implicitly recognizing a larger context of the message that is indicative of some aspect of the user's social or professional life. For example, the user may be writing the message to family, friends, professional colleagues, co-workers, bosses, or other audience.
  • the context of the message may determine the content of the message, such as word choice, expressions used, the recipients of the message, a time of day that the message is sent, a location from which the message is sent, an application used to generate and send the message, and other choices made by the user about the message.
  • Systems and methods described herein automatically identify the context of the message at the composition stage and suggest content, recipients, or other elements to include in the message.
  • the system uses the identified context of the message to make suggestions that are appropriate to the context.
  • a suggested content for the message may be provided to the user.
  • the user may confirm that the suggested content be added to the message being composed.
  • the suggested content is added to the message automatically without user confirmation.
  • the user may also provide rules used to further suggest inputs for the message.
  • FIG. 1 is an example network diagram of an environment where various embodiments may be implemented.
  • the environment 100 may include a user 110 , a messaging service 120 , and a phrase suggestion system 125 .
  • the user 110 may connect to the messaging service 120 via a mobile device 115 (e.g., smart phone, PDA, laptop, or similar mobile electronic device capable of some form of data connectivity) in communication with a network 105 (e.g., the Internet, Wide Area Network (WAN), and the like).
  • the messaging service 120 includes an email application, an instant messaging application, a text messaging service, a social network application, and the like.
  • the messaging service 120 is accessible to a plurality of users.
  • the user 110 may use the mobile device 115 to interact with the messaging service 120 and send a message to a second user connected to the messaging service 120 .
  • the user 110 may access more than one messaging service 120 using the mobile device 115 .
  • the mobile device 115 may connect to the phrase suggestion system 125 in connection with the network 105 .
  • the environment 100 shown in FIG. 1 depicts the phrase suggestion system 125 and the messaging service 120 as two separate entities, the two may exist together.
  • the phrase suggestion system 125 interacts with the mobile device 115 and the messaging service 120 via the network 105 .
  • the user 110 may provide an input to the messaging service 120 via the network 105 .
  • the phrase suggestion system 125 identifies the input to the messaging service 120 and in response, provides suggested content.
  • the suggested content may be sent to the user 110 to be displayed in the mobile device 115 via the network 105 .
  • a web client executes on the mobile device 115 .
  • the web client accesses the messaging service 120 and phrase suggestion system 125 via a web interface supported by a web server.
  • a programmatic client executes on the mobile device 115 .
  • the programmatic client accesses the messaging service 120 and phrase suggestion system 125 via the programmatic interface provided by an API server.
  • FIG. 1 employs a client-server architecture
  • the present invention is of course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system, for example.
  • the messaging service 120 and phrase suggestion system 125 could also be implemented as standalone software programs, which do not necessarily have networking capabilities.
  • FIG. 2 is a block diagram of a phrase suggestion system 200 , according to various embodiments.
  • the phrase suggestion system includes a context determination module 205 , a text detection module 210 , a suggestion module 215 , a confirmation module 220 , a rule module 225 , and an interface module 230 .
  • the phrase suggestion system 200 may reside at a server and be accessible to the user via the network 105 .
  • the phrase suggestion system 200 may reside at least in part at the mobile device 115 .
  • a message being composed may have one or more properties indicating factors involved in the composition of the message.
  • the properties of the message include a parent message—a previous message that was sent to the user and where the message being composed is a response to the previous message.
  • the parent message may be one message of a plurality of previous messages exchanged between the user and at least one other user.
  • the properties of the message further include at least one keyword in the message or in a parent message.
  • the keyword may be a word or phrase that indicates a topic of the message.
  • the keyword may be found in the subject line of an email, may be a recipient of the message, may be an expression repeated in the message, and the like.
  • the topic of the message indicated by the keyword may be used to determine a context of the message.
  • the message includes a plurality of topics, each of which are indicated by a respective keyword.
  • the keyword may indicate one or more contexts of the message.
  • a message may include several keywords pertaining to cars, cities, and the term “Bay Area”. From these keywords, the context of the message may be determined to be, for example, one or more of driving in San Francisco, buying a car in San Francisco, or selling a car in San Jose.
  • the properties of the message include at least one recipient of the message.
  • the at least one recipient of the message may be identified as indicative of the message being written within one or more contexts defined by or for the user. To illustrate, certain recipients may be identified as family members of the user, co-workers of the user, or friends of the user and assigned to the corresponding context. Based on these identifications, the context of the message is determined as the context in which at least a portion of the recipients are assigned. If the message is addressed to recipients assigned to more than one context, the context may be determined based on the context to which a majority of the addressed members are assigned.
  • the context of the message may be determined to be personal based on the mother and father indicated as recipients.
  • the context may be determined to be personal because although the user's boss is indicated as a recipient, a majority portion of the recipients belong in the personal context.
  • the context of the message may be determined to be professional based on the user's boss indicated as a recipient.
  • the user may define a rule indicating that when a message that includes the user's boss as a recipient, the context is automatically determined to be work-related even if a majority portion of the recipients indicate a different context.
  • the properties of the message include an account used to compose the message.
  • the account being used to generate the message may be used in determining the context of the message.
  • An account being used for personal purposes may be used in determining that the context of the message is personal. For instance, a message being composed with the user's personal GmailTM account may be determined to be in the personal context. Alternatively, a message being composed by the user in the user's OutlookTM account for work may be determined to be in the professional context.
  • the account corresponds to the messaging service 125 depicted in FIG. 1 .
  • the account may be an email account, an instant messaging account, a social network account, a phone number for the mobile device 115 , and the like.
  • the account being used to compose the message may be accessed by the mobile device 115 or any other device that is able to access the messaging service 125 via the network 105 .
  • the properties of the message may include a human-readable language used in the message being composed.
  • the human-readable language used in the message may indicate the user's proficiency of that language.
  • the user's proficiency of the human-readable language is determined based on the number of words or phrases written in that language. Further, more than one human-readable language may be used in the message being composed. For example, if the message is being written in both English and Chinese, the user's proficiency in each language may be determined. If a majority of the expressions in the message are written in Chinese, the system may determine that the user is more proficient in Chinese and less proficient in English. The system may also look to previous messages composed by the user to determine the user's proficiency in a particular human-readable language. The user's proficiency of the human-readable language may be used in determining the context of the message and in providing suggested content to the user. For instance, if a user is more proficient in English, then suggested content provided to the user may also be in English.
  • the properties of the message include a geographical location of the user 110 .
  • the geographical location of the user 110 may be indicated by the mobile device 115 using a GPS receiver and may correspond to a location on a map, such as Google MapsTM.
  • the geographical location of the user 110 is determined by the one or more keywords used in the message or the parent message. For example, if the expression “San Francisco” is repeated in a chain of emails between the user and a friend of the user, it may be determined that the user is currently in San Francisco.
  • the geographical location of the user is determined by the account being used to generate the message in which the user has indicated a location as part of the account settings. The geographical location of the user may be used in determining the context of the message and providing suggested content to the user. For instance, if the user is in San Francisco, suggested content describing locations in San Francisco may be provided to the user as the user is composing the message.
  • the properties of the message include a change of the geographical location of the user 110 .
  • the change of the geographical location may be measured at various intervals to indicate a rate of change of the geographical location.
  • the rate of change indicates a velocity at which the user is traveling.
  • the rate of change of the geographical location of the user may be determined to be at 60 miles per hour by tracking the speed at which the geographical location of the user is moving on a map.
  • This rate of change along with location data indicating that the user is located on a freeway at both points in time, indicates that the user is in a car, either as a driver or passenger.
  • the rate of change may be determined to be at 3 miles per hour and the location of the user may be determined to be at a park as indicated by the map. Based on this information, the user may be determined to be walking at a park. In either situation, the confirmation module 220 may use this information when adding the suggested content items to the message being composed.
  • the properties of the message include calendar data of the user.
  • the calendar data may be accessed from an account belonging to the user being used to compose the message.
  • the user's personal email account may have a built in calendar referenced by the user.
  • the calendar data may indicate events that the user is participating in. Further the events indicated may include events that have already occurred and events in the future that the user will participate in.
  • the calendar data may indicate times at which the user will be participating in the events.
  • the calendar data may also indicate other people participating in the events.
  • the message being composed relates to an event indicated by the calendar data and the calendar data may be used to determine the context of the message. For instance, the message being composed pertains to an event indicated by the user's calendar data, such as a friend's birthday party, a family member's graduation, a work meeting, and the like.
  • the user may compose the message via a composition interface.
  • the composition interface exists as part of the account being used to compose the message.
  • the composition interface is the email interface provided by the user's GmailTM account.
  • the composition interface is a text messaging interface to send and receive text messages using the user's phone number.
  • the composition interface may be provided from a device including the mobile device 115 , a computer, and the like.
  • the composition interface identifies inputs from the user that are added to the message and displays the identified inputs to the user. In this way, the composition interface displays the message to the user as it is being composed.
  • the composition interface may also display suggested content to be added to the message from the suggestion module 215 . The displayed suggested content is provided to the user as the user is composing the message.
  • the context determination module 205 is configured to determine a context of a message that a user is composing based on the one or more properties of the message.
  • the one or more properties of the message may indicate circumstances involved in composing the message including the choices made by the user in composing the message.
  • the one or more properties of the message include a parent message, at least one keyword from the message being composed, at least one recipient of the message, an account being used to generate the message, a human-readable language in which the message is composed, a geographical location of the user, a change of the geographical location of the user, and calendar data of the user.
  • the context of the message may be used to evaluate the content of the message such as word choice, expressions used, the recipients of the message, a time of day that the message is sent, a location from which the message is sent, an application used to generate and send the message, and other choices made by the user about the message.
  • the context of the message may indicate words or phrases that are appropriate to the context and therefore usable for the message being composed.
  • a context of a first message may not be the same as a context of a second message.
  • the factors involved in generating the first message in the first context may be different from the factors involved in generating the second message in the second context.
  • the first message may be different from the second message based on word choice, expressions used, the recipients of the message, a time of day that the message is sent, a location from which the message is sent, an application used to generate and send the message, and other choices made by the user about the message.
  • the factors involved in generating the first message in the first context may be similar to the factors involved in generating the second message in the second context even though the first and second contexts are different.
  • words and phrases that may be appropriate for a message to a friend of the user may be inappropriate for a message to the user's boss.
  • words and phrases that are appropriate for a message to a friend may also be appropriate for a message to family even though the two contexts are different.
  • the context determination module 205 may determine that the user is traveling in a motor vehicle based in part on the velocity at which the user is traveling. In various embodiments, the context determination module 205 may determine that the user is currently in San Francisco based on the geographical location of the user. In various embodiments, the context determination module 205 may determine a topic of conversation based on the parent messages prior to the message being composed. In various embodiments, the context determination module 205 may determine that the message is work related based on the recipient of the message and the account being used to compose the message. In various embodiments, the context determination module 205 may determine that the user is currently in the Bay Area based on the calendar data of the user. In various embodiments, the context determination module 205 may determine the topic of the message based on the at least one keyword from the message being composed.
  • the text detection module 210 is configured to identify one or more inputs to the composition interface.
  • the composition interface may be provided by the device or an app within the device that enables the user to compose the message. Further, the composition interface may exist as part of the account being used to compose the message.
  • the one or more inputs to the composition interface are received from the user as the message is being composed.
  • the one or more inputs to the composition interface indicate at least a portion of intended content of the message. For instance, if the user begins the message with the words “car” and “Bay Area”, the intended content of the message may be racing cars in Santa Cruz. However, in various embodiments, the intended content of the message is not the same as the actual content of the message.
  • the actual content of the message may include the suggested content items provided by the suggestion module 215 .
  • the word San Francisco may be provided to the user as a suggested content.
  • the user may choose to use San Francisco instead of the word Bay Area, and thus, the actual content of the message is different than the intended content of the message.
  • the intended content of the message is used in determining the context of the message.
  • the suggestion module 215 also uses intended content of the message in providing suggested content items.
  • the suggestion module 215 is configured to provide one or more suggested content items for inclusion in the message based on the context of the message and the one or more inputs.
  • the context of the message is used to determine the content of the message.
  • the content of the message includes the word choice, spelling, expressions used, recipients of the message, time of day, location of message, an application used to generate and send the message, and the like.
  • the context of the message is used by the suggestion module 215 to search for the one or more suggested content items from a dictionary of available content items.
  • the dictionary of available content items may be indexed according to context.
  • the respective entries of the dictionary of available content items are a suggested content item that is retrievable from the dictionary to be provided to the user.
  • each suggested content item of the dictionary includes metadata tags indicating a context of the suggested content item.
  • the context of the message may correspond to the metadata tags of one or more entries in the dictionary.
  • the one or more entries in the dictionary corresponding to the context of the message are retrieved and provided to the user as suggested content items.
  • the dictionary is organized into a plurality of data tables, as shown in FIG. 7 according to an example embodiment.
  • the suggested content items provided to the user are a modification of the one or more inputs to the composition interface. Modifications include changing the spelling of a word, capitalizing characters entered by the user, and the like. The modifications are provided to the user and displayed in the composition interface as the user is composing the message.
  • the suggested content items include the one or more inputs to the composition interface. For instance, if the user is composing a sentence that is yet to be completed, the suggestion module may suggest a completed sentence including the input that the user has already provided. As another example, if the user begins typing a character in the recipient line of an email message, the suggestion module may suggest a full name of a recipient, the name including the character that the user has already provided.
  • the suggestion module 215 may be further configured to cause the one or more suggested content items to be displayed in the composition interface via the network 105 .
  • the composition interface may be displayed on a screen of the device providing the composition interface.
  • the confirmation module 220 is configured to add a suggested content item of the suggested content items in the message based at least in part on the one or more properties of the message. For instance, the user may be traveling in a vehicle at a high speed when the user is composing the message. This may be determined from the geographical location of the user and the rate at which the geographical location of the user is changing. Further, the user may be composing the message on the mobile device 115 , indicating that the user is not at a computer. From these properties of the message, the confirmation module 220 may determine that the user is not at home but rather traveling at a high speed on a highway in a vehicle. Based on this information, the confirmation module 220 may automatically add the suggested content item in the message without human intervention.
  • the suggestion module may automatically add the suggested content in the message without requiring any confirmation from the user.
  • the one or more properties of the message may indicate that the user composing the message is at home on a computer accessing a personal email account.
  • the confirmation module 220 may be configured to receive a confirmation from the user before adding the suggested content item in the message.
  • the rule module 225 is configured to apply user-defined rules to identify the one or more suggested content items.
  • the user-defined rules may be applied to the identified inputs from the user.
  • the user-defined rules may indicate inputs that are inappropriate for a given context.
  • the user-defined rules may prohibit profane language to be added in messages in a professional context.
  • the user-defined rules may correct spelling or grammar for words and phrases added in message in the professional context.
  • the user-defined rules may further be applied to exclude an available content item from being suggested as the one or more suggested content items.
  • the user-defined rules may specifically prohibit use of the word ‘chair’ in the professional context. Therefore, even if the word ‘chair’ is an available content item, it will not be suggested by the suggestion module 215 .
  • FIG. 3 is a flowchart of a method 300 to include a suggested content within a message, according to various embodiments.
  • the method 300 begins at step 302 with detecting a composition interface being used to compose the message.
  • the composition interface may be provided to a user from a user device, such as a mobile device 115 .
  • the composition interface exists as part of an account being used to compose the message, the account being a part of a messaging service 120 .
  • Detecting the composition interface may include the phrase suggestion system 125 receiving an indication from the mobile device 115 via the network 105 that the user is composing a message via the composition the interface.
  • the phrase suggestion system 125 may receive an indication from the messaging service 120 via the network 105 that the user is composing a message using the messaging service 120 .
  • the composition interface is detected using the interface module 230 .
  • the method 300 determines the context of the message.
  • the context is determined using the context determination module 205 based on one or more properties of the message.
  • the text detection module 210 identifies one or more inputs to the user composition interface.
  • the one or more inputs indicate at least a portion of intended content of the message.
  • the rule module 225 applies user-defined rules to the one or more inputs in order to identify one or more suggested content items.
  • the suggestion module 215 provides the one or more suggested content items to the user via the composition interface, the suggested content items being used for inclusion in the message.
  • the confirmation module 220 determines whether to include the suggested content items in the message being composed.
  • the determination is based at least in part on the one or more properties of the message.
  • the determination is also based at least in part on a confirmation received from the user composing the message to include the suggested content items in the message.
  • FIG. 4 is a portion of a user interface 400 depicting suggested content for a message being composed, according to various embodiments.
  • the account 405 being used to compose the message is displayed in the user interface 400 as well as the recipient of the message.
  • the user composition interface 410 exists as a portion of the user interface 400 and indicates an area where the message is being composed.
  • the context determination module 205 may determine that context of the message is a message to a family member located in the Bay Area based at least in part on the account 405 being used to compose the message and based at least in part on the recipient of the message.
  • suggested content items 415 are presented to the user as the user is composing the message via the user composition interface 410 . As depicted in FIG.
  • suggested content items including San Francisco and Sarah's Kitchen are presented to the user as suggested content items 415 .
  • the suggested content items 415 may be presented to the user based on the determined context of the message, in particular, that the message is a message to a family member.
  • FIG. 5 is a portion of a user interface 500 depicting suggested content for a reply message being composed, according to various embodiments.
  • the previous message 505 is displayed in the upper portion of the user interface 500 .
  • the reply message to the previous message 505 is composed within an area of a user composition interface 510 that is located below the previous message 505 .
  • the context determination module 205 may determine that the context of the message is a casual reply message to a friend based on the previous message 505 received by the user and also based on the recipient 515 of the message being composed.
  • suggested content items including SF and Santana Row are presented to the user as suggested content items 520 .
  • the suggested content items 520 may be presented to the user based on the determined context of the message, in particular, that the message is a message to a friend.
  • FIG. 6 is a portion of a user interface 600 depicting suggested content for a reply message being composed, according to various embodiments.
  • the previous message 605 is displayed in the upper portion of the user interface 600 .
  • the reply message to the previous message 605 is composed within an area of a user composition interface 610 that is located below the previous message 605 .
  • the context determination module 205 may determine that the context of the message is a work related message to the user's boss based on the previous message 605 received by the user and also based on the recipient 615 of the message being composed.
  • suggested content items including ‘Yes, I will be taking the 10 AM Call’ and ‘Yes’ are presented to the user as suggested content items 620 .
  • These suggested content items 620 are determined based on the context of the message, in particular, that the message is a reply to a message about a morning phone call.
  • the suggested content items 620 displayed to the user are selectable by the user to be included in the message.
  • FIG. 7 is block diagram depicting tables used to provide suggested content, according to various embodiments.
  • the tables depicted may be maintained within a database used to support the phrase suggestion system.
  • a “contexts” table 705 includes a list of contexts which may be used in determining a context of a message being composed. For instance, the context of the message may be determined to be one of the contexts from the list of contexts, such as a message to a friend, a message to a co-worker, a message to a family member, or a message composed while driving.
  • Linked to the “contexts” table 705 is a “friends” table 710 which includes a list of friends of the user.
  • the context of the message is determined to be a message to a friend based on the recipient being one of the friends listed in the “friends” table 710 .
  • Linked to the “friends” table 710 is an “inputs” table 715 that includes a plurality of inputs that may be received from the user when composing a message to a friend via the composition interface.
  • each input in the “inputs” table 715 has a corresponding suggested content item included within a “suggestions” table 720 .
  • the corresponding suggested content item from the “suggestions” table 720 is “Sup” and is presented to the user as the suggested content item.
  • Linked to the “contexts” table 705 is a “family” table which may include a list of family members of the user.
  • the context of the message is determined to be a message to a family member based on the recipient being one of the family members listed in the “family” table 725 .
  • an “account A” table 730 that includes a list of contexts.
  • the “account A” table 730 may correspond to a user account that is being used to generate the message.
  • the list of contexts included in the “account A” table 730 indicates at least one possible context for the message being composed using account A.
  • account A may be the user's work email account and may be determined to be used when the user is composing a work related message or when the user is driving, as depicted in the “account A” table 730 .
  • Linked to the “accounts A” table 730 is an “inputs” table 735 that includes a plurality of inputs that may be received from the user composing a message using account A.
  • Linked to the “inputs” table 735 is a “suggestions” table 740 .
  • each input in the “inputs” table 735 has a corresponding suggested content item included within a “suggestions” table 740 .
  • a suggested content item from the “suggestions” table 740 is presented to the user.
  • FIG. 8 is a block diagram depicting a mobile device, according to various embodiments.
  • the mobile device 115 may include a processor 810 .
  • the processor 810 may be any of a variety of different types of commercially available processors suitable for mobile devices (for example, an XScale architecture microprocessor, a Microprocessor without Interlocked Pipeline Stages (MIPS) architecture processor, or another type of processor).
  • a memory 820 such as a Random Access Memory (RAM), a Flash memory, or other type of memory, is typically accessible to the processor.
  • the memory 820 may be adapted to store an operating system (OS) 830 , as well as application programs such as a phrase suggestion system 840 to provide suggested content to the user composing a message using the mobile device.
  • OS operating system
  • application programs such as a phrase suggestion system 840 to provide suggested content to the user composing a message using the mobile device.
  • the processor 810 may be coupled, either directly or via appropriate intermediary hardware, to a display 850 and to one or more input/output (I/O) devices 860 , such as a keypad, a touch panel sensor, a microphone, and the like.
  • the processor 810 may be coupled to a transceiver 870 that interfaces with an antenna 890 .
  • the transceiver 870 may be configured to both transmit and receive cellular network signals, wireless data signals, or other types of signals via the antenna 890 , depending on the nature of the mobile device 115 . In this manner, the mobile device 115 may connect to the messaging service 120 and the phrase suggestion system 125 via the network 105 .
  • a GPS receiver 880 may also make use of the antenna 890 to send and receive GPS signals used to determine a location of the mobile device 115 .
  • the location of the mobile device 115 may be used in determining a context of a message being composed by a user using the mobile device 115 .
  • a change in the location of the mobile device 115 may also be used in determining the context of the message being composed.
  • Modules may constitute either software modules (e.g., code embodied (1) on a non-transitory machine-readable medium or (2) in a transmission signal) or hardware-implemented modules.
  • a hardware-implemented module is tangible unit capable of performing certain operations and may be configured or arranged in a certain manner.
  • one or more computer systems e.g., a standalone, client or server computer system
  • one or more processors may be configured by software (e.g., an application or application portion) as a hardware-implemented module that operates to perform certain operations as described herein.
  • a hardware-implemented module may be implemented mechanically or electronically.
  • a hardware-implemented module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations.
  • a hardware-implemented module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware-implemented module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
  • the term “hardware-implemented module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily or transitorily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein.
  • hardware-implemented modules are temporarily configured (e.g., programmed)
  • each of the hardware-implemented modules need not be configured or instantiated at any one instance in time.
  • the hardware-implemented modules comprise a general-purpose processor configured using software
  • the general-purpose processor may be configured as respective different hardware-implemented modules at different times.
  • Software may accordingly configure a processor, for example, to constitute a particular hardware-implemented module at one instance of time and to constitute a different hardware-implemented module at a different instance of time.
  • Hardware-implemented modules can provide information to, and receive information from, other hardware-implemented modules. Accordingly, the described hardware-implemented modules may be regarded as being communicatively coupled. Where multiple of such hardware-implemented modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware-implemented modules. In embodiments in which multiple hardware-implemented modules are configured or instantiated at different times, communications between such hardware-implemented modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware-implemented modules have access. For example, one hardware-implemented module may perform an operation, and store the output of that operation in a memory device to which it is communicatively coupled.
  • a further hardware-implemented module may then, at a later time, access the memory device to retrieve and process the stored output.
  • Hardware-implemented modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
  • processors may be temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions.
  • the modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
  • the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
  • the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs).)
  • SaaS software as a service
  • Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
  • Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
  • a computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment.
  • a computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
  • operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output.
  • Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
  • FPGA field programmable gate array
  • ASIC application-specific integrated circuit
  • the computing system can include clients and servers.
  • a client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
  • both hardware and software architectures require consideration.
  • the choice of whether to implement certain functionality in permanently configured hardware e.g., an ASIC
  • temporarily configured hardware e.g., a combination of software and a programmable processor
  • a combination of permanently and temporarily configured hardware may be a design choice.
  • hardware e.g., machine
  • software architectures that may be deployed, in various example embodiments.
  • FIG. 9 is a block diagram of machine in the example form of a computer system 900 within which instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
  • the machine operates as a standalone device or may be connected (e.g., networked) to other machines.
  • the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
  • the machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • PC personal computer
  • PDA Personal Digital Assistant
  • STB set-top box
  • WPA Personal Digital Assistant
  • a cellular telephone a web appliance
  • network router switch or bridge
  • machine any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • machine shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
  • the example computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 904 and a static memory 906 , which communicate with each other via a bus 908 .
  • the computer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)).
  • the computer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard or a touch-sensitive display screen), a user interface (UI) navigation device 914 (e.g., a mouse), a disk drive unit 916 , a signal generation device 918 (e.g., a speaker) and a network interface device 920 .
  • an alphanumeric input device 912 e.g., a keyboard or a touch-sensitive display screen
  • UI user interface
  • disk drive unit 916 e.g., a disk drive unit 916
  • signal generation device 918 e.g., a speaker
  • the disk drive unit 916 includes a machine-readable medium 922 on which is stored one or more sets of instructions and data structures (e.g., software) 924 embodying or utilized by any one or more of the methodologies or functions described herein.
  • the instructions 924 may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900 , the main memory 904 and the processor 902 also constituting machine-readable media.
  • machine-readable medium 922 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions or data structures.
  • the term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions.
  • the term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.
  • machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
  • semiconductor memory devices e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • flash memory devices e.g., electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices
  • magnetic disks such as internal hard disks and removable disks
  • magneto-optical disks e.g., magneto-optical disks
  • the instructions 924 may further be transmitted or received over a communications network 926 using a transmission medium.
  • the instructions 924 may be transmitted using the network interface device 920 and any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., WiFi and WiMax networks).
  • POTS Plain Old Telephone
  • the term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
  • inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed.
  • inventive concept merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method and a system to suggest a content item to be included in a message based on a determined context are provided. A context of a message that user is composing via a composition interface is determined based on one or more properties of the message. One or more inputs to the user composition interface are identified, the one or more inputs indicating at least a portion of intended content of the message. One or more suggested content items are provided for inclusion in the message based on the context of the message and the one or more inputs. A suggested content item of the suggested content items are added in the message based at least in part on the one or more properties of the message.

Description

  • 百度 作为国内首个高端奢华手机品牌,8848钛金手机一直致力于为精英人士打造科技奢侈品,再度登临巴塞尔钟表展,在不断征服全球精英阶层的同时,也进一步向世界展示了中国智造的创新力,不断刷新世界对中国智造的认知。
    A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings that form a part of this document: Copyright eBay, Inc. 2013, All Rights Reserved.
  • TECHNICAL FIELD
  • The present application relates generally to the technical field of networked communications and, in one specific example, to suggest a phrase based on a determined context.
  • BACKGROUND
  • A system may provide a suggested spelling of a word to a user composing text. The suggested spelling may be selected by the user to replace words in the text. Alternatively, the suggested spelling may not be selected and user provided spelling is not changed. The user may compose the text via a composition interface provided by a mobile device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which:
  • FIG. 1 is an example network diagram of an environment where various embodiments may be implemented.
  • FIG. 2 is a block diagram of a phrase suggestion system, according to various embodiments.
  • FIG. 3 is a flowchart of a method to include a suggested content within a message, according to various embodiments.
  • FIG. 4 is a portion of a user interface depicting suggested content for a message being composed, according to various embodiments.
  • FIG. 5 is a portion of a user interface depicting suggested content for a reply message being composed, according to various embodiments.
  • FIG. 6 is a portion of a user interface depicting suggested content for a reply message being composed, according to various embodiments.
  • FIG. 7 is block diagram depicting tables used to provide suggested content, according to various embodiments.
  • FIG. 8 is a block diagram depicting a mobile device, according to various embodiments.
  • FIG. 9 is a diagrammatic representation of machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
  • DETAILED DESCRIPTION
  • Example methods and systems to suggest a phrase based on a determined context are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of example embodiments. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details.
  • When a user is composing a message on a mobile device, the user is implicitly recognizing a larger context of the message that is indicative of some aspect of the user's social or professional life. For example, the user may be writing the message to family, friends, professional colleagues, co-workers, bosses, or other audience. In various embodiments, the context of the message may determine the content of the message, such as word choice, expressions used, the recipients of the message, a time of day that the message is sent, a location from which the message is sent, an application used to generate and send the message, and other choices made by the user about the message.
  • Many of these properties are implicitly determined by the user while composing the message. Systems and methods described herein automatically identify the context of the message at the composition stage and suggest content, recipients, or other elements to include in the message. The system uses the identified context of the message to make suggestions that are appropriate to the context.
  • Based on the context of the message being composed and inputs received from the user, a suggested content for the message may be provided to the user. The user may confirm that the suggested content be added to the message being composed. In an alternate embodiment, the suggested content is added to the message automatically without user confirmation. The user may also provide rules used to further suggest inputs for the message.
  • FIG. 1 is an example network diagram of an environment where various embodiments may be implemented. The environment 100 may include a user 110, a messaging service 120, and a phrase suggestion system 125. In an example embodiment, the user 110 may connect to the messaging service 120 via a mobile device 115 (e.g., smart phone, PDA, laptop, or similar mobile electronic device capable of some form of data connectivity) in communication with a network 105 (e.g., the Internet, Wide Area Network (WAN), and the like). In various embodiments, the messaging service 120 includes an email application, an instant messaging application, a text messaging service, a social network application, and the like. In various embodiments, the messaging service 120 is accessible to a plurality of users. The user 110 may use the mobile device 115 to interact with the messaging service 120 and send a message to a second user connected to the messaging service 120. The user 110 may access more than one messaging service 120 using the mobile device 115.
  • In an example embodiment, the mobile device 115 may connect to the phrase suggestion system 125 in connection with the network 105. Further, while the environment 100 shown in FIG. 1 depicts the phrase suggestion system 125 and the messaging service 120 as two separate entities, the two may exist together. In various embodiments, the phrase suggestion system 125 interacts with the mobile device 115 and the messaging service 120 via the network 105. In an example embodiment, the user 110 may provide an input to the messaging service 120 via the network 105. The phrase suggestion system 125 identifies the input to the messaging service 120 and in response, provides suggested content. The suggested content may be sent to the user 110 to be displayed in the mobile device 115 via the network 105.
  • In various embodiments, a web client (e.g., a browser) executes on the mobile device 115. The web client accesses the messaging service 120 and phrase suggestion system 125 via a web interface supported by a web server. In various embodiments, a programmatic client executes on the mobile device 115. The programmatic client accesses the messaging service 120 and phrase suggestion system 125 via the programmatic interface provided by an API server.
  • Further, while the environment 100 shown in FIG. 1 employs a client-server architecture, the present invention is of course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system, for example. The messaging service 120 and phrase suggestion system 125 could also be implemented as standalone software programs, which do not necessarily have networking capabilities.
  • FIG. 2 is a block diagram of a phrase suggestion system 200, according to various embodiments. The phrase suggestion system includes a context determination module 205, a text detection module 210, a suggestion module 215, a confirmation module 220, a rule module 225, and an interface module 230. As indicated in FIG. 1, the phrase suggestion system 200 may reside at a server and be accessible to the user via the network 105. Alternatively, the phrase suggestion system 200 may reside at least in part at the mobile device 115.
  • A message being composed may have one or more properties indicating factors involved in the composition of the message. In various embodiments, the properties of the message include a parent message—a previous message that was sent to the user and where the message being composed is a response to the previous message. Alternatively, the parent message may be one message of a plurality of previous messages exchanged between the user and at least one other user.
  • In various embodiments, the properties of the message further include at least one keyword in the message or in a parent message. For instance, the keyword may be a word or phrase that indicates a topic of the message. The keyword may be found in the subject line of an email, may be a recipient of the message, may be an expression repeated in the message, and the like. The topic of the message indicated by the keyword may be used to determine a context of the message. In various embodiments, the message includes a plurality of topics, each of which are indicated by a respective keyword. In various embodiments, the keyword may indicate one or more contexts of the message. In an example embodiment, a message may include several keywords pertaining to cars, cities, and the term “Bay Area”. From these keywords, the context of the message may be determined to be, for example, one or more of driving in San Francisco, buying a car in San Francisco, or selling a car in San Jose.
  • In various embodiments, the properties of the message include at least one recipient of the message. The at least one recipient of the message may be identified as indicative of the message being written within one or more contexts defined by or for the user. To illustrate, certain recipients may be identified as family members of the user, co-workers of the user, or friends of the user and assigned to the corresponding context. Based on these identifications, the context of the message is determined as the context in which at least a portion of the recipients are assigned. If the message is addressed to recipients assigned to more than one context, the context may be determined based on the context to which a majority of the addressed members are assigned. For example, if the message is addressed to the user's mother, father, but also to the user's boss, the context of the message may be determined to be personal based on the mother and father indicated as recipients. In this situation, the context may be determined to be personal because although the user's boss is indicated as a recipient, a majority portion of the recipients belong in the personal context. Alternatively, the context of the message may be determined to be professional based on the user's boss indicated as a recipient. In various embodiments, the user may define a rule indicating that when a message that includes the user's boss as a recipient, the context is automatically determined to be work-related even if a majority portion of the recipients indicate a different context.
  • In various embodiments, the properties of the message include an account used to compose the message. The account being used to generate the message may be used in determining the context of the message. An account being used for personal purposes may be used in determining that the context of the message is personal. For instance, a message being composed with the user's personal Gmail? account may be determined to be in the personal context. Alternatively, a message being composed by the user in the user's Outlook? account for work may be determined to be in the professional context. In various embodiments, the account corresponds to the messaging service 125 depicted in FIG. 1. The account may be an email account, an instant messaging account, a social network account, a phone number for the mobile device 115, and the like. The account being used to compose the message may be accessed by the mobile device 115 or any other device that is able to access the messaging service 125 via the network 105.
  • In various embodiments, the properties of the message may include a human-readable language used in the message being composed. The human-readable language used in the message may indicate the user's proficiency of that language. In various embodiments, the user's proficiency of the human-readable language is determined based on the number of words or phrases written in that language. Further, more than one human-readable language may be used in the message being composed. For example, if the message is being written in both English and Chinese, the user's proficiency in each language may be determined. If a majority of the expressions in the message are written in Chinese, the system may determine that the user is more proficient in Chinese and less proficient in English. The system may also look to previous messages composed by the user to determine the user's proficiency in a particular human-readable language. The user's proficiency of the human-readable language may be used in determining the context of the message and in providing suggested content to the user. For instance, if a user is more proficient in English, then suggested content provided to the user may also be in English.
  • In various embodiments, the properties of the message include a geographical location of the user 110. The geographical location of the user 110 may be indicated by the mobile device 115 using a GPS receiver and may correspond to a location on a map, such as Google Maps?. In various embodiments, the geographical location of the user 110 is determined by the one or more keywords used in the message or the parent message. For example, if the expression “San Francisco” is repeated in a chain of emails between the user and a friend of the user, it may be determined that the user is currently in San Francisco. In various embodiments, the geographical location of the user is determined by the account being used to generate the message in which the user has indicated a location as part of the account settings. The geographical location of the user may be used in determining the context of the message and providing suggested content to the user. For instance, if the user is in San Francisco, suggested content describing locations in San Francisco may be provided to the user as the user is composing the message.
  • In various embodiments, the properties of the message include a change of the geographical location of the user 110. The change of the geographical location may be measured at various intervals to indicate a rate of change of the geographical location. The rate of change indicates a velocity at which the user is traveling. For instance, the rate of change of the geographical location of the user may be determined to be at 60 miles per hour by tracking the speed at which the geographical location of the user is moving on a map. This rate of change, along with location data indicating that the user is located on a freeway at both points in time, indicates that the user is in a car, either as a driver or passenger. Alternatively, the rate of change may be determined to be at 3 miles per hour and the location of the user may be determined to be at a park as indicated by the map. Based on this information, the user may be determined to be walking at a park. In either situation, the confirmation module 220 may use this information when adding the suggested content items to the message being composed.
  • In various embodiments, the properties of the message include calendar data of the user. The calendar data may be accessed from an account belonging to the user being used to compose the message. For example, the user's personal email account may have a built in calendar referenced by the user. The calendar data may indicate events that the user is participating in. Further the events indicated may include events that have already occurred and events in the future that the user will participate in. The calendar data may indicate times at which the user will be participating in the events. The calendar data may also indicate other people participating in the events. In various embodiments, the message being composed relates to an event indicated by the calendar data and the calendar data may be used to determine the context of the message. For instance, the message being composed pertains to an event indicated by the user's calendar data, such as a friend's birthday party, a family member's graduation, a work meeting, and the like.
  • The user may compose the message via a composition interface. In various embodiments, the composition interface exists as part of the account being used to compose the message. For instance, the composition interface is the email interface provided by the user's Gmail? account. Alternatively, the composition interface is a text messaging interface to send and receive text messages using the user's phone number. Further, the composition interface may be provided from a device including the mobile device 115, a computer, and the like. In various embodiments, as the user is composing the message, the composition interface identifies inputs from the user that are added to the message and displays the identified inputs to the user. In this way, the composition interface displays the message to the user as it is being composed. The composition interface may also display suggested content to be added to the message from the suggestion module 215. The displayed suggested content is provided to the user as the user is composing the message.
  • In various embodiments, the context determination module 205 is configured to determine a context of a message that a user is composing based on the one or more properties of the message. The one or more properties of the message may indicate circumstances involved in composing the message including the choices made by the user in composing the message. The one or more properties of the message include a parent message, at least one keyword from the message being composed, at least one recipient of the message, an account being used to generate the message, a human-readable language in which the message is composed, a geographical location of the user, a change of the geographical location of the user, and calendar data of the user.
  • As stated previously, the context of the message may be used to evaluate the content of the message such as word choice, expressions used, the recipients of the message, a time of day that the message is sent, a location from which the message is sent, an application used to generate and send the message, and other choices made by the user about the message. Further, the context of the message may indicate words or phrases that are appropriate to the context and therefore usable for the message being composed.
  • In various embodiments, a context of a first message may not be the same as a context of a second message. The factors involved in generating the first message in the first context may be different from the factors involved in generating the second message in the second context. As such, the first message may be different from the second message based on word choice, expressions used, the recipients of the message, a time of day that the message is sent, a location from which the message is sent, an application used to generate and send the message, and other choices made by the user about the message. Alternatively, the factors involved in generating the first message in the first context may be similar to the factors involved in generating the second message in the second context even though the first and second contexts are different. As an example, the words and phrases that may be appropriate for a message to a friend of the user may be inappropriate for a message to the user's boss. However, words and phrases that are appropriate for a message to a friend may also be appropriate for a message to family even though the two contexts are different.
  • In various embodiments, the context determination module 205 may determine that the user is traveling in a motor vehicle based in part on the velocity at which the user is traveling. In various embodiments, the context determination module 205 may determine that the user is currently in San Francisco based on the geographical location of the user. In various embodiments, the context determination module 205 may determine a topic of conversation based on the parent messages prior to the message being composed. In various embodiments, the context determination module 205 may determine that the message is work related based on the recipient of the message and the account being used to compose the message. In various embodiments, the context determination module 205 may determine that the user is currently in the Bay Area based on the calendar data of the user. In various embodiments, the context determination module 205 may determine the topic of the message based on the at least one keyword from the message being composed.
  • In various embodiments, the text detection module 210 is configured to identify one or more inputs to the composition interface. As stated previously, the composition interface may be provided by the device or an app within the device that enables the user to compose the message. Further, the composition interface may exist as part of the account being used to compose the message. The one or more inputs to the composition interface are received from the user as the message is being composed. In various embodiments, the one or more inputs to the composition interface indicate at least a portion of intended content of the message. For instance, if the user begins the message with the words “car” and “Bay Area”, the intended content of the message may be racing cars in Santa Cruz. However, in various embodiments, the intended content of the message is not the same as the actual content of the message. Therefore the one or more inputs to the composition interface indicating at least a portion of intended content are not added to the message being composed. The actual content of the message may include the suggested content items provided by the suggestion module 215. For instance, when the user inputs the words car and Bay Area to the composition interface, the word San Francisco may be provided to the user as a suggested content. The user may choose to use San Francisco instead of the word Bay Area, and thus, the actual content of the message is different than the intended content of the message. In various embodiments, the intended content of the message is used in determining the context of the message. The suggestion module 215 also uses intended content of the message in providing suggested content items.
  • In various embodiments, the suggestion module 215 is configured to provide one or more suggested content items for inclusion in the message based on the context of the message and the one or more inputs. The context of the message is used to determine the content of the message. The content of the message includes the word choice, spelling, expressions used, recipients of the message, time of day, location of message, an application used to generate and send the message, and the like.
  • In various embodiments, the context of the message is used by the suggestion module 215 to search for the one or more suggested content items from a dictionary of available content items. The dictionary of available content items may be indexed according to context. In various embodiments, the respective entries of the dictionary of available content items are a suggested content item that is retrievable from the dictionary to be provided to the user. Further, each suggested content item of the dictionary includes metadata tags indicating a context of the suggested content item. In various embodiments, the context of the message may correspond to the metadata tags of one or more entries in the dictionary. The one or more entries in the dictionary corresponding to the context of the message are retrieved and provided to the user as suggested content items. In various embodiments, the dictionary is organized into a plurality of data tables, as shown in FIG. 7 according to an example embodiment.
  • In various embodiments, the suggested content items provided to the user are a modification of the one or more inputs to the composition interface. Modifications include changing the spelling of a word, capitalizing characters entered by the user, and the like. The modifications are provided to the user and displayed in the composition interface as the user is composing the message. In various embodiments, the suggested content items include the one or more inputs to the composition interface. For instance, if the user is composing a sentence that is yet to be completed, the suggestion module may suggest a completed sentence including the input that the user has already provided. As another example, if the user begins typing a character in the recipient line of an email message, the suggestion module may suggest a full name of a recipient, the name including the character that the user has already provided.
  • In various embodiments, the suggestion module 215 may be further configured to cause the one or more suggested content items to be displayed in the composition interface via the network 105. The composition interface may be displayed on a screen of the device providing the composition interface.
  • In various embodiments, the confirmation module 220 is configured to add a suggested content item of the suggested content items in the message based at least in part on the one or more properties of the message. For instance, the user may be traveling in a vehicle at a high speed when the user is composing the message. This may be determined from the geographical location of the user and the rate at which the geographical location of the user is changing. Further, the user may be composing the message on the mobile device 115, indicating that the user is not at a computer. From these properties of the message, the confirmation module 220 may determine that the user is not at home but rather traveling at a high speed on a highway in a vehicle. Based on this information, the confirmation module 220 may automatically add the suggested content item in the message without human intervention. As such, if the user is replying to a message while driving, the suggestion module may automatically add the suggested content in the message without requiring any confirmation from the user. Alternatively, the one or more properties of the message may indicate that the user composing the message is at home on a computer accessing a personal email account. Based on this information, the confirmation module 220 may be configured to receive a confirmation from the user before adding the suggested content item in the message.
  • In various embodiments, the rule module 225 is configured to apply user-defined rules to identify the one or more suggested content items. The user-defined rules may be applied to the identified inputs from the user. The user-defined rules may indicate inputs that are inappropriate for a given context. In an example embodiment, the user-defined rules may prohibit profane language to be added in messages in a professional context. Further, the user-defined rules may correct spelling or grammar for words and phrases added in message in the professional context. The user-defined rules may further be applied to exclude an available content item from being suggested as the one or more suggested content items. In an example embodiment, the user-defined rules may specifically prohibit use of the word ‘chair’ in the professional context. Therefore, even if the word ‘chair’ is an available content item, it will not be suggested by the suggestion module 215.
  • FIG. 3 is a flowchart of a method 300 to include a suggested content within a message, according to various embodiments. The method 300 begins at step 302 with detecting a composition interface being used to compose the message. The composition interface may be provided to a user from a user device, such as a mobile device 115. In various embodiments, the composition interface exists as part of an account being used to compose the message, the account being a part of a messaging service 120. Detecting the composition interface may include the phrase suggestion system 125 receiving an indication from the mobile device 115 via the network 105 that the user is composing a message via the composition the interface. Alternatively, the phrase suggestion system 125 may receive an indication from the messaging service 120 via the network 105 that the user is composing a message using the messaging service 120. In various embodiments, the composition interface is detected using the interface module 230.
  • At step 304 the method 300 determines the context of the message. In various embodiments, the context is determined using the context determination module 205 based on one or more properties of the message. At step 306, the text detection module 210 identifies one or more inputs to the user composition interface. In various embodiments, the one or more inputs indicate at least a portion of intended content of the message. At step 308, the rule module 225 applies user-defined rules to the one or more inputs in order to identify one or more suggested content items. At step 310, the suggestion module 215 provides the one or more suggested content items to the user via the composition interface, the suggested content items being used for inclusion in the message. At step, 312 the confirmation module 220 determines whether to include the suggested content items in the message being composed. In various embodiments, the determination is based at least in part on the one or more properties of the message. In various embodiments, the determination is also based at least in part on a confirmation received from the user composing the message to include the suggested content items in the message.
  • FIG. 4 is a portion of a user interface 400 depicting suggested content for a message being composed, according to various embodiments. In various embodiments, the account 405 being used to compose the message is displayed in the user interface 400 as well as the recipient of the message. The user composition interface 410 exists as a portion of the user interface 400 and indicates an area where the message is being composed. The context determination module 205 may determine that context of the message is a message to a family member located in the Bay Area based at least in part on the account 405 being used to compose the message and based at least in part on the recipient of the message. Further, suggested content items 415 are presented to the user as the user is composing the message via the user composition interface 410. As depicted in FIG. 4, when the user begins typing ‘Sa’, suggested content items including San Francisco and Sarah's Kitchen are presented to the user as suggested content items 415. The suggested content items 415 may be presented to the user based on the determined context of the message, in particular, that the message is a message to a family member.
  • FIG. 5 is a portion of a user interface 500 depicting suggested content for a reply message being composed, according to various embodiments. The previous message 505 is displayed in the upper portion of the user interface 500. The reply message to the previous message 505 is composed within an area of a user composition interface 510 that is located below the previous message 505. The context determination module 205 may determine that the context of the message is a casual reply message to a friend based on the previous message 505 received by the user and also based on the recipient 515 of the message being composed. As depicted in FIG. 5, when the user begins typing ‘sa’, suggested content items including SF and Santana Row are presented to the user as suggested content items 520. The suggested content items 520 may be presented to the user based on the determined context of the message, in particular, that the message is a message to a friend.
  • FIG. 6 is a portion of a user interface 600 depicting suggested content for a reply message being composed, according to various embodiments. The previous message 605 is displayed in the upper portion of the user interface 600. The reply message to the previous message 605 is composed within an area of a user composition interface 610 that is located below the previous message 605. The context determination module 205 may determine that the context of the message is a work related message to the user's boss based on the previous message 605 received by the user and also based on the recipient 615 of the message being composed. As depicted in FIG. 6, when the user begins typing ‘Y’, suggested content items including ‘Yes, I will be taking the 10 AM Call’ and ‘Yes’ are presented to the user as suggested content items 620. These suggested content items 620 are determined based on the context of the message, in particular, that the message is a reply to a message about a morning phone call. The suggested content items 620 displayed to the user are selectable by the user to be included in the message.
  • FIG. 7 is block diagram depicting tables used to provide suggested content, according to various embodiments. The tables depicted may be maintained within a database used to support the phrase suggestion system. A “contexts” table 705 includes a list of contexts which may be used in determining a context of a message being composed. For instance, the context of the message may be determined to be one of the contexts from the list of contexts, such as a message to a friend, a message to a co-worker, a message to a family member, or a message composed while driving. Linked to the “contexts” table 705 is a “friends” table 710 which includes a list of friends of the user. In various embodiments, the context of the message is determined to be a message to a friend based on the recipient being one of the friends listed in the “friends” table 710. Linked to the “friends” table 710 is an “inputs” table 715 that includes a plurality of inputs that may be received from the user when composing a message to a friend via the composition interface. In various embodiments, each input in the “inputs” table 715 has a corresponding suggested content item included within a “suggestions” table 720. For example, if the input from the user is identified to be “S” and the message is being composed to a friend of the user, then the corresponding suggested content item from the “suggestions” table 720 is “Sup” and is presented to the user as the suggested content item. Linked to the “contexts” table 705 is a “family” table which may include a list of family members of the user. In various embodiments, the context of the message is determined to be a message to a family member based on the recipient being one of the family members listed in the “family” table 725. Also depicted in FIG. 7 is an “account A” table 730 that includes a list of contexts. The “account A” table 730 may correspond to a user account that is being used to generate the message. The list of contexts included in the “account A” table 730 indicates at least one possible context for the message being composed using account A. For example, account A may be the user's work email account and may be determined to be used when the user is composing a work related message or when the user is driving, as depicted in the “account A” table 730. Linked to the “accounts A” table 730 is an “inputs” table 735 that includes a plurality of inputs that may be received from the user composing a message using account A. Linked to the “inputs” table 735 is a “suggestions” table 740. In various embodiments, each input in the “inputs” table 735 has a corresponding suggested content item included within a “suggestions” table 740. When an input is received from the user, a suggested content item from the “suggestions” table 740 is presented to the user.
  • FIG. 8 is a block diagram depicting a mobile device, according to various embodiments. The mobile device 115 may include a processor 810. The processor 810 may be any of a variety of different types of commercially available processors suitable for mobile devices (for example, an XScale architecture microprocessor, a Microprocessor without Interlocked Pipeline Stages (MIPS) architecture processor, or another type of processor). A memory 820, such as a Random Access Memory (RAM), a Flash memory, or other type of memory, is typically accessible to the processor. The memory 820 may be adapted to store an operating system (OS) 830, as well as application programs such as a phrase suggestion system 840 to provide suggested content to the user composing a message using the mobile device. The processor 810 may be coupled, either directly or via appropriate intermediary hardware, to a display 850 and to one or more input/output (I/O) devices 860, such as a keypad, a touch panel sensor, a microphone, and the like. Similarly, in some embodiments, the processor 810 may be coupled to a transceiver 870 that interfaces with an antenna 890. The transceiver 870 may be configured to both transmit and receive cellular network signals, wireless data signals, or other types of signals via the antenna 890, depending on the nature of the mobile device 115. In this manner, the mobile device 115 may connect to the messaging service 120 and the phrase suggestion system 125 via the network 105. Further, in some configurations, a GPS receiver 880 may also make use of the antenna 890 to send and receive GPS signals used to determine a location of the mobile device 115. The location of the mobile device 115 may be used in determining a context of a message being composed by a user using the mobile device 115. Moreover, a change in the location of the mobile device 115 may also be used in determining the context of the message being composed.
  • Modules, Components and Logic
  • Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied (1) on a non-transitory machine-readable medium or (2) in a transmission signal) or hardware-implemented modules. A hardware-implemented module is tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more processors may be configured by software (e.g., an application or application portion) as a hardware-implemented module that operates to perform certain operations as described herein.
  • In various embodiments, a hardware-implemented module may be implemented mechanically or electronically. For example, a hardware-implemented module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware-implemented module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware-implemented module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
  • Accordingly, the term “hardware-implemented module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily or transitorily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware-implemented modules are temporarily configured (e.g., programmed), each of the hardware-implemented modules need not be configured or instantiated at any one instance in time. For example, where the hardware-implemented modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware-implemented modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware-implemented module at one instance of time and to constitute a different hardware-implemented module at a different instance of time.
  • Hardware-implemented modules can provide information to, and receive information from, other hardware-implemented modules. Accordingly, the described hardware-implemented modules may be regarded as being communicatively coupled. Where multiple of such hardware-implemented modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware-implemented modules. In embodiments in which multiple hardware-implemented modules are configured or instantiated at different times, communications between such hardware-implemented modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware-implemented modules have access. For example, one hardware-implemented module may perform an operation, and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware-implemented module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware-implemented modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
  • The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
  • Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
  • The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs).)
  • Electronic Apparatus and System
  • Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
  • A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
  • In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
  • The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that that both hardware and software architectures require consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.
  • Example Machine Architecture and Machine-Readable Medium
  • FIG. 9 is a block diagram of machine in the example form of a computer system 900 within which instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
  • The example computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 904 and a static memory 906, which communicate with each other via a bus 908. The computer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard or a touch-sensitive display screen), a user interface (UI) navigation device 914 (e.g., a mouse), a disk drive unit 916, a signal generation device 918 (e.g., a speaker) and a network interface device 920.
  • Machine-Readable Medium
  • The disk drive unit 916 includes a machine-readable medium 922 on which is stored one or more sets of instructions and data structures (e.g., software) 924 embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 924 may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900, the main memory 904 and the processor 902 also constituting machine-readable media.
  • While the machine-readable medium 922 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions or data structures. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
  • Transmission Medium
  • The instructions 924 may further be transmitted or received over a communications network 926 using a transmission medium. The instructions 924 may be transmitted using the network interface device 920 and any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., WiFi and WiMax networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
  • Although an embodiment has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
  • Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.

Claims (20)

What is claimed is:
1. A system comprising:
a context determination module configured to determine a context of a message that a user is composing via a composition interface based on one or more properties of the message;
a text detection module configured to identify one or more inputs to the user composition interface, the one or more inputs indicating at least a portion of intended content of the message;
a suggestion module configured to, using one or more processors, provide one or more suggested content items for inclusion in the message based on the context of the message and the one or more inputs; and
a confirmation module configured to add a suggested content item of the suggested content items in the message based at least in part on the one or more properties of the message.
2. The system of claim 1 further comprising:
a rule module configured to apply user-defined rules to identify the one or more suggested content items; and
wherein the suggestion module is further configured to cause the one or more suggested content items to be displayed in the composition interface.
3. The system of claim 2, wherein the rule module is further configured to apply the user-defined rules to exclude an available content item from the one or more suggested content items.
4. The system of claim 1, wherein the one or more properties of the message include: a parent message, at least one keyword from the message being composed, at least one recipient of the message, an account being used to generate the message, a human-readable language in which the message is composed, a geographical location of the user, a change of the geographical location of the user, and calendar data of the user.
5. The system of claim 1, wherein the confirmation module is further configured to refrain adding a suggestion content item of the one or more suggested content items to the message.
6. The system of claim 1, wherein the suggestion module is further configured to retrieve the one or more suggested content items from a dictionary.
7. The system of claim 6, wherein the dictionary is a database indexed according to context.
8. The system of claim 6, wherein respective entries of the dictionary are a suggested content item of the one or more available content items and wherein the respective entries include one or more metadata tags, the one or more metadata tags each indicating a context of the suggested content item.
9. The system of claim 1, wherein the context determination module is further configured to determine the context based in part on the one or more inputs.
10. The system of claim 1, wherein the one or more suggested content items includes the one or more inputs indicating at least a portion of the intended content of the message.
11. The system of claim 1, wherein the one or more suggested content items is a modification of the one or more inputs indicating at least a portion of the intended content of the message.
12. The system of claim 1, wherein the confirmation module is further configured to receive a confirmation from the user to add the suggested content item in the message.
13. The system of claim 1, wherein the confirmation module is further configured to automatically add the suggested content item in the message.
14. A method comprising:
determining a context of a message that a user is composing via a composition interface based on one or more properties of the message;
identifying one or more inputs to the user composition interface, the one or more inputs indicating at least a portion of intended content of the message;
providing one or more suggested content items for inclusion in the message based on the context of the message, and the one or more inputs; and
adding a suggested content item of the suggested content items in the message based at least in part on the one or more properties of the message.
15. The method of claim 14, further comprising:
applying user-defined rules to identify the one or more suggested content items; and
causing the one or more suggested content items to be displayed in the composition interface.
16. The method of claim 14, wherein the one or more properties of the message include: a parent message, at least one keyword from the message being composed, at least one recipient of the message, an account being used to generate the message, a human-readable language in which the message is composed, a geographical location of the user, a change of the geographical location of the user, and calendar data of the user.
17. The method of claim 14, further comprising retrieving the one or more suggested content items from a dictionary.
18. The method of claim 14, wherein the one or more suggested content items is a modification of the one or more inputs indicating at least a portion of the intended content of the message.
19. The method of claim 14, wherein adding the suggested content item in the message is conducted automatically.
20. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:
determining a context of a message that a user is composing via a composition interface based on one or more properties of the message;
identifying one or more inputs to the user composition interface, the one or more inputs indicating at least a portion of intended content of the message;
providing one or more suggested content items for inclusion in the message based on the context of the message, and the one or more inputs; and
adding a suggested content item of the suggested content items in the message based at least in part on the one or more properties of the message.
US13/890,600 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context Expired - Fee Related US9923849B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US13/890,600 US9923849B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US15/894,758 US10257137B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US16/288,952 US10659406B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US16/850,690 US11991128B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US18/657,730 US20240291783A1 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/890,600 US9923849B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/894,758 Continuation US10257137B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context

Publications (2)

Publication Number Publication Date
US20140337438A1 true US20140337438A1 (en) 2025-08-05
US9923849B2 US9923849B2 (en) 2025-08-05

Family

ID=51865650

Family Applications (5)

Application Number Title Priority Date Filing Date
US13/890,600 Expired - Fee Related US9923849B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US15/894,758 Active US10257137B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US16/288,952 Active US10659406B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US16/850,690 Active US11991128B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US18/657,730 Pending US20240291783A1 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context

Family Applications After (4)

Application Number Title Priority Date Filing Date
US15/894,758 Active US10257137B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US16/288,952 Active US10659406B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US16/850,690 Active US11991128B2 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context
US18/657,730 Pending US20240291783A1 (en) 2025-08-05 2025-08-05 System and method for suggesting a phrase based on a context

Country Status (1)

Country Link
US (5) US9923849B2 (en)

Cited By (151)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20150309965A1 (en) * 2025-08-05 2025-08-05 Elwha Llc Methods, systems, and devices for outcome prediction of text submission to network based on corpora analysis
US20160156574A1 (en) * 2025-08-05 2025-08-05 Facebook, Inc. Device, Method, and Graphical User Interface for Lightweight Messaging
US20160359771A1 (en) * 2025-08-05 2025-08-05 Apple Inc. Personalized prediction of responses for instant messaging
US20170169037A1 (en) * 2025-08-05 2025-08-05 Microsoft Technology Licensing, Llc Organization and discovery of communication based on crowd sourcing
US9998888B1 (en) 2025-08-05 2025-08-05 Apple Inc. Easy location sharing
US10083690B2 (en) 2025-08-05 2025-08-05 Apple Inc. Better resolution when referencing to concepts
US10108612B2 (en) 2025-08-05 2025-08-05 Apple Inc. Mobile device having human language translation capability with positional feedback
US10257137B2 (en) 2025-08-05 2025-08-05 Ebay Inc. System and method for suggesting a phrase based on a context
US10303715B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for media exploration
US10311871B2 (en) 2025-08-05 2025-08-05 Apple Inc. Competing devices responding to voice triggers
US10311144B2 (en) 2025-08-05 2025-08-05 Apple Inc. Emoji word sense disambiguation
US10332518B2 (en) 2025-08-05 2025-08-05 Apple Inc. User interface for correcting recognition errors
US10348658B2 (en) * 2025-08-05 2025-08-05 Google Llc Suggested items for use with embedded applications in chat conversations
US10354652B2 (en) 2025-08-05 2025-08-05 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10367768B2 (en) 2025-08-05 2025-08-05 Microsoft Technology Licensing, Llc Messaging system
US10381016B2 (en) 2025-08-05 2025-08-05 Apple Inc. Methods and apparatus for altering audio output signals
US10390213B2 (en) 2025-08-05 2025-08-05 Apple Inc. Social reminders
US10387461B2 (en) 2025-08-05 2025-08-05 Google Llc Techniques for suggesting electronic messages based on user activity and other context
US10395654B2 (en) 2025-08-05 2025-08-05 Apple Inc. Text normalization based on a data-driven learning network
US10404636B2 (en) 2025-08-05 2025-08-05 Google Llc Embedded programs and interfaces for chat conversations
US10403278B2 (en) 2025-08-05 2025-08-05 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10403283B1 (en) 2025-08-05 2025-08-05 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10412030B2 (en) 2025-08-05 2025-08-05 Google Llc Automatic response suggestions based on images received in messaging applications
US10417266B2 (en) 2025-08-05 2025-08-05 Apple Inc. Context-aware ranking of intelligent response suggestions
US10416846B2 (en) 2025-08-05 2025-08-05 Google Llc Determining graphical element(s) for inclusion in an electronic communication
US10417344B2 (en) 2025-08-05 2025-08-05 Apple Inc. Exemplar-based natural language processing
US10417405B2 (en) 2025-08-05 2025-08-05 Apple Inc. Device access using voice authentication
US10431204B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10438595B2 (en) 2025-08-05 2025-08-05 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10445425B2 (en) 2025-08-05 2025-08-05 Apple Inc. Emoji and canned responses
US10445429B2 (en) 2025-08-05 2025-08-05 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10453443B2 (en) 2025-08-05 2025-08-05 Apple Inc. Providing an indication of the suitability of speech recognition
US10474753B2 (en) 2025-08-05 2025-08-05 Apple Inc. Language identification using recurrent neural networks
US10497365B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-command single utterance input method
US10496705B1 (en) 2025-08-05 2025-08-05 Apple Inc. Accelerated task performance
US10511450B2 (en) 2025-08-05 2025-08-05 Google Llc Bot permissions
US10530723B2 (en) 2025-08-05 2025-08-05 Google Llc Automatic suggestions for message exchange threads
US10529332B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant activation
US10547574B2 (en) 2025-08-05 2025-08-05 Google Llc Suggested responses based on message stickers
US10553215B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant
US10565219B2 (en) 2025-08-05 2025-08-05 Apple Inc. Techniques for automatically generating a suggested contact based on a received message
US10579212B2 (en) 2025-08-05 2025-08-05 Apple Inc. Structured suggestions
US10580409B2 (en) 2025-08-05 2025-08-05 Apple Inc. Application integration with a digital assistant
US10592604B2 (en) 2025-08-05 2025-08-05 Apple Inc. Inverse text normalization for automatic speech recognition
US10636424B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-turn canned dialog
US10643611B2 (en) 2025-08-05 2025-08-05 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10657961B2 (en) 2025-08-05 2025-08-05 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10657328B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10674474B2 (en) * 2025-08-05 2025-08-05 North Carolina State University System and method to discover device context and location using cellular signal information
US10681212B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10684703B2 (en) 2025-08-05 2025-08-05 Apple Inc. Attention aware virtual assistant dismissal
US10692504B2 (en) 2025-08-05 2025-08-05 Apple Inc. User profiling for voice input processing
US10699717B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent assistant for home automation
US10714117B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice trigger for a digital assistant
US10726832B2 (en) 2025-08-05 2025-08-05 Apple Inc. Maintaining privacy of personal information
US10733982B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2025-08-05 2025-08-05 Apple Inc. Knowledge-based framework for improving natural language understanding
US10733993B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10741185B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant
US10748546B2 (en) 2025-08-05 2025-08-05 Apple Inc. Digital assistant services based on device capabilities
US10757043B2 (en) 2025-08-05 2025-08-05 Google Llc Automatic suggestions and other content for messaging applications
US10755051B2 (en) 2025-08-05 2025-08-05 Apple Inc. Rule-based natural language processing
US10769385B2 (en) 2025-08-05 2025-08-05 Apple Inc. System and method for inferring user intent from speech inputs
US10789959B2 (en) 2025-08-05 2025-08-05 Apple Inc. Training speaker recognition models for digital assistants
US10789945B2 (en) 2025-08-05 2025-08-05 Apple Inc. Low-latency intelligent automated assistant
US10818288B2 (en) 2025-08-05 2025-08-05 Apple Inc. Natural assistant interaction
US10839159B2 (en) 2025-08-05 2025-08-05 Apple Inc. Named entity normalization in a spoken dialog system
US10860854B2 (en) 2025-08-05 2025-08-05 Google Llc Suggested actions for images
US10892996B2 (en) 2025-08-05 2025-08-05 Apple Inc. Variable latency device coordination
US10909331B2 (en) 2025-08-05 2025-08-05 Apple Inc. Implicit identification of translation payload with neural machine translation
US10922483B1 (en) * 2025-08-05 2025-08-05 Grammarly, Inc. Artificial intelligence communication assistance for providing communication advice utilizing communication profiles
US10928918B2 (en) 2025-08-05 2025-08-05 Apple Inc. Raise to speak
US10942702B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent device arbitration and control
US10942703B2 (en) 2025-08-05 2025-08-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10956666B2 (en) 2025-08-05 2025-08-05 Apple Inc. Unconventional virtual assistant interactions
US10984780B2 (en) 2025-08-05 2025-08-05 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US11010127B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant for media playback
US11010561B2 (en) 2025-08-05 2025-08-05 Apple Inc. Sentiment prediction from textual data
US11023513B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method and apparatus for searching using an active ontology
US11048473B2 (en) 2025-08-05 2025-08-05 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US11069347B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for media exploration
US11070949B2 (en) 2025-08-05 2025-08-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US11069336B2 (en) 2025-08-05 2025-08-05 Apple Inc. Systems and methods for name pronunciation
US20210224477A1 (en) * 2025-08-05 2025-08-05 Huawei Technologies Co., Ltd. Method and apparatus for displaying candidate word, and graphical user interface
US11074408B2 (en) 2025-08-05 2025-08-05 Apple Inc. Mail application features
US11120372B2 (en) 2025-08-05 2025-08-05 Apple Inc. Performing actions associated with task items that represent tasks to perform
US11126400B2 (en) 2025-08-05 2025-08-05 Apple Inc. Zero latency digital assistant
US11127397B2 (en) 2025-08-05 2025-08-05 Apple Inc. Device voice control
US11133008B2 (en) 2025-08-05 2025-08-05 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11140099B2 (en) 2025-08-05 2025-08-05 Apple Inc. Providing message response suggestions
US11145294B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11170166B2 (en) 2025-08-05 2025-08-05 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11194467B2 (en) 2025-08-05 2025-08-05 Apple Inc. Keyboard management user interfaces
US11204787B2 (en) 2025-08-05 2025-08-05 Apple Inc. Application integration with a digital assistant
US11217251B2 (en) 2025-08-05 2025-08-05 Apple Inc. Spoken notifications
US11227589B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent list reading
US11231904B2 (en) 2025-08-05 2025-08-05 Apple Inc. Reducing response latency of intelligent automated assistants
US11237797B2 (en) 2025-08-05 2025-08-05 Apple Inc. User activity shortcut suggestions
US11269678B2 (en) 2025-08-05 2025-08-05 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11281993B2 (en) 2025-08-05 2025-08-05 Apple Inc. Model and ensemble compression for metric learning
US11289073B2 (en) 2025-08-05 2025-08-05 Apple Inc. Device text to speech
US11301477B2 (en) 2025-08-05 2025-08-05 Apple Inc. Feedback analysis of a digital assistant
US11307752B2 (en) 2025-08-05 2025-08-05 Apple Inc. User configurable task triggers
US11314370B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method for extracting salient dialog usage from live data
US11348573B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multimodality in digital assistant systems
US11350253B2 (en) 2025-08-05 2025-08-05 Apple Inc. Active transport based notifications
US11360641B2 (en) 2025-08-05 2025-08-05 Apple Inc. Increasing the relevance of new available information
US11388291B2 (en) 2025-08-05 2025-08-05 Apple Inc. System and method for processing voicemail
US11386266B2 (en) 2025-08-05 2025-08-05 Apple Inc. Text correction
US11405466B2 (en) 2025-08-05 2025-08-05 Apple Inc. Synchronization and task delegation of a digital assistant
US11423886B2 (en) 2025-08-05 2025-08-05 Apple Inc. Task flow identification based on user intent
US11423908B2 (en) 2025-08-05 2025-08-05 Apple Inc. Interpreting spoken requests
US11462215B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-modal inputs for voice commands
US11467802B2 (en) 2025-08-05 2025-08-05 Apple Inc. Maintaining privacy of personal information
US11468282B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant in a communication session
US11475898B2 (en) 2025-08-05 2025-08-05 Apple Inc. Low-latency multi-speaker speech recognition
US11475884B2 (en) 2025-08-05 2025-08-05 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11488406B2 (en) 2025-08-05 2025-08-05 Apple Inc. Text detection using global geometry estimators
US11495218B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant operation in multi-device environments
US11496600B2 (en) 2025-08-05 2025-08-05 Apple Inc. Remote execution of machine-learned models
US11500672B2 (en) 2025-08-05 2025-08-05 Apple Inc. Distributed personal assistant
US11516537B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for TV user interactions
US11520413B2 (en) * 2025-08-05 2025-08-05 Samsung Electronics Co., Ltd. Electronic apparatus, controlling method of electronic apparatus and computer readable medium
US11526368B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant in a messaging environment
US11532306B2 (en) 2025-08-05 2025-08-05 Apple Inc. Detecting a trigger of a digital assistant
US11580990B2 (en) 2025-08-05 2025-08-05 Apple Inc. User-specific acoustic models
US11638059B2 (en) 2025-08-05 2025-08-05 Apple Inc. Content playback on multiple devices
US11657813B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice identification in digital assistant systems
US11671920B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11696060B2 (en) 2025-08-05 2025-08-05 Apple Inc. User identification using headphones
US11765209B2 (en) 2025-08-05 2025-08-05 Apple Inc. Digital assistant hardware abstraction
US11782575B2 (en) 2025-08-05 2025-08-05 Apple Inc. User interfaces for sharing contextually relevant media content
US11790914B2 (en) 2025-08-05 2025-08-05 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11798547B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice activated device for use with a voice-based digital assistant
US20230353406A1 (en) * 2025-08-05 2025-08-05 Zoom Video Communications, Inc. Context-biasing for speech recognition in virtual conferences
US11809483B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for media search and playback
US11829404B2 (en) 2025-08-05 2025-08-05 Google Llc Functional image archiving
US11838734B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-device audio adjustment coordination
US11853536B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant in a media environment
US11914848B2 (en) 2025-08-05 2025-08-05 Apple Inc. Providing relevant data items based on context
US11928604B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method and apparatus for building an intelligent automated assistant
US12010262B2 (en) 2025-08-05 2025-08-05 Apple Inc. Auto-activating smart responses based on activities from remote devices
US12014118B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-modal interfaces having selection disambiguation and text modification capability
US20240236025A1 (en) * 2025-08-05 2025-08-05 Trisha N. Prabhu Systems and methods for replacing offensive content
US20240244020A1 (en) * 2025-08-05 2025-08-05 Trisha N. Prabhu Systems and methods for mitigating distribution of offensive message content based on mental stability of user
US12051413B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent device identification
US12197817B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent device arbitration and control
US12223282B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant in a home environment
US12235889B2 (en) 2025-08-05 2025-08-05 Google Llc Device messages provided in displayed image compilations based on user content
US12260638B1 (en) * 2025-08-05 2025-08-05 Squirrel Ai Learning Inc. Adaptive learning systems utilizing machine learning techniques
US12301635B2 (en) 2025-08-05 2025-08-05 Apple Inc. Digital assistant hardware abstraction

Families Citing this family (2)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
CN110335022B (en) * 2025-08-05 2025-08-05 中国联合网络通信集团有限公司 Automatic audit method, device, equipment and storage medium
US11516158B1 (en) 2025-08-05 2025-08-05 LeadIQ, Inc. Neural network-facilitated linguistically complex message generation systems and methods

Citations (7)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20050017954A1 (en) * 2025-08-05 2025-08-05 Kay David Jon Contextual prediction of user words and user actions
US7584426B2 (en) * 2025-08-05 2025-08-05 Google Inc. Browser-based spell checker
US20100161733A1 (en) * 2025-08-05 2025-08-05 Microsoft Corporation Contact-specific and location-aware lexicon prediction
US20110197128A1 (en) * 2025-08-05 2025-08-05 EXBSSET MANAGEMENT GmbH Device and Method Incorporating an Improved Text Input Mechanism
US20140032206A1 (en) * 2025-08-05 2025-08-05 Microsoft Corpration Generating string predictions using contexts
US20140163954A1 (en) * 2025-08-05 2025-08-05 Microsoft Corporation Communication context based predictive-text suggestion
US20150019665A1 (en) * 2025-08-05 2025-08-05 Idt Messaging, Llc Linking context-based information to text messages

Family Cites Families (6)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126983A1 (en) * 2025-08-05 2025-08-05 Keohane Susann M Content-based ordering of a list of selectable entries for an auto-complete box
US20090249198A1 (en) * 2025-08-05 2025-08-05 Yahoo! Inc. Techniques for input recogniton and completion
US8473443B2 (en) * 2025-08-05 2025-08-05 International Business Machines Corporation Inappropriate content detection method for senders
KR101781557B1 (en) * 2025-08-05 2025-08-05 ?? ??????? Method and system for facilitating text input
US8386926B1 (en) * 2025-08-05 2025-08-05 Google Inc. Network-based custom dictionary, auto-correction and text entry preferences
US9923849B2 (en) 2025-08-05 2025-08-05 Ebay Inc. System and method for suggesting a phrase based on a context

Patent Citations (7)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20050017954A1 (en) * 2025-08-05 2025-08-05 Kay David Jon Contextual prediction of user words and user actions
US7584426B2 (en) * 2025-08-05 2025-08-05 Google Inc. Browser-based spell checker
US20110197128A1 (en) * 2025-08-05 2025-08-05 EXBSSET MANAGEMENT GmbH Device and Method Incorporating an Improved Text Input Mechanism
US20100161733A1 (en) * 2025-08-05 2025-08-05 Microsoft Corporation Contact-specific and location-aware lexicon prediction
US20150019665A1 (en) * 2025-08-05 2025-08-05 Idt Messaging, Llc Linking context-based information to text messages
US20140032206A1 (en) * 2025-08-05 2025-08-05 Microsoft Corpration Generating string predictions using contexts
US20140163954A1 (en) * 2025-08-05 2025-08-05 Microsoft Corporation Communication context based predictive-text suggestion

Cited By (284)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US11928604B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method and apparatus for building an intelligent automated assistant
US11671920B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11979836B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US11023513B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method and apparatus for searching using an active ontology
US10381016B2 (en) 2025-08-05 2025-08-05 Apple Inc. Methods and apparatus for altering audio output signals
US10108612B2 (en) 2025-08-05 2025-08-05 Apple Inc. Mobile device having human language translation capability with positional feedback
US10643611B2 (en) 2025-08-05 2025-08-05 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US12361943B2 (en) 2025-08-05 2025-08-05 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11348582B2 (en) 2025-08-05 2025-08-05 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11900936B2 (en) 2025-08-05 2025-08-05 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US12165635B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant
US11423886B2 (en) 2025-08-05 2025-08-05 Apple Inc. Task flow identification based on user intent
US10741185B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant
US12087308B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant
US10692504B2 (en) 2025-08-05 2025-08-05 Apple Inc. User profiling for voice input processing
US10417405B2 (en) 2025-08-05 2025-08-05 Apple Inc. Device access using voice authentication
US11120372B2 (en) 2025-08-05 2025-08-05 Apple Inc. Performing actions associated with task items that represent tasks to perform
US11350253B2 (en) 2025-08-05 2025-08-05 Apple Inc. Active transport based notifications
US11069336B2 (en) 2025-08-05 2025-08-05 Apple Inc. Systems and methods for name pronunciation
US11269678B2 (en) 2025-08-05 2025-08-05 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11321116B2 (en) 2025-08-05 2025-08-05 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11862186B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice trigger for a digital assistant
US12009007B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice trigger for a digital assistant
US11636869B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice trigger for a digital assistant
US10714117B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice trigger for a digital assistant
US12277954B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice trigger for a digital assistant
US10978090B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice trigger for a digital assistant
US11557310B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice trigger for a digital assistant
US11388291B2 (en) 2025-08-05 2025-08-05 Apple Inc. System and method for processing voicemail
US11798547B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10257137B2 (en) 2025-08-05 2025-08-05 Ebay Inc. System and method for suggesting a phrase based on a context
US11991128B2 (en) 2025-08-05 2025-08-05 Ebay Inc. System and method for suggesting a phrase based on a context
US10659406B2 (en) 2025-08-05 2025-08-05 Ebay Inc. System and method for suggesting a phrase based on a context
US10657961B2 (en) 2025-08-05 2025-08-05 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US11048473B2 (en) 2025-08-05 2025-08-05 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10769385B2 (en) 2025-08-05 2025-08-05 Apple Inc. System and method for inferring user intent from speech inputs
US11727219B2 (en) 2025-08-05 2025-08-05 Apple Inc. System and method for inferring user intent from speech inputs
US12073147B2 (en) 2025-08-05 2025-08-05 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US12010262B2 (en) 2025-08-05 2025-08-05 Apple Inc. Auto-activating smart responses based on activities from remote devices
US11314370B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method for extracting salient dialog usage from live data
US20150309965A1 (en) * 2025-08-05 2025-08-05 Elwha Llc Methods, systems, and devices for outcome prediction of text submission to network based on corpora analysis
US10657966B2 (en) 2025-08-05 2025-08-05 Apple Inc. Better resolution when referencing to concepts
US11133008B2 (en) 2025-08-05 2025-08-05 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10579212B2 (en) 2025-08-05 2025-08-05 Apple Inc. Structured suggestions
US11810562B2 (en) 2025-08-05 2025-08-05 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10585559B2 (en) 2025-08-05 2025-08-05 Apple Inc. Identifying contact information suggestions from a received message
US10417344B2 (en) 2025-08-05 2025-08-05 Apple Inc. Exemplar-based natural language processing
US10878809B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-command single utterance input method
US10620787B2 (en) 2025-08-05 2025-08-05 Apple Inc. Techniques for structuring suggested contacts and calendar events from messages
US12118999B2 (en) 2025-08-05 2025-08-05 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11699448B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent assistant for home automation
US10565219B2 (en) 2025-08-05 2025-08-05 Apple Inc. Techniques for automatically generating a suggested contact based on a received message
US12067990B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent assistant for home automation
US11670289B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-command single utterance input method
US11257504B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent assistant for home automation
US10747397B2 (en) 2025-08-05 2025-08-05 Apple Inc. Structured suggestions
US10497365B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-command single utterance input method
US10083690B2 (en) 2025-08-05 2025-08-05 Apple Inc. Better resolution when referencing to concepts
US10714095B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent assistant for home automation
US10699717B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent assistant for home automation
US12316592B2 (en) * 2025-08-05 2025-08-05 Trisha N. Prabhu System and methods for annotating offensive content
US20240236025A1 (en) * 2025-08-05 2025-08-05 Trisha N. Prabhu Systems and methods for replacing offensive content
US12341739B2 (en) 2025-08-05 2025-08-05 Trisha N. Prabhu Systems and methods for mitigating the spread of offensive content and/or behavior
US20240244020A1 (en) * 2025-08-05 2025-08-05 Trisha N. Prabhu Systems and methods for mitigating distribution of offensive message content based on mental stability of user
US12273312B2 (en) 2025-08-05 2025-08-05 Trisha N. Prabhu Systems and methods for detecting offensive content in a single responsive message
US12261812B2 (en) * 2025-08-05 2025-08-05 Trisha N. Prabhu Systems and methods for mitigating distribution of offensive message content based on mental stability of user
US20240236024A1 (en) * 2025-08-05 2025-08-05 Trisha N. Prabhu System and methods for annotating offensive content
US12200297B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for TV user interactions
US11516537B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for TV user interactions
US11838579B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for TV user interactions
US10431204B2 (en) 2025-08-05 2025-08-05 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10453443B2 (en) 2025-08-05 2025-08-05 Apple Inc. Providing an indication of the suitability of speech recognition
US10390213B2 (en) 2025-08-05 2025-08-05 Apple Inc. Social reminders
US10438595B2 (en) 2025-08-05 2025-08-05 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10587541B2 (en) * 2025-08-05 2025-08-05 Facebook, Inc. Device, method, and graphical user interface for lightweight messaging
US20160156574A1 (en) * 2025-08-05 2025-08-05 Facebook, Inc. Device, Method, and Graphical User Interface for Lightweight Messaging
US11231904B2 (en) 2025-08-05 2025-08-05 Apple Inc. Reducing response latency of intelligent automated assistants
US11087759B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant activation
US10529332B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant activation
US10311871B2 (en) 2025-08-05 2025-08-05 Apple Inc. Competing devices responding to voice triggers
US10930282B2 (en) 2025-08-05 2025-08-05 Apple Inc. Competing devices responding to voice triggers
US11842734B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant activation
US12236952B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant activation
US12001933B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant in a communication session
US12333404B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant in a communication session
US11468282B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant in a communication session
US12154016B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant in a communication session
US11127397B2 (en) 2025-08-05 2025-08-05 Apple Inc. Device voice control
US11070949B2 (en) 2025-08-05 2025-08-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US10681212B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160359771A1 (en) * 2025-08-05 2025-08-05 Apple Inc. Personalized prediction of responses for instant messaging
US11025565B2 (en) * 2025-08-05 2025-08-05 Apple Inc. Personalized prediction of responses for instant messaging
US11947873B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant for media playback
US11010127B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant for media playback
US12089121B2 (en) 2025-08-05 2025-08-05 Apple Inc. Easy location sharing
US10341826B2 (en) 2025-08-05 2025-08-05 Apple Inc. Easy location sharing
US11418929B2 (en) 2025-08-05 2025-08-05 Apple Inc. Easy location sharing
US9998888B1 (en) 2025-08-05 2025-08-05 Apple Inc. Easy location sharing
US11500672B2 (en) 2025-08-05 2025-08-05 Apple Inc. Distributed personal assistant
US11126400B2 (en) 2025-08-05 2025-08-05 Apple Inc. Zero latency digital assistant
US11809483B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for media search and playback
US11550542B2 (en) 2025-08-05 2025-08-05 Apple Inc. Zero latency digital assistant
US11954405B2 (en) 2025-08-05 2025-08-05 Apple Inc. Zero latency digital assistant
US12204932B2 (en) 2025-08-05 2025-08-05 Apple Inc. Distributed personal assistant
US11853536B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant in a media environment
US11048873B2 (en) 2025-08-05 2025-08-05 Apple Inc. Emoji and canned responses
US10445425B2 (en) 2025-08-05 2025-08-05 Apple Inc. Emoji and canned responses
US12051413B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent device identification
US11809886B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant in a messaging environment
US11526368B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant in a messaging environment
US11886805B2 (en) 2025-08-05 2025-08-05 Apple Inc. Unconventional virtual assistant interactions
US10956666B2 (en) 2025-08-05 2025-08-05 Apple Inc. Unconventional virtual assistant interactions
US10354652B2 (en) 2025-08-05 2025-08-05 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US20170169037A1 (en) * 2025-08-05 2025-08-05 Microsoft Technology Licensing, Llc Organization and discovery of communication based on crowd sourcing
US10530723B2 (en) 2025-08-05 2025-08-05 Google Llc Automatic suggestions for message exchange threads
US11502975B2 (en) 2025-08-05 2025-08-05 Google Llc Automatic suggestions and other content for messaging applications
US10757043B2 (en) 2025-08-05 2025-08-05 Google Llc Automatic suggestions and other content for messaging applications
US11418471B2 (en) 2025-08-05 2025-08-05 Google Llc Automatic suggestions for message exchange threads
US11853647B2 (en) 2025-08-05 2025-08-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10942703B2 (en) 2025-08-05 2025-08-05 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent list reading
US11069347B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for media exploration
US12223282B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant in a home environment
US10733993B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11657820B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11037565B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US12175977B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11152002B2 (en) 2025-08-05 2025-08-05 Apple Inc. Application integration with a digital assistant
US11809783B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent device arbitration and control
US10580409B2 (en) 2025-08-05 2025-08-05 Apple Inc. Application integration with a digital assistant
US12197817B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent device arbitration and control
US10942702B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent device arbitration and control
US11749275B2 (en) 2025-08-05 2025-08-05 Apple Inc. Application integration with a digital assistant
US12293763B2 (en) 2025-08-05 2025-08-05 Apple Inc. Application integration with a digital assistant
US20210224477A1 (en) * 2025-08-05 2025-08-05 Huawei Technologies Co., Ltd. Method and apparatus for displaying candidate word, and graphical user interface
US11755835B2 (en) * 2025-08-05 2025-08-05 Honor Device Co., Ltd. Method and apparatus for displaying candidate word, and graphical user interface
US10387461B2 (en) 2025-08-05 2025-08-05 Google Llc Techniques for suggesting electronic messages based on user activity and other context
US10674474B2 (en) * 2025-08-05 2025-08-05 North Carolina State University System and method to discover device context and location using cellular signal information
US10474753B2 (en) 2025-08-05 2025-08-05 Apple Inc. Language identification using recurrent neural networks
US10547574B2 (en) 2025-08-05 2025-08-05 Google Llc Suggested responses based on message stickers
US11700134B2 (en) 2025-08-05 2025-08-05 Google Llc Bot permissions
US10511450B2 (en) 2025-08-05 2025-08-05 Google Llc Bot permissions
US12126739B2 (en) 2025-08-05 2025-08-05 Google Llc Bot permissions
US10412030B2 (en) 2025-08-05 2025-08-05 Google Llc Automatic response suggestions based on images received in messaging applications
US11303590B2 (en) 2025-08-05 2025-08-05 Google Llc Suggested responses based on message stickers
US11336467B2 (en) 2025-08-05 2025-08-05 Google Llc Bot permissions
US10979373B2 (en) 2025-08-05 2025-08-05 Google Llc Suggested responses based on message stickers
US10862836B2 (en) 2025-08-05 2025-08-05 Google Llc Automatic response suggestions based on images received in messaging applications
US10553215B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant
US10416846B2 (en) 2025-08-05 2025-08-05 Google Llc Determining graphical element(s) for inclusion in an electronic communication
US11281993B2 (en) 2025-08-05 2025-08-05 Apple Inc. Model and ensemble compression for metric learning
US10367768B2 (en) 2025-08-05 2025-08-05 Microsoft Technology Licensing, Llc Messaging system
US12260234B2 (en) 2025-08-05 2025-08-05 Apple Inc. Application integration with a digital assistant
US11204787B2 (en) 2025-08-05 2025-08-05 Apple Inc. Application integration with a digital assistant
US11656884B2 (en) 2025-08-05 2025-08-05 Apple Inc. Application integration with a digital assistant
US10741181B2 (en) 2025-08-05 2025-08-05 Apple Inc. User interface for correcting recognition errors
US10417266B2 (en) 2025-08-05 2025-08-05 Apple Inc. Context-aware ranking of intelligent response suggestions
US10332518B2 (en) 2025-08-05 2025-08-05 Apple Inc. User interface for correcting recognition errors
US10726832B2 (en) 2025-08-05 2025-08-05 Apple Inc. Maintaining privacy of personal information
US10847142B2 (en) 2025-08-05 2025-08-05 Apple Inc. Maintaining privacy of personal information
US11599331B2 (en) 2025-08-05 2025-08-05 Apple Inc. Maintaining privacy of personal information
US11467802B2 (en) 2025-08-05 2025-08-05 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2025-08-05 2025-08-05 Apple Inc. Text normalization based on a data-driven learning network
US11862151B2 (en) 2025-08-05 2025-08-05 Apple Inc. Low-latency intelligent automated assistant
US11538469B2 (en) 2025-08-05 2025-08-05 Apple Inc. Low-latency intelligent automated assistant
US11380310B2 (en) 2025-08-05 2025-08-05 Apple Inc. Low-latency intelligent automated assistant
US11837237B2 (en) 2025-08-05 2025-08-05 Apple Inc. User-specific acoustic models
US10789945B2 (en) 2025-08-05 2025-08-05 Apple Inc. Low-latency intelligent automated assistant
US11301477B2 (en) 2025-08-05 2025-08-05 Apple Inc. Feedback analysis of a digital assistant
US11405466B2 (en) 2025-08-05 2025-08-05 Apple Inc. Synchronization and task delegation of a digital assistant
US11580990B2 (en) 2025-08-05 2025-08-05 Apple Inc. User-specific acoustic models
US12014118B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-modal interfaces having selection disambiguation and text modification capability
US11675829B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for media exploration
US10891485B2 (en) 2025-08-05 2025-08-05 Google Llc Image archival based on image categories
US10909171B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for media exploration
US11532306B2 (en) 2025-08-05 2025-08-05 Apple Inc. Detecting a trigger of a digital assistant
US10403278B2 (en) 2025-08-05 2025-08-05 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US11574470B2 (en) 2025-08-05 2025-08-05 Google Llc Suggested actions for images
US12026197B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for media exploration
US10860854B2 (en) 2025-08-05 2025-08-05 Google Llc Suggested actions for images
US10748546B2 (en) 2025-08-05 2025-08-05 Apple Inc. Digital assistant services based on device capabilities
US10303715B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for media exploration
US12254887B2 (en) 2025-08-05 2025-08-05 Apple Inc. Far-field extension of digital assistant services for providing a notification of an event to a user
US10311144B2 (en) 2025-08-05 2025-08-05 Apple Inc. Emoji word sense disambiguation
US10657328B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10348658B2 (en) * 2025-08-05 2025-08-05 Google Llc Suggested items for use with embedded applications in chat conversations
US11050694B2 (en) * 2025-08-05 2025-08-05 Google Llc Suggested items for use with embedded applications in chat conversations
US10404636B2 (en) 2025-08-05 2025-08-05 Google Llc Embedded programs and interfaces for chat conversations
US10880243B2 (en) 2025-08-05 2025-08-05 Google Llc Embedded programs and interfaces for chat conversations
US11451499B2 (en) 2025-08-05 2025-08-05 Google Llc Embedded programs and interfaces for chat conversations
US11146609B1 (en) 2025-08-05 2025-08-05 Grammarly, Inc. Sender-receiver interface for artificial intelligence communication assistance for augmenting communications
US11871148B1 (en) 2025-08-05 2025-08-05 Grammarly, Inc. Artificial intelligence communication assistance in audio-visual composition
US11463500B1 (en) 2025-08-05 2025-08-05 Grammarly, Inc. Artificial intelligence communication assistance for augmenting a transmitted communication
US11228731B1 (en) 2025-08-05 2025-08-05 Grammarly, Inc. Artificial intelligence communication assistance in audio-visual composition
US11321522B1 (en) 2025-08-05 2025-08-05 Grammarly, Inc. Artificial intelligence communication assistance for composition utilizing communication profiles
US11620566B1 (en) 2025-08-05 2025-08-05 Grammarly, Inc. Artificial intelligence communication assistance for improving the effectiveness of communications using reaction data
US10922483B1 (en) * 2025-08-05 2025-08-05 Grammarly, Inc. Artificial intelligence communication assistance for providing communication advice utilizing communication profiles
US11727205B1 (en) 2025-08-05 2025-08-05 Grammarly, Inc. Artificial intelligence communication assistance for providing communication advice utilizing communication profiles
US12166809B2 (en) 2025-08-05 2025-08-05 Grammarly, Inc. Artificial intelligence communication assistance
US10445429B2 (en) 2025-08-05 2025-08-05 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2025-08-05 2025-08-05 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-turn canned dialog
US11829404B2 (en) 2025-08-05 2025-08-05 Google Llc Functional image archiving
US10733982B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2025-08-05 2025-08-05 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2025-08-05 2025-08-05 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2025-08-05 2025-08-05 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2025-08-05 2025-08-05 Apple Inc. Natural assistant interaction
US11710482B2 (en) 2025-08-05 2025-08-05 Apple Inc. Natural assistant interaction
US12211502B2 (en) 2025-08-05 2025-08-05 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2025-08-05 2025-08-05 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2025-08-05 2025-08-05 Apple Inc. Raise to speak
US11907436B2 (en) 2025-08-05 2025-08-05 Apple Inc. Raise to speak
US11900923B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11487364B2 (en) 2025-08-05 2025-08-05 Apple Inc. Raise to speak
US11782575B2 (en) 2025-08-05 2025-08-05 Apple Inc. User interfaces for sharing contextually relevant media content
US11169616B2 (en) 2025-08-05 2025-08-05 Apple Inc. Raise to speak
US11145294B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11854539B2 (en) 2025-08-05 2025-08-05 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2025-08-05 2025-08-05 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US11630525B2 (en) 2025-08-05 2025-08-05 Apple Inc. Attention aware virtual assistant dismissal
US10403283B1 (en) 2025-08-05 2025-08-05 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11495218B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant operation in multi-device environments
US11009970B2 (en) 2025-08-05 2025-08-05 Apple Inc. Attention aware virtual assistant dismissal
US11360577B2 (en) 2025-08-05 2025-08-05 Apple Inc. Attention aware virtual assistant dismissal
US10720160B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10984798B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10684703B2 (en) 2025-08-05 2025-08-05 Apple Inc. Attention aware virtual assistant dismissal
US12080287B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2025-08-05 2025-08-05 Apple Inc. Text correction
US12067985B2 (en) 2025-08-05 2025-08-05 Apple Inc. Virtual assistant operations in multi-device environments
US10892996B2 (en) 2025-08-05 2025-08-05 Apple Inc. Variable latency device coordination
US12061752B2 (en) 2025-08-05 2025-08-05 Apple Inc. Attention aware virtual assistant dismissal
US11431642B2 (en) 2025-08-05 2025-08-05 Apple Inc. Variable latency device coordination
US10944859B2 (en) 2025-08-05 2025-08-05 Apple Inc. Accelerated task performance
US10496705B1 (en) 2025-08-05 2025-08-05 Apple Inc. Accelerated task performance
US10504518B1 (en) 2025-08-05 2025-08-05 Apple Inc. Accelerated task performance
US11010561B2 (en) 2025-08-05 2025-08-05 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2025-08-05 2025-08-05 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-modal inputs for voice commands
US11893992B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2025-08-05 2025-08-05 Apple Inc. Neural typographical error modeling via generative adversarial networks
US12367879B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2025-08-05 2025-08-05 Apple Inc. Low-latency multi-speaker speech recognition
US11520413B2 (en) * 2025-08-05 2025-08-05 Samsung Electronics Co., Ltd. Electronic apparatus, controlling method of electronic apparatus and computer readable medium
US11638059B2 (en) 2025-08-05 2025-08-05 Apple Inc. Content playback on multiple devices
US11783815B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multimodality in digital assistant systems
US11348573B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multimodality in digital assistant systems
US12136419B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multimodality in digital assistant systems
US11217251B2 (en) 2025-08-05 2025-08-05 Apple Inc. Spoken notifications
US11423908B2 (en) 2025-08-05 2025-08-05 Apple Inc. Interpreting spoken requests
US11705130B2 (en) 2025-08-05 2025-08-05 Apple Inc. Spoken notifications
US11675491B2 (en) 2025-08-05 2025-08-05 Apple Inc. User configurable task triggers
US11307752B2 (en) 2025-08-05 2025-08-05 Apple Inc. User configurable task triggers
US11475884B2 (en) 2025-08-05 2025-08-05 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US12216894B2 (en) 2025-08-05 2025-08-05 Apple Inc. User configurable task triggers
US12154571B2 (en) 2025-08-05 2025-08-05 Apple Inc. Spoken notifications
US11888791B2 (en) 2025-08-05 2025-08-05 Apple Inc. Providing message response suggestions
US11140099B2 (en) 2025-08-05 2025-08-05 Apple Inc. Providing message response suggestions
US11360739B2 (en) 2025-08-05 2025-08-05 Apple Inc. User activity shortcut suggestions
US11657813B2 (en) 2025-08-05 2025-08-05 Apple Inc. Voice identification in digital assistant systems
US11237797B2 (en) 2025-08-05 2025-08-05 Apple Inc. User activity shortcut suggestions
US11496600B2 (en) 2025-08-05 2025-08-05 Apple Inc. Remote execution of machine-learned models
US11289073B2 (en) 2025-08-05 2025-08-05 Apple Inc. Device text to speech
US11347943B2 (en) 2025-08-05 2025-08-05 Apple Inc. Mail application features
US11360641B2 (en) 2025-08-05 2025-08-05 Apple Inc. Increasing the relevance of new available information
US11790914B2 (en) 2025-08-05 2025-08-05 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11074408B2 (en) 2025-08-05 2025-08-05 Apple Inc. Mail application features
US11620046B2 (en) 2025-08-05 2025-08-05 Apple Inc. Keyboard management user interfaces
US11842044B2 (en) 2025-08-05 2025-08-05 Apple Inc. Keyboard management user interfaces
US11194467B2 (en) 2025-08-05 2025-08-05 Apple Inc. Keyboard management user interfaces
US11488406B2 (en) 2025-08-05 2025-08-05 Apple Inc. Text detection using global geometry estimators
US11924254B2 (en) 2025-08-05 2025-08-05 Apple Inc. Digital assistant hardware abstraction
US11765209B2 (en) 2025-08-05 2025-08-05 Apple Inc. Digital assistant hardware abstraction
US11914848B2 (en) 2025-08-05 2025-08-05 Apple Inc. Providing relevant data items based on context
US12301635B2 (en) 2025-08-05 2025-08-05 Apple Inc. Digital assistant hardware abstraction
US12197712B2 (en) 2025-08-05 2025-08-05 Apple Inc. Providing relevant data items based on context
US11838734B2 (en) 2025-08-05 2025-08-05 Apple Inc. Multi-device audio adjustment coordination
US11696060B2 (en) 2025-08-05 2025-08-05 Apple Inc. User identification using headphones
US11750962B2 (en) 2025-08-05 2025-08-05 Apple Inc. User identification using headphones
US12219314B2 (en) 2025-08-05 2025-08-05 Apple Inc. User identification using headphones
US12260638B1 (en) * 2025-08-05 2025-08-05 Squirrel Ai Learning Inc. Adaptive learning systems utilizing machine learning techniques
US20230353406A1 (en) * 2025-08-05 2025-08-05 Zoom Video Communications, Inc. Context-biasing for speech recognition in virtual conferences
US12235889B2 (en) 2025-08-05 2025-08-05 Google Llc Device messages provided in displayed image compilations based on user content

Also Published As

Publication number Publication date
US20180167344A1 (en) 2025-08-05
US20190199664A1 (en) 2025-08-05
US11991128B2 (en) 2025-08-05
US20240291783A1 (en) 2025-08-05
US10659406B2 (en) 2025-08-05
US20200244607A1 (en) 2025-08-05
US9923849B2 (en) 2025-08-05
US10257137B2 (en) 2025-08-05

Similar Documents

Publication Publication Date Title
US20240291783A1 (en) System and method for suggesting a phrase based on a context
US12307387B2 (en) Automatic actions based on contextual replies
US11120372B2 (en) Performing actions associated with task items that represent tasks to perform
CN107391522B (en) Incorporating selectable application links into message exchange topics
AU2011253646B2 (en) Determining message prominence
US10241644B2 (en) Actionable reminder entries
US9178933B1 (en) Content recommendation based on context
CN107395485B (en) Incorporating selectable application links into a session with a personal assistant module
US20150271638A1 (en) Power efficient location tracking
CN109416691B (en) Message grouping and correlation
US20160210280A1 (en) Creating Customized User Dictionary
KR20140039021A (en) Weaver Feed
WO2018226348A1 (en) Natural language event
US20150039582A1 (en) Providing information in association with a search field
US20190265851A1 (en) Platform for third-party supplied calls-to-action
GB2558720A (en) User state prediction for presenting information

Legal Events

Date Code Title Description
AS Assignment

Owner name: EBAY INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GOVANDE, SHAILESH DINKAR;TIPNIS, MADHURA P.;SIGNING DATES FROM 20130502 TO 20130507;REEL/FRAME:030385/0358

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20220320

病毒性感冒吃什么药效果好 武装部部长是什么级别 心眼多是什么意思 公积金基数是什么意思 上海什么时候解放的
小姨是什么 对唔嗨住什么意思 打生长激素有什么危害和副作用 孕妇血糖高吃什么 酮体是什么意思
无花果吃了有什么好处 什么人不适合戴翡翠 国师是什么意思 汗疱疹擦什么药 云南雪燕有什么作用
阴虚火旺吃什么中成药 腿抽筋吃什么药 不可抗力是什么意思 女人脚浮肿是什么原因 田野里有什么
耿直什么意思hcv8jop5ns3r.cn 银耳有什么功效hcv8jop1ns9r.cn 压片糖果是什么意思hcv8jop7ns4r.cn 外公的妹妹叫什么hcv8jop5ns4r.cn 女人在什么时候最容易怀孕hcv7jop5ns0r.cn
产后大出血一般发生在什么时候hcv7jop7ns0r.cn 邪气入体是什么症状chuanglingweilai.com graff是什么牌子hcv7jop9ns4r.cn 测子女缘什么时候到来bysq.com 寅木代表什么beikeqingting.com
三国之前是什么朝代hcv7jop9ns0r.cn 阴道炎什么症状cl108k.com 辩证法是什么hcv9jop3ns7r.cn 什么叫韵母hcv8jop6ns1r.cn 猪猪侠叫什么hcv7jop6ns9r.cn
圣女果是什么水果hcv8jop0ns2r.cn 凉粉是用什么做的qingzhougame.com 吸烟有害健康为什么国家还生产烟hcv8jop0ns5r.cn 不干胶是什么hcv8jop8ns1r.cn 人缺钾有什么症状hcv9jop1ns2r.cn
百度