Generation of search result abstracts

The subject matter disclosed herein relates to generating an abstract of an electronic document based at least in part on a utility metric associated with a group phrases as well as on a ranked order of sentences.

BACKGROUND

The subject matter disclosed herein relates to data processing, and more particularly to information extraction and information retrieval methods and systems.

2. Information

Data processing tools and techniques continue to improve. Information in the form of data is continually being generated or otherwise identified, collected, stored, shared, and analyzed. Databases and other like data repositories are common place, as are related communication networks and computing resources that provide access to such information.

The Internet is ubiquitous; the World Wide Web provided by the Internet continues to grow with new information seemingly being added every second. To provide access to such information, tools and services are often provided which allow for the copious amounts of information to be searched through in an efficient manner. For example, service providers may allow for users to search the World Wide Web or other like networks using search engines. Similar tools or services may allow for one or more databases or other like data repositories to be searched.

With so much information being available, there is a continuing need for methods and systems that allow for relevant information to be identified and presented in an efficient manner.

Reference is made in the following detailed description to the accompanying drawings, which form a part hereof, wherein like numerals may designate like parts throughout to indicate corresponding or analogous elements. It will be appreciated that for simplicity and/or clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, it is to be understood that other embodiments may be utilized and structural and/or logical changes may be made without departing from the scope of claimed subject matter. It should also be noted that directions and references, for example, up, down, top, bottom, and so on, may be used to facilitate the discussion of the drawings and are not intended to restrict the application of claimed subject matter. Therefore, the following detailed description is not to be taken in a limiting sense and the scope of claimed subject matter defined by the appended claims and their equivalents.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are set forth to provide a thorough understanding of claimed subject matter. However, it will be understood by those skilled in the art that claimed subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components and/or circuits have not been described in detail.

Some exemplary methods and systems are described herein that may be used to provide a score or other like value to phrases from a set of sentences based at least in part on a utility function. As will be described in greater detail below, certain exemplary embodiments described herein may provide a score to phrases from a set of sentences based at least in part on a utility function. For example, certain exemplary procedures described herein may be adapted to generate an abstract of an electronic document based at least in part on at least one utility metric or other like measurement associated with such phrases as well as on a ranked order of sentences. Further, the procedures described herein may also calculate an optimal path through combinations of phrases. An abstract may then be formulated based at least in part on such an optimal path through such combinations of phrases.

As used herein, the term “electronic document” may include any information in a digital format that may be perceived by a user if displayed by a digital device, such as, for example, a computing platform. For one or more embodiments, an electronic document may comprise a web page coded in a markup language, such as, for example, HTML (hypertext markup language). However, the scope of claimed subject matter is not limited in this respect. Also, for one or more embodiments, the electronic document may comprise a number of elements. The elements in one or more embodiments may comprise text, for example, as may be displayed on a web page. Also, for one or more embodiments, the elements may comprise a graphical object, such as, for example, a digital image. Unless specifically stated, an electronic document may refer to either the source code for a particular web page or the web page itself. Each web page may contain embedded references to images, audio, video, other web documents, etc. One common type of reference used to identify and locate resources on the web is a Uniform Resource Locator (URL).

When performing a search, a search result page may return several of the most relevant URLs and/or associated information in a result set. These results may be displayed in ranked order. For electronic documents displayed in the result set, a title, an abstract, and a URL may be included in a search result summary. Such an abstract may be of limited length, such as two or three lines of text, for example. Additionally, abstracts may be provided so that a user may be better able to discern if a given electronic document is relevant to the given search query. Accordingly, an abstract may be designed so as to provide a user with an approximation of the gist of a given electronic document.

As will be discussed in greater detail below, such an abstract may be generated by extracting portions of text from a given electronic document. Such extracted portions of text from a given electronic document may include one or more phrases that may comprise at least a portion of a sentence from the given electronic document.

FIG. 1is an illustrative diagram showing an exemplary search results display100, for example, as might be shown to a user through a user interface and input/output device. Search results summary display100may include a plurality of search result summaries102associated with a query. Here, for example, search result summaries102A and102B through102nare shown. Exemplary search result summary102A may include one or more portions such as, for example, a title104, an abstract106, a link108, and/or an object110. As used herein the term “abstract” may refer to a subset of text from and/or otherwise associated with a given electronic document.

