处理个人电话记录器命令的系统和方法

文档序号:7878219阅读:135来源:国知局
专利名称:处理个人电话记录器命令的系统和方法
技术领域
本发明涉及提供个人电话记录器服务的系统和方法。更具体地说,本发明涉及接收和处理专用语音命令的系统和方法。
背景技术
语音通信是最常见的实时远程通信,也是实时远程通信的最古老形式之一。实时远程形式的通信是面对面会议的极好替代物,其中实时通信是一个重要的方面。语音通信被用于偶然交谈,处理事务,紧急情况中寻求帮助,获得特殊的服务(例如银行业务,检索消息)等。
存在通过各种网络工作,以便简化语音通信的各种装置。多数具有语音能力的网络也能够传送数据。最常见的语音通信装置是通过公用电话交换网(PSTN),也称为简易老式电话系统(POTS)工作的传统电话机。通过PSTN,利用位于中央局或者电话局的复合交换系统链接电话机,所述复合交换系统为要在一个或多个电话机之间传送和接收的语音建立通路。例如借助诸如调制解调器之类的适当装置,PSTN可用于传送数据。PSTN仍然是最可靠的语音通信网络之一。
也可通过因特网或其它这种网络简化语音通信。与因特网相连的计算机首先把语音转换成数字信息,随后把数字信息转换成数据分组。按照传输控制协议(TCP)产生分组,传输控制协议(TCP)是和网际协议(IP)一起用于通过因特网,在计算机之间发送呈分组形式的数据的一组规则。IP处理数据的实际传送,而TCP跟踪各个数据分组(语音或其它数据被分为数据分组),以便通过因特网有效发送。通过因特网或其它这种网络传送语音的过程被称为IP语音(voice-over-IP)。通过因特网的语音通信不如通过PSTN的语音通信那样可靠。因特网型网络是为数据传输的目的而设计的,不需要“实时”传输。分组从一个用户转移到另一用户的速度高度依赖于每个用户相对于因特网建立的连接的类型,存在于这两个用户之间的计算机/通信线路的类型,和通过因特网的通信量等。
移动电话机和无线通信网络提供另一种语音通信方法。通过短波模拟或数字传输,用户建立从移动电话机到附近的发送器的无线连接。一般来说,在市区内以及沿着主要公路能够获得移动电话服务。当移动电话用户从一个小区或者覆盖范围移动到另一小区或覆盖范围时,移动电话从一个发送器被转换到另一发送器。现在,不仅传统的个人移动电话机能接入移动网络,而且个人数据助手(PDA)、带有特殊通信卡的笔记本计算机、组合装置等也能接入移动网络。这些网络中的许多网络也能够借助若干现有协议进行传送。通过移动网络的语音通信同样不如通过PSTN的语音通信那样可靠。根据地势,某些区域比其它区域具有更好的接收。例如,在大城市中,接收可能受到大建筑物等的影响。进入无接收“死角”的用户会掉线。当从一个发送器被转换到下一发送器时,用户也可能掉线。例如,发送器可能处于满负载状态,从而不能应付另外的用户。
卫星提供可传送语音的另一媒介。卫星是由火箭发射并置于绕地球的轨道中的专用无线接收器/发送器。同时工作的卫星有数百颗。同步卫星(最常见的卫星)始终在赤道上方的同一地点绕地球飞行。可利用对准天空中卫星翱翔地点的天线,访问同步卫星。近地轨道(LEO)系统采用位于地极上方数百英里恒定高度的圆形轨道中的大群卫星。LEO卫星系统类似于移动电话网络进行工作,用户从一个卫星转移到另一卫星。正如其它任何无线系统的情况一样,关心的是可靠性。与卫星的连接会受诸如气象,用户和卫星之间的障碍物(例如在建筑物内时)之类因素影响。
可传送语音的这些及其它类型的网络彼此链接,以便实现跨越所有这些网络的语音通信。例如,移动电话用户可与通过PSTN连接的用户,具有卫星电话的用户,通过因特网连接的用户等建立电话呼叫。另外,可建立两个以上用户之间的通信。一些电话机和服务具有“三方通信”能力,并建立三个用户之间的通信。某些装置和服务具有供三个用户或更多用户召开会议的能力。电话会议允许多方实时地相互交谈。
一般来说,会议主持者联系电信业务提供商,并预定会议桥接器(一种用于互连呼叫者的计算机控制装置)。用户可在具体的日期和时间预定一定数目的电话线路。会议主持者向每个用户提供访问号码和/或口令/访问代码。用户可从能够接入该桥接器的具有语音能力的任意通信装置拨入。主持者还可为一些或者全部其它用户选择拨出服务,这里主持者向桥接器提供用户的电话号码,在预定的会议时间,桥接器自动地或者通过操作员拨打每个用户的电话号码,使用户与会议桥接器连接。
随着用户数目的增加,越来越难以有效进行会议。有时,一些用户最初不能参加会议,或者某一用户可能因掉线而退出会议。例如,由于用户手持机或装置方面的问题,由于一个或多个网络方面的问题,或者由于过多的网络通信量等,用户可能不能与会议连接(或者失去与会议的连接)。另外,由于意外的情况,或者由于用户的手持机未工作,用户可能不能连接。当用户稍后或者在掉线之后加入会议时,其它用户必须中断会议,以便向该用户做简要介绍,或者该用户必须在不能利用错过的信息的情况下加入会议。用户也可仅仅因为该用户没有清楚地听到某些信息(例如由于连接质量不好的缘故),或者因为该用户精神不集中,或者因为该用户听到了对话不过不理解该对话,而要求简要介绍。
于是,需要一种能够向各个电话用户提供回顾和会话相关的信息的一种或多种方式的方法和系统。此外,需要一种能够实时回顾信息,随后返回进行中的会议的方法和系统。即,各个用户应能够在任意时候回顾信息,即使会议正在进行中。此外,用户应能够通过专用装置或者现有电话机,控制事件。最后,用户最好能够请求该用户刚刚错过的特定类型的信息,从而不要求用户重放该会议的大部分。

发明内容
已发现个人电话记录(personal,telephony recording,PTR)系统能够记录电话会议,并且能够在会议结束之后或者在电话会议期间,重放记录内容。PTR能够建立两个或者更多用户之间的电话会议。用户可从不同类型的网络与PTR连接。例如,一个用户可通过移动网络连接,另一用户可通过卫星连接,而又一个用户可通过因特网连接。每个用户可利用具有一种或多种通信线路的装置与PTR连接。例如,PDA可通过语音线路和数据线路与PTR连接。
PTR还能够以音频格式、文本格式(通过把音频转换成文本获得)或者这两种格式记录会议。如果实时记录文本,那么除了再调用记录的音频之外,用户还有再调用文本信息的选择。诸如时间及用户数据之类的其它信息也可和音频及文本一起被记录。在一个实施例中,文本和音频都可被压缩(实时地,需要的话),以便节省存储空间。
PTR还能够在实况会议期间,或者在稍后的重放期间,从用户接收信息检索命令。用户可借助语音或通过借助用户装置发送数据(例如文本),发布这些命令。信息检索命令也可由运行于用户装置上的软件发布。所述命令只被PTR接收,不被传送给会议中的其它用户。在PTR处理信息检索命令之后,PTR只向发出所述命令的用户返回结果;结果不会被传送给会议中的其它用户。可以语音格式或数据格式,把结果传送给发出命令的用户。
例如,当用户希望了解会议中最后的口述姓名时,该用户可发出“谁”命令。随后PTR在记录的音频信息、文本信息或者这两种信息中搜索最后的口述姓名。在一个实施例中,PTR只向请求用户回答姓名(以语音或数据的格式)。如果用户要求的话,PTR还可向用户提供额外的信息。例如,PTR可搜索特定数据库(可包括因特网),寻找用户的地址、电话号码、电子邮件、个人简历等。用户还可发出请求信息的其它命令,例如当希望了解指示位置的最后口述单词时,可发出“何处”命令,当希望了解指示时间的最后口述单词时,可发出“何时”命令,当希望了解指示方法的最后口述单词时,可发出“如何”命令,等。
上述是概要,从而包含细节的简化、概括和省略;因此,本领域的技术人员会认识到概要只是对本发明的举例说明,决不意味着对本发明的任何限制。在下面陈述的非限制性详细说明中,只由权利要求限定的本发明的其它方面、发明特征和优点将变得显而易见。


