AI Coding Neovim

AI Coding Neovim — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Secure coding

    Secure coding

    Secure coding is the practice of developing computer software in such a way that guards against the accidental introduction of security vulnerabilities. Defects, bugs and logic flaws are consistently the primary cause of commonly exploited software vulnerabilities. Through the analysis of thousands of reported vulnerabilities, security professionals have discovered that most vulnerabilities stem from a relatively small number of common software programming errors. By identifying the insecure coding practices that lead to these errors and educating developers on secure alternatives, organizations can take proactive steps to help significantly reduce or eliminate vulnerabilities in software before deployment. Some scholars have suggested that in order to effectively confront threats related to cybersecurity, proper security should be coded or "baked in" to the systems. With security being designed into the software, this ensures that there will be protection against insider attacks and reduces the threat to application security. Implementing secure coding practices is part of the secure by design approach to security engineering. == Buffer-overflow prevention == Buffer overflows, a common software security vulnerability, happen when a process tries to store data beyond a fixed-length buffer. For example, if there are 8 slots to store items in, there will be a problem if there is an attempt to store 9 items. In computer memory the overflowed data may overwrite data in the next location which can result in a security vulnerability (stack smashing) or program termination (segmentation fault). An example of a C program prone to a buffer overflow is If the user input is larger than the destination buffer, a buffer overflow will occur. To fix this unsafe program, use strncpy to prevent a possible buffer overflow. Another secure alternative is to dynamically allocate memory on the heap using malloc. In the above code snippet, the program attempts to copy the contents of src into dst, while also checking the return value of malloc() to ensure that enough memory was able to be allocated for the destination buffer. == Format-string attack prevention == A Format String Attack is when a malicious user supplies specific inputs that will eventually be entered as an argument to a function that performs formatting, such as printf(). The attack involves the adversary reading from or writing to the stack. The C printf function writes output to stdout. If the parameter of the printf function is not properly formatted, several security bugs can be introduced. Below is a program that is vulnerable to a format string attack. A malicious argument passed to the program could be "%s%s%s%s%s%s%s", which can crash the program from improper memory reads. == Integer-overflow prevention == Integer overflow occurs when an arithmetic operation results in an integer too large to be represented within the available space. A program which does not properly check for integer overflow introduces potential software bugs and exploits. Below is a function in C++ which attempts to confirm that the sum of x and y is less than or equal to a defined value MAX: The problem with the code is it does not check for integer overflow on the addition operation. If the sum of x and y is greater than the maximum possible value of an unsigned int, the addition operation will overflow and perhaps result in a value less than or equal to MAX, even though the sum of x and y is greater than MAX. Below is a function which checks for overflow by confirming the sum is greater than or equal to both x and y. If the sum did overflow, the sum would be less than x or less than y. == Path traversal prevention == Path traversal is a vulnerability whereby paths provided from an untrusted source are interpreted in such a way that unauthorised file access is possible. For example, consider a script that fetches an article by taking a filename, which is then read by the script and parsed. Such a script might use the following hypothetical URL to retrieve an article about dog food: https://www.example.net/cgi-bin/article.sh?name=dogfood.html If the script has no input checking, instead trusting that the filename is always valid, a malicious user could forge a URL to retrieve configuration files from the web server: https://www.example.net/cgi-bin/article.sh?name=../../../../../etc/passwd Depending on the script, this may expose the /etc/passwd file, which on Unix-like systems contains (among others) user IDs, their login names, home directory paths and shells. (See SQL injection for a similar attack.) == Regulatory drivers == Secure coding practices are increasingly mandated by regulatory frameworks governing the development and maintenance of software systems that process sensitive data. The Health Insurance Portability and Accountability Act (HIPAA) Security Rule requires covered entities to protect the integrity of protected health information through technical safeguards under 45 CFR 164.312(c)(1) and to implement mechanisms to authenticate electronic protected health information under 45 CFR 164.312(c)(2). The Payment Card Industry Data Security Standard (PCI DSS) version 4.0 Requirement 6.2 mandates that custom software is developed securely, including training developers in secure coding techniques (6.2.2), reviewing custom code for vulnerabilities before release (6.2.3), and addressing common software attacks in development practices (6.2.4).

    Read more →
  • Partial-order planning

    Partial-order planning

    Partial-order planning is an approach to automated planning that maintains a partial ordering between actions and only commits ordering between actions when forced to, that is, ordering of actions is partial. Also this planning doesn't specify which action will come out first when two actions are processed. By contrast, total-order planning maintains a total ordering between all actions at every stage of planning. Given a problem in which some sequence of actions is needed to achieve a goal, a partial-order plan specifies all actions that must be taken, but specifies an ordering between actions only where needed. Consider the following situation: a person must travel from the start to the end of an obstacle course. The course is composed of a bridge, a see-saw, and a swing-set. The bridge must be traversed before the see-saw and swing-set are reachable. Once reachable, the see-saw and swing-set can be traversed in any order, after which the end is reachable. In a partial-order plan, ordering between these obstacles is specified only when needed. The bridge must be traversed first. Second, either the see-saw or swing-set can be traversed. Third, the remaining obstacle can be traversed. Then the end can be traversed. Partial-order planning relies upon the principle of least commitment for its efficiency. == Partial-order plan == A partial-order plan or partial plan is a plan which specifies all actions that must be taken, but only specifies the order between actions when needed. It is the result of a partial-order planner. A partial-order plan consists of four components: A set of actions (also known as operators). A partial order for the actions. It specifies the conditions about the order of some actions. A set of causal links. It specifies which actions meet which preconditions of other actions. Alternatively, a set of bindings between the variables in actions. A set of open preconditions. It specifies which preconditions are not fulfilled by any action in the partial-order plan. To keep the possible orders of the actions as open as possible, the set of order conditions and causal links must be as small as possible. A plan is a solution if the set of open preconditions is empty. A linearization of a partial order plan is a total order plan derived from the particular partial order plan; in other words, both order plans consist of the same actions, with the order in the linearization being a linear extension of the partial order in the original partial order plan. === Example === For example, a plan for baking a cake might start: go to the store get eggs; get flour; get milk pay for all goods go to the kitchen This is a partial plan because the order for finding eggs, flour and milk is not specified, the agent can wander around the store reactively accumulating all the items on its shopping list until the list is complete. == Partial-order planner == A partial-order planner is an algorithm or program which will construct a partial-order plan and search for a solution. The input is the problem description, consisting of descriptions of the initial state, the goal and possible actions. The problem can be interpreted as a search problem where the set of possible partial-order plans is the search space. The initial state would be the plan with the open preconditions equal to the goal conditions. The final state would be any plan with no open preconditions, i.e. a solution. The initial state is the starting conditions, and can be thought of as the preconditions to the task at hand. For a task of setting the table, the initial state could be a clear table. The goal is simply the final action that needs to be accomplished, for example setting the table. The operators of the algorithm are the actions by which the task is accomplished. For this example there may be two operators: lay (tablecloth), and place (glasses, plates, and silverware). === Plan space === The plan space of the algorithm is constrained between its start and finish. The algorithm starts, producing the initial state and finishes when all parts of the goal have been achieved. In the setting a table example, two types of actions exist that must be addressed: the put-out and lay operators. Four unsolved operators also exist: Action 1, lay-tablecloth, Action 2, Put-out (plates), Action 3, Put-out (silverware), and Action 4, Put-out (glasses). However, a threat arises if Action 2, 3, or 4 comes before Action 1. This threat is that the precondition to the start of the algorithm will be unsatisfied as the table will no longer be clear. Thus, constraints exist that must be added to the algorithm that force Actions 2, 3, and 4 to come after Action 1. Once these steps are completed, the algorithm will finish and the goal will have been completed. === Threats === As seen in the algorithm presented above, partial-order planning can encounter certain threats, meaning orderings that threaten to break connected actions, thus potentially destroying the entire plan. There are two ways to resolve threats: Promotion Demotion Promotion orders the possible threat after the connection it threatens. Demotion orders the possible threat before the connection it threatens. Partial-order planning algorithms are known for being both sound and complete, with sound being defined as the total ordering of the algorithm, and complete being defined as the capability to find a solution, given that a solution does in fact exist. == Partial-order vs. total-order planning == Partial-order planning is the opposite of total-order planning, in which actions are sequenced all at once and for the entirety of the task at hand. The question arises when one has two competing processes, which one is better? Anthony Barret and Daniel Weld have argued in their 1993 book, that partial-order planning is superior to total-order planning, as it is faster and thus more efficient. They tested this theory using Korf’s taxonomy of subgoal collections, in which they found that partial-order planning performs better because it produces more trivial serializability than total-order planning. Trivial serializability facilitates a planner’s ability to perform quickly when dealing with goals that contain subgoals. Planners perform more slowly when dealing with laboriously serializable or nonserializable subgoals. The determining factor that makes a subgoal trivially or laboriously serializable is the search space of different plans. They found that partial-order planning is more adept at finding the quickest path, and is therefore the more efficient of these two main types of planning. == The Sussman anomaly == Partial-order plans are known to easily and optimally solve the Sussman anomaly. Using this type of incremental planning system solves this problem quickly and efficiently. This was a result of partial-order planning that solidified its place as an efficient planning system. == Disadvantages to partial-order planning == One drawback of this type of planning system is that it requires a lot more computational power for each node. This higher per-node cost occurs because the algorithm for partial-order planning is more complex than others. This has important artificial intelligence implications. When coding a robot to do a certain task, the creator needs to take into account how much energy is needed. Though a partial-order plan may be quicker it may not be worth the energy cost for the robot. The creator must be aware of and weigh these two options to build an efficient robot.

    Read more →
  • Google Brain

    Google Brain

    Google Brain was a deep learning artificial intelligence research team that served as the sole AI branch of Google before being incorporated under the newer umbrella of Google AI, a research division at Google dedicated to artificial intelligence. Formed in 2011, it combined open-ended machine learning research with information systems and large-scale computing resources. It created tools such as TensorFlow, which allow neural networks to be used by the public, and multiple internal AI research projects, and aimed to create research opportunities in machine learning and natural language processing. It was merged into former Google sister company DeepMind to form Google DeepMind in April 2023. == History == The Google Brain project began in 2011 as a part-time research collaboration between Google fellow Jeff Dean and Google Researcher Greg Corrado. Google Brain started as a Google X project and became so successful that it was graduated back to Google: Astro Teller has said that Google Brain paid for the entire cost of Google X. In June 2012, The New York Times reported that a cluster of 16,000 processors in 1,000 computers dedicated to mimicking some aspects of human brain activity had successfully trained itself to recognize a cat based on 10 million digital images taken from YouTube videos. The story was also covered by National Public Radio (NPR). In March 2013, Google hired Geoffrey Hinton, a leading researcher in the deep learning field, and acquired the company DNNResearch Inc. headed by Hinton. Hinton said that he would be dividing his future time between his university research and his work at Google. In April 2023, Google Brain merged with Google sister company DeepMind to form Google DeepMind, as part of the company's continued efforts to accelerate work on AI. == Team and location == Google Brain was initially established by Google Fellow Jeff Dean and visiting Stanford professor Andrew Ng. In 2014, the team included Jeff Dean, Quoc V. Le, Ilya Sutskever, Alex Krizhevsky, Samy Bengio, and Vincent Vanhoucke. In 2017, team members included Anelia Angelova, Samy Bengio, Greg Corrado, George Dahl, Michael Isard, Anjuli Kannan, Hugo Larochelle, Chris Olah, Benoit Steiner, Vincent Vanhoucke, Vijay Vasudevan, and Fernanda Viegas. Chris Lattner, who created Apple's programming language Swift and then ran Tesla's autonomy team for six months, joined Google Brain's team in August 2017. Lattner left the team in January 2020 and joined SiFive. As of 2021, Google Brain was led by Jeff Dean, Geoffrey Hinton, and Zoubin Ghahramani. Other members include Katherine Heller, Pi-Chuan Chang, Ian Simon, Jean-Philippe Vert, Nevena Lazic, Anelia Angelova, Lukasz Kaiser, Carrie Jun Cai, Eric Breck, Ruoming Pang, Carlos Riquelme, Hugo Larochelle, and David Ha. Samy Bengio left the team in April 2021, and Zoubin Ghahramani took on his responsibilities. Google Research includes Google Brain and is based in Mountain View. It also has satellite groups in Accra, Amsterdam, Atlanta, Beijing, Berlin, Cambridge, Israel, Los Angeles, London, Montreal, Munich, New York City, Paris, Pittsburgh, Princeton, San Francisco, Seattle, Tokyo, Toronto, and Zurich. == Projects == === Artificial-intelligence-devised encryption system === In October 2016, Google Brain designed an experiment to determine that neural networks are capable of learning secure symmetric encryption. In this experiment, three neural networks were created: Alice, Bob and Eve. Adhering to the idea of a generative adversarial network (GAN), the goal of the experiment was for Alice to send an encrypted message to Bob that Bob could decrypt, but the adversary, Eve, could not. Alice and Bob maintained an advantage over Eve, in that they shared a key used for encryption and decryption. In doing so, Google Brain demonstrated the capability of neural networks to learn secure encryption. === Image enhancement === In February 2017, Google Brain determined a probabilistic method for converting pictures with 8x8 resolution to a resolution of 32x32. The method built upon an already existing probabilistic model called pixelCNN to generate pixel translations. The proposed software utilizes two neural networks to make approximations for the pixel makeup of translated images. The first network, known as the "conditioning network," downsizes high-resolution images to 8x8 and attempts to create mappings from the original 8x8 image to these higher-resolution ones. The other network, known as the "prior network," uses the mappings from the previous network to add more detail to the original image. The resulting translated image is not the same image in higher resolution, but rather a 32x32 resolution estimation based on other existing high-resolution images. Google Brain's results indicate the possibility for neural networks to enhance images. === Google Translate === The Google Brain contributed to the Google Translate project by employing a new deep learning system that combines artificial neural networks with vast databases of multilingual texts. In September 2016, Google Neural Machine Translation (GNMT) was launched, an end-to-end learning framework, able to learn from a large number of examples. Previously, Google Translate's Phrase-Based Machine Translation (PBMT) approach would statistically analyze word by word and try to match corresponding words in other languages without considering the surrounding phrases in the sentence. But rather than choosing a replacement for each individual word in the desired language, GNMT evaluates word segments in the context of the rest of the sentence to choose more accurate replacements. Compared to older PBMT models, the GNMT model scored a 24% improvement in similarity to human translation, with a 60% reduction in errors. The GNMT has also shown significant improvement for notoriously difficult translations, like Chinese to English. While the introduction of the GNMT has increased the quality of Google Translate's translations for the pilot languages, it was very difficult to create such improvements for all of its 103 languages. Addressing this problem, the Google Brain Team was able to develop a Multilingual GNMT system, which extended the previous one by enabling translations between multiple languages. Furthermore, it allows for Zero-Shot Translations, which are translations between two languages that the system has never explicitly seen before. Google announced that Google Translate can now also translate without transcribing, using neural networks. This means that it is possible to translate speech in one language directly into text in another language, without first transcribing it to text. According to the Researchers at Google Brain, this intermediate step can be avoided using neural networks. In order for the system to learn this, they exposed it to many hours of Spanish audio together with the corresponding English text. The different layers of neural networks, replicating the human brain, were able to link the corresponding parts and subsequently manipulate the audio waveform until it was transformed to English text. Another drawback of the GNMT model is that it causes the time of translation to increase exponentially with the number of words in the sentence. This caused the Google Brain Team to add 2000 more processors to ensure the new translation process would still be fast and reliable. === Robotics === Aiming to improve traditional robotics control algorithms where new skills of a robot need to be hand-programmed, robotics researchers at Google Brain are developing machine learning techniques to allow robots to learn new skills on their own. They also attempt to develop ways for information sharing between robots so that robots can learn from each other during their learning process, also known as cloud robotics. As a result, Google has launched the Google Cloud Robotics Platform for developers in 2019, an effort to combine robotics, AI, and the cloud to enable efficient robotic automation through cloud-connected collaborative robots. Robotics research at Google Brain has focused mostly on improving and applying deep learning algorithms to enable robots to complete tasks by learning from experience, simulation, human demonstrations, and/or visual representations. For example, Google Brain researchers showed that robots can learn to pick and throw rigid objects into selected boxes by experimenting in an environment without being pre-programmed to do so. In another research, researchers trained robots to learn behaviors such as pouring liquid from a cup; robots learned from videos of human demonstrations recorded from multiple viewpoints. Google Brain researchers have collaborated with other companies and academic institutions on robotics research. In 2016, the Google Brain Team collaborated with researchers at X in a research on learning hand-eye coordination for robotic grasping. Their method allowed real-time robot control for grasping novel objec

    Read more →
  • Cortica

    Cortica

    Headquartered in Tel Aviv Cortica utilizes unsupervised learning methods to recognize and analyze digital images and video. The technology developed by the Cortica team is based on research of the function of the human brain. == Company Founding == Cortica was founded in 2007 by Igal Raichelgauz, Karina Odinaev and Yehoshua Zeevi. Together, the founders developed the company’s core technology while at Technion – Israel Institute of Technology. By combining discoveries in neuroscience with developments in computer programming, the team created technology that possesses the ability to interpret large amounts of visual data with increased accuracy. This technology, called Image2Text, is based on the founders’ work in digitally replicating cortical neural networks’ ability to identify complex patterns within massive quantities of ambiguous and noisy data. Cortica’s offerings have application in the automotive industry, media industries, as well as the smart city and medical industries. Industry experts suggest that the self-driving automotive industry alone will be worth upwards of $7 trillion while each connected car is expected to generate 4,000 GB of data per day. Beyond that, industry analysts expect the proliferation of surveillance cameras to continue leading to an expected 2,500 Petabytes of data being generated daily by new surveillance cameras. Cortica operates in these high scale industries. The company currently employs professionals from many domains including AI researchers as well as veterans of intelligence units within the Israeli Defense Forces. == Research and Technology == In 2006, Founders Raichelgauz, Odinaev, and Zeevi shared their findings with the 28th IEEE EMBS Annual International Conference in New York in a paper titled, “Natural Signal Classification by Neural Cliques and Phase-Locked Attractors”. That same year, the team also published “Cliques in Neural Ensembles as Perception Carriers" CB Insights recently identified Cortica as the number one patent holder among AI companies. Cortica is researching to develop a machine-learning driving system which can identify objects and pedestrians. Connecting to it, Elon Musk has been rumored to partner with Cortica for his electric car company, Tesla. However, Tesla denies it stating that Musk did not discuss a collaboration with artificial intelligence firm Cortica. == Funding == Cortica raised $7 million in its Series A funding round, announced in August 2012. Investors included Horizons Ventures (the investment firm of Hong Kong billionaire Li Ka-Shing), and Ynon Kreiz, the former chairman and CEO of the Endemol Group. In May 2013, it was announced that Cortica had raised $1.5 million from Russian firm Mail.ru Group. It later transpired that this was a part of Cortica's Series B funding round for $6.4 million, announced in June 2013. The round was led by Horizons Ventures, with participation from the Russian firm Mail.ru Group and other angel investors. In its fourth funding round, Cortica has raised $20 million, bringing the total investments to $38 million. According to a report from The Israeli lead Daily economic newspaper, TheMarker, the fourth round was led by a strategic Chinese investor who will probably help the company expand into the Asian market. == Media coverage == GigaOm listed Cortica as one of the top deep learning startups in a November 2013 article surveying the field, along with AlchemyAPI, Ersatz, and Semantria. Business Insider ranked Cortica as one of the coolest tech companies in Israel. CB Insights has identified Cortica as the top patent holding AI company. In 2017 several leading automotive media outlets covered the launch of Cortica's automotive business unit

    Read more →
  • Buckeye Corpus

    Buckeye Corpus

    The Buckeye Corpus of conversational speech is a speech corpus created by a team of linguists and psychologists at Ohio State University led by Prof. Mark Pitt. It contains high-quality recordings from 40 speakers in Columbus, Ohio conversing freely with an interviewer. The interviewer's voice is heard only faintly in the background of these recordings. The sessions were conducted as Sociolinguistics interviews, and are essentially monologues. The speech has been orthographically transcribed and phonetically labeled. The audio and text files, together with time-aligned phonetic labels, are stored in a format for use with speech analysis software (Xwaves and Wavesurfer). Software for searching the transcription files is also available at the project web site. The corpus is available to researchers in academia and industry. The project was funded by the National Institute on Deafness and Other Communication Disorders and the Office of Research at Ohio State University.

    Read more →
  • Geopolitical ontology

    Geopolitical ontology

    The FAO geopolitical ontology is an ontology developed by the Food and Agriculture Organization of the United Nations (FAO) to describe, manage and exchange data related to geopolitical entities such as countries, territories, regions and other similar areas. == Definitions and examples == An ontology is a kind of dictionary that describes information in a certain domain using concepts and relationships. It is often implemented using OWL (Web Ontology Language), an XML-based standard language that can be interpreted by computers. A Concept is defined as abstract knowledge. For example, in the geopolitical ontology a non-self-governing territory and a geographical group are concepts. Concepts are explicitly implemented in the ontology with individuals and classes: An individual is defined as an object perceived from the real world. In the geopolitical domain Ethiopia and the least developed countries group are individuals. A class is defined as a set of individuals sharing common properties. In the geopolitical domain, Ethiopia, Republic of Korea and Italy are individuals of the class self-governing territory; and least developed countries is an individual of the class special group. Relationships between concepts are explicitly implemented by: Object properties between individuals of two classes. For example, has member and is in group properties, as shown in Figure 1. Datatype properties between individuals and literals or XML datatypes. For example, the individual Afghanistan has the datatype property CodeISO3 with the value "AFG". Restrictions in classes and/or properties. For example, the property official English name of the class self-governing territory has been restricted to have only one value, this means that a self-governing territory (or country) can only have one internationally recognized official English name. The advantage of describing information in an ontology is that it enables to acquire domain knowledge by defining hierarchical structures of classes, adding individuals, setting object properties and datatype properties, and assigning restrictions. == FAO ontology == The geopolitical ontology provides names in seven languages (Arabic, Chinese, French, English, Spanish, Russian and Italian) and identifiers in various international coding systems (ISO2, ISO3, AGROVOC, FAOSTAT, FAOTERM, GAUL, UN, UNDP and DBPediaID codes) for territories and groups. Moreover, the FAO geopolitical ontology tracks historical changes from 1985 up until today; provides geolocation (geographical coordinates); implements relationships among countries and countries, or countries and groups, including properties such as has border with, is predecessor of, is successor of, is administered by, has members, and is in group; and disseminates country statistics including country area, land area, agricultural area, GDP or population. The FAO geopolitical ontology provides a structured description of data sources. This includes: source name, source identifier, source creator and source's update date. Concepts are described using the Dublin Core vocabulary In summary, the main objectives of the FAO geopolitical ontology are: To provide the most updated geopolitical information (names, codes, relationships, statistics) To track historical changes in geopolitical information To improve information management and facilitate standardized data sharing of geopolitical information To demonstrate the benefits of the geopolitical ontology to improve interoperability of corporate information systems It is possible to download the FAO geopolitical ontology in OWL and RDF formats. Documentation is available in the FAO Country Profiles Geopolitical information web page. == Features of the FAO ontology == The geopolitical ontology contains : Area types: Territories: self-governing, non-self-governing, disputed, other. Groups: organizations, geographic, economic and special groups. Names (official, short and names for lists) in Arabic, Chinese, English, French, Spanish, Russian and Italian. International codes: UN code – M49, ISO 3166 Alpha-2 and Alpha-3, UNDP code, GAUL code, FAOSTAT, AGROVOC FAOTERM and DBPediaID. Coordinates: maximum latitude, minimum latitude, maximum longitude, minimum longitude. Basic country statistics: country area, land area, agricultural area, GDP, population. Currency names and codes. Adjectives of nationality. Relations: Groups membership. Neighbours (land border), administration of non-self-governing. Historic changes: predecessor, successor, valid since, valid until. == Implementation into OWL == The FAO geopolitical ontology is implemented in OWL. It consists of classes, properties, individuals and restrictions. Table 1 shows all classes, gives a brief description and lists some individuals that belong to each class. Note that the current version of the geopolitical ontology does not provide individuals of the class "disputed" territories. Table 2 and Table 3 illustrate datatype properties and object properties. == Geopolitical ontology in Linked Open Data == The FAO Geopolitical ontology is embracing the W3C Linked Open Data (LOD) initiative and released its RDF version of the geopolitical ontology in March 2011. The term 'Linked Open Data' refers to a set of best practices for publishing and connecting structured data on the Web. The key technologies that support Linked Data are URIs, HTTP and RDF. The RDF version of the geopolitical ontology is compliant with all Linked data principles to be included in the Linked Open Data cloud, as explained in the following. == Resolvable http:// URIs == Every resource in the OWL format of the FAO Geopolitical Ontology has a unique URI. Dereferenciation was implemented to allow for three different URIs to be assigned to each resource as follows: URI identifying the non-information resource Information resource with an RDF/XML representation Information resource with an HTML representation In addition the current URIs used for OWL format needed to be kept to allow for backwards compatibility for other systems that are using them. Therefore, the new URIs for the FAO Geopolitical Ontology in LOD were carefully created, using “Cool URIs for Semantic Web” and considering other good practices for URIs, such as DBpedia URIs. == New URIs == The URIs of the geopolitical ontology need to be permanent, consequently all transient information, such as year, version, or format was avoided in the definition of the URIs. The new URIs can be accessed For example, for the resource “Italy” the URIs are the following: http://www.fao.org/countryprofiles/geoinfo/geopolitical/resource/Italy identifies the non-information resource. http://www.fao.org/countryprofiles/geoinfo/geopolitical/data/Italy identifies the resource with an RDF/XML representation. http://www.fao.org/countryprofiles/geoinfo/geopolitical/page/Italy identifies the information resource with an HTML representation. In addition, “owl:sameAs” is used to map the new URIs to the OWL representation. == Dereferencing URIs == When a non-information resource is looked up without any specific representation format, then the server needs to redirect the request to information resource with an HTML representation. For example, to retrieve the resource “Italy”, which is a non-information resource, the server redirects to the HTML page of “Italy”. == At least 1000 triples in the datasets == The total number of triple statements in FAO Geopolitical Ontology is 22,495. At least 50 links to a dataset already in the current LOD Cloud: FAO Geopolitical Ontology has 195 links to DBpedia, which is already part of the LOD Cloud. == Access to the entire dataset == FAO Geopolitical Ontology provides the entire dataset as a RDF dump. The RDF version of the FAO Geopolitical Ontology has been already registered in CKAN and it was requested to add it into the LOD Cloud. == Example of use == The FAO Country Profiles is an information retrieval tool which groups the FAO's vast archive of information on its global activities in agriculture and rural development in one single area and catalogues it exclusively by country. The FAO Country Profiles system provides access to country-based heterogeneous data sources. By using the geopolitical ontology in the system, the following benefits are expected: Enhanced system functionality for content aggregation and synchronization from the multiple source repositories. Improved information access and browsing through comparison of data in neighbor countries and groups. Figure 3 shows a page in the FAO Country Profiles where the geopolitical ontology is described.

    Read more →
  • Hubert Dreyfus

    Hubert Dreyfus

    Hubert Lederer Dreyfus ( DRY-fəs; October 15, 1929 – April 22, 2017) was an American philosopher and a professor of philosophy at the University of California, Berkeley. His main interests included phenomenology, existentialism and the philosophy of both psychology and literature, as well as the philosophical implications of artificial intelligence. He was widely known for his exegesis of Martin Heidegger, which critics labeled "Dreydegger". Dreyfus was featured in Tao Ruspoli's film Being in the World (2010), and was among the philosophers interviewed by Bryan Magee for the BBC Television series The Great Philosophers (1987). The Futurama character Professor Hubert Farnsworth is partly named after him, writer Eric Kaplan having been a former student. == Life and career == Dreyfus was born on 15 October 1929, in Terre Haute, Indiana, to Stanley S. and Irene (Lederer) Dreyfus. He attended Harvard University from 1947. With a senior honors thesis on Causality and Quantum Theory (for which W. V. O. Quine was the main examiner) he was awarded a B.A. summa cum laude in 1951 and joined Phi Beta Kappa. He was awarded a M.A. in 1952. He was a Teaching Fellow at Harvard from 1952 to 1953 (as he was again in 1954 and 1956). Then, on a Harvard Sheldon traveling fellowship, Dreyfus studied at the University of Freiburg from 1953 to 1954. During this time he had an interview with Martin Heidegger. Sean D. Kelly records that Dreyfus found the meeting 'disappointing.' A brief mention of it was made by Dreyfus during his 1987 BBC interview with Bryan Magee in remarks that are revealing of both his and Heidegger's opinion of the work of Jean-Paul Sartre. Between 1956 and 1957, Dreyfus undertook research at the Husserl Archives at the University of Louvain on a Fulbright Fellowship. Towards the end of his stay, his first (jointly authored) paper "Curds and Lions in Don Quijote" would appear in print. After acting as an instructor in philosophy at Brandeis University (1957–1959), he attended the Ecole Normale Supérieure, Paris, on a French government grant (1959–1960). From 1960, first as an instructor, then as an assistant and then associate professor, Dreyfus taught philosophy at the Massachusetts Institute of Technology (MIT). In 1964, with his dissertation Husserl's Phenomenology of Perception, he obtained his Ph.D. from Harvard. (Due to his knowledge of Husserl, Dagfinn Føllesdal sat on the thesis committee but he has asserted that Dreyfus "was not really my student.") That same year, his co-translation (with his first wife) of Sense and Non-Sense by Maurice Merleau-Ponty was published. Also in 1964, and whilst still at MIT, he was employed as a consultant by the RAND Corporation to review the work of Allen Newell and Herbert A. Simon in the field of artificial intelligence (AI). This resulted in the publication, in 1965, of the "famously combative" Alchemy and Artificial Intelligence, which proved to be the first of a series of papers and books attacking the AI field's claims and assumptions. The first edition of What Computers Can't Do would follow in 1972, and this critique of AI (which has been translated into at least ten languages) would establish Dreyfus's public reputation. However, as the editors of his Festschrift noted: "the study and interpretation of 'continental' philosophers... came first in the order of his philosophical interests and influences." === Berkeley === In 1968, although he had been granted tenure, Dreyfus left MIT and became an associate professor of philosophy at the University of California, Berkeley, (winning, that same year, the Harbison Prize for Outstanding Teaching). In 1972 he was promoted to full professor. Though Dreyfus retired from his chair in 1994, he continued as professor of philosophy in the Graduate School (and held, from 1999, a joint appointment in the rhetoric department). He continued to teach philosophy at UC Berkeley until his last class in December 2016. Dreyfus was elected a fellow of the American Academy of Arts and Sciences in 2001. He was also awarded an honorary doctorate for "his brilliant and highly influential work in the field of artificial intelligence" and his interpretation of twentieth century continental philosophy by Erasmus University. Dreyfus died on April 22, 2017. His younger brother and sometimes collaborator, Stuart Dreyfus, is a professor emeritus of industrial engineering and operations research at the University of California, Berkeley. == Dreyfus' criticism of AI == Dreyfus' critique of artificial intelligence (AI) concerns what he considers to be the four primary assumptions of AI research. The first two assumptions are what he calls the "biological" and "psychological" assumptions. The biological assumption is that the brain is analogous to computer hardware and the mind is analogous to computer software. The psychological assumption is that the mind works by performing discrete computations (in the form of algorithmic rules) on discrete representations or symbols. Dreyfus claims that the plausibility of the psychological assumption rests on two others: the epistemological and ontological assumptions. The epistemological assumption is that all activity (either by animate or inanimate objects) can be formalized (mathematically) in the form of predictive rules or laws. The ontological assumption is that reality consists entirely of a set of mutually independent, atomic (indivisible) facts. It's because of the epistemological assumption that workers in the field argue that intelligence is the same as formal rule-following, and it's because of the ontological one that they argue that human knowledge consists entirely of internal representations of reality. On the basis of these two assumptions, workers in the field claim that cognition is the manipulation of internal symbols by internal rules, and that, therefore, human behaviour is, to a large extent, context free (see contextualism). Therefore, a truly scientific psychology is possible, which will detail the 'internal' rules of the human mind, in the same way the laws of physics detail the 'external' laws of the physical world. However, it is this key assumption that Dreyfus denies. In other words, he argues that we cannot now (and never will be able to) understand our own behavior in the same way as we understand objects in, for example, physics or chemistry: that is, by considering ourselves as things whose behaviour can be predicted via 'objective', context free scientific laws. According to Dreyfus, a context-free psychology is a contradiction in terms. Dreyfus's arguments against this position are taken from the phenomenological and hermeneutical tradition (especially the work of Martin Heidegger). Heidegger argued that, contrary to the cognitivist views (on which AI has been based), our being is in fact highly context-bound, which is why the two context-free assumptions are false. Dreyfus doesn't deny that we can choose to see human (or any) activity as being 'law-governed', in the same way that we can choose to see reality as consisting of indivisible atomic facts... if we wish. But it is a huge leap from that to state that because we want to or can see things in this way that it is therefore an objective fact that they are the case. In fact, Dreyfus argues that they are not (necessarily) the case, and that, therefore, any research program that assumes they are will quickly run into profound theoretical and practical problems. Therefore, the current efforts of workers in the field are doomed to failure. Dreyfus argues that to get a device or devices with human-like intelligence would require them to have a human-like being-in-the-world and to have bodies more or less like ours, and social acculturation (i.e. a society) more or less like ours. (This view is shared by psychologists in the embodied psychology (Lakoff and Johnson 1999) and distributed cognition traditions. His opinions are similar to those of robotics researchers such as Rodney Brooks as well as researchers in the field of artificial life.) Contrary to a popular misconception, Dreyfus never predicted that computers would never beat humans at chess. In Alchemy and Artificial Intelligence, he only reported (correctly) the state of the art of the time: "Still no chess program can play even amateur chess." Daniel Crevier writes: "time has proven the accuracy and perceptiveness of some of Dreyfus's comments. Had he formulated them less aggressively, constructive actions they suggested might have been taken much earlier." == Webcasting philosophy == When UC Berkeley and Apple began making a selected number of lecture classes freely available to the public as podcasts beginning around 2006, a recording of Dreyfus teaching a course called "Man, God, and Society in Western Literature – From Gods to God and Back" rose to the 58th most popular webcast on iTunes. These webcasts have attracted the attention of many, including non-academics, to Dreyfus and his

    Read more →
  • National Library of Medicine classification

    National Library of Medicine classification

    The National Library of Medicine (NLM) classification system is a library indexing system covering the fields of medicine and preclinical basic sciences. Operated and maintained by the U.S. National Library of Medicine, the NLM classification is patterned after the Library of Congress (LC) Classification system: alphabetical letters denote broad subject categories which are subdivided by numbers. For example, QW 279 would indicate a book on an aspect of microbiology or immunology. The one- or two-letter alphabetical codes in the NLM classification use a limited range of letters: only QS–QZ and W–WZ. This allows the NLM system to co-exist with the larger LC coding scheme as neither of these ranges are used in the LC system. There are, however, three pre-existing codes in the LC system which overlap with the NLM: Human Anatomy (QM), Microbiology (QR), and Medicine (R). To avoid further confusion, these three codes are not used in the NLM. The headings for the individual schedules (letters or letter pairs) are given in brief form (e.g., QW - Microbiology and Immunology; WG - Cardiovascular System) and together they provide an outline of the subjects covered by the NLM classification. Headings are interpreted broadly and include the physiological system, the specialties connected with them, the regions of the body chiefly concerned and subordinate related fields. The NLM system is hierarchical, and within each schedule, division by organ usually has priority. Each main schedule, as well as some sub-sections, begins with a group of form numbers ranging generally from 1–49 which classify materials by publication type, e.g., dictionaries, atlases, laboratory manuals, etc. The main schedules QS-QZ, W-WY, and WZ (excluding the range WZ 220–270) classify works published after 1913; the 19th century schedule is used for works published 1801–1913; and WZ 220-270 is used to provide century groupings for works published before 1801. == Classification categories == === Preclinical Sciences === QS Human Anatomy QT Physiology QU Biochemistry QV Pharmacology QW Microbiology & Immunology QX Parasitology QY Clinical Pathology QZ Pathology === Medicine and Related Subjects === W Health Professions WA Public Health WB Practice of Medicine WC Communicable Diseases WD Disorders of Systemic, Metabolic, or Environmental Origin, etc. WE Musculoskeletal System WF Respiratory System WG Cardiovascular System WH Hemic and Lymphatic Systems WI Digestive System WJ Urogenital System WK Endocrine System WL Nervous System WM Psychiatry WN Radiology. Diagnostic Imaging WO Surgery WP Gynecology WQ Obstetrics WR Dermatology WS Pediatrics WT Geriatrics. Chronic Disease WU Dentistry. Oral Surgery WV Otolaryngology WW Ophthalmology WX Hospitals & Other Health Facilities WY Nursing WZ History of Medicine 19th Century Schedule

    Read more →
  • Referring expression generation

    Referring expression generation

    Referring expression generation (REG) is the subtask of natural language generation (NLG) that received most scholarly attention. While NLG is concerned with the conversion of non-linguistic information into natural language, REG focuses only on the creation of referring expressions (noun phrases) that identify specific entities called targets. This task can be split into two sections. The content selection part determines which set of properties distinguish the intended target and the linguistic realization part defines how these properties are translated into natural language. A variety of algorithms have been developed in the NLG community to generate different types of referring expressions. == Types of referring expressions == A referring expression (RE), in linguistics, is any noun phrase, or surrogate for a noun phrase, whose function in discourse is to identify some individual object (thing, being, event...) The technical terminology for identify differs a great deal from one school of linguistics to another. The most widespread term is probably refer, and a thing identified is a referent, as for example in the work of John Lyons. In linguistics, the study of reference relations belongs to pragmatics, the study of language use, though it is also a matter of great interest to philosophers, especially those wishing to understand the nature of knowledge, perception and cognition more generally. Various devices can be used for reference: determiners, pronouns, proper names... Reference relations can be of different kinds; referents can be in a "real" or imaginary world, in discourse itself, and they may be singular, plural, or collective. === Pronouns === The simplest type of referring expressions are pronoun such as he and it. The linguistics and natural language processing communities have developed various models for predicting anaphor referents, such as centering theory, and ideally referring-expression generation would be based on such models. However most NLG systems use much simpler algorithms, for example using a pronoun if the referent was mentioned in the previous sentence (or sentential clause), and no other entity of the same gender was mentioned in this sentence. === Definite noun phrases === There has been a considerable amount of research on generating definite noun phrases, such as the big red book. Much of this builds on the model proposed by Dale and Reiter. This has been extended in various ways, for example Krahmer et al. present a graph-theoretic model of definite NP generation with many nice properties. In recent years a shared-task event has compared different algorithms for definite NP generation, using the TUNA corpus. === Spatial and temporal reference === Recently there has been more research on generating referring expressions for time and space. Such references tend to be imprecise (what is the exact meaning of tonight?), and also to be interpreted in different ways by different people. Hence it may be necessary to explicitly reason about false positive vs false negative tradeoffs, and even calculate the utility of different possible referring expressions in a particular task context. === Criteria for good expressions === Ideally, a good referring expression should satisfy a number of criteria: Referential success: It should unambiguously identify the referent to the reader. Ease of comprehension: The reader should be able to quickly read and understand it. Computational complexity: The generation algorithm should be fast No false inferences: The expression should not confuse or mislead the reader by suggesting false implicatures or other pragmatic inferences. For example, a reader may be confused if he is told Sit by the brown wooden table in a context where there is only one table. == History == === Pre-2000 era === REG goes back to the early days of NLG. One of the first approaches was done by Winograd in 1972 who developed an "incremental" REG algorithm for his SHRDLU program. Afterwards researchers started to model the human abilities to create referring expressions in the 1980s. This new approach to the topic was influenced by the researchers Appelt and Kronfeld who created the programs KAMP and BERTRAND and considered referring expressions as parts of bigger speech acts. Some of their most interesting findings were the fact that referring expressions can be used to add information beyond the identification of the referent as well as the influence of communicative context and the Gricean maxims on referring expressions. Furthermore, its skepticism concerning the naturalness of minimal descriptions made Appelt and Kronfeld's research a foundation of later work on REG. The search for simple, well-defined problems changed the direction of research in the early 1990s. This new approach was led by Dale and Reiter who stressed the identification of the referent as the central goal. Like Appelt they discuss the connection between the Gricean maxims and referring expressions in their culminant paper in which they also propose a formal problem definition. Furthermore, Reiter and Dale discuss the Full Brevity and Greedy Heuristics algorithms as well as their Incremental Algorithm(IA) which became one of the most important algorithms in REG. === Later developments === After 2000 the research began to lift some of the simplifying assumptions, that had been made in early REG research in order to create more simple algorithms. Different research groups concentrated on different limitations creating several expanded algorithms. Often these extend the IA in a single perspective for example in relation to: Reference to Sets like "the t-shirt wearers" or "the green apples and the banana on the left" Relational Descriptions like "the cup on the table" or "the woman who has three children" Context Dependency, Vagueness and Gradeability include statements like "the older man" or "the car on the left" which are often unclear without a context Salience and Generation of Pronouns are highly discourse dependent making for example "she" a reference to "the (most salient) female person" Many simplifying assumptions are still in place or have just begun to be worked on. Also a combination of the different extensions has yet to be done and is called a "non-trivial enterprise" by Krahmer and van Deemter. Another important change after 2000 was the increasing use of empirical studies in order to evaluate algorithms. This development took place due to the emergence of transparent corpora. Although there are still discussions about what the best evaluation metrics are, the use of experimental evaluation has already led to a better comparability of algorithms, a discussion about the goals of REG and more task-oriented research. Furthermore, research has extended its range to related topics such as the choice of Knowledge Representation(KR) Frameworks. In this area the main question, which KR framework is most suitable for the use in REG remains open. The answer to this question depends on how well descriptions can be expressed or found. A lot of the potential of KR frameworks has been left unused so far. Some of the different approaches are the usage of: Graph search which treats relations between targets in the same way as properties. Constraint Satisfaction which allows for a separation between problem specification and the implementation. Modern Knowledge Representation which offers logical inference in for example Description Logic or Conceptual Graphs. == Problem definition == Dale and Reiter (1995) think about referring expressions as distinguishing descriptions. They define: The referent as the entity that should be described The context set as set of salient entities The contrast set or potential distractors as all elements of the context set except the referent A property as a reference to a single attribute–value pair Each entity in the domain can be characterised as a set of attribute–value pairs for example ⟨ {\displaystyle \langle } type, dog ⟩ {\displaystyle \rangle } , ⟨ {\displaystyle \langle } gender, female ⟩ {\displaystyle \rangle } or ⟨ {\displaystyle \langle } age, 10 years ⟩ {\displaystyle \rangle } . The problem then is defined as follows: Let r {\displaystyle r} be the intended referent, and C {\displaystyle C} be the contrast set. Then, a set L {\displaystyle L} of attribute–value pairs will represent a distinguishing description if the following two conditions hold: Every attribute–value pair in L {\displaystyle L} applies to r {\displaystyle r} : that is, every element of L {\displaystyle L} specifies an attribute–value that r {\displaystyle r} possesses. For every member c {\displaystyle c} of C {\displaystyle C} , there is at least one element l {\displaystyle l} of L {\displaystyle L} that does not apply to c {\displaystyle c} : that is, there is an l {\displaystyle l} in L {\displaystyle L} that specifies an attribute–value that c {\displaystyle c} does not possess. l {\displaystyle l} is said

    Read more →
  • Ishikawa diagram

    Ishikawa diagram

    Ishikawa diagrams (also called fishbone diagrams, herringbone diagrams, cause-and-effect diagrams) are causal diagrams created by Kaoru Ishikawa that show the potential causes of a specific event. Common uses of the Ishikawa diagram are product design and quality defect prevention to identify potential factors causing an overall effect. Each cause or reason for imperfection is a source of variation. Causes are usually grouped into major categories to identify and classify these sources of variation. == Overview == The defect, or the problem to be solved, is shown as the fish's head, facing to the right, with the causes extending to the left as fishbones; the ribs branch off the backbone for major causes, with sub-branches for root-causes, to as many levels as required. Ishikawa diagrams were popularized in the 1960s by Kaoru Ishikawa, who pioneered quality management processes in the Kawasaki shipyards, and in the process became one of the founding fathers of modern management. The basic concept was first used in the 1920s, and is considered one of the seven basic tools of quality control. It is known as a fishbone diagram because of its shape, similar to the side view of a fish skeleton. Mazda Motors famously used an Ishikawa diagram in the development of the Miata (MX5) sports car. == Root causes == Root-cause analysis is intended to reveal key relationships among various variables, and the possible causes provide additional insight into process behavior. It shows high-level causes that lead to the problem encountered by providing a snapshot of the current situation. There can be confusion about the relationships between problems, causes, symptoms and effects. Smith highlights this and the common question “Is that a problem or a symptom?” which mistakenly presumes that problems and symptoms are mutually exclusive categories. A problem is a situation that bears improvement; a symptom is the effect of a cause: a situation can be both a problem and a symptom. At a practical level, a cause is whatever is responsible for, or explains, an effect - a factor "whose presence makes a critical difference to the occurrence of an outcome". The causes emerge by analysis, often through brainstorming sessions, and are grouped into categories on the main branches off the fishbone. To help structure the approach, the categories are often selected from one of the common models shown below, but may emerge as something unique to the application in a specific case. Each potential cause is traced back to find the root cause, often using the 5 Whys technique. Typical categories include: === The 5 Ms (used in manufacturing) === Originating with lean manufacturing and the Toyota Production System, the 5 Ms is one of the most common frameworks for root-cause analysis: Manpower / Mindpower (physical or knowledge work, includes: kaizens, suggestions) Machine (equipment, technology) Material (includes raw material, consumables, and information) Method (process) Measurement / medium (inspection, environment) These have been expanded by some to include an additional three, and are referred to as the 8 Ms: Mission / mother nature (purpose, environment) Management / money power (leadership) Maintenance === The 8 Ps (used in product marketing) === This common model for identifying crucial attributes for planning in product marketing is often also used in root-cause analysis as categories for the Ishikawa diagram: Product (or service) Price Place Promotion People (personnel) Process Physical evidence (proof) Performance === The 4 or 5 Ss (used in service industries) === An alternative used for service industries, uses four categories of possible cause: Surroundings: Refers to the environment in which the process occurs. Suppliers: Refers to external parties that provide inputs—raw materials, components, or services. Systems: Refers to the procedures, processes, and technologies used to perform the work. Skill: Refers to the human factor, particularly the knowledge and abilities of employees. Safety: Refers to physical and psychological well-being in the workplace. == Use in specific industries == The Ishikawa diagram has been widely adopted across various industries as an effective tool for root cause analysis in quality, efficiency, and safety-related issues. Its versatility allows it to be applied in both manufacturing and service contexts. In the manufacturing industry, particularly in the automotive and electronics sectors, the diagram is frequently used in continuous improvement initiatives such as Six Sigma and Lean Manufacturing. Quality teams use it to identify causes related to materials, methods, machinery, manpower, environment, and measurement, facilitating informed decision-making to reduce defects and optimize processes. In the food industry, the Ishikawa diagram is applied to analyze issues related to food safety, temperature control, cross-contamination, and regulatory compliance. Its use enables companies to identify improvement opportunities in production, packaging, and distribution stages. In the pharmaceutical sector, it is a key tool in process validation, quality control, and compliance with Good Manufacturing Practices (GMP). It helps visualize factors affecting product quality from formulation to storage. It has also been successfully implemented in sectors such as aerospace, pulp and paper, construction, education, and healthcare, where it supports structured problem-solving and promotes continuous improvement and a culture of quality.

    Read more →
  • Clinical quality management system

    Clinical quality management system

    Clinical quality management systems (CQMS) are systems used in the life sciences sector (primarily in the pharmaceutical, biologics and medical device industries) designed to manage quality management best practices throughout clinical research and clinical study management. A CQMS system is designed to manage all of the documents, activities, tasks, processes, quality events, relationships, audits and training that must be administered and controlled throughout the life of a clinical trial. The premise of a CQMS is to bring together the activities led by two sectors of clinical research, Clinical Quality and Clinical Operations, to facilitate cross-functional activities to improve efficiencies and transparency and to encourage the use of risk mitigation and risk management practices at the clinical study level. Based on the principles of quality management systems (QMS) which are used in many industries to create a framework for defining and delivering quality outcomes, managing risk, and continual improvement. Many guidelines and governance bodies have been established to ensure a common approach within a given industry to a set of parameters used to identify the minimally acceptable standard for that industry. The pharmaceutical industry is no exception, with several trade groups (e.g. PhRMA, EFPIA, RQA, etc.) coming together to enhance collaboration. However, as noted by the Academy of Medical Sciences, there are increasingly complex and bureaucratic legal and ethical frameworks that innovators must work within to develop new medicines for patients. The historical pharmaceutical QMS applies primarily to good manufacturing practice as described in existing ISO (International Organization for Standardization) and ICH (International Committee on Harmonization) guidelines. "Good Manufacturing Practices (GMP) relate to quality control and quality assurance enabling companies in the pharmaceutical sector to minimize or eliminate instances of contamination, mix-ups, and errors. This in turn, protects the customer from purchasing a product which is ineffective or even dangerous." These standards have historically been applied to the manufacturing environment, appropriate to how they have been written. However, according to FDA as well as other regulatory bodies, "Implementation of ICH Q10 throughout the product lifecycle should facilitate innovation and continual improvement", implying that the same standards that apply to the manufacturing environment should also be applied to the clinical research space, earlier in the lifecycle of an investigational or marketed product. Accordingly, a CQMS is any system developed to apply these principles to clinical operations within an organization.

    Read more →
  • Liveness test

    Liveness test

    A liveness test, liveness check or liveness detection is an automated method for determining whether a subject is a real person or part of a spoofing attack. The technique is used as part of know your customer checks in financial services and during facial age estimation. Liveness detection is a cornerstone of digital safety. == Test process == The threat in face spoofing attacks is that "the attacker only needs to find a good face swap library on Github and understand how to inject the model into the camera feed during the KYC process". Fraudsters usually buy stolen IDs on the dark web to start a deepfake attack. An AI-powered generative adversarial network (GAN) can then generate the face swapping model that many online verification services fail to detect. Low level hackers may use face swapping apps such as SwapFace, DeepFaceLive, and Swapstream (increasing interest for those apps in 2023 according to Google Trends). In a video liveness test, users are typically asked to look into a camera and to move, smile or blink, and features of their moving face may then be compared to that of a still image. Artificial intelligence is used to counter presentation attacks such as deepfakes or users wearing hyperrealistic masks, or video injection attacks. Other forms of liveness test include checking for a pulse when using a fingerprint scanner or checking that a person's voice is not a recording or artificially generated during speaker recognition. == Adoption and certification == In a 2022 report published by the security firm Sensity, it was demonstrated that the liveness test of most US banks was easily cheated with new and publicly-available AI-powered techniques. Many of these banks disregarded the results of the report. In the first half of 2023, the security firm iProov detected a 704% increase in face-swap attacks. In 2023, in the UK, many customers of Ryanair were upset to have to go through many ID verification checks, including liveness tests, before boarding, as the airline was using it as a mean to deter customers to buy tickets through third-party websites. In the first half of 2024 iBeta Quality Assurance issued 18 new ISO/IEC 30107-3 Presentation Attack Detection certificates, raising the cumulative total to 85 since 2018. In January 2024, the Department of Homeland Security (DHS) opened applications from vendors to test their Liveness test. Identity frauds peaked during the COVID-19 lockdown, leading government agencies to take reinforced measures to secure their digital applications.

    Read more →
  • Camfecting

    Camfecting

    In computer security, camfecting is the process of attempting to hack into a person's webcam and activate it without the webcam owner's permission. The remotely activated webcam can be used to watch anything within the webcam's field of vision, sometimes including the webcam owner themselves. Camfecting is most often carried out by infecting the victim's computer with a virus that can provide the hacker access to their webcam. This attack is specifically targeted at the victim's webcam, and hence the name camfecting, a portmanteau of the words camera and infecting. Typically, a webcam hacker or a camfecter sends his victim an innocent-looking application which has a hidden Trojan software through which the camfecter can control the victim's webcam. The camfecter virus installs itself silently when the victim runs the original application. Once installed, the camfecter can turn on the webcam and capture pictures/videos. The camfecter software works just like the original webcam software present in the victim computer, the only difference being that the camfecter controls the software instead of the webcam's owner. == Notable cases == Marcus Thomas, former assistant director of the FBI's Operational Technology Division in Quantico, said in a 2013 story in The Washington Post that the FBI had been able to covertly activate a computer's camera—without triggering the light that lets users know it is recording—for several years. In November 2013, American teenager Jared James Abrahams pleaded guilty to hacking over 100-150 women and installing the highly invasive malware Blackshades on their computers in order to obtain nude images and videos of them. One of his victims was Miss Teen USA 2013 Cassidy Wolf. Researchers from Johns Hopkins University have shown how to covertly capture images from the iSight camera on MacBook and iMac models released before 2008, by reprogramming the microcontroller's firmware. == Prevention == A computer that does not have an up-to-date webcam software or any anti-virus (or firewall) software installed and operational may be at increased risk for camfecting from different types of malware. Softcams may nominally increase this risk, if not maintained or configured properly. Although a person cannot protect themselves from zero-day exploits that could potentially activate a camera unknowingly, such as Pegasus is able to do on smartphones. The only way to truly avoid being watched through your own camera is by blocking it physically, since software blocks can be overriden by advanced persistent threats. A simple piece of tape is more commonly used to offuscate the feed of the camera. With even Mark Zuckerberg doing so on his personal laptop that appeared during a presentation. And it being the way Snowden, an ex-contractor for the NSA, is portrayed to do so to prevent camfecting in the biopic Snowden. There is now a market for the manufacture and sale of sliding lens covers that allow users to physically block their computer's camera and, in some cases, microphone. A number of phone and laptop manufacturers tried to implement pop-up cameras that can only be opened manually by the user. But the trend did not become mainstream because of the engineering it took to keep the mechanisms up to date, aswell as the fragility and durability of the cameras.

    Read more →
  • MultiNet

    MultiNet

    Multilayered extended semantic networks (MultiNets) are both a knowledge representation paradigm and a language for meaning representation of natural language expressions that has been developed by Prof. Dr. Hermann Helbig on the basis of earlier Semantic Networks. It is used in a question-answering application for German called InSicht. It is also used to create a tutoring application developed by the university of University of Hagen to teach MultiNet to knowledge engineers. MultiNet is claimed to be one of the most comprehensive and thoroughly described knowledge representation systems. It specifies conceptual structures by means of about 140 predefined relations and functions, which are systematically characterized and underpinned by a formal axiomatic apparatus. Apart from their relational connections, the concepts are embedded in a multidimensional space of layered attributes and their values. Another characteristic of MultiNet distinguishing it from simple semantic networks is the possibility to encapsulate whole partial networks and represent the resulting conceptual capsule as a node of higher order, which itself can be an argument of relations and functions. MultiNet has been used in practical NLP applications such as natural language interfaces to the Internet or question answering systems over large semantically annotated corpora with millions of sentences. MultiNet is also a cornerstone of the commercially available search engine SEMPRIA-Search, where it is used for the description of the computational lexicon and the background knowledge, for the syntactic-semantic analysis, for logical answer finding, as well as for the generation of natural language answers. MultiNet is supported by a set of software tools and has been used to build large semantically based computational lexicons. The tools include a semantic interpreter WOCADI, which translates natural language expressions (phrases, sentences, texts) into formal MultiNet expressions, a workbench MWR+ for the knowledge engineer (comprising modules for automatic knowledge acquisition and reasoning), and a workbench LIA+ for the computer lexicographer supporting the creation of large semantically based computational lexica.

    Read more →
  • WYSIWYM (interaction technique)

    WYSIWYM (interaction technique)

    What you see is what you meant (WYSIWYM) is a text editing interaction technique that emerged from two projects at University of Brighton. It allows users to create abstract knowledge representations such as those required by the Semantic Web using a natural language interface. Natural language understanding (NLU) technology is not employed. Instead, natural language generation (NLG) is used in a highly interactive manner. The text editor accepts repeated refinement of a selected span of text as it becomes progressively less vacuous of authored semantics. Using a mouse, a text property held in the evolving text can be further refined by a set of options derived by NLG from a built-in ontology. An invisible representation of the semantic knowledge is created which can be used for multilingual document generation, formal knowledge formation, or any other task that requires formally specified information. The two projects at Brighton worked in the field of Conceptual Authoring to lay a foundation for further research and development of a Semantic Web Authoring Tool (SWAT). This tool has been further explored as a means for developing a knowledge base by those without prior experience with Controlled Natural Language tools.

    Read more →