While some or all of the information in certain search result summaries may be pre-defined or pre-written, for example, by a person associated with the website, the search engine service, and/or a third person or party, there may still be a need to generate some or all of the information in at least a portion of the search result summaries. Thus, when a search result summary needs to be generated, a search engine may be adapted to create a search result summary, for example, by extracting certain information from a web page. With so many websites and web pages being available, it may be beneficial to identify which portions from a given electronic document may be more relevant, may be more important, and/or which may be more informative if incorporated into an abstract106.

Procedure200illustrated inFIG. 2may be used to index and/or rank electronic documents in accordance with one or more embodiments, for example, although the scope of claimed subject matter is not limited in this respect. Additionally, although procedure200, as shown inFIG. 2, comprises one particular order of actions, the order in which the actions are presented does not necessarily limit claimed subject matter to any particular order. Likewise, intervening actions not shown inFIG. 2and/or additional actions not shown inFIG. 2may be employed and/or actions shown inFIG. 2may be eliminated, without departing from the scope of claimed subject matter.

Procedure200depicted inFIG. 2may in alternative embodiments be implemented in software, hardware, and/or firmware, and may comprise discrete operations. As illustrated, procedure200governs the operation of a search engine202. Search engine202may be capable of searching for content items of interest. Search engine202may communicate with a network204to access and/or search available information sources. By way of example, but not limitation, network204may include a local area network, a wide area network, the like, and/or combinations thereof, such as, for example, the Internet. Additionally or alternatively, search engine202and its constituent components may be deployed across network204in a distributed manner, whereby components may be duplicated and/or strategically placed throughout network204for increased performance.

Search engine202may include multiple components. For example, search engine202may include a ranking component206, a summary component208, index210, and/or a crawler component212, as will be discussed in greater detail below. Additionally or alternatively, search engine202also may include various additional components214. For example, search engine202may also include a search component capable of searching the content items retrieved by crawler component212. Search engine202, as shown inFIG. 2, is described herein with non-limiting example components. Thus, as mentioned, further additional components214may be employed, without departing from the scope of claimed subject matter.

Crawler component212may retrieve content items through network204, as illustrated at action216. For example, crawler component212may retrieve content items and store a copy in a cache (not shown). Additionally, crawler component212may follow links between content items so as to navigate across the Internet and gather information on an extensive number of electronic documents. For example, such content items may comprise a set of electronic documents retrieved from network204.

Data from content items gathered by crawler component212may be sent to index210, as illustrated at action218. Index210may index such content item data, as illustrated at action220. For example, index210may be updated based at least in part on content items comprising a set of electronic documents. Index210may parse a given content item into indexable terms, such as concepts and/or entities. Additionally, identifying information of the electronic documents may also be indexed so that a given term may be associated with a corresponding electronic document. Index210may index terms and may store information regarding which documents contain a term. Accordingly, search engine202may determine which electronic documents contain terms associated with a query, as illustrated at action222, based at least in part on checking for individual terms within index210.

Ranking component206may receive a search result set from index210, as illustrated at action228. For example, search engine202may also include a search component (not shown) capable of searching the electronic documents indexed within index210so as to generate a result set. Ranking component206may be capable of ranking such a result set such that the most relevant electronic documents in the result set may be presented to a user first, according to descending relevance, as illustrated at action230. For example, the first electronic document in the result set may be the most relevant in response to a query and the last electronic document in the result set may be the least relevant while still falling within the scope of the query. Such a ranked result set may comprise a search result that may be presented to a user via search results display100.

Summary component208may receive a search result set from index210, as illustrated at action228. Alternatively, summary component208may receive a ranked result set from ranking component206. Summary component208may generate one or more search result summaries for electronic documents associated with a given search result set or ranked result set at action232. As discussed above, such search result summaries may include an abstract. Such an abstract may be generated by extracting portions of text from a given electronic document. Such extracted portions of text from a given electronic document may include one or more phrases that may comprise at least a portion of a sentence from the given electronic document. At action234, such search result summaries may be received by the ranking component206for transmission to a user and/or display in a search result page.

