CN101283350A - 用于为自由文本消息提供结构化数据的方法和装置 - Google Patents

用于为自由文本消息提供结构化数据的方法和装置 Download PDF

Info

Publication number
CN101283350A
CN101283350A CNA2006800340666A CN200680034066A CN101283350A CN 101283350 A CN101283350 A CN 101283350A CN A2006800340666 A CNA2006800340666 A CN A2006800340666A CN 200680034066 A CN200680034066 A CN 200680034066A CN 101283350 A CN101283350 A CN 101283350A
Authority
CN
China
Prior art keywords
data
text
message
user
structural data
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.)
Pending
Application number
CNA2006800340666A
Other languages
English (en)
Inventor
阿隆·R·J·诺维
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.)
Think Software Pty Ltd
Original Assignee
Think Software Pty Ltd
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 Think Software Pty Ltd filed Critical Think Software Pty Ltd
Publication of CN101283350A publication Critical patent/CN101283350A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

这里提供了用于根据被编写消息提供结构化数据的方法。这里还提供了例如承载计算机可读指令的载体形式的软件产品以及利用这些方法和软件产品的系统,所述计算机可读指令在被处理系统的处理器执行时,执行用于编写消息的方法。这些方法尤其可适用于涉及人为参与的任务的计划、执行、控制、评估和报告的被编写的消息,以使得用户可以按现有技术的方法中常用的方式来执行编写,所述方式包括文字处理、电子邮件以及其它自由文本编写软件系统。根据编写过程提供结构化数据,并且在一些实现方式中,该数据被提供给活动管理系统以更新该系统所维护的记录。

Description

