U.S. patent application number 14/930630 was filed with the patent office on 2016-02-25 for computer-implemented system and method for displaying clusters of documents.
The applicant listed for this patent is FTI Technology LLC. Invention is credited to Jonathan M. Borchardt, Edward L. Walter.
Application Number | 20160054899 14/930630 |
Document ID | / |
Family ID | 38255000 |
Filed Date | 2016-02-25 |
United States Patent
Application |
20160054899 |
Kind Code |
A1 |
Borchardt; Jonathan M. ; et
al. |
February 25, 2016 |
Computer-Implemented System and Method For Displaying Clusters Of
Documents
Abstract
A computer-implemented system and method for displaying clusters
of documents is provided. Clusters of documents are provided in a
display. A compass is displayed over at least a portion of the
clusters and the clusters within the compass are designated as a
focused area. The clusters within the compass are also emphasized
by performing at least one of zooming and panning of the clusters
based on one or more instructions from a user. The clusters in the
display that are outside the compass are deemphasized.
Inventors: |
Borchardt; Jonathan M.;
(Seattle, WA) ; Walter; Edward L.; (Bainbridge
Island, WA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
FTI Technology LLC |
Annapolis |
MD |
US |
|
|
Family ID: |
38255000 |
Appl. No.: |
14/930630 |
Filed: |
November 2, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13831824 |
Mar 15, 2013 |
9176642 |
|
|
14930630 |
|
|
|
|
12987983 |
Jan 10, 2011 |
8402395 |
|
|
13831824 |
|
|
|
|
12177046 |
Jul 21, 2008 |
7870507 |
|
|
12987983 |
|
|
|
|
11341180 |
Jan 27, 2006 |
7404151 |
|
|
12177046 |
|
|
|
|
11044158 |
Jan 26, 2005 |
7356777 |
|
|
11341180 |
|
|
|
|
Current U.S.
Class: |
715/277 |
Current CPC
Class: |
G06F 3/0485 20130101;
G06F 3/04815 20130101; G06F 3/04817 20130101; G06F 16/358 20190101;
G06F 40/166 20200101; G06F 3/04842 20130101 |
International
Class: |
G06F 3/0484 20060101
G06F003/0484; G06F 3/0485 20060101 G06F003/0485; G06F 17/24
20060101 G06F017/24; G06F 3/0481 20060101 G06F003/0481 |
Claims
1. A computer-implemented system for displaying clusters of
documents, comprising: clusters of documents in a display; a
compass displayed over at least a portion of the clusters and
designating the clusters within the compass as a focused area; and
a display module to emphasize the clusters within the compass by
performing at least one of zooming and panning of the clusters
within the compass based on one or more instructions from a user
and to deemphasize the clusters in the display that are outside the
compass.
2. A computer-implemented system according to claim 1, further
comprising: a document placement module to place each document in
at least one cluster.
3. A computer-implemented system according to claim 1, further
comprising: a document placement module to place one such document
in a single cluster to which the document is most closely related;
and a pseudo-document placement module to place a pseudo-document
of the placed document in at least one other cluster.
4. A computer-implemented system according to claim 3, further
comprising: a selection module to receive a selection of at least
one of the document and the pseudo-documents; a highlight module to
highlight the document based on the selection; and a
pseudo-document display module to visually depict each
pseudo-document as a ghost document.
5. A computer-implemented system according to claim 1, further
comprising: a presentation module to display the deemphasized
clusters under a visual velum by decreasing a brightness of the
clusters outside of the compass.
6. A computer-implemented system according to claim 1, further
comprising: a navigation assistance panel to represent a common
visualization of the clusters and the compass within the
display.
7. A computer-implemented system according to claim 1, wherein the
zooming performs at least one of increasing and decreasing an
amount of detail associated with the clusters within the
compass.
8. A computer-implemented system according to claim 1, wherein
panning shifts a relative location of the placed clusters within
the display.
9. A computer-implemented system according to claim 1, further
comprising: a presentation module to present the clusters of
documents in a hierarchical tree representation of folders.
10. A computer-implemented system according to claim 9, further
comprising: a performance module to perform at least one of
expanding the folders associated with the clusters within the
compass and centering the folders corresponding to the clusters
within the compass in the display.
11. A computer-implemented method for displaying clusters of
documents, comprising: providing clusters of documents in a
display; displaying a compass over at least a portion of the
clusters and designating the clusters within the compass as a
focused area; emphasizing the clusters within the compass by
performing at least one of zooming and panning of the clusters
within the compass based on one or more instructions from a user;
and deemphasizing the clusters in the display that are outside the
compass.
12. A computer-implemented method according to claim 11, further
comprising: placing each document in at least one cluster.
13. A computer-implemented method according to claim 11, further
comprising: placing one such document in a single cluster to which
the document is most closely related; and placing a pseudo-document
of the placed document in at least one other cluster.
14. A computer-implemented method according to claim 13, further
comprising: receiving a selection of at least one of the document
and the pseudo-documents; highlighting the document based on the
selection; and visually depicting each pseudo-document as a ghost
document.
15. A computer-implemented method according to claim 11, further
comprising: displaying the deemphasized clusters under a visual
velum by decreasing a brightness of the clusters outside of the
compass.
16. A computer-implemented method according to claim 11, further
comprising: representing a common visualization of the clusters and
the compass via a navigation assistance panel within the
display.
17. A computer-implemented method according to claim 11, wherein
zooming performs at least one of increasing and decreasing an
amount of detail associated with the clusters within the
compass.
18. A computer-implemented method according to claim 11, wherein
panning shifts a relative location of the placed clusters within
the display.
19. A computer-implemented method according to claim 11, further
comprising: presenting the clusters of documents in a hierarchical
tree representation of folders.
20. A computer-implemented method according to claim 19, further
comprising: performing at least one of expanding the folders
associated with the clusters within the compass and centering the
folders corresponding to the clusters within the compass in the
display.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This patent application is a continuation of U.S. patent
application Ser. No. 13/831,824, filed Mar. 15, 2013, is a
continuation of U.S. Pat. No. 8,402,395, issued Mar. 19, 2013,
which is a continuation of U.S. Pat. No. 7,870,507, issued Jan. 11,
2011; which is a continuation of U.S. Pat. No. 7,404,151, issued
Jul. 22, 2008; which is a continuation-in-part of U.S. Pat. No.
7,356,777, issued Apr. 8, 2008, the priority dates of which are
claimed and the disclosures of which are incorporated by
reference.
FIELD
[0002] The invention relates in general to user interfaces and, in
particular, to a computer-implemented system and method for
displaying clusters of documents.
BACKGROUND
[0003] Text mining can be used to extract latent semantic content
from collections of structured and unstructured text. Data
visualization can be used to model the extracted semantic content,
which transforms numeric or textual data into graphical data to
assist users in understanding underlying semantic principles. For
example, clusters group sets of concepts into a graphical element
that can be mapped into a graphical screen display. When
represented in multi-dimensional space, the spatial orientation of
the clusters reflect similarities and relatedness. However,
forcibly mapping the display of the clusters into a
three-dimensional scene or a two-dimensional screen can cause data
misinterpretation. For instance, a viewer could misinterpret
dependent relationships between adjacently displayed clusters or
erroneously misinterpret dependent and independent variables. As
well, a screen of densely-packed clusters can be difficult to
understand and navigate, particularly where annotated text labels
overlie clusters directly. Other factors can further complicate
visualized data perception, such as described in R. E. Horn,
"Visual Language: Global Communication for the 21.sup.st Century,"
Ch. 3, MacroVU Press (1998), the disclosure of which is
incorporated by reference.
[0004] Physically, data visualization is constrained by the limits
of the screen display used. Two-dimensional visualized data can be
accurately displayed, yet visualized data of greater dimensionality
must be artificially projected into two-dimensions when presented
on conventional screen displays. Careful use of color, shape and
temporal attributes can simulate multiple dimensions, but
comprehension and usability become increasingly difficult as
additional layers are artificially grafted into the two-dimensional
space and screen density increases. In addition, large sets of
data, such as email stores, document archives and databases, can be
content rich and can yield large sets of clusters that result in a
complex graphical representation. Physical display space, however,
is limited and large cluster sets can appear crowded and dense,
thereby hindering understandability. To aid navigation through the
display, the cluster sets can be combined, abstracted or
manipulated to simplify presentation, but semantic content can be
lost or skewed.
[0005] Moreover, complex graphical data can be difficult to
comprehend when displayed without textual references to underlying
content. The user is forced to mentally note "landmark" clusters
and other visual cues, which can be particularly difficult with
large cluster sets. Visualized data can be annotated with text,
such as cluster labels, to aid comprehension and usability.
However, annotating text directly into a graphical display can be
cumbersome, particularly where the clusters are densely packed and
cluster labels overlay or occlude the screen display. A more subtle
problem occurs when the screen is displaying a two-dimensional
projection of three-dimensional data and the text is annotated
within the two-dimensional space. Relabeling the text based on the
two-dimensional representation can introduce misinterpretations of
the three-dimensional data when the display is reoriented. Also,
reorienting the display can visually shuffle the displayed clusters
and cause a loss of user orientation. Furthermore, navigation can
be non-intuitive and cumbersome, as cluster placement is driven by
available display space and the labels may overlay or intersect
placed clusters.
[0006] Therefore, there is a need for providing a user interface
for focused display of dense visualized three-dimensional data
representing extracted semantic content as a combination of
graphical and textual data elements. Preferably, the user interface
would facilitate convenient navigation through a heads-up display
(HUD) logically provided over visualized data and would enable
large- or fine-grained data navigation, searching and data
exploration.
SUMMARY
[0007] An embodiment provides a system and method for providing a
user interface for a dense three-dimensional scene. Clusters are
placed in a three-dimensional scene arranged proximal to each other
such cluster to form a cluster spine. Each cluster includes one or
more concepts. Each cluster spine is projected into a
two-dimensional display relative to a stationary perspective.
Controls operating on a view of the cluster spines in the display
are presented. A compass logically framing the cluster spines
within the display is provided. A label to identify one such
concept in one or more of the cluster spines appearing within the
compass is generated. A plurality of slots in the two-dimensional
display positioned circumferentially around the compass is defined.
Each label is assigned to the slot outside of the compass for the
cluster spine having a closest angularity to the slot.
[0008] A further embodiment provides a system and method for
providing a dynamic user interface for a dense three-dimensional
scene with a navigation assistance panel. Clusters are placed in a
three-dimensional scene arranged proximal to each other such
cluster to form a cluster spine. Each cluster includes one or more
concepts. Each cluster spine is projected into a two-dimensional
display relative to a stationary perspective. Controls operating on
a view of the cluster spines in the display are presented. A
compass logically framing the cluster spines within the display is
provided. A label is generated to identify one such concept in one
or more of the cluster spines appearing within the compass. A
plurality of slots in the two-dimensional display is defined
positioned circumferentially around the compass. Each label is
assigned to the slot outside of the compass for the cluster spine
having a closest angularity to the slot. A perspective-altered
rendition of the two-dimensional display is generated. The
perspective-altered rendition includes the projected cluster spines
and a navigation assistance panel framing an area of the
perspective-altered rendition corresponding to the view of the
cluster spines in the display.
[0009] A still further embodiment provides a system and method for
providing a dynamic user interface for a dense three-dimensional
scene with multiple document occurrences. Clusters are placed in a
three-dimensional scene arranged proximal to each other such
cluster to form a cluster spine. Each cluster includes one or more
concepts with a plurality of concepts appearing in different
clusters corresponding to a same document. Each cluster spine is
projected into a two-dimensional display relative to a stationary
perspective. Controls operating on a view of the cluster spines in
the display are presented. A compass logically framing the cluster
spines within the display is provided. A label is generated to
identify one such concept in one or more of the cluster spines
appearing within the compass. A plurality of slots is defined in
the two-dimensional display positioned circumferentially around the
compass. Each label is assigned to the slot outside of the compass
for the cluster spine having a closest angularity to the slot.
[0010] A still further embodiment provides a system and method for
providing a dynamic user interface for a dense three-dimensional
scene. Clusters are placed in a three-dimensional scene arranged
proximal to each other such cluster to form a cluster spine. Each
cluster includes one or more concepts. Each cluster spine is
projected into a two-dimensional display relative to a stationary
perspective as a hierarchical view of the cluster spines in the
display. Folder controls operating on the hierarchical view are
presented. The hierarchical view includes an indicator representing
each cluster spine and a line indicating the cluster spine
interrelationships relative to other cluster spines. A label is
generated to identify one such concept included in each cluster
spine in the hierarchical view.
[0011] A still further embodiment provides a system and method for
providing a dynamic user interface for a dense three-dimensional
scene with a navigation assistance panel. Clusters of semantically
scored documents are placed in a three-dimensional scene, stored in
a database, arranged proximal to each other such cluster to form a
cluster spine. Each cluster includes one or more concepts extracted
from the documents. Each cluster spine is projected into a
two-dimensional display relative to a stationary perspective.
Controls operating on a view of the cluster spines in the
two-dimensional display are presented in a user interface via a
heads-up display generator. A plurality of compasses logically
framing the cluster spines within the display are provided. The
compasses can be operated through the controls independently of
each other. A label to identify one such concept in one or more of
the cluster spines appearing within at least one of the compasses
is generated. A plurality of slots in the two-dimensional display
positioned circumferentially around the compasses is defined. Each
label is assigned to the slot outside of the compass for the
cluster spine having a closest angularity to the slot. A
perspective-altered rendition of the two-dimensional display is
provided by a navigation assistant panel.
[0012] A still further embodiment provides a system and method for
providing a dynamic user interface including a plurality of logical
layers with a perspective-altered layer. A user interface is
provided via a heads-up display generator. Clusters including one
or more concepts arranged proximal to each other such cluster to
form a cluster spine are provided in a data layer. Controls to
operate on a view of the cluster spines are provided in a control
layer. Information about the clusters is provided in a concepts
layer. A compass logically framing the cluster spines is provided
in a heads-up display layer. A label to identify one such concept
in one or more of the cluster spines appearing within the compass
is generated. A plurality of slots positioned circumferentially
around the compass is defined. Each label is assigned to the slot
outside of the compass for the cluster spine having a closest
angularity to the slot. A perspective-altered rendition of the
heads-up display layer is provided in a perspective-altered
layer.
[0013] A still further embodiment provides a system and method for
providing a dynamic user interface for a dense three-dimensional
scene with a plurality of compasses. Clusters of semantically
scored documents are placed in a three-dimensional scene and
arranged as a cluster spine. Each cluster spine is projected into a
two-dimensional display. A compass and another compass are provided
via a heads-up display generator to logically frame at least one of
the cluster spines within the two-dimensional display. A label is
generated to identify each concept in one or more cluster spines
appearing with the compass and the another compass, respectively.
Slots are defined in the two-dimensional display and positioned
circumferentially around the compass and the another compass. Each
label is assigned to the slot outside of the compass or the another
compass for the cluster spine having a closest angularity to the
respective slot.
[0014] A still further embodiment provides a computer-implemented
system and method for displaying clusters of documents. Clusters of
documents are provided in a display. A compass is displayed over at
least a portion of the clusters and the clusters within the compass
are designated as a focused area. The clusters within the compass
are also emphasized by performing at least one of zooming and
panning of the clusters based on one or more instructions from a
user. The clusters in the display that are outside the compass are
deemphasized.
[0015] Still other embodiments of the invention will become readily
apparent to those skilled in the art from the following detailed
description, wherein are embodiments of the invention by way of
illustrating the best mode contemplated for carrying out the
invention. As will be realized, the invention is capable of other
and different embodiments and its several details are capable of
modifications in various obvious respects, all without departing
from the spirit and the scope of the invention. Accordingly, the
drawings and detailed description are to be regarded as
illustrative in nature and not as restrictive.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] FIG. 1 is a block diagram showing a system for providing a
user interface for a dense three-dimensional scene, in accordance
with the invention.
[0017] FIGS. 2A-B are block diagrams showing the system modules
implementing the display generator of FIG. 1.
[0018] FIG. 3 is a block diagram showing, by way of example, the
projection of n-dimensional space into three-dimensional space and
two-dimensional space through the display generator of FIG. 1.
[0019] FIGS. 4A-C are screen display diagrams showing, by way of
example, a user interface generated by the display generator of
FIG. 1.
[0020] FIG. 5 is an exploded screen display diagram showing the
user interface of FIGS. 4A-C.
[0021] FIGS. 6A-D are data representation diagrams showing, by way
of examples, display zooming, panning and pinning using the user
interface of FIGS. 4A-C.
[0022] FIG. 7 is a data representation diagram showing, by way of
example, multiple compasses generated using the user interface of
FIGS. 4A-C.
[0023] FIGS. 8A-C are data representation diagrams showing, by way
of example, single and multiple compasses generated using the user
interface of FIGS. 4A-C.
[0024] FIG. 9 is a data representation diagram showing, by way of
example, a cluster spine group.
[0025] FIG. 10 is a data representation diagram showing, by way of
examples, cluster spine group placements.
[0026] FIG. 11 is a data representation diagram showing, by way of
example, cluster spine group overlap removal.
[0027] FIG. 12 is a flow diagram showing a method for providing a
user interface for a dense three-dimensional scene, in accordance
with the invention.
[0028] FIG. 13 is a flow diagram showing the routine for providing
a HUD for use in the method of FIG. 12.
[0029] FIG. 14 is a flow diagram showing the routine for assigning
clusters to slots for use in the routine of FIG. 13.
[0030] FIG. 15 is a data representation diagram showing, by way of
example, a cluster assignment to a slot within a slice object.
[0031] FIGS. 16 and 17 are screen display diagrams showing, by way
of example, an alternate user interface generated by the display
generator of FIG. 1.
DETAILED DESCRIPTION
Glossary
[0032] Concept: One or more preferably root stem normalized words
defining a specific meaning [0033] Theme: One or more concepts
defining a semantic meaning [0034] Cluster: Grouping of documents
containing one or more common themes. [0035] Spine: Grouping of
clusters sharing a single concept preferably arranged linearly
along a vector. Also referred to as a cluster spine. [0036] Spine
Group: Set of connected and semantically-related spines. [0037]
Scene: Three-dimensional virtual world space generated from a
mapping of an n-dimensional problem space. [0038] Screen:
Two-dimensional display space generated from a projection of a
scene limited to one single perspective at a time. The foregoing
terms are used throughout this document and, unless indicated
otherwise, are assigned the meanings presented above.
System Overview
[0039] FIG. 1 is a block diagram showing a system 10 for providing
a user interface for a dense three-dimensional scene, in accordance
with the invention. By way of illustration, the system 10 operates
in a distributed computing environment, which includes a plurality
of heterogeneous systems and document sources. A backend server 11
executes a workbench suite 31 for providing a user interface
framework for automated document management, processing and
analysis. The backend server 11 is coupled to a storage device 13,
which stores documents 14, in the form of structured or
unstructured data, and a database 30 for maintaining document
information. A production server 12 includes a document mapper 32,
that includes a clustering engine 33 and display generator 34. The
clustering engine 33 performs efficient document scoring and
clustering, such as described in commonly-assigned U.S. Pat. No.
7,610,313, issued Oct. 27, 2009, the disclosure of which is
incorporated by reference. The display generator 34 arranges
concept clusters in a radial thematic neighborhood relationships
projected onto a two-dimensional visual display, such as described
in commonly-assigned U.S. Pat. No. 7,191,175, issued Mar. 13, 2007,
and U.S. Pat. No. 7,440,622, issued Oct. 21, 2008, the disclosures
of which are incorporated by reference. In addition, the display
generator 34 provides a user interface for cluster display and
navigation, as further described below beginning with reference to
FIGS. 2A-B.
[0040] The document mapper 32 operates on documents retrieved from
a plurality of local sources. The local sources include documents
17 maintained in a storage device 16 coupled to a local server 15
and documents 20 maintained in a storage device 19 coupled to a
local client 18. The local server 15 and local client 18 are
interconnected to the production system 11 over an intranetwork 21.
In addition, the document mapper 32 can identify and retrieve
documents from remote sources over an internetwork 22, including
the Internet, through a gateway 23 interfaced to the intranetwork
21. The remote sources include documents 26 maintained in a storage
device 25 coupled to a remote server 24 and documents 29 maintained
in a storage device 28 coupled to a remote client 27.
[0041] The individual documents 17, 20, 26, 29 include all forms
and types of structured and unstructured data, including electronic
message stores, such as word processing documents, electronic mail
(email) folders, Web pages, and graphical or multimedia data.
Notwithstanding, the documents could be in the form of organized
data, such as stored in a spreadsheet or database.
[0042] In one embodiment, the individual documents 17, 20, 26, 29
include electronic message folders, such as maintained by the
Outlook and Outlook Express products, licensed by Microsoft
Corporation, Redmond, Wash. The database is an SQL-based relational
database, such as the Oracle database management system, release 8,
licensed by Oracle Corporation, Redwood Shores, Calif.
[0043] The individual computer systems, including backend server
11, production server 32, server 15, client 18, remote server 24
and remote client 27, are general purpose, programmed digital
computing devices consisting of a central processing unit (CPU),
random access memory (RAM), non-volatile secondary storage, such as
a hard drive or CD ROM drive, network interfaces, and peripheral
devices, including user interfacing means, such as a keyboard and
display. Program code, including software programs, and data are
loaded into the RAM for execution and processing by the CPU and
results are generated for display, output, transmittal, or
storage.
Display Generator
[0044] FIGS. 2A-B are block diagrams showing the system modules
implementing the display generator of FIG. 1. Referring first to
FIG. 2A, the display generator 34 includes clustering 41, cluster
spine placement 42, and HUD 43 components.
[0045] Individual documents 14 are analyzed by the clustering
component 41 to form clusters 45 of semantically scored documents,
such as described in commonly-assigned U.S. Pat. No. 7,610,313,
issued Oct. 27, 2009, the disclosure of which is incorporated by
reference. In one embodiment, document concepts 46 are formed from
concepts and terms extracted from the documents 14 and the
frequencies of occurrences and reference counts of the concepts and
terms are determined. Each concept and term is then scored based on
frequency, concept weight, structural weight, and corpus weight.
The document concept scores are compressed and assigned to
normalized score vectors for each of the documents 14. The
similarities between each of the normalized score vectors are
determined, preferably as cosine values. A set of candidate seed
documents is evaluated to select a set of seed documents 44 as
initial cluster centers based on relative similarity between the
assigned normalized score vectors for each of the candidate seed
documents or using a dynamic threshold based on an analysis of the
similarities of the documents 14 from a center of each cluster 45,
such as described in commonly-assigned U.S. Pat. No. 7,610,313,
issued Oct. 27, 2009, the disclosure of which is incorporated by
reference. The remaining non-seed documents are evaluated against
the cluster centers also based on relative similarity and are
grouped into the clusters 45 based on best-fit, subject to a
minimum fit criterion.
[0046] The clustering component 41 analyzes cluster similarities in
a multi-dimensional problem space, while the cluster spine
placement component 42 maps the clusters into a three-dimensional
virtual space that is then projected onto a two-dimensional screen
space, as further described below with reference to FIG. 3. The
cluster spine placement component 42 evaluates the document
concepts 46 assigned to each of the clusters 45 and arranges
concept clusters in thematic neighborhood relationships projected
onto a shaped two-dimensional visual display, such as described in
commonly-assigned U.S. Pat. No. 7,191,175, issued Mar. 13, 2007,
and U.S. Pat. No. 7,440,622, issued Oct. 21, 2008, the disclosures
of which are incorporated by reference.
[0047] During visualization, cluster "spines" and certain clusters
45 are placed as cluster groups 49 within a virtual
three-dimensional space as a "scene" or world that is then
projected into two-dimensional space as a "screen" or visualization
54. Candidate spines are selected by surveying the cluster concepts
47 for each cluster 45. Each cluster concept 47 shared by two or
more clusters 45 can potentially form a spine of clusters 45.
However, those cluster concepts 47 referenced by just a single
cluster 45 or by more than 10% of the clusters 45 are discarded.
Other criteria for discarding cluster concepts 47 are possible. The
remaining clusters 45 are identified as candidate spine concepts,
which each logically form a candidate spine. Each of the clusters
45 are then assigned to a best fit spine 48 by evaluating the fit
of each candidate spine concept to the cluster concept 47. The
candidate spine exhibiting a maximum fit is selected as the best
fit spine 48 for the cluster 45. Unique seed spines are next
selected and placed. Spine concept score vectors are generated for
each best fit spine 48 and evaluated. Those best fit spines 48
having an adequate number of assigned clusters 45 and which are
sufficiently dissimilar to any previously selected best fit spines
48 are designated and placed as seed spines and the corresponding
spine concept 50 is identified. Any remaining unplaced best fit
spines 48 and clusters 45 that lack best fit spines 48 are placed
into spine groups 49. Anchor clusters are selected based on
similarities between unplaced candidate spines and candidate anchor
clusters. Cluster spines are grown by placing the clusters 45 in
similarity precedence to previously placed spine clusters or anchor
clusters along vectors originating at each anchor cluster. As
necessary, clusters 45 are placed outward or in a new vector at a
different angle from new anchor clusters 55. The spine groups 49
are placed by translating the spine groups 49 in a radial manner
until there is no overlap, such as described in commonly-assigned
U.S. Pat. No. 7,271,804, issued Sep. 18, 2007, the disclosure of
which is incorporated by reference.
[0048] Finally, the HUD generator 43 generates a user interface,
which includes a HUD that logically overlays the spine groups 49
placed within the visualization 54 and which provides controls for
navigating, exploring and searching the cluster space, as further
described below with reference to FIGS. 4A-C. The HUD is projected
over a potentially complex or dense scene, such as the cluster
groups 49 projected from the virtual three-dimensional space, and
provides labeling and focusing of select clusters. The HUD includes
a compass that provides a focused view of the placed spine groups
49, concept labels that are arranged circumferentially and
non-overlappingly around the compass, statistics about the spine
groups 49 appearing within the compass, and a garbage can in which
to dispose of selected concepts. In one embodiment, the compass is
round, although other enclosed shapes and configurations are
possible. Labeling is provided by drawing a concept pointer from
the outermost cluster in select spine groups 49 as determined in
the three-dimensional virtual scene to the periphery of the compass
at which the label appears. Preferably, each concept pointer is
drawn with a minimum length and placed to avoid overlapping other
concept pointers. Focus is provided through a set of zoom, pan and
pin controls, as further described below with reference to FIGS.
6A-D.
[0049] In one embodiment, a single compass is provided. Referring
next to FIG. 2B, in a further embodiment, multiple and independent
compasses can be provided, as further described below with
reference to FIG. 7. A pre-determined number of best fit spines 48
are identified within the three-dimensional virtual scene and
labels 52 are assigned based on the number of clusters for each of
the projected best fit spines 48 appearing within the compass. A
set of wedge-shaped slots 51 are created about the circumference of
the compass. The labels are placed into the slots 51 at the end of
concept pointers appearing at a minimum distance from the outermost
cluster 45 to the periphery of the compass to avoid overlap, as
further described below with reference to FIG. 14. In addition,
groupings 53 of clusters can be formed by selecting concepts or
documents appearing in the compass using the user interface
controls. In a still further embodiment, the cluster "spines" and
certain clusters 45 are placed as cluster groups 49 within a
virtual three-dimensional space as a "scene" or world that is then
projected into two-dimensional folder representation or alternate
visualization 57, as further described in FIGS. 16 and 17.
[0050] Each module or component is a computer program, procedure or
module written as source code in a conventional programming
language, such as the C++ programming language, and is presented
for execution by the CPU as object or byte code, as is known in the
art. The various implementations of the source code and object and
byte codes can be held on a computer-readable storage medium or
embodied on a transmission medium in a carrier wave. The display
generator 32 operates in accordance with a sequence of process
steps, as further described below with reference to FIG. 11.
Cluster Projection
[0051] FIG. 3 is a block diagram 60 showing, by way of example, the
projection of n-dimensional space 61 into three-dimensional space
62 and two-dimensional space 63 through the display generator 34 of
FIG. 1. Individual documents 14 form an n-dimensional space 61 with
each document concept 46 representing a discrete dimension. From a
user's point of view, the n-dimensional space 61 is too abstract
and dense to conceptualize into groupings of related document
concepts 46 as the number of interrelationships between distinct
document concepts 46 increases exponentially with the number of
document concepts. Comprehension is quickly lost as concepts
increase. Moreover, the n-dimensional space 61 cannot be displayed
if n exceeds three dimensions. As a result, the document concept
interrelationships are mapped into a three-dimensional virtual
"world" and then projected onto a two-dimensional screen.
[0052] First, the n-dimensional space 61 is projected into a
virtual three-dimensional space 62 by logically group the document
concepts 46 into thematically-related clusters 45. In one
embodiment, the three-dimensional space 62 is conceptualized into a
virtual world or "scene" that represents each cluster 45 as a
virtual sphere 66 placed relative to other thematically-related
clusters 45, although other shapes are possible. Importantly, the
three-dimensional space 62 is not displayed, but is used instead to
generate a screen view. The three-dimensional space 62 is projected
from a predefined perspective onto a two-dimensional space 63 by
representing each cluster 45 as a circle 69, although other shapes
are possible.
[0053] Although the three-dimensional space 62 could be displayed
through a series of two-dimensional projections that would simulate
navigation through the three-dimensional space through yawing,
pitching and rolling, comprehension would quickly be lost as the
orientation of the clusters 45 changed. Accordingly, the screens
generated in the two-dimensional space 63 are limited to one single
perspective at a time, such as would be seen by a viewer looking at
the three-dimensional space 62 from a stationary vantage point, but
the vantage point can be moved. The viewer is able to navigate
through the two-dimensional space 63 through zooming and panning.
Through the HUD, the user is allowed to zoom and pan through the
clusters 45 appearing within compass 67 and pin select document
concepts 46 into place onto the compass 67. During panning and
zooming, the absolute three-dimensional coordinates 65 of each
cluster 45 within the three-dimensional space 64 remain unchanged,
while the relative two-dimensional coordinates 68 are updated as
the view through the HUD is modified. Finally, spine labels are
generated for the thematic concepts of cluster spines appearing
within the compass 67 based on the underlying scene in the
three-dimensional space 64 and perspective of the viewer, as
further described below with reference to FIG. 14.
User Interface Example
[0054] FIGS. 4A-C are screen display diagrams 80 showing, by way of
example, a user interface 81 generated by the display generator 34
of FIG. 1. Referring first to FIG. 4A, the user interface 81
includes the controls and HUD. Cluster data is placed in a
two-dimensional cluster view within the user interface 81. The
controls and HUD enable a user to navigate, explore and search the
cluster data 83 appearing within a compass 82, as further described
below with reference to FIG. 5. The cluster data 84 appearing
outside of the compass 82 is navigable until the compass is zoomed
or panned over that cluster data 84. In a further embodiment,
multiple and independent compasses 82 can be included in
disjunctive, overlapping or concentric configurations. Other shapes
and configurations of compasses are possible.
[0055] In one embodiment, the controls are provided by a
combination of mouse button and keyboard shortcut assignments,
which control the orientation, zoom, pan, and selection of placed
clusters 83 within the compass 82, and toolbar buttons 87 provided
on the user interface 81. By way of example, the mouse buttons
enable the user to zoom and pan around and pin down the placed
clusters 83. For instance, by holding the middle mouse button and
dragging the mouse, the placed clusters 83 appearing within the
compass 82 can be panned. Similarly, by rolling a wheel on the
mouse, the placed clusters 83 appearing within the compass 82 can
be zoomed inwards to or outwards from the location at which the
mouse cursor points. Finally, by pressing a Home toolbar button or
keyboard shortcut, the placed clusters 83 appearing within the
compass 82 can be returned to an initial view centered on the
display screen. Keyboard shortcuts can provide similar
functionality as the mouse buttons.
[0056] Individual spine concepts 50 can be "pinned" in place on the
circumference of the compass 82 by clicking the left mouse button
on a cluster spine label 91. The spine label 91 appearing at the
end of the concept pointer connecting the outermost cluster of
placed clusters 83 associated with the pinned spine concept 50 are
highlighted. Pinning fixes a spine label 91 to the compass 82,
which causes the spine label 91 to remain fixed to the same place
on the compass 82 independent of the location of the associated
placed clusters 83 and adds weight to the associated cluster 83
during reclustering.
[0057] The toolbar buttons 87 enable a user to execute specific
commands for the composition of the spine groups 49 displayed. By
way of example, the toolbar buttons 87 provide the following
functions: [0058] (1) Select a previous document 14 in a cluster
spiral; [0059] (2) Select a next document 14 in a cluster spiral;
[0060] (3) Return to home view; [0061] (4) Re-cluster documents 14;
[0062] (5) Select a document 14 and cluster the remaining documents
14 based on similarity in concepts to the document concepts 46 of
the selected document 14; [0063] (6) Select one or more cluster
concepts 47 and cluster the documents 14 containing those selected
concepts separately from the remaining documents 14; [0064] (7)
Re-cluster all highlighted documents 14 separately from the
remaining documents 14; [0065] (8) Quickly search for words or
phrases that may not appear in the concept list 93, which is
specified through a text dialogue box 89; [0066] (9) Perform an
advanced search based on, for instance, search terms, natural
language or Boolean searching, specified files or file types, text
only, including word variations, and metadata fields; [0067] (10)
Clear all currently selected concepts and documents highlighted;
[0068] (11) Display a document viewer; [0069] (12) Disable the
compass; and [0070] (13) Provide help. In addition, a set of pull
down menus 88 provides further control over the placement and
manipulation of clusters within the user interface 81. Other types
of controls and functions are possible.
[0071] Visually, the compass 82 emphasizes visible placed clusters
83 and deemphasizes placed clusters 84 appearing outside of the
compass 82. The view of the cluster spines appearing within the
focus area of the compass 82 can be zoomed and panned and the
compass 82 can also be resized and disabled. In one embodiment, the
placed clusters 83 appearing within the compass 82 are displayed at
full brightness, while the placed clusters 84 appearing outside the
compass 82 are displayed at 30 percent of original brightness,
although other levels of brightness or visual accent, including
various combinations of color, line width and so forth, are
possible. Spine labels 91 appear at the ends of concept pointers
connecting the outermost cluster of select placed clusters 83 to
preferably the closest point along the periphery of the compass 82.
In one embodiment, the spine labels 91 are placed without overlap
and circumferentially around the compass 82, as further described
below with reference to FIG. 14. The spine labels 91 correspond to
the cluster concepts 47 that most describe the spine groups 49
appearing within the compass 82. Additionally, the cluster concepts
47 for each of the spine labels 91 appear in a concepts list
93.
[0072] In one embodiment, a set of set-aside trays 85 are provided
to graphically group those documents 86 that have been logically
marked into sorting categories. In addition, a garbage can 90 is
provided to remove cluster concepts 47 from consideration in the
current set of placed spine groups 49. Removed cluster concepts 47
prevent those concepts from affecting future clustering, as may
occur when a user considers a concept irrelevant to the placed
clusters 84.
[0073] Referring next to FIG. 4B, in a further embodiment, a user
interface 81 can include a navigation assistance panel 94, which
provides a "bird's eye" view of the entire visualization, including
the cluster data 83, 84. The navigation assistance panel 94
presents a perspective-altered rendition of the main screen
display. The two-dimensional scene that is delineated by the
boundaries of the screen display is represented within the
navigation assistance panel 94 as an outlined frame that is sized
proportionate within the overall scene. The navigation assistance
panel 94 can be resized, zoomed, and panned. In addition, within
the navigation assistance panel 94, the compass 82 can be enabled,
disabled, and resized and the lines connecting clusters in each
spine group 94 can be displayed or omitted. Additionally, other
indicia 96 not otherwise visible within the immediate screen
display can be represented in the navigation assistance panel 94,
such as miscellaneous clusters that are not part of or associated
near any placed spine group 49 in the main screen display.
[0074] Referring finally to FIG. 4C, by default, a document 14
appears only once in a single cluster spiral. However, in a still
further embodiment, a document can "appear" in multiple placed
clusters 83. A document 97 is placed in the cluster 83 to which the
document 97 is most closely related and is also placed in one or
more other clusters 83 as pseudo-documents 98. When either the
document 97 or a pseudo-document 98 is selected, the document 97 is
highlighted and each pseudo-document 98 is visually depicted as a
"shortcut" or ghost document, such as with de-emphasis or dotted
lines. Additionally, a text label 99 can be displayed with the
document 97 to identify the highest scoring concept.
User Interface
[0075] FIG. 5 is an exploded screen display diagram 100 showing the
user interface 81 of FIGS. 4A-C. The user interface 81 includes
controls 101, concepts list 103 and HUD 104. Clusters 102 are
presented to the user for viewing and manipulation via the controls
101, concepts list 103 and HUD 104. The controls 101 enable a user
to navigate, explore and search the cluster space through the mouse
buttons, keyboard and toolbar buttons 87. The concepts list 103
identifies a total number of concepts and lists each concept and
the number of occurrences. Concepts can be selected from the
concepts list 103. Lastly, the HUD 104 creates a visual illusion
that draws the users' attention to the compass 82 without actually
effecting the composition of the clusters 102.
User Interface Controls Examples
[0076] FIGS. 6A-D are data representation diagrams 120, 130, 140,
150 showing, by way of examples, display zooming, panning and
pinning using the user interface 81 of FIGS. 4A-C. Using the
controls, a user can zoom and pan within the HUD and can pin spine
concepts 50, as denoted by the spine labels for placed clusters 83.
Zooming increases or decreases the amount of the detail of the
placed clusters 83 within the HUD, while panning shifts the
relative locations of the placed clusters 83 within the HUD. Other
types of user controls are possible.
[0077] Referring first to FIG. 6A, a compass 121 frames a set of
cluster spines 124. The compass 121 logically separates the cluster
spines 124 into a "focused" area 122, that is, those cluster spines
124 appearing inside of the compass 121, and an "unfocused" area
123, that is, the remaining cluster spines 124 appearing outside of
the compass 121.
[0078] In one embodiment, the unfocused area 123 appears under a
visual "velum" created by decreasing the brightness of the placed
cluster spines 124 outside the compass 121 by 30 percent, although
other levels of brightness or visual accent, including various
combinations of color, line width and so forth, are possible. The
placed cluster spines 124 inside of the focused area 122 are
identified by spine labels 125, which are placed into logical
"slots" at the end of concept pointers 126 that associate each
spine label 125 with the corresponding placed cluster spine 124.
The spine labels 125 show the common concept 46 that connects the
clusters 83 appearing in the associated placed cluster spine 124.
Each concept pointer 126 connects the outermost cluster 45 of the
associated placed cluster spine 124 to the periphery of the compass
121 centered in the logical slot for the spine label 125. Concept
pointers 126 are highlighted in the HUD when a concept 46 within
the placed cluster spine 124 is selected or a pointer, such as a
mouse cursor, is held over the concept 46. Each cluster 83 also has
a cluster label 128 that appears when the pointer is used to select
a particular cluster 83 in the HUD. The cluster label 128 shows the
top concepts 46 that brought the documents 14 together as the
cluster 83, plus the total number of documents 14 for that cluster
83.
[0079] In one embodiment, spine labels 125 are placed to minimize
the length of the concept pointers 126. Each spine label 125 is
optimally situated to avoid overlap with other spine labels 125 and
crossing of other concept pointers 126, as further described below
with reference to FIG. 14. In addition, spine labels 125 are
provided for only up to a predefined number of placed cluster
spines 124 to prevent the compass 121 from becoming too visually
cluttered and to allow the user to retrieve extra data, if desired.
The user also can change the number of spine labels 125 shown in
the compass 121.
[0080] Referring next to FIG. 6B, the placed cluster spines 124 as
originally framed by the compass 121 have been zoomed inwards. When
zoomed inwards, the placed cluster spines 124 appearing within the
compass 121 nearest to the pointer appear larger. In addition,
those placed cluster spines 124 originally appearing within the
focused area 122 that are closer to the inside edge of the compass
121 are shifted into the unfocused area 123. Conversely, when
zoomed outwards, the placed cluster spines 124 appearing within the
compass 121 nearest to the pointer appear smaller. Similarly, those
placed cluster spines 124 originally appearing within the unfocused
area 123 that are closer to the outside edge of the compass 121 are
shifted into the focused area 122.
[0081] In one embodiment, the compass 121 zooms towards or away
from the location of the pointer, rather than the middle of the
compass 121. Additionally, the speed at which the placed cluster
spines 124 within the focused area 122 changes can be varied. For
instance, variable zooming can move the compass 121 at a faster
pace proportionate to the distance to the placed cluster spines 124
being viewed. Thus, a close-up view of the placed cluster spines
124 zooms more slowly than a far away view. Finally, the spine
labels 125 become more specific with respect to the placed cluster
spines 124 appearing within the compass 121 as the zooming changes.
High level details are displayed through the spine labels 125 when
the compass 121 is zoomed outwards and low level details are
displayed through the spine labels 125 when the compass 121 is
zoomed inwards. Other zooming controls and orientations are
possible.
[0082] Referring next to FIG. 6C, the placed cluster spines 124 as
originally framed by the compass 121 have been zoomed back outwards
and a spine label 125 has been pinned to fixed location on the
compass 121. Ordinarily, during zooming and panning, the spine
labels 125 associated with the placed cluster spines 124 that
remain within the compass 121 are redrawn to optimally situate each
spine label 125 to avoid overlap with other spine labels 125 and
the crossing of other concept pointers 126 independent of the zoom
level and panning direction. However, one or more spine labels 125
can be pinned by fixing the location 141 of the spine label 125
along the compass 121 using the pointer. Subsequently, each pinned
spine label 125 remains fixed in-place, while the associated placed
cluster spine 124 is reoriented within the compass 121 by the
zooming or panning. When pinned, each cluster 142 corresponding to
the pinned spine label 125 is highlighted. Finally, highlighted
spine labels 125 are dimmed during panning or zooming.
[0083] Referring lastly to FIG. 6D, the compass 121 has been panned
down and to the right. When panned, the placed cluster spines 124
appearing within the compass 121 shift in the direction of the
panning motion. Those placed cluster spines 124 originally
appearing within the focused area 122 that are closer to the edge
of the compass 121 away from the panning motion are shifted into
the unfocused area 123 while those placed cluster spines 124
originally appearing within the unfocused area 123 that are closer
to the outside edge of the compass 121 towards the panning motion
are shifted into the focused area 122. In one embodiment, the
compass 121 pans in the same direction as the pointer is moved.
Other panning orientations are possible.
Example Multiple Compasses
[0084] FIG. 7 is a data representation diagram 160 showing, by way
of example, multiple compasses 161, 162 generated using the user
interface 81 of FIGS. 4A-C. Each compass 161, 162 operates
independently from any other compass and multiple compasses can
161, 162 be placed in disjunctive, overlapping or concentric
configurations to allow the user to emphasize different aspects of
the placed cluster spines 124 without panning or zooming. Spine
labels for placed cluster spines are generated based on the
respective focus of each compass 161, 162. Thus, the placed cluster
spines 166 appearing within the focused area of an inner compass
162 situated concentric to an outer compass 161 result in one set
of spine labels, while those placed cluster spines 165 appearing
within the focused area of the outer compass 161 result in another
set of spine labels, which may be different that the inner compass
spine labels set. In addition, each compass 161, 162 can be
independently resized. Other controls, arrangements and
orientations of compasses are possible.
Example Single and Multiple Compasses
[0085] FIGS. 8A-C are data representation diagrams 170, 180, 190
showing, by way of example, single 171 and multiple compasses 171,
181 generated using the user interface of FIGS. 4A-C. Multiple
compasses can be used to show concepts through spine labels
concerning those cluster spines appearing within their focus,
whereas spine labels for those same concepts may not be otherwise
generated. Referring first to FIG. 8A, an outer compass 171 frames
four sets of cluster spines 174, 175, 176, 177. Spine labels for
only three of the placed cluster spines 175, 176, 177 in the
"focused" area 173 are generated and placed along the outer
circumference of the outer compass 171. Referring next to FIG. 8B,
an inner compass 181 frames the set of cluster spines 174. Spine
labels for the placed cluster spines 174 in the "focused" area 182
are generated and placed along the outer circumference of the inner
compass 181, even though these spine same labels were not generated
and placed along the outer circumference of the outer compass 171.
Referring lastly to FIG. 8C, in a further embodiment, spine labels
for the placed cluster spines in the "focused" area 172 are
generated and placed along the outer circumference of the original
outer compass 171. The additional spine labels have no effect on
the focus of the outer compass 171. Other controls, arrangements
and orientations of compasses are possible.
Example Cluster Spine Group
[0086] FIG. 9 is a data representation diagram 210 showing, by way
of example, a cluster spine group 49. One or more cluster spine
groups 49 are presented. In one embodiment, the cluster spine
groups 49 are placed in a circular arrangement centered initially
in the compass 82, as further described below with reference to
FIG. 10. A set of individual best fit spines 211, 213, 216, 219 are
created by assigning clusters 45 sharing a common best fit theme.
The best fit spines are ordered based on spine length and the
longest best fit spine 121 is selected as an initial unique seed
spine. Each of the unplaced remaining best fit spines 213, 216, 219
are grafted onto the placed best fit spine 211 by first building a
candidate anchor cluster list. If possible, each remaining best fit
spine 216, 219 is placed at an anchor cluster 218, 221 on the best
fit spine that is the most similar to the unplaced best fit spine.
The best fit spines 211, 216, 219 are placed along a vector 212,
217, 219 with a connecting line drawn in the visualization 54 to
indicate relatedness. Otherwise, each remaining best fit spine 213
is placed at a weak anchor 215 with a connecting line 214 drawn in
the visualization 54 to indicate relatedness. However, the
connecting line 214 does not connect to the weak anchor 215.
Relatedness is indicated by proximity only.
[0087] Next, each of the unplaced remaining singleton clusters 222
are loosely grafted onto a placed best fit spine 211, 216, 219 by
first building a candidate anchor cluster list. Each of the
remaining singleton clusters 222 are placed proximal to an anchor
cluster that is most similar to the singleton cluster. The
singleton clusters 222 are placed along a vector 212, 217, 219, but
no connecting line is drawn in the visualization 54. Relatedness is
indicated by proximity only.
Cluster Spine Group Placement Example
[0088] FIG. 10 is a data representation diagram 230 showing, by way
of examples, cluster spine group placements. A set of seed cluster
spine groups 232-235 are shown evenly-spaced circumferentially to
an innermost circle 231. No clusters 80 assigned to each seed
cluster spine group frame a sector within which the corresponding
seed cluster spine group is placed.
Cluster Spine Group Overlap Removal Example
[0089] FIG. 11 is a data representation diagram 240 showing, by way
of example, cluster spine group overlap removal. An overlapping
cluster spine group is first rotated in an anticlockwise direction
243 up to a maximum angle and, if still overlapping, translated in
an outwards direction 244. Rotation 245 and outward translation 246
are repeated until the overlap is resolved. The rotation can be in
any direction and amount of outward translation any distance.
Method Overview
[0090] FIG. 12 is a flow diagram showing a method 250 for providing
a user interface 81 for a dense three-dimensional scene, in
accordance with the invention. The method 250 is described as a
sequence of process operations or steps, which can be executed, for
instance, by a displayed generator 34 (shown in FIG. 1).
[0091] As an initial step, documents 14 are scored and clusters 45
are generated (block 251), such as described in commonly-assigned
U.S. Pat. No. 7,610,313, issued Oct. 27, 2009, the disclosure of
which is incorporated by reference. Next, clusters spines are
placed as cluster groups 49 (block 252), such as described in
commonly-assigned U.S. Pat. No. 7,191,175, issued Mar. 13, 2007,
and U.S. Pat. No. 7,440,622, issued Oct. 21, 2008, the disclosures
of which are incorporated by reference, and the concepts list 103
is provided. The HUD 104 is provided (block 253) to provide a
focused view of the clusters 102, as further described below with
reference to FIG. 13. Finally, controls are provided through the
user interface 81 for navigating, exploring and searching the
cluster space (block 254). The method then terminates.
HUD Generation
[0092] FIG. 13 is a flow diagram showing the routine 260 for
providing a HUD for use in the method 250 of FIG. 12. One purpose
of this routine is to generate the visual overlay, including the
compass 82, that defines the HUD.
[0093] Initially, the compass 82 is generated to overlay the placed
clusters layer 102 (block 261). In a further embodiment, the
compass 82 can be disabled. Next, cluster concepts 47 are assigned
into the slots 51 (block 262), as further described below with
reference to FIG. 14. Following cluster concept 47 assignment, the
routine returns.
Concept Assignment to Slots
[0094] FIG. 14 is a flow diagram showing the routine 270 for
assigning concepts 47 to slots 51 for use in the routine 260 of
FIG. 13. One purpose of this routine is to choose the locations of
the spine labels 91 based on the placed clusters 83 appearing
within the compass 82 and available slots 51 to avoid overlap and
crossed concept pointers.
[0095] Initially, a set of slots 51 is created (block 271). The
slots 51 are determined circumferentially defined around the
compass 82 to avoid crossing of navigation concept pointers and
overlap between individual spine labels 91 when projected into two
dimensions. In one embodiment, the slots 51 are determined based on
the three-dimensional Cartesian coordinates 65 (shown in FIG. 3) of
the outermost cluster in select spine groups 49 and the perspective
of the user in viewing the three-dimensional space 62. As the size
of the compass 82 changes, the number and position of the slots 51
change. If there are fewer slots available to display the cluster
concepts 47 selected by the user, only the number of cluster
concepts 47 that will fit in the slots 51 available will be
displayed.
[0096] Next, a set of slice objects is created for each cluster
concept 47 that occurs in a placed cluster 83 appearing within the
compass 82 (block 272). Each slice object defines an angular region
of the compass 82 and holds the cluster concepts 47 that will
appear within that region, the center slot 51 of that region, and
the width of the slice object, specified in number of slots 51. In
addition, in one embodiment, each slice object is interactive and,
when associated with a spine label 91, can be selected with a mouse
cursor to cause each of the cluster concepts 47 in the display to
be selected and highlighted. Next, framing slice objects are
identified by iteratively processing each of the slice objects
(blocks 273-276), as follows. For each slice object, if the slice
object defines a region that frames another slice object (block
274), the slice objects are combined (block 275) by changing the
center slot 51, increasing the width of the slice object, and
combining the cluster concepts 47 into a single slice object. Next,
those slice objects having a width of more than half of the number
of slots 51 are divided by iteratively processing each of the slice
objects (block 277-280), as follows. For each slice object, if the
width of the slice object exceeds the number of slots divided by
two (block 278), the slice object is divided (block 279) to
eliminate unwanted crossings of lines that connect spine labels 91
to associated placed clusters 83. Lastly, the cluster concepts 47
are assigned to slots 51 by a set of nested processing loops for
each of the slice objects (blocks 281-287) and slots 51 (blocks
282-286), as follows. For each slot 51 appearing in each slice
object, the cluster concepts 47 are ordered by angular position
from the slot 51 (block 283), as further described below with
reference to FIG. 13. The cluster concept 47 whose corresponding
cluster spine has the closest angularity to the slot 51 is selected
(block 284). The cluster concept 47 is removed from the slice
object and placed into the slot 51 (block 285), which will then be
displayed within the HUD layer 103 as a spine label 91. Upon the
completion of cluster concept 47 assignments, the routine
returns.
Cluster Assignment Example
[0097] FIG. 15 is a data representation diagram 290 showing, by way
of example, a cluster assignment to a slot 51 within a slice
object. Each slice object 291 defines an angular region around the
circumference of the compass 82. Those slots 292 appearing within
the slice object 291 are identified. A spine label 293 is assigned
to the slot 292 corresponding to the cluster spine having the
closest angularity to the slot 292.
Alternate User Interface
[0098] FIGS. 16 and 17 are screen display diagrams 300 showing, by
way of example, an alternate user interface 301 generated by the
display generator 34 of FIG. 1. Referring first to FIG. 16, in a
further embodiment, the alternate user interface 301 includes a
navigable folder representation of the three-dimensional space 62
projected onto a two-dimensional space 63 (shown in FIG. 3).
Cluster data is presented within the user interface 301 in a
hierarchical tree representation of folders 302. Cluster data is
placed within the user interface 301 using "Clustered" folders 303
that contain one or more labeled spine group folders 305, 306, such
as "birdseed" and "roadrunner." Where applicable, the spine group
folders can also contain one or more labeled best fit spine group
folders 307, such as "acme" and "coyote." In addition,
uncategorized cluster data is placed within the user interface 301
using "Other" folders 304 that can contain one or more labeled "No
spine" folders 308, which contain one or more labeled folders 311
for placed clusters 83 that are not part of a spine group, such as
"dynamite." The "Other folders" 304 can also contain a
"Miscellaneous" folder 309 and "Set-Aside Trays" folder 310
respectively containing clusters that have not been placed or that
have been removed from the displayed scene. Conventional folder
controls can enable a user to navigate, explore and search the
cluster data 83. Other shapes and configurations of navigable
folder representations are possible.
[0099] The folders representation 302 in the alternate user
interface 301 can be accessed independently from or in conjunction
with the two-dimensional cluster view in the original user
interface 81. When accessed independently, the cluster data is
presented in the folders representation 302 in a default
organization, such as from highest scoring spine groups on down, or
by alphabetized spine groups. Other default organizations are
possible. When accessed in conjunction with the two-dimensional
cluster view, the cluster data currently appearing within the focus
area of the compass 82 is selected by expanding folders and
centering the view over the folders corresponding to the cluster
data in focus. Other types of folder representation access are
possible.
[0100] Referring next to FIG. 17, the user interface 301 can also
be configured to present a "collapsed" hierarchical tree
representation of folders 312 to aid usability, particularly where
the full hierarchical tree representation of folders 302 includes
several levels of folders. The tree representation 312 can include,
for example, only two levels of folders corresponding to the spine
group folders 305, 306 and labeled best fit spine group folders
307. Alternatively, the tree representation could include fewer or
more levels of folders, or could collapse top-most, middle, or
bottom-most layers. Other alternate hierarchical tree
representations are possible.
[0101] While the invention has been particularly shown and
described as referenced to the embodiments thereof, those skilled
in the art will understand that the foregoing and other changes in
form and detail may be made therein without departing from the
spirit and scope of the invention.
* * * * *