信息处理装置和用于生成图表的方法

文档序号:6525367阅读:232来源:国知局
信息处理装置和用于生成图表的方法
【专利摘要】本发明涉及信息处理装置和用于生成图表的方法。一种信息处理装置,包括确定单元和图表生成单元。该确定单元通过分析要呈现在电子文件中的字符串来确定图表类型。该图表生成单元基于电子文件的数据来生成具有该图表类型的图表。
【专利说明】信息处理装置和用于生成图表的方法
【技术领域】
[0001]本文所讨论的实施例涉及信息处理装置以及用于生成图表的方法。
【背景技术】
[0002]电子文件可包含以可视的方式呈现某些具体数据的图表。为了用计算机产生这样的电子文件,用户可以指定一种图表和将源数据输入计算机。在响应中,计算机通过运行具有图表生成功能的软件程序来根据用户输入生成图表。
[0003]用于图表生成的软件可以是例如电子表格应用程序。在计算机上运行的电子表格程序使用户能以表格形式输入数据并且根据数据表格产生用户所指定的类型的图表。可以通过用于设计并且创建诸如商业报表格式的文件的其他应用程序软件来类似地产生图表。该软件根据给定的源数据生成图表并且将得到的图表插入文件。
[0004]还提出了一种文件处理设备,该文件处理设备帮助用户创建适用于他的或她的文件目的的示图,而无需与这种示图的格式有关的任何专门知识。所提出的设备接受指定要创建的示图的目的的用户命令以及描述示图如何表现其内容的一组规则。在响应中,文件处理设备针对示图确定适当的颜色搭配、对象布局以及装饰。例如,参见,日本已公开专利公布第2000-268112号。
[0005]诸如商业报表格式的电子文件根据文件的目的(即,图表打算传递何种信息)可包括条形图表、线形图表或其他类型的图表。例如,当用户打算在多个数据值之间就它们的大小提供比较时,可以选择条形图表。当打算描绘两个或更多个数据项目随时间的变化时,在许多情况下,线形图表会是直观的。
[0006]必须注意的是,在上述的传统技术中,选择生成哪种类型的图表由用户决定。然而,这意味着用户并不总能做出正确的图表选择。如果指定了错误的类型,得到的图像会难以理解,因此用户将不得不花费额外的时间来丢弃无用的图表并且通过指定不同的图表类型来创建另一图表。

【发明内容】

[0007]一方面,实施例的目的是提供一种便于生成适当类型的图表的信息处理装置和图表生成方法。
[0008]根据本文要讨论的实施例的一个方面,提供了一种用于产生图表的方法,该方法包括:由计算机通过分析要在电子文件中呈现的字符串来确定图表类型;并且由计算机基于该电子文件的数据来生成该图表类型的图表。
【专利附图】