Procedure300, as illustrated inFIG. 3, may be used to generate one or more search result summaries for electronic documents associated with a given search result set in accordance with one or more embodiments, for example, although the scope of claimed subject matter is not limited in this respect. Additionally, although procedure300, as shown inFIG. 3, comprises one particular order of blocks, the order in which the blocks are presented does not necessarily limit claimed subject matter to any particular order. Likewise, intervening blocks shown inFIG. 3and/or additional blocks not shown inFIG. 3may be employed and/or blocks shown inFIG. 3may be eliminated, without departing from the scope of claimed subject matter.

Procedure300, depicted inFIG. 3, may in alternative embodiments be implemented in software, hardware, and/or firmware, and may comprise discrete operations. As illustrated, procedure300may be used to generate one or more search result summaries for electronic documents associated with a given search result set. Starting at block302, a set of two or more sentences may be extracted from an electronic document. An electronic document may typically include a plurality of sentences. As used herein the term “sentence” may include a line or string of text that may include any number of characters, including complete grammatical sentences, grammatically incomplete sentences, and/or including a set or string of characters that fills or otherwise forms a single line, a paragraph, a section, a quotation, a label, a title, a heading, and/or the like within a page. Accordingly, an electronic document may be processed into a series of sentences. As will be discussed below, these sentences may then be ranked based at least in part on the relevance of a given sentence with respect to a given query.

At block304, a relevance of such sentences with respect to the electronic document may be determined. For example, a relevance of such sentences may be determined based at least in part upon an intent of a given query, a query-dependent relevance, and a degree to which the two or more sentences summarize the electronic document. In such an instance, determinations may be made of an intent of a given query, a query-dependent relevance of such sentences with respect to a given query, as well as a degree to which such sentences summarize the given electronic document. Additionally or alternatively, other methods may be utilized to establish a relevance of such sentences. At block306, such sentences may be ranked into a ranked order based at least in part on such determined relevance. In some situations, there may be less than two or more sentences. In such cases, procedure300may proceed to generate one or more search result summaries without a ranked order. For example, one or more phrases from a set of less than two or more sentences may be extracted that fits within a target length, as will be discussed in greater detail below.

At block308, a group of two or more sets of phrases may be extracted from such a set of two or more sentences associated with an electronic document. A single sentence may be associated with a single set of one or more phrases, while another sentence may be associated with another set of one or more phrases. Accordingly, an extracted sentence may be further processed into a series of one or more phrases that may comprise at least a portion of a given sentence from the given electronic document. For example, sentences may be segmented into phrases based at least in part on consideration such as linguistic break points, punctuation, and/or maintaining textual integrity (e.g. not sundering names, dates, and/or other words/concepts).

Additionally or alternatively, two or more phrases may contain overlapping content. Accordingly, these overlapping phrases may be collapsed into a single representative phrase prior to further processing to select phrases for inclusion in a given abstract. For example, these overlapping phrases may be processed by a utility function, as will be described in greater detail below, to select a single phrase for further processing while the non-selected phrases may not be further considered.

As will be discussed in more detail below, the composition of an abstract may be based at least in part on a given query string q and on a given ranked list of relevant sentences S=<s1, s2, . . . , sN>. For each sentence sn, a set of phrases P={p1, p2, . . . , pM} may be generated. One purpose for generating phrases pmmay be to use one of them in place of a sentence snduring the composition of an abstract. Note that P may include a sentence snas one of its elements.

At block310, at least a portion of an abstract of the electronic document may be generated using at least one phrase from the group of two or more sets of phrases. Such an abstract may be generated based at least in part on a utility metric associated with the group of two or more sets of phrases and/or on a ranked order of the two or more sentences.

As discussed above, for each sentence snfrom a ranked list of relevant sentences S=<s1, s2, . . . , sN> a set of phrases P={p1, p2, . . . , pM} may be generated. A consideration of every possible combination of phrases may comprise MNpossible calculations. Alternatively, the procedures described herein may reduce a consideration of possible combinations of phrases to (M2×N) possible calculations. Such a simplification of the calculation may be based at least in part on breaking down the calculation sentence-by-sentence, so that each subsequent sentence calculation is dependent on the preceding sentence calculation. For example, as will be discussed in greater detail below, a Viterbi-like algorithm may be utilized to select a sequence of phrases for composing an abstract. Alternatively, other optimization techniques other than a Viterbi-like algorithm may be utilized to select a sequence of phrases for composing an abstract. For example, such optimization techniques that may be utilized to select a sequence of phrases for composing an abstract may include Brute Force method, integer programming, and/or the like.

