Register or Login To Download This Patent As A PDF
| United States Patent Application |
20090157705
|
| Kind Code
|
A1
|
|
Nomiyama; Hiroshi
|
June 18, 2009
|
SYSTEMS, METHODS AND COMPUTER PRODUCTS FOR NAME DISAMBIGUATION BY USING
PRIVATE/GLOBAL DIRECTORIES, AND COMMUNICATION CONTEXTS
Abstract
Name disambiguation by using private/global directories and communication
contexts. Exemplary embodiments include a name disambiguation method,
including identifying a plurality of names of persons in text received in
the computer system, each of the plurality of names including a start and
an end position, a family name and a given name, for each of the
plurality of names of persons in the text, retrieving personal
identification information from a global directory as a candidate for a
name match, retrieving personal identification information from a private
directory as a candidate for the name match, comparing the private
directory personal identification information with the global directory
personal identification information, eliminating the personal
identification information from the private directory, retrieving
frequencies of communications associated with the personal identification
information from the private directory and displaying related information
for each of the plurality of names of persons in the text.
| Inventors: |
Nomiyama; Hiroshi; (Kawasaki-shi, JP)
|
| Correspondence Address:
|
CANTOR COLBURN LLP-IBM YORKTOWN
20 Church Street, 22nd Floor
Hartford
CT
06103
US
|
| Assignee: |
International Business Machines Corporation
Armonk
NY
|
| Serial No.:
|
178317 |
| Series Code:
|
12
|
| Filed:
|
July 23, 2008 |
| Current U.S. Class: |
1/1; 707/999.1; 707/E17.005 |
| Class at Publication: |
707/100; 707/E17.005 |
| International Class: |
G06F 17/30 20060101 G06F017/30 |
Claims
1. A name disambiguation system, comprising:a global directory;a private
directory;a processor operatively coupled to the global and private
directories, the processor for:identifying a plurality of names of
persons in text received in the system, each of the plurality of names
including a start and an end position, a family name and a given name;for
each of the plurality of names of persons in the text;retrieving personal
identification information from the global directory as a candidate for a
name match;retrieving personal identification information from the
private directory as a candidate for the name match;comparing the private
directory personal identification information with the global directory
personal identification information;in response to an inability to obtain
the name match with the personal identification information from the
private directory eliminating the personal identification information
from the private directory;in response to a determination that there
still exists ambiguous names in the plurality of names, retrieving
frequencies of communications associated with the personal identification
information from the private directory;displaying related information for
each of the plurality of names of persons in the text, including sorting
candidates by the frequencies of communications; andin response to a
determination of multiple candidates of personal identification
information from the private directory for one of the plurality of names
in the text, calculating a distance between a user of the computer system
and a candidate of the plurality of the names of persons in the text.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001]This application is a continuation of U.S. patent application Ser.
No. 11/958,868, filed Dec. 18, 2007, the disclosure of which is
incorporated by reference herein in its entirety.
TRADEMARKS
[0002]IBM.RTM. is a registered trademark of International Business
Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be
registered trademarks, trademarks or product names of International
Business Machines Corporation or other companies.
BACKGROUND
[0003]This invention relates to name disambiguation, and particularly to
systems, methods and computer products for name disambiguation by using
private/global directories and communication contexts.
[0004]Online communication
tools, such as e-mails, instant messaging,
electronic bulletin boards, and blogs, are commonly used in enterprises
for daily works. Even though such communications includes rich
information for relationships among persons and knowledge about persons,
there are few functions in such
tools using results of social network
analysis and text analysis. For example, if a name in text is
disambiguated automatically, the result will be used for various useful
functions in online communication
tools, which support/accelerate/enrich
online communications.
[0005]Some research has been done for a task to identify specific persons
appeared in texts, which is known as name disambiguation, name
resolution, or name identification. Conventional techniques disambiguate
names in a text of a mail body by using relationships expressed in mail
archives. At first, person names (ex. "Susan") in the mail body are
recognized, and a set of specific "Susan"s with whom the sender has
communicated. And scores for each candidate are calculated based on
relationships (such as sender-only or sender+recipients), time scales
(daily, weekly, and so on), and so on. Other techniques use k-way
spectral clustering method by representing mail archives as a graph
structure. Other techniques focus on name variations, such as name
abbreviations, name misspellings. Still other techniques use organization
information, which uses names in texts for disambiguation of person
names. However, the techniques do not disambiguate names by using plural
persons included in the body of the same mail, and assume that global
mail archives (not a private mail box) are available, which are very
difficult to get because of security and privacy matters.
BRIEF SUMMARY
[0006]Exemplary embodiments include a name disambiguation method,
including identifying a plurality of names of persons in text received in
the computer system, each of the plurality of names including a start and
an end position, a family name and a given name, for each of the
plurality of names of persons in the text, retrieving personal
identification information from a global directory as a candidate for a
name match, retrieving personal identification information from a private
directory as a candidate for the name match, comparing the private
directory personal identification information with the global directory
personal identification information, in response to an inability to
obtain the name match with the personal identification information from
the private directory eliminating the personal identification information
from the private directory, in response to a determination that there
still exists ambiguous names in the plurality of names, retrieving
frequencies of communications associated with the personal identification
information from the private directory and displaying related information
for each of the plurality of names of persons in the text.
[0007]System and computer program products corresponding to the
above-summarized methods are also described and claimed herein.
[0008]Additional features and advantages are realized through the
techniques of the present invention. Other embodiments and aspects of the
invention are described in detail herein and are considered a part of the
claimed invention. For a better understanding of the invention with
advantages and features, refer to the description and to the drawings.
[0009]As a result of the summarized invention, technically we have
achieved a solution in which systems and methods can disambiguate names
using only the private information in the private environments with
keeping their security and privacy. The systems and methods described
herein include a global directory which and can be applied effectively in
business environments in which online communication
tools, such as mails,
instant messaging, are commonly used for daily works.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0010]The subject matter which is regarded as the invention is
particularly pointed out and distinctly claimed in the claims at the
conclusion of the specification. The foregoing and other objects,
features, and advantages of the invention are apparent from the following
detailed description taken in conjunction with the accompanying drawings
in which:
[0011]FIG. 1 illustrates an exemplary embodiment of a system for name
disambiguation by using private/global directories and communication
contexts;
[0012]FIG. 2 illustrates a system level block diagram for name
disambiguation in accordance with exemplary embodiments; and
[0013]FIG. 3 illustrates a flowchart of a name disambiguation method in
accordance with exemplary embodiments.
[0014]The detailed description explains the preferred embodiments of the
invention, together with advantages and features, by way of example with
reference to the drawings.
DETAILED DESCRIPTION
[0015]In exemplary embodiments, the systems and methods described herein
disambiguate person names in texts in online communications, such as
e-mails, instant messaging, electronic bulletin board, or blogs. The
systems and methods described herein support/enrich/accelerate
communications by using results of name disambiguation.
[0016]FIG. 1 illustrates an exemplary embodiment of a system 100 for name
disambiguation by using private/global directories and communication
contexts. The methods described herein can be implemented in software
(e.g., firmware), hardware, or a combination thereof In exemplary
embodiments, the methods described herein are implemented in software, as
an executable program, and is executed by a special or general-purpose
digital computer, such as a personal computer, workstation, minicomputer,
or mainframe computer. The system 100 therefore includes general-purpose
computer 101.
[0017]In exemplary embodiments, in terms of hardware architecture, as
shown in FIG. 1, the computer 101 includes a processor 101, memory 110
coupled to a memory controller 115, and one or more input and/or output
(I/O) devices 140, 145 (or peripherals) that are communicatively coupled
via a local input/output controller 135. The input/output controller 135
can be, for example but not limited to, one or more buses or other wired
or wireless connections, as is known in the art. The input/output
controller 135 may have additional elements, which are omitted for
simplicity, such as controllers, buffers (caches), drivers, repeaters,
and receivers, to enable communications. Further, the local interface may
include address, control, and/or data connections to enable appropriate
communications among the aforementioned components.
[0018]The processor 105 is a hardware device for executing software,
particularly that stored in memory 110. The processor 105 can be any
custom made or commercially available processor, a central processing
unit (CPU), an auxiliary processor among several processors associated
with the computer 101, a semiconductor based microprocessor (in the form
of a microchip or chip set), a macroprocessor, or generally any device
for executing software instructions.
[0019]The memory 110 can include any one or combination of volatile memory
elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM,
etc.)) and nonvolatile memory elements (e.g., ROM, erasable programmable
read only memory (EPROM), electronically erasable programmable read only
memory (EEPROM), programmable read only memory (PROM), tape, compact disc
read only memory (CD-ROM), disk, diskette, cartridge, cassette or the
like, etc.). Moreover, the memory 110 may incorporate electronic,
magnetic, optical, and/or other types of storage media. Note that the
memory 110 can have a distributed architecture, where various components
are situated remote from one another, but can be accessed by the
processor 105.
[0020]The software in memory 110 may include one or more separate
programs, each of which comprises an ordered listing of executable
instructions for implementing logical functions. In the example of FIG.
1, the software in the memory 110 includes the name disambiguation
methods described herein in accordance with exemplary embodiments and a
suitable operating system (O/S) 111. The operating system 111 essentially
controls the execution of other computer programs, such the name
disambiguation systems and methods described herein, and provides
scheduling, input-output control, file and data management, memory
management, and communication control and related services.
[0021]The name disambiguation methods described herein may be in the form
of a source program, executable program (object code), script, or any
other entity comprising a set of instructions to be performed. When a
source program, then the program needs to be translated via a compiler,
assembler, interpreter, or the like, which may or may not be included
within the memory 110, so as to operate properly in connection with the
O/S 111. Furthermore, the name disambiguation methods can be written as
an object oriented programming language, which has classes of data and
methods, or a procedure programming language, which has routines,
subroutines, and/or functions.
[0022]In exemplary embodiments, a conventional keyboard 150 and mouse 155
can be coupled to the input/output controller 135. Other output devices
such as the I/O devices 140, 145 may include input devices, for example
but not limited to a printer, a scanner, microphone, and the like.
Finally, the I/O devices 140, 145 may further include devices that
communicate both inputs and outputs, for instance but not limited to, a
NIC or modulator/demodulator (for accessing other files, devices,
systems, or a network), a radio frequency (RF) or other transceiver, a
telephonic interface, a bridge, a router, and the like. The system 100
can further include a display controller 125 coupled to a display 130. In
exemplary embodiments, the system 100 can further include a network
interface 160 for coupling to a network 165. The network 165 can be an
IP-based network for communication between the computer 101 and any
external server, client and the like via a broadband connection. The
network 165 transmits and receives data between the computer 101 and
external systems. In exemplary embodiments, network 165 can be a managed
IP network administered by a service provider. The network 165 may be
implemented in a wireless fashion, e.g., using wireless protocols and
technologies, such as WiFi, WiMax, etc. The network 165 can also be a
packet-switched network such as a local area network, wide area network,
metropolitan area network, Internet network, or other similar type of
network environment. The network 165 may be a fixed wireless network, a
wireless local area network (LAN), a wireless wide area network (WAN) a
personal area network (PAN), a virtual private network (VPN), intranet or
other suitable network system and includes equipment for receiving and
transmitting signals.
[0023]If the computer 101 is a PC, workstation, intelligent device or the
like, the software in the memory 110 may further include a basic input
output system (BIOS) (omitted for simplicity). The BIOS is a set of
essential software routines that initialize and test hardware at startup,
start the O/S 111, and support the transfer of data among the hardware
devices. The BIOS is stored in ROM so that the BIOS can be executed when
the computer 101 is activated.
[0024]When the computer 101 is in operation, the processor 105 is
configured to execute software stored within the memory 110, to
communicate data to and from the memory 110, and to generally control
operations of the computer 101 pursuant to the software. The name
disambiguation methods described herein and the O/S 111, in whole or in
part, but typically the latter, are read by the processor 105, perhaps
buffered within the processor 105, and then executed.
[0025]When the systems and methods described herein are implemented in
software, as is shown in FIG. 1, it the methods can be stored on any
computer readable medium, such as storage 120, for use by or in
connection with any computer related system or method. In the context of
this document, a computer readable medium is an electronic, magnetic,
optical, or other physical device or means that can contain or store a
computer program for use by or in connection with a computer related
system or method. The name disambiguation methods described herein can be
embodied in any computer-readable medium for use by or in connection with
an instruction execution system, apparatus, or device, such as a
computer-based system, processor-containing system, or other system that
can fetch the instructions from the instruction execution system,
apparatus, or device and execute the instructions. In exemplary
embodiments, a "computer-readable medium" can be any means that can
store, communicate, propagate, or transport the program for use by or in
connection with the instruction execution system, apparatus, or device.
The computer readable medium can be, for example but not limited to, an
electronic, magnetic, optical, electromagnetic, infrared, or
semiconductor system, apparatus, device, or propagation medium. More
specific examples (a non-exhaustive list) of the computer-readable medium
would include the following: an electrical connection (electronic) having
one or more wires, a portable computer diskette (magnetic), a random
access memory (RAM) (electronic), a read-only memory (ROM) (electronic),
an erasable programmable read-only memory (EPROM, EEPROM, or Flash
memory) (electronic), an optical fiber (optical), and a portable compact
disc read-only memory (CDROM) (optical). Note that the computer-readable
medium could even be paper or another suitable medium upon which the
program is printed, as the program can be electronically captured, via
for instance optical scanning of the paper or other medium, then
compiled, interpreted or otherwise processed in a suitable manner if
necessary, and then stored in a computer memory.
[0026]In exemplary embodiments, where the name disambiguation methods are
implemented in hardware, the name disambiguation methods described herein
can implemented with any or a combination of the following technologies,
which are each well known in the art: a discrete logic circuit(s) having
logic gates for implementing logic functions upon data signals, an
application specific integrated circuit (ASIC) having appropriate
combinational logic gates, a programmable gate array(s) (PGA), a field
programmable gate array (FPGA), etc.
[0027]In exemplary embodiments, one or more processes in the memory 110
can monitor activity from the keyboard 150 and the mouse 155 or a
combination thereof The processes can further monitor long-running jobs
that have been initiated on the computer 101. The processes can further
monitor which and how many other machines can control the computer 101
either locally or remotely. In exemplary embodiments, the processes can
also inquire or accept a grace period input by a user of the computer
101. The grace period can be a time period after which all traffic to and
from the computer ceases if no further activity has been sensed by the
processes. In this way, if a user has left the computer 101 for an
extended period of time or has left the computer (e.g., after a work day)
the computer 101 no longer allows traffic to and from the computer 101.
In an alternative implementation, the computer 101 can totally power down
after the grace period has expired. In further exemplary embodiments, the
processes can accept traffic only from a common network maintenance
control system that provides limited services.
[0028]A system level block diagram of a name disambiguation system 200 is
shown in FIG. 2. The system 200 includes input text 205 coupled to a name
resolver 210, which is a process to disambiguate persons for person names
found in the input text 205 (i.e., identify a personal id for a person
name in the input text), and display related personal information for the
disambiguated persons and related persons for disambiguated persons. The
system 200 further includes a global directory 215, which includes
personal information of an organization, such as a personal id, family
name, given name, and other information (phone number, division, title,
and so on). A personal id is a unique id to specify a specific person,
such as an employee number, a mail address. In exemplary embodiments, an
Internet mail address can be used for a personal id. The global directory
215 is used to search personal information for the specified person with
queries such as family name+given name, family name, given name, or
personal id. The global directory 215 can also include a hierarchical
structure of an organization, which is used to get organizational
distance between the specified personal ids. The system 200 can further
include sources for a private directory 220, which can include data
sources such as communication contents or logs such as e-mail databases,
instant messaging, address books, electronic bulletin boards, and blogs.
The private directory 225 is information about all the communications of
a user, which are obtained from sources of a private directory, which
includes each communication stored in sources for the private directory.
In exemplary embodiments, personal ids are assigned for specific persons
in each communication (e.g., personal ids of senders or recipients for
e-mails). The system 200 can further include a private directory
generation 230, which is a process to generate a private directory from
sources for private directory. In exemplary embodiments, a communication
context 235 is a context where online communication
tools are used. This
includes personal ids of persons who are communicating, and keywords in
the communication context. In an e-mail, for example, addresses in
"To"/"From"/"Bcc", texts in the mail body, keywords extracted from the
text are included in the communication context.
[0029]FIG. 3 illustrates a flowchart of a name disambiguation method 300
in accordance with exemplary embodiments. At block 310, the method 300
identifies person names in texts. To recognize person names in texts by
using a named entity recognition module. A range of a person name (start
position and end position in the text), a family name, and a given name,
are recognized in this step. For example, a result of the named entity
recognition for "George Washington" is as follows: Start Position=0, End
Position=16, Family_Name="Washington", and Given_Name="George". In
exemplary embodiments, known technologies are applicable for named entity
recognition. At block 320, to obtain a set of personal ids for person
names recognized at block 310, by referring the global directory, if both
of a family name and given name are recognized for a person name, then a
query both with a family name and a given name is used for search (ex.
Family_Name="Washington" and Given_Name="George"). If only a family name
or a given name is recognized, then a query with the obtained name is
used (ex. Given_Name="George"). At step 330, personal identification
information is retrieved from personal directories. Personal ids which
cannot be found in the private directory are eliminated from the
candidates at block 340. At block 350, the method 300 determines if there
are still ambiguous names among the candidates. If there are still
ambiguous names, then at block 360, to search communications which
includes personal ids exists in the private directory, and if some
communications exists, then get frequencies of communications for each
personal id. A query is used to search the private directory. At first,
for each person name, if there are multiple candidates of personal ids
for a person name, then all the personal ids are concatenated with "OR"
operators. And all the queries for person names are concatenated with
"AND" operators. If there is a communication context available, personal
ids from the communication context are additionally concatenated with
"AND" operators. Examples of personal ids obtained from the communication
context are: E-mails--Personal ids obtained from "To"/"Cc"/"Bcc" and
Instant messaging--Personal ids for persons with whom a user is
communicating. If there are no further ambiguous names at block 350, then
at block 390 related information is displayed. Related information can
include a division name, a title, a phone number, for each personal id
obtained from the global directory. If there are still multiple
candidates for a person name, then candidates are sorted by their
frequencies calculated at block 360 and preferences calculated at block
380.
[0030]If there are multiple candidates for a person name, and frequencies
of some candidates are greater than zero, then candidates with zero
frequencies are eliminated from the candidates. At block 370, if all
person names are disambiguated uniquely into unique personal ids, then at
block 390, related information is displayed. At block 370, if the person
names are not disambiguated, and if there still multiple candidates of
personal ids exist for a person name, then at block 380, distances
between each candidate and a user are calculated by using the global
directory. Calculated distances are used for their preferences.
[0031]An example of name disambiguation for a text "Hi George, John" is
described. In this example, a company-wide phone directory, which
includes various kinds of personal information, is used for the global
directory, and a mail box for a user is used for a source of a private
directory. A personal id is an internet mail address. Two person names in
the input text, "George"(a given name) and "John" (a given name), are
recognized by the named entity recognition module. Personal ids for
"George" and "John" are obtained from the global directory by queries
Given_Name="George" and Given_Name="John" respectively.
TABLE-US-00001
"George" (a give name) 648 (george@xxyyzz.com,
george1@xxyyzz.com, ...)
"John" (a given name) 24 (john@xxyyzz.com,
john1@xxyyzz.com, ...)
[0032]It is assumed that there are 648 persons whose given name is George,
and 24 persons whose given name is John. Sets of personal ids which exist
in the private directory are obtained for "George" and "John".
TABLE-US-00002
"George" (a given name) 4 george1@xxyyzz.com,
george2@xxyyzz.com,
george3@xxyyzz.com,
george4@xxyyzz.com,
"John" (a given name) 1 john@xxyyzz.com
[0033]It is assumed that there are 4 "George"s and 1 "John" in the private
directory. The following query is searched against the private directory.
TABLE-US-00003
john@xxyyzz.com AND (george1@xxyyzz.com OR
george2@xxyyzz.com OR george3@xxyyzz.com OR
george4@xxyyzz.com)
[0034]It is assumed there are 21 communications (21 e-mails) found in the
private directory. Frequencies of each personal id from 21 communications
are counted, and personal ids with zero frequency are eliminated from the
candidates.
TABLE-US-00004
john@xxyyzz.com 21
george1@xxyyzz.com 21
Eliminated from the candidates
Eliminated from the candidates
Eliminated from the candidates
[0035]Three personal ids, george2@xxyyzz.com, george3@xxyyzz.com, and
george4@xxyyzz.com, do not appear in 21 communications, so they are
eliminated from the candidates. Additional information is obtained for
disambiguated personal ids. Personal information for disambiguated
personal ids is obtained from the global directory.
TABLE-US-00005
john@xxyyzz.com John Adams 111-1111
george1@xxyyzz.com George Washington 222-2222
[0036]Information about related personal ids obtained from the private
directory is also obtained from the global directory. Related personal
ids are personal ids which are included communications obtained Step 5.
The list of related personal ids is sorted by their frequencies.
TABLE-US-00006
Unique id Family_Name Given_Name Phone # # of Communications
thomas@xxyyzz.com Thomas Jefferson 333-3333 10
james@xxyyzz.com James Madison 444-4444 1
[0037]There are several examples for which the systems and methods
described herein can be implemented, as now described. In one example,
automatic completion of addresses from a text in a mail body, and display
of related persons can be implemented. The results of name disambiguation
from a text in the mail body are automatically put into "To" addresses by
using this method if personal ids are uniquely identified. And the
related persons extracted for disambiguated personal ids will be showed
as candidates for adding their addresses into "Cc" or "Bcc". The personal
information for those persons, such as full names, phone numbers, or
communication histories may be displayed for reference.
[0038]In another example, personal information can be displayed during a
chat. In a chat communication, a person names in chat messages can be
disambiguated by using communication context (a user and persons who are
communicating). For example, a chat between "George" and "John", there
may be a message "Why don't we invite Thomas into this chat?". If name
disambiguation is successful for "Thomas", then the system can display
personal information of "Thomas" to invite "Thomas" to the chat easily.
[0039]In another example, miss-spelling of person names can be detected.
If there are person names for which no candidates are obtained by this
method, then a warning will be displayed for candidates of miss-spelling
of person names.
[0040]In another example, warning for mails to persons with whom the user
has never communicated, or mails from persons with whom the user has
never communicated can be displayed. In sending a mail, if there are no
communications found in the private directory with persons in mail
addresses of "To"/"Cc"/"Bcc", a warning message will be showed. There may
be possibilities of wrong mail addresses. In reading a received mail, if
there are no communications found in the private directory with persons
in mail addresses of "To"/"Cc"/"Bcc", a warning message can be displayed.
In addition, the related information is displayed for persons in mail
addresses of "To"/"Cc"/"Bcc" with different colors according to whether
communications are found or not. No name disambiguation is necessary for
this process.
[0041]In still another example, automatic completion of person names for
reply mails can be implemented. Person names, such as "Hi George, John",
are inserted at the top of the mail body automatically from "To"
addresses (ex. To: george1@xxyyzz.com, john@xxyyzz.com). In this case,
person names are obtained from the global directory. No name
disambiguation is necessary for this process.
[0042]In another example, the systems and methods described herein can
provide detection of persons who the user knows. If there are some
persons in texts who uniquely identified by name disambiguation, they may
be persons with whom the user has communicated, that means persons who
the user knows. For example, a list of names in an intranet web site,
such as a list of awarded persons, a user can easily find persons who
he/she knows.
[0043]In another example, the systems and methods described herein can
search for personal information in the global directory for a specific
person. This method provides an efficient search for personal information
for a specific person with whom the user has communicated. There may be
many person whose given name is "George" in the global directory, but
much less number of "George" with whom the user has communicated before,
which are obtained by using this method. If there are still many
"George"s whom the user knows, then by inputting the related person with
"George" would reduce the number of candidates effectively.
[0044]The capabilities of the present invention can be implemented in
software, firmware, hardware or some combination thereof.
[0045]As one example, one or more aspects of the present invention can be
included in an article of manufacture (e.g., one or more computer program
products) having, for instance, computer usable media. The media has
embodied therein, for instance, computer readable program code means for
providing and facilitating the capabilities of the present invention. The
article of manufacture can be included as a part of a computer system or
sold separately.
[0046]Additionally, at least one program storage device readable by a
machine, tangibly embodying at least one program of instructions
executable by the machine to perform the capabilities of the present
invention can be provided.
[0047]The flow diagrams depicted herein are just examples. There may be
many variations to these diagrams or the steps (or operations) described
therein without departing from the spirit of the invention. For instance,
the steps may be performed in a differing order, or steps may be added,
deleted or modified. All of these variations are considered a part of the
claimed invention.
[0048]While the preferred embodiment to the invention has been described,
it will be understood that those skilled in the art, both now and in the
future, may make various improvements and enhancements which fall within
the scope of the claims which follow. These claims should be construed to
maintain the proper protection for the invention first described.
* * * * *