Christian Guckelsberger Merge branch 'master' of https://github.com/holtzermann17/serendipity  about 9 years ago

Commit id: af92fb106febb442a5ed4efabd58b52026721f13

deletions | additions      

       

%  The likelihood of serendipitous evolution is greatly enhanced by the use of mutation and crossover operations within the genetic algorithm, to increase the diversity of search space covered by the system during evolution. However the \textbf{chance} of any particular Improvisor being discovered is low, given the massive dimensions of the search space. Interesting developments in evolution would be guided by \textbf{curiosity} through the particular human user identifying Improvisors as interesting at that time. \textbf{Sagacity} is determined by how likely the user is to appreciate the same Improvisor's music (or similar music) over time, as tastes of the user may change. The \textbf{value} of the results are maximised through employing a fitness function.  Evolutionary systems such as GAmprovising necessarily operate in a \textbf{dynamic world} which is evolving continuously and may also be affected by changes in user tastes as they evaluate musical output from Improvisors. The \textbf{multiple contexts} arise from the possibility of having multiple users evaluate the musical output (though this is as yet not implemented formally) or through the user changing their preferences over time. \textbf{Multiple tasks} are carried out by the system including evolution of Improvisors, generation of music by individual Improvisors, capturing of user ratings of a sample of the Improvisors' output, and fitness calculations. \textbf{Multiple influences} are captured through the various combinations of parameters that could be set and the potential range of values for each parameter. Tbl. Table  \ref{caseStudies} summarizes how serendipity in such a system can be described in terms of our model. \paragraph{Recommender systems.}  

The imperfect knowledge about the user's preferences and interests represents a main component of \emph{chance}. Furthermore, chance can play an important role if a system had the capacity to learn from user behaviour. Combined with the ability to learn, \textbf{curiosity} could be described as the urge to make recommendations specifically for the purposes of finding out more about users, possibly to the detriment of other metrics over the short term. Measures of \textbf{sagacity} would relate to the system's ability to draw inferences from user behaviour. For example, the system might do A/B testing to decide how novel recommendation strategies influence conversion. The \textbf{value} of recommendation strategies can be measured in terms of traditional business metrics or other organisational objectives.  Recommender systems have to cope with a \textbf{dynamic world} of changing user preference ratings and new items in the system. At the same time, such a dynamic environment which nevertheless exhibits some regularity represents a precondition for useful A/B testing. As mentioned above the primary \textbf{(multiple) contexts} are the user model and the domain model. A system matching the description here would have \textbf{multiple tasks}: making useful recommendations, generating new experiments to learn about users, and building new models. Such a system could avail itself of \textbf{multiple influences} related to  experimental design, psychology, and domain understanding. Tbl. Table  \ref{caseStudies} summarizes how the components, dimensions and factors of our model could be mapped to recommender systems, in comparison to evolutionary music systems from computational creativity. % As a general comment, we would say that this is largely how  % \emph{research and development} of recommender systems works, but         