参考附图,本领域的技术人员能够更好地理解本发明,并且明了本发明的许多目的、特征及优点。不同附图中相同附图标记的使用表示相似或相同的对象。
图1是个人电话记录器系统的高级网络图;图2是个人电话记录器系统的方框图;图3是个人电话记录器系统中使用的组件的层次图;图4是利用个人电话记录器系统把参与者加入电话会议的高级流程图;图5是个人电话记录器系统保持的数据的数据图;图6是个人电话记录器系统的高级流程图;图7A是主要用户使用的基于客户机的个人电话记录器的系统图;图7B是主要及次要用户用于提供个人电话记录器业务的基于网络的代理的系统图;图8是个人电话记录器代理系统的高级系统图;图9是利用以PSTN中心电话机拨号的代理的个人电话记录器代理系统的网络图;图10是利用借助PSTN中心电话机以及基于话路启动协议(SIP)的电话机拨号的代理的个人电话记录器代理系统的网络图;
图11是利用借助PSTN中心电话机以及基于话路启动协议(SIP)的电话机拨号的代理的个人电话记录器代理系统的信号图;图12是处理来自用户的请求的个人电话记录器代理业务的高级流程图;图13是表示利用个人电话记录器代理业务建立新的会议通话所采取的步骤的流程图;图14是表示在个人电话记录器代理业务接收的用户请求的处理的流程图;图15是表示使呼叫加入个人电话记录器代理服务管理的电话会议所采取的步骤的流程图;图16是个人电话记录器业务的高级网络图;图17是表示利用个人电话记录器记录通话所采取的步骤的流程图;图18是表示所采取的处理在个人电话记录器接收的用户请求的步骤的流程图;图19是表示所采取的把保存的语音数据转换成文本数据的步骤的流程图;图20是表示所采取的处理用户的数据检索请求的高级步骤的流程图;图21是表示所采取的处理从用户接收的基本个人电话记录器请求的步骤的流程图;图22是表示所采取的利用个人电话记录器管理通话库的步骤的流程图;图23是表示所采取的利用个人电话记录器记录语音和语音元数据的步骤的流程图;图24是表示所采取的利用个人电话记录器重放语音数据的步骤的流程图;图25是识别个人电话记录器通话中的参与者,并处理面向参与者的调整的高级系统图;
图26是表示所采取的识别参与个人电话记录器会议通话的用户的步骤的流程图;图27是表示所采取的调整相对于各个参与者收发的语音数据的音量的步骤的流程图;图28是利用个人电话记录器,设置并保持与记录的语音数据对应的书签的高级系统图;图29是表示所采取的设置并保持与记录的语音数据对应的书签的步骤的流程图;图30是处理从用户接收的语音命令的个人电话记录器的高级图;图31是表示个人电话记录器采取的接收并过滤从用户接收的语音命令的步骤的流程图;图32是表示个人电话记录器采取的处理从用户接收的语音命令的步骤的流程图;图33是转发电话通话的多个部分的个人电话记录器的高级图;图34是表示个人电话记录器采取的处理从用户接收的转发请求的步骤的高级流程图;图35是表示个人电话记录器采取的转发文本数据的步骤的流程图;图36是表示个人电话记录器采取的转发语音数据的步骤的流程图;图37是表示个人电话记录器采取的在电话通话期间,转发通话的多个部分的步骤的流程图;图38是表示重新加入掉线退出电话会议的参与者的个人电话记录器的网络图;图39是表示个人电话记录器采取的处理掉线退出电话会议的参与者的步骤的流程图;图40是个人电话记录器采取的为加入会议通话的用户重放先前的语音录音的步骤的流程图;
图41是利用个人电话记录器,从记录的通话数据进行单词和短语的用户数据挖掘的系统图;图42是在通话数据挖掘操作期间,产生单词和短语索引所采取的步骤的流程图;图43是在通话数据挖掘操作期间,注释通话文本所采取的步骤的流程图;图44是处理从记录的电话通话挖掘的信息所采取的步骤的流程图;图45是表示关于查询请求,搜索通话数据所采取的步骤的流程图;图46是表示从包括许多通话记录的通话库,对单词和短语进行挖掘所采取的步骤的流程图;图47是表示产生用于检索在通话数据文件中找到的数据的定制报告规范,所采取的步骤的流程图;图48是表示通过从通话数据文件检索数据,产生定制报告所采取的步骤的流程图;图49是表示根据通话数据文件,产生副本报告所采取的步骤的流程图;图50是能够实现本发明的信息处理系统的方框图。
具体实施例方式
下面意图提供本发明一个例子的详细说明,不应被理解为对发明本身的限制。相反,有很多变化都会落入在说明之后的权利要求中限定的本发明的范围之内。
图1是个人电话记录器系统的高级网络图。个人电话记录器100用于记录不同用户的电话数据,并向用户提供信息。所述信息可包括先前记录的通话数据,所述通话数据可在电话通话期间或者在电话通话之后检索到。另外,个人电话记录器100可接收来自于计算机网络115的信息。这种计算机网络的一个例子是因特网。从计算机网络接收的数据可包括从网络连接的电话装置接收的语音数据,以及非语音信息比如用户所请求的搜索的结果。个人电话记录器100还向参与电话会议的参与者提供服务。例如,如果参与者之一掉线退出会议呼叫,那么个人电话记录器把所述掉线通知其它参与者。当用户重新与个人电话记录器连接时,该装置向重新连接的参与者提供收听错过的通话部分的能力。
个人电话记录器100可以是以客户机为中心或以网络为中心的装置。在以客户机为中心的应用中,个人电话记录器与用户的计算机或电话系统相连。相反,在以网络为中心的应用中,个人电话记录器与诸如电话网110或计算机网络120之类的网络相连,客户机通过登录个人电话记录器或者通过借助电话呼叫连接到个人电话记录器,接入个人电话记录器。于是,在以网络为中心的应用中,个人电话记录器对用户的可用性与当前使用的电话机无关。
不同的装置以不同的方式连接到个人电话记录器100。传统的电话机通过诸如公共电话交换网(PSTN)之类的电话网100连接到个人电话记录器管理的呼叫。
移动电话机140和个人数字助手(PDA)170能够与电话网110或计算机网络120相连。网关可用于把这些装置从无线网络连接到电话网络或者计算机网络。
诸如个人计算机160和膝上型计算机150之类的计算机系统一般与计算机网络120连接。但是,通过利用诸如调制解调器之类的外设,这些装置也能够利用电话网络110。
图2是个人电话记录器系统的方框图。个人电话记录器200包括用于记录通话数据,以及在电话呼叫期间和在电话呼叫之后向用户提供服务的许多组件。个人电话记录器用户205对麦克风说话,例如设置在电话机上的麦克风或者与计算机系统相连的麦克风。语音接收器组件210接收来自于用户的模拟语音,并把模拟语音信号发送给命令过滤器215。命令过滤器215使用语音识别软件识别可能包含在模拟语音中的语音命令。当识别出某一命令时,命令过滤器215把该模拟语音发送给语音-文本转换器245,语音-文本转换器245把命令和围绕该命令的单词转换成文本形式。语音-文本转换器245再把文本形式的命令及围绕该命令的单词(参数)发送给命令处理器250,以便进行处理。另外,语音信号的副本被保存在通话缓冲器255中,以便以后(例如响应查询请求)能够检索并处理该语音信号。
回到命令过滤器215,如果从用户接收的语音不是命令,那么命令过滤器215把该模拟语音传送给模拟发送器220。模拟发送器220通过网络225把用户的模拟语音信号传送给一个或多个参与者230。网络225可包括诸如公共电话交换网(PSTN)之类的电话网,可包括诸如因特网之类的计算机网络。
语音接收器235通过网络225从参与者230接收模拟语音数据。接收的语音数据的副本被保存在通话缓冲器255中。在一个实施例,允许除个人电话记录器用户之外的其它参与者发布语音命令。该实施例中,从参与者接收的语音命令也通过命令过滤器215,从而可识别并处理从参与者接收的命令。语音数据从语音接收器235发送给模拟发送器240,模拟发送器240再把模拟语音数据传送给个人电话记录器用户205。
回到命令处理器250,命令处理器接收来自语音-文本转换器245的语音命令。另外,命令处理器250接收来自数字接收器280的数字命令信号。可利用传统的电话设备(例如按下小键盘上的各个按键等),可从个人电话记录器用户接收数字命令。也可从诸如计算机系统282之类与个人电话记录器连接的计算机系统或计算机网络,接收数字命令。
命令处理器250从通话缓冲器255检索通话数据,以便处理一些命令。命令处理器还可使用语音-文本转换器245和语音合成器275。语音-文本转换器245用于把模拟通话数据转换成文本数据,随后可处理文本数据,或把所述文本数据用数字发送器285发送给计算机系统。另外,命令处理器可编程为接收所有语音,包括语音数据和语音命令,并利用语音-文本转换器245,把语音数据转换成文本。通过利用数字发送器285以及电子邮件/计算机系统282或具有显示装置的个人电话记录器系统,能够近似实时地显示不是命令的语音数据。按照这种方式,通过阅读显示装置上所显示的数据,个人电话记录器用户能够跟上电话会议。命令处理器还把附加数据保存在非易失性存储区260中。非易失性存储区可以是非易失性存储器,光学存储器,磁存储器,或者任何能够在不加电状态下保持数据值的存储器。另外,代替非易失性存储器,可以使用内存,一般提供更快速的访问和查找,但是缺少当供电中断时保持数值的能力。
非易失性存储器260用于保存语音数据,书签数据(标记语音数据内的位置),转换数据(模拟语音数据的数字形式),已请求的查询和命令,以及通话参与者的相关数据,例如参与者的姓名、公司、电话号码等。
命令处理器250还与掉线处理器265连接,以便当某一参与者掉线退出电话会议时,通知通话参与者。掉线处理器265还使用掉线缓冲器270设置和某一参与者掉线及重新加入电话会议时对应的书签,以及和呼叫者重新加入通话之前,他或她所错过的语音数据的重放相关的数据。例如,当掉线的参与者重新加入电话会议时,掉话处理器将检索当该参与者未被连接时发生的语音数据,并允许该参与者收听错过的语音数据。
图3是个人电话记录器系统中使用的组件的层次图。个人电话记录器300包括建立电话通话或电话会议的建立通话组件310。根据个人电话记录器是扮演代理角色(与网络相连,而不是与任意特定参与者相连)还是与特定参与者相连,上述实现稍有不同。建立通话组件310包括在代理环境中建立服务的子组件315,使参与者相互连接的组件320,和识别各个参与者的组件325。
另一个人电话记录器组件是记录在电话或会议通话期间传送的语音数据的记录通话组件330。命令处理组件340包括应答个人电话记录器从参与者和用户接收的请求和命令的许多子组件。这些子组件包括作书签子组件、数据检索子组件、掉线处理子组件和数据挖掘子组件。
作书签组件345用于向个人电话记录器用户提供设置标识电话通话中何处讨论某一主题的书签。另外,书签被用于检索一部分记录的电话通话,以便转发该部分电话通话。另外,当某一参与者掉线退出会议通话时,自动产生书签(标记该参与者掉线退出的点),书签还被用于标记用户重新加入会议通话的点。
数据检索组件350用于检索各种通话数据,并利用检索的数据执行各种功能。还有更多子组件提供这种功能性。这些子组件包括基本检索组件355,通话转发组件360和专用检索组件375。在这些子组件中,转发组件包括两个子组件-文本转发子组件365和语音转发组件370。
另一命令处理组件是掉线处理组件380。掉线处理组件检测某一电话会议参与者何时掉线退出电话通话,并且当掉线的参与者重新加入该通话时,向该参与者提供收听其错过的通话部分的能力。
数据挖掘组件385用于从通话数据中选择信息。通话数据信息被数据挖掘子组件用于产生报告(子组件390)和处理特定查询(子组件395)。
图4是利用个人电话记录器系统,使参与者加入电话会议的高级流程图。处理开始于400,识别电话通话中的第一参与者(预定过程405,处理细节参见图26)。判断是否还存在要识别的更多参与者(判定410)。如果存在更多的参与者,那么判定410转移到循环识别下一参与者(预定过程415,处理细节参见图26)的“是”分支412。继续这种循环,直到不存在要识别的参与者为止,此时,判定410转移到“否”分支418。
从电话网425(对远离个人电话记录器的那些参与者来说)以及从电话机428(对直接与个人电话记录器相连的那些参与者来说)接收语音数据和信号(步骤420)。判断接收的语音和/或信号数据是否包括个人电话记录器命令(判定430)。如果收到命令,那么,判定430转移到“是”分支432,个人电话记录器处理接收的命令(预定过程435,处理细节参见图20)。另一方面,如果没有收到命令(即,收到正常的语音通信),那么,判定430转移到“否”分支442,识别从其收到语音数据的参与者(步骤445)。这种识别可以基于从其收到数据的线路,或者可通过分析参与者语音的声音特征进行这种识别。和参与者及接收的语音数据对应的标识符被保存在通话缓冲器存储区455中(步骤450)。
判断接收的语音数据是来自本地连接的个人电话记录器用户,还是来自通过电话网与个人电话记录器连接的另一参与者(判定460)。如果语音数据接收自本地连接的个人电话记录器用户,那么判定460转移到“是”分支462,该语音数据通过电话网425被传送给其它参与者(步骤465)。另一方面,如果该语音数据接收自电话网,那么,判定460转移到“否”分支,通过本地附加的电话扬声器428,把该语音数据传送给本地连接的个人电话记录器用户(步骤475)。
在收到最后的命令或语音数据之后,判断参与者是否已终止电话通话(判定485)。如果通话未被终止,那么判定485转移到“否”分支486,从而循环处理下一命令或语音数据。继续该循环,直到通话被终止为止,此时判定485转移到“是”分支488,在非易失性存储装置492上保存缓冲器455中存储的通话数据,以便无限期地保留通话数据。之后在495结束处理。
图5是个人电话记录器系统所保持数据的数据图。缓冲器数据500包括个人电话记录器保持的各种信息。通话缓冲器510包括在电话通话过程中接收的语音数据。通话缓冲器包括地址515和接收的原始(模拟)语音数据520。顺序保存模拟语音数据,因而保存的第一语音数据被向通话缓冲器的顶部保存,而在后检索的语音数据被向缓冲器的底部保存。
参与者数据525包括关于参与者的信息。参与者被赋予唯一的标识符535,以便在电话通话过程中,能够跟踪参与者的身份。参与者数据还包括关于参与者的描述信息540。描述信息可包括参与者的姓名、电话号码、公司名称、地址等等。描述信息还可包括用于利用语音识别软件识别参与者的语音签名数据。
参与者数据525还包括跟踪各个参与者对电话通话所做出的贡献的参与者通话跟踪数据545。跟踪数据545包括指向语音数据内做出所述贡献的地址的指针(550)和参与者的唯一标识符555。另外,当参与者结束讲话,另一参与者开始讲话时,可使第二指针继续跟踪。
书签数据560用于标记语音数据内的位置。例如,在冗长的会议通话期间,个人电话记录器用户可能想标记通话中讨论具体项目的地方。按照这种方式,用户以后可返回该部分通话,而不必浏览其它部分通话,并且不必在通话期间记录费时且冗长的笔记。书签数据560包括分配的唯一地标识书签的书签标识符565,用于标记通话缓冲器510内书签的位置(即,地址)的指针570。书签数据560还包括可选的书签描述575,书签描述575被用户用于保存书签的描述。在上面的例子中,书签描述可以是“项目的讨论”。
掉线数据580用于保存和掉线退出会议通话的参与者相关的数据。掉线数据580包括唯一地标识掉线事件的掉线标识符。掉线指针584指示通话缓冲器内当参与者掉线时的位置或地址。掉线时间标记586保存参与者掉线时的时间。重新加入指针588指示当参与者重新加入会议通话时,通话缓冲器的位置。从而,播放通话缓冲器中保存的介于掉线指针584和重新加入指针588之间的数据,会播放从参与者掉线到他重新加入通话,该参与者所错过的通话部分。重新加入时间标记590保存参与者重新加入通话的时间。重放指针592用于监视已向参与者重放了多少他所错过的通话缓冲器内容。
图6是个人电话记录器系统的高级流程。处理开始于600,判断用户是正在参加新的(实况)电话通话还是正在请求和先前记录的电话通话有关的数据(判定610)。如果用户正在参加新的或者实况通话,判定610转移到“是”分支615,利用本地连接的个人电话记录器装置或者可通过网络访问的(代理)个人电话记录器装置,建立通话(预定过程620)。在电话通话期间,通话数据被保存在通话存储器640中(预定过程630)。利用先前记录的通话数据640,以及包括和电话通话相关的数据(例如参与者)的元数据660,处理通话期间个人电话记录器用户接收的命令(预定过程650)。
另一方面,如果用户正在请求和先前记录的电话通话相关的数据,那么判定610转移到“否”分支675,通话后命令和请求被用户接收,并利用先前记录的通话数据640及通话元数据660进行处理。
在处理电话通话或用户的通话后命令之后,在695结束处理。
图7A是主要用户使用的基于客户机的个人电话记录器的系统图。在该环境中,个人电话记录器700连接到受主要参与者710控制的电话设备上。个人电话记录器记录通话数据,并管理主要用户和通过电话网720互连的次要参与者725和730之间的通话。
图7B是由主要和次要用户用于提供个人电话记录器服务的基于网络的代理的系统图。在该环境中,和图7A中所示的环境相反,个人电话记录器740是与电话网750相连的基于网络的个人电话记录器。按照这种方式,基于网络的个人电话记录器可向通过电话网与个人电话记录器相连的主要和次要用户提供代理服务。基于网络的个人电话记录器可呼叫参与者加入会议通话。另外,参与者可呼入个人电话记录器,以便建立并加入会议通话。基于网络的个人电话记录器可根据用户使用的服务对参与者记账。多个主要参与者可预订该服务,例如主要参与者760和780。来宾或次要参与者(770和790)也可包含在会议通话中。来宾可使用由建立会议通话的主要参与者指定那些个人电话记录器命令。
图8是个人电话记录器代理系统的高级系统图。个人电话记录器代理服务800与电话网830连接,可由各个参与者通过电话网830使用。
个人电话记录器代理服务800包括管理参与者之间的会议通话,以及管理订户的账户的连接服务805。代理服务的订户可建立会议通话,并使代理服务呼叫参与者。另外,参与者可呼叫代理服务,并利用PIN码或口令登录。第一参与者840和第二参与者870分别通过电话网830向代理服务800发送管理请求845和875。这些代理请求被代理服务800接收,作为参与者管理请求815。
另外,第一和第二参与者分别通过代理服务800互发语音数据850和880。当代理服务的连接服务管理参与者连接时,服务的个人电话记录器服务810管理通话记录以及对从参与者接收的电话请求的应答。参与者可被分段,从而特定参与者可执行特定功能,例如搜索通话日志寻找数据,而另一参与者不被允许执行该功能。例如,第一参与者可能是代理服务800的付费订户,因此他能够执行各种个人电话记录器功能,而第二参与者870可能只是来宾,于是,不被允许使用个人电话记录器功能,除非被准予额外的特权。
个人电话记录器请求从参与者发出(关于第一参与者的请求855和关于第二参与者的请求886)。这些请求通过电话网830传送,并在代理服务800被接收,作为个人电话记录器请求820。代理的个人电话记录器服务810处理所述请求,并向发出请求的参与者回送响应数据825。请求通过电话网830被传回,它们分别被第一及第二参与者作为响应860和890接收。
图9是利用借助以PSTN为中心的电话拨号的代理的个人电话记录器代理系统的网络图。基于网络的个人电话记录器900包括接收并处理来自公共电话交换网(PSTN 975)的电话通信的许多组件。在图9中所示的例子中,主要用户960具有使其电话装置与个人电话记录器900相连的两条连接相对于个人电话记录器900内的SS7TCAP组件940发送和接收数字数据的控制信道970,和发送及接收语音(模拟)数据的语音线路980。次要用户990使用语音线路995相对于个人电话记录器900发送和接收语音(模拟)数据。
SS7是信令系统7(国际电信联盟(ITU)定义的通信协议,一种把PSTN数据通信拥塞卸到无线或有线数字宽带网络上的方式)的简称。SS7的特征是使用业务交换(service switching,SSP)、信号传送点(STP)和服务控制点(SCP)(总称为传信点(signalingpoint),或SS7节点)的高速线路交换和带外传信。带外传信是不在和数据传送(或者对话)相同的通路上进行的一种传信—建立单独的数字通道(称为信令链路),以56或64千位/秒的速率在网络元件之间交换消息。以这种一种方式建立SS7体系结构,从而任意节点可与其它任何具有SS7能力的节点交换信令,而不仅仅是直接相连的交换机之间的信令。SS7协议用于基本通话建立及管理,诸如个人通信业务(PCS)、无线漫游和移动用户鉴别之类无线业务,本地号码可移植性(portability),免费有线服务,和增强通话特征。这些通话特征包括个人电话记录器提供的功能,例如通话转送、数据挖掘和通话搜索功能、作书签、通话数据检索、掉线信令、通话数据重放和参与者识别。这些功能由通过SS7 TCAP组件940发送数据的服务逻辑组件提供。SS7 TCAP组件随后通过控制信道970把信息发送给主要用户的电话装置960。
模拟数据由个人电话记录器的媒体网关组件910接收。媒体网关向实时流式引擎920提供流化语音,实时流化引擎920通过语音识别单元925,例如IBM的Via VoiceTM软件(它把模拟语音转换成文本)供给数据。文本随后由服务逻辑组件930处理。包含在文本中的命令由服务逻辑组件930处理,例如通话数据转发、数据挖掘和通话搜索功能、作书签、通话数据检索、发掉线信号、通话数据重放和参与者识别。结果被发送给语音合成器950,以便把文本转换回听得见的语音。听得见的语音随后被实时流化引擎920流化,实时流化引擎920通过媒体网关把数据回送给参与者。就主要参与者960来说,数据通过语音线路980被返回,就次要参与者990来说,数据通过语音线路995被返回。
图10是利用借助以PSTN为中心的电话机以及基于话路启动协议(SIP)的电话机拨号的个人电话记录器代理系统的网络图。话路启动协议是因特网会议、电话、存在(presence)、事件通知和即时消息接发使用的信号方式协议。该协议启动呼叫建立,路由,认证和其它到IP域内的端点的特征消息。
图10中所示的个人电话记录器1000类似于图9中所示的个人电话记录器,但是,图10中所示的个人电话记录器包括与诸如客户机1050之类基于SIP的客户机通信的附加功能。SIP客户机1050通过防火墙1040相对于实时流化引擎920发送和接收流化语音。SIP客户机通过防火墙1040以HTTP SIP消息的形式向Web服务器(万维网服务器)1010发送个人电话记录器命令,Web服务器包含在个人电话记录器1000内或者与之相连。Web服务器1000包括HTTP服务器1020和一个或多个servlet(小服务程序)。servlet是在服务器上运行的小应用程序(applet)。该术语通常指是的在Web服务器环境内运行的Java小程序。这类似于在Web浏览器环境中运行的Java小程序。Java小程序持续运行,从而停留在内存中,能够满足多个请求。Java小程序和servlet的持久性提高了通过量和效率,因为不需要反复建立和卸下该过程。
文本中包含的由Web服务器处理的请求由Web服务器1020处理,例如通话数据转发、数据挖掘和呼叫搜索功能、作书签、通话数据检索、发掉线信号、通话数据重放和参与者识别。提供个人电话记录器功能的各个servlet与服务逻辑电路930连接。按照这种方式,响应可以HTTP响应的形式被回送给SIP客户机1050,或者文本响应可被转换成语音,语音可流入SIP客户机,并在连接在SIP客户机上的扬声器上播放。从SIP客户机1050接收的流化语音数据经媒体网关910,通过电话网975被传送给PSTN客户机990。同样,语音数据可被流化并发送给通过诸如因特网之类计算机网络与个人电话记录器相连的其它SIP客户机。
图11是利用借助以PSTN为中心的电话机以及基于话路启动协议(SIP)的电话机拨号的代理的个人电话记录器代理系统的信号图。SIP客户机1100通过以HTTP SIP请求的形式向代理服务器1110发送邀请信号1105启动呼叫。代理服务器1110在信号1115中把该请求传给servlet进行处理。servlet通过公共电话交换网(PSTN)向PSTN客户机1130提供初始地址消息(IAM)信号1125。
PSTN以回送给servlet 1120的地址收全消息(ACM)信号1135应答。servlet再送出指示正在“尝试”号码的消息(信号1140),信号1140作为信号1145从代理服务器1110回送给SIP客户机1100。
当PSTN客户的电话机收到信号并响铃时,PSTN客户机通过PSTN向servlet 1120回送“响铃”信号1150。servlet再发送指示客户的电话机正在响铃的消息1155,消息1155作为信号1160被代理服务器回送给SIP客户机。
当PSTN回答基于PSTN的电话机时,从PSTN向servlet传送回答消息(ANM)。servlet经通过代理服务器发送“OK”消息(信号1170)作为应答,信号1170以信号1175的形式被SIP客户机接收。SIP客户机以发送给servlet的HTTP确认(ACK)进行回答。
在SIP客户机和PSTN客户机之间开始双向语音通信。从PSTN客户机接收的模拟语音1183被代理服务器转换成RTP流1186,RTP流1186被发送给基于SIP的客户机。RTP是实时传送协议(一种传送诸如音频和视频之类实时数据的因特网协议)的简称。当以RTP流1186的形式从基于SIP的客户机收到语音数据时,该语音数据由代理服务器转换成模拟语音数据1183,并通过PSTN被传送给基于PSTN的客户机。继续该过程,直到参与者挂断并结束通话为止。
当参与者挂断电话时,servlet从基于PSTN的客户机接收释放消息(REL)作为信号1189。servlet再向基于SIP的客户机发送“再会”消息1192。基于SIP的客户机以“OK”消息1195表示回答,“OK”消息1195被servlet接收,并且通过PSTN,作为释放完成(RLC)信号1198被传送给PSTN客户机。
图12是处理来自用户的请求的个人电话记录器代理服务的高级流程图。处理开始于1200,通过电话网1210从用户1220接收请求(步骤1205)。通过匹配用户提供的信息(例如用户标识符和PIN码或口令)和保存在代理订户数据库1230中的信息,查找用户(步骤1225)。
响应对用户信息的查找,判断用户是否是代理个人电话记录器系统的合法订户或来宾(判定1235)。如果用户是合法订户或来宾,那么判定1235转移到“是”分支1238,处理客户或来宾的请求(预定过程1240,处理细节参见图14)。
另一方面,如果用户不是合法订户或来宾,那么判定1235转移到“否”分支1245,从用户接收新的订购数据(步骤1250)。新的订购数据包括和用户有关的信息(例如姓名、电话号码等),以及诸如信用卡或借记卡信息之类的支付数据。新的用户信息和支付信息被处理(步骤1260)。判断支付信息是否被成功处理(判定1270)。如果支付信息未被成功处理,那么判定1270转移到“否”分支1272,向用户返回出错消息(步骤1275)。另一方面,如果支付信息被成功处理,判定1270转移到“是”分支1278,新订户信息被添加到代理订户数据库1230中(步骤1280)。
判断是否存在通过电话网从其它用户接收的要更多要处理的请求(判定1285)。如果存在另外的要处理的请求,那么判定1285转移到“是”分支1288,循环处理下一请求。继续该循环,直到不存在要处理的其它请求为止(即代理服务被关闭),此时,判定1285转移到“否”分支1290,并在1295结束处理。
图13是表示利用个人电话记录器代理服务建立新的会议通话时采取的步骤的流程图。处理开始于1300,判断用户是代理个人电话记录器系统的来宾还是订户(判定1302)。如果请求者是来宾,那么判定1302转移到“是”分支1304,向来宾返回出错消息(步骤1306),并在1308结束处理。
另一方面,如果用户是订户,那么判定1302转移到“否”分支1309,为新的通话分配唯一的标识符(步骤1310)。判断用户是否正在使用预定的配置文件(profile),利用代理个人电话记录器建立电话会议(判定1312)。预定配置文件允许用户建立重现类型的(例行性)会议通话,例如机构中同事之间每周一次的会议通话。如果用户正在使用预定配置文件,那么判定1312转移到“是”分支1314,从用户接收预定的配置文件标识符(步骤1316),并从会议通话配置文件数据库1322检索相应的配置文件(步骤1320)。
判断用户是否打算改变配置文件中的项目(判定1324)。如果用户打算改变配置文件,那么判定1324转移到“是”分支1326,用户能够增加和删除参与者(步骤1328),以及修改允许来宾(非订户)在电话会议期间采取的个人电话记录器操作(步骤1332)。另一方面,如果用户不改变配置文件,那么判定1324绕过步骤1328和1332转移到“否”分支。
从用户接收会议通话的日期(步骤1336)。判断会议通话时间是否和在配置文件中发现的时间相同(判定1340)。如果会议通话时间和在配置文件中发现的时间不同,判定1340转移到“否”分支1342,从用户接收会议通话的新时间(步骤1344)。另一方面,如果通话处于相同的时间(例如,在中午12点进行的例行通话),那么判定1340绕过步骤1344转移到“是”分支1346。
判断是否使用相同的口令或PIN码访问会议通话(判定1350)。当参与者呼叫代理服务器时,参与者使用访问PIN码或口令加入通话。另外,代理服务器可编程为呼叫参与者预定次数,使参与者加入会议通话。如果没有使用相同的访问PIN码或者口令,那么判定1350转移到“否”分支1352,从用户接收新的PIN码或口令(步骤1354),并将其保存在非易失性数据存储器1390中。另一方面,如果使用相同的PIN码或口令,那么判定1350绕过步骤1354转移到“是”分支1356。随后在1399结束处理。
回到判定1312,如果没有使用预定的配置文件,那么判定1312转移到“否”分支1358,从用户接收会议通话的日期(步骤1360)。另外,可由用户提供PIN码或口令。呼叫代理服务器的参与者使用PIN码或口令加入会议通话。判断是系统将呼叫参与者,还是参与者将呼叫代理以便与会议通信相连(判定1364)。如果个人电话记录器代理服务器将呼叫参与者,那么判定1364转移到“是”分支1366,从用户接收参与者数据(步骤1368)。参与者数据包括代理服务器将呼叫,以便连接参与者的电话号码。另一方面,如果参与者不被代理服务器呼叫(即参与者将呼叫代理服务器,并输入诸如PIN码之类的访问码),那么判定1364绕过步骤1368转移到“否”分支1369。
判断参与者是个人电话记录器代理业务的来宾还是订户(判定1370)。如果参与者不是来宾(即,参与者是订户),那么判定1370转移到“否”分支,在代理服务器呼叫参与者的情况下,从用户接收呼叫该参与者的时间(步骤1374),参与者和通话数据被保存在非易失性数据存储器1390中(步骤1376)。
另一方面,如果参与者是来宾,那么判定1370转移到“是”分支1378,确定是否允许来宾执行个人电话记录器功能(判定1380)。在一些情况下,订户可承担额外的费用,以允许会议通话来宾执行个人电话记录器功能。另外,可禁止一些功能,同时允许来宾使用其它功能。如果将允许来宾执行个人电话记录器功能,那么判定1380转移到“是”分支1382,启用用户打算允许来宾使用的个人电话记录器功能(步骤1384)。另一方面,如果不允许来宾执行个人电话记录器功能,那么判定1380转移到“否”分支1386,相对于来宾参与者禁用来宾个人电话记录器功能。在代理服务器呼叫来宾参与者的情况下,从用户接收呼叫该参与者的时间(步骤1374),并把来宾参与者的数据和通话数据保存在非易失性数据存储器1390中(步骤1376)。
判断是否存在要增加到会议通话中的更多参与者(判定1392)。如果存在要增加的其它参与者,那么判定1392转移到“是”分支1394,循环接收关于下一参与者的信息。继续这种循环,直到不存在要增加的其它参与者为止,此时,判定1392转移到“否”分支1396,并在1399结束处理。
图14是表示在个人电话记录器代理服务接收的用户请求的处理的流程图。处理开始于1400,判断该请求是个人电话记录器请求还是连接服务请求(判定1404)。如果请求是连接服务请求,那么判定1404转移到分支1406,判断用户是否正在重新加入电话会议通话(判定1408)。如果用户正在重新加入通话,那么判定1408转移到“是”分支1410,掉线处理器重新连接该用户,并且允许该用户收听错过的通话部分(预定过程1412,处理细节参见图39)。
另一方面,如果用户没有正在重新加入通话,那么判定1408转移到“否”分支1414,确定用户是否正在请求利用代理服务器建立新的会议通话(判定1416)。如果用户正在请求建立新的会议通话,那么判定1416转移到“是”分支1418,建立新的通话(预定过程1420,处理细节参见图13)。
另一方面,如果用户没有请求建立新的会议通话,那么判定1416转移到“否”分支1422,判断用户是否正在请求帐户维护功能(判定1424)。如果用户正在请求帐户维护功能,那么判定1424转移到“是”分支1426,判断用户是来宾还是订户(判定1428)。如果用户是来宾,那么判定1428转移到“是”分支1430,向用户返回出错消息(步骤1432)(来宾不具有要维护的帐户),处理在1436返回。
如果用户是订户,判定1428转移到“否”分支1438,检索订户的帐户信息(步骤1440)。判断用户是否正在用该帐户进行支付,例如使用用信用卡(判定1444)。如果用户进行支付,判定1444转移到“是”分支1446,对订户帐户进行支付(1448)。如果用户不进行支付,判定1444转移到“否”分支1450,向用户显示订户的帐户活动(步骤1452)。
回到判定1424,如果用户请求不是帐户维护请求,那么判定1424转移到“否”分支1454,判断用户是否正在请求加入会议通话(判定1456)。如果用户请求加入正由代理服务器管理的会议通话,那么判定1456转移到“是”分支1458,代理服务器处理加入通话请求(预定过程1460,处理细节参见图15)。另一方面,如果请求不是加入通话请求,那么判定1456转移到“否”分支1462,处理另一类型的连接服务请求(步骤1464)。之后处理在1465返回。
回到判定1404,如果请求是个人电话记录器请求,那么判定1404转移到分支1466,判断用户是来宾还是订户(判定1468)。如果用户是来宾,那么判定1468转移到“是”分支1470,判断该来宾是否被赋予请求个人电话记录器功能的能力(判定1472)。如果该来宾还未被赋予这种能力,那么判定1472转移到“否”分支1475,向来宾返回出错消息,处理在1495返回。另一方面,如果用户是订户(判定1468转移到“否”分支1485),或者如果来宾被赋予使用所请求的个人电话记录器功能的权力(判定1472转移到“是”分支1488),那么处理所请求的个人电话记录器功能(预定过程1490,处理细节参见图18)。之后处理在1495返回。
图15是表示把呼叫加入正由个人电话记录器代理服务管理的电话会议时所采取的步骤的流程图。处理开始于1500,代理服务器接收加入请求(步骤1505)。确定请求者的身份(预定过程1510,处理细节参见图25)。
判断请求者是否被识别(判定1515)。如果用户未被识别,那么判定1515转移到“否”分支1518,向请求者返回出错消息(步骤1520),处理在1525返回。
另一方面,如果用户被识别,那么判定1515转移到“是”分支1528,从请求者接收口令或PIN码(步骤1530)。通过从数据库1540检索正确的PIN码,核实所述口令或PIN码(步骤1535)。判断输入的PIN码或口令是否有效(判定1545)。如果PIN码或口令不正确,那么判定1545转移到“否”分支1548,向请求者返回出错消息(步骤1550),并把请求者的加入通话的请求通知给当前参加会议通话的参与者(步骤1555)。参与者可指令个人电话记录器允许请求者加入通话,或者拒绝该请求(步骤1560)。判断参与者是否打算允许请求者加入通话(判定1565)。如果参与者不打算允许请求者加入通话,那么判定1565转移到“否”分支1568,处理在1568返回。另一方面,如果参与者选择允许请求者加入通话,那么判定1565转移到“是”分支1589,使请求者连接到会议通话(步骤1590)。
返回判定1545,如果请求者输入的口令或PIN码被核实,那么判定1545转移到“是”分支1572,判断会议通话目前是否在进行中(判定1575),如果会议通话已在进行中,那么判定1575转移到“是”分支1578,判断用户是否是订户或者已被赋予使用个人电话记录器功能的能力的来宾(判定1580)。如果用户是订户或者已被赋予使用个人电话记录器功能的能力的来宾,那么判定1580转移到“是”分支1582,掉线处理器允许用户重放错过的会议通话部分(预定过程1585,处理细节参见图39)。如果用户既不是订户又不是已被赋予使用个人电话记录器功能的能力的来宾(判定1580转移到“否”分支1586),或者通话还没有进行(判定1575转移到“否”分支1588),或者在用户已使用掉线处理器(预定过程1585)之后,那么使用户与会议通话连接,或者如果用户是第一参与者,则建立新的会议通话(步骤1590)。之后处理在1595结束。
图16是个人电话记录器服务的高级网络图。用户1610利用具有电话性能的计算机或者利用电话机,访问个人电话记录器系统1600。
个人电话记录器用于当通过电话网1670与参与者(1675、1680和1690)通信时,向用户提供增强电话性能和记录。在所示的例子中,用户的个人电话记录器装置保持会议通话期间与电话网1670的三条连接(L1、L2和L3)。
个人电话记录器1600把模拟语音1620记录在存储区中或者记录在非易失性存储装置上。个人电话记录器还包括产生文本形式的通话数据1640的语音-文本转换器1630。文本形式的通话数据可被用于搜索、报告和数据挖掘。
包含在个人电话记录器1600内的命令处理组件1650包括借助语音或信号处理识别命令的组件,以及执行诸如启动通话、停止重放、反绕保存的通话数据,播放保存的通话数据,快进通话数据和暂停重放之类功能的组件。
通话后处理1660通常在通话结束之后进行,包括搜索通话数据查找单词短语,以及给在通话数据中找到的单词编索引的功能。另外,个人电话记录器返回的结果可突出显示搜索单词,以及利用传统的系统通常捕获不到的语音音调变化(voice inflection)。
图17是表示在利用个人电话记录器记录通话时所采取步骤的流程图。处理开始于1700,个人电话记录器接收音频或数据信号(步骤1710)。判断该信号是否包括关于用户的识别信息(判定1720)。如果信号包括用户信息,那么判定1720转移到“是”分支1725,从信号中抽取用户信息,并使之与数据的音频部分相关联(步骤1730)。另一方面,如果信号不包括用户信息,那么判定1720绕过步骤1730转移到“否”分支1735。
判断音频信号是模拟信号还是数字信号(判定1740)。如果信号是模拟信号,那么判定1740转移到分支1745,模拟信号被转换成数字信号(步骤1750)。另一方面,如果信号是数字信号,那么判定1740绕过步骤1750转移到分支1755。
判断是否应对数字信号进行压缩,以便节约存储空间(判定1760)。如果使用压缩,那么判定1760转移到“是”分支1765,对数字信号进行压缩(步骤1770)。另一方面,如果不进行压缩,那么判定1760绕过步骤1770转移到“否”分支1775。把音频信息(以及任何对应用户信息)保存在存储区1790中(步骤1780)。存储区1790可以是易失性存储区,例如内存缓冲器,或者可以是非易失性存储区,例如磁盘驱动器或非易失性存储器。之后处理在1795返回。
图18是表示在处理在个人电话记录器接收的用户请求时所采取步骤的流程图。处理开始于1800,从用户或另一个人电话记录器组件(1810)接收个人电话记录器请求(步骤1805)。判断该请求是否是要把语音数据转换成文本(判定1815)。如果该请求是要把语音转换成文本,那么判定1815转移到“是”分支1818,语音数据被转换成文本数据(预定过程1820,处理细节参见图19),处理在1825返回。
另一方面,如果该请求不是要把语音转换成文本,那么判定1815转移到“否”分支1828,判断该请求是否要设置或修改书签(判定1830)。如果请求是书签请求,那么判定1830转移到“是”分支1832,处理书签请求(预定过程1835,处理细节参见图29),处理在1840返回。
如果请求不是书签请求,那么判定1830转移到“否”分支1842,判断该请求是否是数据检索请求(判定1845)。如果请求是数据检索请求,那么判定1845转移到“是”分支1848,执行数据检索处理(预定过程1850,处理细节参见图20),处理在1855返回。
如果该请求不是数据检索请求,那么判定1845转移到“否”分支1858,判断该请求是否要转发语音或文本数据(判定1860)。如果请求是转发请求,那么判定1860转移到“是”分支1862,进行文本和语音转发处理(预定过程1865,处理细节参见图34),处理在1870返回。
如果该请求不是转发请求,那么判定1860转移到“否”分支1872,判断该请求是否是数据挖掘或搜索请求(判定1875)。如果请求是数据挖掘或搜索请求,那么判定1875转移到“是”分支1878,进行数据挖掘或搜索过程(预定过程1880,处理细节参见图42-49),处理在1885返回。
如果该请求不是数据挖掘或搜索请求,那么判定1875转移到“否”分支1888,处理不同类型的请求(步骤1890),处理在1895返回。
图19是表示把保存的语音数据转换成文本数据所采取的步骤的流程图。处理开始于1900,从发送请求1910的用户1915或其它个人电话记录器组件1920接收语音细节(步骤1905),请求1910包括通话缓冲器标识符和可选的书签,所述书签如果存在的话,指示哪部分语音数据要被转换成文本。
判断是要把整个通话转换成文本,还是只转换一对书签之间的那部分通话(判定1925)。如果转换一部分通话,那么判定1925转移到分支1928,从请求检索停止和开始书签(步骤1930)。指针被初始化为开始书签地址(步骤1935),变量被设置成结束书签地址(步骤1940)。
另一方面,如果转换整个通话,那么判定1925转移到分支1942,指针被初始成通话缓冲器的起点(步骤1945),终止变量被设置成通话缓冲器的终点(步骤1950)。
在确定指针和终止变量之后,从开始于指针地址的通话缓冲器1960检索一块语音(模拟)数据。随后使指针递增该数据块大小(步骤1965)。调用诸如可在IBM Via VoiceTM软件产品中找到的语音转换例程,把检索出的模拟语音数据块转换成文本(步骤1970)。转换后的文本被保存在文本缓冲器1980中(步骤1975)。
判断递增后的指针是否等于或大于由终止变量标识的位置(判定1985)。如果指针还没有达到缓冲器或被转换部分的终点,那么判定1985转移到“否”分支1986,循环,把下一块语音数据转换成文本。继续这种循环,直到到达缓冲器或被转换部分的终点为止,此时判定1985转移到“是”分支1988。
文本缓冲器的指针被返回给调用例程(步骤1990),从而调用例程可使用文本缓冲器或向用户显示该文本。之后处理在1995返回。
图20是表示处理用户的数据检索请求所采取的高级步骤的流程图。处理开始于2000,从用户接收数据检索请求(步骤2010)。判断该请求是否是关于基本检索过程的请求(判定2020)。如果该请求是关于基本命令的请求,那么判定2020转移到“是”分支2025,处理基本命令(预定过程2030,处理细节参见图21)。
如果请求不是关于基本命令的请求,那么判定2020转移到“否”分支2035,判断该请求是否是转发通话数据的请求(判定2040)。如果该请求是转发通话数据的请求,那么判定2040转移到“是”分支2045,处理转发请求(预定过程2050,处理细节参见图34)。
如果请求不是转发通话数据的请求,那么判定2040转移到“否”分支2055,判断该请求是否是关于专用检索选项的请求(判定2060)。如果用户请求专用检索选项,那么判定2060转移到“是”分支2065,执行专用检索过程(预定过程2070,处理细节参见图31)。
如果该请求不是关于专用检索选项的请求,那么判定2060转移到“否”分支2075,处理其它类型的数据检索请求(步骤2080)。在处理该请求之后,处理在2095返回。
图21是表示处理从用户接收的基本个人电话记录器请求所采取的步骤的流程图。处理开始于2100,检索通话缓冲器内的当前缓冲器指针(步骤2105)。当前缓冲器指针指示通话缓冲器中语音数据当前正被保存的位置。指针的副本由该例程保留,从而用户可在不干扰把输入的语音数据保存在通话缓冲器中的个人电话记录器的操作的情况下,反绕和重放通话缓冲器的各个部分。
判断用户是否已请求从当前指针位置“反绕”(判定2110)。如果请求是反绕请求,那么判定2110转移到“是”分支2112,判断用户是否指定了具体的反绕量(判定2115)。如果指定了具体的反绕量,那么判定2115转移到“是”分支2118,使指针指向的地址递减所述具体量(步骤2120)。用户可用诸如秒之类的时间单位指示反绕数量。时间单位被转换成地址并应用于指针。另一方面,如果没有指定反绕量,那么判定2115转移到“否”分支2122,指针被递减默认量(步骤2125)。判断递减后的指针是否指向通话缓冲器起点之前的位置(判定2130)。如果递减后的指针指向通话缓冲器顶部之上,那么判定2130转移到“是”分支2132,把指针设置成通话缓冲器的顶点或者起点(步骤2135)。如果指针落在通话缓冲器范围之内,那么判定2130绕过步骤2135转移到“否”分支2138。
回到判定2110,如果请求不是反绕请求,那么判定2110转移到“否”分支2142,判断用户是否打算前进或者快进指针(判定2145)。如果请求是快进请求,那么判定2145转移到“是”分支2148,判断用户是否已指定具体的快进量(判定2150)。如果已指定具体的快进量,那么判定2150转移到“是”分支2152,使指针所指向的地址增加所述具体量(步骤2155)。用户可用诸如秒之类的时间单位指示快进量。时间单位被转换成地址并应用于指针。另一方面,如果没有指定快进量,那么判定2150转移到“否”分支2158,使指针递增默认量(步骤2160)。判断递增后的指针是否指向通话缓冲器终点之后的位置(判定2165)。如果递增后的指针指向通话缓冲器终点之后,那么判定2165转移到“是”分支2168,把指针设置到位于通话缓冲器的终点之前的位置(步骤2170)。如果指针落在通话缓冲器范围之内,那么判定2165绕过步骤2170转移到“否”分支2172。
如果请求不是反绕或快进请求,那么从当前缓冲器位置开始,向用户重放通话缓冲器(预定过程2180,处理细节参见图24)。判断用户是否有另一基本检索请求(判定2185)。如果用户有另一基本检索请求,那么判定2185转移到“是”分支2190,循环处理下一请求。继续该循环,直到用户指示他打算停止执行检索请求并返回电话通话为止。此时,判定2185转移到“否”分支2192,处理在2195返回。
图22是表示利用个人电话记录器管理通话库所采取的步骤的流程图。处理开始于2200,接收电话库命令(步骤2210)。判断是否正在记录新的通话(判定2220)。如果个人电话记录器正在记录新的通话,那么判定2220转移到“是”分支2222,记录语音数据(预定过程2225,处理细节参见图23)。随后把记录的通话保存在通话库2275中(步骤2230)。通话库2275包括个人电话记录器用户可重放、查询或分析的记录通话。在所示的例子中,通话库2275包括记录的6个通话(标识符A-F)。
回到判定2220,如果个人电话记录器未正在记录新的呼叫,那么判定2220转移到“否”分支2245,接收和保存在通话库2275中的通话对应的通话标识符(步骤2275)。判断用户是否打算删除通话数据(判定2260)。如果用户请求删除一个或多个通话,那么判定2260转移到“是”分支2265,从通话库2275中删除所标识的通话(步骤2270)。另一方面,如果用户不打算删除通话,那么判定2260转移到“否”分支2284,响应用户的请求,进行查询、报告、数据挖掘或数据检索过程(预定过程2285,处理细节参见图20,和45-49)。请求和结果被保存在通话库2275中(步骤2290),以便用户能够分析结果和相应的请求。之后处理在2295返回。
图23是表示利用个人电话记录器记录语音和语音元数据所采取的步骤的流程图。处理开始于2300,从两个或更从电话通话参与者2310接收语音输入(步骤2305)。判断语音输入是来自于个人电话记录器用户还是来自于被授权使用个人电话记录器的某人(判定2315)。如果请求来自于个人电话记录器用户,那么判定2315转移到“是”分支2318,确定语音数据是否包括口头命令(判定2320)。如果语音数据包括口头命令,那么判定2320转移到“是”分支2322,处理个人电话记录器命令(预定过程2325,处理细节参见图18),处理在2330返回。另一方面,如果来自于个人电话记录器用户的输入不是命令,那么判定2320转移到“否”分支2332,通过电话网把语音数据传送给其它参与者(步骤2340)。
回到判定2315,如果语音数据接收自未被授权使用个人电话记录器的某人,那么判定2315转移到“否”分支2334,判断个人电话记录器是否正在按照代理方式工作,即未与参与者的电话系统之一相连(判定2335)。如果个人电话记录器与网络相连,而不是与参与者的电话系统之一相连,那么判定2335转移到“是”分支2338,接收的语音输入被传送给其它参与者(步骤2340),否则判定2335转移到“否”分支2342。
根据接收输入的线路识别提供语音输入的参与者(步骤2345)。另外,在该步骤中可使用语音识别技术,根据语音输入的特征识别参与者。分析包含在语音输入中的语音音调变化,判断参与者是在低声说话还是在叫喊,或者在他或她语音中具有其它一些音调变化(步骤2350)。判断参与者是否在高声说话(判定2355)。如果参与者在高声说话,那么判定2355转移到“是”分支2368,把音调变化设置成“高声说话”(步骤2370)。如果参与者没有高声说话,那么判定2355转移到“否”分支,判断参与者是否在低声说话(判定2360)。如果参与者在低声说话,那么判定2360转移支“是”分支2362,把音调变化设置成“低声说话”(步骤2365),否则判定2360绕过步骤2365转移到“否”分支2366。
判断在语音输入中是否检测到其它音调变化(判定2375)。如果检测到其它音调变化,那么判定2375转移到“是”分支2378,把识别的音调变化添加到音调变化设置中(步骤2380),否则判定2375绕过步骤2380转移到“否”分支2384。
对应于参与者的标识符,接收的语音数据和识别的音调变化被保存在语音数据库2388中(步骤2385)。判断通话是否已结束(判定2390)。如果通话没有结束,那么判定2390转移到“否”分支2392,循环接收并处理更多的语音输入。继续该循环,直到通话结束为止,此时,判定2390转移到“是”分支2394,处理在2395结束。
图24是表示利用个人电话记录器重放语音数据所采取的步骤的流程图。处理开始于2400,检索指示通话缓冲器内开始重放的位置,以及停止重放的位置的开始和停止指针(步骤2405)。
判断是否提供了开始指针(判定2410)。如果没有提供任何开始指针,那么判定2410转移到“是”分支2412,开始指针被初始化成通话缓冲器的起点(步骤2415),否则,判定2410绕过步骤2415转移到“否”分支2418。
判断是否提供了停止指针(判定2420)。如果没有提供任何停止指针,那么判定2420转移到“是”分支2422,停止指针被初始化成通话缓冲器的终点(步骤2425),否则,判定2420绕过步骤2425转移到“否”分支2428。
重放指针被初始化成开始指针(步骤2430)。接收重放速度(步骤2435)。在一些操作期间,例如当与会议通话重连时重放语音期间,用户最好以大于正常速度的速度播放保存的语音数据,从而用户可收听用户错过的通话部分,并追上其它参与者。确定是否指定了重放速度(判定2440)。如果指定了重放速度,那么判定2440转移到“是”分支2442,把重放速度设置和请求的速度一样。另一方面,如果没有指定重放速度,那么判定2440转移到“否”分支2448,把重放速度保持为先前的重放速度或者保持为默认速度(如果从未指定重放速度)(步骤2450)。
当参与者正在重放通话缓冲器的多个部分时,其它参与者可用信号通知正在收听重放的参与者,从而该用户可脱离重放,重新加入其它参与者中。判断是否有参与者发送了“重新加入”信号(判定2455)。如果收到了重新加入信号,判定2455转移到“是”分支2458,判断该信号是来自收听重放的用户,还是来自其它参与者之一(判定2460)。如果该信号来自用户,判定2460转移到分支2462,使用户返回实况会议通话(步骤2465),并设置标记用户的重放位置的书签,从而用户可在以后恢复重放(预定过程2470,处理细节参见图29),处理在2495返回。如果重新加入信号系从另一参与者接收,判定2460转移到2472,向用户播放听得见的信号,通知他其它参与者希望他重新加入通话(步骤2475)。
回到判定2455,如果没有收到重新加入信号,那么判定2455转移到“否”分支2478,从重放指针开始检索一块语音数据,并以重放速度向用户播放(步骤2480)。使重放指针递增所述块大小(步骤2485)。判断重放指针是否已到达终止地址(判定2490)。如果指针还没有到达终止地址,那么判定2490转移到“否”分支2492,循环播放另外的语音数据,并检测用户或其它参与者发布的各种命令。继续该循环,直到重放指针到达终止地址为止,此时,判定2490转移到“是”分支2494,处理在2495返回。
图25是识别个人电话记录器通话中的参与者,并处理面向参与者的调整的高级系统图。个人电话记录器通过具有电话能力的计算机或者通过电话机,接收来自个人电话记录器用户2510的语音数据,以及通过电话网2530,接收来自参与者2040、2050和2060的语音数据。在所示的例子中,在个人电话记录器和三个次要参与者之间保持三条通信线路(L1、L2和L3)。
个人电话记录器组件被用于记录通话数据、识别参与者、发送和接收语音数据、以及调整相对于参与者发送和接收的语音数据的音量(volume)。记录通话组件2570接收来自个人电话记录器用户2510和来自次要参与者的语音数据,并保存语音数据以及和从其接收语音数据的参与者或用户对应的标识符。识别参与者组件2575用于利用语音识别技术和线路数据,唯一地识别参与者。参与者数据被保存在数据存储器2580中,包括姓名、电话号码和参与者的其它识别特征。识别参与者组件和记录通话参与者一起工作,跟踪参与者提供的语音数据,并把跟踪信息保存在数据存储器2590中。
如果需要调整参与者接收或者发送给参与者的语音数据的音量,调整音量组件留意请求的音量。对于从用户传送给参与者的数据来说,调整音量组件判断是否应为一个或多个参与者调整音量。如果音量需要调整,那么组件2525在把语音数据传送给参与者之前,调整音量。在把语音数据传送给用户2510之前,调整音量组件执行相同的功能,增大或降低来自一个或多个参与者的音量。
图26是表示识别参与个人电话记录器会议通话的用户所采取的步骤的流程图。处理开始于2600,建立电话通话(步骤2610)。判断用户或用户使用的装置是否有助于识别该用户(判定2620)。如果用户或用户的装置识别该用户,判定2620转移到“是”分支2625,从用户或用户的装置接收用户信息(步骤2630)。例如,用户的电话机可发送借助数字签名识别该用户的数字信号,或者可发送用户的姓名、电话号码和其它识别信息。否则,如果用户或用户的装置不能识别该用户,那么判定2620绕过步骤2630转移到“否”分支2635。
判断用户是否正从不同的线路呼叫(判定2640)。如果呼叫者正从截然不同的线路呼叫,那么判定2640转移到“是”分支2645,检索和用户的物理线路相关的数据(步骤2650)。否则,判定2640转移到“否”分支2655,使用语音识别技术分析参与者的语音,并根据用户的语音特征识别用户(步骤2660)。所收集的识别用户的信息被保存在存储区2680中(步骤2670)。随后处理在2695返回。
图27是调整相对于各个参与者收发的语音数据的音量所采取的步骤的流程图。处理开始于2700,个人电话记录器接收语音数据(步骤2704)。判断数据是否来自于本地连接的个人电话记录器用户(判定2708)。如果语音数据来自于本地连接的个人电话记录器用户,那么判定2708转移到“是”分支2710,调整发送给其它参与者的音量。
判断个人电话记录器用户是否正在发出音量改变请求(判定2712)。如果用户正在改变输入或输出的音量,那么判定2712转移到“是”分支2714,判断用户是否希望改变输出音量(判定2716)。如果用户希望改变输出音量,那么判定2716转移到“是”分支2718,选择输出线路(步骤2720)并选择该线路的音量(步骤2724)。判断用户是否希望改变其它线路的输出音量(判定2728)。如果用户希望调整其它线路上的输出音量,那么判定2728转移到“是”分支2730,循环调整另一输出线路的音量。当调整了用户希望调整的全部输出线路时,判定2728转移到“否”分支2732。回到判定2716,如果用户未正在改变输出音量,那么判定2716绕过用于改变输出音量的步骤,转移到“否”分支2726。
判断用户是否希望改变输入音量(判定2736)。如果用户希望改变输入音量,那么判定2736转移到“是”分支2738,选择输入线路(步骤2740),并选择该线路的音量(步骤2744)。判断用户是否希望改变其它线路的输入音量(判定2748)。如果用户希望调整其它线路上的输入音量,那么判定2748转移到“是”分支2750,循环调整另一输入线路的音量。当调整了用户希望调整的全部输入线路时,判定2748转移到“否”分支2752。回到判定2736,如果用户未正在改变输入音量,那么判定2736绕过用于改变输入音量的步骤,转移到“否”分支2754。
回到判定2172,如果语音数据来自个人电话记录器用户,但是不是音量命令,那么判定2172转移到“否”分支2755,选择第一输出线路(步骤2756),根据为选择的输出线路选择的音量,调整语音输出的音量,并通过电话网2761发送给与第一线路相连的参与者(步骤2760)。判断是否存在要向其发送语音数据的其它输出线路(判定2762)。如果存在其它线路,那么判定2762转移到“是”分支2763,循环选择下一线路(步骤2764),调整该线路的音量,并通过电话网发送给参与者。继续该循环,直到不存在要处理的其它输出线路为止,此时,判定2762转移到“否”分支2765。
回到判定2708,如果语音数据被其它参与者之一接收(而不是被本地连接的个人电话记录器用户接收),那么判定2708转移到“否”分支2766,识别从其接收语音数据的线路(步骤2768)。判断是否调整从所识别的输入线路接收的语音数据的音量(判定2772)。如果不调整音量,那么判定2772绕过用于调整音量的步骤,转移到“否”分支2773。否则,判定2772转移到“是”分支2775,调整输入音量,并通过位于电话机2780上的扬声器,将其传送给个人电话记录器用户(步骤2776)。
判断通话是否已结束(判定2784)。如果通话没有结束,那么判定2784转移到“否”分支2788,循环接收并处理下一语音数据。继续这种循环,直到通话结束为止,此时,判定2784转移到“是”分支2790,处理在2795返回。
图28是利用个人电话记录器,设置并保持和记录的语音数据对应的书签的高级系统图。个人电话记录器2800通过电话网2860,连接个人电话记录器用户2810和通话参与者(2870、2880和2890)。通过利用组件2830,在各方之间传送通话数据。通话数据的副本保存在通话数据存储区2840中。当通话结束时,通话数据的副本可在通话库2875中无限期地保存。
书签用于标记通话数据中的位置,从而可迅速检索识别的通话数据。个人电话记录器用户发出命令,增加、删除和修改与用户和参与者之间的实时通话相关的书签,或者与保存在通话库中的通话相关的书签。命令识别器2820接收来自个人电话记录器用户的命令,包括书签命令。书签命令被发送给书签处理器2825,以便增加、删除和修改书签。通话的书签数据被保存在书签数据区2850中。使书签与特定的通话相关,例如通话数据ID=A,从而在通话之后,书签可用于查询、运行报告、数据挖掘、转发通话的各个部分(以语音或文本的格式),等等。
图29是表示设置并维持和记录的语音数据对应的书签所采取的步骤的流程图。处理开始于2900,从个人电话记录器系统2915检索通话数据2910(步骤2905)。通话数据包括对应于通话缓冲器的指针或标识符,和发出请求的个人电话记录器用户对应的标识符,以及和通话缓冲器内的位置对应的指针值。
从发出请求的个人电话记录器用户2930接收书签请求数据2925(步骤2920)。书签请求数据包括书签标识符(如果用户正在修改现有的书签),用户发出的书签请求的类型,以及可选的和书签对应的描述。从书签数据存储区2940检索和书签对应的数据(步骤2935)。
判断书签数据是否位于书签数据存储区内(判定2945)。如果找到并取出了书签数据,那么判定2945转移到“是”分支2948,判断请求是修改书签还是删除书签(判定2950)。
如果用户是要修改书签,那么判定2950转移到分支2958,判断用户是否正在更新通话数据内书签的位置(判定2960)。如果用户正在修改书签的位置,那么判定2960转移到“是”分支2962,利用新地址更新书签的指针值(步骤2965)。否则,判定2960绕过步骤2965转移到“否”分支2968。判断用户是否正在更新和该书签对应的描述(判定2970)。如果正在改变描述,那么判定2970转移到“是”分支2972,更新书签的描述(步骤2975)。回到判定2950,如果用户正在删除书签,那么判定2950转移到分支2952,从书签数据存储区删除书签数据(步骤2955)。
回到判定2945,如果在书签数据中没有找到书签标识符(或者没有提供书签标识符),那么判定2945转移到“否”分支2978,为新书签产生新的独有书签标识符(步骤2980)。产生的书签标识符,通话缓冲器标识符,参与者标识符,书签的指针(位置)和书签描述被保存在书签数据存储区中(步骤2990)。
在处理(增加、删除或修改)书签之后,处理在2995返回调用例程。
图30是处理从用户接收的语音命令的个人电话记录器的高级图。个人电话记录器3000包括通过电话网3070,管理个人电话记录器用户3010和一个或多个参与者之间的通话的许多组件。在图30中所示的例子中,个人电话记录器用户正在与三个参与者(3075、3080和3090)进行会议通话。发送/接收组件3020发送并接收来自个人电话记录器用户和参与者的数据。另外,组件3020把语音数据保存在通话数据存储区3030中。
个人电话记录器用户可发布依据用户语音的音调变化识别的口头命令。在图30中所示的例子中,用户低声说出命令。低声识别组件3040根据用户是否正在低声说话识别命令。如果用户在低声说话,那么低声识别组件把语音数据传给低声命令处理器3050进行处理。如果用户没有低声说话,那么低声识别组件把语音数据传送给组件3020,以便传送给其它参与者。
低声命令处理器3050识别用户请求的特定命令。命令可涉及搜索通话数据存储区3030以寻找记录的语音数据,并把结果3060回送给用户。命令还可涉及从外部源,例如先前记录的通话,用户的计算机系统,诸如因特网之类的公共计算机系统,或者诸如内联网或LAN(局域网)之类的专用计算机系统搜索数据。这些结果也被回送给个人电话记录器用户3010。如果用户的装置能够显示文本,例如具有电话能力的计算机系统,那么可用文本形式显示结果。否则,结果被转换成合成语音,并通过电话机扬声器向用户播放。
图31是表示个人电话记录器接收和过滤从用户接收的语音命令所采取的步骤的流程图。处理开始于3100,从个人电话记录器用户3120接收语音数据(步骤3110)。
判断接收的语音数据是否是低声说出的(判定3125)。如果接收的语音数据是低声说出的,那么判定3125转移到“是”分支3128,分析低声语音数据,以便识别可能包含在低声数据中的任何命令(步骤3130)。判断用户是否发出了低声命令(判定3140)。如果没有识别出低声命令,那么判定3140转移到“否”分支3145,通过电话网3160把低声语音数据传送给其它参与者3170(步骤3150)。另一方面,如果识别出低声命令,那么判定3140转移到“是”分支3155,处理低声命令(预定过程3175,处理细节参见图32)。
回到判定3125,如果接收的语音不是低声说出的,那么判定3125转移到“否”分支3148,通过电话网3160,把语音传送给其它参与者3170(步骤3150)。
判断通话是否已结束(判定3180)。如果通话没有结束,那么判定3180转移到“否”分支,循环接收其它的语音数据,并处理任何私语命令。继续该循环,直到通话结束为止,此时,判定3180转移到“是”分支3190,处理在3195返回。
虽然使用“低声”来描述检测语音命令的一种方法,不过代替用户低声说出命令,也可使用其它类型的语音检测。在一个备选实施例中,用户说出一个“奇异的单词”,例如“abracadabra”。当收到奇异的单词时,个人电话记录器系统检测奇异单词,并将其识别为语音命令的开始。奇异单词可以是正常对话中很少使用的单词,从而经常使用的单词不会被错认为奇异单词。另外,系统可被编程为允许用户配置个人电话记录器并提供用户定义的奇异单词。奇异单词也可用于指示语音命令的结束,从而个人电话记录器识别语音命令的结束和正常语音对话的恢复。诸如“end abracadabra”或“shazam”之类命令可用作奇异单词,以指示始于单词“abracadabra”的语音命令的结束。此外,依据音调或音调序列,例如用户按下电话机上的按键而接收的音调或音调序列,可标识命令的低声说出。例如,用户可按下星号键(“*”),指示语音命令的开始,按下井号键(“#”),指示语音命令的结束。
图32是表示个人电话记录器处理从用户接收的语音命令所采取的步骤的流程图。处理开始于3200,识别的低声命令被转换成文本(步骤3205)。判断用户是否希望搜索通话数据,寻找特定的单词或短语(判定3210)。如果用户希望搜索通话数据,那么判定3210转移到“是”分支3212,判断用户是打算搜索整个通话,还是打算搜索一部分通话(判定3215)。如果用户打算搜索整个通话,那么判定3215转移到“是”分支3218,起始位置被设置成通话缓冲器的起点,终止位置被设置成通话缓冲器的终点(步骤3220)。否则,如果搜索一部分通话,那么检索和该部分通话对应,标记搜索边界的书签(步骤3225)。
通话缓冲器中从起始位置到终止位置的通话数据被转换成文本(步骤3230),并保存在文本缓冲器3235中。利用包含在搜索请求内的用户参数,建立搜索命令(步骤3240)。根据用户的查找通话缓冲器内“谁”、“何时”、“何处”、“何事”和“何种方式”数据的请求,可建立复合搜索。例如,如果用户发出低声命令“谁说‘难以置信’?”,那么会建立反向扫描通话数据,寻找单词“不可置信”的搜索,当找到该单词时,返回说出该单词的参与者的姓名。此外,如果用户发出“Atlanta的会议何时召开”时,系统会反向扫描通话数据,查找围绕“Atlanta”和“会议”的单词,并检出关于会议时间的可能陈述。相对于文本形式的通话数据,执行建立的命令(步骤3245),并把结果保留在存储缓冲器中。
回到判定3210,如果不搜索通话数据,那么判定3210转移到“否”分支3265,同样利用用户的低声命令提供的搜索参数,建立网络搜索串(步骤3270)。判断是否搜索诸如因特网之类的公共网络(判定3275)。如果搜索公共网络,那么判定3275转移到“是”分支3278,利用诸如GoogleTM搜索引擎之类的搜索引擎,在公共网络上进行搜索(步骤3280)。结果保存在缓冲区中。否则,如果不搜索公共网络,那么判定3275绕过3280转移到“否”分支3282。判断是否搜索诸如用户的计算机系统、局域网或内联网之类非公共计算机或网络(判定3285)。如果搜索非公共计算机或网络,那么判定3285转移到“是”分支3288,在非公共计算机和/或网络上进行搜索(步骤3290),结果保存在缓冲区中。否则,如果不搜索非公共地点,那么判定3285绕过步骤3290转移到“否”分支3292。
从缓冲区检出结果,并提供给用户(步骤3250)。结果可返回给与个人电话记录器相连的相连个人计算机3255,或者可被转换成语音数据,并以不把结果传送给其它参与者的方式,通过电话3260将其传送给用户。之后处理在3295返回。
图33是转发电话通话的多个部分的个人电话记录器的高级图。命令过滤器3305能够接收来自于个人电话记录器用户的请求。命令过滤器把接收的通话数据(例如每个用户的会议发言)和用户发出的命令分开。这种情况下,用户发出的以文本形式转发一部分通话的任何命令被发送给文本通话转发模块3310。在收到来自文本通话转发模块3310的信号之后,语音-文本转换器3315请求通话数据3320,把语音数据转换成文本,最后把文本数据传送给文本通话数据存储器25。当用户请求传送给电子邮件地址时,在收到来自文本通话转发模块3310的信号之后,电子邮件/分组转发模块3330从文本通话数据存储器3325获取文本数据,随后通过因特网、局域网或者其它任意类型的网络,把恰当部分传送给接收者3340。
通过电话网3350,发送/接收通话数据3345把个人电话记录器用户产生的通话数据发送给诸如参与者3355、3360和3365之类任意其它次要参与者。每个这些用户可通过单独线路L1、L2和L3与发送/接收通话数据3345连接。同时,来自这三个用户中每个用户的通话数据都被传送给发送/接收通话数据3345,随后被传送给所有其它用户,包括主要的个人电话记录器用户。
图34是表示个人电话记录器把文本转发给一个或多个接收者的一个或多个位置所采取的步骤的高级流程图。
处理开始于3400,检索用户3405提供的转发细节(步骤3415)。转发细节可包括使用户和用户的通话部分相关联的呼叫者缓冲器ID,用户设置的书签,文本或语音转发位置等。判断是以语音还是文本的形式转发通话数据(判定3420)。如果要转发语音,那么判定3420转移到“是”分支3422。随后判断是转发整个通话数据还是只转发书签所示的一部分数据。如果要转发整个通话数据,那么判定3425转移到“是”分支3425,起始位置指针被设置成0(记录的起点)(步骤3440)。终止位置指针被设置成通话缓冲器的终点(步骤3445)。另一方面,如果要转发书签之间的一部分数据,那么判定3425转移到“否”分支3427,起始位置指针被设置成用户先前设置的开始书签(步骤3430),终止位置指针被设置成用户先前设置的停止书签(步骤3435)。在步骤3435和步骤3445之后,通话缓冲器3485的恰当部分(介于起始位置指针和终止位置指针之间)被复制到转发缓冲器3490中。随后产生转发语音数据的请求(步骤3455,参见图36),之后处理在3495结束。
如果要转发文本,那么判定3420转移到“文本”分支3424,发出把语音转换成文本的请求(步骤3465)。在步骤3465,接收关于文本缓冲器的指针,并在步骤3470,根据文本缓冲器产生转发文件。转发文件保存在存储器3475。在步骤3480,请求把该文本转发给感兴趣的任何人。随后处理在3495结束。
图35是表示个人电话记录器转发文本数据所采取的步骤的流程图。处理开始于步骤3500,选择第一转发位置(步骤3505)。转发位置可以是一个或多个电子邮件地址,一个或多个传真号码,一个或多个寻呼号码等。判断转发位置是否是电子邮件地址(判定3510)。如果转发位置是电子邮件地址,那么判定3510转移到“是”分支3512,从而在步骤3515,编辑给接收者的消息。在一个实施例中,在该消息中包含标准致辞,向接收者提供诸如会议何时召开,谁参加,相应的时间长度之类的信息。在步骤3520,文本形式的消息被附加在电子邮件消息上,并且在步骤3525,发送电子邮件消息。随后判断是否存在其它转发位置(判定3565)。如果存在其它转发位置,那么判定3565转移到“是”分支3567,选择下一转发位置(步骤3570),重复该过程,直到不存在其它转发位置为止。如果不存在其它转发位置,那么判定3565转移到“否”分支3569,之后处理在3595结束。
如果转发位置不是电子邮件地址,那么判定3510转移到“否”分支3514,判断转发位置是否是传真机或者寻呼机(判定3515)。如果转发位置是传真机或者寻呼机,那么判定3515转移到“是”分支3517,从而,在步骤3530,利用文本形式的通话数据编辑消息。在步骤3535,拨打电话号码。判断线路是否繁忙(判定3540)。如果线路繁忙,那么判定3540转移到“是”分支3542,从而在步骤3545,挂断该线路,并在步骤3530在重新拨打该电话号码(步骤39 3535)之前,系统等待一定的时间。如果该号码不忙,那么判定3540转移到“否”分支3544,系统等待接收者的机器的回答。随后判断传真机或寻呼机(或者寻呼机服务)是否回答(判定3555)。如果回答了,那么判定3555转移到“是”分支3557,系统建立与传真机或数字寻呼机的通信,并且随后把消息传送给传真机或数字寻呼机(步骤3560)。随后判断是否存在其它转发位置(判定3565)。如果存在其它转发位置,那么判定3565转移到“是”分支3567,选择下一转发位置(步骤3570),重复整个过程,直到不存在其它转发位置为止。如果不存在其它转发位置,那么判定3565转移到“否”分支3569,随后处理在3595结束。
如果转发位置不是传真机或寻呼机,那么判定3595转移到“否”分支3519,判断转发位置是否是URL(判定3520)。如果转发位置是URL,那么判定3520转移到“是”分支3522,把要转发的文本文件传送给URL(步骤3525)。可利用诸如FTP、HTTP之类适当协议进行文件传送。可通过诸如因特网、局域网或者任意其它类型网络之类的各种网络进行传送。另一方面,如果转发位置不是URL,那么判定3520转移到“否”分支3524,判断是否存在其它转发位置(判定3565)。如果不存在其它转发位置,那么判定3565转移到“否”分支3569,之后处理在3595结束。
图36是表示个人电话记录器把语音数据转发给一个或多个转发位置所采取的步骤的流程图。处理开始于步骤3600,在步骤3605选择第一转发位置。判断语音数据是否要被转发给常规电话机(判定3610)。如果要把语音数据转发给电话机,那么判定3610转移到“是”分支3612,从而在步骤3615,呼叫转发位置的电话号码。判断转发位置是否繁忙(判定3620)。如果转发位置繁忙,那么判定3620转移到“是”分支3622,从而在步骤3625,终止电话呼叫,并在短暂等待之后,重新拨打该转发位置的电话号码(步骤3615)。如果转发位置繁忙,那么判定3620转移到“否”分支3624,系统等待电话被应答(步骤3630)。判断电话呼叫是否被应答(判定3635)。如果电话呼叫未被应答,那么判定3635转移到“否”分支3639,系统再次挂断呼叫并等待(步骤3625)。另一方面,如果呼叫被应答,那么判定3625转移到“是”分支3637,通过电话线路播放语音消息(步骤3640)。判断是否存在其它的转发位置。
另一方面,如果转发位置不是电话机,那么判定3610转移到“否”分支3610,判断转发位置是否是电子邮件地址(判定3645)。如果转发位置是电子邮件地址,那么判定3645转移到“是”分支3647,语音被转换成音频文件(例如,转换成.wav文件)。随后编辑给每个参与者的消息(步骤3655)。在电子邮件消息中可包含传送和转发的语音数据,以及从其抽取语音部分的会议相关的信息的默认文本消息。在步骤3660,音频文件被附加在电子邮件消息上,并在步骤3665,把电子邮件发送给接收者。同样,判断是否存在其它的转发位置(判定3685)。如果存在其它转发位置,图37是表示个人电话记录器在电话通话期间转发通话的多个部分所采取的步骤的流程图。处理开始于步骤3700,个人电话记录器接收语音数据(步骤3705)。语音数据可从主要的个人电话记录器用户3710或者任意其它参与者3715接收。
判断转发是否源于主要的个人电话记录器用户(判定3720)。如果转发请求来自主要用户,那么判定3720转移到“是”分支3722,从而在步骤3725,用户接收转发位置。判断是否要转发整个通话(判定3730)。如果要转发整个通话,那么判定3730转移到“是”分支3732,转发部分的起始位置被设置成缓冲器的起点,终止位置被设置成缓冲器的当前终点(步骤3740)。随后根据上述起点和终点,从通话缓冲器3700检索语音数据。在步骤3740,检出的语音数据被转换成文本,文本随后被置于文本缓冲器3745中,以便后面转发。随后,在步骤3700,来自转发缓冲器3745的文本被转发给指定的转发位置。个人电话记录器随后循环到步骤3705,系统等待其它的转发命令。继续该循环,直到会议结束或者直到个人电话记录器被关闭为止。
另一方面,如果只要转发一部分通话,那么判定3730转移到“否”分支3734,从而在步骤3755,设置开始书签,并在步骤3760,由用户设置和参数相符的停止书签。在步骤3740,检出的语音数据被转换成文本,所述文本随后被置于文本缓冲器3745中,以便随后转发。之后,在步骤3700,来自转发缓冲器3745的文本被转发给指定的转发位置。个人电话记录器随后循环回到步骤3705,系统等待其它的转发命令。继续该循环,直到会议结束为止,或者直到个人电话记录器被关闭为止。
如果转发请求不是来自个人电话记录器用户,那么判定3720转移到“否”分支3724,从而在步骤3765,把语音数据保存在通话缓冲器3770中。之后,判断个人电话记录器是否要挂断。如果个人电话记录器要挂断,那么判定3780转移到“是”分支3782,之后在步骤3795结束处理。另一方面,如果个人电话记录器不被挂断,那么判定3780转移到“否”分支3784,处理循环回到接收语音数据(步骤3705)。
图38是表示重新加入掉线退出电话会议的参与者的个人电话记录器的网络图。参与者3840和3845利用线路L1和L2,通过电话网3835与个人电话记录器3800连接。来自参与者3840和3845的通话数据被发送/接收通话数据3825接收,随后保存在通话缓冲器3815中。掉线标识器3820能够检测何时及哪个用户掉线退出会议。在用户掉线退出会议之后,掉线识别器通过把掉线用户错过的数据保存在掉线数据存储器3810中,开始积聚掉线用户错过的数据。
当用户(例如用户3850)重新建立与个人电话记录器3800的通信时,使用户与重新加入参与者处理器3830连接。在一个实施例中,用户3850可借助传送通话数据的语音线路(L3),以及借助相对于个人电话记录器3800收发命令的数据线路,与个人电话记录器3800连接。重新加入参与者处理器3830从发送/接收通话数据模块3825接收关于掉线用户的信息。所述信息可包括(处理器已核实的)用户身份,用户掉线的时间等。在一个实施例中,处理器询问用户是希望重新加入会议,还是希望回顾任何错过的通话数据。如果用户希望重新加入正在进行的会议,那么重新加入参与者处理器3830把用户交给发送/接收通话数据模块3825。如果用户希望回顾错过的数据,那么重新加入参与者处理器3830向掉线数据存储器3810请求数据,并应用户请求把该数据传送给掉线用户。即,用户具有播放、停止、暂停、反绕、快进数据等能力。在一个实施例中,用户甚至具有在不改变音调(pitch)的情况下,以两倍的速度重放数据的能力。
图39是个人电话记录器处理掉线退出电话会议的参与者所采取的步骤的流程图。处理开始于3900,接收加入或掉线事件(步骤3905)。例如,参与者3915可能由于电话网3910的问题引起的连接质量差而掉线。在步骤3920,个人电话记录器识别掉线退出会议或者加入会议的特定参与者。
判断用户是否掉线或者是否将使用户加入会议(判定3927)。如果要使参与者加入会议,那么判定3930转移到“加入”分支3927,从而,在步骤3930,把专门的“重新加入”信号传送给其它参与者3935,提醒他们该参与者加入到会议中。
判断这是否是参与者首次参加该会议(判定3940)。如果该参与者首次参加该会议,那么判定3940转移到“是”分支3942,把和特定用户对应,表示用户参加该会议的次数的计数器置为1(步骤3945)。另一方面,如果这不是用户首次参加该会议,那么判定3940转移到“否”分支3944,使指针加1(步骤3955)。在步骤3945或步骤3955之后,在步骤3960,设置标识参与者和该参与者参加会议的位置的书签。随后参与者被发送到掉线重放处理器,在这里,向参与者提供收听其缺席期间所错过的会话部分的选择(步骤3965,在图40中更详细地说明)。随后在3995结束处理。
如果用户掉线,那么判定3925转移到“掉线”分支3925,向其它参与者3935传送专门的“掉线”信号,提醒他们该参与者掉线退出会议(步骤3929)。判断这是否是该用户首次掉线退出会议(判定3975)。如果这是用户首次掉线,那么判定3975转移到“是”分支3977,从而把标识用户以及该用户已掉线多少次的计数器置为1(步骤3980)。另一方面,如果判定3975转移到“否”分支3979,那么把标识用户以及该用户已掉线多少次的计数器加1(步骤3985)。在步骤3980或步骤3985之后,设置指示用户身份以及用户掉线退出会议的位置的书签(步骤3990)。如果用户后来重新加入会议,那么该信息可用于帮助所述用户。之后在3995结束处理。
图40是个人电话记录器为加入会议通话的用户重放先前的语音记录所采取的步骤的流程图。处理开始于4000,检索用户的掉线和加入书签(步骤4010)。判断掉线书签的数目是否小于加入书签的数目(判定4015)。如果掉线书签的数目小于加入书签的数目,那么判定4015转移到“是”分支4017,设置第一掉线书签(步骤4020)。该书签可包括和用户身份,书签位置等有关的信息。
在上述步骤之后,并且如果判定4015转移到“否”分支4019,那么向用户提供用于重放的掉线/加入对(drop/add pairs)的选择。在步骤4030,提示用户进行选择。判断选择是否是“停止”命令(判定4035)。如果选择是“停止”命令,那么判定4035转移到“是”分支4037,使用户返回实况通话(步骤4040)。随后在4095结束处理。
另一方面,如果选择不是“停止”命令,那么判定4035转移到“否”分支4039,从而在步骤4045,个人电话记录器检索起始指针和停止指针,并分别将它们设置成等于掉线书签指针和加入书签指针。在步骤4050,个人电话记录器处理介于起始指针和停止指针之间的片断的重放(参见图)。另外,还把“重新加入”信号4055发送给其它参与者4060,提醒他们该用户已重新加入。在步骤4050之后,通过利用循环4052,使处理返回步骤4025。
图41是利用个人电话记录器,从记录的通话数据对单词和短语进行用户数据挖掘的系统图。个人电话记录器用户4100可在会议通话之前、期间或者之后定义并编辑要在记录的通话数据的处理过程中使用的挖掘单词/短语。记录的通话数据的处理可涉及产生索引,注释通话数据等等。注释数据可涉及搜索通话数据寻找关键字和短语,搜索通话数据寻找语音音调变化,以及提供从关键字到关键字相关信息所处地点(例如因特网上的地点)的超链接。
通话数据挖掘处理器4120能够从通话库4135获取挖掘单词和短语,以及通话数据。通话库4135包含通话数据4150A-F。这六个区均包含会议中每个用户的通话。
图42是在通话数据挖掘操作期间,产生单词和短语的索引所采取的步骤的流程图。处理开始于4200,以文本形式从元数据存储器4212接收通话数据(步骤4210)。通过把语音通话数据转换成文本,产生文本数据。判断请求索引的用户是否已提供了索引单词清单(判定4214)。如果用户已提供了索引单词清单,那么判定4214转移到“是”分支4216,获取提供的索引单词清单(步骤4218)。在步骤4220,个人电话记录器逐字搜索通话文本。判断来自通话文本数据的单词是否匹配提供的索引单词清单中的单词之一(判定4222)。如果单词之间存在匹配,那么判定4222转移到“是”分支4224,把匹配的单词加入要产生的索引中(步骤4226)。还可保存与该单词相关的其它信息,例如文本数据中找到该单词的位置。确定是否已搜索到文本数据的终点(判定4228)。如果到达文本数据的终点,那么判定4228转移到“是”分支4234,在4295结束处理。如果没有到达文本数据的终点,那么判定4228转移到“否”分支4232,在步骤4220重复单词搜索。如果不存在单词匹配,那么判定4222转移到“否”分支4230,同样判断是否已到达文本数据的终点(判定4228)。如果到达了文本数据的终点,那么判定4228转移到“是”分支4234,随后在4295结束处理。如果没有到达文本数据的终点,那么判定4228转移到“否”分支4232,从而在步骤4220继续单词搜索。
如果用户没有提供索引单词清单,那么判定4214转移到“否”分支4236,获取导入的常见单词清单(步骤4238)。当排除常见单词时,消除这些常见单词可能是更容易的形成索引的方式。在步骤4240,个人电话记录器逐个单词搜索通话文本。判断来自通话文本数据的单词是否和常见单词清单中的单词之一匹配(判定4242)。如果单词之间存在匹配,那么判定4242转移到“是”分支4244,把匹配的单词加入要产生的索引中(步骤4246)。还可保存和该单词相关的其它信息,例如文本数据中找到该单词的位置。判定是否已搜索到文本数据的终点(判定4248)。如果到达了文本数据的终点,那么判定4248转移到“是”分支4234,在4295结束处理。如果没有到达文本数据的终点,那么判定4248转移到“否”分支4252,在步骤4220重复单词搜索。如果不存在单词匹配,那么判定4252转移到“是”分支4250,同样判断是否已到达文本数据的终点(判定4248)。如果到达了文本数据的终点,那么判定4248转移到“是”分支4254,随后在4295结束处理。如果没有到达文本数据的终点,那么判定4248转移到“否”分支4252,从而在步骤4240继续单词搜索。
图43是在通话数据挖掘操作期间注释通话文本所采取的步骤的流程图。处理开始于4300。首先判断是要对实况通话进行注释,还是根据保存的通话进行注释。如果通话目前正在进行,那么判定4310转移到“是”分支4316,从而在步骤4312,接收实况语音流和文本流。另一方面,如果通话不是正在进行,那么判定4310转移到“否”分支4318,从而在步骤4620,从存储器接收恰当的语音和文本数据。
在步骤4312和步骤4320之后,判断是否搜索通话数据寻找特定关键字(判定4314)。如果系统要进行关键字搜索,那么判定4314转移到“是”分支4322,判断来自通话文本数据的单词是否和提供的单词之一匹配(判定4324)。如果存在匹配,那么在步骤4328,接收该单词,并处理和匹配单词相关的“挖掘出的”信息。如果不存在匹配,那么判定4324转移到“否”分支4330。如果不进行关键字搜索,那么判定4514转移到“否”分支4332。
分支4330和分支4332通向判定4342,判断是否搜索输入的文本寻找特定短语(判定4514)。如果系统要进行短语搜索,那么判定4342转移到“是”分支4336,判定来自通话文本数据的短语是否和提供的短语之一匹配(判定4338)。如果存在匹配,那么在步骤4328,接收短语,并处理和匹配的短语相关的“挖掘出来的”信息。如果不存在匹配,那么判定4338转移到“否”分支4344。如果不进行短语搜索,那么判定4534转移到“否”分支4334。
分支4343和分支4344都通向判定4346,判断是否分析会议中用户的语音特性(判定4546)。如果系统要进行语音分析,那么判定4346转移到“是”分支4348,判断是否发生了音量、音调、重音水平(stress level)等方面的变化(判定4350)。如果发生了变化,那么在步骤4328,接收并处理来自搜索的相关信息。如果语音中没有发现变化,那么判定4350转移到“否”分支4356。如果不进行语音分析,那么判定4346转移到“否”分支4354。
分支4356和分支4354都通向判定4358,判断是否搜索通话数据寻找特定的上下文(判定4358)。如果系统要进行搜索,那么判定4346转移到“是”分支4348,判断是否发生了音量、音调、重音水平等方面的变化(判定4350)。如果发生了变化,那么在步骤4350,接收并处理来自搜索的相关信息。如果语音中没有发现变化,那么判定4350转移到“否”分支4362。如果不进行语音分析,那么判定4346转移到“否”分支4354。
图44是接收并处理从记录的电话通话挖掘得到的信息所采取的步骤的流程图。处理开始于4400,在步骤4410,搜索本地字典,以便获得所挖掘信息的定义。在该步骤,可接收例如来自本地字典4440的数据。在步骤4425,信息编译器接收成功搜索所获得的数据。
除了搜索本地字典之外,还利用获得的挖掘出的信息进行因特网搜索(步骤4415)。在该步骤,可接收例如来自因特网的数据。在步骤4425,信息编译器接收成功搜索所获得的数据。
搜索挖掘出的信息的另一地点是先前从类似的通话/会议记录的通话数据(步骤4420)。成功搜索期间获得的信息也由信息编译器接收(步骤4420)。
在步骤4425,在一些限制下,任何从上述搜索获得的关于通话的信息从通话数据超链接到该信息。所得到的超链接数据保存在元数据存储器4430中。编译的“挖掘出的”信息保存在非易失性存储器4435中。
图45是表示针对查询请求搜索通话数据所采取的步骤的流程图。处理开始于4500,在步骤4505(参见图19),从通话数据存储器4510检索语音通话数据,将其转换成文本,随后以文本格式保存在文本通话数据存储器4515中。在步骤4520,接收查询请求,判断该请求是否与特定用户相关(判定4525)。如果该请求与特定参与者相关,那么判定4525转移到“是”分支4527,从而在步骤4530,选择该特定参与者形成的通话数据。在步骤4530之后,继续进行判定4535。另一方面,如果请求是与特定参与者相关,那么判定4525转移到“否”分支4529。
随后确定请求是否与特定用户相关(判定4535)。如果请求与特定用户相关,那么判定4535转移到“是”分支4537,从而在步骤4540,选择该特定参与者形成的通话数据。在步骤4540之后,继续进行判定4545。另一方面,如果请求不和特定参与者相关,那么判定4535转移到“否”分支4539。另一方面,如果请求不和特定参与者相关,那么判定4535转移到“否”分支4539。
判断查询请求是否和满足特定标准的通话数据相关(判定4545)。如果请求和满足特定标准的通话数据相关,那么判定4545转移到“是”分支4537,从而在步骤4550,选择具有适当标准的通话数据。在步骤4550之后,继续进行判定4555。另一方面,如果请求不和具有特定标准的通话数据相关,那么判定4545转移到“否”分支4549。另一方面,如果请求不是关于满足特定标准的通话数据,那么判定4545转移到“否”分支4549。
判断请求是否和具有特定音调变化标准的部分语音数据相关(判定4555)。如果请求与音调变化相关,那么判定4545转移到“是”分支4547,从而在步骤4550,选择具有特定音调变化的通话数据。在步骤4560之后,继续进行判定4555。另一方面,如果请求不和特定参与者相关,那么判定4545转移到“否”分支4549。另一方面,如果请求不和特定参与者相关,那么判定4535转移到“否”分支4539。
图46是表示从包括许多通话记录的通话库对单词和短语进行数据挖掘所采取的步骤的流程图。处理开始于4600,从而在步骤4605,来自第一通话数据的通话数据被保存在通话库4610中。通话库4610包含代表每个用户的会议发言的用户专用通话数据4615A-F。
判断是否存在文本形式的通话数据(判定4620)。如果已存在文本格式,那么判定4620转移到“是”分支4620,从而跳过把语音数据转换成文本的下一步骤。如果不存在文本格式,那么判定4620转移到“否”分支4624,从而在步骤4625,把语音数据转换成文本。
在步骤4630,在从挖掘单词/短语4635获得的单词和短语中选择单词/短语,并在步骤4645,关于该单词/短语搜索选择的通话数据。在步骤4655,任何成功的搜索结果被保存在挖掘结果存储器4660中。
判断是否存在需要处理的其它挖掘信息(判定4670)。如果是,那么选择下一单词/短语,并在步骤4630重复搜索选择的文本。继续该循环,直到不存在其它挖掘单词/短语为止。如果不存在其它挖掘信息,那么判定4665转移到“否”分支4669,判断是否存在要搜索的其它通话数据集(判定4670)。如果存在其它这样的通话,那么判定4670转移到“是”分支4672,可接收另外的语音数据(步骤4675),或者从“家里”(home)获得另外的语音数据。如果不存在要搜索的其它通话,那么判定4670转移到“否”分支4674,随后在4695结束处理。
图47是表示产生用于检索在通话数据文件中找到的数据的定制报告规范所采取的步骤的流程图。处理开始于4700,在步骤4710,接收关于单词或短语的第一搜索。在步骤4720,接收要准备的报告的标题。单词、短语和报告保存在报告数据存储器4740中以供未来引用。如果存在另外的搜索单词,那么判定4780转移到“是”分支4754。在下一步骤(4760),选择下一搜索单词,并引入数据。如果不存在其它单词,那么判定4750转移到“否”分支4758。
在步骤4770中,接收报告标题、页眉和页脚,定制报告并向报告区提供标题信息。在步骤4080,把标题、页眉和页脚保存在报告数据存储器4740中。随后在4790结束处理。
图48是表示通过从通话数据文件检索数据,产生定制报告所采取的步骤的流程图。处理开始于4800,从而在步骤4805,接收报告请求。另外在步骤4810,接收任何与报告相关的数据。这种数据可包括标题、页眉、页脚等。在步骤4820,通过选择标题、页眉/页脚、栏标题等,格式化报告。从通话库4822检索与要产生其报告的第一通话相关的通话数据。通话库包括依据各个用户的通话部分保存的通话数据(4825A-F)。
判断通话数据是否以文本形式存在(判定4825)。如果存在文本格式,那么判定4825转移到“是”分支4827。如果不存在文本格式,那么判定4825转移到“否”分支4829,从而在步骤4830,语音通话数据被转换成文本。
在步骤4845,从报告数据存储器4840选择第一报告查询,在步骤4845,搜索通话数据,查找搜索项的任何出现。搜索结果被保存在定制通话报告存储器4855中。
判断是否存在其它查询(判定4860)。如果存在其它查询,那么判定4860转移到“是”分支4862,从而在步骤4850,选择下一查询,并在步骤4845继续搜索。如果不存在查询,那么判定4860转移到“否”分支4864。
判断是否存在要包含在报告中的其它通话(判定4865)。如果存在其它通话,那么判定4865转移到“是”分支4867,从而在步骤4870,从通话库4822选择下一通话,并在判定4825恢复搜索。如果不存在其它通话,那么判定4865转移到“否”分支4869,随后在4895结束处理。
图49是表示根据通话数据文件产生副本(transcription)报告所采取的步骤的流程图。处理开始于4900,从参与者通话跟踪表存储器4910检索特定用户的通话数据起始地址的指针(步骤4905)。在步骤4910,从参与者通话跟踪表存储器4910检索特定用户的通话数据终止地址的指针。还检索和通话的起点和终点对应的语音块(步骤4915)。在步骤4925,语音块被转换成文本,所述文本被保存在文本块存储器4935中。
在步骤4930,从文本块存储器4935检索参与者ID和对应的文本,并将其加入副本报告4940中。
判断是否存在其它参与者的其它通话数据(判定4945)。如果存在其它通话数据,那么判定4945转移到“是”分支4947,从而在步骤4905,恢复通话数据的检索。继续该循环,直到没有留下其它通话数据为止。如果不存在其它通话数据,那么判定4945转移到“否”分支4949,从而在步骤4950,产生索引报告。索引报告是保存在副本报告4940中的单独用户数据的汇编。最后,把索引报告保存在索引副本存储器4955中,随后在4995结束处理。
图50图解说明了信息处理系统5001,它是能够实现这里描述的操作的计算机系统的简化例子。计算机系统5001包括与主总线5005耦接的处理器5000。二级(L2)高速缓存5010也与主总线5005耦接。主机到PCI桥接器5015与主存储器5020耦接,包括高速缓存和主存储器控制功能,并提供处理PCI总线5025、处理器5000、L2高速缓存5010、主存储器5020和主总线5005之间的转移的总线控制。PCI总线5025为包括例如LAN卡5030的各种装置提供接口。PCI-ISA桥接器5035提供处理PCI总线5025和ISA总线5040之间的转移的总线控制,通用串行总线(USB)功能5045、IDE装置功能5050、电源管理功能5055,还可包括未示出的其它功能元件,例如实时时钟(RTC)、DMA控制、中断支持和系统管理总线支持。外围设备和输入20输出(I20O)装置可连接到各种接口5060上(例如与ISA总线5040耦接的并行接口5062、串行接口5064、红外(IR)接口5066、键盘接口5068、鼠标接口5070、硬盘(HDD)5072)。或者,许多I20O装置可由连接在ISA总线5040上的超级I200控制器(未示出)容纳。
BIOS 5080与ISA总线5040耦接,并包含各种低级系统功能和系统引导功能所必需的处理器可执行代码。BIOS 5080可保存在任何计算机可读介质中,包括磁存储介质、光存储介质、快闪存储器、随机存取存储器、只读存储器、以及传送对指令编码的信号(例如来自网络的信号)的通信介质。为了把计算机系统5001连接到另一计算机系统,以便通过网络复制文件,使LAN卡5030与PCI总线5025以及与PCI-ISA桥接器5035耦接。类似地,为了利用电话线连接,使计算机系统5001与ISP连接,从而连接到因特网,使调制解调器5075与串行端口5064和PCI-ISA桥接器5035连接。
虽然图50中描述的计算机系统能够执行这里描述的发明,但是该计算机系统只是计算机系统的一个例子。本领域的技术人员会认识到其它许多计算机系统设计能够实现这里描述的发明。
本发明的优选实现之一是一种应用程序,即代码模块中的一组指令(程序代码),所述一组指令例如可驻留在计算机的随机存取存储器中。在被计算机获取之前,该组指令可保存在另一计算机存储器中,例如保存在硬盘驱动器上,或者保存在诸如光盘(最终用在CDROM中)或者软盘(最终用在软盘驱动器中)之类的可拆卸存储器中,或者通过因特网或其它计算机网络被下载。从而,本发明可实现成供计算机之用的计算机程序产品。另外,虽然所述各个方法适宜在由软件有选择地激活或重新配置的通用计算机中实现,不过本领域的普通技术人员也会认识到也可用硬件,固件或者用专门构成的实现所需方法步骤的设备来实现这种方法。
虽然已图示和说明了本发明的具体实施例,不过对本领域的技术人员来说,根据这里的教导,显然能够在不脱离本发明及更宽广的范围的情况下做出变化和修改,于是,所附的权利要求意图在其范围内包含在本发明精神和范围内的所有这些变化和修改。此外,本发明显然仅由所附权利要求限定。本领域的技术人员会明白,如果意指权利要求中引入的要素的具体数目,那么会在权利要求中明确叙述这种意图,在缺少这种叙述的情况下,不存在这样的限制。为了帮助理解,例如(非限制性例子),所附权利要求使用了引导词“至少一个”及“一个或多个”来引入权利要求要素。但是,这种短语的应用不应被解释为冠以不定冠词“a”或“an”(一个)的权利要求要素就把包含这样引入的权利要求要素的特定权利要求限制为只包含一个这种要素的发明,即使当同一权利要求包含引导词“一个或多个”或者“至少一个”,以及诸如“a”或“an”之类不定冠词时;这同样适用于定冠词在权利要求中的使用。
权利要求
1.一种在电话通话期间,处理有声请求的方法,所述方法包括启动若干参与者之间的电话通话;接收来自参与者的若干语音输入,其中来自一个或多个参与者的语音输入包括语音数据和语音请求;识别包含在语音输入中的语音请求;执行语音请求;和把语音请求的结果返回给从其接收语音请求的参与者。
2.按照权利要求1所述的方法,其中识别步骤还包括识别包含在语音输入中的语音音调变化;和在不把语音请求传送给其它参与者的情况下,把语音数据传送给其它参与者。
3.按照权利要求1所述的方法,还包括把语音请求转换成文本形式;根据文本形式的语音请求,产生搜索请求;响应搜索请求在计算机网络中搜索信息,搜索得到一个或多个搜索结果;和把搜索结果包含在结果之内。
4.按照权利要求1所述的方法,还包括把从参与者接收的语音数据保存到存储区中;把语音请求转换成文本形式;把保存的语音数据转换成文本形式;根据文本形式的语音请求,产生搜索请求;针对搜索请求,搜索保存的语音数据的文本形式,所述搜索得到一个或多个搜索结果;和把搜索结果包含在结果之内。
5.按照权利要求1所述的方法,其中所述结果包括文本形式,所述返回步骤还包括把文本形式的结果转换成可听形式;和在不把可听形式的结果传送给其它参与者的情况下,把可听形式的结果传送给从其接收语音请求的参与者。
6.按照权利要求1所述的方法,其中所述结果包括文本形式,所述返回步骤还包括把文本形式的结果传送给和从其接收语音请求的参与者对应的电子地址;在适合于接收提交给所述电子地址的电子消息的信息处理装置接收传送的文本形式的结果;和在可从信息处理装置访问的显示装置上显示文本形式的结果。
7.按照权利要求6所述的方法,其中信息处理装置选自计算机系统、移动电话机、个人数字助手、数字寻呼机和传真机。
8.一种信息处理系统,包括一个或多个处理器;处理器可访问的保存电话通话数据的存储区;通过数据网络传送接收的语音输入的发送器;从数据网络接收语音数据的接收器;和在电话通话期间处理有声请求的电话请求工具,所述电话请求工具包括启动若干参与者之间通过数据网络的电话通话的装置;接收来自参与者的若干语音输入的装置,其中来自一个或多个参与者的语音输入包括语音数据和语音请求;识别包含在语音输入中的语音请求的装置;执行语音请求的装置;和把语音请求的结果返回给从其接收语音请求的参与者的装置。
9.按照权利要求8所述的信息处理系统,其中识别装置还包括识别包含在语音输入中的语音音调变化的装置;和在不把语音请求传送给其它参与者的情况下,把语音数据传送给其它参与者的装置。
10.按照权利要求8所述的信息处理系统,还包括把语音请求转换成文本形式的装置;根据文本形式的语音请求,产生搜索请求的装置;响应搜索请求在计算机网络上搜索信息的装置,搜索得到一个或多个搜索结果;和把搜索结果包含在结果之内的装置。
11.按照权利要求8所述的信息处理系统,还包括把从参与者接收的语音数据保存到存储区中的装置;把语音请求转换成文本形式的装置;把保存的语音数据转换成文本形式的装置;根据文本形式的语音请求,产生搜索请求的装置;针对搜索请求,搜索保存的语音数据的文本形式的装置,所述搜索装置得到一个或多个搜索结果;和把搜索结果包含在结果之内的装置。
12.按照权利要求8所述的信息处理系统,其中所述结果包括文本形式,所述返回装置还包括把文本形式的结果转换成可听形式的装置;和把可听形式的结果传送给从其接收语音请求的参与者的装置,其中所述传送装置不把可听形式的结果传送给其它参与者。
13.按照权利要求8所述的信息处理系统,其中所述结果包括文本形式,所述返回还包括把文本形式的结果传送给和从其接收语音请求的参与者对应的电子地址的装置;在适合于接收提交给所述电子地址的电子消息的信息处理装置接收传送的文本形式结果的装置;和在可从所述信息处理装置访问的显示装置上显示文本形式结果的装置。
14.按照权利要求13所述的信息处理系统,其中所述信息处理装置选自计算机系统、移动电话机、个人数字助手、数字寻呼机和传真机。
15.一种保存在计算机可操作的媒介上,在电话通话期间处理有声请求的计算机程序产品,所述计算机程序产品包括启动若干参与者之间的电话通话的装置;接收来自参与者的若干语音输入的装置,其中来自一个或多个参与者的语音输入包括语音数据和语音请求;识别包含在语音输入中的语音请求的装置;执行语音请求的装置;和把语音请求的结果返回给从其接收语音请求的参与者的装置。
16.按照权利要求15所述的计算机程序产品,其中识别装置还包括识别包含在语音输入中的语音音调变化的装置;和在不把语音请求传送给其它参与者的情况下,把语音数据传送给其它参与者的装置。
17.按照权利要求15所述的计算机程序产品,还包括把语音请求转换成文本形式的装置;根据文本形式的语音请求,产生搜索请求的装置;响应搜索请求在计算机网络上搜索信息的装置,所述搜索得到一个或多个搜索结果;和把搜索结果包含在结果之内的装置。
18.按照权利要求15所述的计算机程序产品,还包括把从参与者接收的语音数据保存到存储区中的装置;把语音请求转换成文本形式的装置;把保存的语音数据转换成文本形式的装置;根据文本形式的语音请求,产生搜索请求的装置;针对搜索请求,搜索保存的语音数据的文本形式的装置,所述搜索装置得到一个或多个搜索结果;和把搜索结果包含在结果之内的装置。
19.按照权利要求15所述的计算机程序产品,其中所述结果包括文本形式,所述返回装置还包括把文本形式的结果转换成可听形式的装置;和把可听形式的结果传送给从其接收语音请求的参与者的装置,其中所述传送装置不把可听形式的结果传送给其它参与者。
20.按照权利要求15所述的计算机程序产品,其中所述结果包括文本形式,所述返回还包括把文本形式的结果传送给和从其接收语音请求的参与者对应的电子地址的装置;在适合于接收提交给所述电子地址的电子消息的信息处理装置接收传送的文本形式结果的装置;和在可从所述信息处理装置访问的显示装置上显示文本形式结果的装置。
21.按照权利要求20所述的计算机程序产品,其中所述信息处理装置选自计算机系统、移动电话机、个人数字助手、数字寻呼机和传真机。
全文摘要
本申请公开了一种处理个人电话记录器命令的系统和方法,即一种在会议通话期间,接收并处理专用语音命令的系统和方法。用户发出有声命令,以便在实况会议或者以后的重放期间检索信息。用户可借助语音或者通过借助用户装置发送数据,发出这些命令。用户可发出命令,查找会议中最后说到的姓名,或者确定哪个参与者讲述了某事。可向用户重放该姓名,或者在用户的请求下,通过搜索特定的数据库,该姓名可附随另外的信息。用户还可发出请求信息的其它命令,例如指示位置的最后口述单词,指示时间的最后口述单词,指示方法的最后口述单词等。响应语音命令,还可从诸如因特网之类的网络检索信息。
文档编号H04L12/24GK1497930SQ20031010126
公开日2004年5月19日 申请日期2003年10月16日 优先权日2002年10月23日
发明者迈克尔·W·布朗, 约瑟夫·H·麦金太尔, 维克托·S·穆尔, 迈克尔·A·保利尼, 斯科特·L·文特斯, A 保利尼, H 麦金太尔, L 文特斯, S 穆尔, 迈克尔 W 布朗 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1