Accordingly, the extracted phrases may be processed for inclusion or exclusion from the abstract. For example, a first sentence may comprise four phrases comprising at least a portion of a first sentence. In one example, during composition of an abstract, no more than a single phrase may be selected from a given sentence for inclusion in an abstract. In some instances, for example, no phrase may be selected from a given sentence. Additionally or alternatively, redundant phrases may be excluded during the generation of an abstract, based at least in part on redundant combinations of phrases producing relatively low scores based at least in part on a utility function. In general, these phrases may be processed for inclusion or exclusion from the abstract so as to provide a succinct abstract that illustrates what the electronic document may be about and/or why the electronic document may be relevant to a given query. Additionally, these phrases may be processed for inclusion or exclusion from the abstract so as to provide a succinct abstract that may be within the upper bounds of a target length. For example, such a target length may be introduced into such a utility function as a hard length constraint on the overall length of an abstract in addition to a measures of length L(pm) that may quantify how long individual phrases pnm*composing an abstract are, as is discussed in greater detail below.

A utility metric, as mentioned above, may include at least one type of metric associated with at least one distinguishable measurement. Such a distinguishable measurement may, for example, identify or otherwise relate to a measure of readability of a given phrase, a measure of relevance of a given phrase with respect to a given query, a measure of relevance of a given phrase with respect to the electronic document, a measure of length of a given phrase, combinations thereof, and/or the like. For example, a given phrase pnm*from a set of phrases P may be associated with a set of distinguishable measurements. Such a set of distinguishable measurements may include measures of readability R(pm), query-relevant information I(pm), aboutness of the document A(pm), length L(pm), combinations thereof, and/or the like. A measures of readability R(pm) may quantify the readability of a given phrase pnm*. Similarly, a measures of query-relevant information I(pm) may quantify how closely a given phrase pnm*matches with a given query. Likewise, a measures of aboutness of the document A(pm) may quantify how closely a given phrase pnm*represents all or a portion of the subject matter of a given document. Lastly, a measures of length L(pm) may quantify how long a given phrase pnm*is. Additionally or alternatively, the particular distinguishable measurements mentioned above may be excluded and/or replaced with alternative quality attributes. For example, automated and/or semi-automated techniques may utilize and/or train one or more evaluation models to evaluate a given phrase for readability R(pm), query-relevant information I(pm), aboutness of the document A(pm), and/or the like. Such evaluation models may generate an objective model judgment value that may predict or otherwise may resemble a user judgment value (e.g., a quantitative quality score) for a given phrase. Such model judgment values may be useful in ranking readability of given phrases, ranking relevancy of given phrases, ranking aboutness of given phrases, and/or the like.

The procedures described herein may provide a score to various phrases and/or combinations of phrases from a set of sentences based at least in part on a utility function associated with one or more utility metrics. Further, the procedures described herein may also calculate an optimal path through such combinations of phrases. An abstract may then be formulated based at least in part on such an optimal path through such combinations of phrases. In one example, given a ranked list of sentences S and the corresponding hypothesized phrase sets P=<P1, P2, . . . , PN>, no more than one phrase pnm* may be selected from each phrase set Pncorresponding to the sentence snsuch that a utility function:

The exemplary utility function described above may rely on weights, such as illustrated by weights α, β, γ, and δ. These weights may be set manually. Alternatively, such weights may be established by minimizing a distance function between algorithm generated abstracts and other (possibly) human generated abstracts. For example, such methods capable of minimizing a distance function may include a linear function, Nelder-Mead method, simulated annealing, and/or the like. Likewise, such weights may be established by training against some editorial data that may indicate how good a given abstract may be for a given weight value. Such weights may, for example, be established by training against some user click metric gathered from the web.

In one example, the generation of an abstract may be performed based at least in part on information from a given query. As discussed above, sentence ranking and/or phrase selection may be based at least in part on information from a given query. Such formulation of abstracts may be performed dynamically so as to be responsive to a given query. For example, abstracts may be formulated at the time of the given query and may incorporate phrases that correspond closely with terms used in the given query. Such a dynamic formulation of abstracts may provide a user with an approximation of the gist of a given electronic document as well as provide a user with an approximation of how the electronic document is relevant to the given query.

