Abstract:
The subject matter discloses a system and method for creating content in an evolutionary process derived from genetic algorithms imitating biological natural processes, and for creating new original effective content which is not based only on predefined rules.

Description:
FIELD OF THE INVENTION 
       [0001]    This invention relates to the field of automated media content creation. 
       BACKGROUND OF THE INVENTION 
       [0002]    There are several known systems that automatically generate audio and video content (hereunder media content) based on existing data, such as data feeds. The term data feed refers herein to an electronic file that includes data. Such data may be textual data, an image, a video and/or any other type of data. Content creation systems usually work using a pre-defined template and/or set of rules that determine how to create the content based on the data, along with random selection. The result is always limited to the structure of the template and to the pre-defined rules, and may vary only due to a random factor. 
       SUMMARY OF THE INVENTION 
       [0003]    The term computer device refers herein to a device that includes a processing unit. Examples for such device are a personal computer, a laptop, a server, a tablet a cellular device and IOT (internet of things) device. 
         [0004]    Embodiments of the disclosed subject matter provide a system and method for creating content in an evolutionary process derived from genetic algorithms imitating biological natural processes, and for creating new original effective content which is not based only on predefined rules. 
         [0005]    One exemplary embodiment of the disclosed subject matter is a system and a method for creating effective media content from another media content using genetic algorithms and evolutionary process. The term media content parent refers herein to media content that is used by the system to generate new media content. The term media content child refers herein to a variation of one or more parent media content that is created based on algorithms for creating media content in evolutionary manner. Such algorithms are derived from the behavior of genetic algorithms. One example of such genetic algorithm is cross over which is a genetic operator used to vary the programming of a chromosome or chromosomes from one generation to the next. Another example is mutation which is a genetic operator used to maintain genetic diversity from one generation of a population of genetic algorithm chromosomes to the next. In one example a media content child is created by activating a cross over algorithm on two media content parents wherein each media-content parent is a variation of other media content. Thus, a tree structure of generated media content may be created from one or more external media content that are provided to the system. The term external media content refers herein to media content that is inputted to the system from external resources such as photos database or video database or stock image databases, or music databases. 
         [0006]    In a certain embodiment, the evolution process of the media content may be performed until a certain objective is achieved. The method for measuring performance and for identifying to what level the objective has been reached is termed herein target function. Such target function can be, for example, measurement performance of the content. The performance may be determined by measuring interne activity as a result of broadcasting the media content. Such interne activity may be related to desirable actions of users who are exposed to the media content. Examples of such desirable actions are purchasing, clicking or rating or playing the media content. An optional process of natural selection (for example) can be activated, to select the more performing media content child and to improve the content over time by repeating the process. For example, the best performing children are used to create the new generations and so forth. 
         [0007]    According to some embodiments, the rate of the improvement of the generation based on the target function may affect system&#39;s decision regarding how to create a new lo media content child; for example which media content parents, algorithms and parameters to select. 
         [0008]    In a certain embodiment, one parent media content is sufficient to create a child media content. In a certain embodiment, two or more parent media content are required to create a child media content. In a certain embodiment an external media content may be used instead or in addition to other parents. 
         [0009]    In a certain embodiment, a set of randomized rules and/or pre defined rules may be pulled from a data source and used as additional parent content. 
         [0010]    In a certain embodiment, the system uses algorithms for creating media content in evolutionary manner that imitate biological processes for automatically create effective content to improve the performance of the media content over time in an evolutionary process over time. 
         [0011]    According to some embodiments a set of media content parent is created using content creations tools such as for example audio and video editors. Additional external media content may be used as parents as well. The algorithms for creating media content in evolutionary manner are activated on selected parents (one or more) to create one or more media content children. 
         [0012]    A pre-defined rules-base and or a random selection may be implemented to decide how to create the next generation of media content children. A pre-defined rules-base and or a random selection can be implemented to pull information from an external data source. When using the media content for advertising. Such information may include from example products, information about products, information about promotions, and more. 
         [0013]    In a certain embodiment, the algorithm for creating media content in evolutionary manner can be implemented using a software code that activates a video editing tool and uses existing media content parents as input. Using for example a pre-defined rule that extract the first half of parent video A, extract the second half of parent video B, and combines the two parts to create one child video. The children content can be benchmarked with a defined target function such as for example performance as a video advertising (for example by generating more sales). 
         [0014]    The next generation of media content can be created for example by selecting as media content parent media content of the highest rank and by re-activating the algorithms for creating media content in evolutionary manner on the selected media content parents. Few generations of media content can be pre created and media contents from different generations can be selected to create a new generation of media content. In some embodiments several algorithms and parameters may be used for generating media content children. Specific algorithms and parameters that create the more performing children according to the target function, and or that are resulting in quicker improvement of the objectives of the target function, may be promoted by the system to be used more frequently for the next generation. For example, in one of the embodiments, parametric change may be applied on one or more of the parents that are utilized to create a child. The system can measure the rate of improvement when shifting to a certain parameter, comparing to shifting to other parameters, and accelerate shifts to parameters with higher improvement rate. For example, in the video domain, one of the selected methods to create new children may be changing the background color of a single parent video every time in one shift over the color scheme. If within a few shifts it is measured that such a change yields quicker increase in the performance of the children according to the target function and comparing to other methods, then this method is promoted and its presence is increased in the mix of methods to create new generations. Older generation can still be selected by the system as parents to create new generation, along with newer generations. 
         [0015]    Specifically in the video domain, methods for creating new generations can be, for example, combining first X seconds from parent video 1 with Y last seconds from parent video 2. Another example can be using layers 1-X from parent video 1 with layers Z-Y from parent video 2. The mutation algorithm may change one or more properties of one or more media content and/or may combine media contents or mutated media contents. Mutations algorithms can be used, such as for example activating a color filter on the entire or part of parent video 1, and then combine it (or not) with parent video 2. One other example is replacing a certain part of the video with a random (or other selection way) part of another parent video. Harmony algorithms may be used to keep smooth flow of the child video. Parents from different type may be used as source for the algorithms for creating media content in evolutionary manner. For example, an audio parent can be combined with a video parent to create a new children video. 
     
    
     
       THE BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0016]    The present disclosed subject matter will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which corresponding or like numerals or characters indicate corresponding or like components. Unless indicated otherwise, the drawings provide exemplary embodiments or aspects of the disclosure and do not limit the scope of the disclosure. In the drawings: 
           [0017]      FIG. 1  shows a block diagram of a system for generating media content in evolutionary manner, in accordance with some exemplary embodiments of the disclosed subject matter; 
           [0018]      FIG. 2  shows a flowchart diagram of a method for generating a variation of media content, in accordance with some exemplary embodiments of the disclosed subject matter; 
           [0019]      FIG. 3  shows a flowchart diagram of a method fir generating media content in evolutionary manner, in accordance with some exemplary embodiments of the disclosed subject matter; and 
           [0020]      FIG. 4  shows an exemplary evolutionary scenario of creating media content, in accordance with some exemplary embodiments of the disclosed subject matter. 
       
    
    
     DETAILED DESCRIPTION 
       [0021]      FIG. 1  shows a block diagram of a system for generating media content in evolutionary manner, in accordance with some exemplary embodiments of the disclosed subject matter. 
         [0022]    System  100  includes data repository  101  and a server  102 . 
         [0023]    The server  102  is configured for generating media content in evolutionary manner The server  102  may generate new media content by a variation of existing media content and/or by combining portions from a plurality of media content. The variation and the combining may be performed according to rules and/or randomly. 
         [0024]    The server may evaluate the performance of the generated media content and may repeat the process with the highest ranked media content until achieving the desired performance. 
         [0025]    The server  102  may include a media content generation process  1021  and a media content evolution process  1022 . 
         [0026]    The media content generation process  1021  is configured for generating media content in evolutionary manner. The media content generation process  1021  may generate new media content by a variation of existing media content and/or by combining portions from a plurality of variation of media content and external media content  104 . The variation and the combining may be performed according to rules or randomly. The variation may include changing the background color of a single parent video every time in one shift over the color scheme. The combination process may combine portions of a plurality of media contents. 
         [0027]    The data repository  101  is configured for storing data related to the process of generating media content in evolutionary manner. 
         [0028]    The media content evolution process  1022  is configured selecting the next generation of the media content according to the target function  1023 . The selecting may be done according to performance of the content. The performance may be determined by identifying desirable actions of users who are exposed to the media content. Examples of such desirable actions are purchasing, clicking or rating. An optional process of natural selection (for example) can be activated, to select the more performing media content child and to improve the content over time by repeating the process. For example, the best performing children are used to create the new generations and so forth. 
         [0029]    According to some embodiments, the rate of the improvement of the generation based on the target function may affect system&#39;s decision regarding how to create a new media content child; for example which media content parents, algorithms and parameters to select. 
         [0030]    The data repository  101  includes rules  1011 , data freed  1012  and media content  1013 . 
         [0031]    The rules  1011  may include parameters that are used for generating a media content child from one or more media content parents. Examples of such rules are choosing a first 5 seconds of a first media content and last five second from second media content. Another rule may be changing background color of a video. Another rule may be changing fonts. The rules may also include applying data feed  1012  on media content. 
         [0032]    The data feed  1012  may include textual data, an image, a video and/or any other type of data which may be used for generating new media content. 
         [0033]    The media content  1013  may include all the generations of the media content that are generated by the system. The media content  1013  may be structured as a tree in which the leaves include the most recent media content. 
         [0034]      FIG. 2  shows a flowchart diagram of a method for generating a variation of media content, in accordance with some exemplary embodiments of the disclosed subject matter. 
         [0035]    At block  201 , the mutation parameters are received. Examples of such mutation parameters are which color filter to use, which media content (voice text etc) to combine, which time frame to select in each media content etc. 
         [0036]    At block  205 , the script for implementing the mutation parameters is generated. In some embodiment the script is a Java script that may be generated from pre-defined rules. 
         [0037]    At block  210 , the data feed is received. Such data may be textual data, an image, a video and/or any other type of data. 
         [0038]    At block  215 , the data feed and the script are applied on the one or more video templates. 
         [0039]    At block  220 , a video is created from the video template by using video editors. 
         [0040]      FIG. 3  shows a flowchart diagram of a method for implementing the evolution process, in accordance with some exemplary embodiments of the disclosed subject matter. The implementing may be performed by machine learning algorithms. The method which may be passed on machine learning analyses the video success rate and generates a new generation of video based on the analysis. 
         [0041]    At block  300  media content from previous generations is selected. The media content may also be selected from external resources. 
         [0042]    At block  305  variations are generated from one or more media content. For example, a variation of a video may include a specific font for the text that is displayed on the video. The method for generating the variation is explained in greater detail in  FIG. 2 . The variations of the video content may be saved in a data repository. The variations of the video content may he broadcasted. 
         [0043]    At block  310 , the target function is applied on the variations. The target function may measure the rating of the broadcasted variation of video content, the ratio of the exposure of the video content to the purchasing of the video content and etc. The target function may select the most performing video content according to results of the measuring. For example the highest ranked video of a variation of font is selected from a series of variation of font of text on a specific video content. In another example the highest ranked video of a variation of the background color is selected from a series of variation of background color on a specific video content. 
         [0044]    At block  315  the next generation is generated from a combination of selected variations. For example the selected variation of a series of changing font of text of a specific video is combined with the selected variation from a series of changing background color of the specific video. In some embodiment a tree structure that represents the evolution of the video content is updated. The next generation media content may be broadcasted. 
         [0045]    At block  325  the target function is applied on the next generation media content for measuring an objective. Such objective may be ratio of playing the video content, ratio of performing an internet activity as a result of playing the video content and etc. 
         [0046]    If the target function determines that the objective has been reached then at block  330  the process terminates, otherwise the process is resumed to block  300 . 
         [0047]      FIG. 4  shows an exemplary evolutionary scenario of creating media content, in accordance with some exemplary embodiments of the disclosed subject matter. 
         [0048]    Group  409  includes variations  402  and  403  and  404  of the color of the text of media content  401 . Group  410  includes variations  405 ,  406  and  407  of the background of media content  401 . The color of the text 5% of  402  is green. The color of the text 5% of  403  is blue. The color of the text 5% of  404  is purple. The variation  403  is the most performing variation of group  409  and the variation  407  is the most performing of group  410 . The system combines variation  403  with variation  407  such that the color of the text 5% of the combines video  408  is blue while the background of the combines video  408  is the same as the background of the variation  407 . The combined video  408  is the next generation. 
         [0049]    The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. 
         [0050]    It should be noted that, in some alternative implementations, the functions noted in the block of a figure may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.