用于为自由文本消息提供结构化数据的方法和装置
相关专利申请
本发明要求2005年7月15日提交的发明人为Novy、题为“METHOD AND APPARATUS FOR AUTHORING DOCUMENTS”并且代理案号为No.THINK102P的美国临时专利申请No.60/700,041的优先权并且是该在先专利申请的改形。美国临时专利申请No.60/700,041的内容通过引用结合于此。
背景技术
本发明涉及电子消息创建方法,并且更具体地涉及用于在创建消息期间根据电子自由文本消息提供结构化数据的计算机实现的方法,该结构化数据表示消息所意模式达的意思(“语义内容”),该结构化数据被表示在数据结构(例如,数据库)中。
已经知道有各种形式的活动管理系统。利用活动管理系统意味着利用基于计算机的系统来通过提供与活动、风险和/或问题相关的信息来管理这些活动、风险和/或问题并且处理该信息。这种基于计算机的活动管理系统的示例包括基于计算机的工程管理系统、操作风险和问题管理系统、故障/缺陷跟踪系统、资源调度系统、提供对当前活动的总结和概览的管理控制板(dashboard)、管理和执行报告系统、活动/风险/问题/变化请求管理系统、诸如标准和规则遵从系统的遵从系统和知识管理系统。
活动管理系统通常提供用于辅助在人为参与的任务的计划、执行、控制、估计和报告中所涉及的活动和过程的电子基础设施。这些任务包括非重复性的任务(例如单个工程)以及重复性的和/或正在进行的任务(例如通常的商业活动)。
一般来说,活动管理系统例如在工程管理等情况下被提供数据,这些数据指示诸如最终期限、时间表、任务和任务分配、资源和资源分配、风险、工作流等之类的工程要素。这些要素在被应用于活动管理系统时的通用术语为“活动要素”。继续描述该工程管理的示例,工程管理系统还提供一个界面,人们能够通过这个界面随着事情的进展来浏览和评估实体、工程或活动的多个方面。在一个工程管理示例中,工程管理者使用工程管理系统来跟踪特定工程的进展,包括执行对未完成的任务、负责这些任务的人以及所暗含的任务完成时间的评估。
活动管理系统的实际效率通常高度依赖于给定的被管理活动所涉及的人为系统提供指示被管理的要素的相关数据的程度。这些相关数据由于通过会见、电话会谈和电子邮件而进行的人为交互而迅速积累。
在活动管理系统用户方需要大量时间和精力来确保通过人为交互而得到的数据被提供给活动管理系统。这个时间和精力的花费通常是滞后的(retrospectively)—通过特定的人为交互(或其它被管理的活动)而得到的数据在该交互发生之后(并且在某些情况下是之后过了很长时间才)被提供给系统。这影响了系统在给定时间点的可靠性,并且导致资源密集。这些因素通常被视为对使用活动管理系统的妨碍。
活动管理系统通常使用结构化数据方法来存储数据,其中所捕获的信息被组织成已知类型的离散的结构化数据对象,每个结构化数据对象通常包括至少一个具有已知类型和值的数据字段。这些数据对象类型定义的集合通常被称为“模式(schema)”。通常,结构化数据对象被存储在至少一个数据储存结构(例如数据库)中,并且不同的参与者可以根据其各自的安全许可证来访问每个储存结构的内容。
在电子邮件的情况下,例如已知有管理器使用活动管理系统来周期性地(例如在每天或每周结束时)检查被接收并被发送以评估应当提供给活动管理系统的数据的电子邮件。
在本领域中需要简化向活动管理系统提供指示被管理要素的数据时所涉及的过程的方法、系统和装置,以使得所述数据能够以一种及时且节省资源的方式被可靠地提供给系统。在本领域中还需要将使用文本消息所提供的数据转换成针对诸如活动管理系统之类的系统的结构化格式。
有一些用于直接提供结构化数据的技术。在一个示例中,用户利用根据目的设计的电子表格来编写信息。该表格包括与特定的结构化数据类型相关的字段,并且用户通过完成这些字段并提交该表格来提供结构化数据以更新数据库中的记录。例如,“任务表格”允许工程管理者通过将指示任务、优先权、所分配的雇员、最后期限等的数据输入道预定的字段中来向雇员分配任务。可被用于编写结构化数据以专门用在工程管理系统中的软件产品的示例包括Primavera(TM)和Niku(TM)产品。
使用表格来提供结构化数据的方法通常会导致与上述缺点类似的缺点。例如,效率依赖于对表格的适当且一致的使用。此外,填写表格是很费时的,尤其是在从过去的人为交互得到数据的情况下。
与使用表格类似的方法包括由用户选择模板。在这种方法中,用户选择消息类型,例如用于分配任务的消息。对于给定类型的消息,存在这样的模板,该模板列出什么信息是需要编写的以及什么信息是可选地编写的。例如通过表格或者要求用户输入需要编写的信息并且提供用于可选信息的可选条目的一些其它方式来输入数据。编写并发送利用这种模板所编写的消息实现了结构化数据的提供。在一些实例中,消息的类型还决定对于第一消息的接收方可用的一组消息类型,所述接收方用于响应于接收到的消息做出响应或者执行另一消息任务。这些结构化数据方法的示例在US 5,208,748和US 6,708,201中有所描述。这些模板的使用类似于表格的使用。它不同于本发明的实施例所使用的在本文中被称为“消息模板”的模板。
这种方法从本质上限制了人的通信方式,并且可能剥夺人与人之间对有价值的人为要素的消息传送。此外,在任何情况下,其效果都依赖于参与方适当地使用模板的意愿。
根据另一种结构化数据方法,用户操作编辑产品来标记被输入的文档部分并且从而识别被标记部分的意思。通常根据模式来定义标记,其中模式是预定的或者从文档中所使用的标记推断出来的。这种使用专用于工程管理的预定模式的方法的一个实例是所谓的工程管理可扩展标记语言(PMXML)。例如,参见http://xml.coveφages.org/proiectManageSchema.html
虽然该方法在通信中保留了一些人为要素,但是它有些耗时并且使用起来不一定很直观。用户被赋予了检查文档的意思并且之后通过文本标记来完善该意思的责任。
因而,在本领域中需要一种能够接受消息文本并且将该文本转换成结构化形式以用户诸如活动管理系统之类的系统中的计算机实现的方法。然后,该文本和结构可作为消息被发送给一个或多个接收方。
发明内容
本文所描述的是一种用于编写合成数据消息的方法和例如承载介质形式的软件产品,所述承载介质承载计算机可读的指令,这些指令在处理系统的一个或多个处理器上被执行时,使得该处理系统执行所述方法。每个合成数据消息被配置为由例如用在活动管理器中的至少一个接收方接收。这种消息包括自由文本和自由文本转换之后的结构化数据两者或其中之一,其中结构化数据表示自由文本的预期意思。根据本发明的一个实施例,结构化数据包括表示自由文本的一个文本片段的意思的至少一个结构化数据对象,以及这些结构化数据对象之间的零个或多个关系(例如,打印的参考关系),每个关系表示相应的文本片段之间的相应关系。如本领域中常用的,针对大量要素的术语“零个或多个”在本文中用于表示无要素,或者如果有至少一个要素,则指一个或多个要素。就是说,“零个或多个关系”可选地表示至少一个关系。
根据一个实施例,该方法还包括实现从自由文本到结构化数据的自动转换,其中转换是在编写期间以迭代递增的方式被执行的,并且得到用于所述结构化数据的至少一部分的临时数据状态,例如结构化数据对象或数据字段。此外,该方法增加了对这种临时数据状态的用户认可和纠正。一旦被认可,则被认可的结构化数据部分的数据状态被认为是正确的,并且不再被进行自动变化。根据一个实施例,对先前被认可的结构化数据的构成进行手动改变仍然是可能的。此外,根据一个实施例,在相应的结构化数据被认可之后对文本片段的改变将使相应的结构化数据的被认可状态无效。
根据一个实施例,转换决定包括使用至少一个模式、零个或多个消息模板、零个或多个与给定的结构化数据对象类型相关联的预定的生命周期以及零个或多个针对消息的预定工作流。
此外,根据一个实施例,该方法包括向用户显示消息的结构化数据的可视模型。
一个实施例包括一种用于根据自由文本消息提供结构化数据以发送给一个或多个接收方的方法,该方法包括:
(f)接受指示所述消息中的文本片段的输入;
(g)分析所接受的输入以确定是否满足一个或多个预定的文本条件;
(h)在确定满足预定的条件中的一个或多个的情况下,向用户提供指示与所接受的输入相对应的建议(proposed)结构化数据的输出;
(i)从所述用户接受指示对所述建议结构化数据的选择性修改和/或认可的附加输入;以及
(j)重复步骤(a)到(d),直到指示包括在所述消息中的所有文本片段的所有数据都被接受和分析为止,
从而使得在指示包括在所述消息中的所有文本片段的所有数据都被接受和分析并且所述结构化数据被修改和认可的情况下,所述被认可的结构化数据和所述消息两者或其中之一可被发送到一个或多个接收方。
一个实施例还包括:在指示包括在所述消息中的所有文本片段的所有数据都被接受和分析、并且所述结构化数据被修改和认可的情况下,将所述被认可的结构化数据和所述消息两者或其中之一发送到一个或多个接收方。
在一个实施例中,(f)中的发送是响应于由所述用户提供的将发送的明示命令而进行的。
在一个实施例中,(f)中的发送是响应于所有文本和结构化数据被认可的明示命令而进行的。
在一个实施例中,所述文本片段被提供为自由文本。
在一个实施例中,所述消息是所述用户所创建的。在另一实施例中,所述消息是由不同于所述用户的另一用户所创建的。
在一个实施例中,(b)中的分析包括以下分析两者或者其中之一:分析所接受的与所述文本片段相对应的输入和分析所述文本片段与一个或多个先前接受的与文本片段相对应的输入之间的关系。
在一个实施例中,(b)中的分析包括以下分析两者或者其中之一:分析所接受的与所述文本片段相对应的输入和分析与一个或多个先前接受的与文本片段相对应的输入相对应的被认可的结构化数据。
在一个实施例中,所述自由文本在创建电子消息期间被提供。
在一个实施例中,一个或多个预定的文本条件与一个或多个结构化数据类型相关联,并且所述建议结构化数据包括与被满足的文本条件相关联的结构化数据类型中的一种或多种类型的结构化数据。
一个实施例包括提供用于将文本条件与结构化数据类型相关联的结构的步骤。
在一个实施例中,所述方法是在某种环境下被实现的,并且所述文本条件与结构化数据类型的关联是特定于环境的。
一个实施例包括标识一个或多个与所述被满足的文本条件相关联的结构化数据类型的步骤。
一个实施例包括分析所述一个或多个被标识的结构化数据类型以标识优选的结构化数据类型的步骤。
在一个实施例中,所述优选的结构化数据类型包括所述被标识的数据类型中的一个或多个或全部。
在一个实施例中,分析所述一个或多个被标识的结构化数据类型包括应用选择协议,该选择协议被包括在用于自由文本和结构化数据之间的映射的映射协议中。
在一个实施例中,该映射协议包括以下项中的一个或多个:
·信任级别评估;
·对先前被认可的结构化数据的评估;
·对与所述用户相关联的一个或多个属性的分析;
·对与所述接收方中的一个或多个接收方相关联的一个或多个属性的分析;
·对与所述用户和所述接收方中的一个或多个接收方相关的一个或多个关系属性的分析;
·对与相关的消息相关联的一个或多个属性的分析;
·对已被所述用户选择的消息模板的考虑;
·对与一个或多个数据类型相关联的一个或多个属性的分析;
·对通过学习算法所获得的数据的应用。
在一个实施例中,每个数据类型指示一个或多个细节字段。
在一个实施例中,指示建议结构化数据的输出提供所述建议结构化数据中所包括的结构化数据类型所指示的细节字段中一个或多个细节字段。
在一个实施例中,提供指示对所述建议结构化数据的选择性修改和/或认可的附加输入包括编辑或认可所提供的细节字段中的信息。
在一个实施例中,所述数据字段中的一个或多个被预定为强制数据字段,并且只有在所提供的强制细节字段都被填写的情况下才允许发送。
在一个实施例中,至少一个细节字段与一个或多个预定的有效条件相关联,所述有效条件例如针对用于填写细节字段的数据的可允许的类型和可允许的最大长度,并且只有在所有可应用的有效条件均得到满足的情况下才允许发送。
在一个实施例中,所提供的细节字段中的一个或多个基于对所述文本的分析而被自动填写。
在一个实施例中,对于每种数据类型,所述细节字段与所述数据类型的多个方面有关。
在一个实施例中,所述细节字段包括与以下项中的任一项或多项相关的细节字段:
·最终期限或其它日期;
·分类;
·资源分配;
·优先级等级;
·责任分配;
·任务接受或拒绝。
在一个实施例中,所述细节字段和所述数据类型两者或其中的任一个作为可修改组件被提供在图形化用户界面中。
在一个实施例中,提供指示建议结构化数据的信号的步骤在满足一个或多个预定条件时被执行。
在一个实施例中,所述一个或多个预定条件包括以下项中的一个或多个:
·用户输入;
·指示从所述用户那里接收指示文本的输入结束的输入;以及
·指示从所述用户那里接收指示离散文本片段的输入结束的输入。
在一个实施例中,指示离散文本片段的输入包括指示文本的段落的输入。
在一个实施例中,所述文本通过图形化用户界面在自由文本消息字段中被显示给所述用户,并且指示所述建议结构化数据的信号被提供在所述自由文本消息字段中、所述自由文本消息字段上或其附近。
在一个实施例中,所述信号包括指示所提供的结构化文本的树图。
在一个实施例中,所述树图被提供在所述自由文本消息字段旁边的结构化文本预览字段中。
在一个实施例中,所述信号包括周期性地叠加在所述自由文本消息字段上的一个或多个可修改项。
在一个实施例中,指示被认可的结构化数据的信号被提供给信息管理系统。
在一个实施例中,所述信息管理系统是活动管理系统。
在一个实施例中,所述信息管理系统响应于指示被认可的结构化数据的信号,以更新数据库中的一个或多个记录。
在一个实施例中,所述信息管理系统响应于指示被认可的结构化数据的信号,以提供指示后续动作的信号。
在一个实施例中,所述指示被认可的结构化数据的信号响应于一个或多个预定条件得到满足而被提供给所述信息管理系统。
在一个实施例中,所述一个或多个预定条件包括用于提供包括所述文本的电子消息的用户命令。
在一个实施例中,所述一个或多个预定文本条件包括以下项中的任一项或多项:
·存在一个或多个预定的关键词;
·存在一个或多个预定的语法结构;
·存在一个或多个预定的文本结构;
·存在一个或多个预定的标识符。
在一个实施例中,所述一个或多个预定的文本结构包括被结构化以标识日期或其它时间点的文本。
在一个实施例中,所述一个或多个预定标识符指示一个或多个资源、项目、工程、人或位置。
在一个实施例中,所述消息由单个文本片段构成。
在一个实施例中,(c)中所提供的输出包括在图形化用户界面中提供的一个或多个可修改组件。
一个实施例包括一种承载指令集的计算机可读承载介质,所述指令集在被一个或多个处理器执行时,使得所述一个或多个处理器执行用于根据用户所编写的消息提供结构化数据以发送给一个或多个接收方,所述方法包括:
(a)接受指示所述用户所编写的文本片段的输入;
(b)分析所接受的输入以确定是否满足一个或多个预定的文本条件;
(c)在确定满足预定的条件中的一个或多个的情况下,向所述用户提供指示与所接受的输入相对应的建议结构化数据的输出;
(d)从所述用户接受指示对所述建议结构化数据的选择性修改和/或认可的附加输入;
(e)重复步骤(a)到(d),直到指示包括在所述消息中的所有文本片段的所有数据都被接受和分析为止;以及
(f)在指示包括在所述消息中的所有文本片段的所有数据都被接受和分析并且所述结构化数据被修改和认可的情况下,将所述被认可的结构化数据和所述消息两者或其中之一发送到一个或多个接收方。
在一个实施例中,所述承载介质是承载可被所述一个或多个处理器中的至少一个处理器检测的被传播信号,并且表示所述指令集的介质。
在一个实施例中,所述承载介质是承载可被所述一个或多个处理器中的至少一个处理器检测的被传播信号,并且表示所述指令集的载波。
在一个实施例中,所述承载介质是承载可被所述一个或多个处理器中的至少一个处理器检测的被传播信号,并且表示所述指令集的网络中的传输介质。
一个实施例包括一种包括用于执行如前所述的方法的指令集的计算机程序或计算机程序产品。
一个实施例包括一种用于根据用户所创建的消息提供结构化数据以发送给一个或多个接收方的系统,该系统包括:
(a)用于接受指示由所述用户创建的文本片段的输入的第一界面;
(b)用于分析所接受的输入以确定是否满足一个或多个预定的文本条件的第一处理器;
(c)用于在确定满足预定的条件中的一个或多个的情况下,向所述用户提供指示与所接受的输入相对应的建议结构化数据的输出的第二处理器;
(d)用于从所述用户那里接受指示对所述建议结构化数据的选择性修改和/或认可的附加输入的第二界面;以及
(e)用于指示第一界面接收另外的指示文本片段的输入,直到指示包括在所述消息中的所有文本片段的所有数据都被接受和分析为止的第三处理器,
(f)用于在指示包括在所述消息中的所有文本片段的所有数据都被接受和分析并且所述结构化数据被修改和认可的情况下,将被认可的结构化数据和所述消息两者或其中之一发送到一个或多个接收方的第四处理器。
附图说明
图1示出了用于根据用户创建的消息提供结构化数据以发送给一个或多个接收方的方法的实施例的简化形式,该方法包括本发明的一个或多个方面。
图2A示出了实现图1的方法实施例的示例性信息系统。
图2B示出了实现图1的方法实施例的另一示例性信息系统。
图2C示出了实现图1的方法实施例的另一示例性信息系统。
图3是由例如包括本发明的一个或多个方面的图2A中所示的消息编写系统生成的示例性截屏图的简化表示。
图4是示出了根据本发明的另一实施例的用于根据用户创建的消息提供结构化数据以发送给一个或多个接收方的方法的实施例的流程图。
图5以简化形式示出了根据本发明的用于编写合成数据消息的一个实施例的流程图。
图6以简化形式示出了用于为新的文本片段确定临时片段数据类的一个实施例的流程图。
图7以简化形式示出了针对电子邮件的合成数据消息模板中的片段数据类的示例性预期继承方案的一个实施例的流程图。
图8以简化形式示出了根据本发明的一个或多个方面的定义风险、缓解和残余风险片段数据对象的片段数据类之间的示例性包含关系的类示图。
图9以简化形式示出了根据本发明的一个或多个方面的片段数据类的示例性分层结构的类示图,所述片段数据类例如可被用于用在活动管理中的合成数据消息。
图10示出了根据本发明的一个或多个方面的关于关键词或关键段落和片段数据类的词汇关系的示例性映射助手(mapping aid)。还示出了该关系的多个示例。
图11示出了根据本发明的一个或多个方面的关于语法结构和片段数据类的语法关系的示例性映射助手。还示出了该关系的多个示例。
图12示出了关于关键词或关键段落、片段数据类、数据字段和值分配的关系的示例性映射助手。还示出了该关系的多个示例。
图13示出了根据本发明的一个或多个方面的关于搜索模式、片段数据类和数据字段的关系的示例性映射助手。还示出了该关系的多个示例。
图14以简化形式示出了用于编写结构化电子消息的用户界面实施例。
图15示出了说明在一个实施例中怎样基于估计至少一个可用的映射考虑因素来做出映射决定的伪代码。
图16示出了说明在一种实现方式中使用的僵局打破方法(tie-breaker)的一个实施例的伪代码。
图17示出了说明根据本发明的一个实施例用于在包含关系定义是当前映射操作中的相关映射考虑因素的情况下做出决定的一种方法的伪代码。
图18示出了说明用于找到相关的继承方案的一个方法实施例的伪代码。
图19示出了说明根据本发明的一个方面用于在继承关系定义是当前映射操作中的相关映射考虑因素的情况下做出决定的一个方法实施例的伪代码。
图20示出了说明根据本发明的一个方面用于为新的片段数据对象创建适当的关系的一个实施例的伪代码。
图21示出了根据本发明的一个方面用于被应用于片段数据对象类“Mitigation”的映射助手的示例性条件逻辑的伪代码。
各个图中的相似标号和标记指示相似的要素。
具体实施方式
这里提供了用于编写合成消息的方法,具体而言是用于根据所创建的自由文本消息提供结构化数据的方法。这里还提供了例如承载计算机可读指令的载体形式的软件产品以及利用这些方法和软件产品的系统,所述计算机可读指令在被处理系统的处理器执行时,执行用于编写合成消息的方法。这些方法尤其可适用于与人为参与的任务的计划、执行、控制、评估和报告相关地编写的消息,以使得所述编写包括由用户可以按现有技术的方法中常用的方式来创建消息,所述方式包括文字处理、电子邮件以及其它自由文本消息创建软件系统。从编写过程中提供结构化数据,并且在一些实现方式中,该数据被提供给活动管理系统以更新该系统所维护的记录。
如本领域中常用的,针对大量要素的术语“零个或多个”在本文中用于表示无要素,或者如果有至少一个要素,则指一个或多个要素。
用编写来表示在合成数据消息中添加、修改和删除自由文本片段和结构化数据对象。用合成数据消息来表示供至少一个接收方接收以用于活动管理的消息,该消息包含自由文本和结构化数据两者,其中文本片段被映射到片段数据对象。用文本片段来表示自由文本的一部分,例如一段或一句。根据一个实施例,文本片段包括用于映射到一个结构化数据对象的一个极小的信息单元。用结构化数据对象来表示例如在具有被组织成至少一个已知类型的数据字段的已知类的存储器结构中的数据结构。结构化数据表示被组织成具有已知类型和数据字段的离散的结构化数据对象的数据。
说明性示例
图1提供了说明采用用于编写合成消息的方法的形式的本发明实施例的简化流程图,包括根据输入的自由文本消息提供结构化数据,所述合成消息被一个或多个接收方接收。在一个实施例中,该方法是在处理系统上实现的,并且是活动管理系统的一部分或者与活动管理系统协同工作。
框101定义随着更多的文本片段被用户创建、被该方法接受、被分析、被呈现以寻求认可或修改以及被认可而在该方法中逐步执行的框102到106的分界线。
在102中,由用户输入的指示文本片段的输入被接受。这个被接受的输入在103中被分析以确定是否满足一个或多个预定的文本条件。
104包括在确定满足一个或多个预定的条件的情况下,向用户提供指示建议结构化数据的输出,以使得用户可以选择性地修改、认可或拒绝所提出的结构化数据。术语“临时”还被用作“建议”的同义词,以指示用户还没有认可,例如确认为正确(经验证)的结构化数据。下面会更详细描述,在一种实现方式中,建议结构化数据包括临时片段数据类和临时片段数据对象(片段数据类的示例)。因而,用户被允许选择性地修改和/或认可建议结构化数据。在105中,还接受指示用户修改、认可或拒绝建议结构化数据的另一输入。
102到105被重复进行,直到与消息中的所有文本片段相对应的输入都已被接受和分析并且与这些片段相对应的建议结构化数据被认可为止。
在一个实施例中,响应于指示发送消息的明示命令来进行发送,该命令由用户提供,并且据此推断出对建议结构化数据的暗示认可。例如,用户键入包括多个文本片段的消息,与那些片段相对应的建议结构化数据逐步可选地被修改并且作为修改和不修改之一的结果而被暗示认可,并且一旦消息结束,则该消息被发送,导致对所有被提议的结构化数据的暗示认可。在另一实施例中,响应于所有文本和结构化数据都被认可的明示命令而进行发送。
为了本公开的目的,术语“结构化数据”应当被宽泛地理解为表示被组织成具有预定目的的多个部分的数据。例如,结构化数据的一种示例可以包括标识人的第一部分、标识任务的第二部分和标识日期的第三部分。在一些实施例中,结构化数据包括被组织成一个或多个离散的结构化数据对象的信息,每个数据对象具有已知的类型。结构化数据对象类型定义的集合通常被称为“模式”。
文本片段是电子方式创建的文本中的可辨识部分。在不同的实施例中,文本片段包括段落、句子、单词或者用户定义的文本部分。为了本公开,将文本片段与完整的消息区分开。本发明的实施例分析文本片段而不是整个消息,以减少分析中所涉及的资源,并且减少分析错误和不一致的风险。然而,在一些实施例中,文本片段就是整个消息,尤其是在消息较短的实施例中,例如只有一到三句的消息。
在103中分析文本片段包括分析所接受的与所述文本片段相对应的输入和分析所述文本片段与一个或多个先前接受的与文本片段相对应的输入之间的关系两者或者其中之一。
建议结构化数据包括建议数据和建议结构化形式。修改、认可或拒绝建议结构化数据包括修改、认可或拒绝建议数据和建议结构化形式两者或其中之一。
术语“被创建”在涉及消息或文本时一般描述用户以电子方式准备的消息或文本,例如通过使用键盘或通过使用语音识别方法的语音输入。类似地,“被输入的文本片段”指用户以电子方式写入以形成整个消息或消息的一部分的文本。如在该说明书中所使用的,编写指创建自由文本和形成结构化数据两者。
用户是能够创建消息的人。在一些实施例中,用户是经由被适配用于创建的软件程序创建消息、编辑和发送电子邮件或其它电子消息的人。
这里所使用的术语“消息”表示电子消息,例如电子邮件、作为即时消息系统的一部分的即时消息、诸如SMS消息之类的移动电话文本消息等等。常见的即时消息系统包括但不限于SametimeTM、QnextTM、Windows Live MessengerTM、AOL Instant MessengerTM(AIM)、Yahoo!MessengerTM、SkypeTM(Chat)、Google TalkTM、.NET MessengerServiceTM、JabberTM、ICQTM以及被称为互联网中继聊天(IRC)的较老式(且仍受欢迎)的在线聊天媒体。消息供一个或多个接收方接收,例如由用户发送给接收方。在一些实施例中,接收方包括用消息地址标识的人接收方,并且在一些实施例中,接收方包括诸如计算机程序之类的虚拟接收方。
术语“文本条件”一般指文本的任何可变的方面。例如,在一些实施例中,文本条件包括:
·存在一个或多个预定的关键词。例如,每当文本中出现特定的预定关键词时满足一个文本条件。
·存在一个或多个预定的语法结构。例如,每当文本的一部分是祈使语句时满足一个文本条件。
·存在一个或多个预定的语法或文本结构。例如,每当文本的一部分以日期格式被列出时满足一个文本条件。
·存在一个或多个预定的标识符。例如,数据库包括针对给定工程的工作目录项列表,并且每当那些工作目录项中的一个出现在文
本中时,满足一个文本条件。其它标识符可以指示与给定工程相关联的一个或多个资源、项目、工程、人或位置。
·文本片段与一个或多个先前接受的与文本片段相对应的输入之间的关系,以使得103的分析包括分析文本片段与一个或多个先前接受的与文本片段相对应的输入之间的关系。
·存在先前认可的数据类型和/或与文本片段相关的与文本片段相对应的细节字段中的数据,以使得103的分析包括分析与文本片段相关的数据类型和/或先前被认可用于文本片段的细节字段中的数据。
指示建议结构化数据的输出不需要提供大量的信息来准确地获得建议结构化数据的内容和/或结构化形式。在一些实施例中,输出采用指令的形式,以经由图形化用户界面提供屏幕上的单元,该屏幕上的单元以宽泛和/或简单的形式表示建议结构化数据的内容和/或结构化形式。在一些实施例中,输出表示建议结构化数据的内容和/或结构化形式,从某种意义上说该输出以简单的形式提供了建议结构化数据的上下文和内容。
通用,从用户那接受表示对建议结构化数据的选择性修改和/或认可的附加输入不需要包括为用户提供足以准确地得到建议结构化数据的内容的所有信息。在一些实施例中,通过屏幕上的单元为用户提供对结构化数据的简化表示,并且在该屏幕上的单元上所提供的信息是可以被用户修改和/或认可的。用户修改和/或认可该屏幕上的单元,并且这样的修改和/或认可被接受。此外,认可建议结构化数据包括初步推断的认可和最终的认可两者或其中之一,所述初步推断的认可源于用户选择不提供指示修改的输入而是继续输入附加的文本片段。在一种实现方式中,最终的认可自身也不必是明示的认可,而是从指示发送消息的命令推断出来的。
在一些实施例中,初步认可和最终认可两者或其中的任一个通过用户主动提供指示初步或最终认可的输入来标识。
在一个实施例中,要被发送的被认可的结构化数据包括将用户选择性修改和/或认可的建议结构化数据重新归类为被认可的结构化数据。一些实施例包括创建指示建议结构化数据的电子文件,这个文件被保存在实现该方法的处理系统的临时存储器中。
术语“发送”在被应用于被认可的结构化数据和消息时应当被宽泛地理解为不仅包括主动发送,而且包括将被认可的结构化数据和消息两者或其中的任一个放在其可被发送到接收方或者可被接收方获得的位置。例如,在一个实施例中,消息由于被贴在电子消息布告栏上而被发送,并且一个或多个接收方采取积极步骤来从该电子消息布告栏上获得该消息。
虽然在一个实施例中,被认可的结构化数据被发送给接收方,但是一般来说,该方法包括用于为后续处理或存储装置提供被认可的结构化数据的任何方式。在一些实施例中,这包括提供包含在信号或消息中的结构化数据,该消息可选地被传送以更新数据库中的一个或多个记录。在一些实施例中,这个数据库由活动管理系统来提供。在一些实施例中,被认可的结构化数据被提供在指示结构化数据的文件中,例如简单语言概要。在一些实施例中,被认可的结构化数据作为所发送的消息中所包含的,与所发送的消息相连的或者与所发送的消息相关联的数据来提供,以使得该消息是包括自由文本和结构化数据两者的合成消息。在一些实施例中,通过组合这些和/或其它方式来提供结构化数据。该示例性方法主要与用于允许基于在消息中所创建的文本片段对结构化数据进行逐步渐增的检查和认可的机制有关。这尤其不同于在本领域中广泛公知的主要与用于将自由文本自动译成结构化数据的复杂的映射协议相关的方法。
图2A示出了在工作时实现图1的流程图的方法的示例性系统的简化框图,并且还示出了一些数据流。用户201通过消息创建程序203创建电子消息202,所述电子消息202例如电子邮件消息,所述消息创建程序203例如在个人计算机204上运行的电子邮件创建程序。电子消息202被发送到一个或多个接收方205。用户201通过利用外围的键盘提供指示文本片段的输入来编写电子消息202,但是在其它实施例中,该输入由诸如语音识别设备之类的其它装置来提供。每个文本片段输入作为由消息创建程序203提供的自由文本消息字段中的电子文本,出现在个人计算机204的显示屏幕上。使用键盘和/或其它类似功能的输入设备来生成该字段中的相应文本的过程被总地称为“创建”或“书写”电子消息。
自由文本消息字段中所提供的文本片段是自由文本,从某种意义上说用户201可以自由地书写文本,而一般没有限制。就是说,该文本是基于用户的个人风格和特质而以无格式语言书写的。
采用个人计算机204上的程序的形式的结构化文本提供工具206与电子消息创建程序203协同工作以执行图1的方法。随着用户201逐个文本片段地书写消息202,工具206接受指示被书写的文本片段的输入以执行步骤102。在一个实施例中,这是通过消息创建程序203和工具206之间的集成来实现的。在一些实施例中,工具206是消息创建程序203内部的一部分。在其它实施例中,使得消息创建程序203能够在预定的条件被满足时或者周期性地为工具206提供指示被书写的文本片段的数据。
在一些实施例中,工具206和消息创建程序203被集成为消息编写程序,例如作为活动管理系统208的一个模块或者与活动管理系统208协同工作。
在一些实施例中,工具206和/或消息创建程序203是活动管理系统208中的模块。
虽然图2A将工具206显示为在计算机204上被操作,但这绝不是必须的。在一些实施例中,工具206在不同于计算机204的计算平台上被操作,并且例如通过网络与计算机204通信。例如,在一个实施例中,工具206被放在例如作为模块来维护活动管理系统的一个或多个方面的一个或多个联网服务器上。在一些实施例中,工具206包括在计算机204上被执行和/或操作的组件,以及在其它计算平台上被执行和/或操作的附加组件。
在一个实施例中,工具206基本实时地连续接受指示文本片段的输入。在其它实施例中,在满足一个或多个预定的条件时,例如指定的或可辨认的文本片段结束时,或者在电子消息被指定进行发送或者准备被发送时的一些情况下,数据被接收。
工具206分析指示文本片段的输入以确定是否满足一个或多个预定的文本条件。在一个实施例中,这包括使用解析引擎,但是在其它实施例中也可以采用其它的文本分析模式。
工具206响应于一个或多个预定条件得到满足而向用户201提供指示建议结构化数据的输出。在一个实施例中,该输出被提供为一个或多个可变且可修改的屏幕上的单元,下面将会进一步讨论。用户201利用这些一个或多个屏幕上的单元提供指示对建议结构化数据的选择性修改和/或认可的数据。
一旦与已完成的文本片段相对应的建议结构化数据被选择性地修改或认可之后,用户201就开始创建后续的文本片段,或者提供命令用以发送消息202。在一个实施例中,工具206根据命令推断出要发送消息202,即暗示地认可了字段202中所表示的全部结构化数据。该结构化数据因而被视为被认可的结构化数据。
在一个实施例中,被认可的结构化数据207被提供给活动管理系统208。具体而言,指示数据207的信号被提供给在系统208上运行的应用,该应用能够用于接收这样的信号并且根据该信号得到该信号所指示的结构化数据。系统208响应于数据207的接收来更新活动管理数据库209中的一个或多个记录。具体而言,数据207以适合于系统208和数据库209的方式被结构化,以使得在系统208中执行的指令允许数据库209基于接收到的数据207而被更新。
在一些实施例中,系统208包括提供宽泛地与活动管理的概念相关联的相应功能的多个分立的信息系统。此外,在一些实施例中,数据库209包括分布在各种平台上和/或集成在各种计算机程序或系统中的多个分立的数据库。
如所预示的,虽然一些实施例是特别参考活动管理系统来描述的,但是将理解本发明的其它实施例也可以被实现在其它上下文中。例如,在一个实施例中,数据207被提供给消息202的一个或多个接收方,例如作为与消息202相附接的XML或其它文件。在另一实施例中,数据207被直接添加到已有的文件中,例如Microsoft Excel文件、RSS文件等。在另一实施例中,数据207例如作为AML文件被提供给文件储存库,例如web服务器上的目录。
在一个实施例中,被认可的结构化数据207还以如下任一种方式被提供给接收方205,所述方式为作为电子消息202的主体、包含在电子消息202内、与电子消息202相附接地或者与电子消息202相关联地。这样,电子消息202是包括自由文本和结构化数据的合成消息212。
在一些实施例中,消息202与数据207一起被提供给系统208,如图2B中所示。就是说,结合工具206所编写的每个电子消息的拷贝被提供给系统208并且由系统208维护。这样,系统208不仅维护所提供的结构化数据的记录,而且维护提供该结构化数据所依据的消息。
总地来看,用户201编写电子消息202,并且作为编写过程的一部分,工具206通过认可建议结构化数据的过程来迭代地逐步引导用户201。当用户201自由地创建消息202时,工具206响应于自由文本的创建,来允许并帮助创建逐个段落地表示消息的预期意思的相应的结构化数据。工具206提供了交互式的逐步渐增的方法,用户利用该方法能够修改和认可建议结构化数据,以提供被认可的结构化数据。
在本实施例中,工具206寻找与在系统208的上下文中的活动管理的多个方面有关的消息202的多个方面,主要是指示活动因素的数据。这通过基于预定的文本集对电子消息文本的分析来实现。使用映射协议,工具206为用户201提供指示建议结构化数据的输出。在各个实施例中使用各种映射协议,并且合适的映射协议将是已知的或者可以根据用在一般的自由文本分析领域中的映射协议来得到。
本方法非常不同于已知的文本分析和映射方法,这些已知的方法主要关心自由文本对结构化数据的准确映射。而本方法则关心以一种省时且对用户友好的方式通过结构化数据创建过程提供用于引导用户201的方便界面。
指示预定的文本条件210的数据与映射考虑因素211的储存库中的多个结构化数据类型相关联,“数据类型”从广义上讲是指能够被表示为结构化数据的信息的类型。在实施例中采用了很多可能的数据类型,一种将为了说明的目的而在此被特别考虑的常见示例为“Task”。“Task”是描述要由特定的人在给定的时限内完成的活动的数据类型。其它可能的数据类型包括风险、缓解和问候。
虽然图2A显示文本条件210和映射考虑因素211在计算机204上被维护,但是在其它实施例中,文本条件210和映射考虑因素211两者或者其中任一个可在计算机204的远程平台上被维护。在一些实施例中,文本条件210和映射考虑因素211两者或其中任一个在通过因特网、局域网或广域网与计算机204通信的中心服务器上被维护。在一个实施例中,这两者在由系统208提供的一个或多个平台上被维护,如图2C中所示。在图2C中,工具206与文本条件210和映射考虑因素211一起作为系统208的一部分在计算机204的远程被维护。程序203通过因特网与工具206交互。在这样一些实施例中,实现工具206的代码的部分被临时或半永久性地下载到计算机204的存储器中。
将文本条件与数据类型相关联的确切方式随着实施例的不同而不同,并且在一些实施例中是针对环境而特定的实现方式。例如,给定的关键词在不同的环境下可能具有不同的意思。例如,在计算机程序开发环境下,术语“bug”可能与关于系统问题的数据类型相关联。而另一方面,在汽车环境下,术语“bug”可能表示车的类型。在一些实施例中,工具206提供用于将文本条件与结构化数据类型相关联的机制,以允许针对环境而特定的实现方式。在其它实施例中,标准关系被定义并且在消费者购买时被提供给工具206。
每个数据类型指示一个或多个细节字段,并且指示建议结构化数据的输出提供建议数据中所包括的结构化数据类型所指示的一个或多个细节字段。这些细节字段用于维护与特定数据类型的多个方面相关的结构化数据细节。提供指示对建议结构化数据的选择性修改和/或认可的附加输入包括编辑和/或认可所提供的细节字段中所包含的信息。这在下面会进一步讨论。
以任务为示例,对于这里所描述的示例,任务指示包括以下各项的多个细节字段:
·任务标识符,标识任务以使得一个任务可以与另一任务区分开。在一些实施例中,用户定义任务标识符。在一些实施例中,任务标识符是根据分配协议被自动分配的,而在一些实施例中,使用这些方法的组合方式。
·任务类型或分类。这一项标识任务的类型。在一些实施例中,从预定的任务类型表中选择。例如:“问题解决方案”、“询问应答”、“股票定购”等等,这些类型取决于系统被用于的环境,在各个实施例中是不同的。
·任务完成日期。这一项标识任务将被完成的日期。
·任务执行者。这一项标识被指定来执行任务或者至少是被指定来负责任务的执行的人。
·任务优先级。这一项基于包括低、中、高的一组预定的优先级等级来标识任务的相对重要性。
其它可能的细节字段包括最终期限或其它日期、资源分配、广义上的优先级等级、广义上的责任分配和任务接受或拒绝。与数据类型的情况一样,针对每个数据类型的细节字段在一些实施例中被定义为针对环境而特定的形式。例如,在一些实施例中,“任务”与关于执行任务的预算的附加细节字段相关联。在其它实施例中,任务与其它细节字段相关联,这些细节字段在这些实施例的实现环境下表示任务的相关活动数据。
在一个实施例中,工具206响应于文本条件和映射考虑因素来标识一个或多个可能的数据类型。在这种情况下,工具206提供指示一个或多个被标识的可能任务数据类型和相关的细节字段的输出。在一些实施例中,细节字段被设置为由用户201来完成,然而在该优选实施例中,工具206基于对文本的分析来在细节字段中自动填写信息,从而减少在用户方所需要的精力。
如上所述,映射的细节方面不是本发明实施例的根本。以简单的方式,各个实施例中的映射协议分析基于所满足的文本条件而被标识的一个或多个结构化数据类型。据此,优选的数据类型被标识,就是说,利用选择协议来使可能数据类型的组变小以提供优先的选择。根据该优先的选择,一个或多个最可能的候选者被标识,并且在第一示例中,这些候选者中的一个或多个被包括在建议结构化数据中。为了帮助实现这个目的,一些实施例中的选择协议包括以下项中的一项或多项:
信任级别评估。信任级别评估在自由文本映射领域中是公知的,并且下面会更详细的讨论。
·对与用户相关联的一个或多个属性的分析。例如,关于用户201的信息,包括由系统208维护的信息。该信息包括用户201所涉及的活动和人的细节,并且帮助将附加的上下文置于消息201的文本上。
·对与一个或多个接收方相关联的一个或多个属性的分析。这与以上示例类似,但是考虑的是一个或多个接收方的属性。例如,假设消息的接收方承担的角色是“Operational Risk Officer”,并且针对给定的文本片段所标识的可能的数据类型中的一种数据类型是“Risk”。然后,在一个实施例中,选择协议选择“Risk”作为优选的数据类型。
·对与用户和一个或多个接收方相关的一个或多个关系属性的分析。例如,由系统208维护的关于用户201和消息的一个或多个接收方的联合活动的信息。
·对每个被标识的数据类型的细节字段可以被自动填写的程度的比较评估。在一种实现方式中,最优选的数据类型是可以被自动填写的细节字段最多的数据类型。
·对与相关消息相关联的一个或多个属性的分析。在一些实施例中,相关消息是以公用消息链发送的消息。例如,在第二消息是对第一消息的答复或者对第一消息的转发的情况下,第二消息与第一消息相关。与相关消息相关联的属性允许映射协议考虑与消息工作流相关的因素。
·对先前被认可的结构化数据的评估。在先前的消息中被认可的结构化数据通常以合理的方式引出后续的结构化数据。例如,在第二电子消息是对第一电子消息的答复的情况下,与第一电子消息相关联的被认可的结构化数据可能会影响到针对第二电子消息的建议结构化数据。
·对通过学习算法所获得的数据的应用。在一些实施例中,工具206基于经验随着时间的流逝而不断的学习。例如,学到附加的关键词和句子结构。在一些实施例中,学习效果应用于多个用户,而在其它实施例中,学习效果是针对特定用户的,使得工具206逐渐习惯特定用户的书写风格。
在一个实施例中,映射任务不必提供非常准确的建议结构化数据。通过提供建议结构化数据并且允许用户选择性地方便地修改建议结构化数据并且以此来弥补映射的不准确性的方法,来消除对映射准确性的要求。尽管如此,准确的映射也是有帮助且有益的,因为其减少了在用户201方用于检查和认可结构化数据的时间和精力,并且从而改善了整个系统的用户感受。
在一个实施例中,一旦用户完成了一个文本片段,就执行指示建议结构化数据的输出,文本片段在一个实施例中是段落。实际上,在这样的实施例中,通过在传统键盘上按下“输入”键来界定(delineate)文本片段。使用段落形式的文本片段的本方法的原理总地来说就是消息创建者使用不同的段落来针对不同的问题。
将会理解在一些实施例中,以不同于上述界定方式不同的方式来界定文本片段。例如,在一个实施例中,当建议数据类型的所有细节字段都已被填写时,认为与离散的文本片段相对应的输入完成。
图3提供了通过或结合程序203由计算机204上的图形化用户界面提供的示例性截屏图300的示意性表示,所述程序203例如作为集成了工具206和消息创建程序203的消息编写程序的一部分。该截屏图示出了在图2A的上下文中的指示建议结构化数据的输出的示例。在该示例中,输出是利用表示建议结构化数据的上下文和内容的多个可变且可修改的屏幕上的单元来提供的。
本文所提供的截屏图不应当被视为限制性的,而只是为了示例的目的而提供的。在其它实施例中,图形化用户界面被适配为提供相同的通用功能,同时包括视觉上不同的屏幕和不同的屏幕上的单元。
用户201通过以电子方式在自由文本消息字段301中书写自由文本来编写消息202。在自由文本被接收时,其作为指示文本片段的输入而被工具206接受。如上所述,一个实施例中的文本片段是文本的段落。
在一个实施例中,利用两个主要的屏幕上的单元来提供指示建议结构化数据的输出:结构化数据编辑器字段302和结构化数据覆盖界面303。在其它实施例中,只使用这些单元中的一个,并且在一些实施例中,使用各种其它单元,例如那些熟悉图形化用户界面的使用和设计的人员所公知的单元。基于下面的描述将会理解该组合方式具有如下优点:引导用户执行不断进行的、逐步的、反复的修改,同时仍然提供用于全面检查的装置。
在一个实施例中,通过两种方式来提供指示建议结构化数据的输出:结构化数据编辑器字段302和结构化数据覆盖界面303。在其它实施例中,只使用这些方式中的一种方式,并且在一些实施例中,使用替代方式。基于下面的描述将会理解该组合方式具有如下优点:引导用户执行不断进行的修改,同时仍然提供用于全面检查的装置。
字段302提供表示建议结构化数据的概要。这个概要包括与相应的文本片段水平对齐的所列条目304到306,在一个实施例中是与相应的段落307到309的第一行水平对齐。每个所列条目指示数据类型、该数据类型的细节字段和那些细节字段中所包含的信息。因此,用户201能够方便地将特定段落与和该段落相关联的建议结构化数据关联起来。例如,用户201容易看到条目304与段落307相对应。
在一些实施例中,所列条目以一个或多个树图的形式被提供,具有叶子的树图与针对每个类型的细节字段相对应。
在该示例中,段落307和308分别为“Hi Employee A”和“It wasgood to meet with you yesterday”。Employee A是本示例所考虑的示例性接收方。这些段落已基于所采用的映射协议被标识为问候,并且分别在条目304和305中提供并表示数据类型“问候”的建议结构化数据。用户201能够例如通过使用鼠标指示器点击这些条目并从各种菜单选项中进行选择来修改这些条目。例如在段落被不正确地标识为问候的情况下执行这一操作。
指示被创建的文本片段的输入作为输入被工具206接受,并且该输入被分析以确定是否满足文本条件。一旦文本片段结束,就通过字段302和覆盖303来提供指示建议结构化数据的输出。
在一些实施例中,仅在某些情况下提供覆盖界面。例如,在一个实施例中,在被标识为问候的文本片段之后不提供覆盖界面,或者在文本片段被标识为问候之后在文本片段是消息中的第一段落的一些情况下不提供覆盖界面。在一些实施例中,覆盖界面是可以根据用户的命令而被可选地禁用的特征。在一个实施例中,只为映射协议没有为其产生明确的建议结构化数据映射的文本片段提供覆盖。
在图3中所示的时刻,用户201刚刚创建完成段落309“Could youplease perform Task B by Date C”,其中Task B和Date C是示例性任务和日期。一旦在该段落结束时按下输入键,工具206就提供覆盖界面303,该界面提供表示作为被叠放在自由文本消息字段301上的可修改项的数据类型和相关的细节字段的信息。在该示例中,工具206基于映射协议将该段落的数据类型选择为任务,例如基于问句结构和关键词“perform”或者基于关键短语“can you perform”。工具206还识别出该消息是要发送给雇员A并且日期是Date C。
该示例中的界面303提供:
·标识数据类型“任务”的可修改的数据类型字段310。
·分别与任务标识符、任务类型、任务执行者、任务完成日期和任务优先级相关的可修改的细节字段311到315。
在这些细节字段中,字段311、313和314分别被预先填写“TaskB”、“Employee A”、“Date C”,这表示基于映射协议和步骤102中的分析所标识的建议结构化数据。在一些实施例中,字段312也基于映射协议而被预先填写,例如在Task B的实际文字描述(或者消息202中的其它文本)指示Task B是关于什么的情况下。例如,如果Task B实际为“提供更新的成本总计”,则任务类型可能是“清算帐目”。在一个实施例中,字段315被缺省填写为可以改变的优先级等级“中”。在出现诸如“紧急”之类的关键词之后可能会分配优先级等级“高”。
在一个实施例中,字段310到315可以按两种方式来修改:
·使用可扩展的菜单布置,在此为下拉菜单。如果用户201想要修改这些字段中的任一字段的内容,则用户点击图标来访问替代选项,并且从替代选项中进行可选的选择。例如,字段310的替代选项包括替代数据类型。
·手动输入文本,通过点击相关字段并使用计算机键盘来实现。
在一个实施例中,由可扩展菜单提供的替代选项是有优先次序的。在字段313的示例中,替代选项包括由工具206标识的相近匹配,例如在消息202的文本中提到的其它雇员。考虑段落309为“Could you please haveEmployee D perform Task B by Date C?”。为了示例的目的,假设基于对于一个任务而言,任务执行者最可能是电子消息接收方的映射协议假设,字段313仍然是“Employee A”。再假设映射协议确定下一个最可能的任务执行者是在所考虑的段落文本中所提到的可能的任务执行者。在这种情况下,字段313被预先填写“Employee A”,并且“Employee D”被提供作为高优先级替代。实践中,用户201将字段313修改为“Employee D”,并且由此建议结构化数据被修改。
将理解在一个实施例中映射协议的目的不是必须以最准确的方式标识数据类型和预先填写的细节字段,而是进行最佳的猜测,从而减少在用户201方所需要花费的时间和精力。最佳的猜测被提供给用户201,并且用户201修改那些猜测中需要修改的方面。通过图1的方法实现的方式通过为用户提供友好、省时且直观的界面以允许对建议结构化数据的修改,从一定程度上使得映射协议的准确性不那么重要。
一旦用户201对覆盖界面303中所呈现的信息满意,用户就会在此点击输入键。在一个实施例中,这被视为对建议结构化数据的认可。根据一些其它实施例,这不被视为对建议结构化数据的认可,而被视为一种临时认可的形式。在一个实施例中,仅在用户202提供发送消息202的命令时,才表示认可。
在一个实施例中,在相应的结构化数据被认可之后对文本片段的改变使得相应的结构化数据的认可状态无效,因此该结构化数据被再次认为是临时的。另一实施例包括为用户提供手动无效先前被认可的结构化数据的认可状态的能力。
在一个实施例中,不必填写所有被提供的细节字段。例如,图3的字段312被保持为空白(用术语“select(选择)”表示)。一个或多个细节字段可以被保持为空白或者被修改为空白,而不影响用户发送电子消息的能力。这样,工具206不去规定必须被提供的信息,而是将用户的注意力引到对系统208有帮助或者与其有关的信息类型上。在其它实施例中,工具206是惯用的,并且只有所有的细节字段都被填写完成时才允许发送电子消息。将会理解选择惯用方式涉及对获得全部的相关数据和减少工具206对日常电子消息通信的影响的平衡考虑。
在一些实施例中,数据类型与其它数据类型有关。例如,在一些实施例中,工具206响应于某些文本条件来标识“问题”形式的数据类型,该数据类型与第二数据类型“解决方案”有关。例如,在电子消息202中的文本在信息技术环境下包括诸如“故障”或“崩溃”之类的关键词的情况下,或者在电子消息202中的文本在商业环境下包括诸如“诉讼”或“毁约”之类的关键词的情况下,标识“问题”数据类型。当提供包括“问题”数据类型的被提议数据时,字段302和界面303为问题数据类型提供细节字段,这些细节字段可以是“问题标识符”、“问题类型”、“严重性”等等。
至于第二数据类型“解决方案”,解决方案类似于任务。“解决方案”可以指示诸如“负责雇员”和“解决最后期限”之类的细节字段,并且指示解决方案所涉及的问题的问题标识符。
在一些实施例中,当“问题”被标识时,工具206不仅建议用户201完成/修改/认可问题的细节字段,而且建议用户201完成/修改/认可该问题的解决方案的细节字段。在一些情况下,一段文本就包括足以允许工具206预填写问题和解决方案两者的细节字段的信息。
在一些实施例中,用户在完成与问题相关的段落时,选择不去完成/修改/认可解决方案的细节字段。在用户在后面的段落中处理建议解决策略的情况下,在该段落完成时,再次通过字段302和界面303来提供相关的细节字段,这些细节字段基于所提供的文本而被预填写。在一些实施例中,问题标识符的细节字段被缺省填写为最近标识的问题的问题标识符。
在一些实施例中,数据类型之间的关系被映射协议所利用。利用以上示例,在一个实施例中,当分析来自给定文本片段的输入时,映射协议给予与最近提议的结构化数据中的数据类型相关的数据类型更高的优先级。
当用户201完成了电子消息202的创建时,用户能够通过字段302快速且方便地检查建议结构化数据。在字段302中可容易地进行修改,并且字段302显示细节字段被建议但未被填完的地方。用户201可选地完成这些字段,本发明不是惯用的,而是将用户201的注意力引到可能相关的信息上。
一旦用户201满意字段302中所示的信息和消息202的文本内容,用户就提供向接收方205发送消息的命令。响应于该命令,在字段302中被标识的建议结构化数据被定义为被认可的结构化数据207,并且消息202被发送给接收方205。如所预示的,指示数据207的信号被提供给系统208,并且作为与电子消息202相关联的数据被提供给接收方205。
图4的流程图提供了对上述方法的概览。在401中,用户201自由地在字段301中键入消息202,并且指示文本片段(在一个实施例中是一个段落)的输入被工具206接收。工具206在402处分析该被接受的输入,以确定是否满足一个或多个预定的文本条件。在403中,用户201按下输入键以界定段落的结束,并且这作为输入被工具206接收。在404中,工具206利用字段302和界面303提供与所完成的段落相对应的建议结构化数据的输出。在405中,用户201可选地提供指示对建议结构化数据的选择性修改和/或认可的附加输入。具体而言,通过编辑利用界面303显示的细节字段中的信息来实现修改。通过用户201提供最小化界面303的命令来推断出认可,在这种情况下,所述命令通过再次按下输入键来提供。在406中,覆盖界面最小化,但是用户201仍然可以自由地在407中使用字段302来进一步修改与已完成的段落相对应的结构化文本。在执行这样的修改时,工具206还接收指示对建议结构化数据的选择性修改和/或认可的附加输入。
在408中,考虑消息是否被完成,这与包括在消息中的所有文本片段是否都已被接受相对应。将会理解在消息未被完成的情况下,该方法循环回401,开始后续段落。在那种情况下,在一个实施例中,结构化数据提议和认可的迭代技术继续进行,并且重复到消息完成为止。
在409中,考虑用户是否满意建议结构化数据。假设如果用户不满意,则用户将在407中使用字段302进一步修改与一个或多个已完成的段落相对应的结构化数据。如果消息已完成并且用户满意建议结构化数据,则用户在410中提供发送消息的命令。消息202和结构化数据207在411处被提供给接收方205,并且数据207在412处被提供给系统208。
如所预示的,在一些实施例中,与被认可的结构化数据相关联的每个消息被提供给系统208。
向接收方205提供结构化数据207的一个根本原理是基于电子消息202帮助分析在对用户201的电子消息答复中由一个或多个接收方205创建的自由文本。继续以上示例,假设雇员A接收到图3中所示的电子消息的完整版本。雇员A使用与基本和工具206一样或与工具206互补的工具集成在一起的电子消息程序来对该电子消息做出答复。所述工具响应于接收到的数据207来应用映射考虑因素。在该示例中,该工具期望在答复消息的文本中找到对Task B的接受或对Task B的拒绝,并且一旦满足适当的文本条件就相应地提供建议结构化数据。例如,存在关键词“OK”。接受也可能包括诸如“估计完成时间”之类的细节字段,而拒绝也可能包括诸如“拒绝原因”和“建议的替代任务执行者”之类的细节字段。
假设该答复电子消息被发送并且包括接受,则所得到的结构化数据被提供给系统208(和用户201)。在这种情况下,系统208维护指示已被分配的任务的数据,以及指示任务已被接管的数据。在被分配的Task B到Date C时还没有完成的情况下,工程管理者可以使用该信息催促雇员A。在一些实施例中,系统以类似的方式提供自动提醒。在一个实施例中,在用户分配了任务并且该任务没有在预定时限被接受或者被拒绝的情况下,系统以电子消息的形式向用户201提供自动通知,建议用户201重新分配该任务或者追查雇员A。
将会理解程序、工具和控件程序可以与系统208相结合地来实现,以利用工具206所提供的结构化数据并且辅助进行活动管理。这些一般都落在本公开的范围内。
在一些实施例中,使用消息模板。具体而言,当编写消息202时,用户201选择模板等来帮助选择协议的应用。例如,模板与特定类型的消息有关,并且模板的选择影响在该模板下编写的消息中的文本片段的分析方式。这些消息模板不同于在背景技术部分提到的现有技术的系统中所使用的模板,在现有技术的系统中,用户选择模板并且随后根据所选择的模板被提供以例如显示字段,以使得用户可以为所提供的字段提供数据。这种现有技术中对模板的使用类似于现有技术中对表格的使用。
在一些实施例中,存在预定的缺省消息模板,以使得如果用户不选择特定模板,则可以分配缺省模板。
在一个实施例中,为了帮助提高选择协议的准确性,消息模板包括指示以下项中的至少一项的数据:
·一个或多个模式。
·根据模板可能出现在消息中的数据类型。
·根据模板可能出现在消息中的连续数据类型。
·根据模板可能出现在消息中的数据类型之间的其它关系。
在一个实施例中,当为文本片段选择优选的数据类型时,选择协议将优先权给予被标识为根据对当前消息有效的模板的消息的可能数据类型的数据类型。在另一实施例中,消息模板提供另外的信息以指示在根据模板的消息中出现每种数据类型的相对可能性。
此外,在一个实施例中,这种消息模板为根据模板的消息定义零个或多个强制数据条件。例如,模板为根据模板的消息定义一个或多个强制数据类型,并且只要在根据模板创建的消息的被认可结构化数据中不存在至少一个强制数据类型,就不允许用户201发送这种消息。根据另一示例,第一数据类型和第二数据类型之间的继承被指定为强制继承,以使得用户201被禁止发送在如下模板下创建的消息,在所述模板中,结构化数据包括强制继承的第一数据类型而不包括第二数据类型。
在一个实施例中,这种模板可选地定义一个或多个预格式化的文本片段,以及指示根据该模板的消息的期望和/或强制内容的相应的结构化数据,从而减少用户201所需要的数据输入量并提高通信的标准化。
在一些实施例中,模板还提供预定的自动化行为,例如宏,即响应于消息中的一个或多个预定的触发条件来执行的行为。
在一个实施例中,每个消息模板为消息和后续的相关消息定义零个或多个预定的阶段以及零个或多个可能的阶段序列。此外,对于消息的每个阶段,模板定义零个或多个可能的数据类型和/或行为和/或有效条件。这为作为一个整体的消息和相关消息定义了所谓的工作流。根本的原理是每当消息被转发时,消息就前进到另一阶段。在每个阶段,可以迫使满足某些有效条件,例如用于引导、跟踪和控制工作流。
在一些实施例中,工具206被适配为管理信息生命周期。在一个实施例中,每个数据类型与零个或多个被允许的生命周期阶段相关联,并且每个这样的阶段与零个或多个允许的继承状态相关联。在一个示例中,文本片段定义“任务(Task)”数据类型。对于任务,信息生命周期包括诸如“记录(Logged)”、“安排时间(Scheduled)”、“进行中(Progressing)”、“在检查(Under Review)”和“结束(Finished)”之类的多个阶段。此外,每个阶段与零个或多个细节字段和有效条件相关联。例如,当任务处于“记录”阶段时,“任务”的“到期日期(DueDate)”细节字段不是必需的,但是一旦任务进行到“安排时间”阶段和“安排时间”之后的每个后续阶段,“到期日期”细节字段就是必需的并且必须包含有效日期。
作为生命周期的使用的示例,在一个实施例中,答复和/或转发合成数据消息的用户能够修改细节字段,因此生命周期基于用户的当前阶段并且可选地基于其它有效条件,决定允许用户将特定的数据片段推进到哪个阶段。例如,如果相应的“解决结果(Resolution Outcome)”细节字段已被填写,则“解决动作(Resolution Action)”可以只是被标记为“结束”。
根据本发明的另一方面,工具206使用消息的工作流阶段和各个数据片段的生命周期阶段两者或者其中之一来确定以下两项或其中一项:
·当前显示给用户的每个数据类型的细节字段。
·当前可被用户修改的每个数据类型的细节字段。
在一个实施例中,确定哪些细节字段要显示给用户201以及/或者确定所显示的细节字段中的哪些字段对于用户而言可修改的步骤,包括使用以下项中的一项或多项:
·用户的安全配置(security profile)。
·用户与环境相关的角色,例如在公司的案例中为用户在公司的职务。
·用户与消息的工作流阶段相关的角色。
在一个实施例中,一个接收方205创建与消息202相关的另一消息,例如答复消息或转发消息。在一个实施例中,该接收方使用的消息接收和创建程序和与工具206互补的工具集成在一起,并且该工具响应于与消息202相关联的数据207来向接收方205提供相关的响应消息。在一个实施例中,该工具通过考虑包括以下项中的一项或多项的指示符来确定用于对消息202做出响应的可能的组成文本片段和结构化数据:
·消息202中的各个数据片段的数据类型。
·消息202的工作流阶段。
·消息202中的各个数据片段的生命周期阶段。
在一个实施例中,在确定了可能的组成文本片段和结构化数据之后,工具206将相关的响应消息提供给响应接收方205,并为该消息填写所确定的文本片段和结构化数据。例如假设消息202包括“Question”数据类型。在该示例中,所提供的响应消息被填写原始消息202的自由文本和结构化数据的拷贝,并且还被填写“Answer”类型的数据片段和相应的由供用户填写的可视界定的空白行构成的文本片段。该文本片段被提供在与原始消息202的“Question”相对应的文本片段的拷贝的旁边。利用这些方面,这种方法例如可以引导接收方以提供相关的结构化数据为目的解决在先前的电子邮件中所提出的问题。消息创建的其余部分基本按照与编写消息202的方式相同的方式进行。
虽然在以上示例中,建议结构化数据是响应于电子消息202中的一个段落的完成而被提供的,但是在一些实施例中,建议结构化数据可以在替代文本片段完成时、替代时间处或者满足一个或多个预定条件时被提供。这些预定条件可以包括:
·用户输入,例如请求提供建议结构化数据的用户输入。在这种情况下,用户对文本片段的定义进行附加的控制,依靠指示文本片段已被完成的用户命令来定义文本片段。
·指示消息完成的输入。例如,发送消息的命令。在一个实施例中,这与发送前的语法检查功能类似,在“发送”命令被提供和消息被实际发送之间,工具206提供建议结构化数据供用户201检查和选择性的修改/认可。
将会理解随着时间的流逝,用户会逐渐习惯工具206的操作,并且学会巧妙地改变其自身的书写风格以简化结构化数据创建过程。可以想象,对于给定用户,随着时间的流逝,映射准确性将会提高并且检查建议结构化数据所花费时间量将相应地减少,而且不需要对所采用的映射协议进行修改。这样,本发明的一些实施例的效果依赖于图1中所示的总体过程,而不是依赖于映射准确性。
为了进一步简化该过程,在一个实施例中,工具206在创建与建议结构化数据相对应的文本片段之前的任何可能的地方,确定并向用户发送建议结构化数据。例如,假设在第一和第二数据类型之间存在预定的继承关系,并且用户201在前一文本片段之后将要创建新的文本片段,其中与前一文本片段相对应的结构化数据是第一数据类型的结构化数据。继续本示例,工具206的一个实施例确定根据预定继承的新的文本片段可能是第二数据类型的文本片段,并且相应地更新结构化数据编辑器字段302。从而,用户被引导至新的文本片段所需要的信息内容。
在另一实施例中,这种预定的继承关系被选择性地指定为强制的。例如,假设公司将数据类型“Business issue”和数据类型“ResolutionAction”之间的继承指定为强制的。在这种情况下,用户201被禁止发送包括被标识为与“Business issue”相对应的任何文本片段的消息,除非紧接在每个这种文本片段之后的结构化数据是“Resolution Action”类型的。
在一个实施例中,帮助确定建议结构化数据的文本条件被临时指定给用户。例如,工具206通过暂时突出自由文本消息字段301中的用于确定给定文本片段的数据类型的关键词,来指示那些关键词。
虽然参考电子消息具体描述了以上实施例,但是在一些实施例中可以使用其它形式的电子自由文本消息方法。用电子消息来表示电子邮件、即时消息和采用电子形式并且可电子传送给一个或多个接收方的其它形式的消息。自由文本消息方法包括电子邮件方法,例如使用Microsoft Outlook(TM)软件和使用即时消息软件(例如AOL Instant Messenger(TM))。这种自由文本方法通常将消息的主体看作包括一系列文本字符的一个单元,并且不要求消息内容的结构。因而,用户可自由地决定通信的格式、长度、详细程度、音调、所用的术语和其它方面。
进一步的详细描述
下面将提供对实施例和示例的附加描述。
下面的术语表被提供为与这些实施例的示例相关的引导。
活动片段数据对象:与活动文本片段相对应的片段数据对象。
活动文本片段:当前正在被用户编写的文本片段。
活动:指实体(例如片段数据对象或文本片段)的当前状态。如果实体当前被选择进行修改,则该实体为活动的。
编写:在合成数据消息中添加、修改和删除自由文本片段和结构化数据对象。
自动:指操作的一个方面,该方面指通过一种不需要手动干预的方法来执行操作。
类:规定基于该类的所有结构化数据对象的结构的静态定义。通常,每个这样的定义包括对于至少一个数据字段定义的说明,并且可选地包括:有效值、行为定义和关系定义。本领域技术人员将理解类相当于面向对象设计中的“类”的概念。
点击并拖动:使用间接指示装置(例如鼠标)执行的手动操作,以使得屏幕上的单元被移动到新的位置。
活动管理:在通过提供与活动、风险和/或问题相关的信息来管理这些活动、风险和/或问题时所涉及的以及用于处理这些信息的活动和进程。这种管理例如包括对人为参与的任务的计划、执行、控制、评估和报告。
合成数据消息:供至少一个接收方接收以用在活动管理中的消息,该消息包含自由文本和结构化数据两者,其中文本片段被映射到片段数据对象。
包含关系:两个片段数据对象之间的关系,其中第一对象(“包含者”)包括第二对象(“被包含者”)。
数据字段:能够存储值的永久性和/或临时性存储结构。在一些情况下,数据字段可能只保存指定类型的值。
期望关系:依照特定的关系定义的关系。
片段数据类:结构化数据对象的类,这些数据对象用于映射文本片段。
片段数据对象:片段数据类的实例。
自由文本:该文本不被组织成结构化数据对象。在一些情况下,自由文本包含格式化标记。
实例:给定类型的特定实例,例如基于给定类的结构化数据对象、给定关系的方案元组(solution tuple)或数据库表中的记录。
生命周期:应用于片段数据对象、数据字段或关系的阶段之间的可选和/或强制转变的序列。在一个实施例中,生命周期包括转变序列中的零个或多个附条件的分支和零个或多个附条件的重复。
手动:指操作的一个方面,该方面指由人执行的操作。
映射准确度:给定片段数据对象的类和数据字段值和该片段数据对象与其它片段数据对象的关系表示与该片段数据对象相关联的文本片段的语义内容的准确程度,即,映射方法产生用户所希望的结果的程度。
映射助手:供映射方法的实施例使用的支持,例如多个数据。
映射信任级别:对于特定映射决定将使映射准确度最高的信任级别。
映射考虑因素:影响映射决定的结果的因素。
映射约束:规定对映射过程的限制的规则,例如一个映射约束规定特定的映射过程只可在所定义的工作流的特定阶段被执行。
映射决定:作为映射操作的一部分的一个方法实施例所执行的操作,导致从至少一个可能的结果中选择一个特定的结果,例如选择临时的片段数据类。
映射目标:作为映射操作的一部分当前被初始化并且/或者被填写值的结构化数据实体。可以用作映射目标的结构化数据实体的类型包括:片段数据对象;片段数据对象的数据字段;关系;和关系的数据字段。
映射:对文本片段执行的用于将文本片段的自由文本转换为结构化数据的操作,该操作导致:(a)与文本片段相对应的至少一个片段数据对象的创建和/或修改;(b)为该至少一个片段数据对象中的零个或多个数据字段赋值;以及(c)片段数据对象之间的零个或多个关系的创建和/或修改。优选地,该操作被执行以使得映射准确度最高。
消息模板:合成数据消息所依据的预定标准。
零个或多个:在本说明书和权利要求中,用于多个要素的数据“零个或多个”表示没有元素,或者如果有,则为至少一个元素。
属性页面:用于显示结构化数据对象的数据字段的名称和当前值并且用于提供手动设置和改变所述值的机制的方法/机制。根据一个实施例,这个页面还包括提供对新的片段数据类的选择以根据该新的类创建新的结构化数据对象。
临时:指实体(例如,类、结构化数据对象或数据字段)的状态,其中该实体的身份和/或数据状态还没有被人员用户手动确认为正确的。也可以使用术语“建议”。
引用(Reference):用于找到并访问特定条目的任何机制,例如包括:指针;C++和Java引用;位置偏移;和索引。
关系定义:对于在关系定义中所指定的第一和第二类的实例之间期望存在的关系的定义。在一些情况下,关系定义中所指定的第一和第二类是相同的类。根据一个实施例,关系定义可以存在于模式和消息模板中。根据一个实施例,该关系定义还包括零个或多个有效规则和映射约束。
关系:指两个结构化数据对象之间的双向关联,例如指向RAM中的结构化数据对象的引用(例如指针)元组,或者关系数据库中的外键(foreign key)值。
满足:满足所要求的一组条件,例如如果结构化数据对象是一个类的实例或者该类的直接或间接特化(specialization)的实例,则该结构化数据对象满足该类。
模式:创建实例所依据的一组定义。通常,一个模式包括:至少一个类;零个或多个关系定义;零个或多个映射助手;和零个或多个映射约束。
语义内容:给定的自由文本的编写者意欲表达的自由文本的意思。
特化:两个类之间的关系,其中一个类(“派生类”)是另一个类(“基类”)的特殊情况。本领域技术人员将会理解这相当于面向对象的软件系统中的“继承”关系。除非另外规定,否则给定基类的特化实例可以被用于替换该基类的实例。
结构化数据对象:被组织为至少一个已知类型的数据字段的已知类的持久型或临时存储器结构。
结构化数据:被组织成具有已知类型和数据字段的离散的结构化数据对象的数据。
继承关系:非包含关系的两个片段数据对象之间的关系,其中在合成数据消息中,一个片段数据对象(“前驱(predecessor)”)出现在另一片段数据对象(“后继(successor)”)之前。因此,前驱相应的文本片段出现在后继的文本片段之前。在附图中,继承关系和继承关系定义用箭头来表示。
文本片段:自由文本的一部分,例如一段或一句。根据一个实施例,文本片段包括用于映射到一个结构化数据对象的一个微小的信息单元。
标记号(Token):单个字或数字或符号或不可分的符号序列。
未被满足的关系定义:应用于合成数据消息的关系定义,其中该合成数据消息没有包括依照该关系定义的足够多的关系。
有效值:为结构化数据对象或数据字段指定合法状态的规则。
经验证的:指实体(例如类、结构化数据对象或数据字段)的状态,其中该实体的身份和数据状态已被人员用户手动确认为正确的。
工作流:应用于合成数据消息的阶段之间的可选和/或强制转变的序列。在一个实施例中,工作流包括转变序列中的零个或多个附条件的分支和零个或多个附条件的重复。
图5示出了一个实施例,其示出了用于创建与所输入的自由文本相对应的结构化数据并形成包括自由文本和结构化数据的合成消息的简化流程。在一个实施例中,用户将在合成数据消息中创建新的文本片段。例如,每个文本片段长度为一个段落,并且用户在键盘上按下输入键,从而结束当前段落并指示新的文本片段将被编写。该方法包括在510中创建新的文本片段,例如将输入光标放在新的一行的开始处。
在一个实施例中,一个或多个模式有效,例如作为用户选择或者缺省选择了消息模板的结果。
此外,该方法包括在520中根据针对合成数据消息有效的模式所提供的信息和合成数据消息所依据的模板,来确定用于映射新的文本片段的临时片段数据类。这被包括在图1的示例性流程图的确定是否满足一个或多个预定的文本条件的步骤103中。
在一个实施例中,520中的步骤还包括当已确定了临时片段数据类时创建新的片段数据对象,这个新的片段数据对象是临时片段数据类的实例。这也被包括在图1的示例性流程图的确定是否满足一个或多个预定的文本条件的步骤103中。
临时片段数据类和片段数据对象被包括在以上所谓的建议结构化数据中。
该方法包括在550中向用户提供针对临时片段数据对象的显示和编辑机构。注意,这被包括在图1的示例性流程图的104中。在一个实施例中,在550中,用于活动片段数据对象的显示机构包括显示:
·活动片段数据对象的片段数据类的名称;
·活动片段数据对象的数据字段的名称;
·活动片段数据对象的数据字段的值;以及
·片段数据对象之间的关系。
此外,在550中,编辑机构包括:
·提供选择不同的片段数据类的机制;
·提供针对每个数据字段值的编辑控制,以使得为给定数据字段提供的编辑控制的类型适合于该数据字段的数据类型;以及
·提供用于添加、编辑或删除片段数据对象之间的关系的机制。
此外,根据本发明的一个实施例,550中所提供的显示和编辑机构在编写过程的其余部分对于用户而言也是可以使用的。
在560中,用户编写活动文本片段的内容和/或与步骤550中所提供的编辑机构交互以对活动片段数据对象直接进行修改。来自编写者的这样的活动被该方法接受。这被包括在图1的示例性流程图的接受来自用户的指示用户修改、认可或拒绝建议结构化数据的附加输入的步骤105中。
如果在560中,用户选择不同的数据片段类,则活动片段数据对象被毁掉,并且基于用户所选择的数据片段类来创建新的片段数据对象。由用户手动选择的片段数据类被认为是经验证的,并且不进行步骤580中的自动改变。
如果在560中,用户编辑活动片段数据对象的一个或多个数据字段值,则这些值被认为是经验证的,并且不进行步骤585中的自动改变。
如果活动片段数据对象的片段数据类仍然是临时的,即还没有经用户验证,则该方法包括在580中重新确定用于映射活动文本片段的临时片段数据类。580中的步骤使用模式、消息模板和590中的映射助手。具体而言,580中的步骤使用帮助基于文本片段的语义内容来确定活动文本片段的片段数据类的类级映射助手。
如果在580中确定临时片段数据类导致为活动片段数据对象选择新的临时片段数据类,则580中的步骤包括自动毁掉活动片段数据对象,并且创建新确定的片段数据类的新的片段数据对象。此后,新创建的临时片段数据对象被用作活动片段数据对象。
此外,该方法包括在585中基于对活动文本片段的语义内容的估计,来确定活动片段数据对象的临时数据字段值。具有经验证的值的数据字段被排除在585中的自动确定的范围之外。585中的步骤使用590中的映射助手。具体而言,585中的步骤使用帮助基于活动文本片段的语义内容来确定数据字段值的字段级映射助手。
该方法包括在600中确定用户是否已结束对活动文本片段的编写,例如用户已:
-键入划界标记号,例如每个文本片段的长度是一段,并且用户已按下输入键;
-关掉合成数据消息;或者
-使用键盘、鼠标或其它导航机制来将输入焦点移离活动文本片段,从而选择另一文本片段作为活动文本片段。
如果在600中,用户没有指示文本片段的结束,则该方法继续进行步骤560。
在用户已完成对文本片段的编写之后,该方法包括在610中由用户验证片段数据类和活动临时片段数据对象的每个数据段的值。
如果在610中,用户手动改变临时片段数据对象的片段数据类,则该方法包括在610中毁掉旧的临时片段数据对象并基于用户所选择的片段数据类创建新的临时片段数据对象。此外,如果在610中用户已选择了新的片段数据类,则该方法包括在585中确定新的临时片段数据对象的临时数据字段值。
此外,根据一个实施例,610中的步骤还包括提供一种机制,用于手动指示活动文本片段不将要被映射。如果在610中,用户手动指示活动文本片段不将要被映射,则该方法包括在610中毁掉临时片段数据对象。根据替代实施例,610中的步骤还包括提供一种机制,用于手动指示在合成数据消息中没有文本片段将要被映射。如果在610中,用户手动指示合成数据消息中没有任何将要被映射的文本片段,则该方法包括在610中毁掉合成数据消息中的所有临时片段数据对象。
因而,作为560到610的一部分而由用户提供的输入被接受(图1的105)。
根据本发明的一个实施例,该方法包括在640中如果用户将要编写新的文本片段则接下来进行步骤510。该方法还包括在640中如果用户将要继续编写已存在的文本片段则接下来进行步骤560。
根据本发明的另一实施例,如果用户没有要创建新的文本片段,而是已将输入焦点移动到已存在的文本片段上并且将要对该已存在的文本片段进行修改,则根据该实施例的方法开始于步骤550,跳过步骤510和520。所有其它步骤保持不变。
此外,在用户正在修改已存在的文本片段并且相应的活动片段数据对象的片段数据类先前已被验证过的情况下,该状态继续下去并且活动片段数据对象的片段数据类不经历步骤550和步骤580中的自动改变。此外,在数据字段值先前已被验证的情况下,该状态继续下去并且该值不经历步骤585中的自动改变。
当用户例如通过删除两个文本片段之间的文本片段划界符来合并两个文本片段,并且这两个文本片段具有相关联的片段数据对象时,需要将这些片段数据对象合并到一个片段数据对象中。有多种方法可以实现这一功能。根据一个实施例,两个片段数据对象都被毁掉并且该方法从步骤580处重新开始。
映射约束、验证行为和映射候选
根据本发明的一个实施例,可以利用以下项中的每一项来定义零个或多个映射约束:
·片段数据类,这种映射约束应用于该片段数据类的所有实例;
·关系定义,这种映射约束应用于基于该关系定义的所有关系;以及
·片段数据类的单个数据字段,这种映射约束应用于该片段数据类的所有实例中的那个数据字段。
典型的映射约束的一些示例包括:
·要求用户是至少一个预定的安全配置模型的成员;
·要求用户是预定的一组被授权用户中的一个;
·要求映射必须发生在应用于映射目标的预定的生命周期中的预定的一组特定阶段中的一个阶段中;
·要求映射必须发生在应用于合成数据消息的预定的工作流中的预定的一组特定阶段中的一个阶段中;
·要求片段数据对象与另一片段数据对象保持一种关系,该关系基于特定的关系定义。
参考图5,该方法包括在步骤520、560、580和610中选择用于映射的片段数据类。根据本发明的一个实施例,选择片段数据类被限制为选择一组候选片段数据类中的一个。在该实施例中,要称为候选片段数据类,该片段数据类必须:
·被定义在活动合成数据消息可用的模式中;
·如果在当前映射决定中被选择,则不会违背任何映射约束;并且
·如果在当前映射决定中被选择,则不会违背任何有效规则。
该方法包括在步骤560和585中为活动片段数据对象的候选数据字段赋值。根据本发明的一个实施例,只有在以下情况下数据字段才是映射候选:
·数据字段是活动片段数据对象的成员;
·在当前映射操作中为该数据字段赋值将不违背任何映射约束;并且
·分配为赋值操作所指定的值将不违背与该数据字段相关联的任何有效规则。
该方法包括在步骤520、560、580和610中创建片段数据对象之间的关系。本发明的一个实施例只在以下情况下允许创建片段数据对象之间的关系:
·如果该关系在当前映射操作中被创建,则该关系将不违背任何映射约束;并且
·该关系将不违背由任一片段数据对象的片段数据类所规定的任何有效规则。
被满足和未被满足的关系定义
根据本发明的一个实施例,如果两个片段数据对象之间的关系不违背给定的关系定义所施加的任何映射约束并且不违背应用于该关系定义的任何有效规则,则该关系符合所述给定的关系定义。
根据一个实施例,关系定义可以施加包括以下项的零个或多个约束:
·符合关系定义的关系的第一片段数据对象所允许的片段数据类;
·符合关系定义的关系的第二片段数据对象所允许的片段数据类;
·应用于符合关系定义的关系的映射约束;
·符合关系定义的关系的最小预期数目,例如1;以及
·符合关系定义的关系的最大预期数目,例如1。
如果存在的符合关系定义的关系比被指定的该关系定义的最小预期数目少,则该关系定义未被满足。
如果存在的符合关系定义的关系的数目与被指定的该关系定义的最大预期数目相同,则该关系定义被完全满足。
根据一个实施例,应用于包含关系的另一映射约束是片段数据对象不能是多于一个包含关系中的被包含者,即一些内容被包含在多于一个包含关系中。
如果满足以下条件,则给定关系符合关系定义:
·该关系的第一片段数据对象满足由关系定义为该第一片段数据对象指定的片段数据类;
·该关系的第二片段数据对象满足由关系定义为该第二片段数据对象指定的片段数据类;
·该关系不违背由关系定义规定的任何有效规则。
如果满足以下条件,则片段数据对象满足规定的片段数据类:
·该片段数据对象是相同片段数据类的数据对象;或者
·该片段数据对象是该规定的片段数据类的特化的数据对象。
如果满足以下条件,则关系满足关系定义:
·该关系符合关系定义;并且
·该关系定义尚未被一个或多个其它关系完全满足。
根据一个实施例,自动创建的两个片段数据对象之间的关系总是正好满足一个关系定义。此外,不要求手动创建的关系满足任一关系定义。
根据一个实施例,关系定义可以可选地规定其为强制关系定义,就是说,在合成数据消息中必须完全满足该关系定义。此外,如果合成数据消息包括未被满足的强制关系定义,并且用户触发包括保存该合成数据消息或者向一个或多个接收方发送该合成数据消息的操作,则该方法包括发布适当的错误消息并取消该操作。
根据另一实施例,关系定义可以可选地规定其只在工作流中的一个或多个特定阶段中,或者在其成员的片段数据对象的生命周期中的一个或多个特定阶段中为强制性的。
映射决定、映射考虑因素和映射信任级别
根据本发明的一个实施例,通过评估与自动映射决定的可能结果相关联的映射信任级别并选择具有最高映射级别的结果来做出自动映射决定。
映射决定包括:
·为活动片段数据对象确定临时片段数据类;
·为活动片段数据对象确定临时数据字段值;以及
·确定片段数据对象之间的关系。
为了确定临时片段数据类,该方法包括评估至少一个映射考虑因素,包括:
·可用的未被满足的包含关系定义;
·可用的未被满足的继承关系定义;以及
·可用的类级映射助手。
为了为活动片段数据对象确定临时数据字段值,该方法包括评估附加的映射考虑因素,包括可用的字段级映射助手。
根据一个实施例,映射考虑因素包括:
·映射考虑因素所应用的映射决定的范围,例如针对一种考虑因素的范围用于其中选择了临时片段数据类的任何映射决定;
·确定映射考虑因素是否与当前映射决定相关的机制;
·推荐结果,即在映射考虑因素相关的情况下根据该映射考虑因素使映射准确度最高的结果;以及
·至少一个信任级别的指示符,用于确定与映射考虑因素的推荐结果相关联的映射信任级别。
图15示出了说明在一个实施例中如何基于对至少一个可用映射考虑因素的评估来做出映射决定的伪代码。
根据一个实施例,每个结果的映射信任级别被初始化为实值数,例如0。根据一个实施例,给定结果的映射信任级别被初始化为该结果被验证作为映射决定的正确结果的相对频率。
根据一个实施例,每个映射考虑因素被分配一个信任级别指示符,映射考虑因素的信任级别指示符由指示在以下情况下映射准确度将被最大化的可能性的预定数构成:
·该映射考虑因素与映射决定相关;以及
·映射决定导致选择该映射考虑因素所推荐的结果。
例如,这样的信任级别指示符可以是实值数n,0≤n≤1。
此外,根据一个实施例,确定与给定结果相关联的映射信任级别包括计算推荐该结果的一组映射考虑因素的信任级别指示符的总和。通过将给定结果最初的映射信任级别与推荐同一结果的相关映射考虑因素的映射信任级别的总和相加,来确定该结果的最终映射信任级别。
确定临时片段数据类
参考图5,根据本发明的一个实施例,该方法包括在520和580中自动地为活动文本片段确定临时片段数据类。
根据一个实施例,在520中,当文本片段仍为空时,为新的文本确定临时片段数据类。因此,根据本实施例,该方法包括在520中根据在前的片段数据对象各自的片段数据类来分析未被满足的关系定义,以预期新的文本片段的可能的语义内容。
在580中,活动文本片段不再为空。因而,在580中,确定临时片段数据类还包括解析活动文本片段的已有标记号,并且利用映射助手来识别该文本片段的可能的语义内容。
图6中示出了用于为活动片段数据对象确定临时片段数据类的一个方法实施例,该图显示了简化流程。图5的步骤520和580均包括图6的实施例。当图6的实施例被图5的步骤520调用时,活动文本片段为空,并且因而图6的步骤720不被执行。当图6的实施例被图5的步骤580调用时,文本片段不为空,因而图6的步骤720被执行。
这里,该方法包括在670中初始化所有片段数据类的映射信任级别。根据一个实施例,所有片段数据类的映射信任级别被设为0。
在680中,该方法包括在与当前映射操作相关的可用模式中找到一组包含关系定义(如果有的话)。当包含关系定义被用作映射考虑因素时,该映射考虑因素的推荐结果是被指定为该包含关系定义中的被包含者的片段数据类。
在690中,该方法包括在合成数据消息所基于的消息模板中找到相关的继承方案(如果有的话)。
如果在690中,找到了相关的继承方案,则在700中,该方法包括在该相关的继承方案内找到一组相关的继承关系定义。当继承关系定义被用作映射考虑因素时,该映射考虑因素的推荐结果是被指定为该继承关系定义中的后继的片段数据类。
如果活动文本片段不为空,则在720中,该方法包括找到与当前映射决定相关的一组类级映射助手实例。在一个实施例中,通过解析活动文本片段的内容以检测规定指示符的存在来确定映射助手实例的相关性,所述指示符暗示映射助手实例是相关的。每个类级映射助手实例与作为该映射助手实例的推荐结果的片段数据类相关联。
此外,在730中,该方法包括评估与每个片段数据类相关联的映射信任级别,所述片段数据类是以下项中的至少一项的推荐结果:
·相关的包含关系定义;
·相关的继承关系定义;以及
·相关的映射助手实例。
该方法包括在740中检查在步骤730中分配的最大映射信任级别是否大于预定的映射信任级别阈值。根据一个实施例,映射信任级别阈值为0。根据另一实施例,步骤740不被执行。
如果步骤730中所分配的最大映射信任级别不超过映射信任级别阈值,则该方法包括在750中选择预定的缺省片段数据类作为临时片段数据类。此外,根据一个实施例,如果不存在这样的缺省片段数据类,则该方法包括在750中选择用户最频繁使用的片段数据类。根据替代实施例,如果不存在预定的缺省片段数据类,则所使用的最后被验证的片段数据类被再次选择。
如果在730中恰有一个片段数据类与所分配的最大映射信任级别相关联,并且该最大映射信任级别超过阈值,则该方法包括在760中选择该片段数据类。
如果在730中不止一个片段数据类与同一映射信任级别相关联,并且该映射信任级别是所分配的最大值且超过阈值,则在760中使用僵局打破方法(tie-breaker)。
图16示出了说明一个实施例中所使用的僵局打破方法的伪代码。
所选择的片段数据类被用作临时片段数据类。
图9示出了片段数据类的示例性继承分层结构,该结构例如可以被用在用于活动管理的合成数据消息中。根据图9,AnyText 870片段数据类是最一般的基类,所有其它的片段数据类都是该基类的特化。AnyText 870的直接特化包括Salutation(问候)880、BodyText(主体文本)890和Closure(关闭)900。AnyText 870的间接特化包括Activity(活动)910、Risk(风险)920和Issue(问题)930。作为Activity 910片段数据类的实例的片段数据对象具有数据字段:开始日期、到期日期、重要性和管理者。作为Task 940的实例的片段数据对象还包括数据字段:FileNotes(文件注释)和DocumentLinks(文档链接)。
使用包含关系定义作为映射考虑因素
根据本发明的一个实施例,每个可用包含关系定义可以用作映射考虑因素,使得:
·该映射考虑因素所应用的范围是确定临时片段数据类;以及
·该映射考虑因素的推荐结果是被指定为包含关系定义的被包含者的片段数据类。
图17示出了说明用于确定包含关系定义是否是当前映射操作中的相关映射考虑因素的一个方法实施例的伪代码。
根据一个实施例,对于每个包含关系定义,存储至少一个信任级别指示符。
图8中示出了一个示例性包含关系定义,该图示出了简化的UML类图。根据该示例,Risk 840片段数据类的实例包括零个或多个包含关系,其中Risk 840实例是包含者,而被包含者是Mitigation 850片段数据类的实例。此外,每个Mitigation 850实例包括零个或一个包含关系,其中被包含者是Residual Risk 860片段数据类的实例。
使用继承关系定义作为映射考虑因素
根据一个实施例,消息模板可以规定零个或多个可能的继承方案,以使得每个方案规定预定的片段数据类引用的有序序列。继承方案中的任意两个相邻的片段数据类引用构成一个继承关系定义。因而,包括不止一个片段数据类引用的继承方案还包括继承关系定义的有序序列。
根据一个实施例,在合成数据消息中,如果满足以下条件,则一对片段数据对象构成继承关系:
·两个片段数据对象都是同一包含者的被包含者;或者
·这两个片段数据对象都不是任何包含者的被包含者。
在形成继承关系的这样的相邻对中,第一片段数据对象为前驱,第二片段数据对象为后继。
在消息模板定义了不止一个继承方案的情况下,除非消息模板另外指定,否则消息模板中的第一继承方案是缺省继承方案。
根据图6中的一个实施例,步骤690包括找到相关的继承方案。
图18示出了说明用于找到相关的继承方案的一个方法实施例的伪代码。
根据一个实施例,给定继承方案的映射信任级别通过表1所描述的分段函数来得出:
表1
Figure A20068003406600571
  方案中的一个继承关系定义