To van Andel's assertion that ``The very moment I can plan or  programme `serendipity' it cannot be called serendipity anymore,'' we  would reply that we can certainly describe patterns (and programs)  with built-in indeterminacy. As Figure \ref{fig:va-pattern-figure}  presents  an example, we exhibit showing how  one of van Andel's patterns of serendipity can be  rewritten as a design pattern using the template suggested by our model. model; in future work, we would aim to build a more  complete pattern language along similar lines, working toward a a  system with properties (1)-(4), above.  The example pattern describes a scenarion that is quite close to the  Pease et al.'s \citeyear{pease2013discussion} description of an online  system that gathers new modules over time, and for which,  periodically, new combinations of modules can yield new and  interesting results.  %  Developing experiments along these lines may help prepare the  groundwork for the more involved development projects discussed in the  current paper.  %  Patterns of serendipity, like the one above, offer useful heuristic  guidelines for human programmers and convey a sense of our long-term  plans for serendipitous computing systems.  \begin{figure}[t]  \begin{mdframed}  \vspace{-.35cm}  \paragraph{\textbf{Successful error}}~  \vskip -1\baselineskip  \begin{flushright}\emph{Van Andel's example} -- Post-it\texttrademark\ Notes 

terms of design patterns.  \end{description}  \end{mdframed}  \caption{Our design pattern template applied to van Andel's \emph{Successful error} pattern\label{fig:va-pattern-figure}}  \end{figure}  \bigskip  Although at first glance this may seem too high-level to be  computationally relevant, it is quite close to the example of an  online system that gathers new modules over time, and for which,  periodically, new combinations of modules can yield new and  interesting results -- already described in outline form in  \cite{pease2013discussion}.   %  Developing experiments along these lines may help prepare the  groundwork for the more involved designs discussed in the current  paper.  %  Patterns of serendipity, like the one above, will offer useful  heuristic guidelines for human programmers  and convey a sense of our long-term plans.  % Is ``having a stretch goal'' an example of a serendipity pattern? I think so!         

and what constitutes an acceptable comment. The ``feedback  explainer'' is closely connected with the ``comment generator'' and in  an implementation of this model they would presumably share a  codebase. %%  The loop for learning by asking questions as they arise is %%  reminiscent of the operating strategy of {\sf SHRDLU} %%  \cite{winograd1972understanding}. Importantly, one of the most relevant preparations would be prior  participation in Workshop dialogues. A system with prior experience 

\noindent \textbf{Bridge.}  Feedback on portions of the poem may lead the system to identify new  problems and possibly new \emph{types} of problems that it hadn't  considered before. %%  The most immediately feasible case is one in which %%  the critic is a programmer who can directly program new concepts into %%  the computer \cite{winograd1972understanding}. However, it would %%  be hard to call that ``serendipity.'' We can also ask whether This sort of system extension is quite typical when a human programmer  is involved. Hoever, here we are interested in the possibility of  agents can build building  new poetic  concepts \emph{without} outside intervention, starting with some basic concepts and abilities related to poetry (e.g.~definitions of words, valence of sentiments, metre, repetition, density, etc.) and code (e.g.~the data, functions, and macros in which the poetic concepts and workshop protocols are embodied). Some notable early experiments with concept invention have been fraught with questions about autonomy \cite{ritchie1984case,lenat1984and}. \citeA{colton2002automated}  presented a system that was convincingly autonomous -- the system autonomous: it  was able to generate interesting novel conjectures that surprised its author. However, \citeA{pease2013discussion} note that this system was not  convincingly serendipitous: ``we had to willingly make the system less  effective to encourage incidents onto which we might project the word serendipity.'' One cognitively inspired hypothesis that could describe the  serendipitous formation of new concepts is the notion that the 

critic have detected that feature in my poem?''  \paragraph{Likelihood scores and potential value.}  Given most statements in natural language are new, we We  can assume that most poems consumed by the system would never have been seen before, and the chance of observing a given serendipity trigger would be very small. While the likelihood of detecting an \emph{already-known} poetic feature (e.g.~rhyming, alliteration) in a given poem where it is present is presumably fairly high, we are particularly interested in the cases of where a \emph{novel} poetic feature can be discovered (e.g.~understanding Yeats's symbolic use of bird imagery), discovered,  and this would remainan infrequent occurrence, at least until the system as a  whole became very good at reading poems. Indeed,  a sophisticated  system would already have an extensive catalogue of poetic features,  and the chance of detecting a new and valuable feature might be low  for other reasons. relatively  infrequent occurrence.  The chance that a newly-observed feature will result in usable code seems relatively high, although this remains to be shown in practice. Presumably many novel poetic ideas would be seen as high-value at first, while only some of these ideas will prove to have  lasting value. Our likelihood score would be  $\mathit{low}\times\mathit{low}\times\mathit{high}$, or low overall,