将电子内容自动分类到项目中
背景
在任意数目的商业、社会或学院企业内,给定的一个人可以是几个项目组的成员。在这种情况下,对于个人来说要跟踪他们的电子内容(例如电子邮件通信、电子任务、电子会议注释、日历项、即时消息收发通信线程等)中的哪些属于不同的项目组中的每个可能变得很困难。例如,商业企业的一个给定雇员可以属于与第一软件产品线的软件开发相关联的第一项目组,而这个人也可以属于与第二产品线的软件开发相关联的第二项目组。这种情况在当内容的容量很高时尤为成问题,例如这种情况可能存在于文件的大型数据库或忙碌的电子邮件或即时消息收发收件箱。在任意给定的日期,这个人可以接收到与不同的项目组的每个相关联的数十或者甚至数百个电子邮件消息、文档、即时消息收发通信线程、任务、会议通知等等。在这些情况下,用户可以变得灰心丧气,并且可能简单地放弃了尝试将内容与不同的项目组相关联地组织。
本发明正是对于这些和其他考虑事项而做出的。
概述
本发明的实施例通过将内容自动分类为与给定电子工作空间相关联来解决了上述和其它问题。新的电子邮件项、文档、会议请求、任务、日历项等等被自动分类到项目空间。这样,不需要用户参与到标识、收集内容以及将这样的内容与给定项目工作空间相关联的费时任务。另外,可以向用户提供关于内容项到期望的工作空间的自动分配的质量的反馈以编辑与期望的工作空间相关联的内容并改进所述自动分类过程。
一个或多个实施例的细节在附图和以下描述中阐明。通过阅读下面的具体实施例并参考相关联的附图,其他特征和优点将变得显而易见。要理解的是下面的具体实施例仅仅是说明性的,而不是对所要求保护的发明的限制。
提供本概述以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
纳入到本发明中并构成其一部分的附图示出本发明的各实施例。在附图中:
图1示出了展示内容分类通知的软件应用用户界面的屏幕截图。
图2是示出通过项目分类系统在许多电子内容储存库和一个或多个电子项目工作空间之间的关联的简化框图。
图3示出了与将电子内容自动分类到一个或多个电子项目工作空间中相关联的系统体系结构和过程流。
图4示出与利用电子内容分类相关联的系统体系结构和过程流。
图5是包括可用来实施本发明的各实施例的计算设备的系统的框图。
详细描述
如上简要描述地,本发明的实施例针对将文档自动分类到一个或多个项目工作空间。分析新创建的内容,例如,文档、电子邮件消息、文本消息、会议请求、任务等等,并将建议的项目分类提供给与新内容相关联的用户。用户被允许通过用户界面组件来接受或拒绝项目分类或提议不同的项目分类。基于用户的反馈,分类系统进行学习,并且分类过程被改进。
下面的描述涉及附图。只要可能,就在附图和以下描述中使用相同的附图标记来指示相同或类似的元素。尽管描述了本发明的各实施例,但是,修改、改编、以及其他实现也是可能的。例如,可以对附图中所示出的元件进行置换、添加、或修改,且可以通过对所公开的方法置换、重新排序、或添加阶段来修改这里所描述的方法。因此,下面的详细描述并不限制本发明。相反,本发明的正确范围由所附权利要求书进行定义。
现在参考附图,其中在若干附图中相似的附图标记表示相似的元素,将描述本发明的各方面和示例性操作环境。尽管将在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述本发明,但本领域的技术人员可以认识到,本发明也可结合其他程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。而且,本领域的技术人员可以理解,本发明可用其他计算机系统配置来实现,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等。本发明也可在其中由通过通信网络链接的远程处理设备执行任务的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
图1示出了展示内容分类通知的软件应用用户界面的屏幕截图。如上简述地,当生成并存储诸如电子邮件项、文档、文本消息项、会议请求、任务项等等新内容时,本发明的自动内容分类系统利用关于新生成并存储的内容的信息以及关于各种项目工作空间和分类到其中的内容的信息来建议新生成并存储的内容到新的或现有的项目工作空间的分类。例如,如果用户为他/她的雇主生成了包含与销售运作相关联的第三季度的销售额的电子表格文档,当用户保存新生成的电子表格时,关于电子表格文档的信息可以被用于与在已经被分类为属于一个或多个其它项目工作空间的其它内容中所包含的信息进行比较。一旦已经为新生成并存储的内容做出了提议分类,可以将可视用户界面组件呈现给用户以通知该用户新生成并存储的内容已经被推荐为分类到特定的项目工作空间或新生成的内容被推荐为分类到新的项目工作空间。
参见图1,用户界面组件100说明其中可以做出内容分类通知的任意用户界面组件。例如,用户界面组件100可以说明电子邮件用户界面、任务应用用户界面、文本消息收发应用用户界面、基于因特网的讨论论坛用户界面等等。就是说,用户界面组件100说明在其中可以做出内容项到给定项目工作空间的推荐分类的通知并且可以通过其来接收用户输入的任意用户界面组件。
用户界面组件100包括“项目分类通知”的示例头部105,以向用户指示刚刚生成并存储的内容项已经被分类为下面的用户界面呈现。应该明白,内容的分类可以在特定内容项的生命周期中的各种时刻发生。例如,当用户生成并保存内容项时可以发生分类和后续的给用户的分类通知,或者,当修订并保存了内容项或当用户接收了诸如会议请求、电子邮件项、文本消息项等等之类的新的内容项时可以发生所述分类和通知。
还是参照图1,将主题内容的分类的声明110提供给用户。例如,如图1所示,可以在文本框或者字段115之上提供诸如“这个文档/电子邮件/内容正被分类到下述工作空间:”的声明,在所述文本框或字段中可以显示所述内容被分类到的特定项目工作空间的指示。例如,在如图1所示的文本框或字段115中,显示了“项目AB-用户组Alpha”的项目指示以向用户指示主题内容正被分类到的项目工作空间。应该理解,将内容分类到特定项目工作空间可以意味着该内容通过路径被链接到该项目工作空间,可以意味着通过将元数据应用于与主题工作空间相关联的经分类的内容来将该内容与该项目工作空间相关联,或者可以意味着该内容与被分类到相同项目工作空间下的其它内容一起被实际存储到一个存储器位置中。类似地,如果正被推荐给用户的项目工作空间是新的项目工作空间,那么,所述主题内容可以是被分类到该新的工作空间下的第一内容。
还是参照图1,在通过文本框或字段115将提议的项目工作空间分类推荐给用户之后,用户可以通过选择“是”按键125来接受推荐的分类,可以通过选择“否”按键130来拒绝分类,或者,用户可以在文本框或字段120中输入提议的新的分类,随后选择“接受新的分类”按键135。如果用户接受分类,那么,主题内容将如自动内容分类系统所推荐地被分类。如果用户拒绝提议的分类,那么,可以在没有被分类到任何特定项目工作空间的情况下如用户所选择地存储主题内容,或者替换地,自动内容分类系统可以基于附加内容的生成和存储在随后的时间分析该内容,并建议替换的分类。如果用户输入提议的替换分类,例如,用户输入与不同的项目工作空间相关联的分类,则将根据用户所输入的项目工作空间来分类该主题内容,并且,自动分类系统可以从用户的反馈中进行学习以增强将来的分类,如下所述。
应该明白,图1示出的用户界面组件以及文本框、字段、头部、可选择的按键以及控件的位置都是仅出于说明的目的,并不是对可构建以生成可接受的用户界面组件100的功能性按键和控件以及文本字段的大量的定向和显示的限制,所述可接受的用户界面组件100用于接收关于内容分类的用户反馈,包括接收对初始内容分类建议的用户接受、拒绝、修改或替换,如在此所述。
参照图2,示出从各种类型的内容到自动内容分类系统再到内容可以被分类在其中的项目之间的关系。电子邮件项储存库200说明可以被分类到给定项目的一个或多个电子邮件项,如在此所述。根据实施例,可以在用户尝试发送电子邮件项或当用户接收并打开电子邮件项时分类电子邮件项。就是说,可以在当用户发送或接收电子邮件项时启动如上所述的用户界面组件100以允许根据特定项目来分类电子邮件项。
任务储存库205可以包括由用户生成并存储的任务或由来自其它用户的由该用户所接收并随后存储在该用户的任务数据库中的任务。当由该用户存储任务项时,该任务项可以通过用户界面组件100被分类到给定项目工作空间,如上所述。日历项和会议请求储存库210说明日历项、接收的和发送的会议请求项等等,并且可以在生成、发送、接收或接受这样的日历项时根据给定的项目工作空间为日历项推荐一分类。
文档储存库215和杂项内容储存库220说明可由用户生成并存储,或接收并存储的任意内容,所述内容可以通过用户反馈被分类到给定项目中,如在此所述。自动内容分类系统300能操作用于将从各种源200-220接收到的内容进行分类,并用于推荐并使得各种内容项分类到一个或多个项目工作空间230、235、240、245。
图3示出了与将电子内容自动分类到一个或多个电子项目工作空间中相关联的系统体系结构和过程流。根据实施例,自动内容分类系统300能操作用于通过用户反馈提议并使得一个或多个内容项分类到一个或多个规定的项目工作空间,如上面参考图2所述的那样。例如,如果用户与4个不同的项目组相关联,每个项目组具有专用的项目工作空间,则每次当用户生成并存储内容项、接收或发送内容项等等时,自动内容分类系统300可以提议到该内容项到用户的4个不同的示例项目工作空间之一的分类。或者,如果用户不与任何项目工作空间相关联,自动分类系统300仍然可以提议新的、发送的或接收的内容项到现有的项目工作空间的分类。例如,如果用户是组织的新雇员,可以根据与他/她的新雇主相关联的现有的项目工作空间来分类他/她的新的内容项。另外,如果用户生成、发送、接收或以其它方式处理没有与项目工作空间相关的内容项,自动分类系统300可以从主题内容项中提取的术语或特征中提议一个新的项目工作空间,并且随后由该用户生成或由其它用户生成的将来的内容项可以被分类为包括在该新的项目工作空间中。
还是参考图3,根据实施例,自动内容分类系统300根据三个主要的操作组件运作。第一组件包括一个或多个项目数据存储,例如,上文参考图2所说明的项目数据存储230、235、240和245。项目数据存储包含了给定项目团队的所有的共享的资源,包括文档、会议信息、任务信息、日历信息、电子邮件项、文本消息收发项等等。给定项目团队的项目数据存储可以通过提供将从新的内容项提取的特征与之进行比较以确定哪个项目工作空间被推荐包括新的内容项的信息来用作自动内容分类系统300的训练数据源。就是说,在任意给定组织中,可以存在与不同的项目工作空间相关联的许多项目数据存储,并且自动内容分类系统300能操作用于在用户反馈之后推荐并使得给定内容项包括到多个项目数据存储之一中。应该明白,内容项可以被包括到与超过一个的项目工作空间相关联的超过一个的项目数据存储中。
自动内容分类系统300的第二主要组件是将内容项分类到给定项目工作空间的组件,如下参考图3所述。自动内容分类系统的第三主要组件包括一种反馈机制,如上参照图1所述,藉由该反馈机制用户被允许有机会接受、拒绝或修改为给定内容项所推荐的分类,以改进内容项到各个工作空间的最终分类。
还是参考图3,进一步示出和描述了自动内容分类系统300的组件。当内容项302被接收以供分类到给定工作空间时,该内容项内包含的和/或与该内容项相关联的文本、数据以及元数据被处理以由自动内容分类系统300来使用。接收到的内容和元数据被分析并在必要时格式化以供下述文本处理。根据各实施例,内容项处理可由用于解析所接收的内容项所包含的内容和相关联的元数据的文本解析器执行以将文本处理成一个或多个文本分量(例如,句子和构成该一个或多个句子的词语)。例如,如果内容项和相关联的元数据根据结构化数据语言(例如,可扩展标记语言(XML))来格式化,则如在此所述的,内容准备可以包括根据相关联的结构化数据语言来解析检索到的内容项和相关联的元数据以处理该文本。作为另一示例,内容项和相关联的元数据可从在线源检索,如基于因特网的聊天论坛,在那里检索到的文本可根据诸如超文本标记语言(HTML)等格式而被格式化。根据实施例,内容准备可以包括格式化从这样的源接收到的内容项和相关联的元数据,以便可以对其进行处理以进行在此所述的内容分类。
可以接着处理内容项所包括的文本和相关联的元数据以用于将内容分类到给定的工作空间。可以采用文本处理应用,藉由该文本处理应用将文本分解成一个或多个文本分量以用于确定接收到的/检索到的文本是否可包含可被用于与其它分类的内容作比较的词语。将文本分解成一个或多个文本分量可包括将该文本分解成各单独的句子,然后将这些单独的句子分解成各单独的令牌,例如单词、数字串等。
这样的文本处理是本领域技术人员公知的,并且可包括根据已知参数将各文本部分分解成各单独的句子和单独的令牌。例如,文本部分中包含的标点符号和大写字母可被用于确定句子的开头和结尾。文本的各部分之间包含的空格可被用于确定各单独的句子中包含的各单独令牌(例如各单独的单词)之间的中断。根据一个实施例,可以以避免辞典的大小增长得过于庞大的方式来令牌化内容。例如,如果一种语言允许通过由连字号组合两个名词来形成复合词,在连字号之前或之后分解复合词以使其变成三个令牌可以避免将所有可能的复合词都加入到词典的需求,该需求会使得词典增长到足够大从而引起处理性能问题。就是说,如果类似“前-轮”的复合词被分解为三个令牌:“前”、“-”、“轮”,则所述词典仅需要存储这三个令牌,而不是这三个令牌加上复合词“前-轮”。这样,词典可以覆盖尽可能多的单词,并且处理性能由于较少的未知单词的原因而得到改善。
另外,已知模式之后的字母数字串,例如与邮政编码相关联的五个数字,可被用于标识文本的各部分。另外,最初标识的一个或多个句子或句子令牌可被传递给一个或多个识别器程序以对照已知句子或令牌的数据库来比较最初标识的句子或令牌,以进一步确定各单独的句子或令牌。例如,给定句子中包含的单词可被传递给数据库以确定该单词是否是人名、城市名、公司名,或特定令牌是否是已识别的首字母缩写、商标名等等。如应明白的,可以采用各种手段来对照已知的单词或其他字母数字串来比较句子或句子令牌以进一步标识这些文本项。
还是参考图3,在内容项已经如上所述被接收并被处理以用于分类之后,可以根据规则分类系统、项目元数据分类系统和关键字以及短语分类系统或其组合来分类该内容项以包括到给定的项目工作空间中。根据一个实施例,在组件/操作302处接收内容项之后,内容项可以通过操作303处的语言自动检测(LAD)应用。在操作303处,在处理内容项以用于分类之前,考虑该内容项的语言。根据一个实施例,因为分类规则如下所述对于不同的语言可以是不同的,并且因而,如果知道规则将应用到的语言则所述规则将执行地更好,因此可以考虑内容的语言。另外,任意文本处理(例如将内容分解为各个令牌、句子和/或单词)可以是语言专用的。例如,某种语言环境可以包含多种语言文本是可能的。例如,来自加拿大的用户的输入文本可以包含英语和法语。可以根据在处理之前用于确定内容项的语言的任意合适的手段来执行LAD应用的操作。例如,可以分析与内容项相关联的元数据以确定在创建时内容项的键盘设置,可以对照与各种语言相关联的单词的数据库来比较内容项的片段,等等。
根据另一个实施例,可以将所接收的内容项直接传递到规则组件/操作304或统计分类模型311,如下所述,而不需要让内容项首先通过操作303处的LAD。应该明白,可以通过其它手段来获得给定内容项的语言标识,例如作为与内容项相关联的元数据项,这样,LAD对于确定与内容项相关联的一个或多个语言来说并不是必需的。
随后,将内容项传递给规则组件/操作304。规则组件/操作304是由规则数据库306、规则解析器308和基于规则的分类应用310构成的。规则数据库是可以用于基于一个或多个特定准则分类给定内容项的规则储存库。例如,如果内容项的标题包含了与给定项目名字相同的名字,那么规则数据库306中的给定规则可以包括为内容项自动推荐承载了相同名字的项目。第二示例规则可以包括,当特定用户仅与一个特定工作空间(不与其它工作空间相关联)相关联时,将该特定用户所生成的内容项推荐到这个特定项目工作空间。第三示例规则可以包括基于与内容项相关联的定时的规则。例如,如果在一个周期的某个日期生成的所有内容项(例如在财政季度的最后一天)应该与给定的项目工作空间(例如季度末数据)相关联,则在该特定日期生成的所有内容项可以被自动地与该项目工作空间相关联。
规则解析器308是一种能操作用于对规则数据库306所包含的规则进行解析以用于将这些规则与通过如上所述的文本处理和内容分析从内容项中提取出的词语进行比较的应用。基于规则的分类应用310是一种能操作用于将前述规则应用于经处理的与内容项相关联的文本和元数据以确定规则是否满足要求将内容项包括在给定的项目工作空间的所推荐的分类。
根据一个实施例,除了使用如上所述的基于规则的分类系统之外,还可以使用将内容项的部分标识为属于给定的分类的统计词语分类模型311。例如,在基于文本的内容项的分量可以基于位置以及与该文本分量的其它分量的上下文关联来表征的情况下,可以使用被称为词性标签或语法标签的统计模型。这样,例如,根据词性标签(POS),通常用作名词的单词可以由于其在已知的名词之间的位置并由于该单词的上下文来被分类成动词。这种POS系统可以被用作上述基于规则的系统的替代品,或者两个系统可以被组合以增强分类效率。如图3所示,来自统计模型311的输出可以被传递到组件304、312和318以供如在此所述地进一步处理,或者,来自统计模型311的输出可以直接如下所述地去往训练集数据组件328,或输出可以按照不同水平的分类确定所期望地来传递通过这些组件的组合。就是说,如果通过经由单个分类分析(例如统计分类模型)的分析就可以充分地分类给定的内容项,那么可以使用来自该分析的输出。另一方面,可以通过使用在此所述的分析手段的全部或其组合来执行更加严格的分析。
现在参考项目元数据组件/操作312,与内容项相关联的元数据(例如内容标题、内容作者、内容位置、内容生成和存储的日期/时间、内容项传送或接收的日期/时间)、将内容项与其它内容项相关联的元数据、将内容项与其它项目工作空间相关联的元数据等等可以用来推荐将给定的内容项分类到给定项目工作空间中。项目关键字组件314和项目联系组件316可以被用于将从内容项提取的元数据、关键字、词语、特征等等相关联,并用于通过联系信息或与一个或多个项目工作空间所关联的其它标识信息将这些项相关联或进行比较以推荐将给定的内容项分类到特定项目工作空间。例如,如果内容项包括载有发送者名字、一个或多个接收者名字、标题等等的电子邮件项(这些信息可以和与先前被分类到特定工作空间的其它电子邮件项相关联的类似元数据相匹配),则该信息可以被自动内容分类器系统300用于推荐将示例的电子邮件项包括到特定的项目工作空间。
在多个项目数据组件/操作318处,可以通过用于提议或推荐给定的内容项到特定项目工作空间的分类的自动内容分类系统300来使用从内容项中提取的内容和元数据。根据实施例,多个项目数据组件/操作318说明到与先前被分类到一个或多个其它项目工作空间(例如如图2所示的项目工作空间230、235、240、245)的内容项相关联的项目数据/元数据320、324和训练数据322、326的接入点。就是说,在组件/操作318中示出的项目数据/元数据和训练数据说明与各种先前内容项到一个或多个其它工作空间的分类相关联的项目数据/元数据和信息。
例如,先前被分配到给定项目工作空间的文档将具有包括该文档的各种数据,包括文本、图像、数字数据等等,当该文档先前被分类到给定工作空间时,这些数据被处理以进行分析和分类。另外,在分类过程期间,可能已经生成了与该文档的分类相关联的训练数据。例如,如果该文档的第一提议的分类被呈现给用户,但该用户通过用户界面100拒绝了所提议的分类并提议了替换的分类,如上文图1所示,则自动分类系统300将具有存储的指示与该内容项相关联的数据和元数据更加适于与由该用户所提议的分类相关联的信息。随后,该所得的训练数据随后可以与其他项目数据和元数据相关联地由自动分类系统300使用来通过将与新的内容项相关联的数据和与在其它项目工作空间中存储的内容项相关联的项目数据和训练数据相比较来后续分类新内容项。
训练集数据组件/操作328说明为自动分类系统300训练与当前正被分析和分类的内容项相关联的数据。就是说,来自例如规则组件304、POS标签系统、项目元数据组件312、多个项目数据318或其组合的一个或多个分析/组件的信息可以被组装以用于使得系统300将当前内容项与给定项目工作空间相关联。就是说,这些系统的每个可以被单独用于分类内容片断,或者这些系统的每个的组合可以被用于优化分类过程,如在此所述。例如,如果来自特定发送者的每十封电子邮件里有八封电子邮件最终被分类到特定的项目工作空间中,那么如果当前的内容项是来自同一发送者的电子邮件,则可以与帮助分类的其它数据一起使用该电子邮件可能被分类到该相同的项目工作空间的80%的几率。
在为当前内容项生成了训练集数据之后,系统前进到分类组件/操作329。内容类型特征构造器组件330被用于根据特定内容类型(例如字处理文档、电子表格文档、电子邮件项、文本消息项、会议通知、任务项等等)初始分类关于该内容的信息。特征向量组件332被用于组织从内容项中提取的信息以用于对照包含在先前被分类到一个或多个其它项目工作空间中的其它内容项中的类似信息来比较该信息。例如,如果内容类型与电子邮件项相关联,那么,与该电子邮件项相关联的特征向量可以包括发送方、接收方、主题行、诸如电子邮件对文本消息收发之类的传输类型等等。
在为从当前内容项中提取或与当前内容项相关联地获得的信息开发了特征向量之后,相似性比较和计算组件/操作334将为内容项组装的信息与包含在先前被分类到一个或多个其它项目工作空间中的内容项中的或与其相关联的类似信息进行比较。一旦发现当前内容项类似于先前被分类到一个或多个其它项目工作空间中的内容项,则将该一个或多个其它项目工作空间作为建议的项目336向用户提议。
如上所述,可以通过如上文参考图1所示并所述的用户界面组件100来向用户提议所建议的项目336。如上所述,一旦通过用户界面100将建议的项目分类呈现给用户,来自用户的反馈可以被系统300用于完成所述当前内容项的分类或者用于用由用户所提供的分类来替换所建议的分类。另外,来自用户的反馈可以被用于更新系统300的训练信息。例如,如果用户接受了提议的内容分类,则用户的接受可以由系统300用于验证其方法和关于当前内容项和将来类似的内容项的特征向量构造。
如果用户拒绝了提议的分类,那么,系统300可以利用该拒绝来使得系统300再次分析该信息并提议不同的分类,例如排名略低于第一提议的分类的第二分类。如果用户为内容项提议了新的项目工作空间分类,那么系统可以对与用户所提议的项目工作空间相关联的内容项中所包含的信息进行解析以与从当前内容项提取的和与当前内容项相关联地获得的数据进行比较,来增强其对将来的类似的内容项做出项目工作空间建议的能力。
还是参考图3,当接收到新内容项时,在通过规则组件/操作304、项目元数据组件/操作312和/或多个项目数据组件/操作318来处理该内容项之前,可以将所述内容项直接传递到分类组件/操作329以确定该内容项是否与先前分类到给定的项目工作空间中的内容项如此相似,而不需要附加的分析。例如,作为对已经被分类到特定项目工作空间下的先前电子邮件项的简单回复的电子邮件项可以被直接传递到分类组件329以进行相似性分析以及项目分类推荐。就是说,如果包括示例电子邮件内容项的信息,例如发送者名字、接收者名字、传输的日期/时间、主题行等等指示新内容项与已经被分类到给定项目工作空间下的先前的内容项如此相似,则示例的电子邮件内容项可以被提议分类到该项目工作空间。
图4示出用于在如上所述地生成内容分类之后将内容分类提供给各种客户机设备的系统体系结构。如前所述,可以将自动内容分类系统300用于将通过各种各样的通信信道和存储接收的内容项分类到一个或多个项目工作空间。对将内容项分类到一个或多个项目工作空间有用的信息和特征也可以被存储在不同的通信信道或其它存储类型中。例如,可使用目录服务422、web门户424、邮箱服务426、即时消息通信存储428以及社交联网站点430来存储所接收的内容项和相关联的元数据或特征信息。内容分类系统300可以使用这些类型的系统的任意系统等来将内容项分类和相关联的元数据存储在分类存储416中。服务器412可以向各种客户机提供内容项分类。作为一个示例,服务器412可以是通过web提供内容分类的web服务器。服务器412可通过网络407向客户机提供web上的在线内容分类。可获取内容分类的客户机的示例包括计算设备401(该计算设备401可包括任何通用个人计算机)、平板计算设备403和/或可包括智能电话的移动计算设备405。这些设备中的任一个可从内容分类存储416获得内容分类。
如上所述,发明的各实施例可通过本地和远程计算和数据存储系统来实现,包括参考图1-4所示和所述的系统。符合本发明的各实施例,上述存储器存储和处理单元可在诸如图5的计算设备500之类的计算设备中实现。根据各实施例,计算设备可以是个人计算机、服务器计算机、手持式计算机、智能电话、平板或输入板设备、或能够包含并操作本文描述的计算组件和功能的任何其他设备的形式。另外,下文描述的各计算设备组件可作为印刷在可编程芯片上的计算系统来操作。可以使用硬件、软件或固件的任何适当的组合来实现该存储器存储和处理单元。例如,存储器存储和处理单元可用计算设备500或任何其他计算设备518结合计算设备500来实现,其中在分布式计算环境(如内联网或因特网)中可通过网络将功能集合在一起,以执行如本文所述的功能。根据本发明的各实施方式,上述系统、设备和处理器是示例,而其他系统、设备和处理器可以包括上述存储器存储和处理单元。
参考图5,符合本发明的各实施例的系统可包括诸如计算设备500等计算设备。在一基本配置中,计算设备500可以包括至少一个处理单元502和系统存储器504。取决于计算设备的配置和类型,系统存储器504可以包括,但不限于,易失性存储器(例如,随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存或任何组合。系统存储器504可包括操作系统505、一个或多个编程模块506,并可包括具有足够的计算机可执行指令的项目内容分类系统300,该指令在被执行时执行本文所描述的功能。例如,操作系统505可适用于控制计算设备500的操作。此外,本发明的各实施例可以结合图形库、其他操作系统、或任何其他应用程序来实践,且不限于任何特定应用程序或系统。该基本配置在图5中由虚线508内的那些组件示出。
计算设备500可以具有附加特征或功能。例如,计算设备500还可包括附加数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。这些附加存储在图5中由可移动存储509和不可移动存储510示出。计算设备500还可包含可允许设备500诸如通过例如内联网或因特网等分布式计算环境中的网络来与其他计算设备518进行通信的通信连接516。通信连接516是通信介质的一个示例。
如上所述,多个程序模块和数据文件可被存储在包括操作系统505在内的系统存储器504中。当在处理单元502上执行时,编程模块506可包括自动内容分类系统300,自动内容分类系统300可以是包含充足的计算机可执行指令的程序模块,该指令在被执行时执行本文所描述的功能。前述过程是示例,且处理单元502可执行其他过程。根据本发明的各实施方式可以使用的其他编程模块可以包括电子邮件和联系人应用、文字处理应用、电子数据表应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。
一般而言,根据本发明的各实施方式,程序模块可以包括可以执行特定任务或可以实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本发明的各实施方式可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、小型机、大型计算机等。本发明的各实施方式也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
此外,本发明的各实施例可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。本发明的各实施例还可以使用能够执行诸如,例如,AND(与)、OR(或)和NOT(非)等逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实施例可以在通用计算机或任何其他电路或系统中实现。
例如,本发明的各实施方式可被实现为计算机进程(方法)、计算系统或诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。因此,本发明能以硬件和/或软件(包括固件、常驻软件、微码等)来具体化。换言之,本发明的各实施方式可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
如这里所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器504、可移动存储509和不可移动存储510都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于存储信息且可以由计算设备500访问的任何其他介质。任何这样的计算机存储介质都可以是设备500的一部分。计算设备500还可以具有输入设备512,如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括诸如显示器、扬声器、打印机等输出设备514。上述设备是示例且可以使用其他设备。
如这里所使用的术语计算机可读介质还包括通信介质。通信介质由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
以上参考例如根据本发明的各实施例的方法、系统和计算机程序产品的框图和/或操作图示描述了本发明的各实施例。框中所注明的各功能/动作可以按不同于任何流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。
尽管已经描述了本发明的某些实施方式,但也可能存在其他实施方式。此外,虽然本发明的各实施方式被描述为与存储在存储器和其他存储介质中的数据相关联,但数据还可以被存储在或读取自其他类型的计算机可读介质,如辅助存储设备,像硬盘、软盘、或CD-ROM;来自因特网的载波;或其他形式的RAM或ROM。此外,所公开的方法的各步骤可以任何方式修改,包括通过对各步骤重新排序和/或插入或删除步骤,而不背离本发明。
包括此处所包括的代码中的版权在内的所有权利都归属于申请人并且是本申请人的财产。申请人保持并保留此处所包括的代码中的所有权利,并授予仅关于所授权的专利的再现且未出于其他目的再现该材料的许可。
尽管本说明书包括示例,但本发明的范围由所附权利要求书来指示。此外,虽然用对结构特征和/或方法动作专用的语言描述了本说明书,但权利要求书并不限于上文所描述的特征或动作。相反,上述具体特征和动作是作为本发明的各实施方式的示例来公开的。