根据一个实施例,最多一个继承方案可以与映射操作相关。此外,由消息模板定义阈值来指定被认为相关的继承方案所要求的最小映射信任级别。根据一个实施例,该阈值是实值数m,0≤m≤1,例如m为0。
如果发现这样的继承方案是相关的,则700中的方法包括在该相关的继承方案内找到相关的继承关系定义。从而,在相关的继承方案内可用的每个继承关系定义可作为映射考虑因素,使得:
·该映射考虑因素所应用的范围是确定临时片段数据类;以及
·该映射考虑因素的推荐结果是被指定为继承关系定义的后继的片段数据类。
图19示出了说明用于确定(在相关的继承方案中的)继承关系定义是否是当前映射操作中的相关映射考虑因素的一个方法实施例的伪代码。
根据一个实施例,对于每个继承关系定义,存储至少一个信任级别指示符。
图7示出了可被用于典型的合成数据消息的消息模板的继承方案的简化流程图。根据该继承序列,合成数据消息可能包括下列片段数据类:
·第一片段数据对象是Salutation 790片段数据类的实例。
·Salutation 790片段数据对象是继承关系中的前驱,该继承关系将BodyText 800片段数据类的实例作为后继。
·BodyText 800实例后面有零个或多个其它BodyText 810实例。
·最后的BodyText 800实例的后面是Closure 820片段数据类的实例。
使用类级映射助手作为映射考虑因素
根据本发明的一个实施例,步骤720(图6中)找到所有的相关类级映射助手,以帮助为活动文本片段确定临时片段数据类。
根据一个实施例,每个类级映射助手提供至少一个映射助手实例,其中每个实例作为映射考虑因素,使得:
·映射考虑因素所应用的范围是确定临时片段数据类;
·通过确定文本片段中是否存在特定的指示符来评估映射考虑因素的相关性;以及
·映射考虑因素的推荐结果是映射助手实例所指定的片段数据类。
图10示出了示例性类级映射助手实施例,词汇关系1030。这里,指示符是关键词或关键短语1010,并且该指示符与片段数据类1020(映射助手实例所推荐的结果)相关。在该示例中,活动文本片段中存在关键词“问题”表示两个映射考虑因素是相关的并且它们分别提供以下的推荐结果:
·所选择的临时片段数据类是“Bug”。
·所选择的临时片段数据类是“Business Issue”。
图11示出了类级映射助手的另一实例。在该实例中,使用语法关系1060,其中指示符是文本片段的语法结构1040,并且该指示符与片段数据类1050相关。在该实例中,如果活动文本片段的首句开始于疑问代词(例如“Where”),则两个映射考虑因素是相关的,并且它们分别提供以下的推荐结果:
·所选择的临时片段数据类是“Question”。
·所选择的临时片段数据类是“Task”。
本领域技术人员将理解有多种词汇和语法解析器是已知的。这些现有技术的解析器可被用于在活动文本片段中找到映射助手实例的指示符。
使用字段级映射助手作为映射考虑因素
根据本发明的一个实施例,步骤585(图5)在任何可能的情况下为活动片段数据对象的各个数据字段确定并分配数据字段值。
根据一个实施例,步骤585使用至少一个字段级映射助手。每个字段级映射助手提供至少一个映射助手实例,其中每个实例作为映射考虑因素,使得:
·映射考虑因素所应用的范围是为映射考虑因素所应用于的特定片段数据类中的特定数据字段确定临时值;
·如果文本片段中存在特定指示符并且相应的片段数据对象满足映射考虑因素所应用于的片段数据类,则映射考虑因素被认为是相关的;以及
·映射考虑因素的推荐结果是要被分配给活动片段数据对象中所包括的特定数据字段的值。
图12示出了示例性字段级映射助手,关系1110。这里,指示符是必须是特定片段数据类1080的活动片段数据对象,以及必须存在于针对要成为相关映射考虑因素的映射助手的活动文本片段中的特定关键词或关键短语1070。此外,对于每个关系实例,推荐结果包括包含要被赋值的相应片段数据对象的数据字段1090和要被分配的值1100的元组。
例如,当前被映射到类“Activity”的片段数据对象的文本片段中存在关键词“ASAP”意味着推荐结果是数据字段“Importance”被设为值“高”。
图13示出了另一示例性字段级映射助手,关系1160。这里,指示符是在被映射到特定的片段数据类1140的片段数据对象的文本片段中存在给定的搜索模式1130。本示例中的搜索模式被给定为常规表达。在本示例中,推荐结果是包括要被赋值的相应片段数据对象的数据字段1150和将搜索模式1130应用到文本片段所得到的结果的元组。
例如,在文本片段中存在标记号序列“Due by:”意味着在“by:”之后的值将被分配给数据字段“到期日期”。
为映射考虑因素确定信任级别指示符
根据本发明的一个实施例,每个可能的映射考虑因素被分配一个预定的信任级别指示符,即,每个关系定义和每个映射助手实例被分配一个预定的信任级别指示符。
根据一个实施例,至少一个映射考虑因素中的每一个都将被分配信任级别指示符。这里,多个映射考虑因素被表示为{MC1,MC2,MC3…MCn},其中n是映射考虑因素的数目,Cj表示第j个映射考虑因素的信任级别指示符。以下的分段函数确定Cj的值:
其中,kj是MCj相关的过去的文本片段映射决定的总数;m是文本片段的预定阈值数目,例如90;vj是MCj的推荐结果与过去的映射决定的最终经验证的结果相同的次数;并且Dj是MCj的预定的缺省信任级别指示符,例如是工厂缺省设置。
根据一个实施例,MCj被存储在持久性和/或临时性的存储器中,并且kj、vj和Dj被存储作为MCj的一部分。
创建片段数据对象
根据图5的实施例,该方法包括在520、560、580和610中创建片段数据对象。
根据一个实施例,创建新的片段数据对象包括通过将预定缺省值分配给该新的片段数据对象的数据字段,来初始化具有预定缺省值的任一数据字段。
根据一个实施例,如果在520、560、580和610中确定了新的片段数据类,并且新片段数据类和旧片段数据类中的一个是另一个的特化,则该方法包括:
·基于新的片段数据类创建新的临时片段数据对象,初始化该新的片段数据对象;
·对于新旧片段数据类共有的所有数据字段,将所有的数据字段值从旧片段数据对象拷贝到新片段数据对象的相应数据字段中;以及
·毁掉旧的片段数据对象。
此外,如果在520或580中基于临时片段数据类创建了片段数据对象,其中临时片段数据类是基于未被满足的包含关系定义而被确定的,则该方法包括在520和580中创建包含关系,以使得:
·其片段数据类包括未被满足的包含关系的在前的片段数据对象是新的包含关系的包含者;
·活动片段数据对象是新的包含关系的被包含者;并且
·新的包含关系满足先前未被满足的包含关系定义。
如果在520或580中基于临时片段数据类创建了片段数据对象,其中临时片段数据类是基于未被满足的继承关系定义而被确定的,则该方法包括在520和580中创建继承关系,以使得:
·其片段数据类包括未被满足的继承关系的在前的片段数据对象是新的继承关系的前驱;
·活动片段数据对象是新的继承关系的后继;并且
·新的继承关系满足先前未被满足的继承关系定义。
毁掉片段数据对象
根据图5的实施例,该方法包括在520、560、580和610中毁掉片段数据对象。
此外根据一个实施例,当片段数据对象被毁掉时,该方法包括:
·毁掉被毁掉的片段数据对象作为其成员的任一关系;以及
·将先前由于被毁掉的片段数据对象作为其成员的关系而被认为是被满足的任一关系定义认为是未被满足的。
手动改变当前映射操作的片段数据类
根据图5的实施例,用户可以在步骤560和610中为当前映射操作手动设置片段数据类。
此外,根据本发明的一个实施例,如果用户手动选择了与前一临时片段数据类不同的片段数据类,则该方法包括在560和610中:
·毁掉其中(基于前一片段数据类的)活动片段数据对象作为成员的任何关系;
·毁掉活动片段数据对象;
·基于手动选择的片段数据类创建新的活动片段数据对象;以及
·为新的活动片段数据对象创建适当的关系。
图20示出了说明用于为新的片段数据对象创建适当的关系的一个实施例的伪代码。
如果用户手动选择了与前一临时片段数据类不同的片段数据类,使得这两个片段数据类中的一个是另一个的特化,则该方法还包括在560和610中针对两个类所共有的所有数据字段,将基于前一片段数据类的片段数据对象的数据字段值拷贝到基于新的片段数据类的片段数据对象的相应字段中。
用户界面
图14示出了本发明的一个实施例的用户界面。该示例性用户界面分为两个主要部分:
·结构化数据分区1220;和
·自由文本分区1200。
结构化数据分区1220显示(即提供可视模型)包含在合成数据消息中的结构化数据并使其可编辑。
自由文本分区1200显示包含在合成数据消息中的自由文本并使其可编辑。
在一个实施例中,用包含分层布置的多个节点的结构化数据分区1220中的树(“数据树”)来表示结构化数据,以使得数据树的根节点表示合成数据消息中的所有数据,并且给定的非根节点表示:片段数据对象;或者片段数据对象的数据字段的名称和值。
数据树中的每个数据字段节点被表示为表示包括该数据字段的片段数据对象的节点的子节点。
本领域技术人员将会理解,在这样分层布置的树中,具有子节点的节点被称为“父”节点,而子节点被称为“子”节点。具有相同的父节点的节点被称为“兄弟”。
在一个实施例中,在非根节点N1表示数据对象O1并且节点N1具有表示数据对象O2的子节点N2的情况下,表示包含关系,即O1包含O2
此外,在节点N3表示数据对象O3且节点N4表示数据对象O4,并且N3和N4是兄弟且在数据树中N3在N4之前的情况下,表示O3与O4之间的继承关系,O3是前驱,O4是后继。
根据一个实施例,自由文本分区1200利用包含指示符1210并且通过缩进被包含文本片段来指示两个文本片段之间包含关系。自由文本分区1200利用相应的文本片段的相对位置来指示继承关系,使得前驱数据对象的文本片段出现在后继数据对象的文本片段之前。
因而,从上到下读出结构化数据分区1220中的整个扩展树将得到与从上到下读出自由文本分区1200中的文本片段时相同的读出顺序。在用户禁止将一个文本片段映射到片段数据对象的情况下,数据树在与该文本片段相对应的位置显示“无映射”节点,使得无映射节点标签向用户指示相应的文本片段的特殊状态。
在一个实施例中,在任意一个时间点处,只有一个文本片段及其相应的数据对象被认为是活动的。利用突出部分1170向用户指示活动片段数据对象。利用自由文本分区1200中的输入光标来向用户指示相应的文本片段。
因而,创建新的文本片段,相应的临时片段数据对象被显示在结构化数据分区1220中。根据新文本片段和其它文本片段的相对位置和包含关系来确定该临时片段数据对象相对于其它片段数据对象的位置。
从而,在在新创建的空消息中,临时片段数据对象被突出显示为数据树的第一非根节点,而输入光标位于自由文本分区1200中新的当前为空的第一文本片段的开始处。
在包括不止一个被映射的文本片段的合成数据消息中,用户可以利用选择屏幕上的单元的典型机制来在自由文本分区1200和结构化数据分区1220内选择另一活动对,包括:(a)利用鼠标点击;(b)利用另一间接指示设备;(c)利用箭头键;以及(d)在语音命令接口可用的情况下利用语音命令。
根据一个实施例,当用户在结构化数据分区1220内选择新的片段数据对象,从而选择新的活动对时,输入光标位于自由文本分区1200中的相应的文本片段的开始处。
自由文本分区1200根据典型的文字处理系统(例如Microsoft Word(TM)和Microsoft Notepad(TM))提供文本编辑设施。
在一个实施例中,结构化数据分区1220提供编辑设施以使得用户可以手动设定与特定文本片段相关联的类,例如从选择列表中选择。类似地,结构化数据分区1220提供用于为每个数据字段设定值的数据控制,以使得该数据控制适合于该数据字段的数据类型,例如:用于文本数据字段的编辑框;具有值列表的用于数据字段的下拉框;以及用于日期字段的下拉日历框。
每当用于映射文本片段的片段数据类改变时,例如当用户手动选择了另一片段数据类或者自动进程选择了新的临时数据类时,数据树更新以反映该新的片段数据类的名称和新创建的片段数据对象的数据字段。
类似地,当数据字段的值改变时,数据树更新以反映数据字段的新值。
当用户结束编写文本片段时,属性页面1230被显示以验证该文本片段的类和数据对象的数据字段值。根据一个实施例,属性页面1230紧接着文本片段的末尾被显示。属性页面1230自动地接收输入焦点。
根据一个实施例,属性页面1230包括以下项中的至少一项:
·显示活动片段数据对象的片段数据类的名称;
·显示活动片段数据对象的每个数据字段的名称和值;
·允许手动重置片段数据类;
·允许手动重置数据字段的值;
·允许手动接受显示在属性页面1230上的映射,包括用户已进行的手动改变;以及
·允许手动删除显示在属性页面1230上的映射,包括用户已进行的手动改变。
在一个实施例中,当属性页面被显示时,活动文本片段被突出以指示整个的文本片段正在被映射到属性页面中所显示的片段数据对象。
属性页面显示活动片段数据对象的数据字段的名称和值。如果用户手动重置片段数据类,从而触发了针对该文本片段的新的片段数据对象的创建,则属性页面1230被更新以反映新的数据对象的数据字段。
根据一个实施例,用于在属性页面1230上接受用户已进行的手动改变的机制包括:
·按下OK按钮;以及
·按下Enter键。
此外,用于在属性页面1230上删除用户已进行的手动改变的机制包括:
·按下Cancel按钮;以及
·按下Esc(“Escape”)键。
在一个实施例中,如果用户接受了显示在属性页面1230上的映射,则将触发:
·关闭属性页面;以及
·完成用户所调用的用以结束编写文本片段的操作,例如开始新的文本片段。
此外,如果用户删除了显示在属性页面1230上的映射,则将触发:
·关闭属性页面;
·保存在显示属性页面之前的活动片段数据对象的初始临时内容和经验证的内容;以及
·删除用户所调用的用以结束编写文本片段的操作,将输入焦点放在最近的活动文本片段上。
根据本发明的一个实施例,结构化数据分区1220允许手动创建和删除片段数据对象之间的关系。在一个实施例中,利用点击并拖动,用户可以按照与在熟知的Microsoft Windows Explorer(TM)界面中移动文件夹的方式相同的方式来移动数据树的各个节点。当表示片段数据对象的节点以这种方式被移动时,已有的关系被破坏。该方法还包括从节点在数据树中的新位置来推断所意指的包含和继承关系,并且根据这些推断出来的关系自动地创建新的关系。
此外,根据一个实施例,当表示片段数据对象的节点在数据树中被手动移动时,自由文本分区1200中的相应的文本片段被重新放置以匹配数据树。
消息模板
本发明的实施例使用消息模板。注意,这种对消息模板的使用不同于现有技术的系统中的使用,在现有技术的系统中,用户选择一个模板,然后根据该模板的字段被显示给用户以使得用户可以为这些字段提供数据。这种现有技术中对模板的使用类似于现有技术中对表格的使用。在本发明的实施例中,存在缺省消息模板,因此用户不需要明确的选择模板,此外,模板的字段的填写是自动的并且是编写过程的一部分,即,基于对自由文本的分析来确定结构化数据的一部分。
根据本发明的一个实施例,消息模板包括以下项中的至少一项:
·引用或者包括的一个或多个模式;
·各个片段数据类之间的零个或多个继承关系定义;
·要被拷贝到新创建的合成数据消息中的零个或多个预定的文本片段和相应的片段数据对象;
·要被应用于新创建的合成数据消息中的预定文本片段的零个或多个格式化规范;
·在新创建的合成数据消息的上下文中可用的零个或多个格式化风格;
·对预定行为的零个或多个引用和/或包括,例如宏,以及针对这些行为中的每个行为的至少一个触发;以及
·对工作流的引用或包括。
根据一个实施例,当创建新的合成数据消息时,可用消息模板的列表被显示给用户,该列表提供了用于为新的合成数据消息手动选择消息模板的机制。此外,根据一个实施例,预定的缺省消息模板是可用的并且用户可以在不明确选择消息模板的情况下创建新的合成数据消息。如果用户选择在不明确选择消息模板的情况下创建新的合成数据消息,则新的合成数据消息基于缺省消息模板。
根据一个实施例,使新的合成数据消息基于消息模板包括:
·使可用于合成数据消息的消息模板的模式和继承关系定义可用;
·按照消息模板所指定的顺序将任何预定的文本片段和相应的片段数据对象拷贝到新创建的合成数据消息中;
·将被指定用于消息模板中的预定文本片段的任何格式化规范应用于被拷贝到新创建的合成数据消息中的相应文本片段;
·使消息模板的任何预定行为对于新创建的合成数据消息可用;以及
·执行在利用消息模板和编写软件系统创建合成数据消息时被指定运行的任何预定行为。
根据一个实施例,消息模板本身是存储在已知格式的文件中的消息,例如根据用于消息模板的全球XSD规范的XML文件。消息模板利用对包含在合成数据消息内的模板的位置引用(例如URL),仍然可以访问基于该消息模板的合成消息。
根据一个实施例,消息模板中所引用的每个模式本身是存储在已知格式(例如XSD)的文件中的消息。
此外,根据一个实施例,每个模式包括用于结合该模式中所定义的类一起使用的映射助手。
工作流和生命周期
根据本发明的一个实施例,合成数据消息的状态根据由该合成数据消息所依据的消息模板定义的工作流的可选和强制阶段的预定序列进行发展。合成数据消息存储对其在工作流中的当前阶段的引用。
工作流定义了针对工作流中的每个阶段的至少一个触发条件。当针对给定阶段的所有触发条件都评估为真时,认为到达该阶段,并且合成数据消息更新其工作流阶段引用。例如,工作流中的给定阶段具有以下触发条件:
·合成数据消息的当前工作流阶段是给定阶段的前一阶段;以及
·合成数据消息正在被具有指定的安全配置的用户修改。
此外,根据本发明的一个实施例,片段数据对象的状态根据由片段数据对象的片段数据类定义的生命周期的可选和强制阶段的预定序列进行发展。片段数据对象存储对其在生命周期中的当前阶段的引用。
生命周期定义了针对生命周期中的每个阶段的至少一个触发条件。当所有触发条件都评估为真时,认为到达该阶段,并且片段数据对象更新其生命周期阶段引用。
在存储器中表示合成数据消息
根据本发明的一个实施例,合成数据消息被表示在暂时性存储器(例如,RAM)中,或者被表示在持久性存储器(例如硬盘)中。根据另一实施例,用在网络上传送的数据来表示合成数据消息。
根据一个实施例,每个合成数据消息供至少一个接收方接收,其中每个这样的接收方都是人。根据另一实施例,接收方中的一些是计算机实现的储存机构(例如数据库)和/或计算机实现的仿真代理(artificialagent)。
此外,根据一个实施例,合成数据消息被例如作为电子邮件从编写者发送到接收方,这种传输经由网络,例如局域网(“LAN”)或因特网。电子邮件的主体包括被组织成标签划界的元素的XML文档。对于每个这样的元素,对该元素进行划界的标签标识该元素的名称和该元素的内容的意思。在一个实施例中,主体的XML文档包括:
(a)XML文档的最高级元素;
(b)包括合成数据消息的自由文本的元素;
(c)对合成数据消息所依据的文档模板的引用;
(d)对针对合成数据消息有效的每个模式的引用;
(e)针对工作流信息的元素,该元素的属性标识工作流,并且该元素的内容标识工作流中合成数据消息的当前阶段;
(f)示合成数据消息的结构化数据的递归嵌套元素结构,其包括有序的一组至少一个用于表示片段数据对象的元素,以使得:
(i)对于每个片段数据对象,存在一个表示该片段数据对象的元素,使得该元素的名称标识所表示的片段数据对象的片段数据类;
(ii)表示片段数据对象的每个元素还包括一个属性,使得该属性的值指示在消息的自由文本中的与所表示的片段数据对象相对应的文本片段的开始;
(iii)表示片段数据对象的每个元素还包括一个属性,使得该属性的值指示在消息的自由文本中的与所表示的片段数据对象相对应的文本片段的结束;
(iv)表示片段数据对象的每个元素还包括针对所表示的片段数据对象的每个数据字段的一个元素(“子元素”),使得每个子元素的名称标识所表示的数据字段的名称,该子元素的属性标识所表示的数据字段的数据类型,并且该子元素的内容指示所表示的数据字段的值;
(v)对于合成数据消息中的每个包含关系,表示该关系的包含者片段数据对象的元素包括表示该关系的被包含者片段数据对象的元素;
(vi)对于合成数据消息中的每个继承关系,表示该关系的前驱片段数据对象的元素在表示该关系的后继片段数据对象的元素之前;
(vii)表示片段数据对象的每个元素还包括针对生命周期信息的元素(“生命周期元素”),使得该生命周期元素的属性标识应用于所表示的片段数据对象的生命周期,并且该生命周期元素的内容标识片段数据对象在该生命周期中的当前阶段。
根据一个实施例,以上对合成数据消息的XML表示还被用于在永久性存储器中表示合成数据消息。
根据一个实施例,在编写期间,合成数据消息被表示在暂时性存储器中,使得合成数据消息的暂时性存储器表示包括:
(a)用于存储合成数据消息的自由文本的存储器结构,例如文本缓存;
(b)对合成数据消息所依据的文档模板的引用;
(c)对针对合成数据消息有效的每个模式的引用;
(d)对应用于合成数据消息的工作流的引用;
(e)对合成数据消息在可应用的工作流中的当前阶段的引用;
(f)每个片段数据对象的存储器结构包括:
(i)针对每个数据字段,用于该数据字段的数据类型的足够的存储器空间,该存储器空间被设置为该数据字段的值;
(ii)对自由文本缓存中的相应文本片段的开始的引用;
(iii)对自由文本缓存中的相应文本片段的结束的引用;
(iv)对片段数据对象的片段数据类的引用;
(v)针对片段数据对象的每个被包含者,对该被包含者的引用;
(vi)针对片段数据对象的每个包含者,对该包含者的引用;
(vii)针对片段数据对象的每个后继,对该后继的引用;
(viii)针对片段数据对象的每个前驱,对该前驱的引用;
(ix)对片段数据对象在应用于该片段数据对象的生命周期中的当前阶段的引用。
本领域技术人员将会理解例如在C++中存在熟知的现有技术的方法,用于将存储器对象链接到该存储器对象所依据的类定义,所述存储器对象例如上述用于将片段数据对象存储在暂时性存储器中的存储器对象。此外,这些现有技术提供了大量的方法,用于实现针对类的特定实例和针对作为整体的类的行为。
替代实施例
通用方法:替代实施例
在图5中所示的实施例中,确定临时片段数据类的步骤580和确定临时片段数据对象的步骤585作为手动编写文本片段的过程的一部分而被执行。在某些情况下,希望减少在编写过程中的计算开销。因而,根据一个替代实施例,步骤580和585被推迟到用户指示编写当前文本片段的过程已完成之后,例如用户键入为文本片段划界的标记号之后。
此外,在某些情况下,用户不想在编辑每个单独的文本片段完成时验证片段数据对象。因而,根据另一替代实施例,根据步骤610验证片段数据对象被推迟,一直到发生了触发事件,例如发生了以下事件:
·用户手动触发验证过程;
·用户结束对合成数据消息的编写;或者
·预定数目的临时片段数据对象需要验证。
如果验证被推迟且存在至少两个临时片段数据对象,并且用户手动改变其中一个临时片段数据对象的片段数据类,则该方法包括:
·毁掉旧的片段数据对象;
·基于手动选择的片段数据类创建新的片段数据对象;
·重新确定新的片段数据对象的临时数据字段值;
·重新确定作为活动片段数据对象的被包含者的每个片段数据对象的临时片段数据类;并且
·为新创建的片段数据对象的后继的每个片段数据对象重新确定临时片段数据类和数据字段值。
有很多不同的确定合成数据消息中的各个文本片段的范围的方式。一些示例包括:
·其中每个文本片段的长度为一句的实施例;
·其中每个文本片段的长度为一段的实施例;
·其中使用用户可定义的特殊标记号或多个标记号的序列来为文本片段划界的实施例;
·其中用户不手动指示每个文本片段的范围的实施例,但是该实施例自动确定文本片段的末端,例如在相应的映射操作已为相应的片段数据对象的所有强制字段成功赋值时确定到达文本片段的末端。
此外,一个替代实施例包括首先确定是否需要映射活动文本片段。例如,文本片段可能只是一个感叹词,例如“Ouch!”,或者预定的一组标准常用语句中的一个,例如“How are you?”。
在一些情况下,需要提供强硬的策略来编写特定类型的合成数据消息。例如,在一种情况下,优选地是特定类型的合成数据消息符合特定的共用标准。因而,根据一个替代实施例,当合成数据消息被首先创建时,相关的临时片段数据对象被提前创建(forward-created),以使得立即向用户呈现针对该消息的期望结果。根据消息模板中所包括的提前创建方案来创建被提前创建的片段数据对象。
根据一个替代实施例,当用户进行对合成数据消息的编写和验证时,提前确定的临时片段数据对象被重新确定。
根据另一替代实施例,片段数据对象可能与可从合成数据消息的外部得到的信息相关。在该实施例中,在585中确定临时数据字段值的步骤包括使用在片段数据对象中已被捕获的任一标识信息来在外部软件系统中查找相关信息,并且如果可行,则该方法还包括使用该信息来确定其余的临时数据字段值。
例如,片段数据对象表示外部客户关系管理(CRM)软件系统中的客户记录。因而,当客户片段数据对象被创建并且客户的ID号码被分配给相关的数据字段时,为客户片段数据类定义的行为包括访问CRM软件系统,搜索具有给定ID的客户,以及自动填写该客户片段数据对象的名称、联系信息和定购历史数据字段。可创建多个附加的片段数据对象来容纳这些信息。
此外,根据本发明的另一替代实施例,该方法包括基于先前所创建并填写的片段数据对象来书写标准化的自由文本。例如,在要作为信件的合适数据消息中,用户已填写了前一示例的客户片段数据对象,并且正在触发在信件头部的标准化地址框的创建。在一个实施例中,该方法根据针对信件的地址框的标准布局和格式化规范来书写客户的名称和相关的联系信息。
在一个实施例中,每个片段数据类定义指定零个或多个自由文本生成行为,以使得一些行为应用于各个数据字段,一些行为应用于整个类,并且一些行为应用于类和该类的关系定义。用户可以选择性地触发这种自由文本生成行为。此外,当触发自由文本生成时,用户可以指定如何插入新生成的自由文本。例如,用户可以指定:
·新生成的自由文本将代替与片段数据对象相对应的文本片段;
·新生成的自由文本将紧接在与片段数据对象相对应的文本片段之后;以及
·新生成的自由文本将紧挨着地放在与片段数据对象相对应的文本片段之前。
关系:替代实施例
根据替代实施例,除了以上讨论的包含和继承关系之外,还存在其它关系类型。这些其它关系类型的实例包括:
依赖关系,其中一个片段数据对象的语义内容依赖于另一片段数据对象的语义内容,例如两个活动之间的时间顺序依赖,其中第一活动必须在第二活动开始之前完成。
扩展关系,其中一个片段数据对象的语义内容是另一片段数据对象的语义内容的扩展,例如排定的活动和扩展该排定的活动的原始规范的变化请求之间的扩展关系。
替换关系,其中一个片段数据对象的语义内容替换另一片段数据对象的语义内容,例如排定的活动已被另一活动取代。
根据一个替代实施例,使用连接相关的片段数据对象的彩色线来在用户界面中表示这些附加关系,给定关系线的颜色指示出关系类型。此外,用户手动创建这些关系的一种方式是使用点击并拖动技术来将一个片段数据对象移动到将与其相关的片段数据对象的上部。如果由于多种可能的关系类型而使得不确定新的关系是哪种关系类型,则将具有可能选项的菜单呈现给用户。
此外,在一些情况下,优选禁止创建未基于已建立的关系定义的关系。因而,根据本发明的一个替代实施例,只有关系满足关系定义时,才能创建该关系。根据另一替代实施例,这种限制仅应用于可能的关系类型中的一些。根据另一替代实施例,这种限制仅应用于一些特定的关系定义。
根据另一替代实施例,可以形成消息间的关系,其中一个合成数据消息中的片段数据对象是与另一合成数据消息中的另一片段数据对象的关系的成员。优选地,构建消息间的关系,以使得每个片段数据对象具有对另一片段数据对象的适当的引用,该引用包括以下项中的至少一项:
·另一合成数据消息的位置。
·针对另一合成数据消息的相关访问方法,该访问方法还包括用于检测关系是否不再有效的机制。
·对另一合成数据消息内的片段数据对象的引用。
·用于手动毁掉消息间的关系的机制。
消息间的关系变为无效的原因例如包括以下原因中的一个(或多个):
·成员片段数据对象中的一个被毁掉;
·合成数据消息中的一个被删除;
·合成数据消息中的一个变得对于用户而言不可访问;和/或
·在另一合成数据消息中该关系已被毁掉。
如果访问方法确定由于一个关系在另一合成数据消息中已被毁掉而使得该关系已变为无效的,则该方法包括自动毁掉调用该访问方法的合成数据消息中的关系引用。
根据另一替代实施例,一些关系类型可以包括三个或更多个片段数据对象。
根据另一实施例,片段数据类不仅包括包含关系,而且包括零个或多个继承关系定义,其中该类的片段数据对象是前驱。消息模板不包含任何继承方案。在一个实施例中,图6的步骤690和695不被执行,并且在步骤700中,该方法还包括:
·确定在活动片段数据对象之前的片段数据对象的片段数据类是否包括至少一个未被满足的继承关系定义;以及
·当使用每个未被满足的继承关系定义作为相关的映射考虑因素时,确定是否存在至少一个这样的未被满足的继承关系定义。
此外,在一个实施例中,在映射操作期间自动创建的关系是临时的,还需要用户的验证。在一个实施例中,验证还包括显示自动创建的关系并提示用户验证这些关系。在验证片段数据对象时,对于每个相关的片段数据对象,相应的文本片段和关系类型的摘要被显示在用于验证的属性页面上。该实施例允许用户毁掉关系和认可关系。
映射:替代实施例
参考图5,在步骤520和580中确定临时片段数据类以及在步骤585中确定临时数据字段值时,有很多在各种情况下提高各个映射决定的映射准确度的替代实施例。
根据一个替代实施例,确定与映射决定中的特定结果相关联的映射信任级别的步骤包括例如考虑以下问题中的至少一个:
·过去该结果的出现频率;
·过去支持该结果的每个相关映射考虑因素使映射准确度最大化的频率;和/或
·过去支持该结果的每个相关映射考虑因素未能使映射准确度最大
化的频率。
在一个实施例中,为了确定在给定的映射操作中的给定结果R的映射信任级别,其中n个映射考虑因素{MC1,MC2,MC3…MCn}被发现是相关的并且都推荐结果R,应用下表2中所示的信任级别指示符:
表2
 信任级别 记号
 映射考虑因素的推荐结果R是映射决定的正确结果的概率 P(R)
 在映射决定的正确结果也是第j个映射考虑因素的推荐结果R的情况下,第j个映射考虑因素MCj与该映射决定相关的概率 P(j|R)
 在映射决定的正确结果不是第j个映射考虑因素的推荐结果R的情况下,第j个映射考虑因素MCj与该映射决定相关的概率 P(j|□R)
