OCR Systems, Inc., was an American computer hardware manufacturer and software publisher dedicated to optical character recognition technologies. The company's first product, the System 1000 in 1970, was used by numerous large corporations for bill processing and mail sorting. Following a series of pitfalls in the 1970s and early 1980s, founder Theodor Herzl Levine put the company in the hands of Gregory Boleslavsky and Vadim Brikman, the company's vice presidents and recent immigrants from the Soviet Ukraine, who were able to turn OCR System's fortunes around and expand its employee base. The company released the software-based OCR application ReadRight for DOS, later ported to Windows, in the late 1980s. Adobe Inc. bought the company in 1992. == History == OCR Systems was co-founded by Theodor Herzl Levine (c. 1923 – May 30, 2005). Levine served in the U.S. Army Signal Corps during World War II in the Solomon Islands, where he helped develop a sonar to find ejected pilots in the ocean. After the war, Levine spent 22 years at the University of Pennsylvania, earning his bachelor's degree in 1951, his master's degree in electrical engineering in 1957, and his doctorate in 1968. Alongside his studies, Levine taught statistics and calculus at Temple University, Rutgers University, La Salle University and Penn State Abington. Sometime in the 1960s, Levine was hired at Philco. He and two of his co-workers decided to form their own company dedicated to optical character recognition, founding OCR Systems in 1969 in Bensalem, Pennsylvania. OCR Systems's first product, the System 1000, was announced in 1970. OCR Systems entered a partnership with 3M to resell the System 1000 throughout the United States in March 1973. This was 3M's entry into the data entry field, managed by the company's Microfilm Products Division and accompanying 3M's suite of data retrieval systems. It soon found use among Texas Instruments, AT&T, Ricoh, Panasonic and Canon for bill processing and mail sorting. Later in the mid-1970s an unspecified Fortune 500 company reneged on a contract to distribute the System 1000; later still a Canadian company distributing the System 1000 in Canada went defunct. Both incidents led OCR Systems to go nearly bankrupt, although it eventually recovered. By the early 1980s, however, the company was almost insolvent. In 1983 Levine had only $8,000 in his savings and became bedridden with an illness. He left the company in the hands of Gregory Boleslavsky and Vadim Brikman, two Soviet Ukraine expats whom Levine had hired earlier in the 1980s. Boleslavsky was hired as a wire wrapper for the System 1000 and as a programmer and beta tester for ReadRight—a software package developed by Levine implementing patents from Nonlinear Technology, another OCR-centric company from Greenbelt, Maryland. Boleslavsky in turn recommended Brikman to Levine. The two soon became vice presidents of the company while Levine was bedridden; in Boleslavsky's case, he worked 14-hour work days for over half a year in pursuit of the title. The two presented OCR Systems' products to the National Computer Conference in Chicago, where they were massively popular. The company soon gained such clients as Allegheny Energy in Pennsylvania and the postal service of Belgium and received an influx of employees—mostly expats from Russia but also Poland and South Korea, as well as American-born workers. To accommodate the company's employee base, which had grown to over 30 in 1988, Levine moved OCR System's headquarters from Bensalem to the Masons Mill Business Park in Bryn Athyn. Chinon Industries of Japan signed an agreement with OCR Systems in 1987 to distribute OCR's ReadRight 1.0 software with Chinon's scanners, starting with their N-205 overhead scanner. In 1988, OCR opened their agreement to distribute ReadRight to other scanner manufacturers, including Canon, Hewlett-Packard, Skyworld, Taxan, Diamond Flower and Abaton. That year, the company posted a revenue of $3 million. OCR Systems extended their agreement with Chinon in 1989 and introduced version 2.0 of ReadRight. OCR Systems faced stiff competition in the software OCR market in the turn of the 1990s. The Toronto-based software firm Delrina signed a letter of intent to purchase the company in November 1991, expecting the deal to close in December and have OCR software available by Christmas. OCR was to receive $3 million worth of Delrina shares in a stock swap, but the deal collapsed in January 1992. Delrine later marketed its own Extended Character Recognition, or XCR, software package to compete with ReadRight. In July 1992, OCR Systems was purchased by Adobe Inc. for an undisclosed sum. == Products == === System 1000 === The System 1000 was based on the 16-bit Varian Data 620/i minicomputer with 4 KB of core memory. The system used the 620/i for controlling the paper feed, interpreting the format of the documents, the optical character recognition process itself, error detection, sequencing and output. The System was initially programmed to recognize 1428 OCR (used by Selectrics); IBM 407 print; and the full character sets of OCR-A, OCR-B and Farrington 7B; as well as optical marks and handwritten numbers. OCR Systems promised added compatibility with more fonts available down the line—per request—in 1970. The number of fonts supported was limited by the amount of core memory, which was expandable in 4 KB increments up to 32 KB. The System 1000 later supported generalized typewriter and photocopier fonts. The rest of the System 1000 comprised the document transport, one or more scanner elements, a CRT display and a Teletype Model 33 or 35. Pages are fed via friction with a rubber belt. Up to three lines could be scanned per document, while the rest of the scanned document could be laid out in any manner granted there was enough space around the fields to be read. The reader initially supported pages as small as 3.25 in by 3.5 in dimension (later supporting 2.6 in by 3.5 in utility cash stubs) all the way to the standard ANSI letter size (8.5 in by 11 in; later 8.5 in by 12 in as used in stock certificates). The initial System 1000 had a maximum throughput of 420 documents per minute per transport (later 500 documents per minute), contingent on document size and content. A feature unique to the System 1000 over other optical character recognition systems of the time was its ability to alert the operator when a field was unreadable or otherwise invalid. This feature, called Document Referral, placed the document in front of the operator and displayed a blank field on the screen of the included CRT monitor for manual re-entry via keyboard. Once input, data could be output to 7- or 9-track tape, paper tape, punched cards and other mass storage media or to System/360 mainframes for further processing. The complete System 1000 could be purchased for US$69,000. Options for renting were $1,800 per month on a three-year lease or $1,600 per month for five years. Computerworld wrote that it was less than half the cost of its competitors while more capable and user-friendly. Competing systems included the Recognition Equipment Retina, the Scan-Optics IC/20 and the Scan-Data 250/350. === ReadRight === ReadRight processes individual letters topographically: it breaks down the scanned letter into parts—strokes, curves, angles, ascenders and descenders—and follows a tree structure of letters broken down into these parts to determine the corresponding character code. ReadRight was entirely software-based, requiring no expansion card to work. Version 2.01, the last version released for DOS, runs in real mode in under 640 KB of RAM. OCR Systems released the Windows-only version 3.0 in 1991 while offering version 2.01 alongside it. The company unveiled a sister product, ReadRight Personal, dedicated to handheld scanners and for Windows only in October 1991. This version adds real-time scanning—each word is updated to the screen while lines are being scanned. ReadRight proper was later made a Windows-only product with version 3.1 in 1992. The inclusion of ReadRight 2.0 with Canon's IX-12F flatbed scanner led PC Magazine to award it an Editor's Choice rating in 1989. Despite this, reviewer Robert Kendall found qualification with ReadRight's ability to parse proportional typefaces such as Helvetica and Times New Roman. Mitt Jones of the same publication found version 2.01 to have improved its ability to read such typefaces and praised its ease of use and low resource intensiveness. Jones disliked the inability to handle uneven page paragraph column widths and graphics, noting that the manual recommended the user block out graphics with a Post-it Note. Version 3.1 for Windows received mixed reviews. Mike Heck of InfoWorld wrote that its "low cost and rich collection of features are hard to ignore" but rated its speed and accuracy average. Barry Simon of PC Magazine called it economical but inaccurate, unable to correct errors it did
Apache OpenNLP
The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text. It supports the most common NLP tasks, such as language detection, tokenization, sentence segmentation, part-of-speech tagging, named entity extraction, chunking, parsing and coreference resolution. These tasks are usually required to build more advanced text processing services.
Action model learning
Action model learning (sometimes abbreviated action learning) is an area of machine learning concerned with the creation and modification of a software agent's knowledge about the effects and preconditions of the actions that can be executed within its environment. This knowledge is usually represented in a logic-based action description language and used as input for automated planners. Learning action models is important when goals change. When an agent acted for a while, it can use its accumulated knowledge about actions in the domain to make better decisions. Thus, learning action models differs from reinforcement learning. It enables reasoning about actions instead of expensive trials in the world. Action model learning is a form of inductive reasoning, where new knowledge is generated based on the agent's observations. The usual motivation for action model learning is the fact that manual specification of action models for planners is often a difficult, time-consuming, and error-prone task (especially in complex environments). == Action models == Given a training set E {\displaystyle E} consisting of examples e = ( s , a , s ′ ) {\displaystyle e=(s,a,s')} , where s , s ′ {\displaystyle s,s'} are observations of a world state from two consecutive time steps t , t ′ {\displaystyle t,t'} and a {\displaystyle a} is an action instance observed in time step t {\displaystyle t} , the goal of action model learning in general is to construct an action model ⟨ D , P ⟩ {\displaystyle \langle D,P\rangle } , where D {\displaystyle D} is a description of domain dynamics in action description formalism like STRIPS, ADL or PDDL and P {\displaystyle P} is a probability function defined over the elements of D {\displaystyle D} . However, many state of the art action learning methods assume determinism and do not induce P {\displaystyle P} . In addition to determinism, individual methods differ in how they deal with other attributes of domain (e.g. partial observability or sensoric noise). == Action learning methods == === State of the art === Recent action learning methods take various approaches and employ a wide variety of tools from different areas of artificial intelligence and computational logic. As an example of a method based on propositional logic, we can mention SLAF (Simultaneous Learning and Filtering) algorithm, which uses agent's observations to construct a long propositional formula over time and subsequently interprets it using a satisfiability (SAT) solver. Another technique, in which learning is converted into a satisfiability problem (weighted MAX-SAT in this case) and SAT solvers are used, is implemented in ARMS (Action-Relation Modeling System). Two mutually similar, fully declarative approaches to action learning were based on logic programming paradigm Answer Set Programming (ASP) and its extension, Reactive ASP. In another example, bottom-up inductive logic programming approach was employed. Several different solutions are not directly logic-based. For example, the action model learning using a perceptron algorithm or the multi level greedy search over the space of possible action models. In the older paper from 1992, the action model learning was studied as an extension of reinforcement learning. Nonetheless, further algorithms can be found that operate under different assumptions: FAMA can work even when some observations are missing, and it produces a general (lifted) planning model. It treats learning an action model like a planning problem, making sure the learned model matches the observations given. NOLAM can learn general action models even from noisy or imperfect data. LOCM focuses only on the order of actions in the data, ignoring any details about the states between those actions. The family of safe action model (SAM) learning methods create models that guarantee any plans made with them will actually work in the real world. There's also an extension called N-SAM that can learn action models with numeric conditions and effects. Additionally, numeric action models like N-SAM can be used to improve reinforcement learning (RL) performance through the RAMP algorithm. === Literature === Most action learning research papers are published in journals and conferences focused on artificial intelligence in general (e.g. Journal of Artificial Intelligence Research (JAIR), Artificial Intelligence, Applied Artificial Intelligence (AAI) or AAAI conferences). Despite mutual relevance of the topics, action model learning is usually not addressed in planning conferences like the International Conference on Automated Planning and Scheduling (ICAPS).
Algorithmic probability
In algorithmic information theory, algorithmic probability, also known as Solomonoff probability, is a mathematical method of assigning a prior probability to a given observation. It was invented by Ray Solomonoff in the 1960s. It is used in inductive inference theory and analyses of algorithms. In his general theory of inductive inference, Solomonoff uses the method together with Bayes' rule to obtain probabilities of prediction for an algorithm's future outputs. In the mathematical formalism used, the observations have the form of finite binary strings viewed as outputs of Turing machines, and the universal prior is a probability distribution over the set of finite binary strings calculated from a probability distribution over programs (that is, inputs to a universal Turing machine). The prior is universal in the Turing-computability sense, i.e. no string has zero probability. It is not computable, but it can be approximated. Formally, the probability P {\displaystyle P} is not a probability and it is not computable. It is only "lower semi-computable" and a "semi-measure". By "semi-measure", it means that 0 ≤ ∑ x P ( x ) < 1 {\displaystyle 0\leq \sum _{x}P(x)<1} . That is, the "probability" does not actually sum up to one, unlike actual probabilities. This is because some inputs to the Turing machine causes it to never halt, which means the probability mass allocated to those inputs is lost. By "lower semi-computable", it means there is a Turing machine that, given an input string x {\displaystyle x} , can print out a sequence y 1 < y 2 < ⋯ {\displaystyle y_{1} Weak artificial intelligence (weak AI) is artificial intelligence that implements a limited part of the mind, or, as narrow AI, artificial narrow intelligence (ANI), is focused on one narrow task. Weak AI is contrasted with strong AI, which can be interpreted in various ways: Artificial general intelligence (AGI): a machine with the ability to apply intelligence to any problem, rather than just one specific problem. Artificial superintelligence (ASI): a machine with a vastly superior intelligence to the average human being. Artificial consciousness: a machine that has consciousness, sentience and mind (John Searle uses "strong AI" in this sense). Narrow AI can be classified as being "limited to a single, narrowly defined task. Most modern AI systems would be classified in this category." Artificial general intelligence is conversely the opposite. == Applications and risks == Some examples of narrow AI are AlphaGo, self-driving cars, robot systems used in the medical field, and diagnostic doctors. Narrow AI systems are sometimes dangerous if unreliable. And the behavior that it follows can become inconsistent. It could be difficult for the AI to grasp complex patterns and get to a solution that works reliably in various environments. This "brittleness" can cause it to fail in unpredictable ways. Narrow AI failures can sometimes have significant consequences. It could for example cause disruptions in the electric grid, damage nuclear power plants, cause global economic problems, and misdirect autonomous vehicles. Medicines could be incorrectly sorted and distributed. Also, medical diagnoses can ultimately have serious and sometimes deadly consequences if the AI is faulty or biased. Simple AI programs have already worked their way into society, oftentimes unnoticed by the public. Autocorrection for typing, speech recognition for speech-to-text programs, and vast expansions in the data science fields are examples. Narrow AI has also been the subject of some controversy, including resulting in unfair prison sentences, discrimination against women in the workplace for hiring, resulting in death via autonomous driving, among other cases. Despite being "narrow" AI, recommender systems are efficient at predicting user reactions based on their posts, patterns, or trends. For instance, TikTok's "For You" algorithm can determine a user's interests or preferences in less than an hour. Some other social media AI systems are used to detect bots that may be involved in propaganda or other potentially malicious activities. == Weak AI versus strong AI == John Searle contests the possibility of strong AI (by which he means conscious AI). He further believes that the Turing test (created by Alan Turing and originally called the "imitation game", used to assess whether a machine can converse indistinguishably from a human) is not accurate or appropriate for testing whether an AI is "strong". Scholars such as Antonio Lieto have argued that the current research on both AI and cognitive modelling are perfectly aligned with the weak-AI hypothesis (that should not be confused with the "general" vs "narrow" AI distinction) and that the popular assumption that cognitively inspired AI systems espouse the strong AI hypothesis is ill-posed and problematic since "artificial models of brain and mind can be used to understand mental phenomena without pretending that that they are the real phenomena that they are modelling" (as, on the other hand, implied by the strong AI assumption). Computer audition (CA) or machine listening is the general field of study of algorithms and systems for audio interpretation by machines. Since the notion of what it means for a machine to "hear" is very broad and somewhat vague, computer audition attempts to bring together several disciplines that originally dealt with specific problems or had a concrete application in mind. The engineer Paris Smaragdis, interviewed in Technology Review, talks about these systems — "software that uses sound to locate people moving through rooms, monitor machinery for impending breakdowns, or activate traffic cameras to record accidents." Inspired by models of human audition, CA deals with questions of representation, transduction, grouping, use of musical knowledge and general sound semantics for the purpose of performing intelligent operations on audio and music signals by the computer. Technically this requires a combination of methods from the fields of signal processing, auditory modelling, music perception and cognition, pattern recognition, and machine learning, as well as more traditional methods of artificial intelligence for musical knowledge representation. == Applications == Like computer vision versus image processing, computer audition versus audio engineering deals with understanding of audio rather than processing. It also differs from problems of speech understanding by machine since it deals with general audio signals, such as natural sounds and musical recordings. Applications of computer audition are widely varying, and include search for sounds, genre recognition, acoustic monitoring, music transcription, score following, audio texture, music improvisation, emotion in audio and so on. == Related disciplines == Computer Audition overlaps with the following disciplines: Music information retrieval: methods for search and analysis of similarity between music signals. Auditory scene analysis: understanding and description of audio sources and events. Computational musicology and mathematical music theory: use of algorithms that employ musical knowledge for analysis of music data. Computer music: use of computers in creative musical applications. Machine musicianship: audition driven interactive music systems. == Areas of study == Since audio signals are interpreted by the human ear–brain system, that complex perceptual mechanism should be simulated somehow in software for "machine listening". In other words, to perform on par with humans, the computer should hear and understand audio content much as humans do. Analyzing audio accurately involves several fields: electrical engineering (spectrum analysis, filtering, and audio transforms); artificial intelligence (machine learning and sound classification); psychoacoustics (sound perception); cognitive sciences (neuroscience and artificial intelligence); acoustics (physics of sound production); and music (harmony, rhythm, and timbre). Furthermore, audio transformations such as pitch shifting, time stretching, and sound object filtering, should be perceptually and musically meaningful. For best results, these transformations require perceptual understanding of spectral models, high-level feature extraction, and sound analysis/synthesis. Finally, structuring and coding the content of an audio file (sound and metadata) could benefit from efficient compression schemes, which discard inaudible information in the sound. Computational models of music and sound perception and cognition can lead to a more meaningful representation, a more intuitive digital manipulation and generation of sound and music in musical human-machine interfaces. The study of CA could be roughly divided into the following sub-problems: Representation: signal and symbolic. This aspect deals with time-frequency representations, both in terms of notes and spectral models, including pattern playback and audio texture. Feature extraction: sound descriptors, segmentation, onset, pitch and envelope detection, chroma, and auditory representations. Musical knowledge structures: analysis of tonality, rhythm, and harmonies. Sound similarity: methods for comparison between sounds, sound identification, novelty detection, segmentation, and clustering. Sequence modeling: matching and alignment between signals and note sequences. Source separation: methods of grouping of simultaneous sounds, such as multiple pitch detection and time-frequency clustering methods. Auditory cognition: modeling of emotions, anticipation and familiarity, auditory surprise, and analysis of musical structure. Multi-modal analysis: finding correspondences between textual, visual, and audio signals. === Representation issues === Computer audition deals with audio signals that can be represented in a variety of fashions, from direct encoding of digital audio in two or more channels to symbolically represented synthesis instructions. Audio signals are usually represented in terms of analogue or digital recordings. Digital recordings are samples of acoustic waveform or parameters of audio compression algorithms. One of the unique properties of musical signals is that they often combine different types of representations, such as graphical scores and sequences of performance actions that are encoded as MIDI files. Since audio signals usually comprise multiple sound sources, then unlike speech signals that can be efficiently described in terms of specific models (such as source-filter model), it is hard to devise a parametric representation for general audio. Parametric audio representations usually use filter banks or sinusoidal models to capture multiple sound parameters, sometimes increasing the representation size in order to capture internal structure in the signal. Additional types of data that are relevant for computer audition are textual descriptions of audio contents, such as annotations, reviews, and visual information in the case of audio-visual recordings. === Features === Description of contents of general audio signals usually requires extraction of features that capture specific aspects of the audio signal. Generally speaking, one could divide the features into signal or mathematical descriptors such as energy, description of spectral shape etc., statistical characterization such as change or novelty detection, special representations that are better adapted to the nature of musical signals or the auditory system, such as logarithmic growth of sensitivity (bandwidth) in frequency or octave invariance (chroma). Since parametric models in audio usually require very many parameters, the features are used to summarize properties of multiple parameters in a more compact or salient representation. === Musical knowledge === Finding specific musical structures is possible by using musical knowledge as well as supervised and unsupervised machine learning methods. Examples of this include detection of tonality according to distribution of frequencies that correspond to patterns of occurrence of notes in musical scales, distribution of note onset times for detection of beat structure, distribution of energies in different frequencies to detect musical chords and so on. === Sound similarity and sequence modeling === Comparison of sounds can be done by comparison of features with or without reference to time. In some cases an overall similarity can be assessed by close values of features between two sounds. In other cases when temporal structure is important, methods of dynamic time warping need to be applied to "correct" for different temporal scales of acoustic events. Finding repetitions and similar sub-sequences of sonic events is important for tasks such as texture synthesis and machine improvisation. === Source separation === Since one of the basic characteristics of general audio is that it comprises multiple simultaneously sounding sources, such as multiple musical instruments, people talking, machine noises or animal vocalization, the ability to identify and separate individual sources is very desirable. Unfortunately, there are no methods that can solve this problem in a robust fashion. Existing methods of source separation rely sometimes on correlation between different audio channels in multi-channel recordings. The ability to separate sources from stereo signals requires different techniques than those usually applied in communications where multiple sensors are available. Other source separation methods rely on training or clustering of features in mono recording, such as tracking harmonically related partials for multiple pitch detection. Some methods, before explicit recognition, rely on revealing structures in data without knowing the structures (like recognizing objects in abstract pictures without attributing them meaningful labels) by finding the least complex data representations, for instance describing audio scenes as generated by a few tone patterns and their trajectories (polyphonic voices) and acoustical contours drawn by a tone (c Within the field of information science, information space analysis is a deterministic method, enhanced by machine intelligence, for locating and assessing resources for team-centric efforts. Organizations need to be able to quickly assemble teams backed by the support services, information, and material to do the job. To do so, these teams need to find and assess sources of services that are potential participants in the team effort. To support this initial team and resource development, information needs to be developed via analysis tools that help make sense of sets of data sources in an Intranet or Internet. Part of the process is to characterize them, partition them, and sort and filter them. These tools focus on three key issues in forming a collaborative team: Help individuals responsible for forming the team understand what is available. Assist team members in identifying the structure and categorize the information available to them in a manner specifically suited to the task at hand. Aid team members to understand the mappings of their information between their organization and that used by others who might participate. Information space analysis tools combine multiple methods to assist in this task. This causes the tools to be particularly well-suited to integrating additional technologies in order to create specialized systems.Weak artificial intelligence
Computer audition
Information space analysis