【附图说明】
[0009]图1例示了根据第一实施例的信息处理装置的功能结构的示例;
[0010]图2例示了根据第二实施例的系统配置的示例;
[0011]图3例示了在第二实施例中的服务器的硬件配置的示例;[0012]图4例示了第二实施例的功能框图;
[0013]图5例示了文件式样形式的示例;
[0014]图6例示了文件式样数据的数据结构的示例;
[0015]图7例示了词汇存储单元的数据结构的示例;
[0016]图8例示了中间数据存储单元的数据结构的示例;
[0017]图9是例示产生文件的处理的流程图;
[0018]图10是例示如何创建文件式样形式的流程图;
[0019]图11是例示文件如何输出的流程图;
[0020]图12例示如何产生用于插入文件的表格的示例;
[0021]图13是例不如何广生图表的流程图;
[0022]图14是例示如何确定图表类型的流程图;
[0023]图15是例示如何确定文件的分类的流程图;
[0024]图16例示从文件提取标题的示例;
[0025]图17是例示词汇提取处理的示例的流程图;
[0026]图18例示基于标题的文件分类的示例;
[0027]图19是例示如何确定数据序列的数量的流程图;
[0028]图20例示对数据序列计数的示例;
[0029]图21是例示如何确定项目的数量的示例的流程图;
[0030]图22是例示如何选择图表类型的流程图;
[0031]图23是例示选择用于比较的图表类型的处理的流程图;
[0032]图24是例示如何选择用于分析的图表类型的示例的流程图;
[0033]图25例示如何基于数据值的总和来选择图表类型的示例;
[0034]图26例示如何生成包含图表的文件的第一示例;以及
[0035]图27至图29是例示如何生成包含图表的文件第二示例的第一至第三示图。
【具体实施方式】
[0036]下面将参考附图来描述几个实施例。这些实施例除非它们具有相矛盾的特征否则可以彼此结合。
[0037](a)第一实施例
[0038]图1例示了根据第一实施例的信息处理装置的功能结构的示例。所例示的信息处理装置I包括电子文件生成单元la、确定单元Ib以及图表生成单元lc。
[0039]电子文件生成单元Ia配置成基于表格4b的源数据3并且基于式样数据2来生成用于电子文件4-1的表格4b,该式样数据2定义包括表格的这种电子文件4-1的外观或式样。电子文件生成单元Ia基于式样数据2生成电子文件4-1。例如,电子文件生成单元Ia将所生成的表格4b插入在式样数据2中所定义的表格区域2b。
[0040]更具体地,式样数据2包括标题2a、表格区域2b、图表区域2c以及其他参数的定义,用于由信息处理装置I用来产生电子文件4-1。标题2a是要产生的电子文件4-1的辨识名称。表格区域2b是在电子文件4-1中定义的将插入表格4b的区域。图表区域2c是在电子文件4-1中将插入图表4d的另一区域。式样数据2结合指示何种数据与字段相关联的信息来将表格区域2b定义为与一组数据字段。例如,源数据3包括多个记录,每个记录均由两个或更多个数据值形成。式样数据2指定将哪个数据项目分配给要在表格区域2b中放置的表格的哪个字段。参考图1的示例,表格区域2b定义成容纳具有与源数据值相关联的以下三列的表格。标题为“AA”的最左侧列包含每个记录的第一数据值(#1)。标题为“BB”的下一列包含每个记录的第二数据值(#2)。标题为“CC”的最右侧列包含每个记录的第三数据值(#3)。这种表格区域定义允许电子文件生成单元Ia通过用在源数据3中的每个记录的数据值填充表格4b的数据字段来产生表格4b。
[0041]确定单元Ib分析在电子文件4-1中所包含的字符串,从而确定适合于电子文件4-1的图表类型。例如,确定单元Ib首先基于电子文件4-1中的某些字符串来指定电子文件4-1的文件目的,即,为了什么目的而产生电子文件4-1。然后确定单元Ib选择适合于预期的文件目的的适合类型图表。更具体地,确定单元Ib从电子文件4-1的标题4a提取专业词汇,假定标题4a包含表示例如电子文件4-1预期用于什么的这种字符串。基于所提取的专业词汇词语,确定单元Ib指定电子文件4-1的文件目的,例如,该目的可以是数据的比较或者数据的分析。
[0042]确定单元Ib还可以依赖其他参数(例如数据序列的数量或项目的数量)来确定图表4d的类型。前一参数(即,数据序列的数量)表示要在图表4d中描绘多少种数据。后一参数(即,项目的数量)表示将多少数据值分组进单一种类的数据或数据序列。从电子文件4-1中的表格4b的定义来获得这些参数。确定单元Ib可以使用数据序列的数量和项目的数量这两者来确定图表类型。注意,可将表格4b中所包含的数据分组进多个行数据或者多个列数据中。术语“数据序列”指(例如)适合电子文件4-1的文件目的表格4b中的那些数据组中的全部或一部分。
[0043]图表生成单元Ic基于电子文件4-1中的数据来生成所选择类型的图表4d。图表生成单元Ic可进一步将所生成的图表4d插入电子文件4-1的通过上述式样数据2产生的图表区域4c。图表生成单元Ic然后输出得到的包含图表4d的电子文件4-2。
[0044]在上述的信息处理装置I的操作中,根据给定式样数据2和源数据3来产生电子文件4-1。参考图1的示例,该电子文件4-1标题为“销售记录”并且包含尺寸为三行乘三列的表4b。表4b具有名称为“aa”和“bb”的两个项目。当确定单元Ib确定要生成哪种类型的图表时,确定单元Ib参考该表4b的标题和项目的数量。例如,假定术语“记录”是暗示电子文件4-1是用于数据比较的专业词汇词语。由于标题4a在其字符串中包括该项目“记录”,所以确定单元Ib确定所涉及的电子文件4-1打算用于某些数据的“比较”。确定单元Ib还将项目的数量与指定的阈值作比较。在图1的示例中假定项目的数量没有超过阈值。然后确定单元Ib选择不仅适合数据比较的目的而且适合于这种小项目数量的适当类型图表。在图1的示例中,确定单元Ib为电子文件4-1选择了垂直条形图表。
[0045]通过具体图形类型的选择,图形生成单元Ic基于例如在表格4b中所提供的源数据来生成图表4d。所生成的图表4d插入电子文件4-1的图表区域4c。得到的带有图表4d的电子文件4-2可以输出至打印机以在物理介质上产生一个或多个副本。最后的电子文件4-2还可发送至存储设备。
[0046]正如从上面的描述可以看出的,第一实施例设计成根据文件中所包含的字符串来选择电子文件4-1的合适类型图表。所提出的第一实施例的信息处理装置I避免了产生不适合的图表并且使得有可能提供将文件的内容有效地传达给用户的图表。
[0047]例如,上述电子文件生成单元la、确定单元lb、图表生成单元Ic可以作为信息处理装置I中的处理器的功能的一部分来实现。应当注意,图1中将功能块互连的线仅是示例。图1为了简化而省略了某些通信路径。本领域的技术人员应理解的是在实际实现中可以存在其他通信路径。
[0048](b)第二实施例
[0049]这一部分描述第二实施例,其中服务器通过利用从终端设备提供的文件式样形式来产生表示源数据的文件。第二实施例能使服务器在产生文件时选择适合类型的图表。这里,术语“文件”用作在第一实施例中所讨论的电子文件4-1的示例。
[0050]图2例示了根据第二实施例的系统配置的示例。在本系统中,多个终端设备200和200a经由网络10连接至服务器100,并且打印机19附接至网络10。
[0051]终端设备200和200a是用于为服务器100创建文件式样并且输入源数据的计算机。例如,一个用户通过他的或她的终端设备200创建文件式样形式并且将该文件式样形式发送至服务器100。另一用户经由他的或她的终端设备200a输入源数据并且将该源数据发送至服务器100。
[0052]服务器100是配置成生成用户的文件的计算机。例如,服务器100接收并且存储文件式样和源数据。通过所存储的文件式样和源数据,服务器100根据从终端设备200和200a发送的用户命令产生文件。服务器100可以将打印命令与表示所产生文件的文件数据一起传输至打印机19。然后打印机19按要求打印出文件。
[0053]服务器100还能够自动生成作为文件的一部分的图表。服务器100通过咨询文件式样形式和源数据来确定哪种类型的图表适合于要生成的文件。
[0054]为了提供上面提到的功能,服务器100可以具有下面描述的硬件配置。图3例示了在第二实施例中的服务器的硬件配置的示例。所例示的服务器100具有用于控制其整个操作的处理器101。该处理器101连接至总线109上的随机存取存储器(RAM,random accessmemory) 102和各种设备和接口。处理器101可以是单个处理设备或者是包括两个或更多个处理设备的多处理器系统。具体地,处理器101可以是例如中央处理器(CPU,centralprocessing unit)、微处理单兀(MPU, micro processing unit)或数字信号处理器(DSP,digital signal processor)。还应注意的是,处理器101的处理功能可以完全地或部分地由专用集成电路(ASIC, application-specific integrated circuit)、可编程逻辑器件(PLD,programmable logic device)或者其他电子电路,或者它们的结合来执行。术语“处理器”用于统称这些设备。
[0055]RAM102用作服务器100的主存储器。具体地,RAM102用于临时存储处理器101执行的应用程序和操作系统(OS)程序的至少一部分,还存储处理器在运行时操纵的其他各种数据对象。总线109上的其他设备是硬盘驱动(HDD, hard disk drive) 103、图形处理器104、输入设备接口 105、光盘驱动106、外围设备接口 107以及网络接口 108。
[0056]HDD103以磁的方式写入并且读取在其内部盘片上的数据。HDD103用作服务器100的辅助存储器以存储操作系统和应用程序的程序和数据文件。闪存和其他半导体存储器也可以用作辅助存储器。
[0057]耦接至监视器11的图形处理器104根据来自处理器101的绘图命令产生视频图像并且将视频图像显示在监视器11的屏幕上。监视器11可以是例如阴极射线管(CRT,cathode ray tube)显示器或者液晶显示器。
[0058]输入设备接口 105连接至诸如键盘12和鼠标13等输入设备并且将来自这些设备的信号提供至处理器101。鼠标13是指示设备,其可以用其他种类的指示设备(诸如触摸屏、平板电脑、触摸板、跟踪球)来代替。
[0059]光盘驱动106通过利用激光来读取在光盘14上编码的数据。光盘14是便携式数据存储介质,其上所存储的数据能够读取为光反射或者无光反射。例如,光盘14可以是数字通用光盘(DVD, digital versatile disc)、DVD-RAM、光盘只读存储器(CD-ROM, compactdisc read-only memory)、可记录光盘(O)-R)或可重写光盘(⑶-鼎)。
[0060]外围设备接口 107是用于将外围设备连接至服务器100的通信接口。例如,外围设备接口 107可用于连接存储设备15和存储卡读/写器16。存储设备15是具有与外围设备接口 107通信的能力的数据存储介质。存储卡读/写器16是用于将数据写入存储卡17或者从存储卡17读取数据的适配器,存储卡17是小卡形式的数据存储介质。
[0061]网络接口 108连接至网络10。处理器101能够在网络10上与其他计算机或通信设备(未示出)交换数据。
[0062]上述硬件平台可以用于实现第二实施例的处理功能。尽管图3例示了服务器100的硬件结构,但相同的结构能够类似地应用于终端设备200和200a。前述第一实施例的信息处理装置I还可通过图3中例示的硬件来实现。
[0063]服务器100通过执行在例如计算机可读非暂时性存储介质中存储的程序来提供第二实施例的各种处理功能。服务器100的程序可存储在各种计算机可读介质中。例如,这种程序文件可以存储在HDD103中。处理器101将从HDD103读取出的那些程序文件的至少一部分加载到RAM102并且在RAM102上执行这些程序。用于存储程序的计算机可读介质包括光盘14、存储器15、存储卡17以及其他便携式存储介质。在这种便携式存储介质中存储的程序在处理器101的控制下安装在HDD103中,使得这些程序易于按要求来执行。处理器101可以在适当情况下执行从便携式存储介质读取出的程序代码,而无需将这些程序代码安装在处理器101的本地存储设备上。
[0064]为了生成包括图表的文件,第二实施例中的装置配置成提供下述功能。图4是第二实施例的功能框图。例示的终端设备200包括文件式样存储单元210、文件式样生成单元220以及文件式样发送单元230,以产生文件式样形式。
[0065]文件式样存储单元210为在下面描述的文件式样生成单元220处产生的文件式样数据提供了存储空间。例如,文件式样存储单元210可以实现为终端设备200中的RAM或HDD的一部分。
[0066]文件式样生成单元220配置成根据用户输入产生文件式样形式。例如,文件式样生成单元220允许用户对文本、绘图、表格以及其他对象进行编辑。通过与用户交互,文件式样生成单元220将标题、表格区域、图表区域等放置在指定的页面空间内。例如,文件式样生成单元220可以将列标题和项目名称分配给表格。列标题是指明特定种类的一组数据值的辨识名称。例如,诸如“名称”和“目标金额”等字符串可分配为列标题。项目名称是由一个或多个数据值组成的记录的辨识名称。文件式样生成单元220还定义表格中的每个单元格如何与源数据相关联。文件式样生成单元220允许用户定义要输入至表格中的指定单元格的源数据的属性。该属性信息指示例如所涉及的源数据值是字符串或数值。
[0067]文件式样生成单元220可以将所产生的文件式样的数据存储进文件式样存储单元210中。该数据称为文件式样数据。文件式样生成单元220可以将文件式样数据传送(pass)至文件式样发送单元230,以使服务器100保留文件式样数据的副本。文件式样发送单元230配置成将所产生的文件式样数据传输至服务器100。
[0068]例示的服务器100包括下列部件:文件式样存储单元110、源数据存储单元120、词汇存储单元130、中间数据存储单元140、文件存储单元150、文件式样接收单元161、用户应用程序162、分析单元163、图表生成单元164、以及打印单元165。源数据存储单元120、词汇存储单元130、中间数据存储单元140以及文件存储单元150实现为例如RAM102或HDD103的存储空间的一部分。
[0069]文件式样存储单元110配置成存储在终端设备200中产生的文件式样数据的副本。源数据存储单元120配置成存储通过用户应用程序162接收的源数据。例如,源数据用于填充文件中的表格并且生成在该文件中的图表。
[0070]词汇存储单元130配置成存储专业词汇,即,能够用于指定图表的目的的一组词语和短语。在该词汇存储单元130中,词汇的每一条记录包括用于确定包含具体专业词汇词语的文件的目的的某些相关信息。这里应当注意的是,术语“专业词汇词语”的范围不限于单个词语表示,而是包括由两个或更多个词语组成的短语。
[0071]中间数据存储单元140配置成对在文件生成的处理过程中图表生成单元164产生的中间数据进行存储。文件存储单元150配置成存储所生成文件的文件数据。
[0072]文件式样接收单元161配置成从终端设备200接收文件式样数据并且将所接收的文件式样数据存储在文件式样存储单元110中。
[0073]用户应用程序162从用户接受文件的数据输入以及用于输出文件的命令。例如,用户应用程序162可以从经由网络10连接至服务器100的终端设备200和200a接收这种数据和命令。用户应用程序162还可以响应于用户输入来命令分析单元163输出文件。当接收到文件的数据时,用户应用程序162将所接收数据作为源数据存储在源数据存储单元120 中。
[0074]分析单兀163配置成响应于用户应用程序162针对文件发出的输出命令来分析该文件的文件式样数据和源数据。例如,输出命令指定包括表格区域的文件的文件式样数据和源数据。分析单元163从文件式样存储单元110取回指定的文件式样数据,然后分析所取回的数据以确定用源数据的那一部分来填充表格区域。分析单元163从源数据存储单元120取回源数据的被确定部分,分析所取回的源数据,并且通过将数据值放置在适当的单元格来填充表格区域。分析单元163将文件式样数据的分析结果与源数据一起提供给图表生成单元164。
[0075]图表生成单元164配置成基于给定的文件式样数据和源数据来生成文件的图表。例如,文件式样数据指示包括图表区域的对象的具体布局。为了生成图表,图表生成单元164首先通过利用在词汇存储单元130中所存储的专业词汇来确定文件目的。然后图表生成单元164选择适用于指定的文件目的的适当类型的图表并且根据源数据生成所选择类型的图表。在这个过程中,图表生成单元164可基于上面指定的文件的目的来确定文件中的“数据序列”。术语“数据序列”指在单一类别中的数据值的集合,诸如在列标题“目标金额”或“销售金额”下的那些数据值的集合。例如,假设文件目的在于观察各个销售人员的绩效。在这种情况下,源数据包括销售人员的名称和表示销售人员的销售记录的值,诸如“目标金额”和“销售金额”。销售人员的名称作为“项目名称”处理,而销售记录作为“数据序列”的值来处理。
[0076]在以上面讨论的方式生成了图表之后,图表生成单元164输出文件数据,该文件数据表示包含所产生图表的文件。例如,图表生成单元164将所产生的文件数据存储进文件存储单元150中。除了存储之外,图表生成单元164还可将文件数据输出至打印单元165。打印单元165根据所接收的文件数据打印出文件。例如,打印单元165在网络10上向打印机19发出打印命令,而且将文件数据发送至该打印机。打印机19相应地输出文件的打印副本。
[0077]所提出的系统使用户能够在服务器100的帮助下自动产生文件。应当注意的是,将图4中的功能块互连的线仅是示例。本领域的技术人员应理解的是在实际实现中可以有其他通信路径。图4中的分析单元163是在第一实施例的图1中的、前述电子文件生成单元Ia的示例。此外,图4中的图表生成单元164提供在第一实施例的图1中的、前述确定单元Ib和图表生成单元Ic这二者的功能。
[0078]现在,将针对文件式样的特征进行描述。图5例示了文件式样形式的示例。所例示的文件式样形式20包括标题21、作者名称22、表格区域23以及图表区域24。
[0079]标题21是指示要生成的文件的主题的字符串。作者名称22是指示谁(人或者组织)产生了这个文件的字符串。表格区域23是要插入表格的位置。该表格区域23可以由例如表头部23a和源数据映射部23b形成。表头部23a是由多个字符串构成的表格的第一行,这些字符串指示在表格的每个对应列中的数据值的类型。在源数据映射部23b中,源数据中的数据值根据由表头部23a所指示的数据值的数据类型而映射在该数据值的对应列上。某些附加信息可分配给源数据映射部23b,以指定在由表头部23a区分的每个列中的数据的属性。例如,一种属性指示所涉及的数据值是字符串还是数。另一属性以字符为单位给出数据长度。文件式样形式20还定义了要插入图表的图表区域24。
[0080]将上述的文件式样形式20作为文件式样数据传输至服务器100。服务器100将所接收的文件式样数据存储在其本地文件式样存储单元110中。图6例示了文件式样数据的数据结构的示例。所例示的文件式样数据30包括页面参数和多组分区参数。页面参数包括要使用的纸页的垂直尺寸和水平尺寸。
[0081]分区参数描述了文件所划分成的多个区域或分区。例如,分区参数包括整体上描述文件的那些分区参数、描述表格区域的那些分区参数以及描述图表区域的那些分区参数。这些分区参数组中的每一组可包括例如项目数据和框线数据。项目数据描述了在分区中要包含的项目。框线参数描述了在分区中要画出的框线。
[0082]例如,项目参数31实际上是关于特定项目的以下参数:项目名称、项目位置、项目尺寸、数据长度、数据格式、字体、对齐方式、文本格式、记录内位置以及数据定义。项目名称参数给出项目的唯一辨识名称。项目位置参数包含指示项目所在位置的坐标。项目尺寸参数指示项目所占据的空间(例如,在项目位置处项目的空间的宽度和高度)。数据长度参数指示项目数据的长度(例如,位的数量)。数据格式参数指示项目是哪种数据(例如,字符串、数字)。字体参数指定用于显示项目值的字体的名称和尺寸。对齐方式参数指定用于显示项目值的字符串的对齐方式(例如,居中)。文本格式参数指定文本的格式(例如,斜体、粗体)。记录内位置参数将项目与源数据的特定部分相关联。例如,源数据的记录可以以逗号分隔值(CSV, Comma-separated Values)的格式提供。S卩,记录的数据值通过逗号来分隔。记录内位置参数指示项目对应于源数据记录中的什么编号数据值。数据定义参数包含项目的真实数据。例如,数据定义参数在项目定义成属于某种字符串时包含该具体字符串。图6例示这种项目参数32的示例,该项目参数包括上述的项目名称参数、项目位置参数、项目尺寸参数以及数据格式参数的具体值。
[0083]服务器100使用上述文件式样数据30来产生文件。当文件式样形式20包括图表区域24时,服务器100基于文件式样数据30和源数据生成图表。在词汇存储单元130中所寄存的专业词汇词语在这里用于选择具体的图表类型。
[0084]图7例示了词汇存储单元130的数据结构的示例。在本示例中,词汇存储单元130对由多个记录形成的词汇管理表131进行存储,其中每个记录对应于特定的专业词汇词语。
[0085]具体地,词汇管理表131具有下列数据字段:“字符串”、“分类”、“分类矢量”以及“准同义词”。字符串字段包含被认为是专业词汇词语的字符串。分类字段指示专业词汇词语是否暗示数据的“分析”或者数据的“比较”。例如,如果文件包含分类为“分析”的专业词汇词语,则意味着文件打算用于数据分析。然后为了数据分析来选择适当的图表类型。分类矢量字段包含矢量,该矢量表示多少专业词汇词语与“分析”和“比较”这两个概念中的每一个相关联。该矢量称为“分类矢量”。在图7的示例中,所例示的分类矢量的第一分量表示专业词汇词语倾向于“比较”,而第二分量表示倾向于“分析”。分类矢量的每一分量取在零到I的范围中的实数值。准同义词字段包含意思与专业词汇词语类似的一个或多个术语。认为专业词汇词语及其准同义词是以同样的方式分类,并因此具有相同的分类矢量。
[0086]某些专业词汇词语以同等权重暗示比较和分析。对于这些专业词汇词语,向词汇管理表格131的分类矢量字段给出值(0.5,0.5)并且所归档的分类矢量保持空白。用户可以编辑词汇管理表格131,用于寄存新的专业词汇词语,以及删除并且编辑现存的专业词汇词语。
[0087]中间数据存储单元140存储下列数据。具体地,图8例示了中间数据存储单元140的数据结构的示例。中间数据存储单元140用于存储在生成图表的过程中所产生或参考的各种数据,它们是候选标题数据141、矢量数据142、标记数据143、候选序列数据144、序列数据145、源数据146以及总和数据147。
[0088]候选标题数据141描述从文件提取的作为标题的候选的字符串。具体地,该候选标题数据141的每个寄存的记录由下列数据字段形成以描述候选:标题串、属性以及位置。标题串字段包含可能是文件的标题的字符串。属性字段指示应用于候选的字符串的某些可选式样,并且位置字段指示字符串在文件内的位置。候选标题数据141中寄存的每个候选标题依次编号。更具体地,通过序号来索引阵列“候选标题□”,使得能够通过指定标题的特定候选的序号来从中间数据存储单元140取回该标题的特定候选。
[0089]矢量数据142包括每个候选标题中所包括的专业词汇词语的一个或更多个分类矢量。更具体地,矢量数据142的每个寄存的记录包括专业词汇词语的字符串和分类矢量。这里专业词汇词语依次编号,并且通过序号来索引阵列“矢量[]”,使得能够通过指定特定专业词汇词语的分类矢量的序号来从中间数据存储单元140中取回该特定专业词汇词语的分类矢量。
[0090]标记数据143给出了指示文件的目的的标记,文件的目的基于标题来确定。如之前所描述的,文件可通过其目的来分类。在第二实施例中,标记数据143的标记取“比较”或“分析”的值。当设定为“比较”时,标记意味着为了比较某些数据而产生文件。当设定为“分析”时,标记意味着为了分析某些数据而产生文件。尽管图8例示了标记值的“比较”作为示例,标记可以配置成取例如零或I的二进制值来分别表示“比较”或“分析”的目的。
[0091]候选序列数据144指示在要生成的图表中的数据序列的候选。候选序列数据144可以实际上包括这种候选的一个或更多个字符串。在候选序列数据144中寄存的每个候选依次编号。通过候选的序号来索引阵列“候选□”,使得能够通过指定特定候选的序号来从中间数据存储单元140取回该特定候选。
[0092]序列数据145指示在要生成的图表中的数据序列。序列数据145可以包括这种数据序列的一个或更多个字符串。在序列数据145中所寄存的每个数据序列被依次编号。通过数据序列的序号来索引阵列“数据序列[]”,使得能够通过指定特定数据序列的序号来从中间数据存储单元140取回特定数据序列。
[0093]源数据146是要以图表形式观看的一组数据值。具体地,源数据146可以是在源数据存储单元120中所存储的原始源数据的子集,其在生成图表时所提取。所提取的源数据的记录被依次编号,作为每个记录中的数据元素。通过记录编号和记录内数据编号来索引二维阵列“源数据[]□”,使得能够通过指定这些编号来从中间数据存储单元140取回特定记录中的特定数据元素。
[0094]总和数据147是值的集合,这些值均表示由上述源数据146中的记录构成的数据值的总和。向此总和数据147的每个元素提供与源数据146相同的记录编号。通过记录编号来索引阵列“总和[]”,使得能够通过指定特定记录的总和值的记录编号来从中间数据存储单元140取回特定记录的总和值。
[0095]服务器100根据上述数据产生包括图表的文件。下面的部分将讨论产生文件的更具体的步骤。
[0096]图9是例示产生文件的处理的流程图。
[0097](步骤S100)终端设备200根据用户输入产生文件式样形式。终端设备200将得到的文件式样数据发送至服务器100。
[0098](步骤S200)利用所接收的文件式样数据,服务器100产生并且输出文件。例如,服务器100将所产生的文件输出至打印机19。
[0099]下面将详细描述上面的步骤。图10是例示如何创建文件式样格式的流程。
[0100](步骤S101)响应于来自用户的输入,终端设备200中的文件式样生成单元220除了产生文件式样数据的初始版本并且将该版本存储在文件试样存储单元210中之外还在监视器屏幕上显示用于文件式样设计的窗口。
[0101](步骤S102)文件式样生成单元220通过与用户的交互来产生文件的标题。例如,用户可指定将标题放置在文件设计窗口中什么位置并且标题是什么字符串。然后文件式样生成单元220将指定的字符串放置在指定的位置,从而产生标题字符串。
[0102](步骤S103)文件式样生成单元220通过与用户的交互来产生表格区域和图表区域。例如,用户可以在文件设计窗口中指定两个点并且输入指示这些点是表格区域的一部分的命令。作为响应,文件式样生成单元220将指定的点解释为矩形的左上角和右下角并且将那个矩形区域选择为文件的表格区域。因此文件式样生成单元220将表格放置在所选择的表格区域。类似地,用户在文件设计窗口中指定另外两个点并且输入指示这些点是图表区域的一部分的命令。然后,文件式样生成单元220将指定的点解释为文件的图表区域的左上角和右下角。
[0103](步骤S104)文件式样生成单元220产生表格区域中的表的列标题和项目名称。例如,用户可以将字符串输入表格的最上部行(表头)。然后文件式样生成单元220将这些字符串识别为列标题并且因此将它们合并进表格定义。用户还可以在表格的最左侧列中输入字符串。则文件式样生成单元220将这些字符串识别为项目名称并因此将它们合并进表格定义。
[0104](步骤S105)文件式样生成单元220还与用户交互以确定表格的单元格如何与源数据相关联。例如,用户可以指定源数据中的什么编号元素对应于表格中的哪个数据序列。文件式样生成单元220将信息块分配给源数据映射部中的每个输入字段,以指示源数据的哪个部分与该源数据映射部的哪个部分相关联。文件式样生成单元220还为源数据映射部供应序列数据的属性。
[0105]终端设备200通过上面的步骤产生文件式样形式。得到的文件式样数据存储在终端设备的文件式样存储单元210中。文件式样数据还从终端设备200传输至服务器100并且存储在服务器的文件式样存储单元110中。服务器100基于在文件式样存储单元110中的该文件式样数据来生成并且输出文件。
[0106]下一部分将详细描述服务器100如何输出文件。图11是例不文件如何输出的流程图。当例如用户向服务器100发出了指定要使用哪个文件式样数据和源数据的文件输出命令时执行例示的处理。
[0107](步骤S201)响应于来自用户的文件输出命令,用户应用程序162命令分析单元163输出文件。例如,该指令包括指定要使用哪个文件式样数据和源数据的信息。一旦接收到输出指令,分析单元163分析所指定的文件式样数据。例如,分析单元163根据所接收的输出指令从文件式样存储单元110取回文件式样数据并且分析在取回的文件式样数据中指定了什么。然后分析单元163产生如在文件式样数据中所定义的文件的初始版本。此初始文件数据包含在取回的文件式样数据中所描述的内容。
[0108](步骤S202)分析单元163分析在输出指令中所指定的源数据。例如,分析单元163根据所接收的输出指令从源数据存储单元120取回源数据并且确定源数据的哪个部分与在文件的表格区域中所定义的每个具体数据序列相关联。然后分析单元163用源数据的相关部分来填充表格区域,因此制成文件的表格。分析单元163向图表生成单元164提供所得到的包括该表格的文件。
[0109](步骤S203)图表生成单元164生成文件的图表。后面将参考图13描述该图表生成处理的细节。
[0110](步骤S204)图表生成单元164产生用于打印输出该文件的数据。例如,图表生成单元164产生文件数据,该文件数据表示包括所生成的图表的文件的打印输出图像。
[0111](步骤S205)图表生成单元164将所产生的文件数据与其打印命令一起传输至打印机19。打印机19输出文件的打印输出。
[0112](步骤S206)分析单元163确定文件是否已修改。例如,当通过用户应用程序162从用户接收到用于修改文件的请求时,分析单元163识别修改的需要。另一方面,当用户确认了文件的令人满意的打印输出时,分析单元163确定不需要修改文件。在前一情况中,处理进行至步骤S207。在后一情况中,处理前进至步骤S208。
[0113](步骤S207),分析单元163经由用户应用程序162获得用户所请求的修改并且将该修改应用于文件(不包括文件的图表部分)。例如,分析单元163进行这样的修改,如将表格的列和行交换或者改变源数据值的范围。然后处理回到步骤S203以基于经修改的源数据来生成图表的新版本。
[0114](步骤S208)当不要求修改时,用户应用程序162将其处理的结果返回用户。例如,用户应用程序162在终端屏幕上显示消息以告知用户文件已输出。用户应用程序162还可以在同一屏幕上显示一条指示为文件选择了该图表类型的原因的信息。
[0115]上述步骤允许服务器100根据给定的文件式样数据和源数据来生成文件。表格和图表的生成是该处理的主要部分。
[0116]图12例示如何产生用于插入文件的表格的示例。文件式样形式20 (图5)包括容纳表格36的表格区域。最初,表格36的每一列通过表不数据序列的名称的字符串来加标题,但是表格36不包含那些数据序列的数据值。然后用源数据37来填充表格36。例如,例示的源数据37处于CSV格式。即,在该源数据37中的每一条记录由通过逗号(在适当情况下,以及引号)分隔的多个数据值组成。具体地,每个记录包含按照以下顺序的下列五个数据值:“名称”,“目标金额”,“销售金额”以及“利润率”。这些数据值输入至表格36中这些数据值的对应数据序列。图12例示了以此方式产生的表格38。
[0117]下一部分将详细描述服务器100如何产生这样的图表。图13是例示图表产生处理的流程图。
[0118](步骤S211)图表生成单元164选择为文件产生哪种类型的图表。稍后将参考图14描述该图表类型选择的细节。
[0119](步骤S212)图表生成单元164确定要生成的图表的轴刻度。换言之,确定以什么单位来为图表的每个轴设定刻度。例如,图表生成单元164找到图表中的数据值的最大值,并且以最大值能够画在给定图表区域24内的方式来选择适合的刻度。
[0120](步骤S213)图表生成单元164在图表区域24中布局图表标题、图表以及图例。
[0121](步骤S214)图表生成单元164生成图表。例如,图表生成单元164生成具有在步骤S211所选择的图表类型的图表并且将所生成的图表放置在图表区域24中。
[0122]以上述方式生成图表。下一部分提供了前述选择适合图表类型的步骤的细节。
[0123]图14是例示图表类型确定处理的流程图。
[0124](步骤S221)图表生成单元164通过审查文件的标题来确定文件的分类。具体地,根据标题,将文件分类为“比较”或“分析”。分类处理的结果记录在标记数据143 (参见图8)中。后面将参考图15描述基于标题的文件分类的细节。
[0125](步骤S222)图表生成单元164通过审查其表格区域的表头部来确定在图表中将包括多少数据序列。后面将参考图19描述该确定处理的细节。
[0126](步骤S223)图表生成单元164通过审查源数据来确定在图表中将包括多少项目。后面将参考图20来描述该确定处理的细节。
[0127](步骤S224)图表生成单元164确定将在图表中画出源数据值中的什么范围。例如,当源数据值中的一些小于或等于特定阈值时,图表生成单元164将这些源数据值排除在图表之外。例如,当一组源数据的所有值是零时可省略这一组源数据。可由用户指定源数据范围的阈值。
[0128](步骤S225)图表生成单元164根据基于标题的分类的结果、数据序列的数量以及项目的数量来确定要选择哪种图表。后面将参考图21描述该确定处理的细节。
[0129]服务器100以上述方式确定图表的类型。下面的部分将提供基于标题的文件分类的细节。
[0130]图15是例示确定文件的分类的处理的流程图。
[0131](步骤S231)图表生成单元164从所涉及的文件来提取字符串(文本数据)。图表生成单元164产生名称为“候选标题”(表示为候选标题[X])的阵列,该阵列包含作为其构成元素的所提取的字符串。该阵列作为候选标题数据141存储在中间数据存储单元140中。
[0132](步骤S232)图表生成单元164选择一个候选标题。例如,通过整数变量来索引阵列“候选标题[X]”。图表生成单元164以升序增加变量来逐一地选择候选标题。每当提取了新的候选标题时,则处理移动至步骤S233。
[0133](步骤S233)图表生成单元164确定所选择的候选标题是否具有修饰其外观的任何文本格式。该确定通过例如查询作为项目参数的一部分而包括在文件数据中的文本格式参数来进行。当找到特定的文本格式时,处理跳转至步骤S236。当未找到文本格式时,处理前进至步骤S234。
[0134](步骤S234)图表生成单元164确定所选择的候选标题是否位于文件的上半部。例如,图表生成单元164通过查询整个文件的分区参数部中的项目尺寸参数来获得文件的垂直尺寸(高度),其作为文件数据的一部分寄存。然后图表生成单元164检查所选择的候选标题的项目位置参数以确定所选择的候选标题的位置是否在文件的上半部内。当发现该位置是在文件的上半部内时,处理前进至步骤S235。当发现该位置是在文件的下半部内时,处理回到步骤S232以选择另一候选标题。
[0135](步骤S235)图表生成单元164确定所选择的候选标题是否位于文件的水平中心。例如,图表生成单元164通过查询整个文件的分区参数部中的项目尺寸参数来获得文件的水平尺寸(宽度),其作为文件数据的一部分寄存。然后图表生成单元164检查所选择的候选标题的项目位置参数和项目尺寸参数以确定候选标题是否跨越将整个文件划分成左半边和右半边的垂直线上。图表生成单元164还可以配置成当候选标题的对齐方式参数设置为“中心对齐”时确定出候选标题在水平中心处。当所选择的候选标题位于文件的水平中心处,处理前进至步骤S236。否则处理回到步骤S232,以选择另一候选标题。
[0136](步骤S236)图表生成单元164使当前所选择的候选标题有资格作为文件的标题。
[0137](步骤S237)图表生成单元164从标题的字符串提取专业词汇词语。后面将参考图17来描述该词汇提取的细节。
[0138](步骤S238)图表生成单元164确定是否已从标题提取了至少一个专业词汇词语。当已经提取了一个或更多个专业词汇词语时,处理前进至步骤S239。当没有找到专业词汇词语时,处理进行至步骤S241。[0139](步骤S239)当在标题中找到专业词汇词语时,则图表生成单元164计算它们的分类矢量的加权平均。例如,当专业词汇词语的位置更接近标题的第一个词时向专业词汇词语的分类矢量提供更大的加权。然后图表生成单元164在考虑分类矢量的各个加权的情况下来计算分类矢量的平均。
[0140](步骤S240)基于上面所计算的分类矢量的加权平均,图表生成单元164确定文件的分类。例如,图表生成单元164将平均的分类矢量的两个分量(B卩,“比较”值和“分析”值)进行比较并且指出两者之中的哪一个更大。如果比较值大于分析值,图表生成单元164推断出文件落入“比较”组。如果分析值大于比较值,则图表生成单元164推断出文件落入“分析”组。然后,图表生成单元164退出文件分类的处理。
[0141](步骤S241)当标题不包含专业词汇词语时,图表生成单元164确定文件落入“比较”组。然后,图表生成单元164退出文件分类的处理。
[0142]上述步骤允许服务器100提取文件的标题并且基于所提取的标题指定文件的目的。图16例示了从文件提取标题的示例,该实例包括文件40的四个不同状态。第一状态表示生成图表之前的文件40。具体地,文件40包含其标题41、作者名称42、表格43以及图表区域44。标题41作为简单字符串包含在文件数据中,与文件中的其他字符串没有明显区分。由于这个原因,图表生成单元164分析文件40以找到哪个字符串是其标题。
[0143]标题提取处理开始于从文件40提取字符串。图16中的文件40的第二状态表示该字符串提取的结果。参考图16的实例,已从标题41、作者名称42以及表格43提取了字符串。这些字符串作为候选标题组存储。
[0144]然后标题提取处理从候选标题提取被修改的字符串。然而,在图16的示例中,这些候选标题中的任何一个都未修改。因此,针对每个标题来确定其是否位于文件40的上半部。图16中所看到的第三状态表示该确定的结果。即,标题41和作者名称42两者都位于上半部,而表格43的大部分属于文件40的下半部。
[0145]标题提取处理还审查在上半部的每个候选标题以确定该标题是否位于文件的水平中心。图6中所看到的第四状态表示该确定的结果。参考图16的示例,标题41是位于文件40的中心的唯一字符串。因此,标题提取处理从多个候选中成功地挑选出了标题41。
[0146]尽管在上面的示例中服务器100根据字符串的布局来提取标题,但实施例不受限于具体示例。另一可能方法是找出词语“标题”的位置,然后提取其后紧接的字符串作为标题。又一可能方法是提取这样的字符串,该字符串的属性或者性质指示该字符串作为标题的状态。
[0147]然后服务器100搜索所提取的标题以找到专业词汇词语。图17是例示词汇提取处理的示例的流程图。
[0148](步骤S251)图表生成单元164将初始值I分配给变量y,该变量y是大于零的整数。变量y是局部变量,其范围仅在本词汇提取处理内。
[0149](步骤S252)图表生成单元164从词汇存储单元130取回第y个专业词汇词语。例如,专业词汇词语存储为名称为“词汇”的阵列。图表生成单元164通过指定y为索引来引用该阵列的第y个元素。
[0150](步骤S253)图表生成单元164确定标题是否包含所提取的专业词汇词语和其准同义词中的任意一个的字符串。当标题包含这种字符串时,处理进行至步骤S254。否则,处理跳转至S255。
[0151](步骤S254)由于发现了标题包含所提取的专业词汇词语,所以图表生成单元164将该专业词汇词语的数据(即,其字符串和分类矢量)分配给名称为“矢量”的阵列。然后处理前进至步骤S255。
[0152](步骤S255)图表生成单元164确定变量y是否已达到ymax。值ymax是大于零的整数,表示在词汇存储单元130中所寄存的专业词汇词语的总计数。当y ^ yfflax时,图表生成单元164退出本词汇提取处理。当y〈ymax时,处理前进至步骤S256。
[0153](步骤S256)图表生成单元164使变量y加I并且返回步骤S252。
[0154]上面的步骤允许服务器100从给定的标题提取专业词汇词语并且获得包含其各个分类矢量的阵列“矢量[]”。当在标题中未找到专业词汇词语时,服务器100将该文件分类到例如“比较”组。当从标题中提取了一些专业词汇词语时,服务器100基于标题内的每个专业词汇词语的位置并且基于每个专业词汇词语的分类矢量来确定文件的分类,如将在下面描述的。
[0155]图18例示了基于标题的文件分类的示例。图18的示例假设所涉及的文件的标题为“人口结构趋势”并且词汇存储单元130 (参见图7)包含“结构”和“趋势”作为其条目的一部分。因此在这种情况下服务器100从标题“人口结构趋势”提取两个专业词汇词语“结构”和“趋势”。
[0156]已向前一专业词汇词语“结构”分配了分类矢量(0,1),而向后一专业词汇词语“趋势”分配了不同的分类矢量(1,0)。分类矢量的左侧分量表示“比较”的程度,右侧分量表示“分析”的程度。在无加权的情况下,这两个分类矢量的和会具有相等的分量值,意味着标题以相同的置信度落入“比较”组和“分析”组。为了避免这种情况,第二实施例使用加权处理来评价标题中的专业词汇词语。在图18中即使服务器100已提取了相等数量的“比较”和“分析”专业词汇词语,但加权处理仍有可能更适当地分类标题。
[0157]具体地,第二实施例将加权的分类矢量Vi定义如下。
[0158]Vi=VX [NXlog{N/(N-1)}+l],..(I)
[0159]其中,V是专业词汇词语的原始分类矢量,N是大于零的整数,其表示从标题提取的专业词汇词语的数量,以及i是小于N的正整数,i表示专业词汇词语在标题内的位置。当专业词汇词语位于最接近标题的第一个词语时,专业词汇词语的位置取零值。换言之,在标题中第一个出现的专业词汇词语具有位置值O。而第二接近的专业词汇词语将具有位置值1,而最远的专业词汇词语(最接近标题的最后一个词语的一个专业词汇词语)将具有位置值N-1。在上面的公式(I),符号“log”表示底数为10的常用对数。
[0160]为了加权,对所提取的专业词汇词语的分类矢量运用公式(1),并且它们的算术平均(本文中称为“评分(score)”)计算如下:
[0161]Score= (Σ Vi) /N...(2)。
[0162]参考图18的示例,“结构”是在标题中的第一位置出现的专业词汇词语并因此给出有位置值O。上面的加权操作如下地应用于该专业词汇词语“结构”的分类矢量:
[0163](O, I) X [2 X log (2/2-0) +1] = (O, I) X I
[0164]标题中的第二专业词汇词语是位置值为I的“趋势”。则该专业词汇词语“趋势”的分类矢量加权如下:[0165](I, O) X [2Xlog(2/2-l)+l] = (l, O) X 1.6
[0166]这两个加权的矢量的平均将是:
[0167]Score= ((O, I) X 1+(1, O) XL 6)/2=(0.8,0.5)。
[0168]注意,在得到的评分矢量中比较分量“0.8”高于分析分量“0.5”。因此,文件标题“人口结构趋势”落入“比较”组。
[0169]尽管图18的示例中的标题包括仅两个专业词汇词语,但上面所描述的计算可类似地应用于标题中包括三个或更多个专业词汇词语的其他情况。例如,假设标题包含三个专业词汇词语,具有分类矢量(0,I)的第一个专业词汇词语,具有分类矢量(1,0)的第二个专业词汇词语以及具有分类矢量(1,0)的第三个专业词汇词语。在该示例中,执行下列计算:
[0170]V0= (O, I) X [3 X log {3/ (3-0)} +1],
[0171]V1=(I1O) X [3Xlog{3/(3-1)1+1],
[0172]V2= (I, O) X [3 X log {3/ (3-2)} +1],
[0173]Score= {(0,I) X 1+(1, 0) X 1.52+(1, 0) X 2.43} /2=(1.31,0.3)。
[0174]结果指示在评分矢量中比较分量“1.31”高于分析分量“0.3”。因此文件落入匕
较”组。
[0175]如从上面的示例可以看到的,公式(I)的加权处理更多地强调出现在标题后部的专业词汇词语。该加权策略遵循了在文件中所使用的语言的语言特征。在本示例中,修饰语“人口结构”在被修饰词“趋势”的前面,并且向被修饰词提供比修饰语更重的加权,以使标题分类更合适。本领域的技术人员应理解的是,上述在公式(I)中的加权仅是示例,并且存在用于对分类矢量加权的其他可能方法。
[0176]第二实施例基于上述的文件分类来确定要选择哪种图表。如将在下面描述的,选择处理还可以根据数据序列的数量和项目的数量。下面的部分将首先讨论如何确定数据序列的数量。
[0177]图19是例示如何确定数据序列的数量的流程图。
[0178](步骤S261)表格表头包括列标题的字符串。图表生成单元164引用这些标题字符串作为数据序列的候选。例如,图表生成单元164在表头部中选择每一个这样的字符串并且将它分配给名称为“候选”的阵列。
[0179](步骤S262)图表生成单元164将初始值I分配给变量X,变量x是大于O的整数。该变量X是局部变量,其范围仅在对数据序列的数量计数的本处理内。
[0180](步骤S263)图表生成单元164将初始值I分配给另一变量y,该变量I是大于零的整数。该变量y是局部变量,其范围在对数据序列的数量计数的本处理内。
[0181](步骤S264)图表生成单元164从词汇存储单元130取回第y个专业词汇词语(词汇[y])。
[0182](步骤S265)图表生成单元164确定第X个候选(候选[x])是否包含所取回的专业词汇词语和其准同义词中的任意一个的字符串。例如,图表生成单元164针对所取回的第y个专业词汇词语或其准同义词的字符串来搜索第X个候选的字符串。当找到这样的字符串时,图表生成单元164识别出存在专业词汇词语并因此进行至步骤S268。当既没有找到专业词汇词语也没有找到准同义词时,处理前进至步骤S266。[0183](步骤S266)当第X个候选不包含所取回的第y个专业词汇词语时,图表生成单元164确定变量y是否达到ymax,即,专业词汇词语的数量。当已达到ymax时,处理进行至步骤S271。当y小于ymax时,处理前进至步骤S267。
[0184](步骤S267)图表生成单元164使变量y加I并且回到步骤S264。
[0185](步骤S268)由于第X个候选包含取回的第y个专业词汇词语,所以图表生成单元164检查该专业词汇词语的分类。当所涉及的专业词汇词语分类为“比较”时,处理前进至步骤S269。当专业词汇词语分类为“分析”时,处理前进至步骤S270。当没有将特定的分类分配给专业词汇词语(例如,图7中的“容量”和“总计”)时,处理进行至步骤S272。
[0186](步骤S269)当所涉及的专业词汇词语分类为“比较”时,图表生成单元164还检查标记以查看基于标题的文件分类是否是“比较”。当标记也指示“比较”时,处理前进至步骤S271。当标记指示“分析”时,处理跳转至步骤S272。
[0187](步骤S270)当所涉及的专业词汇词语分类为“分析”,图表生成单元164还检查标记以查看基于标题的文件分类是否是“分析”。当文件分类成“分析”时,处理前进至步骤S271。当文件分类成“比较”时,处理跳转至步骤S272。
[0188](步骤S271)因为所取回的专业词汇词语与文件就它们的分类而言相匹配或者在第X个候选中没有找到专业词汇词语,所以到达步骤S271。因此,图表生成单元164使第X个候选有资格作为数据序列。例如,图表生成单元164将第X个候选的字符串输入名称为“数据序列”的阵列。
[0189](步骤S272)图表生成单元164确定变量X是否已达到xmax,S卩,候选的数量。当已达到Xmax时,处理前进至步骤S274。当X小于Xmax时,处理前进至步骤S273。
[0190](步骤S273)图表生成单元164使变量x加I并且返回步骤S263。
[0191](步骤S274)图表生成单元164对已有资格作为数据序列的元素的数量计数。例如,图表生成单元164对在阵列“序列”中寄存的字符串的数量计数。
[0192](步骤S275)图表生成单元164确定使用步骤S274的所得计数作为图表的数据序列的数量。
[0193]上面的步骤允许服务器100发现表格表头中哪个列标题具有与整个文件相同的专业词汇词语的分类。这些列标题在生成图表时指明数据序列。然后服务器100对存在多少这样的数据序列计数。在图19的上述示例中,不具有专业词汇词语的候选也具有资格作为数据序列。然而,第二实施例可以修改为将这样的候选从数据序列中排除。
[0194]图20例示对数据序列计数的示例。在该示例中的文件分类为“比较”。所例示的表格33的表头部包含下面四个列标题:“名称”、“目标金额”、“销售金额”以及“利润率”。引用图7中的词汇存储单元130,词语“率”寄存为专业词汇词语“比例”的准同义词。注意,该词“率”包括在图20中的最右侧列标题“利润率”中。如图7中所看到的,“率”的分类是“分析”,意味着列标题“利润率”的基于词汇的分类并不与文件的分类匹配。由于该不匹配,所以列标题“利润率”没有资格作为数据序列。
[0195]剩余的列标题“名称”、“目标金额”以及“销售金额”由于它们并不包含任何专业词汇词语或专业词汇词语的准同义词而均有资格作为数据序列。因此,在表格33中找到三个数据序列,即,数据序列的数量=3。应当注意,第二实施例配置成将列“名称”作为数据序列之一来计数,这是因为这一列在对项目计数时将进行参考。[0196]现在将在下面详细描述对项目计数的前述处理。图21是例示如何确定项目的数量的示例的流程图。
[0197](步骤S281)图表生成单元164从源数据存储单元120读取源数据值以在文件生成处理中使用。具体地,将这些数据值分配给名称为“源数据”的二维阵列(称为源数据[X][y])。源数据的每个记录依次编号,使得能够通过在变量X中指定特定记录的序号而获得该特定记录。记录内的每个数据值依次编号,因此能够通过在另一变量y中指定特定数据值的序号来获得该特定数据值。
[0198](步骤S282)图表生成单元164对在上面的阵列“源数据[x][y] ”中的记录x的数量进行计数。
[0199](步骤S283)图表生成单元164确定使用得到的计数作为图表中的项目的数量。
[0200]上面的步骤允许服务器100确定项目的数量。现在,已确定了文件分类、数据序列的数量以及项目的数量,服务器100通过使用这几条信息来选择适当的图表类型。
[0201]图22是例示如何选择图表类型的流程图。
[0202](步骤S301)图表生成单元164确定文件的分类标记是否指示“比较”或“分析”。当分类标记是“比较”时,处理前进至步骤S302。当分类标记是“分析”时,步骤前进至步骤S303。
[0203](步骤S302)由于文件目的是为了比较,所以图表生成单元164执行选择适合于数据比较的图表类型的处理。后面将参考图23来描述该图表类型选择处理的细节。
[0204](步骤S303)由于文件目的是为了分析,所以图表生成单元164执行选择适合于数据分析的图表类型的处理。后面将参考图24来描述该图表类型选择处理的细节。
[0205]现在将在下面详细描述用于比较的前述图表类型选择处理。图23是例示选择用于比较的图表类型的处理的流程图。
[0206](步骤S311)图表生成单元164确定序列数据145(参见图8)是否包含任何时间关键字。时间关键字是表明关于时期或时间的某种概念的术语,诸如“财政年度的上半年”、“早晨”以及“春季”。例如,图表生成单元164取回在阵列“数据序列□”中所寄存的每个字符串并且审查时间关键字的存在。当找到时间关键字时,处理跳转至步骤S317。当没有找到时间关键字时,处理前进至步骤S312。
[0207](步骤S312)图表生成单元164确定序列数据145是否包含任何专有名词,诸如个人或公司的名称。例如,图表生成单元164取回在数据序列[]中寄存的每个字符串并且审查专有名词的存在。如果找到专有名词,则处理进行至步骤S321。如果没有找到专有名词,处理前进至步骤S313。
[0208](步骤S313)图表生成单元164确定序列数据145是否包含任何数字,例如,图表生成单元164取回在阵列“数据序列□”中寄存的每个字符串并且审查数字的存在。如果找到一些数字,则处理前进至步骤S314。如果没有找到数字,则处理前进至步骤S321。
[0209](步骤S314)图表生成单元164计算第一数据序列与第二数据序列之间的数值的差值(DIFF#1)。
[0210](步骤S315)图表生成单元164计算第二数据序列与第三数据序列之间的数值的差值(DIFF#2)。
[0211]图表生成单元164将步骤S314的第一差值DIFF#1与步骤S315的第二差值DIFF#2相比较。当两个差值彼此相等时,处理前进至步骤S317。当两个差值不相等时,处理分支至步骤S321。
[0212](步骤S317)图表生成单元164确定图表是要比较时间上的变化。
[0213](步骤S318)图表生成单元164将序列数据145中所包含的数据序列的数量与预定的阈值Ta相比较,其中Ta是正整数。当数据序列的数量大于或等于Ta时,处理前进至步骤S320。当数据序列的数量小于Ta时,处理前进至步骤S319。
[0214](步骤S319)由于数据序列的数量小于Ta,所以图表生成单元164选择垂直条形图表作为要使用的图表类型。然后图表生成单元164退出该用于比较的图表选择处理。
[0215](步骤S320)由于数据序列的数量大于或等于Ta,所以图表生成单元164选择线形图表作为要使用的图表类型,然后退出该用于比较的图表选择处理。
[0216](步骤S321)图表生成单元164确定图表逐项目地比较差值。
[0217](步骤S322)图表生成单元164将数据序列的数量与另一预定阈值Tb相比较,其中Tb是正整数。当数据序列的数量大于或等于Tb时,处理前进至步骤S323。当数据序列的数量小于Tb时,处理前进至步骤S325。
[0218](步骤S323)图表生成单元164将数据序列的数量与又一预定阈值Tc相比较,其中Tc是正整数。当数据序列的数量大于或等于Tc时,处理前进至步骤S325。当数据序列的数量小于Tc时,处理前进至步骤S324。
[0219](步骤S324)当数据序列的数量小于Tc时,图表生成单元164选择水平条形图表作为要使用的图表类型,然后退出用于比较的图表选择处理。
[0220](步骤S325)由于项目的数量小于Tb,或者由于数据序列的数量大于或等于Tc,图表生成单元164选择垂直条形图表作为要使用的图表类型,然后退出该用于比较的图表选择处理。
[0221]上面的步骤允许服务器100选择适合于分类在比较组中的文件的图表类型。阈值Ta、Tb以及Tc可以由用户来指定。例如,阈值Ta、Tb以及Tc可设置为5。另一方面,当文件分类在分析组中时,服务器100确定以下面详细描述的方式选择哪个图表。
[0222]图24是例示如何选择用于分析的图表类型的示例的流程图。
[0223](步骤S331)图表生成单元164确定项目的数量是否是I。当发现项目的数量是I时,处理进行至步骤S332。当项目的数量大于I时,处理前进至步骤S333。
[0224](步骤S332)由于存在仅一个项目,所以图表生成单元164选择饼图作为要使用的图表类型,然后退出该用于分析的图表选择处理。
[0225](步骤S333)图表生成单元164搜索在中间数据存储单元140中所存储的候选序列数据144以查看所寄存的数据序列的候选中的任意一个是否包含“总计”字符串。当找至IJ “总计”时,处理前进至步骤S334。当没有找到“总计”时,处理进行至步骤S337。
[0226](步骤S334)图表生成单元164将源数据146的每个单个记录中的数据值加起来并且从所得到的这些记录的总和来编译总和数据147。例如,图表生成单元164重复下面的操作,同时使局部变量X (大于O的整数)递增,变量X的范围限于该用于分析的图表选择处理。具体地,图表生成单元164从二维阵列“源数据□□”提取所有的数据元素,变量X用作矩阵的第一索引。所提取的是在第X个记录中的数值。图表生成单元164将这种数值加起来,将所计算的总计值分配给阵列“总和[]”。[0227](步骤S335)图表生成单元164针对在x的整个范围中总计值是否是100来审查所得到的阵列“总和[X]”。当对于每个X总和[X]是100时,处理前进至步骤S336。当对于X的至少一个值总和[X]不是100时,处理前进至步骤S337。
[0228](步骤S336)由于对于每一个x总和[x]是100,所以图表生成单元164选择100%累计条形图表作为要使用的图表类型,然后退出该用于分析的图表选择处理。
[0229](步骤S337)到达这一步是因为“总计”不包括在候选中,或者因为即使“总计”包括在候选中,但对于X的至少一个值总和[X]不是100。在这些情况下,图表生成单元164选择累计条形图表作为要使用的图表类型,然后退出该用于分析的图表选择处理。
[0230]上面的步骤允许服务器100选择适合于分类在分析组中的文件的图表类型。如从图24所看到的,根据在源数据的每个记录中的数据值的总和来确定用于分析的图表类型。注意,100%累计条形图表适合于表示百分比数据。
[0231]图25例示了如何基于数据值的总和来选择图表类型的示例。具体地,图25的上半部描绘基于总和的图表选择的第一示例,下半部是基于总和的图表选择的第二示例。
[0232]在第一示例中所看到的表总结了在具体年的每个季度中的某些对象或者活动的评价结果。结果被评为“好”或“尚可”或“差”。在第一示例中,在每个季度中的三个对应数字的总和固定为100。这暗示了评价结果以百分比来表示。因此,图表生成单元164选择100%累计条形图表。
[0233]第二示例将利用“好”或“尚可”或“差”等级来类似地总结在每个季度中的某些对象或活动的评价结果。差别在于在第二示例中每个季度数字的总和并不都是100。这种情况暗示评价结果并不以百分数表示,而是以其他方式来表示,诸如评价这些东西的等级的数量。在这种情况下,将选择累计条形图表。
[0234]如从上面的示例所看到的,服务器100根据数值的总和是否是100来选择适合于要生成的图表的内容的图表类型。服务器100产生包括所选择的类型的图表的文件并且将该文件输出至打印机等。
[0235]图26示出了如何生成包含图表的文件的第一示例。所例示的文件50已根据文件式样形式产生并且包括其标题51、作者名称52、表格53以及图表区域54。
[0236]标题51已识别为位于文件50的上半部的水平中心的字符串。服务器100分析该标题51以整体上确定文件的分类。在图26的示例中,标题51标明为“销售记录-第四发展集团”。字符串包含术语“记录”,该术语所寄存的是专业词汇词语“记录表格”(参见图7)的准同义词。由于该术语“记录”的分类矢量是(1,0),所以服务器100确定文件50落入比较组。
[0237]然后服务器100从表格53提取列标题的字符串作为数据序列的一组候选。列标题“利润率”在所提取的候选之中,并且在其字符串中找到的术语“率”是专业词汇词语“比例”的准同义词。术语“率”分类为“分析”,不同于上面所提及的整体上对文件50的分类。由于该不匹配,所以列标题“利润率”没有资格作为数据序列,并因此服务器100选择剩余的三个候选作为数据序列。
[0238]根据文件“50”的分类“比较”,服务器100执行用于比较的图表类型选择处理。在图26的示例中,在数字序列中即没有找到时间关键字也没有找到数字。服务器100确定文件50中的图表打算逐项目地比较差值。[0239]然后,基于项目的数量和数据序列的数量,服务器100确定水平的或垂直的条形图表中的哪种类型适合于逐项目地比较差值。在图26的示例中假定项目的数量的前述阈值设置为5,由于表格53的源数据每个数据序列包括两个项目,所以意味着项目的数量小于阈值Tb。因此,服务器100选择垂直条形图表,无需检查数据序列的数量。该图表类型选择产生在文件50的图表区域54中的垂直条形图表55。在图26的示例中,服务器100识别出,标题为“名称”的列给出了要比较的项目名称。得到的垂直条形图表55针对列标题为“名称”下的每个项目描绘了 “目标金额”和“销售金额”。
[0240]现在参考图27至图29,下面的部分描述了如何生成包括图表的文件的第二示例。
[0241]图27是例示如何生成包含图表的文件的第二示例的第一示图。例示的文件60已根据文件式样形式产生,并且包括其标题61、输出日期62、表格63以及图表区域64。标题61已识别为位于文件60的上半部的水平中心的字符串。服务器100分析该标题61以整体上确定文件60的分类。在图27的示例中,标题61标明为“个人月度统计表(销售)”。
[0242]图28是例示文件生成的第二示例的第二示图。标题字符串“个人月度统计表格(销售)”包含术语“表格”,该术语“表格”是所寄存的专业词汇词语“性能表格”(参见图7)的准同义词。由于该术语“表格”的分类矢量是(1,0),所以服务器100确定文件60落入比较组。
[0243]然后,服务器100从表格63提取列标题的字符串作为数据序列的一组候选。所提取的候选中的列标题“总计”寄存为专业词汇词语。然而,术语“总计”并没有落入任何特定类中(参见图7)。由于这个原因,列标题“总计”没有资格作为数据序列,因此服务器100选择剩余候选作为数据序列。
[0244]根据文件60的分类“比较”,服务器100执行用于比较的图表类型选择处理。在图28的示例中,数据序列包括时间关键字“一月”、“二月”、“三月”等。因此服务器100确定文件60中的图表打算比较时间上的变化。
[0245]然后服务器100基于数据序列的数量来确定垂直条形图表或线形图表中的哪种类型图表适合适合于比较时间上的变化。在图28的示例中假设数据序列的数量的前述阈值Ta设置为5。由于表格63的源数据包括十三个数据序列,意味着数据序列的数量大于阈值Ta。因此,服务器100为文件60选择线形图表。
[0246]图29是例示文件生成的第二示例的第三示图。上面的图表类型选择产生在文件60的图表区域64中的线形图表65。在图29的这个示例中,服务器100发现,“个人”列标题给出了项目名称。得到的线形图表65描绘了每个人月度结余的变化。
[0247]如从上面的示例能够看到的,第二实施例使得有可能产生基于文件中的字符串(例如,文件标题、列标题以及表格的项目名称)选择的、图表的适合类型。所提出的技术帮助用户避免了对表格做出糟糕的选择。
[0248]根据第二实施例的一个方面,从要包括在图表中的项目的数量选择适合的图表类型。该特征使用户不需要知道图表项目的数量与图表的合适选择之间的关系,因此减轻了用户的负担。
[0249]根据第二实施例的另一方面,从要包含在图表中的数据序列的数目中选择合适图表类型。该特征使用户不需要知道数据序列的数量与图像的适当选择之间的关系,从而减轻了用户的负担。[0250]根据第二实施例的又一方面,表格的列标题经过筛选处理,该筛选处理拒绝不适合文件的预期目的那些列标题。该特征使图表能够根据适合于该目的的一组数据序列来生成。
[0251]根据第二实施例的又一方面,将文件标题中所包括的两个或更多个专业词汇词语的分类矢量进行平均。平均矢量的分量彼此相比较以确定所涉及的文件属于比较组或分析组。实施例的这一特征使得即使在文件的标题包含暗示比较的专业词汇词语和暗示分析的专业词汇词语时仍有可能对文件分类(或指定其目的)。
[0252]根据第二实施例的又一方面,平均处理可根据专业词汇词语在标题中出现的位置而对该专业词汇词语给出不同的加权。该特征使得即使在标题包含相等数量的不同类别专业词汇词语时仍有可能对文件分类(或指定其目的)。
[0253]上面已讨论了两个实施例和其变化。根据这些实施例的一个方面,所提出的技术帮助用户产生适合类型的图表。
【权利要求】
1.一种用于产生图表的方法,所述方法包括: 由计算机通过分析要呈现在电子文件中的字符串来确定图表类型;以及 由所述计算机基于所述电子文件的数据来生成具有所述图表类型的图表。
2.根据权利要求1所述的方法,其中,所述确定包括: 基于在所述电子文件中的字符串来指定所述电子文件的文件目的;以及 基于所述文件目的来确定所述图表类型。
3.根据权利要求2所述的方法,其中,所述确定包括: 从所述电子文件的标题中提取多个专业词汇词语;以及 基于所提取的专业词汇词语来指定所述文件目的。
4.根据权利要求3所述的方法,其中: 所述多个专业词汇词语中的每一个与指示所述电子文件的特定文件目的的矢量相关联;以及 所述确定包括基于所述多个矢量的平均来指定所述文件目的。
5.根据权利要求4所述的方法,其中所述确定包括: 根据所述标题内所述专业词汇词语出现的词语位置来对分别与所述专业词汇词语相关联的多个矢量进行加权;以及 基于加权后的矢量的平均来指定所述文件目的。
6.根据权利要求2至5中任意一项所述的方法,其中,所述确定包括确定所述文件目的是数据的比较还是数据的分析。
7.根据权利要求3所述的方法,其中,所述确定包括: 提取在所述电子文件的字符串中满足预定标准的一个字符串;以及 将所提取的字符串识别为所述电子文件的标题。
8.根据权利要求1所述的方法,其中,所述确定包括: 基于在所述电子文件中的表格来确定要在所述电子文件的图表中描绘的数据值的序列的数量以及在每个所述序列中的项目的数量;以及 基于所述序列的数量和所述项目的数量来确定所述图表类型。
9.根据权利要求8所述的方法,其中, 确定所述图表类型包括基于用作所述电子文件的标题的字符串来指定所述文件目的;以及 确定所述序列的数量通过对在所述电子文件的表格的行和列中布置的所有数据集中包含适合于所指定的文件目的的字符串的数据集进行计数来实现。
10.根据权利要求1所述的方法,其中,所述确定包括: 计算每个项目的数值的总和;以及 根据每个项目中所计算的总和是否是100来指定所述文件目的。
11.根据权利要求1所述的方法,进一步包括: 由所述计算机根据式样数据来产生所述电子文件,所述式样数据定义所述电子文件中用于容纳图表的图表区域;以及 由所述计算机将所生成的图表插入所产生的电子文件的图表区域。
12.一种信息处理装置,包括:确定装置,所述确定装置用于通过分析要呈现在电子文件中的字符串来确定图表类型;以及 图表生成装置,所述图表生成装置用于基于所述电子文件的数据来生成具有所述图表类型的图表。
【文档编号】G06F17/30GK103914504SQ201310721998
【公开日】2014年7月9日 申请日期:2013年12月24日 优先权日:2012年12月28日
【发明者】丰岛巧 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1