Alternatively, abstracts may be pre-formulated. Such pre-formulated abstracts may be generated independent from a given query, such as without directly factoring in a given query. In such a case, sentence ranking and/or phrase selection may be determined without reference to information from a given query. In such a case, abstracts may be predetermined prior to a given search request. For example, abstracts may be formulated prior to the submission time of a given query and may incorporate phrases that correspond closely with the overall relevance of a given electronic document. Such pre-formulated abstracts may provide a user with an approximation of the gist of a given electronic document without burdening a search engine with abstract related calculations during a search in real time. Such predetermined abstracts may be less precise as a reflection of the relevance to a given query; however, increased computing power may be applied offline to improve the overall quality of such query-independent predetermined abstracts. Additionally, such predetermined abstracts may reduce processing load during a search and/or accelerate the return of a search result. Such predetermined abstracts may be stored in the metadata of a given electronic document and/or stored in an index (SeeFIG. 2) of a search engine.

Referring toFIG. 4, during a composition of abstracts from phrases, for each sentence sn(shown here as distributed along a horizontal axis) there may be a set of candidate phrases pnm(shown here as stacked along a vertical axis) that may be used in its place. For example, the candidate phrases406for second sentence (2) are shown as the stack of horizontal lines of different lengths. In one example, the task may be to select no more than one candidate phrase for each sentence such that the total utility is maximized (marked by the optimal path402in the figure.) In another example, more than one phrase per sentence may be selected such that the total utility is maximized.

The composition problem can be viewed as the problem of finding an optimal path in a trellis400. The algorithm itself may be a dynamic programming algorithm where at each step n along horizontal axis representing individual sentences404, one stores the maximum utility path that uses a specific phrase406(pnm,) and the utility value itself. Once the trellis values are computed for the final sentence N, the phrase associated with the maximum utility may be selected and the path402that gives the maximum utility may be found by backtracking.

The generation of an abstract may comprise processing the utility metric based at least in part on a Viterbi-like algorithm to select a sequence of phrases. Alternatively, other optimization techniques other than a Viterbi-like algorithm may be utilized to select a sequence of phrases for composing an abstract. One such algorithm for finding the optimal sequence of phrases that maximizes utility is illustrated as follows:

The exemplary algorithm above presents a Viterbi-like algorithm for selecting a sequence of phrases406for composing an abstract. The algorithm above is based at least in part on i) a given ranked sequence of sentences, ii) a given set of the candidate phrases associated with each sentence and the utility metric associated with each phrase, and iii) a given model for combining the utilities of a sequence of phrases.

In the operation of a Viterbi-like algorithm, at a first sentence one or more phrases may be scored according to a utility function. At a second sentence, one or more phrases may be scored in combination with the one or more phrases associated with the first sentence. This calculation may proceed to subsequent sentences to reach a last sentence N. Additionally, such a calculation may include scoring phrases associated with a current stage (n) in combination with the phrases associated with the immediately preceding stage (n−1). Alternatively, such a calculation may include scoring phrases associated with a current stage (n) in combination with the phrases associated with the immediately preceding stage (n−1) and/or in combination with the phrases associated with other preceding stage (n−k). Various calculated combinations between a first sentence and subsequent sentences, up to and including a last sentence N, may comprise a running summary value associated with the various calculated combinations. After reaching sentence N, a backtracking procedure may proceed from a last sentence N to a preceding sentence (illustrated here as a fourth sentence) to find the optimal path between a last sentence N and a first sentence.

Referring back toFIG. 3, at block312, a search result may be generated in response to a given query. Such a search result may, for example, include at least one search result summary (e.g., seeFIG. 1). Such a search result summary may include at least one type of information portion such as, for example, a title, an abstract, a link, an object, combinations thereof, and/or the like. Such search result may be transmitted to a user and/or displayed in a search result page.

FIG. 5is a block diagram illustrating an exemplary embodiment of a computing environment system500that may include one or more devices configurable to generate an abstract of an electronic document based at least in part on a utility metric associated with a group phrases as well as on a ranked order of sentences using one or more techniques illustrated above, for example. For example, computing environment system500may be configurable to tangibly embody all or a portion of procedure200ofFIG. 2and/or procedure300ofFIG. 3.