在一个实施例中,关于映射决定的正确结果是否是结果R的映射信任级别按以下方式确定:
Figure A20068003406600761
根据另一实施例,当确定临时片段数据类使用关系定义作为映射考虑因素时,可以仅与具有未被满足的关系定义、且相对于活动片段数据对象最近的前一个片段数据对象一起工作。在一个实施例中,所有未被满足的关系定义被认为是相关的,对于这些未被满足的关系定义而言,第一片段数据类被前一片段数据对象满足。然而,该实施例调节了信任级别指示符,以使得给定的相关关系定义的信任级别指示符与活动片段数据对象和在前的片段数据对象之间的片段数据对象的数目成比例地降低。
根据另一替代实施例,对用于每个映射考虑因素的信任级别指示符的选择依赖于所使用的消息模板。每个映射考虑因素被指定一组缺省信任级别指示符。消息模板包括零个或多个信任级别指示符重写(override),以使得每个重写规定:
·值;
·应用该重写的映射考虑因素;以及
·应用该重写的信任级别指示符。
在一个实施例中,当做出映射决定时,确定一个结果的映射信任级别的步骤使用合成数据消息所依据的消息模板中的信任级别重写的值,而不是使用与相关映射考虑因素相关联的缺省值。只有在没有可用的重写时,才使用缺省值。这在由于合成数据消息的性质和目的而使得映射决定的结果可能不同的情况下是很有用的。
类似地,其它替代实施例还允许将这种信任级别指示符重写与关于合成数据消息的其它方面相关联,这些方面包括:
·工作流阶段,以针对特定的工作流阶段重写信任级别指示符;
·生命周期阶段,以针对特定的生命周期阶段重写信任级别指示符;
·安全配置,以针对作为特定安全配置的成员的用户重写信任级别指示符;
·用户身份,以针对零个或多个指定用户重写信任级别指示符,例如在指定用户是合成数据消息的接收方的情况下;以及
·合作任务类型,以针对特定类型的合作任务(例如软件开放工程)重写信任级别指示符。
此外,根据一个实施例,对映射助手的使用有预定的优先顺序。在一个实施例中。在映射决定中较早使用的映射助手的结果被使用,以取消对其它映射助手实例的后续评估,因为其它映射助手实例不再被认为是相关的,从而节省了执行时间。另一替代实施例是一旦已发现了一个结果并且与该结果相关联的映射信任级别超过了预定的映射信任级别阈值,就停止评估映射助手实例。
根据另一实施例,给定的字段级的映射助手的每个实例包括用于确定映射助手实例与针对给定的片段数据类的片段数据对象的指示数据字段的推荐值的相关性的条件逻辑。例如,图21示出了映射助手应用于类“Mitigation”的片段数据对象的条件逻辑的伪代码。
根据另一映射助手实施例,该方法包括:
·确定合成数据消息是否与其它合成数据消息相关,例如该合成数据消息是对在前的合成数据消息的答复;
·为出现在相关合成数据消息中的片段数据类计算更高的映射信任级别;以及
·为满足相关合成数据消息中的至少一个未被满足的关系定义的被包含者的片段数据类计算更高的映射信任级别。
信任级别指示符
有很多方法来确定信任级别指示符的初始值和与映射考虑因素相关联的信任级别指示符重写以及随着时间改善这些值。这一部分的讨论应用于信任级别指示符和信任级别指示符重写,并且对于一个的引用也应被当作对另一个的引用。
为了确定给定的信任级别指示符的初始值,替代实施例包括:
·使用工厂缺省设定;
·如果用户是用户团体的成员,则拷贝团体平均值作为相应的信任级别指示符;
·如果用户是一个组织的成员并且该组织具有一组信任级别指示符的标准值,则拷贝针对该信任级别指示符的标准值;以及
·基于预期的使用配置(例如根据用户的责任而定的使用配置)来初始化该值。
根据一个替代实施例,如果信任级别指示符是概率,则通过跟踪针对该信任级别指示符的适当的相对频率来来确定该概率。例如,如果信任级别指示符是给定的片段数据类是映射决定的正确结果的概率,则通过将特定的片段数据类是正确结果的次数除以得到被选择的片段数据类的映射决定的总数,来确定相对频率。
此外,根据替代实施例,不仅为个体用户测量观测到的相对频率,还为给定用户所属的用户团体测量观测到的相对频率。因而,如果特定用户没有编写足够数量的合成数据消息以使得相对频率具有统计代表性,则这些针对该用户的整个用户团体所观测到的值被用作重写。
用户界面:替代实施例
虽然图14以简化的形式示出了用于编写结构化电子消息的一个用户界面实施例,但是还存在很多图14的用户界面的替代实施例。
当硬件在某些方面受到限制时,在一个版本中,用户界面被调整以适合于受限的硬件。例如,假设一个人在具有有限的屏幕大小的硬件上进行操作,例如个人数字助理(PDA)。根据本发明的一个方面,用户界面调整为不包括结构化数据分区1220,以使得该信息可应用在具有有限的屏幕大小的硬件上。
结构化数据分区1220的数据树可以用另一种用于显示片段数据对象和它们之间的关系的机制来代替。例如,根据一个实施例,结构化数据分区1220包括一个脑图(mind-map),其中片段数据对象被表示成通过由“思考线(thought-line)”表示的关系连接的节点。根据更简单的实施例,用片段数据对象的线性列表来代替数据树,并且在另一列表中以文本形式表示关系,该列表进行更新以显示指示出活动片段数据对象的关系的条目。
根据另一替代实施例,数据树还包括一种重包含机制(例如,弹出菜单),用于映射先前被标记为“未被映射”的节点。当未被映射的节点被重新包括以进行映射时,该方法包括:
·根据图5的步骤580和585确定临时片段数据类,创建临时片段数据对象并分配临时数据字段的值;以及
·根据图5的步骤620和585验证临时片段数据对象。
此外,根据一个实施例,属性页面1230被显示为弹出对话框。根据另一实施例,属性页面1230作为主屏幕的一部分被显示在固定的位置处。
根据另一实施例,针对活动文本片段的范围的可视指示符被连续显示,例如一对彩色补注符号(caret),一个在文本片段的开始处,另一个在文本片段的末尾处。
此外,根据本发明的另一替代实施例,通过下划线来指示重要的标记号。重要的标记号包括以下两种或其中之一:
·被用于确定映射考虑因素是相关的的标记号,其中该映射考虑因素的推荐结果是活动片段数据对象的临时片段数据类;以及
·被用于确定数据字段的值的标记号。
一个实施例允许用户在没有验证在前的活动对和验证步骤被推迟的情况下激活新的文本片段/片段数据对象对。在一个实施例中,例如通过突出显示来指示不活动的和未被验证的文本片段和/或片段数据对象。
在存储器中表示合成数据消息:替代实施例
根据一个替代实施例,合成数据消息作为电子邮件的一部分被发送,以使得合成数据消息的自由文本被包括在电子邮件的主体中,并且合成数据消息的结构化数据是作为该电子邮件的附件的文档,例如XML文件。
根据另一替代实施例,该方法包括将合成数据消息所依据的消息模板嵌入到该消息中,以使得该消息包括模板的信息。
根据另一替代实施例,该方法包括将可用于合成数据消息的模式嵌入到该消息中,以使得该消息包括每个可用模式的信息。
此外,根据一个实施例,片段数据对象的存储器表示(例如,XML文档中的XML元素)不仅包括片段数据对象的结构化数据,而且包括与片段数据对象相对应的文本片段的自由文本。在一个实施例中,合成数据消息的自由文本被存储在片段数据对象内。
根据替代实施例,关系数据库被用于持久保持合成数据消息。本领域技术人员将会理解用于在关系数据库系统中表示这些信息的技术是公知的。
类似地,根据另一替代实施例,关系数据库被用于存储以下项中的任一项:
·消息模板;或
·模式(包括相关联的映射助手)。
本领域技术人员将会理解有很多种在持久性存储器中存储与本发明相关联的信息的方式,包括专属二进制格式文件、对象关系数据库和面向对象数据库。
此外,在一些类型的硬件(例如一些个人数字助理(PDA))中,不存在临时存储器,并且当前程序状态通常是被立即写入持久性存储器中。因此,可在这种硬件上实现的实施例不需要用于在临时存储器中表示合成数据消息、消息模板和模式的单独的一组存储器结构。
本领域技术人员将会理解还存在很多的实施例,用于在临时存储器、永久性存储器内和作为用于通过计算机网络向至少一个接收方发送的数据的一部分来表示合成数据消息。
其它方面:替代实施例
根据一个替代实施例,图5的610中验证临时片段数据类和数据字段值的步骤被简化以仅向用户提供认可和拒绝临时片段数据对象的机制,例如具有OK和Cancel按钮的名为“Verify”的对话框。如果用户例如通过按下Cancel按钮拒绝了临时片段数据对象,则该对话框被关闭,调用验证的操作被中止并且用户返回到按照步骤560的编写环境下。如果用户例如通过按下OK按钮验证了临时数据片段对象,则该片段数据对象被认为是经验证的并且调用验证步骤的操作完成。
本领域技术人员将会理解可以利用各种现有技术的方法获得性能的改进。例如,批量执行对用于存储片段数据对象的临时和永久存储器结构的创建和破坏。根据一个实施例,代替一次创建一个片段数据对象存储器结构,一次性创建和初始化多个片段数据对象存储器结构。然后,这些存储器结构根据需要被使用,而不需要在使用时用于分配存储器和初始化数据字段的附加时间。类似地,根据另一实施例,破坏片段数据对象包括将存储器结构标记为不再需要的,但是该存储器结构的实际释放和任何减少内部存储器分段的工作都被推迟。这些被推迟的活动可以周期性地在已减少的系统使用期间被执行。
本领域技术人员将会理解,还可以通过提前计算频繁使用的中间结果并将它们缓存在高速存储器中来实现很多速度上的改进,例如在所要求的时间之前预先计算中间结果并缓存这些中间结果。例如,根据一个实施例,通过计算大量的源值(例如概率)来确定针对各个映射考虑因素的信任级别指示符。在一个版本中,一旦已计算出信任级别指示符,该信任级别指示符就被缓存在计算机存储器中。在一个实施例中,信任级别指示符的值是以规则的相对不太频繁的间隔(例如每天)来被重新确定的。根据另一实施例,仅在已编写了预定数量的合成数据消息时,才重新确定被缓存的信任级别指示符。
使用实施例的特征
本发明的用于编写合成数据消息的方法可被用于得到表示自由文本的相应主体的语义内容的结构化数据。此外,本发明允许修改各个实施例以针对个体用户和用户团体最大化映射准确度。
例如,根据一个实施例,自动的经验学习方法对过去的合成数据消息中所有的经验证映射进行训练,以提高针对将来的类似消息的映射准确度,所述类似消息例如由相同用户编写的合成数据消息和在同一组内的用户所编写的合成数据消息。本领域技术人员将会理解在本领域中有很多这样的经验学习方法,例如神经网络。
此外,其它实施例使用现有技术中存在的用于自然语言处理的方法来提高映射准确度,特别是提高依赖对自由文本的语法分析的映射助手的准确度。
根据另一实施例,映射决定使用现有技术中用于确定自由文本文档内的特定关键词与该自由文本的语义内容如何相关的方法作为一种类型的映射助手。例如,该实施例在如下情况下为该映射助手的推荐结果生成更高的映射信任级别,所述情况包括映射助手实例的指示符在文本片段中被多次重复,以及所述指示符出现在文本片段中的显著位置。
本领域技术人员将会理解存在很多使用已知技术的组合来提高自由文本到结构化数据的转换决定的准确度的实施例。
另外,在其它替代实施例中,使用包含在外部软件系统(例如工作流软件系统和活动管理软件系统)中的信息来最大化映射准确度。例如,给定一个工程计划,一个替代实施例根据该工程计划来确定当前用户的当前活动,并且使用该信息来为表示活动合成数据消息中所包括的相关活动的片段数据对象自动分配临时到期日期的值。
类似地,可以使用外部软件系统(例如插件)中所包含的功能来解析自由文本片段并返回用作映射助手的信息。
本发明的其它实施例较少地把重点放在对映射准确度的最大化上,而是在新的合成数据消息被首先创建并且用户被鼓励或要求根据自动创建的组件的继承和数据字段的需要来编写自由文本时,自动创建零个或多个片段数据对象和关系。通常,这些自动创建的数据对象和关系符合合成数据消息所依据的消息模板中所包括的规范。
实施例在片段数据类和关系的体系结构方面有所不同。例如,根据一个实施例,不存在针对片段数据类的特化机制。
此外,实施例可以在它们的用户界面以及用于与用户通信的技术方面有所不同。一些实施例提供针对特定硬件限制(例如,较小的屏幕大小)而修改的替代用户界面。其它实施例提供替代的用户界面来利用特定的可用硬件和软件特征,例如用于编写自由文本的语音识别软件系统。一些实施例在被显示组件的相对位置方面有所不同。
被用于表示结构化数据的用户界面组件将随着实施例被设计建模的信息类型的不同而变化。
此外,本领域技术人员将会理解,存在这样的实施例,其中根据本发明编写的消息不被立即发送到一个或多个接收方。例如,合成数据消息被保存为文档文件,以在之后可选地发送给至少一个接收方。
根据另一实施例,编写者是合成数据消息的至少一个接收方中的一个。
虽然在上述实施例中,用户提供消息的自由文本片段,并且临时结构化数据被呈现给该用户,但是在其它实施例中,消息的自由文本可以由不同的用户提供,例如以接收到的消息的形式。然后,该方法按本文所描述的方式进行以将消息的自由文本片段转换成结构化数据,包括将临时结构化数据呈现给用户。在这些其它实施例中,用户不一定是自由文本片段的原始创建者。
本领域技术人员将会理解,软件系统内容组件的名称可以不同于表示相同组件的显示给人员用户的名称(“外部名称”)。因此,根据一个实施例,类和它们相应的数据字段都具有内部名称和外部名称,其中只有外部名称被用于显示给人员用户。
注意在“面向对象”设计中常用的技术被用在对一些实施例的描述中。此外,面向对象的编程方法被用于实现一些实施例或者它们的多个方面。然而,本发明不局限于面向对象的方法,并且可以使用非面向对象的方法来实现。阅读本说明书的本领域技术人员将会理解如何使用面向对象的方法的替代方法来实现这里所描述的元素。
此外,本发明可以使用任何计算机编程软件、固件或硬件的组合来实现。
本领域技术人员将会理解存在针对各种合成数据消息格式的实施例,包括用于通过电子邮件、即时消息和SMS传输的格式。
在整个说明书中,所示出的实施例和示例应当被认为是示例性的,而不应认为是对本发明的限制。
例如,虽然英语是在示例中所使用的自由文本语言,但是本发明可应用于任何书写语言的文本消息。
注意,这里所描述的方法可被编码成软件。
除非特别说明,否则根据下面的讨论可以理解,整个说明书的讨论使用了诸如“处理”、“计算”、“确定”之类的术语,指的是计算机或计算系统或者操纵和/或将被表示为物理量的数据转换成被类似地表示为物理量的其它数据的类似的电子计算设备。
类似地,术语“处理器”可以指代处理来自寄存器和/或存储器的电子数据以将该电子数据转换成可被存储在寄存器和/或存储器中的其它电子数据的任意设备或设备的一部分。“计算机”或“计算机器”或“计算平台”可包括一个或多个处理器。
在一个实施例中,这里所描述的方法是可以用机器来实现的,该机器包括接受计算机可读指令的一个或多个处理器。对于这里所描述的方法中的任一种方法,当指令被机器执行时,该机器实现该方法。包括能够执行规定了要由机器执行的动作的一组指令(顺序的或者其它形式的)的任意机器。因而,一种典型的机器例如包括一个或多个处理器的典型的处理系统。每个处理器可以包括CPU、图形处理单元和可编程DSP单元中的一个或多个。该处理系统还可包括包含主RAM和/或静态RAM和/或ROM的存储器子系统。可以包括总线子系统,用于组件之间的通信。如果处理系统需要显示器,则可以包括诸如液晶显示器(LCD)或阴极射线管(CRT)显示器之类的显示器。如果需要手动数据输入,则该处理系统还包括诸如键盘之类字符输入单元、诸如鼠标之类的定点控制设备等的输入设备。这里所使用的术语“存储器单元”还包括诸如磁盘驱动单元之类的存储系统。在一些配置中,处理系统可以包括声音输出设备和网络接口设备。因而,存储器子系统包括承载计算机可读指令(例如软件、程序)的承载介质,所述指令包括用于在被处理系统执行时执行这里所描述的一个或多个方法的指令。在计算机系统执行期间,软件可以位于硬盘中,或者也可以全部或至少部分地位于RAM内和/或处理器内。因而,存储器和处理器也构成了承载机器可读代码的承载介质。
在替代实施例中,机器操作为单机设备或者可以被连接(例如被联网)到联网部署中的其它机器,该机器可操作为服务器-客户端网络环境中的服务器或客户端机器,或者作为对等或分布式网络环境中的对等机器。该机器可以是个人计算机(PC)、桌上型PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web设备、网络路由器、交换机或网桥、或者任何能够执行规定了要由机器执行的动作的一组指令(顺序的或者其它形式的)的任意机器。
注意,虽然一些示图仅示出了一个处理器和承载代码的一个存储器,但是本领域技术人员将会理解可以包括上述的很多个组件,没有明确显示或描述是为了不模糊本发明的内容。例如,虽然只示出了一个机器,但是术语“机器”也应被认为是包括单独地或联合地执行用于实现这里所讨论的任何一个或多个方法的一组或多组指令的机器的集合。
因而,这里所描述的每个方法的一个实施例采用在处理系统上执行的计算机程序的形式。因而,本领域技术人员将会理解,本发明的实施例可以被实现为一种方法、诸如专用装置之类的装置、诸如数据处理系统之类的装置、或者承载介质,例如计算机程序产品。承载介质承载一个或多个计算机可读指令,这些指令在被处理系统的一个或多个处理器执行时使该处理系统执行方法。因此,本发明的多个方面采用方法、完全是硬件的实施例、完全是软件的实施例或者组合了软件和硬件的实施例的形式。此外,本发明可以采用承载包括在承载介质中的计算机可读程序指令的承载介质(例如,计算机可读存储介质上的计算机程序产品)的形式。
软件还可以经由网络接口设备在网络上被发送或接收。虽然在示例性实施例中承载介质被显示为单个介质,但是术语“承载介质”应当被认为是包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的缓存和服务器)。术语“承载介质”还应当被认为包括能够存储、编码或承载一组指令的任何介质,所述指令由机器执行并使得该机器执行本发明的任何一个或多个方法。承载介质可以采用很多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质例如包括光盘、磁盘和磁光盘。易失性介质包括动态存储器,例如主存储器。传输介质包括同轴电缆、铜电线和光纤,包括包含总线子系统的电线。传输介质还可以采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的那些波。例如,术语“承载介质”应当被认为包括但不限于固态存储器、光和磁介质以及载波信号。
将会理解在一个实施例中,利用执行存储在存储装置中的指令的处理系统(即,计算机)的适当的处理器(或多个处理器)来执行所讨论的方法的步骤。还将理解本发明不局限于任何特定的实现方式或编程技术,并且本发明可以使用用于实现这里所描述的功能的任何合适的技术来实现。本发明不局限于任何特定的编程语言或操作系统。
整个说明书中对“一个实施例”或“实施例”的引用指的是结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因而,在整个说明书的各个地方出现的短语“在一个实施例中”或“在实施例中”不一定都指相同的实施例,但是也可能指相同的实施例。此外,本领域普通技术人员根据本公开可以清楚,特定的特征、结构或特性可以按任何适当的方式被合并在一个或多个实施例中。
类似地,应当理解在以上对本发明的示例性实施例的描述中,为了简化本公开并且帮助理解各个发明方面中的一个或多个方面,本发明的各个特征有时被组合在一个实施例、附图及其描述中。但是,所公开的方法不能被解释为反映了所要求保护的发明需要比每个权利要求中所明确描述的特征更多的特征的意图。相反,如所附权利要求所反映的,发明方面包括少于前面所公开的单个实施例的全部特征。因而,在该详细描述之后的权利要求明显被包括在该详细描述中,每个权利要求自身作为本发明的一个单独的实施例。
此外,虽然这里所描述的一些实施例包括其它实施例中所包括的一些特征,而不包括其中所包括的其它特征,但是不同实施例的特征的组合希望在本发明的范围内,并且形成了不同的实施例,这是本领域技术人员应当理解的。例如,在所附权利要求中,所要求保护的实施例中的任一个都可以用在任何组合实施例中。
此外,一些实施例在这里被描述为可以由计算机系统的处理器或者执行功能的其它装置来实现的方法或者方法的要素的组合。因而,具有用于执行这种方法或方法的要素的必要指令的处理器构成了用于执行该方法或方法的要素的装置。此外,这里所描述的装置实施例的要素是用于为了执行本发明的目的而执行该要素所要实现的功能的装置的示例。
在这里所提供的描述中,给出了大量的特定细节。但是,应当理解本发明的实施例可以在没有这些特定细节的情况下被实践。在其它实例中,为了不模糊对本说明书的理解,没有详细示出一些公知的方法、结构和技术。
除非另外规定的之外,这里所使用的用于描述共同对象的顺序形容词“第一”、“第二”、“第三”等只是表明所指代的是相似对象的不同实例,而不希望暗示所描述的这些对象必须在时间上、空间上、等级上或任何其它方面按照给定的顺序。
这里所引述的所有公开、专利和专利申请都通过引用结合于此。
在这里的说明书和权利要求中,术语“包括”是开放式术语,其表示包括之后的至少一个元件/特征,但不排除其它的。因而,用在权利要求中的“包括”不应当被解释为仅限于其后所列出的那些装置、元件或步骤。例如,表述“设备包括A和B”的范围不应当被限制为仅由元件A和B构成的设备。这里所使用的术语“包含”也是开放式术语,其表示包含该术语之后的至少一个元件/特征,但不排除其它的。因而,“包含”和“包括”在意思上是相同的。
类似地,应当注意权利要求中所使用的术语“耦接”不应当被解释为局限为只是直接连接。术语“耦接”、“连接”及其派生词都可以使用。应当理解,这些术语不希望作为彼此的同义词。因而,表述“设备A被耦接到设备B”的范围不应被限制为这样的设备或系统,其中设备A的输出被直接连接到设备B的输入。其意思是在设备A的输出和设备B的输入之间存在路径,该路径可以是包括其它设备或装置的路径。“被耦接”可以表示两个或多个元件直接物理接触或电接触,或者两个或多个元件彼此不直接接触,但是彼此合作或交互。
因而,虽然已经描述了本发明的优选实施例,但是本领域技术人员将意识到在不脱离本发明的精神的情况下可以对它们进行其它的修改,并且希望所有这些改变和修改都落在本发明的范围内。例如,以上给出的任何方案只是表示可能被使用的过程。可以在框图中添加或删除功能,并且操作可以在功能框之间互换。在本发明的范围内,可以为所描述的方法添加或删除步骤。

