Disclosure of Invention
The invention aims to provide a method and a device for searching small videos, which can realize matching search of the small videos.
The present disclosure provides a method and an apparatus for searching a small video, which are implemented as follows:
a small video search method, the method comprising:
acquiring a search word input by a user;
matching the search words with the label words of all the small videos in the small video library;
and taking the small video matched with the label words and the search words as a search result.
In one embodiment, the above further includes:
receiving the uploaded small videos;
extracting tag words for the uploaded small videos;
and storing the uploaded small videos and the label words extracted for the uploaded small videos into the small video library in a correlated manner.
In one embodiment, extracting taglines for the uploaded small videos includes at least one of:
extracting entity words from the title content of the uploaded small videos, and taking the extracted entity words as extracted tag words for the uploaded small videos;
performing image recognition on the uploaded small videos, and taking recognized content words as extracted tag words for the uploaded small videos;
and acquiring attribute characteristic information of the uploaded small videos, and taking the attribute characteristic information as extracted tag words for the uploaded small videos.
In one embodiment, the attribute feature information includes at least one of: the user name of the user uploading the small video, the uploading place, the background music adopted by the small video and the keywords in the comment content of the comment area of the small video.
In one embodiment, each small video in the small video library is associated with a tag word group, and matching with a tag word of each small video in the small video library through the search word includes:
matching the search words with each label word in the label word group of each small video in the small video library one by one;
and under the condition that one tag word in the tag word group is matched with the search word, determining that the small video is matched with the search word.
In one embodiment, after the small video matching the tag word with the search word is used as the search result, the method further comprises:
taking a plurality of small videos in the search result as target small videos;
determining the score of each small video in the target small video;
determining the display sequence of each small video in the target small video;
and displaying the target small videos according to the determined display sequence.
In one embodiment, determining the score of each of the target small videos comprises:
obtaining values of each small video in the target small video in multiple dimensions;
and according to the weight of each dimension, carrying out weighted summation on the values of each small video in each dimension to obtain the score of each small video.
In one embodiment, the plurality of dimensions includes at least one of: a relevance dimension, a quality dimension, a timeliness dimension, an authority dimension, and an experience dimension.
The present disclosure also provides a small video searching apparatus, including:
the acquisition module is used for acquiring search terms input by a user;
the matching module is used for matching the search terms with the label terms of each small video in the small video library;
and the determining module is used for taking the small videos of the label words and the search words as search results.
In one embodiment, the above apparatus further comprises:
the receiving module is used for receiving the uploaded small videos;
the extraction module is used for extracting tag words for the uploaded small videos;
and the storage module is used for storing the uploaded small videos and the label words extracted for the uploaded small videos into the small video library in a correlation manner.
In one embodiment, the extraction module is specifically configured to extract the tag words for the uploaded small videos by at least one of the following methods:
extracting entity words from the title content of the uploaded small videos, and taking the extracted entity words as extracted tag words for the uploaded small videos;
performing image recognition on the uploaded small videos, and taking recognized content words as extracted tag words for the uploaded small videos;
and acquiring attribute characteristic information of the uploaded small videos, and taking the attribute characteristic information as extracted tag words for the uploaded small videos.
In one embodiment, the attribute feature information includes at least one of: the user name of the user uploading the small video, the uploading place, the background music adopted by the small video and the keywords in the comment content of the comment area of the small video.
In one embodiment, each small video in the small video library is associated with a tag word group, and correspondingly, the matching module is specifically configured to match each tag word in the tag word groups of each small video in the small video library one by one through the search word; and under the condition that one tag word in the tag word group is matched with the search word, determining that the small video is matched with the search word.
In one embodiment, the display device further comprises a display module for
Taking a plurality of small videos in the search result as target small videos;
determining the score of each small video in the target small video;
determining the display sequence of each small video in the target small video;
and displaying the target small videos according to the determined display sequence.
In one embodiment, the display module is further configured to obtain values of each of the small videos in the target small video in multiple dimensions;
and according to the weight of each dimension, carrying out weighted summation on the values of each small video in each dimension to obtain the score of each small video.
In one embodiment, the plurality of dimensions includes at least one of: a relevance dimension, a quality dimension, a timeliness dimension, an authority dimension, and an experience dimension.
The present disclosure also provides a terminal device, including a processor and a memory for storing processor-executable instructions, where the processor executes the instructions to implement the following steps of the method:
acquiring a search word input by a user;
matching the search words with the label words of all the small videos in the small video library;
and taking the small video matched with the label words and the search words as a search result.
The present disclosure also provides a computer readable storage medium having stored thereon computer instructions which, when executed, implement the steps of the method of:
acquiring a search word input by a user;
matching the search words with the label words of all the small videos in the small video library;
and taking the small video matched with the label words and the search words as a search result.
According to the small video searching method and device, the label words are set for each small video in the small video library, so that small video information can be converted into texts, a user can input the search words to search the small videos which are expected to be checked, the technical problems that the user experience is not high and the efficiency of small video playing is not high due to the fact that the user can only see the small videos recommended by a system due to the fact that the existing small video searching cannot be carried out are solved through the scheme, and the technical effects that the user experience is improved and the small video playing conversion rate is improved are achieved.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure, and it is obvious that the described embodiments are only a part of the embodiments of the present disclosure, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments disclosed herein without making any creative effort, shall fall within the protection scope of the present disclosure.
In consideration of the existing small video platform, the platform generally recommends the small video to be browsed to the user, and the user does not have the possibility of searching, so that the user cannot effectively select the small video desired to be watched according to the preference of the user. For this reason, it is considered that if a tab word can be set for a small video and a search entry is set for a platform application, a user can input a search word to complete a search for the small video, thereby fulfilling the demand of preference-based small video browsing.
Based on this, a small video searching method is provided in this example, and fig. 1 is a method flowchart of an embodiment of the small video searching method of the present disclosure. Although the present disclosure provides method operational steps or apparatus structures as shown in the following examples or figures, more or fewer operational steps or modular units may be included in the method or apparatus based on conventional or non-inventive efforts. In the case of steps or structures where no causal relationship is logically necessary, the execution order of the steps or the block structure of the apparatus is not limited to the execution order or the block structure described in the embodiments of the present disclosure and shown in the drawings. When the described method or module structure is applied in an actual device or end product, the method or module structure according to the embodiments or shown in the drawings can be executed sequentially or executed in parallel (for example, in a parallel processor or multi-thread processing environment, or even in a distributed processing environment).
As shown in fig. 1, a small video search method provided by an embodiment of the present disclosure may include the following steps:
step 101: acquiring a search word input by a user;
for example, a search entry may be set on the small video platform, and a user may input a search term through the search entry, and then the platform obtains the search term input by the user, so as to implement search matching of small videos in the platform, so that the user may search for small videos by inputting the search term, and improve user experience.
Step 102: matching the search words with the label words of all the small videos in the small video library;
the small video library can exist in the database corresponding to the application, the small videos in the platform are stored in the small video library, the small video library can be matched after the search words are obtained, the label words can be set for all the small videos, and the small videos which are expected to be displayed can be searched in a mode of matching the search words with the label words.
Step 103: and taking the small video matched with the label words and the search words as a search result.
The technical problems that the user experience is not high and the effective rate of playing the small videos is not high due to the fact that the existing small videos which cannot be searched and can only be recommended by a system are looked at are solved through the scheme, and the technical effects that the user experience is improved and the small video playing conversion rate is improved are achieved.
The establishment of the small video library can be established as follows:
s1: receiving the uploaded small videos;
s2: extracting tag words for the uploaded small videos;
s3: and storing the uploaded small videos and the label words extracted for the uploaded small videos into the small video library in a correlated manner.
That is, the user of the platform may upload his/her own small video, for example, his/her food video, wearing video, travel video, etc., and these video contents are all in the form of small videos, so-called small videos are videos that have a relatively short duration and are displayed within a certain duration range. When the user has the videos, the videos can be uploaded through the platform or can be uploaded after being manufactured through the platform.
After a user uploads a small video is detected, the tag words of the uploaded small video can be extracted, the tag words can represent some characteristics of the small video, namely, the uploaded small video information is subjected to text conversion, the tag words formed after the text conversion are used as the tag words of the uploaded small video, and then the tag words and the small video can be stored in a small video library in an associated mode.
To implement multi-dimensional tagword extraction to text small videos from multiple dimensions, extracting tagwords for uploaded small videos may include, but is not limited to, at least one of:
1) extracting entity words from the title content of the uploaded small videos, and taking the extracted entity words as extracted tag words for the uploaded small videos;
2) performing image recognition on the uploaded small videos, and taking recognized content words as extracted tag words for the uploaded small videos;
3) acquiring attribute feature information of the uploaded small videos, and taking the attribute feature information as a tag word extracted from the uploaded small videos, wherein the attribute feature information may include but is not limited to at least one of the following: the user name of the user uploading the small video, the uploading place, the background music adopted by the small video and the keywords in the comment content of the comment area of the small video.
It is to be noted, however, that the above listed dimensions of the small video tags are only an exemplary description, and that keywords may also be extracted from other dimensions when actually implemented, such as: duration of small videos, etc. Specifically, which dimensions are adopted can be set according to actual needs and conditions, and label words can be set for the small videos in as many dimensions as possible, so that the small videos are textual in as many dimensions as possible.
For each small video, the corresponding tag words may be multiple, that is, multiple-dimension tag words, when performing small video matching, the tag words of one small video may be matched one by one, and once one tag word is matched, it may be determined that the small video is the small video matched with the search word. That is, each small video in the small video library is associated with a tag word group, and correspondingly, matching the search word with the tag word of each small video in the small video library may include: matching the search words with each label word in the label word group of each small video in the small video library one by one; and under the condition that one tag word in the tag word group is matched with the search word, determining that the small video is matched with the search word.
After the search result is matched, the search result needs to be displayed, the display of the search result is performed, in order to improve the display effect, the display order of each small video in the search result can be effectively sorted, specifically, the display order of each small video in the search result can be determined in a scoring mode, for example, after the small video matched with the tag word and the search word is used as the search result, a plurality of small videos in the search result can be used as target small videos; determining the score of each small video in the target small video; determining the display sequence of each small video in the target small video according to the sequence of the scores from high to low; and displaying the target small videos according to the determined display sequence.
For example, five small videos in the search result: small video 1, small video 2, small video 3, small video 4, and small video 5. After scoring, the score of the small video 1 is determined to be 6.5, the score of the small video 2 is determined to be 7, the score of the small video 3 is determined to be 6, the score of the small video 4 is determined to be 8, and the score of the small video 5 is determined to be 7.2, then the finally determined display order is: small video 4, small video 5, small video 2, small video 1, small video 3. That is, the display order may be determined in the order of scores from high to low, with higher scores displayed at earlier positions.
In consideration of practical implementation, the determination of the display order is obviously not suitable if the display order is determined in only one dimension (for example, a relevance dimension), and in practical cases, parameters such as definition can also be used as factors influencing result evaluation, so that multiple dimensions can be set, and the comprehensive scores of the multiple dimensions can be used as scores of all small videos in the search result.
Specifically, determining the score of each small video in the target small video may include: obtaining values of each small video in the target small video in multiple dimensions; and according to the weight of each dimension, carrying out weighted summation on the values of each small video in each dimension to obtain the score of each small video. Wherein the plurality of dimensions may include, but are not limited to, at least one of: a relevance dimension, a quality dimension, a timeliness dimension, an authority dimension, and an experience dimension.
Wherein the relevance dimension considers the relevance between the label words of the small videos and the user input; the quality dimension considers the video quality of small videos (such as definition, sound and picture synchronization, whether a watermark exists or not, and the like); the timeliness dimension considers timeliness of user search terms and results, and can be determined through user search frequency, resource level, manual screening and the like; the authority dimension considers the number of times the small video is referred to, the time length and the like; experience dimensionality concerns the playing of small videos, such as: whether the page can be adaptively adjusted, and the like. By adopting the multi-dimensional mode to determine the display sequence of the search results, the search display effect can be effectively improved.
The above method is described below with reference to a specific embodiment, however, it should be noted that the specific embodiment is only for better illustrating the present disclosure and should not be construed as limiting the present disclosure.
In this example, a search entry is set in the small video interface, based on the search entry, the user can input a search word, and then match with the label words of each small video based on the search word, so as to present a matching result for the user, and the large probability of the matched small video contents is the small video contents that the user wants to see, so that the user experience can be effectively improved.
Therefore, the corresponding relation between the small video content and the label words is mainly needed to be established, namely the label words are extracted from the small video content, so that the correspondence between the final search words and the label words and the association between the label words and the small video content can be realized.
Specifically, the tag words can be established for the small videos as follows:
1) and determining the label words of the small videos through the title contents of the small videos.
Considering that each small video generally has a title, the title content can be used as a label word of the small video, for example: when the user uploads the small video, a title is set for the small video uploaded by the user, and the sow is in a tree state, so that: sows, sows-trees, etc. as the label words for the small video content. If the searcher searches for sows, or trees on sows, the video can be matched.
2) The place where the video is uploaded, the user name of the uploading user, the music used by the small video, the keywords in the comment content of the comment area and the like can be used as the label words of the small video.
3) And carrying out image recognition on the specific video content of the small video, and taking the recognized result as a label word.
However, in actual implementation, the setting and selecting manner of the label words may be selected according to actual needs, which is not limited in this disclosure and may be determined in various manners.
The above-mentioned tag words may have multiple words, that is, a group of tag words may be set for the small video content according to different dimensions, for example, the tag words may be set based on a title, the tag words may be set based on a publishing user, the tag words may be set based on a publishing place, and the tag words may be set based on the identified video content. In this way, each small video content may correspond to a set of tagged words.
When small video matching is performed, a weight value can be set for each dimension, that is, a weight value is set for each word in a tag word group, or it can be determined that the small video content is matched with a search word as long as a certain word in the tag word group is hit.
In the above example, by setting the tag words for the small videos, the problem that the existing small videos are small in text information and difficult to search for the small video content based on search matching can be solved, the small video information is textual from multiple dimensions as much as possible based on the setting of the tag words for the small videos, and then the high-efficiency small video search matching can be realized by using the tag words as matching objects of the search words.
Based on the same inventive concept, the embodiment of the present invention further provides a small video search apparatus, as described in the following embodiments. Because the principle of solving the problem of the small video searching device is similar to that of the small video searching method, the implementation of the small video searching device can refer to the implementation of the small video searching method, and repeated parts are not described again. As used hereinafter, the term "unit" or "module" may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated. Fig. 2 is a block diagram of a small video search apparatus according to an embodiment of the present invention, and as shown in fig. 2, the small video search apparatus may include: an acquisition module 201, a matching module 202 and a determination module 203, the structure of which is explained below.
An obtaining module 201, configured to obtain a search term input by a user;
the matching module 202 is configured to match the search term with a tag term of each small video in the small video library;
and the determining module 203 is used for matching the tag words with the small videos of the search words as search results.
In one embodiment, the apparatus may further include: the receiving module is used for receiving the uploaded small videos; the extraction module is used for extracting tag words for the uploaded small videos; and the storage module is used for storing the uploaded small videos and the label words extracted for the uploaded small videos into the small video library in a correlation manner.
In an embodiment, the extracting module may be specifically configured to extract the tag words for the uploaded small videos by, but not limited to, at least one of the following methods:
1) extracting entity words from the title content of the uploaded small videos, and taking the extracted entity words as extracted tag words for the uploaded small videos;
2) performing image recognition on the uploaded small videos, and taking recognized content words as extracted tag words for the uploaded small videos;
3) acquiring attribute feature information of the uploaded small videos, and taking the attribute feature information as a tag word extracted from the uploaded small videos, wherein the attribute feature information may include but is not limited to at least one of the following: the user name of the user uploading the small video, the uploading place, the background music adopted by the small video and the keywords in the comment content of the comment area of the small video.
In one embodiment, each small video in the small video library is associated with a tag word group, and correspondingly, the matching module 202 may be specifically configured to match each tag word in the tag word group of each small video in the small video library one by one through the search word; and under the condition that one tag word in the tag word group is matched with the search word, determining that the small video is matched with the search word.
In one embodiment, the small video search device may further include: the display module is used for taking a plurality of small videos in the search result as target small videos after the small videos of the label words and the search words are matched as the search result; determining the score of each small video in the target small video; determining the display sequence of each small video in the target small video according to the sequence of the scores from high to low; and displaying the target small videos according to the determined display sequence.
Specifically, determining the score of each small video in the target small video may be: obtaining values of each small video in the target small video in multiple dimensions; and according to the weight of each dimension, carrying out weighted summation on the values of each small video in each dimension to obtain the score of each small video.
Wherein, the above-mentioned multiple dimensions may include but are not limited to at least one of the following: a relevance dimension, a quality dimension, a timeliness dimension, an authority dimension, and an experience dimension.
The embodiment of the present disclosure further provides a specific implementation manner of an electronic device, which is capable of implementing all steps in the small video search method in the foregoing embodiment, where the electronic device specifically includes the following contents: a processor (processor), a memory (memory), a communication Interface (Communications Interface), and a bus;
the processor, the memory and the communication interface complete mutual communication through the bus; the processor is configured to call a computer program in the memory, and when the processor executes the computer program, the processor implements all the steps in the small video search method in the foregoing embodiment, for example, when the processor executes the computer program, the processor implements the following steps:
step 1: acquiring a search word input by a user;
step 2: matching the search words with the label words of all the small videos in the small video library;
and step 3: and taking the small video matched with the label words and the search words as a search result.
According to the above description, the tag words are set for each small video in the small video library, so that the small video information can be converted into texts, and the user can input the search words to search the small video desired to be viewed.
Embodiments of the present disclosure also provide a computer-readable storage medium capable of implementing all steps in the small video search method in the foregoing embodiments, where the computer-readable storage medium stores thereon a computer program, and when the computer program is executed by a processor, the computer program implements all steps of the small video search method in the foregoing embodiments, for example, when the processor executes the computer program, the processor implements the following steps:
step 1: acquiring a search word input by a user;
step 2: matching the search words with the label words of all the small videos in the small video library;
and step 3: and taking the small video matched with the label words and the search words as a search result.
According to the above description, the tag words are set for each small video in the small video library, so that the small video information can be converted into texts, and the user can input the search words to search the small video desired to be viewed.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the hardware + program class embodiment, since it is substantially similar to the method embodiment, the description is simple, and the relevant points can be referred to the partial description of the method embodiment.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
Although the present disclosure provides method steps as described in an embodiment or flowchart, more or fewer steps may be included based on conventional or non-inventive labor. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When an actual apparatus or client product executes, it may execute sequentially or in parallel (e.g., in the context of parallel processors or multi-threaded processing) according to the embodiments or methods shown in the figures.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, in implementing the embodiments of the present description, the functions of each module may be implemented in one or more software and/or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units, and the like. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may therefore be considered as a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
The embodiments of this specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The described embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The above description is only an example of the embodiments of the present disclosure, and is not intended to limit the embodiments of the present disclosure. Various modifications and variations to the embodiments described herein will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the embodiments of the present specification should be included in the scope of the claims of the embodiments of the present specification.