Computing environment system500may include, for example, a first device502, a second device504and a third device506, which may be operatively coupled together through a network508.

First device502, second device504and third device506, as shown inFIG. 5, are each representative of any device, appliance or machine that may be configurable to exchange data over network508. By way of example but not limitation, any of first device502, second device504, or third device506may include: one or more computing platforms or devices, such as, e.g., a desktop computer, a laptop computer, a workstation, a server device, storage units, or the like.

Network508, as shown inFIG. 5, is representative of one or more communication links, processes, and/or resources configurable to support the exchange of data between at least two of first device502, second device504and third device506. By way of example but not limitation, network508may include wireless and/or wired communication links, telephone or telecommunications systems, data buses or channels, optical fibers, terrestrial or satellite resources, local area networks, wide area networks, intranets, the Internet, routers or switches, and the like, or any combination thereof.

As illustrated, for example, by the dashed lined box illustrated as being partially obscured of third device506, there may be additional like devices operatively coupled to network508.

It is recognized that all or part of the various devices and networks shown in system500, and the processes and methods as further described herein, may be implemented using or otherwise include hardware, firmware, software, or any combination thereof.

Thus, by way of example but not limitation, second device504may include at least one processing unit520that is operatively coupled to a memory522through a bus523.

Processing unit520is representative of one or more circuits configurable to perform at least a portion of a data computing procedure or process. By way of example but not limitation, processing unit520may include one or more processors, controllers, microprocessors, microcontrollers, application specific integrated circuits, digital signal processors, programmable logic devices, field programmable gate arrays, and the like, or any combination thereof.

Memory522is representative of any data storage mechanism. Memory522may include, for example, a primary memory524and/or a secondary memory526. Primary memory524may include, for example, a random access memory, read only memory, etc. While illustrated in this example as being separate from processing unit520, it should be understood that all or part of primary memory524may be provided within or otherwise co-located/coupled with processing unit520.

Secondary memory526may include, for example, the same or similar type of memory as primary memory and/or one or more data storage devices or systems, such as, for example, a disk drive, an optical disc drive, a tape drive, a solid state memory drive, etc. In certain implementations, secondary memory526may be operatively receptive of, or otherwise configurable to couple to, a computer-readable medium528. Computer-readable medium528may include, for example, any medium that can carry and/or make accessible data, code and/or instructions for one or more of the devices in system500.

Second device504may include, for example, a communication interface530that provides for or otherwise supports the operative coupling of second device504to at least network508. By way of example but not limitation, communication interface530may include a network interface device or card, a modem, a router, a switch, a transceiver, and the like.

Second device504may include, for example, an input/output532. Input/output532is representative of one or more devices or features that may be configurable to accept or otherwise introduce human and/or machine inputs, and/or one or more devices or features that may be configurable to deliver or otherwise provide for human and/or machine outputs. By way of example but not limitation, input/output device532may include an operatively adapted display, speaker, keyboard, mouse, trackball, touch screen, data port, etc.

In one implementation, one or more abstracts may be generated via a computing platform. Such abstract generation may be performed via a computing platform that manipulates or transforms electronic signals employed to represent physical electronic or magnetic quantities, or other physical quantities, within the computing platform's memories, registers, or other information storage, transmission, or display devices. For example, a computing platform may be adapted to extract a group of two or more sets of phrases, represented within such a computing platform by digital electronic signals, from a set of two or more sentences associated with an electronic document. Such a computing platform may additionally be adapted to generate an abstract, represented within such a computing platform by digital electronic signals, of such an electronic document using at least one phrase from the group of two or more sets of phrases. For example, such an abstract may be generated based at least in part on a utility metric associated with such a group of two or more sets of phrases as well as on a ranked order of two or more sentences. Such a computing platform may transmit a search result, represented within by digital electronic signals, to a user based at least in part on such a generated abstract. It will be understood that such operations may be performed only on a single computing platform and/or on more than one computing platform.

The term “and/or” as referred to herein may mean “and”, it may mean “or”, it may mean “exclusive-or”, it may mean “one”, it may mean “some, but not all”, it may mean “neither”, and/or it may mean “both”, although the scope of claimed subject matter is not limited in this respect.