Claims (67)

1.一种用于根据自由文本消息提供结构化数据以发送给一个或多个接收方的方法,该方法包括:
(a)接受指示所述消息中的文本片段的输入;
(b)分析所接受的输入以确定是否满足一个或多个预定的文本条件;
(c)在确定满足预定条件中的一个或多个的情况下,向用户提供指示与所接受的输入相对应的建议结构化数据的输出;
(d)从所述用户接受指示对所述建议结构化数据的选择性修改和/或认可的附加输入;以及
(e)重复步骤(a)到(d),直到指示包括在所述消息中的所有文本片段的所有数据都被接受和分析为止,
从而使得在指示包括在所述消息中的所有文本片段的所有数据都被接受和分析并且其所述结构化数据被修改和认可的情况下,所述被认可的结构化数据和所述消息两者或其中之一可被发送到一个或多个接收方。
2.如权利要求1所述的方法,还包括:
(f)在指示包括在所述消息中的所有文本片段的所有数据都被接受和分析并且其所述结构化数据被修改和认可的情况下,将所述被认可的结构化数据和所述消息两者或其中之一发送到一个或多个接收方。
3.如权利要求2所述的方法,其中所述(f)中的发送是响应于由所述用户提供的将发送的明示命令而进行的。
4.如权利要求2所述的方法,其中所述(f)中的发送是响应于所有文本和结构化数据被认可的明示命令而进行的。
5.如权利要求1所述的方法,其中所述消息是由所述用户创建的。
6.如权利要求1所述的方法,其中所述消息是由不同于所述用户的另一用户创建的。
7.如权利要求1所述的方法,其中所述文本片段被提供为自由文本。
8.如权利要求7所述的方法,其中所述(b)中的分析包括以下分析两者或者其中之一:分析所接受的与所述文本片段相对应的输入,和分析所述文本片段与一个或多个先前接受的与文本片段相对应的输入之间的关系。
9.如权利要求7所述的方法,其中所述(b)中的分析包括以下分析两者或者其中之一:分析所接受的与所述文本片段相对应的输入,和分析与一个或多个先前接受的与文本片段相对应的输入相对应的被认可的结构化数据。
10.如权利要求7所述的方法,其中所述自由文本在编写电子消息期间被提供。
11.如权利要求1所述的方法,其中一个或多个预定的文本条件与一个或多个结构化数据类型相关联,并且所述建议结构化数据包括具有与被满足的文本条件相关联的结构化数据类型的一种或多种结构化数据。
12.如权利要求11所述的方法,包括提供用于将文本条件与结构化数据类型相关联的结构。
13.如权利要求11所述的方法,其中所述方法是在某种环境下被实现的,并且所述文本条件与结构化数据类型的关联是特定于环境的。
14.如权利要求11所述的方法,包括标识一个或多个与所述被满足的文本条件相关联的结构化数据类型的步骤。
15.如权利要求14所述的方法,包括分析所述一个或多个被标识的结构化数据类型以标识优选的结构化数据类型的步骤。
16.如权利要求15所述的方法,其中所述优选的结构化数据类型包括所述被标识的结构化数据类型中的一个或多个或全部。
17.如权利要求15所述的方法,其中分析所述一个或多个被标识的结构化数据类型包括应用映射协议。
18.如权利要求17所述的方法,其中所述映射协议包括信任级别评估。
19.如权利要求17所述的方法,其中所述映射协议包括对先前被认可的结构化数据的评估。
20.如权利要求17所述的方法,其中所述映射协议包括对与所述用户相关联的一个或多个属性的分析。
21.如权利要求17所述的方法,其中所述映射协议包括对与所述接收方中的一个或多个接收方相关联的一个或多个属性的分析。
22.如权利要求17所述的方法,其中所述映射协议包括对与所述用户和所述接收方中的一个或多个接收方相关的一个或多个关系属性的分析。
23.如权利要求17所述的方法,其中所述映射协议包括对与相关的消息相关联的一个或多个属性的分析。
24.如权利要求17所述的方法,其中所述映射协议包括对已被所述用户选择的消息模板的考虑。
25.如权利要求17所述的方法,其中所述映射协议包括对与一个或多个数据类型相关联的一个或多个属性的分析。
26.如权利要求17所述的方法,其中所述映射协议包括通过学习算法所获得的数据的应用。
27.如权利要求11所述的方法,其中每个数据类型指示一个或多个细节字段。
28.如权利要求27所述的方法,其中指示所述建议结构化数据的输出提供包括在所述建议结构化数据中的结构化数据类型所指示的细节字段中一个或多个细节字段。
29.如权利要求28所述的方法,其中提供指示对所述建议结构化数据的选择性修改和/或认可的附加输入包括编辑和/或认可所提供的细节字段中的信息。
30.如权利要求29所述的方法,其中只有在所提供的细节字段中的每一个都被填写的情况下才允许发送。
31.如权利要求28所述的方法,其中所提供的细节字段中的一个或多个基于对所述文本的分析而被自动填写。
32.如权利要求27所述的方法,其中对于每种数据类型,所述细节字段与所述数据类型的多个方面有关。
33.如权利要求32所述的方法,其中所述细节字段包括与最终期限或其它日期相关的一个或多个细节字段。
34.如权利要求32所述的方法,其中所述细节字段包括与分类相关的一个或多个细节字段。
35.如权利要求32所述的方法,其中所述细节字段包括与资源分配相关的一个或多个细节字段。
36.如权利要求32所述的方法,其中所述细节字段包括与优先级等级相关的一个或多个细节字段。
37.如权利要求32所述的方法,其中所述细节字段包括与责任分配相关的一个或多个细节字段。
38.如权利要求32所述的方法,其中所述细节字段包括与任务接受或拒绝相关的一个或多个细节字段。
39.如权利要求29所述的方法,其中所述细节字段和所述数据类型两者或其中的任一个作为可修改组件被提供在图形化用户界面中。
40.如权利要求1所述的方法,其中提供指示所述建议结构化数据的信号的步骤在满足一个或多个预定条件时被执行。
41.如权利要求40所述的方法,其中所述一个或多个预定条件包括以下项中的一个或多个:
用户输入;
指示从所述用户那里接收指示文本的输入结束的输入;以及
指示从所述用户那里接收指示离散文本片段的输入结束的输入。
42.如权利要求41所述的方法,其中指示离散文本片段的输入包括指示文本的段落的输入。
43.如权利要求1所述的方法,其中所述文本通过图形化用户界面在自由文本消息字段中被显示给所述用户,并且指示所述建议结构化数据的信号被提供在所述自由文本消息字段中、所述自由文本消息字段上或其附近。
44.如权利要求43所述的方法,其中所述信号包括指示所述建议结构化文本的树图。
45.如权利要求44所述的方法,其中所述树图被提供在所述自由文本消息字段旁边的结构化文本预览字段中。
46.如权利要求43所述的方法,其中所述信号包括周期性地叠加在所述自由文本消息字段上的一个或多个可修改项。
47.如权利要求1所述的方法,其中指示被认可的结构化数据的信号被提供给信息管理系统。
48.如权利要求47所述的方法,其中所述信息管理系统是活动管理系统。
49.如权利要求47所述的方法,其中所述信息管理系统响应于指示所述被认可的结构化数据的信号,以更新数据库中的一个或多个记录。
50.如权利要求47所述的方法,其中所述信息管理系统响应于指示所述被认可的结构化数据的信号,以提供指示后续动作的信号。
51.如权利要求47所述的方法,其中所述指示所述被认可的结构化数据的信号响应于一个或多个预定条件得到满足而被提供给所述信息管理系统。
52.如权利要求51所述的方法,其中所述一个或多个预定条件包括用于提供包括所述文本的电子消息的用户命令。
53.如权利要求1所述的方法,其中所述一个或多个预定文本条件包括存在一个或多个预定的关键词。
54.如权利要求1所述的方法,其中所述一个或多个预定文本条件包括存在一个或多个预定的语法结构。
55.如权利要求1所述的方法,其中所述一个或多个预定文本条件包括存在一个或多个预定的文本结构。
56.如权利要求1所述的方法,其中所述一个或多个预定文本条件包括存在一个或多个预定的标识符。
57.如权利要求55所述的方法,其中所述一个或多个预定的文本结构包括被结构化以标识日期或其它时间点的文本。
58.如权利要求56所述的方法,其中所述一个或多个预定标识符指示一个或多个资源、项目、工程、人或位置。
59.如权利要求1所述的方法,其中所述消息由单个文本片段构成。
60.如权利要求1所述的方法,其中在(c)中所提供的输出包括在图形化用户界面中呈现的一个或多个可修改组件。
61.一种承载指令集的计算机可读承载介质,所述指令集在被一个或多个处理器执行时,使得所述一个或多个处理器执行用于根据用户所编写的消息提供结构化数据以发送给一个或多个接收方的方法,所述方法包括:
(a)接受指示所述用户所编写的文本片段的输入;
(b)分析所接受的输入以确定是否满足一个或多个预定的文本条件;
(c)在确定满足所述预定的条件中的一个或多个的情况下,向所述用户提供指示与所接受的输入相对应的建议结构化数据的输出;
(d)从所述用户接受指示对所述建议结构化数据的选择性修改和/或认可的附加输入;以及
(e)重复步骤(a)到(d),直到指示包括在所述消息中的所有文
本片段的所有数据都被接受和分析为止,
从而使得在指示包括在所述消息中的所有文本片段的所有数据都被接受和分析并且其所述结构化数据被修改和认可的情况下,所述被认可的结构化数据和所述消息两者或其中之一可被发送到一个或多个接收方。
62.如权利要求61所述的承载介质,其中所述方法还包括:
(f)在指示包括在所述消息中的所有文本片段的所有数据都被接受和分析并且所述结构化数据被修改和认可的情况下,将所述被认可的结构化数据和所述消息两者或其中之一发送到一个或多个接收方。
63.如权利要求61所述的承载介质,其中所述承载介质是承载可被所述一个或多个处理器中的至少一个处理器检测并且表示所述指令集的传播信号的介质。
64.如权利要求61所述的承载介质,其中所述承载介质是承载可被所述一个或多个处理器中的至少一个处理器检测并且表示所述指令集的传播信号的载波。
65.如权利要求61所述的承载介质,其中所述承载介质是承载可被所述一个或多个处理器中的至少一个处理器检测并且表示所述指令集的传播信号的网络中的传输介质。
66.一种包括用于执行如前述任一权利要求所述的方法的指令集的计算机程序或计算机程序产品。
67.一种用于根据自由文本消息提供结构化数据以发送给一个或多个接收方的装置,所述装置包括:
(a)用于接受指示所述消息的文本片段的输入的装置;
(b)用于分析所接受的输入以确定是否满足一个或多个预定的文本条件的装置;
(c)用于在确定满足预定的条件中的一个或多个的情况下,向所述用户提供指示与所接受的输入相对应的建议结构化数据的输出的装置;
(d)用于从所述用户接受指示对所述建议结构化数据的选择性修改和/或认可的附加输入的装置;以及
(e)用于重复步骤(a)到(d),直到指示包括在所述消息中的所有文本片段的所有数据都被接受和分析为止,
从而使得在指示包括在所述消息中的所有文本片段的所有数据都被接受和分析并且其所述结构化数据被修改和认可的情况下,所述被认可的结构化数据和所述消息两者或其中之一可被发送到一个或多个接收方的装置。
CNA2006800340666A 2005-07-15 2006-07-17 用于为自由文本消息提供结构化数据的方法和装置 Pending CN101283350A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70004105P 2005-07-15 2005-07-15
US60/700,041 2005-07-15

