AI Data Jobs

AI Data Jobs — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Mojito (framework)

    Mojito (framework)

    Mojito is an environment agnostic, Model-View-Controller (MVC) web application framework. It was designed by Yahoo. == Features == Mojito supports agile development of web applications. Mojito has built-in support for unit testing, Internationalization, syntax and coding convention checks. Both server and client components are written in JavaScript. Mojito allows developers designing web applications to leverage the utilities of both configuration and MVC framework. Mojito is capable of running on both JavaScript-enabled web browsers and servers using Node.js because they both utilize JavaScript. Mojito applications mainly consist of two components: JSON Configuration files: these define relationships between code components, assets, routing paths, and framework defaults and are available at the application and mojit level. Directories: these reflect MVC architecture and are used to separate resources such as assets, libraries, middleware, etc. == Architecture == In Mojito, both server and "client" side scripting is done in JavaScript, allowing it to run on both client and server thereby breaking the "front-end back-end barrier." It has both client and server runtimes. === Server runtime === This block houses operations needed by server side components. Services include: Routing rules, HTTP Server, config loader and disk-based loader. === Client runtime === This block houses operations called upon while running client sides components. Services include local storage/cache access and JSON based /URL based loader === Core === Core function can be accessed on client or server. Services include Registry, Dispatcher, Front controller, Resource store. === Container === mojit object comes into the picture. This container also include the services used by mojits. API and Mojito services are the blocks which caters to services needed for execution of mojits. === API (Action Context) === Mojito services are a customizable service block. It offers mojits a range of services which might be needed by mojit to carry out certain actions. These services can be availed at both client and server side. Reusable services can be created and aggregated to the core here. == Mojits == Mojits are the modules of a Mojito application. An application consists of one or more mojits. A mojit encompasses a Model, Views and a Controller defined by JSON configuration files. It includes a View factory where views are created according to the model and a View cache that holds frequently requested views to aid performance. === Application Architecture === A Mojito application is a set of mojits facilitated by configurable JSON files which define the code for model, view and controller. This MVC structure works with API block and Mojito services, and can be deployed at both client and server side. While the application is deployed at client side, it can call server-side modules using binders. Binders are mojit codes that let mojits request services from each other. Mojit Proxy acts as an intermediary between binders and mojit's API (application context) block and other mojits. Controllers are command-issuing units of mojits. Models mirror the core logic and hold data. Applications can have multiple models. They can be centrally accessed from controllers. View files are created in accordance with controllers and models, and are marked-up before they are sent to users as output. === Application Directory Structure === Directory structure of a Mojito application with one mojit: [mojito_app]/ |-- application.json |-- assets/ | `-- favicon.icon |-- yui_modules/ | `-- .{affinity}.js |-- index.js |-- mojits/ | `-- [mojit_name | |-- assets/ | |-- yui_modules/ | | `-- .{affinity}.js | |-- binders/ | | `-- {view_name}.js | |-- controller.{affinity}.js | |-- defaults.json | |-- definition.json | |-- lang/ | | `-- {mojit_name}_{lang}.js | |-- models/ | | `-- {model_name}.{affinity}.js | |-- tests/ | | |-- yui_modules/ | | | `-- {module_name}.{affinity}-tests.js | | |-- controller.{affinity}-tests.js | | `-- models/ | | `-- {model_name}.{affinity}-tests.js | `-- views/ | |-- {view_name}.{view_engine}.html | `-- {view_name}.{device}.{view_engine}.html |-- package.json |-- routes.json (deprecated) |-- server.js == Model, View and Controller == The Model hosts data, which is accessed by the Controller and presented to the View. Controller also handles any client requests for data, in which case controller fetches data from the model and passes the data to the client. All three components are clustered in the mojit. Mojits are physically illustrated by directory structures and an application can have multiple mojits. Every mojit can have one controller, one or more views and zero or more models. === Model === The model it represents the application data and is independent of view or controller. Model contains code to manipulate the data. They are found in the models directory of each mojit. Functions include: Storing information for access by controller. Validation and error handling. Metadata required by the view === Controller === The controller acts like a connecting agent between model and view. It supplies input to Model and after fetching data from model, passes it to View. Functions include Redirection Monitors authentication Web safety Encoding === View === The view acts as a presentation filter by highlighting some model attributes and suppressing others. A view can be understood as a visual permutation of the model. The view renders data received from controller and displays it to the end user.

    Read more →
  • András Kornai

    András Kornai

    András Kornai (born 1957 in Budapest) is a mathematical linguist. == Education == Kornai is the son of economist János Kornai. He earned two PhDs with the first being in mathematics in 1983 from Eötvös Loránd University in Budapest, where his advisor was Miklós Ajtai. His second was in linguistics in 1991 from Stanford University, where his advisor was Paul Kiparsky. == Career == He is a professor in the Department of Algebra at the Budapest Institute of Technology, where he works on an open source Hungarian morphological analyzer. He was Chief Scientist at MetaCarta, where he worked on information extraction before the company was acquired by Nokia. Prior to MetaCarta, he was Chief Scientist at Northern Light. He is on the board of the journal Grammars and YourAmigo PLC. His research interests include all mathematical aspects of natural language processing, speech recognition, and OCR. As area editor he was responsible for the Mathematical Linguistics area of the Oxford International Encyclopedia of Linguistics, and his joint work with Geoffrey Pullum, "The X-bar Theory of Phrase Structure", formally reconstructed that then-popular linguistic theory. == Awards and honors == 2009: ACM Distinguished Member == Monographs == Semantics. Springer Nature, 2020. ISBN 978-3-319-65644-1 Mathematical Linguistics. Springer Verlag, in the series Advanced Information and Knowledge Processing, November 2007. ISBN 978-1-84628-985-9 Hardbound, approximately 300 pages. See description. Formal Phonology. In the series Outstanding Dissertations in Linguistics, Garland Publishing, 1994, ISBN 0-8153-1730-1, hardbound, 240 pages Contents, Preface, Introduction (20 pages) On Hungarian Morphology. In the series Linguistica, Hungarian Academy of Sciences, 1994, ISBN 963-8461-73-X, paperbound, 174 pages Contents, Preface, Introduction (10 pages) == Books edited == Oxford International Encyclopedia of Linguistics (Mathematical Linguistics Area Editor under Editor in Chief William Frawley). 4 volumes, Oxford University Press, 2003, ISBN 978-0-19-513977-8. Proceedings of the HLT-NAACL Workshop on the Analysis of Geographic References. Jointly with Beth Sundheim. Association for Computational Linguistics, 2003, ISBN 1-932432-04-3 (WS9), paperbound, vi+81 pages. See related material. Extended Finite State Models of Language (editor). In the series Studies in Natural Language Processing, Cambridge University Press, 1999, ISBN 0-521-63198-X, hardbound, x+278 pages Contents, Introduction (7 pages). == Selected papers == Digital Language Death. PLoS ONE 8(10): e77056, 2012. [1] Hunmorph: open source word analysis (Jointly with V. Tron, Gy. Gyepesi, P. Halacsy, L. Nemeth, and D. Varga). In Proc. ACL 2005 Software Workshop 77-85 [2] Leveraging the open source ispell codebase for minority language analysis (Jointly with P. Halacsy, L. Nemeth, A. Rung, I. Szakadat, and V. Tron). In J. Carson-Berndsen (ed): Proc. SALTMIL 2004 56-59 [3] Explicit Finitism, International Journal of Theoretical Physics 2003/2 301-307 [4] Mathematical Linguistics (Jointly with G.K. Pullum) In W. Frawley (ed): Oxford International Encyclopedia of Linguistics, Oxford University Press 2003, v3 17-20 [5] Optical Character Recognition, In W. Frawley (ed): Oxford International Encyclopedia of Linguistics, Oxford University Press 2003, v3 33-34 [6] How many words are there? Glottometrics 2002/4 61-86 [7] Zipf's law outside the middle range Proc. Sixth Meeting on Mathematics of Language University of Central Florida, 1999 347-356 [8] A Robust, Language-Independent OCR System. (Jointly with Z. Lu, I. Bazzi, J. Makhoul, P. Natarajan, and R. Schwartz) In: Robert J. Mericsko (ed): Proc. 27th AIPR Workshop: Advances in Computer-Assisted Recognition SPIE Proceedings 3584 1999 [9] Quantitative Comparison of Languages. Grammars 1998/2 155-165 [10] The generative power of feature geometry. Annals of Mathematics and Artificial Intelligence 8 1993 37-46 [11] The X-bar Theory of Phrase Structure. (Jointly with G.K. Pullum) Language 66 1990 24-50 [12]

    Read more →
  • Levenshtein automaton

    Levenshtein automaton

    In computer science, a Levenshtein automaton for a string w and a number n is a finite-state automaton that can recognize the set of all strings whose Levenshtein distance from w is at most n. That is, a string x is in the formal language recognized by the Levenshtein automaton if and only if x can be transformed into w by at most n single-character insertions, deletions, and substitutions. == Applications == Levenshtein automata may be used for spelling correction, by finding words in a given dictionary that are close to a misspelled word. In this application, once a word is identified as being misspelled, its Levenshtein automaton may be constructed, and then applied to all of the words in the dictionary to determine which ones are close to the misspelled word. If the dictionary is stored in compressed form as a trie, the time for this algorithm (after the automaton has been constructed) is proportional to the number of nodes in the trie, significantly faster than using dynamic programming to compute the Levenshtein distance separately for each dictionary word. It is also possible to find words in a regular language, rather than a finite dictionary, that are close to a given target word, by computing the Levenshtein automaton for the word, and then using a Cartesian product construction to combine it with an automaton for the regular language, giving an automaton for the intersection language. Alternatively, rather than using the product construction, both the Levenshtein automaton and the automaton for the given regular language may be traversed simultaneously using a backtracking algorithm. Levenshtein automata are used in Lucene for full-text searches that can return relevant documents even if the query is misspelled. == Construction == For any fixed constant n, the Levenshtein automaton for w and n may be constructed in time O(|w|). Mitankin studies a variant of this construction called the universal Levenshtein automaton, determined only by a numeric parameter n, that can recognize pairs of words (encoded in a certain way by bitvectors) that are within Levenshtein distance n of each other. Touzet proposed an effective algorithm to build this automaton. Yet a third finite automaton construction of Levenshtein (or Damerau–Levenshtein) distance are the Levenshtein transducers of Hassan et al., who show finite state transducers implementing edit distance one, then compose these to implement edit distances up to some constant.

    Read more →
  • David Blei

    David Blei

    David Meir Blei is a professor in the Statistics and Computer Science departments at Columbia University. Prior to fall 2014 he was an associate professor in the Department of Computer Science at Princeton University. His work is primarily in machine learning. == Research == His research interests include topic models and he was one of the original developers of latent Dirichlet allocation, along with Andrew Ng and Michael I. Jordan. As of June 18, 2020, his publications have been cited 109,821 times, giving him an h-index of 116. == Honors and awards == Blei received the ACM Infosys Foundation Award in 2013. (This award is given to a computer scientist under the age of 45. It has since been renamed the ACM Prize in Computing.) He was named Fellow of ACM "For contributions to the theory and practice of probabilistic topic modeling and Bayesian machine learning" in 2015.

    Read more →
  • A Logical Calculus of the Ideas Immanent in Nervous Activity

    A Logical Calculus of the Ideas Immanent in Nervous Activity

    "A Logical Calculus of the Ideas Immanent in Nervous Activity" is a 1943 paper written by Warren Sturgis McCulloch and Walter Pitts, published in the journal The Bulletin of Mathematical Biophysics. The paper proposed a mathematical model of the nervous system as a network of simple logical elements, later known as artificial neurons, or McCulloch–Pitts neurons. These neurons receive inputs, perform a weighted sum, and fire an output signal based on a threshold function. By connecting these units in various configurations, McCulloch and Pitts demonstrated that their model could perform all logical functions. It is a seminal work in cognitive science, computational neuroscience, computer science, and artificial intelligence. It was a foundational result in automata theory. John von Neumann cited it as a significant result. == Mathematics == The artificial neuron used in the original paper is slightly different from the modern version. They considered neural networks that operate in discrete steps of time t = 0 , 1 , … {\displaystyle t=0,1,\dots } . The neural network contains a number of neurons. Let the state of a neuron i {\displaystyle i} at time t {\displaystyle t} be N i ( t ) {\displaystyle N_{i}(t)} . The state of a neuron can either be 0 or 1, standing for "not firing" and "firing". Each neuron also has a firing threshold θ {\displaystyle \theta } , such that it fires if the total input exceeds the threshold. Each neuron can connect to any other neuron (including itself) with positive synapses (excitatory) or negative synapses (inhibitory). That is, each neuron can connect to another neuron with a weight w {\displaystyle w} taking an integer value. A peripheral afferent is a neuron with no incoming synapses. We can regard each neural network as a directed graph, with the nodes being the neurons, and the directed edges being the synapses. A neural network has a circle or a circuit if there exists a directed circle in the graph. Let w i j ( t ) {\displaystyle w_{ij}(t)} be the connection weight from neuron j {\displaystyle j} to neuron i {\displaystyle i} at time t {\displaystyle t} , then its next state is N i ( t + 1 ) = H ( ∑ j = 1 n w i j ( t ) N j ( t ) − θ i ( t ) ) , {\displaystyle N_{i}(t+1)=H\left(\sum _{j=1}^{n}w_{ij}(t)N_{j}(t)-\theta _{i}(t)\right),} where H {\displaystyle H} is the Heaviside step function (outputting 1 if the input is greater than or equal to 0, and 0 otherwise). === Symbolic logic === The paper used, as a logical language for describing neural networks, "Language II" from The Logical Syntax of Language by Rudolf Carnap with some notations taken from Principia Mathematica by Alfred North Whitehead and Bertrand Russell. Language II covers substantial parts of classical mathematics, including real analysis and portions of set theory. To describe a neural network with peripheral afferents N 1 , N 2 , … , N p {\displaystyle N_{1},N_{2},\dots ,N_{p}} and non-peripheral afferents N p + 1 , N p + 2 , … , N n {\displaystyle N_{p+1},N_{p+2},\dots ,N_{n}} they considered logical predicate of form P r ( N 1 , N 2 , … , N p , t ) {\displaystyle Pr(N_{1},N_{2},\dots ,N_{p},t)} where P r {\displaystyle Pr} is a first-order logic predicate function (a function that outputs a boolean), N 1 , … , N p {\displaystyle N_{1},\dots ,N_{p}} are predicates that take t {\displaystyle t} as an argument, and t {\displaystyle t} is the only free variable in the predicate. Intuitively speaking, N 1 , … , N p {\displaystyle N_{1},\dots ,N_{p}} specifies the binary input patterns going into the neural network over all time, and P r ( N 1 , N 2 , … , N n , t ) {\displaystyle Pr(N_{1},N_{2},\dots ,N_{n},t)} is a function that takes some binary input patterns, and constructs an output binary pattern P r ( N 1 , N 2 , … , N n , 0 ) , P r ( N 1 , N 2 , … , N n , 1 ) , … {\displaystyle Pr(N_{1},N_{2},\dots ,N_{n},0),Pr(N_{1},N_{2},\dots ,N_{n},1),\dots } . A logical sentence P r ( N 1 , N 2 , … , N n , t ) {\displaystyle Pr(N_{1},N_{2},\dots ,N_{n},t)} is realized by a neural network iff there exists a time-delay T ≥ 0 {\displaystyle T\geq 0} , a neuron i {\displaystyle i} in the network, and an initial state for the non-peripheral neurons N p + 1 ( 0 ) , … , N n ( 0 ) {\displaystyle N_{p+1}(0),\dots ,N_{n}(0)} , such that for any time t {\displaystyle t} , the truth-value of the logical sentence is equal to the state of the neuron i {\displaystyle i} at time t + T {\displaystyle t+T} . That is, ∀ t = 0 , 1 , 2 , … , P r ( N 1 , N 2 , … , N p , t ) = N i ( t + T ) {\displaystyle \forall t=0,1,2,\dots ,\quad Pr(N_{1},N_{2},\dots ,N_{p},t)=N_{i}(t+T)} === Equivalence === In the paper, they considered some alternative definitions of artificial neural networks, and have shown them to be equivalent, that is, neural networks under one definition realizes precisely the same logical sentences as neural networks under another definition. They considered three forms of inhibition: relative inhibition, absolute inhibition, and extinction. The definition above is relative inhibition. By "absolute inhibition" they meant that if any negative synapse fires, then the neuron will not fire. By "extinction" they meant that if at time t {\displaystyle t} , any inhibitory synapse fires on a neuron i {\displaystyle i} , then θ i ( t + j ) = θ i ( 0 ) + b j {\displaystyle \theta _{i}(t+j)=\theta _{i}(0)+b_{j}} for j = 1 , 2 , 3 , … {\displaystyle j=1,2,3,\dots } , until the next time an inhibitory synapse fires on i {\displaystyle i} . It is required that b j = 0 {\displaystyle b_{j}=0} for all large j {\displaystyle j} . Theorem 4 and 5 state that these are equivalent. They considered three forms of excitation: spatial summation, temporal summation, and facilitation. The definition above is spatial summation (which they pictured as having multiple synapses placed close together, so that the effect of their firing sums up). By "temporal summation" they meant that the total incoming signal is ∑ τ = 0 T ∑ j = 1 n w i j ( t ) N j ( t − τ ) {\displaystyle \sum _{\tau =0}^{T}\sum _{j=1}^{n}w_{ij}(t)N_{j}(t-\tau )} for some T ≥ 1 {\displaystyle T\geq 1} . By "facilitation" they meant the same as extinction, except that b j ≤ 0 {\displaystyle b_{j}\leq 0} . Theorem 6 states that these are equivalent. They considered neural networks that do not change, and those that change by Hebbian learning. That is, they assume that at t = 0 {\displaystyle t=0} , some excitatory synaptic connections are not active. If at any t {\displaystyle t} , both N i ( t ) = 1 , N j ( t ) = 1 {\displaystyle N_{i}(t)=1,N_{j}(t)=1} , then any latent excitatory synapse between i , j {\displaystyle i,j} becomes active. Theorem 7 states that these are equivalent. === Logical expressivity === They considered "temporal propositional expressions" (TPE), which are propositional formulas with one free variable t {\displaystyle t} . For example, N 1 ( t ) ∨ N 2 ( t ) ∧ ¬ N 3 ( t ) {\displaystyle N_{1}(t)\vee N_{2}(t)\wedge \neg N_{3}(t)} is such an expression. Theorem 1 and 2 together showed that neural nets without circles are equivalent to TPE. For neural nets with loops, they noted that "realizable P r {\displaystyle Pr} may involve reference to past events of an indefinite degree of remoteness". These then encodes for sentences like "There was some x such that x was a ψ" or ( ∃ x ) ( ψ x ) {\displaystyle (\exists x)(\psi x)} . Theorems 8 to 10 showed that neural nets with loops can encode all first-order logic with equality and conversely, any looped neural networks is equivalent to a sentence in first-order logic with equality, thus showing that they are equivalent in logical expressiveness. As a remark, they noted that a neural network, if furnished with a tape, scanners, and write-heads, is equivalent to a Turing machine, and conversely, every Turing machine is equivalent to some such neural network. Thus, these neural networks are equivalent to Turing computability and Church's lambda-definability. == Context == === Previous work === The paper built upon several previous strands of work. In the symbolic logic side, it built on the previous work by Carnap, Whitehead, and Russell. This was contributed by Walter Pitts, who had a strong proficiency with symbolic logic. Pitts provided mathematical and logical rigor to McCulloch’s vague ideas on psychons (atoms of psychological events) and circular causality. In the neuroscience side, it built on previous work by the mathematical biology research group centered around Nicolas Rashevsky, of which McCulloch was a member. The paper was published in the Bulletin of Mathematical Biophysics, which was founded by Rashevsky in 1939. During the late 1930s, Rashevsky's research group was producing papers that had difficulty publishing in other journals at the time, so Rashevsky decided to found a new journal exclusively devoted to mathematical biophysics. Also in the Rashevsky's group was Alston Scott Householder, who in 1941 published an abstract model

    Read more →
  • The Best Free AI Art Generator for Beginners

    The Best Free AI Art Generator for Beginners

    Trying to pick the best AI art generator? An AI art generator is software that uses machine learning to help you get more done — it scales effortlessly from a single task to thousands. The best picks balance beginner-friendly simplicity with the depth power users need, and they ship updates often. Whether you are a beginner or a pro, the right AI art generator slots into your workflow and pays for itself fast. This guide breaks down the top picks, their pros and cons, and who each one is best for.

    Read more →
  • Semiautomaton

    Semiautomaton

    In mathematics and theoretical computer science, a semiautomaton is a deterministic finite automaton having inputs but no output. It consists of a set Q of states, a set Σ called the input alphabet, and a function T: Q × Σ → Q called the transition function. Associated with any semiautomaton is a monoid called the characteristic monoid, input monoid, transition monoid or transition system of the semiautomaton, which acts on the set of states Q. This may be viewed either as an action of the free monoid of strings in the input alphabet Σ, or as the induced transformation semigroup of Q. In older books like Clifford and Preston (1967) semigroup actions are called "operands". In category theory, semiautomata essentially are functors. == Transformation semigroups and monoid acts == A transformation semigroup or transformation monoid is a pair ( M , Q ) {\displaystyle (M,Q)} consisting of a set Q (often called the "set of states") and a semigroup or monoid M of functions, or "transformations", mapping Q to itself. They are functions in the sense that every element m of M is a map m : Q → Q {\displaystyle m\colon Q\to Q} . If s and t are two functions of the transformation semigroup, their semigroup product is defined as their function composition ( s t ) ( q ) = ( s ∘ t ) ( q ) = s ( t ( q ) ) {\displaystyle (st)(q)=(s\circ t)(q)=s(t(q))} . Some authors regard "semigroup" and "monoid" as synonyms. Here a semigroup need not have an identity element; a monoid is a semigroup with an identity element (also called "unit"). Since the notion of functions acting on a set always includes the notion of an identity function, which when applied to the set does nothing, a transformation semigroup can be made into a monoid by adding the identity function. === M-acts === Let M be a monoid and Q be a non-empty set. If there exists a multiplicative operation μ : Q × M → Q {\displaystyle \mu \colon Q\times M\to Q} ( q , m ) ↦ q m = μ ( q , m ) {\displaystyle (q,m)\mapsto qm=\mu (q,m)} which satisfies the properties q 1 = q {\displaystyle q1=q} for 1 the unit of the monoid, and q ( s t ) = ( q s ) t {\displaystyle q(st)=(qs)t} for all q ∈ Q {\displaystyle q\in Q} and s , t ∈ M {\displaystyle s,t\in M} , then the triple ( Q , M , μ ) {\displaystyle (Q,M,\mu )} is called a right M-act or simply a right act. In long-hand, μ {\displaystyle \mu } is the right multiplication of elements of Q by elements of M. The right act is often written as Q M {\displaystyle Q_{M}} . A left act is defined similarly, with μ : M × Q → Q {\displaystyle \mu \colon M\times Q\to Q} ( m , q ) ↦ m q = μ ( m , q ) {\displaystyle (m,q)\mapsto mq=\mu (m,q)} and is often denoted as M Q {\displaystyle \,_{M}Q} . An M-act is closely related to a transformation monoid. However the elements of M need not be functions per se, they are just elements of some monoid. Therefore, one must demand that the action of μ {\displaystyle \mu } be consistent with multiplication in the monoid (i.e. μ ( q , s t ) = μ ( μ ( q , s ) , t ) {\displaystyle \mu (q,st)=\mu (\mu (q,s),t)} ), as, in general, this might not hold for some arbitrary μ {\displaystyle \mu } , in the way that it does for function composition. Once one makes this demand, it is completely safe to drop all parenthesis, as the monoid product and the action of the monoid on the set are completely associative. In particular, this allows elements of the monoid to be represented as strings of letters, in the computer-science sense of the word "string". This abstraction then allows one to talk about string operations in general, and eventually leads to the concept of formal languages as being composed of strings of letters. Another difference between an M-act and a transformation monoid is that for an M-act Q, two distinct elements of the monoid may determine the same transformation of Q. If we demand that this does not happen, then an M-act is essentially the same as a transformation monoid. === M-homomorphism === For two M-acts Q M {\displaystyle Q_{M}} and B M {\displaystyle B_{M}} sharing the same monoid M {\displaystyle M} , an M-homomorphism f : Q M → B M {\displaystyle f\colon Q_{M}\to B_{M}} is a map f : Q → B {\displaystyle f\colon Q\to B} such that f ( q m ) = f ( q ) m {\displaystyle f(qm)=f(q)m} for all q ∈ Q M {\displaystyle q\in Q_{M}} and m ∈ M {\displaystyle m\in M} . The set of all M-homomorphisms is commonly written as H o m ( Q M , B M ) {\displaystyle \mathrm {Hom} (Q_{M},B_{M})} or H o m M ( Q , B ) {\displaystyle \mathrm {Hom} _{M}(Q,B)} . The M-acts and M-homomorphisms together form a category called M-Act. == Semiautomata == A semiautomaton is a triple ( Q , Σ , T ) {\displaystyle (Q,\Sigma ,T)} where Σ {\displaystyle \Sigma } is a non-empty set, called the input alphabet, Q is a non-empty set, called the set of states, and T is the transition function T : Q × Σ → Q . {\displaystyle T\colon Q\times \Sigma \to Q.} When the set of states Q is a finite set—it need not be—, a semiautomaton may be thought of as a deterministic finite automaton ( Q , Σ , T , q 0 , A ) {\displaystyle (Q,\Sigma ,T,q_{0},A)} , but without the initial state q 0 {\displaystyle q_{0}} or set of accept states A. Alternately, it is a finite-state machine that has no output, and only an input. Any semiautomaton induces an act of a monoid in the following way. Let Σ ∗ {\displaystyle \Sigma ^{}} be the free monoid generated by the alphabet Σ {\displaystyle \Sigma } (so that the superscript is understood to be the Kleene star); it is the set of all finite-length strings composed of the letters in Σ {\displaystyle \Sigma } . For every word w in Σ ∗ {\displaystyle \Sigma ^{}} , let T w : Q → Q {\displaystyle T_{w}\colon Q\to Q} be the function, defined recursively, as follows, for all q in Q: If w = ε {\displaystyle w=\varepsilon } , then T ε ( q ) = q {\displaystyle T_{\varepsilon }(q)=q} , so that the empty word ε {\displaystyle \varepsilon } does not change the state. If w = σ {\displaystyle w=\sigma } is a letter in Σ {\displaystyle \Sigma } , then T σ ( q ) = T ( q , σ ) {\displaystyle T_{\sigma }(q)=T(q,\sigma )} . If w = σ v {\displaystyle w=\sigma v} for σ ∈ Σ {\displaystyle \sigma \in \Sigma } and v ∈ Σ ∗ {\displaystyle v\in \Sigma ^{}} , then T w ( q ) = T v ( T σ ( q ) ) {\displaystyle T_{w}(q)=T_{v}(T_{\sigma }(q))} . Let M ( Q , Σ , T ) {\displaystyle M(Q,\Sigma ,T)} be the set M ( Q , Σ , T ) = { T w | w ∈ Σ ∗ } . {\displaystyle M(Q,\Sigma ,T)=\{T_{w}\vert w\in \Sigma ^{}\}.} The set M ( Q , Σ , T ) {\displaystyle M(Q,\Sigma ,T)} is closed under function composition; that is, for all v , w ∈ Σ ∗ {\displaystyle v,w\in \Sigma ^{}} , one has T w ∘ T v = T v w {\displaystyle T_{w}\circ T_{v}=T_{vw}} . It also contains T ε {\displaystyle T_{\varepsilon }} , which is the identity function on Q. Since function composition is associative, the set M ( Q , Σ , T ) {\displaystyle M(Q,\Sigma ,T)} is a monoid: it is called the input monoid, characteristic monoid, characteristic semigroup or transition monoid of the semiautomaton ( Q , Σ , T ) {\displaystyle (Q,\Sigma ,T)} . == Properties == If the set of states Q is finite, then the transition functions are commonly represented as state transition tables. The structure of all possible transitions driven by strings in the free monoid has a graphical depiction as a de Bruijn graph. The set of states Q need not be finite, or even countable. As an example, semiautomata underpin the concept of quantum finite automata. There, the set of states Q are given by the complex projective space C P n {\displaystyle \mathbb {C} P^{n}} , and individual states are referred to as n-state qubits. State transitions are given by unitary n×n matrices. The input alphabet Σ {\displaystyle \Sigma } remains finite, and other typical concerns of automata theory remain in play. Thus, the quantum semiautomaton may be simply defined as the triple ( C P n , Σ , { U σ 1 , U σ 2 , … , U σ p } ) {\displaystyle (\mathbb {C} P^{n},\Sigma ,\{U_{\sigma _{1}},U_{\sigma _{2}},\dotsc ,U_{\sigma _{p}}\})} when the alphabet Σ {\displaystyle \Sigma } has p letters, so that there is one unitary matrix U σ {\displaystyle U_{\sigma }} for each letter σ ∈ Σ {\displaystyle \sigma \in \Sigma } . Stated in this way, the quantum semiautomaton has many geometrical generalizations. Thus, for example, one may take a Riemannian symmetric space in place of C P n {\displaystyle \mathbb {C} P^{n}} , and selections from its group of isometries as transition functions. The syntactic monoid of a regular language is isomorphic to the transition monoid of the minimal automaton accepting the language. == Literature == A. H. Clifford and G. B. Preston, The Algebraic Theory of Semigroups. American Mathematical Society, volume 2 (1967), ISBN 978-0-8218-0272-4. F. Gecseg and I. Peak, Algebraic Theory of Automata (1972), Akademiai Kiado, Budapest. W. M. L. Holcombe, Algebraic Automata Theory (1982), Cambridge University Press J. M. Howie, Automata and Languages, (1991), Cla

    Read more →
  • Sudip Roy (computer scientist)

    Sudip Roy (computer scientist)

    Sudip Roy is a computer scientist and technology executive. He is the co-founder and chief technology officer of Adaption. He has worked on large-scale machine learning systems at organizations including Google DeepMind and Cohere. == Education == Roy earned a PhD in Computer Science from Cornell University. He holds a B.Tech in Computer Science and Engineering from the Indian Institute of Technology (IIT), Kharagpur. == Career == Sudip worked at Google Brain (now part of Google DeepMind) on systems research and large-scale data management. During his tenure, he contributed to infrastructure projects including Pathways and TensorFlow Extended, which support training and inference workflows for production machine learning models. He later served as Senior Director of Engineering at Cohere, leading work on inference infrastructure and fine-tuning systems. In late 2025, he co-founded the company Adaption Labs with Sara Hooker. The company focuses on developing AI systems designed for continuous learning and adaptation. Roy’s research spans systems for AI and AI for systems, including work on optimizing system performance and compilers. His publications have appeared in conferences such as MLSys, NeurIPS, SIGMOD, and KDD. He has been a program committee member or reviewer for the conferences SIGMOD, VLDB, ICDE, and MLSys. == Awards == He is the recipient of the MLSys Outstanding Paper Award (2022) and the SIGMOD Best Paper Award (2011). He holds multiple patents in machine learning systems, including methods for learned graph optimizations and neural network-based device placement.

    Read more →
  • Boyfriend Maker

    Boyfriend Maker

    Boyfriend Maker was a dating sim, romance chatbot smartphone app for iOS (iPhone) and Android devices, developed by Japanese studio 36 You Games (styled as 36You) and distributed under the freemium business model. Boyfriend Maker incorporated advanced artificial intelligence chat technology a decade before products such as ChatGPT. According to the developer's website, Boyfriend Maker is an "app that lets you interact and chat with quirky virtual boyfriends". While each virtual boyfriend has certain unique characteristics, the various instances of the boyfriend are powered by a chat engine, that (at least within a language and market) can utilise vocabulary and knowledge acquired in a chat with one user in subsequent chats with other users. == Gameplay == Users gain experience points and in-game coins. Users can customize their virtual boyfriend's appearance by selecting items such as hair, clothing, face, and a necklace. == Apple delisting and reintroduction == In late November 2012, the original iOS Boyfriend Maker app was delisted from the Apple App Store due to "ribald" chat, according to the New York Times. Boyfriend Maker was removed by Apple due to "reports of references to violent sexual acts and pedophilia". Boyfriend Maker had an age rating of 4+, even though the chat bot "responds with often strange and explicit text unsuitable for young children". User-posted chat excerpts indicate that the virtual boyfriend would sometimes transition abruptly to sexual chat in response to a seemingly innocent question. In one user-posted example, in response to the question, "what kind of wedding cake will we have" the boyfriend responds, "a good sex ima be on top of u u gonna ride oon me bitin the pillow gurrl ima fuck da shit out of u". The developer's use of the SimSimi-created third-party chat engine may be responsible for the sexual text. As the virtual boyfriend converses with human users, the SimSimi chat engine acquires vocabulary from users of the game and applies this "learned" vocabulary in chats with other users. The chat engine might also employ lines harvested from human-human chat logs, song lyrics, movies or TV shows. In April 2013, a detuned and presumably tamer version of the app, titled Boyfriend Plus, was permitted on Apple's App Store.

    Read more →
  • Yun Sing Koh

    Yun Sing Koh

    Yun Sing Koh (born 1978) is a New Zealand computer science academic, and is a full professor at the University of Auckland, specialising in machine learning and artificial intelligence. She is a co-director of the Centre of Machine Learning for Social Good, and the Advanced Machine Learning and Data Analytics Research (MARS) Lab at Auckland. == Academic career == Koh earned a Bachelor of Science with Honours and a Master of Software Engineering at the University of Malaya. She then completed a PhD titled Generating sporadic association rules at the University of Otago in 2007. Koh joined the faculty of the University of Auckland in 2010, rising to full professor. As of 2024, she is director of the Centre of Machine Learning for Social Good at Auckland, alongside Gillian Dobbie and Daniel Wilson, and is director of the Master of AI course at the university. Koh also co-directs the Advanced Machine Learning and Data Analytics Research (MARS) Lab. Koh's research covers machine learning and artificial intelligence. She is especially interested in designing machine learning algorithms for data streams, and has led research using AI systems to identify individual stoats for pest population research. In 2018 she was awarded a Marsden grant for a research project "An Adaptive Predictive System for Life-long Learning on Data Streams", and has been part of three MBIE projects. In 2025 the stoat identification project Koh co-leads with Daniel Wilson was awarded $1 million per annum by the MBIE Smart Ideas fund. Koh was a finalist in the AI in Climate section of the Women in AI Australia and New Zealand Awards in 2022. She was a 2023 Fellow at the United States National Science Foundation-funded Convergence Research (CORE) Institute. Koh has chaired a number of sessions at international conferences on data mining. In March 2026 it was announced that Koh would be a member of the New Zealand Human Rights Commission's Expert Advisory Group on Artificial Intelligence, Emerging Digital Technologies and Human Rights. == Selected works == Philippe Fournier-Viger; Jerry Chun-Wei Lin; Rage Uday Kiran; Yun Sing Koh; Rincy Thomas (2017). "A Survey of Sequential Pattern Mining". Data Science and Pattern Recognition. 1 (1): 54–77. Wikidata Q138719481. Yun Sing Koh; Nathan Rountree; Richard O’Keefe (1 April 2006). "Finding Non-Coincidental Sporadic Rules Using Apriori-Inverse". International Journal of Data Warehousing and Mining (in Ndonga). 2 (2): 38–54. doi:10.4018/JDWM.2006040102. ISSN 1548-3924. Wikidata Q125185222. Russel Pears; Sripirakas Sakthithasan; Yun Sing Koh (11 January 2014). "Detecting concept change in dynamic data streams". Machine Learning. 97 (3): 259–293. doi:10.1007/S10994-013-5433-9. ISSN 1573-0565. Zbl 1319.68186. Wikidata Q125185156. David Tse Jung Huang; Yun Sing Koh; Gillian Dobbie; Russel Pears (December 2014), Detecting Volatility Shift in Data Streams, Institute of Electrical and Electronics Engineers, doi:10.1109/ICDM.2014.50, Wikidata Q125185151 Sidney Tsang; Yun Sing Koh; Gillian Dobbie (2011). "RP-Tree: Rare Pattern Tree Mining". Lecture Notes in Computer Science: 277–288. doi:10.1007/978-3-642-23544-3_21. ISSN 0302-9743. Wikidata Q125185206. Yun Sing Koh; Sri Devi Ravana (24 May 2016). "Unsupervised Rare Pattern Mining". ACM Transactions on Knowledge Discovery from Data. 10 (4): 1–29. doi:10.1145/2898359. ISSN 1556-4681. Wikidata Q125185136. Jack Julian; Yun Sing Koh; Albert Bifet (1 October 2025), Building adaptive knowledge bases for evolving continual learning models (PDF), vol. 1, doi:10.1038/S44387-025-00028-4, Wikidata Q138719496

    Read more →
  • Bruno Zamborlin

    Bruno Zamborlin

    Bruno Zamborlin (born 1983 in Vicenza) is an AI researcher, entrepreneur and artist based in London, working in the field of human-computer interaction. His work focuses on converting physical objects into touch-sensitive, interactive surfaces using vibration sensors and artificial intelligence. In 2013, he founded Mogees Limited a start-up to transform everyday objects into musical instruments and games using a vibration sensor and a mobile phone. With HyperSurfaces, he converts physical surfaces of any material, shape and form into data-enabled-interactive surfaces using a vibration sensor and a coin-sized chipset. As an artist, he has created art installations around the world, with his most recent work comprising a unique series of "sound furnitures" that was showcased at the Italian Pavilion of the Venice Biennale 2023. He regularly performed with UK-based electronic music duo Plaid (Warp Records). He is also honorary visiting research fellow at Goldsmiths, University of London. == Early life and education == From 2008-2011, Zamborlin worked at the IRCAM (Institute for Research and Coordination Acoustic Musical) – Centre Pompidou as a member of the Sound Music Movement Interaction team. Under the supervision of Frederic Bevilacqua, he started experimenting with the use of artificial intelligence and human movements, and contributed to the creation of Gesture Follower, a software used to analyse body movements of performers and dancers through motion sensors in order to control sound and visual media in real-time, slowing down or speeding up their reproduction based on the speed the gestures are performed. He has lived in London since 2011, where he developed a joint PhD between Goldsmiths, University of London and IRCAM - Centre Pompidou/Pierre and Marie Curie University Paris in AI, focussing on the concept of Interactive Machine Learning applied to digital musical instruments and performing arts. == Career == Zamborlin founded Mogees Limited in 2013 in London, with IRCAM being amongst the early partners. Mogees transform physical objects into musical instruments and games using a vibration sensor and a series of apps for smartphones and desktop. After a campaign on Kickstarter in 2014, Mogees was used both by common users and artists such as Rodrigo y Gabriela, Jean-Michel Jarre and Plaid. The algorithms implemented in these apps employ a special version of physical modelling sound synthesis, where the vibration produced by users when interacting with the physical object are used as exciter for a digital resonator which runs in the app. The result is a hybrid, half acoustic and half digital sound which is a function of both software and acoustic properties of the physical object the users decide to play. In 2017, Zamborlin founded HyperSurfaces together with computational artist Parag K Mital. to merge "the physical and the digital worlds". HyperSurfaces technology converts any surface made of any material, shape and size into data-enabled interactive objects, employing a vibration sensor and proprietary AI algorithms running on a coin-sized chipset. The vibrations generated by people's interactions on the surface are converted into an electric signal by a piezoelectric sensor and analysed in realtime by AI algorithms that run on the chipset. Anytime the AI recognises in the vibration signal one of the events that have been predefined by the user beforehand, a corresponding notification message is generated in realtime and sent to some application. The technology can be applied to anything ranging from button-less human-computer interaction applications for automotive and smart home to the Internet of things. Because the AI algorithms employed by HyperSurfaces run locally on a chipset, without the need to access cloud-based services, they are considered to be part of the field of edge computing. Also, because the AI can be trained beforehand to recognise the events its users are interested in, HyperSurfaces algorithms belong to the field of supervised machine learning. == Selected awards == IRISA Prix Jeune Chercheur, 13 October 2012 NeMoDe, New Economic Models in the Digital Economy, 25 October 2012 == Patents and academic publications == United States pending US10817798B2, Bruno Zamborlin & Carmine Emanuele Cella, "Method to recognize a gesture and corresponding device", published 27 April 2016, assigned to Mogees Limited GB Pending WO/2019/086862, Bruno Zamborlin; Conor Barry & Alessandro Saccoia et al., "A user interface for vehicles", published 9 May 2019, assigned to Mogees Limited GB Pending WO/2019/086863, Bruno Zamborlin; Conor Barry & Alessandro Saccoia et al., "Trigger for game events", published 9 May 2019, assigned to Mogees Limited Bevilacqua, Frédéric; Zamborlin, Bruno; Sypniewski, Anthony; Schnell, Norbert; Guédy, Fabrice; Rasamimanana, Nicolas (2010). "Continuous Realtime Gesture Following and Recognition". Gesture in Embodied Communication and Human-Computer Interaction. Lecture Notes in Computer Science. Vol. 5934. pp. 73–84. doi:10.1007/978-3-642-12553-9_7. ISBN 978-3-642-12552-2. S2CID 16251822. Retrieved 17 January 2021. Rasamimanana, Nicolas; Bevilacqua, Frédéric; Schnell, Norbert; Guédy, Fabrice; Flety, Emmanuel; Maestracci, Come; Zamborlin, Bruno (January 2010). "Modular musical objects towards embodied control of digital music". Proceedings of the fifth international conference on Tangible, embedded, and embodied interaction. Tei '11. pp. 9–12. doi:10.1145/1935701.1935704. ISBN 9781450304788. S2CID 10782645. Retrieved 17 January 2021. Bevilacqua, Frédéric; Schnell, Norbert; Rasamimanana, Nicolas; Zamborlin, Bruno; Guedy, Fabrice (2011). "Online Gesture Analysis and Control of Audio Processing". Musical Robots and Interactive Multimodal Systems. Springer Tracts in Advanced Robotics. Vol. 74. pp. 127–142. doi:10.1007/978-3-642-22291-7_8. ISBN 978-3-642-22290-0. Retrieved 17 January 2021. Zamborlin, Bruno; Bevilacqua, Frédéric; Gillies, Marco; D'Inverno, Mark (15 January 2014). "Fluid gesture interaction design: Applications of continuous recognition for the design of modern gestural interfaces". ACM Transactions on Interactive Intelligent Systems. 3 (4): 22:1–22:30. doi:10.1145/2543921. S2CID 7887245. Retrieved 17 January 2021. Leslie, Grace; Zamborlin, Bruno; Schnell, Norbert; Jodlowski, Pierre (15 June 2010). "A Collaborative, Interactive Sound Installation". Proceedings of the International Computer Music Conference. Retrieved 17 January 2021. Kimura, Mari; Rasamimanana, Nicolas; Bevilacqua, Frédéric; Zamborlin, Bruno; Schnell, Bruno; Flety, Emmanuel (2012). "Extracting Human Expression For Interactive Composition with the Augmented Violin". International Conference on New Interfaces for Musical Expression. Retrieved 17 January 2021. Ferretti, Stefano; Roccetti, Marco; Zamborlin, Bruno (13 January 2009). "On SPAWC: Discussion on a Musical Signal Parser and Well-Formed Composer". 2009 6th IEEE Consumer Communications and Networking Conference. pp. 1–5. doi:10.1109/CCNC.2009.4784966. ISBN 978-1-4244-2308-8. S2CID 14213587. Zamborlin, Bruno; Partesana, Giorgio; Liuni, Marco (15 May 2011). "(LAND)MOVES". Conference on New Interfaces for Musical Expression, NIME: 537–538. Retrieved 17 January 2021.

    Read more →
  • How to Choose an AI Bug Finder

    How to Choose an AI Bug Finder

    Comparing the best AI bug finder? An AI bug finder is software that uses machine learning to help you get more done — it lowers the barrier so anyone can produce professional output. Privacy matters too: check whether your data trains the model and whether a no-log or enterprise tier is available. Whether you are a beginner or a pro, the right AI bug finder slots into your workflow and pays for itself fast. Below we compare features, pricing, and real output so you can choose with confidence.

    Read more →
  • Marq (company)

    Marq (company)

    Marq (formerly Lucidpress) is a cloud-based software platform for brand management and templated content creation. The platform integrates with digital asset management (DAM) systems—including Aprimo and Bynder and customer relationship management (CRM) tools such as Salesforce and HubSpot. Marq also includes AI-assisted features for brand compliance and content automation. Trade publications have described the product as a brand templating and creative automation platform. == History == In October 2013, Lucid Software, Inc. announced Lucidpress as a public beta version. Following its release, Lucidpress was featured in TechCrunch, VentureBeat and PC World, with TechCrunch noting: "I had a chance to test the app before its launch and it is indeed very easy to use. If you've ever used a desktop publishing app in the past, you'll feel right at home with Marq, as it features the same kind of standard top-bar menu and layout options as most other publishing apps. In terms of features, it can also hold its own against similar desktop-based apps." In May 2021, Lucidpress announced that it had been acquired by Charles Thayne Capital ("CTC"), a growth-oriented and technology-focused private investment firm. In May 2021, following its acquisition by Charles Thayne Capital, Lucidpress became fully independent. Owen Fuller, who had served as General Manager since 2017, was appointed Chief Executive Officer. In 2022, Lucidpress was rebranded as Marq to reflect the company’s shift toward brand templating and creative automation tools, while continuing to support its publishing features. == Features == Marq integrates with customer relationship management (CRM) platforms such as Salesforce and HubSpot, enabling the creation of personalized, on-brand sales and marketing materials. The platform also connects with multiple digital asset management (DAM) systems, including Bynder, Aprimo, MediaValet, PhotoShelter, Acquia, and Canto. == Investment == Lucid Software raised $1 million in Seed in 2011, led by Google Ventures. In May 2014, the company received a $5 million investment. The round was led by Salt Lake-based Kickstart Seed Fund. In September 2016, the company received a $36 million investment from Spectrum Equity.

    Read more →
  • Best AI Video Editors in 2026

    Best AI Video Editors in 2026

    Shopping for the best AI video editor? An AI video editor is software that uses machine learning to help you get more done — it keeps getting smarter as the underlying models improve. Pricing, accuracy, and the size of the model behind the tool are the three factors that most affect daily usefulness. Whether you are a beginner or a pro, the right AI video editor slots into your workflow and pays for itself fast. Below we compare features, pricing, and real output so you can choose with confidence.

    Read more →
  • Ocrad

    Ocrad

    Ocrad is an optical character recognition program and part of the GNU Project. It is free software licensed under the GNU GPL. Based on a feature extraction method, it reads images in portable pixmap formats known as Portable anymap and produces text in byte (8-bit) or UTF-8 formats. Also included is a layout analyser, able to separate the columns or blocks of text normally found on printed pages. == User interface == Ocrad can be used as a stand-alone command-line application or as a back-end to other programs. Kooka, which was the KDE environment's default scanning application until KDE 4, can use Ocrad as its OCR engine. Since conversion to newer Qt versions, current versions of KDE no longer contain Kooka; development continues in the KDE git repository. Ocrad can be also used as an OCR engine in OCRFeeder. == History == Ocrad has been developed by Antonio Diaz Diaz since 2003. Version 0.7 was released in February 2004, 0.14 in February 2006 and 0.18 in May 2009. It is written in C++. Archives of the bug-ocrad mailing list go back to October 2003.

    Read more →