AI Data Poisoning

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

  • WaveNet

    WaveNet

    WaveNet is a deep neural network for generating raw audio. It was created by researchers at London-based AI firm DeepMind. The technique, outlined in a paper in September 2016, is able to generate relatively realistic-sounding human-like voices by directly modelling waveforms using a neural network method trained with recordings of real speech. Tests with US English and Mandarin reportedly showed that the system outperforms Google's best existing text-to-speech (TTS) systems, although as of 2016 its text-to-speech synthesis still was less convincing than actual human speech. WaveNet's ability to generate raw waveforms means that it can model any kind of audio, including music. == History == Generating speech from text is an increasingly common task thanks to the popularity of software such as Apple's Siri, Microsoft's Cortana, Amazon Alexa and the Google Assistant. Most such systems use a variation of a technique that involves concatenated sound fragments together to form recognisable sounds and words. The most common of these is called concatenative TTS. It consists of large library of speech fragments, recorded from a single speaker that are then concatenated to produce complete words and sounds. The result sounds unnatural, with an odd cadence and tone. The reliance on a recorded library also makes it difficult to modify or change the voice. Another technique, known as parametric TTS, uses mathematical models to recreate sounds that are then assembled into words and sentences. The information required to generate the sounds is stored in the parameters of the model. The characteristics of the output speech are controlled via the inputs to the model, while the speech is typically created using a voice synthesiser known as a vocoder. This can also result in unnatural sounding audio. == Design and ongoing research == === Background === WaveNet is a type of feedforward neural network known as a deep convolutional neural network (CNN). In WaveNet, the CNN takes a raw signal as an input and synthesises an output one sample at a time. It does so by sampling from a softmax (i.e. categorical) distribution of a signal value that is encoded using μ-law companding transformation and quantized to 256 possible values. === Initial concept and results === According to the original September 2016 DeepMind research paper WaveNet: A Generative Model for Raw Audio, the network was fed real waveforms of speech in English and Mandarin. As these pass through the network, it learns a set of rules to describe how the audio waveform evolves over time. The trained network can then be used to create new speech-like waveforms at 16,000 samples per second. These waveforms include realistic breaths and lip smacks – but do not conform to any language. WaveNet is able to accurately model different voices, with the accent and tone of the input correlating with the output. For example, if it is trained with German, it produces German speech. The capability also means that if the WaveNet is fed other inputs – such as music – its output will be musical. At the time of its release, DeepMind showed that WaveNet could produce waveforms that sound like classical music. === Content (voice) swapping === According to the June 2018 paper Disentangled Sequential Autoencoder, DeepMind has successfully used WaveNet for audio and voice "content swapping": the network can swap the voice on an audio recording for another, pre-existing voice while maintaining the text and other features from the original recording. "We also experiment on audio sequence data. Our disentangled representation allows us to convert speaker identities into each other while conditioning on the content of the speech." (p. 5) "For audio, this allows us to convert a male speaker into a female speaker and vice versa [...]." (p. 1) According to the paper, a two-digit minimum amount of hours (c. 50 hours) of pre-existing speech recordings of both source and target voice are required to be fed into WaveNet for the program to learn their individual features before it is able to perform the conversion from one voice to another at a satisfying quality. The authors stress that "[a]n advantage of the model is that it separates dynamical from static features [...]." (p. 8), i. e. WaveNet is capable of distinguishing between the spoken text and modes of delivery (modulation, speed, pitch, mood, etc.) to maintain during the conversion from one voice to another on the one hand, and the basic features of both source and target voices that it is required to swap on the other. The January 2019 follow-up paper Unsupervised speech representation learning using WaveNet autoencoders details a method to successfully enhance the proper automatic recognition and discrimination between dynamical and static features for "content swapping", notably including swapping voices on existing audio recordings, in order to make it more reliable. Another follow-up paper, Sample Efficient Adaptive Text-to-Speech, dated September 2018 (latest revision January 2019), states that DeepMind has successfully reduced the minimum amount of real-life recordings required to sample an existing voice via WaveNet to "merely a few minutes of audio data" while maintaining high-quality results. Its ability to clone voices has raised ethical concerns about WaveNet's ability to mimic the voices of living and dead persons. According to a 2016 BBC article, companies working on similar voice-cloning technologies (such as Adobe Voco) intend to insert watermarking inaudible to humans to prevent counterfeiting, while maintaining that voice cloning satisfying, for instance, the needs of entertainment-industry purposes would be of a far lower complexity and use different methods than required to fool forensic evidencing methods and electronic ID devices, so that natural voices and voices cloned for entertainment-industry purposes could still be easily told apart by technological analysis. == Applications == At the time of its release, DeepMind said that WaveNet required too much computational processing power to be used in real world applications. As of October 2017, Google announced a 1,000-fold performance improvement along with better voice quality. WaveNet was then used to generate Google Assistant voices for US English and Japanese across all Google platforms. In November 2017, DeepMind researchers released a research paper detailing a proposed method of "generating high-fidelity speech samples at more than 20 times faster than real-time", called "Probability Density Distillation". At the annual I/O developer conference in May 2018, it was announced that new Google Assistant voices were available and made possible by WaveNet; WaveNet greatly reduced the number of audio recordings that were required to create a voice model by modeling the raw audio of the voice actor samples.

    Read more →
  • Informetrics

    Informetrics

    Informetrics is the study of quantitative aspects of information, it is an extension and evolution of traditional bibliometrics and scientometrics. Informetrics uses bibliometrics and scientometrics methods to study mainly the problems of literature information management and evaluation of science and technology. Informetrics is an independent discipline that uses quantitative methods from mathematics and statistics to study the process, phenomena, and law of informetrics. Informetrics has gained more attention as it is a common scientific method for academic evaluation, research hotspots in discipline, and trend analysis. Informetrics includes the production, dissemination, and use of all forms of information, regardless of its form or origin. Informetrics encompasses the following fields: Scientometrics, which studies quantitative aspects of science Webometrics, which studies quantitative aspects of the World Wide Web Bibliometrics, which studies quantitative aspects of recorded information Cybermetrics, which is similar to webometrics, but broadens its definition to include electronic resources == Origin and Development == The term informetrics (French: informétrie) was coined by German scholar Otto Nacke in 1979, and came from the German word 'informetrie’. The corresponding English terminology soon appeared in the subsequent literature. In September 1980, Professor Otto Nacke introduced the term 'informetrics' at the first seminar on Informetrics in Frankfurt, Germany. Later, Committee on Informetrics has established through The International Federation for Information and Documentation (FID). In 1987, informetrics started to be officially recognized by the international information community and several foreign information scientists. In 1988, at First International Conference on Bibliometrics and Theoretical Aspects of Information Retrieval Archived 2022-05-23 at the Wayback Machine, Brooks suggested bibliometrics and scientometrics can be included in the field of informetrics. In 1990, Leo Egghe and Ronald Rousseau proposed the formation of the discipline of informetrics: statistical bibliography (1923) to bibliometrics and scientometrics (1969) and then to informetrics (1979). In 1993, the International Society for Scientometrics and Informetrics (ISSI) Archived 2023-11-05 at the Wayback Machine was founded at the International Conference on Bibliometrics, Informetrics and Scientometrics in Berlin, and the first one was held in Belgium and organized by Leo Egghe and Ronald Rousseau. The society was formally incorporated in 1994 in the Netherlands and plays a significant role in the development of informetrics. The ISSI aims to promote the "exchange and communication of professional information in the fields of scientometrics and informetrics, including improve standards, theory and practice, as well as promote research, education and training". In addition, to "engage in relevant public conversation and policy discussions". In the western world, 20th century's Informetrics is mostly based on Lotka's law, named after Alfred J. Lotka, Zipf's law, named after George Kingsley Zipf, Bradford's law named after Samuel C. Bradford and on the work of Derek J. de Solla Price, Gerard Salton, Leo Egghe, Ronald Rousseau, Tibor Braun, Olle Persson, Peter Ingwersen, Manfred Bonitz, and Eugene Garfield. == Difference Between Informetrics, Bibliometrics and Scientometrics == Since the 1960s, three similar terms have emerged in the fields of library science, philology and science of science, they are bibliometrics, scientometrics and informetrics, representing three very similar quantitative sub-disciplines. The three metrics terms can be confusing and often misused. Informetrics and bibliometrics interpenetrate each other but have different aspects in research object, research scope, and measuring unit. Informetrics and scientometrics are very different in their research purpose and research object, as well as the research scope and application. Bibliometrics is categorised under the field of library science, it uses mathematical and statistical methods to describe, evaluate, and predict the current status and trends of science and technology. Also to study the "distribution structure, quantitative relationship, change law and quantitative management of literature information, quantitative relationships, patterns and quantitative management of literature and information". The term was first used by Alan Pritchard in 1969 in his paper Statistical Bibliography or Bibliometrics?. Scientometrics is a branch of science that quantitatively evaluates and predicts the process and management of scientific activities in order to reveal their development patterns and trends. The definition of scientometrics was described by Derek De Solla Price in his book Science to Science as the “quantitative study of science, communication in science, and science policy”. === Links between the three metrics terms === The most prominent connection between the three metrics terms is in their research objects. Since all three disciplines use literature information as their research object, therefore, they have some similarities and overlaps in their research methods and fields. Moreover, they all use mathematical methods as the basic research methods and they all apply the three basic laws, Bradford's law, Lotka's law and Zipf's law. === Distinctions between the three metrics terms === The distinction between the three metrics terms can tell from their research object and research purpose. The research of bibliometrics focuses on the analysis of "scientific output in the form of articles, publications, citations, and others". Scientometrics is to measure the basic characteristics and laws of scientific activities. Where informetrics is to investigate information sources and information distribution process. == Concept and System Structure == === Purpose of Informetrics Research === The main purpose of informetrics is to use its theocratical research to solve the methodological issues in the research process, and to discover and reveal the basic laws of information distribution through the study of information process and phenomenon. In this way, makes information management more scientific and provides a quantitative basis for information services and information management decisions. For informetrics, it is necessary to bring quantitative analysis methods to further reveal the structure of information units and the "quantitative change law of literature information”. Further to this, to improve the scientific accuracy of information science from a theoretical point of view. At the same time, to better solve the basic contradictions in the information service, overcome the information crisis, and make the information management work more effective to serve science and technology, economic and social development. Quantitative analysis of bibliographic data was pioneered by Robert K. Merton in an article called Science, Technology, and Society in Seventeenth Century England and originally published by Merton in 1938. === The Significance of Informetrics Research === The significance of informetrics research is to summarize various empirical laws from the theoretical point of view, at the same time test and modify the various empirical laws in the new information unit conditions, and explore its new applicability, therefore, the scientific nature of information science can be improved, but also to provide theoretical guidance for practical work. === The Objects of Informetrics Research === The object of informetrics is broader than the field of bibliometrics and scientometrics, including "messages, data, events, objects, text, and documents”. Informetrics is often used to inform policies and decisions across a broad range of fields, such as economy, politics, technology and social spheres that "influence the flow and use patterns of information". Tague-Sutcliffe describes the following uses of informetrics: Citation analysis; Characteristics of authors; Use of recorded information; Obsolescence of the literature; Concomitant growth of new concepts; Characteristics of publication sources; Definition and measurement o information; Growth of subject literature, databases, libraries; Types and characteristics of retrieval performance measures; Statistical aspects of language, word, and phrase frequencies. == Basic Laws == In the field of informetrics research, there are many outstanding contributors in the discipline with a solid knowledge of quantitative research methods. In the early 20th century, several scientists contributed empirical applications that have become the three basic laws of informetrics, Bradford's law, Lotka's law, and Zipf's law, which promote the development of informetrics. === Bradford's Law === The British documentalist and librarian Samuel C. Bradford first discovered the law of concentration and scattering of literature, and in 1934, it has be

    Read more →
  • BuildingSMART Data Dictionary

    BuildingSMART Data Dictionary

    buildingSMART Data Dictionary (bSDD) is a service provided by buildingSMART which offers free data dictionaries for the international standardization of construction planning. The structure of bSDD was defined by the Nonprofit organization Buildingsmart and is used to describe objects and their attributes in a BIM process. == Aim == The aim of bSDD is to enable architects and planners to exchange and share building data across different specialists and language boundaries and thus avoid misunderstandings caused by different interpretations of terms. The bSDD standard extends the more general IFC. Software developers can access and use the dictionaries. In May 2025 over 300 dictionaries are available, including IFC, extensions to it such as Airport Domain IFC extension module or classification systems like Uniclass. == Structure == The main structural parts of bSDD are: Dictionary: A dictionary is a collection of classes: Class: A class describes the various object types, such as Bag drop or Baggage conveyor in airport planning. A class contains properties: Property: A property describes a part of a class, e.g. color or weight. Related properties are organized in a group: GroupOfProperties: A group organizes related properties, e.g. environmental properties or electrical properties. == Creating and managing a directory == Every dictionary in bSDD must be published in the name of a registered organization. As soon as the content is activated, it receives an unchangeable URI. This means that the content remains permanently in bSDD and cannot be deleted - this ensures stable use of the dictionary. It is only possible to change the status to inactive if it is no longer to be used - however, the dictionary remains permanently.

    Read more →
  • Metadirectory

    Metadirectory

    A metadirectory system provides for the flow of data between one or more directory services and databases in order to maintain synchronization of that data. It is an important part of identity management systems. The data being synchronized typically are collections of entries that contain user profiles and possibly authentication or policy information. Most metadirectory deployments synchronize data into at least one LDAP-based directory server, to ensure that LDAP-based applications such as single sign-on and portal servers have access to recent data, even if the data is mastered in a non-LDAP data source. Metadirectory products support filtering and transformation of data in transit. Most identity management suites from commercial vendors include a metadirectory product, or a user provisioning product.

    Read more →
  • Passenger drone

    Passenger drone

    A passenger drone is an autonomous aircraft that is designed to carry a small number of passengers to a destination. In 2021, Ehang, a technology company based in Guangzhou, China, developed the Ehang 184, the world's first passenger drone. == History == Unmanned aerial vehicles were first introduced in World War 1, when Britain first developed the Aerial Target, an aircraft controlled remotely through radio signals. A year later in the United States, testing of Kettering Bug, a 12-foot long biplane attached with a bomb and that launched via a “slingshot-like rail”, was also under progress. Both of their unreliable test results and their possibility of endangering friendly troops in deployment caused neither aircraft to be used during the war. Production of UAVs continued after World War I and into World War II and the Vietnam War, where they would be invaluable in assisting with training as well as reconnaissance. Late 20th century also saw the proposition and development of unique methods of travel, including personal jetpacks and even flying cars. While the previously mentioned are not drones, they serve as a precursor and foundation for the passenger drones of today. The first passenger drone was unveiled on January 6 of 2016 at the international Consumer Electronics Show (CES) in Las Vegas. Produced by Ehang, a Chinese company based in Guangzhou, the 184 was a one passenger drone equipped with four propellers that could fly for approximately 23 minutes at a top speed of 63 mph. Since then, many new companies have entered the market, but none yet have been accessible by the public. == Technological development == Since 2013, improvements in designs to wing structures have contributed to the economic feasibility of passenger drones. New structural advancements, such as the flapping-wing propulsion system based on the mechanisms of birds’ wings, are more available as they have proven their capabilities in laboratory testing. As of September 29th, 2015, most market-ready drones are delivery drones with a carrying capacity limited to small packages - with a typical max capacity of under 5 pounds. However, while the technology exists for drones with larger carrying capacities, specifically those capable of carrying multiple humans, the execution of this technology is not yet market accessible. This capacity limit must be addressed for passenger drones; given current designs strive to carry a maximum of 5 people. However, some estimates believe that passengers drones could become a reality, specifically for paid transportation and emergency purposes, as early as 2026. With implementation of this technology, there could be significant effects on ground traffic including reducing gridlock in heavily congested areas and conserving up to 15% of the fuel currently used in heavy traffic patterns. However, extensive growth of the passenger drone market also risks clouding the low-altitude airspace and causing new safety risks. However, this concern is being addressed by recent advancements in the Internet of Drones (IoD) which links drones together to ensure appropriate pathing and reduce mid-air collisions. While this brings additional security issues, including maintaining reliable communication channels in the case of technological failure, researchers hope that this will help reduce crashes that can result in damage to passengers, buildings, and people in and around the airspace. == Notable companies == Ehang is a Chinese company that has developed numerous drones including passenger plane Ehang 184. EHang 184 was their first model, developed as an eight dual rotor wing blade drone that can carry two passengers. The model was retired in 2020 and is replaced by the Ehang 216. Ehang also released a one passenger drone, Ehang 116. Ehang in 2021 unveiled the model VT-30. VT-30 is designed to have eight dual rotor wing blades to complement its fixed wing platform. Flyastro, a Texas-based drone company, developed the Astro ALTA, with two and four person passenger models. The company is known for being the first to develop a solar-powered airplane. The development team initially began with the model, Elroy. It was a two passenger drone with similar design to the ALTA. Once flight was achieved, the model Astro ALTA began development. Joby Aviation is a California based company that has developed a five passenger drone, with one seat for the pilot. The company expects to complete its FAA certification process 2022. Joby in 2020 acquired a 75 million dollar investment from service provider Uber Technologies Inc., leading to Uber Elevate and Expands partnership. Archer Aviation is a California-based company that has developed a two passenger model called Maker. It has fixed wings with twelve rotor wings. Archer is developing five person model. United Airlines has partnered with Archer for commercial sale of the model, Maker. Maker is expected to be released within Los Angeles and Miami by 2024. CityAirbus is a drone project developed by Airbus, a European multinational aerospace company, based in the Netherlands. CityAirbus has developed a four- person passenger drone with fixed wings that include rotor wing blades. Its expected certification for public flight is in 2025. Boeing, an American multinational aviation corporation is developing a passenger drone model called the Passenger Air Vehicle (PAV). The model is a fixed wing with eight rotor blade wings attached onto a platform underneath the base structure. This model can hold two passengers and still is in development. Volocopter is a German aircraft manufacturer that is developing a passenger drone called Volocity. The model consist of eighteen rotor wings above the cockpit on a circular ring. Japan Airlines, an investor of Volocopter plans to have public test in Japan as early as 2023. == Future use == === Potential benefits === Passenger drones can greatly reduce the time for travel. As passenger drones flight paths are not restricted by conventional roads, the travel distance is shortened. Current ventures such as Joby Aviation, after acquiring Uber Air, plan to take advantage of this technology in the form of air taxis. Other potential benefits include the use of passenger drones by emergency services such as search and rescue missions and the delivery of life saving goods. Companies like Ehang have already begun using passenger drones as emergency vehicles as a response to the potential river collapses during the flood season in China. === Concerns === Passenger and air traffic safety remains at the forefront of concerns. Regulations for air traffic centered around passenger drones are still underway and would continue to develop with increasing use cases for passenger drones. Remote security threats on commercial drones such as Man-In-The-Middle (MITM) attack have also exposed the vulnerabilities in current drone systems. Among American adults, 54 percent say that they would feel unsafe flying inside a passenger drone. Passenger drones can be very noisy; a single passenger drone such as Joby Aviation’s all-electric vertical take-off and landing (“eVTOL”) aircraft has an estimated noise production of 70 decibels (dB), a noise level equating to “loud traffic”.

    Read more →
  • International Philosophical Bibliography

    International Philosophical Bibliography

    The International Philosophical Bibliography (IPB), also known in French as Répertoire bibliographique de la philosophie (RBP), is a bibliographic database covering publications on the history of philosophy and continental philosophy. The database comprises records of publications in over 30 languages. Annually, about 12,000 records are added. The indexes include, among other elements, over 84,000 names of authors, editors, translators, reviewers, and collaborators, as well as more than 3,000 commentaries on philosophical works, making it the world's most complete index in Philosophy. Since 1934, the IPB has been developed by the Higher Institute of Philosophy at the University of Louvain (UCLouvain), first in Leuven and since 1978 in Louvain-la-Neuve. The online version was launched by Peeters Publishers in 1997 and continues to be updated quarterly.

    Read more →
  • DPVweb

    DPVweb

    DPVweb is a database for virologists working on plant viruses combining taxonomic, bioinformatic and symptom data. == Description == DPVweb is a central web-based source of information about viruses, viroids and satellites of plants, fungi and protozoa. It provides comprehensive taxonomic information, including brief descriptions of each family and genus, and classified lists of virus sequences. It makes use of a large database that also holds detailed, curated, information for all sequences of viruses, viroids and satellites of plants, fungi and protozoa that are complete or that contain at least one complete gene. There are currently about 10,000 such sequences. For comparative purposes, DPVweb also contains a representative sequence of all other fully sequenced virus species with an RNA or single-stranded DNA genome. For each curated sequence the database contains the start and end positions of each feature (gene, non-translated region, etc.), and these have been checked for accuracy. As far as possible, the nomenclature for genes and proteins are standardized within genera and families. Sequences of features (either as DNA or amino acid sequences) can be directly downloaded from the website in FASTA format. The sequence information can also be accessed via client software for personal computers. == History == The Descriptions of Plant Viruses (DPVs) were first published by the Association of Applied Biologists in 1970 as a series of leaflets, each one written by an expert describing a particular plant virus. In 1998 all of the 354 DPVs published in paper were scanned, and converted into an electronic format in a database and distributed on CDROM. In 2001 the descriptions were made available on the new DPVweb site, providing open access to the now 400+ DPVs (currently 415) as well as taxonomic and sequence data on all plant viruses. == Uses == DPVweb is an aid to researchers in the field of plant virology as well as an educational resource for students of virology and molecular biology. The site provides a single point of access for all known plant virus genome sequences making it easy to collect these sequences together for further analysis and comparison. Sequence data from the DPVweb database have proved valuable for a number of projects: survey of codon usage bias amongst all plant viruses, two-way comparisons between comprehensive sets of sequences from the families Flexiviridae and Potyviridae that have helped inform taxonomy and clarify genus and species discrimination criteria, a survey and verification of the polyprotein cleavage sites within the family Potyviridae.

    Read more →
  • Skyline operator

    Skyline operator

    The skyline operator is the subject of an optimization problem and computes the Pareto optimum on tuples with multiple dimensions. This operator is an extension to SQL proposed by Börzsönyi et al. to filter results from a database to keep only those objects that are not dominated by any other point on all dimensions. The name skyline comes from the view on Manhattan from the Hudson River, where those buildings can be seen that are not hidden by any other. A building is visible if it is not dominated by a building that is taller or closer to the river (two dimensions, distance to the river minimized, height maximized). Another application of the skyline operator involves selecting a hotel for a holiday. The user wants the hotel to be both cheap and close to the beach. However, hotels that are close to the beach may also be expensive. In this case, the skyline operator would only present those hotels that are not worse than any other hotel in both price and distance to the beach. == Formal specification == The skyline operator returns tuples that are not dominated by any other tuple. A tuple dominates another if it is at least as good in all dimensions and better in at least one dimension. Formally, we can think of each tuple as a vector p , q ∈ R n {\displaystyle p,q\in \mathbb {R} ^{n}} . p {\displaystyle p} dominates q {\displaystyle q} (written: p ≻ q {\displaystyle p\succ q} ) if p {\displaystyle p} is at least as good as q {\displaystyle q} in every dimension, and superior in at least one: p ≻ q ⇔ ∀ i ∈ [ n ] . p [ i ] ⪰ q [ i ] ∧ ∃ j ∈ [ n ] . p [ j ] ≻ q [ j ] . {\displaystyle p\succ q\Leftrightarrow \forall i\in [n].p[i]\succeq q[i]\wedge \exists j\in [n].p[j]\succ q[j].} Dominance ( p ≻ q {\displaystyle p\succ q} ) can be defined as any strict partial ordering, for example greater (with ≻:=> {\displaystyle \succ :=>} and ⪰:=≥ {\displaystyle \succeq :=\geq } ) or less (with ≻:=< {\displaystyle \succ :=<} and ⪰:=≤ {\displaystyle \succeq :=\leq } ). Assuming two dimensions and defining dominance in both dimensions as greater, we can compute the skyline in SQL-92 as follows: == Proposed syntax == As an extension to SQL, Börzsönyi et al. proposed the following syntax for the skyline operator: where d1, ... dm denote the dimensions of the skyline and MIN, MAX and DIFF specify whether the value in that dimension should be minimised, maximised or simply be different. Without an SQL extension, the SQL query requires an antijoin with not exists: == Implementation == The skyline operator can be implemented directly in SQL using current SQL constructs, but this has been shown to be very slow in disk-based database systems. Other algorithms have been proposed that make use of divide and conquer, indices, MapReduce and general-purpose computing on graphics cards. Skyline queries on data streams (i.e. continuous skyline queries) have been studied in the context of parallel query processing on multicores, owing to their wide diffusion in real-time decision making problems and data streaming analytics. Exasol features a native implementation.

    Read more →
  • Key–value database

    Key–value database

    A key-value database, or key-value store, is a data storage paradigm designed for storing, retrieving, and managing associative arrays, a data structure more commonly known today as a dictionary. Dictionaries contain a collection of objects, or records, which in turn have many different fields within them. These records are stored and retrieved using a key that uniquely identifies the record, and is used to find the data within the database. Key-value databases differ from the better known relational databases (RDB). RDBs pre-define the data structure in the database as a series of tables containing fields with well-defined data types. Exposing the data types to the database program allows it to apply various optimizations. In contrast, key-value systems treat the value as opaque to the database itself, and typically support only simple operations such as storing, retrieving, updating, and deleting a value by its key. This offers considerable flexibility and makes such systems well suited to low-latency, high-throughput workloads dominated by direct key lookups, but less suitable for applications that require complex queries or explicit relationships among records. A lack of standardization, limited transaction support, and relatively simple query interfaces long restricted many key-value systems to specialized uses, but the rapid move to cloud computing after 2010 helped drive renewed interest in them as part of the broader NoSQL movement. Some graph databases, such as ArangoDB, are also key–value databases internally, adding the concept of relationships (pointers) between records as a first-class data type. == Types and examples == Key–value systems span a wide consistency spectrum, from eventually consistent designs to strongly consistent or serializable ones, and some allow the consistency level to be configured as part of the trade-off against latency and availability. Renewed interest in key–value and other NoSQL systems was driven in part by the demands of big data, distributed, and cloud applications. Their scalability and availability made them attractive for cloud data management, although limited transaction support, low-level query interfaces, and the lack of standardization remained obstacles to wider adoption. Some maintain data in memory (RAM), while others employ solid-state drives or rotating disks. Some key–value systems add additional structure to their keys. For example, Oracle NoSQL Database organizes records using composite keys with "major" and "minor" components, an arrangement that Oracle compares to a directory-path structure in a file system. More generally, however, key–value stores are defined by their use of unique keys associated with opaque values and by their emphasis on simple key-based operations. Unix included dbm (database manager), a minimal database library written by Ken Thompson for managing associative arrays with a single key and hash-based access. Later implementations and related libraries included sdbm, GNU dbm (gdbm), and Berkeley DB. A more recent example is RocksDB, a persistent key–value storage engine developed at Facebook and designed for large-scale applications. Other examples include in-memory systems such as Memcached and Redis, and persistent systems such as Berkeley DB, Riak, and Voldemort.

    Read more →
  • Irish logarithm

    Irish logarithm

    The Irish logarithm was a system of number manipulation invented by Percy Ludgate for machine multiplication. The system used a combination of mechanical cams as lookup tables and mechanical addition to sum pseudo-logarithmic indices to produce partial products, which were then added to produce results. The technique is similar to Zech logarithms (also known as Jacobi logarithms), but uses a system of indices original to Ludgate. == Concept == Ludgate's algorithm compresses the multiplication of two single decimal numbers into two table lookups (to convert the digits into indices), the addition of the two indices to create a new index which is input to a second lookup table that generates the output product. Because both lookup tables are one-dimensional, and the addition of linear movements is simple to implement mechanically, this allows a less complex mechanism than would be needed to implement a two-dimensional 10×10 multiplication lookup table. Ludgate stated that he deliberately chose the values in his tables to be as small as he could make them; given this, Ludgate's tables can be simply constructed from first principles, either via pen-and-paper methods, or a systematic search using only a few tens of lines of program code. They do not correspond to either Zech logarithms, Remak indexes or Korn indexes. == Pseudocode == The following is an implementation of Ludgate's Irish logarithm algorithm in the Python programming language: Table 1 is taken from Ludgate's original paper; given the first table, the contents of Table 2 can be trivially derived from Table 1 and the definition of the algorithm. Note since that the last third of the second table is entirely zeros, this could be exploited to further simplify a mechanical implementation of the algorithm.

    Read more →
  • World Congress of Universal Documentation

    World Congress of Universal Documentation

    The World Congress of Universal Documentation was held from 16 to 21 August 1937 in Paris, France. Delegates from 45 countries met to discuss means by which all of the world's information, in print, in manuscript, and in other forms, could be efficiently organized and made accessible. == The Congress in the history of information science == The Congress, held at the Trocadéro under "the auspices" of the Institut International de Bibliographie, was "the apotheosis" of a general movement in the 1930s towards the classification of the growing mass of information and the improvement of access to that information. For the first time in the history of information science, technological means were beginning to catch up with theoretical ends, and the discussions at the conference reflected that fact. Its participation in the Congress was one of the first projects of the American Documentation Institute (ADI). Participants in the conference discussed what has been more recently called "a continuously updated hypertext encyclopedia." Joseph Reagle sees many of the ideas considered at the conference as forerunners of some of the key goals and norms of Wikipedia. == Microfilm == The main resolution adopted by the congress proposed that microfilm be used to make information universally available. Watson Davis, chairman of the American delegation and president of the ADI, stated that the volume of information being produced created difficult problems of access and preservation, but that these could be solved by the use of microfilm. In his address to the Congress, Davis said: Most immediate and practical to put into operation is the microfilming of material in libraries upon demand. It will become fashionable and economical to send a potential book borrower a little strip of microfilm for his permanent possession instead of the book and then badgering him to return it before he has had a chance to use it effectively. I believe that reading machines for microfilm will become as common as typewriters in studies and laboratories. If the principal libraries and information centers of the world will cooperate in such "bibliofilm services," as they are called, if they exchange orders and have essentially uniform methods, forms for ordering, standard microfilm format and production methods and comparable if not uniform prices, the resources of any library will be placed at the disposal of any scholar or scientist anywhere in the world. All the libraries cooperating will merge into one world library without loss of identity or individuality. The world's documentation will become available to even the most isolated and individualistic scholar. The Congress included two separate exhibits on microfilm. One was of the equipment used at the Bibliothèque nationale de France and the other, coordinated by Herman H. Fussler of the University of Chicago, consisting of "an entire microfilm laboratory," complete with cameras, a darkroom, and various kinds of reading machines. Emanuel Goldberg presented a paper on an early copying camera he had invented. Other resolutions passed by the Congress concerned uniform standards for the preparation of articles, for classifying books and other documents, for indexing newspapers and periodicals, and for cooperation between libraries. == H. G. Wells == In his address to the Congress, H. G. Wells said that he thought that his idea of the "world brain" was a precursor to the ideas other delegates were proposing, and explicitly linked the projects being discussed to the work of the encyclopédistes: I am speaking of a process of mental organization throughout the world which I believe to be as inevitable as anything can be in human affairs. All the distresses and horrors of the present time are fundamentally intellectual. The world has to pull its mind together, and this [Congress] is the beginning of its efforts. Civilization is a Phoenix. It perishes in flames and even as it dies it is born again. This synthesis of knowledge upon which you are working is the necessary beginning of a new world. It is good to be meeting here in Paris where the first encyclopedia of power was made. It would be impossible to overrate our debt to Diderot and his associates. == Other participants == Participants in the Congress included authors, librarians, scholars, archivists, scientists, and editors. Some of the notable people in attendance not mentioned above were:

    Read more →
  • Outline of artificial intelligence

    Outline of artificial intelligence

    The following outline is provided as an overview of and topical guide to artificial intelligence: Artificial intelligence (AI) is intelligence exhibited by machines or software. It is also the name of the scientific field which studies how to create computers and computer software that are capable of intelligent behavior. == AI terminology == Glossary of artificial intelligence == Goals and applications == === General intelligence === Artificial general intelligence AI-complete === Reasoning and problem solving === Automated reasoning Mathematics Automated theorem prover Computer-assisted proof – Computer algebra General Problem Solver Expert system – Decision support system – Clinical decision support system – === Knowledge representation === Knowledge representation Knowledge management Cyc === Planning === Automated planning and scheduling Strategic planning Sussman anomaly – === Learning === Machine learning – Constrained Conditional Models – Deep learning – Neural modeling fields – Supervised learning – Weak supervision (semi-supervised learning) – Unsupervised learning – === Natural language processing === Natural language processing (outline) – Chatterbots – Language identification – Large language model – Retrieval-augmented generation – Natural language user interface – Natural language understanding – Machine translation – Statistical semantics – Question answering – Semantic translation – Concept mining – Data mining – Text mining – Process mining – E-mail spam filtering – Information extraction – Named-entity extraction – Coreference resolution – Named-entity recognition – Relationship extraction – Terminology extraction – === Perception === Machine perception Pattern recognition – Computer Audition – Speech recognition – Speaker recognition – Computer vision (outline) – Image processing Intelligent word recognition – Object recognition – Optical mark recognition – Handwriting recognition – Optical character recognition – Automatic number plate recognition – Information extraction – Image retrieval – Automatic image annotation – Facial recognition systems – Silent speech interface – Activity recognition – Percept (artificial intelligence) === Robotics === Robotics – Behavior-based robotics – Cognitive – Cybernetics – Developmental robotics – Evolutionary robotics – === Control === Intelligent control Self-management (computer science) – Autonomic Computing – Autonomic Networking – === Social intelligence === Affective computing Kismet === Game playing === Game artificial intelligence – Computer game bot – computer replacement for human players. Video game AI – Computer chess – Computer Go – General game playing – General video game playing – === Creativity, art and entertainment === Artificial creativity Artificial life Artificial intelligence art AI anthropomorphism AI agent AI web browser AI boom AI slop Creative computing Generative artificial intelligence Generative pre trained transformer Uncanny valley Music and artificial intelligence Computational humor Chatbot === Integrated AI systems === AIBO – Sony's robot dog. It integrates vision, hearing and motorskills. Asimo (2000 to present) – humanoid robot developed by Honda, capable of walking, running, negotiating through pedestrian traffic, climbing and descending stairs, recognizing speech commands and the faces of specific individuals, among a growing set of capabilities. MIRAGE – A.I. embodied humanoid in an augmented reality environment. Cog – M.I.T. humanoid robot project under the direction of Rodney Brooks. QRIO – Sony's version of a humanoid robot. TOPIO, TOSY's humanoid robot that can play ping-pong with humans. Watson (2011) – computer developed by IBM that played and won the game show Jeopardy! It is now being used to guide nurses in medical procedures. Purpose: Open domain question answering Technologies employed: Natural language processing Information retrieval Knowledge representation Automated reasoning Machine learning Project Debater (2018) – artificially intelligent computer system, designed to make coherent arguments, developed at IBM's lab in Haifa, Israel. === Intelligent personal assistants === Intelligent personal assistant – Amazon Alexa – Assistant – Braina – Cortana – Google Assistant – Google Now – Mycroft – Siri – Viv – === Other applications === Artificial life – simulation of natural life through the means of computers, robotics, or biochemistry. Automatic target recognition – Diagnosis (artificial intelligence) – Speech generating device – Vehicle infrastructure integration – Virtual Intelligence – == History == History of artificial intelligence Progress in artificial intelligence Timeline of artificial intelligence AI effect – as soon as AI successfully solves a problem, the problem is no longer considered by the public to be a part of AI. This phenomenon has occurred in relation to every AI application produced, so far, throughout the history of development of AI. AI winter – a period of disappointment and funding reductions occurring after a wave of high expectations and funding in AI. Such funding cuts occurred in the 1970s, for instance. Moore's law === History by period === 2017 in artificial intelligence 2018 in artificial intelligence 2019 in artificial intelligence 2020 in artificial intelligence 2021 in artificial intelligence 2022 in artificial intelligence 2023 in artificial intelligence 2024 in artificial intelligence 2025 in artificial intelligence 2026 in artificial intelligence 2027 in artificial intelligence 2028 in artificial intelligence 2029 in artificial intelligence === History by subject === History of logic (formal reasoning is an important precursor of AI) History of machine learning (timeline) History of machine translation (timeline) History of natural language processing History of optical character recognition (timeline) == AI algorithms and techniques == === Search === Discrete search algorithms Uninformed search Brute force search – Problem-solving technique and algorithmic paradigmPages displaying short descriptions of redirect targets Search tree – Data structure in tree form sorted for fast lookup Breadth-first search – Algorithm to search the nodes of a graph Depth-first search – Algorithm to search the nodes of a graph State space search – Class of search algorithmsPages displaying short descriptions of redirect targets Informed search Best-first search – Graph exploring search algorithm A search algorithm – Algorithm used for pathfinding and graph traversal Heuristics – Problem-solving methodPages displaying short descriptions of redirect targets Pruning (algorithm) – Data compression techniquePages displaying short descriptions of redirect targets Adversarial search Minmax algorithm – Decision rule used for minimizing the possible loss for a worst-case scenarioPages displaying short descriptions of redirect targets Logic as search Production system (computer science) – Computer program used to provide artificial intelligence Rule based system – Type of computer systemPages displaying short descriptions of redirect targets Production rule – Computer program used to provide artificial intelligence Inference rule – Method of deriving conclusionsPages displaying short descriptions of redirect targets Horn clause – Type of logical formula Forward chaining – Inference engine in an expert system Backward chaining – Method of forming inferences Planning as search State space search – Class of search algorithmsPages displaying short descriptions of redirect targets Means–ends analysis – Problem solving technique === Optimization search === Optimization (mathematics) algorithms Hill climbing – Optimization algorithm Simulated annealing – Probabilistic optimization technique and metaheuristic Beam search – Heuristic search algorithm Random optimization – Optimization technique in mathematics Evolutionary computation Genetic algorithms – Competitive algorithm for searching a problem spacePages displaying short descriptions of redirect targets Gene expression programming – Evolutionary algorithm Genetic programming – Evolving computer programs with techniques analogous to natural genetic processes Differential evolution – Method of mathematical optimization Society based learning algorithms. Swarm intelligence – Collective behavior of decentralized, self-organized systems Particle swarm optimization – Iterative simulation method Ant colony optimization – Optimization algorithmPages displaying short descriptions of redirect targets Metaheuristic – Optimization technique === Logic === Logic and automated reasoning Programming using logic Logic programming – Programming paradigm based on formal logic See "Logic as search" above. Forms of Logic Propositional logic First-order logic First-order logic with equality Constraint satisfaction – Process in artificial intelligence and operations research Fuzzy logic Fuzzy set theory – Sets whose elements have degrees of membershipPages displaying short descriptions

    Read more →
  • Language technology

    Language technology

    Language technology, often called human language technology (HLT), studies methods of how computer programs or electronic devices can analyze, produce, modify or respond to human texts and speech. Working with language technology often requires broad knowledge not only about linguistics but also about computer science. It consists of natural language processing (NLP) and computational linguistics (CL) on the one hand, many application oriented aspects of these, and more low-level aspects such as encoding and speech technology on the other hand. Note that these elementary aspects are normally not considered to be within the scope of related terms such as natural language processing and (applied) computational linguistics, which are otherwise near-synonyms. As an example, for many of the world's lesser known languages, the foundation of language technology is providing communities with fonts and keyboard setups so their languages can be written on computers or mobile devices. Other tools also are part of modern language technology and include machine translation, speech recognition, text processing and natural language processing. Large scale AI models have recently advanced the field and enhanced the ability of machines to interpret complex human context.

    Read more →
  • Uncertain database

    Uncertain database

    An uncertain database is a kind of database studied in database theory. The goal of uncertain databases is to manage information on which there is some uncertainty. Uncertain databases make it possible to explicitly represent and manage uncertainty on the data, usually in a succinct way. == Formal definition == At the basis of uncertain databases is the notion of possible world. Specifically, a possible world of an uncertain database is a (certain) database which is one of the possible realizations of the uncertain database. A given uncertain database typically has more than one, and potentially infinitely many, possible worlds. A formalism to represent uncertain databases then explains how to succinctly represent a set of possible worlds into one uncertain database. == Types of uncertain databases == Uncertain database models differ in how they represent and quantify these possible worlds: Incomplete databases are a compact representation of the set of possible worlds – the use of NULL in SQL, arguably the most commonplace instantiation of uncertain databases, is an example of incomplete database model. Probabilistic databases are a compact representation of a probability distribution over the set of possible worlds. Fuzzy databases are a compact representation of a fuzzy set of the possible worlds. Though mostly studied in the relational setting, uncertain database models can also be defined in other relational models such as graph databases or XML databases. === Incomplete database === The most common database model is the relational model. Multiple incomplete database models have been defined over the relational model, that form extensions to the relational algebra. These have been called Imieliński–Lipski algebras: Relations with NULL values, also called Codd tables c-tables v-tables === Example === The following table is a relation of an incomplete database, described in the formalism of NULL values: There are infinitely many possible worlds for this incomplete database, obtained by replacing the "NULL" values with concrete values. For instance, the following relation is a possible world:

    Read more →
  • Pointer jumping

    Pointer jumping

    Pointer jumping or path doubling is a design technique for parallel algorithms that operate on pointer structures, such as linked lists and directed graphs. Pointer jumping allows an algorithm to follow paths with a time complexity that is logarithmic with respect to the length of the longest path. It does this by "jumping" to the end of the path computed by neighbors. The basic operation of pointer jumping is to replace each neighbor in a pointer structure with its neighbor's neighbor. In each step of the algorithm, this replacement is done for all nodes in the data structure, which can be done independently in parallel. In the next step when a neighbor's neighbor is followed, the neighbor's path already followed in the previous step is added to the node's followed path in a single step. Thus, each step effectively doubles the distance traversed by the explored paths. Pointer jumping is best understood by looking at simple examples such as list ranking and root finding. == List ranking == One of the simpler tasks that can be solved by a pointer jumping algorithm is the list ranking problem. This problem is defined as follows: given a linked list of N nodes, find the distance (measured in the number of nodes) of each node to the end of the list. The distance d(n) is defined as follows, for nodes n that point to their successor by a pointer called next: If n.next is nil, then d(n) = 0. For any other node, d(n) = d(n.next) + 1. This problem can easily be solved in linear time on a sequential machine, but a parallel algorithm can do better: given n processors, the problem can be solved in logarithmic time, O(log N), by the following pointer jumping algorithm: The pointer jumping occurs in the last line of the algorithm, where each node's next pointer is reset to skip the node's direct successor. It is assumed, as in common in the PRAM model of computation, that memory access are performed in lock-step, so that each n.next.next memory fetch is performed before each n.next memory store; otherwise, processors may clobber each other's data, producing inconsistencies. The following diagram follows how the parallel list ranking algorithm uses pointer jumping for a linked list with 11 elements. As the algorithm describes, the first iteration starts initialized with all ranks set to 1 except those with a null pointer for next. The first iteration looks at immediate neighbors. Each subsequent iteration jumps twice as far as the previous. Analyzing the algorithm yields a logarithmic running time. The initialization loop takes constant time, because each of the N processors performs a constant amount of work, all in parallel. The inner loop of the main loop also takes constant time, as does (by assumption) the termination check for the loop, so the running time is determined by how often this inner loop is executed. Since the pointer jumping in each iteration splits the list into two parts, one consisting of the "odd" elements and one of the "even" elements, the length of the list pointed to by each processor's n is halved in each iteration, which can be done at most O(log N) time before each list has a length of at most one. == Root finding == Following a path in a graph is an inherently serial operation, but pointer jumping reduces the total amount of work by following all paths simultaneously and sharing results among dependent operations. Pointer jumping iterates and finds a successor — a vertex closer to the tree root — each time. By following successors computed for other vertices, the traversal down each path can be doubled every iteration, which means that the tree roots can be found in logarithmic time. Pointer doubling operates on an array successor with an entry for every vertex in the graph. Each successor[i] is initialized with the parent index of vertex i if that vertex is not a root or to i itself if that vertex is a root. At each iteration, each successor is updated to its successor's successor. The root is found when the successor's successor points to itself. The following pseudocode demonstrates the algorithm. algorithm Input: An array parent representing a forest of trees. parent[i] is the parent of vertex i or itself for a root Output: An array containing the root ancestor for every vertex for i ← 1 to length(parent) do in parallel successor[i] ← parent[i] while true for i ← 1 to length(successor) do in parallel successor_next[i] ← successor[successor[i]] if successor_next = successor then break for i ← 1 to length(successor) do in parallel successor[i] ← successor_next[i] return successor The following image provides an example of using pointer jumping on a small forest. On each iteration the successor points to the vertex following one more successor. After two iterations, every vertex points to its root node. == History and examples == Although the name pointer jumping would come later, JáJá attributes the first uses of the technique in early parallel graph algorithms and list ranking. The technique has been described with other names such as shortcutting, but by the 1990s textbooks on parallel algorithms consistently used the term pointer jumping. Today, pointer jumping is considered a software design pattern for operating on recursive data types in parallel. As a technique for following linked paths, graph algorithms are a natural fit for pointer jumping. Consequently, several parallel graph algorithms utilizing pointer jumping have been designed. These include algorithms for finding the roots of a forest of rooted trees, connected components, minimum spanning trees, and biconnected components. However, pointer jumping has also shown to be useful in a variety of other problems including computer vision, image compression, and Bayesian inference.

    Read more →