Publications (1)

Publication Number Publication Date
CN101283350A true CN101283350A (zh) 2008-10-08

Family

ID=37668340

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800340666A Pending CN101283350A (zh) 2005-07-15 2006-07-17 用于为自由文本消息提供结构化数据的方法和装置

Country Status (7)

Country Link
US (1) US20070016614A1 (zh)
EP (1) EP1907945A4 (zh)
JP (1) JP2009501370A (zh)
CN (1) CN101283350A (zh)
AU (1) AU2006272442B2 (zh)
CA (1) CA2614653A1 (zh)
WO (1) WO2007009168A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778101B (zh) * 2009-12-31 2012-10-03 卓望数码技术(深圳)有限公司 一种消息传送方法和消息传送系统
CN104077320A (zh) * 2013-03-29 2014-10-01 北京百度网讯科技有限公司 一种用于生成待发布信息的方法和装置
WO2017049917A1 (zh) * 2015-09-23 2017-03-30 九玉(北京)科技有限公司 一种邮件处理方法及装置
CN108228606A (zh) * 2016-12-14 2018-06-29 北京国双科技有限公司 数据的写入方法及装置
CN109977271A (zh) * 2019-04-29 2019-07-05 华北理工大学 一种大数据处理系统及其处理方法
CN110197192A (zh) * 2018-02-26 2019-09-03 国际商业机器公司 自然语言处理、查询构建和分类
CN110569314A (zh) * 2018-06-05 2019-12-13 阿里巴巴集团控股有限公司 结构化数据生成方法、装置、设备及存储介质
TWI785924B (zh) * 2021-12-09 2022-12-01 英業達股份有限公司 整合結構化數據的心智圖建立與顯示系統及其方法

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070041041A1 (en) * 2004-12-08 2007-02-22 Werner Engbrocks Method and computer program product for conversion of an input document data stream with one or more documents into a structured data file, and computer program product as well as method for generation of a rule set for such a method
US20070208587A1 (en) * 2005-12-08 2007-09-06 Arun Sitaraman Systems, software, and methods for communication-based business process messaging
US10796390B2 (en) * 2006-07-03 2020-10-06 3M Innovative Properties Company System and method for medical coding of vascular interventional radiology procedures
US20080016093A1 (en) * 2006-07-11 2008-01-17 Clement Lambert Dickey Apparatus, system, and method for subtraction of taxonomic elements
US8300877B2 (en) * 2007-02-20 2012-10-30 Sony Mobile Communications Ab Copy protected information distribution
US9880980B2 (en) * 2007-03-05 2018-01-30 International Business Machines Corporation Document transformation performance via incremental fragment transformations
US9165056B2 (en) * 2008-06-19 2015-10-20 Microsoft Technology Licensing, Llc Generation and use of an email frequent word list
US8356024B2 (en) * 2008-10-27 2013-01-15 Yosef Mintz System and method to retrieve search results from a distributed database
US20100199176A1 (en) * 2009-02-02 2010-08-05 Chronqvist Fredrik A Electronic device with text prediction function and method
US20100325315A1 (en) * 2009-06-23 2010-12-23 Alon Novy Systems and methods for context-sensitive presentation of activity management data
US8732145B1 (en) * 2009-07-22 2014-05-20 Intuit Inc. Virtual environment for data-described applications
US20110167080A1 (en) * 2009-07-24 2011-07-07 eFaqt B.V. Method and apparatus for guided learning of an information source
US8312058B2 (en) * 2009-09-01 2012-11-13 International Business Machines Corporation Method of providing element dossiers that include elements from nonadjacent lifecycle phases
US8996984B2 (en) * 2010-04-29 2015-03-31 International Business Machines Corporation Automatic visual preview of non-visual data
US8392390B2 (en) * 2010-05-28 2013-03-05 Microsoft Corporation Assisted content authoring
CN101887416B (zh) * 2010-06-29 2012-07-11 魔极科技(北京)有限公司 一种将文字转化为图形的方法
US9135358B2 (en) * 2010-10-20 2015-09-15 Microsoft Technology Licensing, Llc Result types for conditional data display
EP2633490A4 (en) * 2010-10-25 2014-12-03 Hewlett Packard Development Co REALIZING AN INFORMATION MANAGEMENT
KR101530634B1 (ko) * 2010-11-01 2015-06-23 한국전자통신연구원 체험형 학습 콘텐츠 저작 장치 및 방법
US9323722B1 (en) 2010-12-07 2016-04-26 Google Inc. Low-latency interactive user interface
US8799269B2 (en) 2012-01-03 2014-08-05 International Business Machines Corporation Optimizing map/reduce searches by using synthetic events
US20130311166A1 (en) * 2012-05-15 2013-11-21 Andre Yanpolsky Domain-Specific Natural-Language Processing Engine
US8903813B2 (en) 2012-07-02 2014-12-02 International Business Machines Corporation Context-based electronic document search using a synthetic event
US8898165B2 (en) 2012-07-02 2014-11-25 International Business Machines Corporation Identification of null sets in a context-based electronic document search
US9460200B2 (en) 2012-07-02 2016-10-04 International Business Machines Corporation Activity recommendation based on a context-based electronic files search
US9262499B2 (en) 2012-08-08 2016-02-16 International Business Machines Corporation Context-based graphical database
US8959119B2 (en) * 2012-08-27 2015-02-17 International Business Machines Corporation Context-based graph-relational intersect derived database
US10169446B1 (en) * 2012-09-10 2019-01-01 Amazon Technologies, Inc. Relational modeler and renderer for non-relational data
US9251237B2 (en) 2012-09-11 2016-02-02 International Business Machines Corporation User-specific synthetic context object matching
US8620958B1 (en) 2012-09-11 2013-12-31 International Business Machines Corporation Dimensionally constrained synthetic context objects database
US9619580B2 (en) 2012-09-11 2017-04-11 International Business Machines Corporation Generation of synthetic context objects
US9223846B2 (en) 2012-09-18 2015-12-29 International Business Machines Corporation Context-based navigation through a database
US8782777B2 (en) 2012-09-27 2014-07-15 International Business Machines Corporation Use of synthetic context-based objects to secure data stores
US9741138B2 (en) 2012-10-10 2017-08-22 International Business Machines Corporation Node cluster relationships in a graph database
US8782535B2 (en) 2012-11-14 2014-07-15 International Business Machines Corporation Associating electronic conference session content with an electronic calendar
US8931109B2 (en) 2012-11-19 2015-01-06 International Business Machines Corporation Context-based security screening for accessing data
US8983981B2 (en) 2013-01-02 2015-03-17 International Business Machines Corporation Conformed dimensional and context-based data gravity wells
US9229932B2 (en) 2013-01-02 2016-01-05 International Business Machines Corporation Conformed dimensional data gravity wells
US8914413B2 (en) 2013-01-02 2014-12-16 International Business Machines Corporation Context-based data gravity wells
US9053102B2 (en) 2013-01-31 2015-06-09 International Business Machines Corporation Generation of synthetic context frameworks for dimensionally constrained hierarchical synthetic context-based objects
US8856946B2 (en) 2013-01-31 2014-10-07 International Business Machines Corporation Security filter for context-based data gravity wells
US9069752B2 (en) 2013-01-31 2015-06-30 International Business Machines Corporation Measuring and displaying facets in context-based conformed dimensional data gravity wells
US9292506B2 (en) 2013-02-28 2016-03-22 International Business Machines Corporation Dynamic generation of demonstrative aids for a meeting
JP6375592B2 (ja) * 2013-03-12 2018-08-22 株式会社リコー 情報処理装置及び情報処理方法並びにプログラム
US10037352B1 (en) * 2013-03-18 2018-07-31 The Boston Consulting Group, Inc. Methods for editing hierarchical data
US10152526B2 (en) 2013-04-11 2018-12-11 International Business Machines Corporation Generation of synthetic context objects using bounded context objects
US9195608B2 (en) 2013-05-17 2015-11-24 International Business Machines Corporation Stored data analysis
US9348794B2 (en) 2013-05-17 2016-05-24 International Business Machines Corporation Population of context-based data gravity wells
WO2015094328A1 (en) * 2013-12-20 2015-06-25 Hewlett-Packard Development Company, L.P. Message association with a case based on a case handle
US9348901B2 (en) * 2014-01-27 2016-05-24 Metricstream, Inc. System and method for rule based classification of a text fragment
US9497153B2 (en) * 2014-01-30 2016-11-15 Google Inc. Associating a segment of an electronic message with one or more segment addressees
EP3108419A4 (en) * 2014-02-17 2017-11-01 Unify Square, Inc. Unified communication service deployment system
US20150339310A1 (en) * 2014-05-20 2015-11-26 Andreas Kurt PURSCHE System for recommending related-content analysis in an authoring environment
WO2016122632A1 (en) * 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Collaborative investigation of security indicators
KR102598273B1 (ko) * 2015-09-01 2023-11-06 삼성전자주식회사 답신 메시지 추천 방법 및 이를 위한 디바이스
US10169079B2 (en) * 2015-12-11 2019-01-01 International Business Machines Corporation Task status tracking and update system
CN107222383B (zh) * 2016-03-21 2021-05-04 清华大学 一种对话管理方法和系统
WO2018067368A1 (en) 2016-10-04 2018-04-12 Google Llc Hierarchical annotation of dialog acts
DE102017121780B4 (de) * 2016-10-04 2023-06-15 Google Inc. Hierarchische Annotation von Dialogakten
US10986061B2 (en) * 2017-01-16 2021-04-20 Ercan TURFAN Knowledge-based structured communication system
US11367049B2 (en) * 2017-05-02 2022-06-21 Clari Inc. Method and system for identifying emails and calendar events associated with projects of an enterprise entity
US11693906B2 (en) 2017-06-13 2023-07-04 Oracle International Comporation Method and system for using access patterns to suggest or sort objects
US10846283B2 (en) * 2017-06-13 2020-11-24 Oracle International Corporation Method and system for defining an adaptive polymorphic data model
US10706053B2 (en) 2017-06-13 2020-07-07 Oracle International Corporation Method and system for defining an object-agnostic offlinable data storage model
US10762286B2 (en) * 2017-09-21 2020-09-01 Payformix LLC Automated electronic form generation
KR102052033B1 (ko) * 2018-06-11 2020-01-08 김병진 다양한 구조화 방식들로 인스턴트 메시지들을 조직화하고 표시하기 위한 장치 및 방법
CN108897728B (zh) * 2018-06-27 2023-04-07 平安科技(深圳)有限公司 短信拼接处理方法、装置、计算机设备和存储介质
KR102052034B1 (ko) * 2018-06-28 2019-12-04 김병진 인스턴트 메시지 조직화 및 표시 장치 및 방법
JP6822448B2 (ja) * 2018-07-26 2021-01-27 株式会社リコー 情報処理装置及び情報処理方法並びにプログラム
CN109410939B (zh) * 2018-11-29 2022-03-08 中国人民解放军91977部队 基于语音指令集的通用数据维护方法
US11076038B2 (en) * 2019-12-31 2021-07-27 Bye! Accident Llc Reviewing message-based communications via a keyboard application
CN113536749A (zh) * 2020-04-22 2021-10-22 微软技术许可有限责任公司 提供表单服务辅助
US11443101B2 (en) * 2020-11-03 2022-09-13 International Business Machine Corporation Flexible pseudo-parsing of dense semi-structured text
CN112822190B (zh) * 2021-01-05 2023-07-14 银清科技有限公司 报文维护方法及装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5208748A (en) * 1985-11-18 1993-05-04 Action Technologies, Inc. Method and apparatus for structuring and managing human communications by explicitly defining the types of communications permitted between participants
US5216603A (en) * 1985-11-18 1993-06-01 Action Technologies, Inc. Method and apparatus for structuring and managing human communications by explicitly defining the types of communications permitted between participants
US5265014A (en) * 1990-04-10 1993-11-23 Hewlett-Packard Company Multi-modal user interface
US5630069A (en) * 1993-01-15 1997-05-13 Action Technologies, Inc. Method and apparatus for creating workflow maps of business processes
JPH09501517A (ja) * 1993-02-08 1997-02-10 アクション・テクノロジーズ・インコーポレーテッド 業務処理を管理するための方法および装置
US6058413A (en) * 1993-02-25 2000-05-02 Action Technologies, Inc. Method and apparatus for utilizing a standard transaction format to provide application platform and a medium independent representation and transfer of data for the management of business process and their workflows
US5734837A (en) * 1994-01-14 1998-03-31 Action Technologies, Inc. Method and apparatus for building business process applications in terms of its workflows
US6026410A (en) * 1997-02-10 2000-02-15 Actioneer, Inc. Information organization and collaboration tool for processing notes and action requests in computer systems
US7146381B1 (en) * 1997-02-10 2006-12-05 Actioneer, Inc. Information organization and collaboration tool for processing notes and action requests in computer systems
US6029171A (en) * 1997-02-10 2000-02-22 Actioneer, Inc. Method and apparatus for group action processing between users of a collaboration system
AU9513198A (en) 1997-09-30 1999-04-23 Ihc Health Services, Inc. Aprobabilistic system for natural language processing
US6304848B1 (en) 1998-08-13 2001-10-16 Medical Manager Corp. Medical record forming and storing apparatus and medical record and method related to same
WO2002046886A2 (en) 2000-11-07 2002-06-13 Antaeus Healthcom, Inc. D.B.A. Ascriptus, Inc. System for the creation of database and structured information from verbal input
US6714939B2 (en) * 2001-01-08 2004-03-30 Softface, Inc. Creation of structured data from plain text
JP2002222185A (ja) * 2001-01-25 2002-08-09 Sharp Corp 構造化文書共有装置、構造化文書共有方法及び構造化文書のファイル共有システム
US6799718B2 (en) * 2001-07-10 2004-10-05 Borland Software Corp. Development assistance for mixed-language sources
US7051023B2 (en) * 2003-04-04 2006-05-23 Yahoo! Inc. Systems and methods for generating concept units from search queries
US7739588B2 (en) * 2003-06-27 2010-06-15 Microsoft Corporation Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US7158980B2 (en) * 2003-10-02 2007-01-02 Acer Incorporated Method and apparatus for computerized extracting of scheduling information from a natural language e-mail
US6973332B2 (en) * 2003-10-24 2005-12-06 Motorola, Inc. Apparatus and method for forming compound words
US8200487B2 (en) * 2003-11-21 2012-06-12 Nuance Communications Austria Gmbh Text segmentation and label assignment with user interaction by means of topic specific language models and topic-specific label statistics

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778101B (zh) * 2009-12-31 2012-10-03 卓望数码技术(深圳)有限公司 一种消息传送方法和消息传送系统
CN104077320A (zh) * 2013-03-29 2014-10-01 北京百度网讯科技有限公司 一种用于生成待发布信息的方法和装置
CN104077320B (zh) * 2013-03-29 2019-12-17 北京百度网讯科技有限公司 一种用于生成待发布信息的方法和装置
WO2017049917A1 (zh) * 2015-09-23 2017-03-30 九玉(北京)科技有限公司 一种邮件处理方法及装置
CN108228606A (zh) * 2016-12-14 2018-06-29 北京国双科技有限公司 数据的写入方法及装置
CN110197192A (zh) * 2018-02-26 2019-09-03 国际商业机器公司 自然语言处理、查询构建和分类
CN110569314A (zh) * 2018-06-05 2019-12-13 阿里巴巴集团控股有限公司 结构化数据生成方法、装置、设备及存储介质
CN110569314B (zh) * 2018-06-05 2023-05-05 阿里巴巴集团控股有限公司 结构化数据生成方法、装置、设备及存储介质
CN109977271A (zh) * 2019-04-29 2019-07-05 华北理工大学 一种大数据处理系统及其处理方法
CN109977271B (zh) * 2019-04-29 2022-12-20 重庆憨牛技术创新服务有限公司 一种大数据处理系统及其处理方法
TWI785924B (zh) * 2021-12-09 2022-12-01 英業達股份有限公司 整合結構化數據的心智圖建立與顯示系統及其方法

Also Published As

Publication number Publication date
AU2006272442B2 (en) 2012-05-31
WO2007009168A1 (en) 2007-01-25
JP2009501370A (ja) 2009-01-15
US20070016614A1 (en) 2007-01-18
EP1907945A1 (en) 2008-04-09
EP1907945A4 (en) 2012-01-11
CA2614653A1 (en) 2007-01-25
AU2006272442A1 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
CN101283350A (zh) 用于为自由文本消息提供结构化数据的方法和装置
US20180349134A1 (en) User interface that integrates plural client portals in plural user interface portions through sharing of one or more log records
US8346683B2 (en) System, program, and method for representation, utilization, and maintenance of regulatory knowledge
US20180129986A1 (en) Method for evolving shared to-do lists into business processes
AU2006308779B2 (en) Interacting with a computer-based management system
Karagiannis et al. Metamodels in action: An overview
CN101540022A (zh) 项目环境中的知识转移
CN115390821B (zh) 一种面向自然语言无代码编程的软件应用构建方法
Benyon et al. Critical Issues in User Interface Systems Engineering
Aquino et al. Digital affordances and remote public audit practice
Wheatcraft et al. On the use of attributes to manage requirements
Ryan et al. On a cohesive set of requirements engineering terms
Miranda et al. Domain‐specific language for automatic generation of UML models
US11977514B1 (en) Predictive revision recommendations
WO2022266168A1 (en) Systems, devices and methods for data processing and presentation
Confort et al. Learning ontology from text: a storytelling exploratory case study
Niemimaa Evaluating compliance for organizational information security and business continuity: three strata of ventriloqual agency
Cybulski Patterns in software requirements reuse
Fill Semantic evaluation of business processes using SeMFIS
Kaufmann Domain Modeling Using Qualitative Data Analysis
Kaneda et al. KOA: general affairs expert system with easy customization
Riahi et al. XML in formal specification, verification and generation of mobile HCI
Huynh et al. A Methodology and Software Architecture to Support Explainability-by-Design
WO2000026822A1 (en) A computer-implemented project knowledge management facility
US20120151434A1 (en) System And Method For Generating One Or More Plain Text Source Code Files For Any Computer Language Representing Any Graphically Represented Business Process

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20081008