@polycode-projects/the-mechanical-code-talker 2.2.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/bin/tmct.mjs +4 -5
  2. package/corpus/LICENSES.json +19 -4
  3. package/corpus/README.md +48 -0
  4. package/corpus/generated/README.md +24 -9
  5. package/corpus/generated/ace-surface-variants.jsonl +4 -1
  6. package/corpus/generated/manifest.json +4 -4
  7. package/corpus/prose/manifest.json +512 -0
  8. package/corpus/prose/sqlite/LICENSE-NOTICE +53 -0
  9. package/corpus/prose/sqlite/arch.txt +213 -0
  10. package/corpus/prose/sqlite/atomiccommit.txt +1117 -0
  11. package/corpus/prose/sqlite/faq.txt +473 -0
  12. package/corpus/prose/sqlite/fileformat.txt +1589 -0
  13. package/corpus/prose/sqlite/lang_createtable.txt +1339 -0
  14. package/corpus/prose/sqlite/lang_insert.txt +580 -0
  15. package/corpus/prose/sqlite/lang_select.txt +3293 -0
  16. package/corpus/prose/sqlite/optoverview.txt +908 -0
  17. package/corpus/prose/sqlite/queryplanner.txt +447 -0
  18. package/corpus/prose/sqlite/transactional.txt +41 -0
  19. package/corpus/prose/sqlite/wal.txt +567 -0
  20. package/corpus/prose/sqlite/whentouse.txt +300 -0
  21. package/corpus/prose/wikipedia/Apple.txt +4 -0
  22. package/corpus/prose/wikipedia/Attempto_Controlled_English.txt +169 -0
  23. package/corpus/prose/wikipedia/Automated_planning_and_scheduling.txt +67 -0
  24. package/corpus/prose/wikipedia/Bee.txt +7 -0
  25. package/corpus/prose/wikipedia/Bird.txt +8 -0
  26. package/corpus/prose/wikipedia/Bone.txt +4 -0
  27. package/corpus/prose/wikipedia/Book.txt +7 -0
  28. package/corpus/prose/wikipedia/Bread.txt +6 -0
  29. package/corpus/prose/wikipedia/Butterfly.txt +6 -0
  30. package/corpus/prose/wikipedia/Car.txt +1 -0
  31. package/corpus/prose/wikipedia/Cat.txt +1 -0
  32. package/corpus/prose/wikipedia/Child.txt +3 -0
  33. package/corpus/prose/wikipedia/City.txt +2 -0
  34. package/corpus/prose/wikipedia/Clock.txt +2 -0
  35. package/corpus/prose/wikipedia/Cooking.txt +1 -0
  36. package/corpus/prose/wikipedia/Description_logic.txt +660 -0
  37. package/corpus/prose/wikipedia/Doctor.txt +6 -0
  38. package/corpus/prose/wikipedia/Dog.txt +4 -0
  39. package/corpus/prose/wikipedia/Eagle.txt +4 -0
  40. package/corpus/prose/wikipedia/Emotion.txt +9 -0
  41. package/corpus/prose/wikipedia/Eye.txt +5 -0
  42. package/corpus/prose/wikipedia/Family.txt +3 -0
  43. package/corpus/prose/wikipedia/Farm.txt +4 -0
  44. package/corpus/prose/wikipedia/Fear.txt +4 -0
  45. package/corpus/prose/wikipedia/First-order_logic.txt +1518 -0
  46. package/corpus/prose/wikipedia/Fish.txt +10 -0
  47. package/corpus/prose/wikipedia/Flower.txt +3 -0
  48. package/corpus/prose/wikipedia/Food.txt +10 -0
  49. package/corpus/prose/wikipedia/Grass.txt +9 -0
  50. package/corpus/prose/wikipedia/Hand.txt +2 -0
  51. package/corpus/prose/wikipedia/Happiness.txt +3 -0
  52. package/corpus/prose/wikipedia/Heart.txt +4 -0
  53. package/corpus/prose/wikipedia/Horse.txt +4 -0
  54. package/corpus/prose/wikipedia/House.txt +6 -0
  55. package/corpus/prose/wikipedia/Human.txt +4 -0
  56. package/corpus/prose/wikipedia/Insect.txt +6 -0
  57. package/corpus/prose/wikipedia/Interactive_fiction.txt +112 -0
  58. package/corpus/prose/wikipedia/Knowledge.txt +5 -0
  59. package/corpus/prose/wikipedia/Knowledge_representation_and_reasoning.txt +87 -0
  60. package/corpus/prose/wikipedia/LICENSE-NOTICE +94 -0
  61. package/corpus/prose/wikipedia/Language.txt +10 -0
  62. package/corpus/prose/wikipedia/Learning.txt +4 -0
  63. package/corpus/prose/wikipedia/Mammal.txt +3 -0
  64. package/corpus/prose/wikipedia/Memory.txt +5 -0
  65. package/corpus/prose/wikipedia/Milk.txt +1 -0
  66. package/corpus/prose/wikipedia/Mountain.txt +1 -0
  67. package/corpus/prose/wikipedia/Natural_language_processing.txt +211 -0
  68. package/corpus/prose/wikipedia/Ostrich.txt +2 -0
  69. package/corpus/prose/wikipedia/Owl.txt +2 -0
  70. package/corpus/prose/wikipedia/Penguin.txt +2 -0
  71. package/corpus/prose/wikipedia/Plant.txt +5 -0
  72. package/corpus/prose/wikipedia/Rain.txt +1 -0
  73. package/corpus/prose/wikipedia/Resource_Description_Framework.txt +184 -0
  74. package/corpus/prose/wikipedia/River.txt +1 -0
  75. package/corpus/prose/wikipedia/School.txt +8 -0
  76. package/corpus/prose/wikipedia/Sea.txt +1 -0
  77. package/corpus/prose/wikipedia/Semantic_Web.txt +114 -0
  78. package/corpus/prose/wikipedia/Semantic_reasoner.txt +29 -0
  79. package/corpus/prose/wikipedia/Snow.txt +5 -0
  80. package/corpus/prose/wikipedia/Sun.txt +5 -0
  81. package/corpus/prose/wikipedia/Teacher.txt +4 -0
  82. package/corpus/prose/wikipedia/Team.txt +3 -0
  83. package/corpus/prose/wikipedia/Text-based_game.txt +17 -0
  84. package/corpus/prose/wikipedia/Tool.txt +4 -0
  85. package/corpus/prose/wikipedia/Tree.txt +7 -0
  86. package/corpus/prose/wikipedia/Weather.txt +4 -0
  87. package/corpus/prose/wikipedia/Web_Ontology_Language.txt +133 -0
  88. package/corpus/prose/wikipedia/Wind.txt +8 -0
  89. package/corpus/prose/wikipedia/Writing.txt +5 -0
  90. package/corpus/wordnet/generate.mjs +6 -7
  91. package/package.json +31 -2
  92. package/src/adapters/corpus/conceptnet.mjs +1 -1
  93. package/src/adapters/graph-build.mjs +3 -3
  94. package/src/adapters/memory/blocks.mjs +2 -2
  95. package/src/adapters/memory/core.mjs +5 -5
  96. package/src/adapters/providers/bootstrap.mjs +1 -1
  97. package/src/adapters/providers/fixture.mjs +1 -1
  98. package/src/adapters/wink-model.mjs +1 -1
  99. package/src/adapters/wordnet-source.mjs +70 -0
  100. package/src/domain/answer-variants.json +1 -1
  101. package/src/domain/ask-vocab.mjs +2 -2
  102. package/src/domain/ask.mjs +4 -4
  103. package/src/domain/codegraph.mjs +3 -3
  104. package/src/domain/corpus-matrix.mjs +87 -0
  105. package/src/domain/grammar/ace.mjs +11 -11
  106. package/src/domain/grammar/lexicon.mjs +3 -3
  107. package/src/domain/inflect.mjs +67 -0
  108. package/src/domain/interpret/fuzzy.mjs +1 -1
  109. package/src/domain/interpret/merge.mjs +1 -1
  110. package/src/domain/interpret/normalize.mjs +1 -1
  111. package/src/domain/licences.mjs +68 -0
  112. package/src/domain/memory/capability.mjs +1 -1
  113. package/src/domain/memory/trust.mjs +2 -2
  114. package/src/domain/persona/codegen.mjs +123 -0
  115. package/src/domain/persona/examples.mjs +26 -0
  116. package/src/domain/persona/tiers.mjs +270 -0
  117. package/src/domain/publish-gate.mjs +41 -0
  118. package/src/domain/router/call-validator.mjs +1 -1
  119. package/src/domain/router/drive.mjs +3 -4
  120. package/src/domain/router/registry.mjs +12 -13
  121. package/src/domain/router/resolver.mjs +18 -5
  122. package/src/domain/router/results.mjs +3 -3
  123. package/src/domain/router/taught.mjs +4 -3
  124. package/src/domain/schemaorg/turtle.mjs +25 -0
  125. package/src/domain/semcor/parse.mjs +87 -0
  126. package/src/domain/syllogise.mjs +6 -6
  127. package/src/domain/version-stamp.mjs +36 -0
  128. package/src/domain/wordnet/yaml.mjs +133 -0
  129. package/src/services/chat-session.mjs +2 -2
  130. package/src/services/chat.mjs +2 -2
  131. package/src/services/cli-args.mjs +4 -4
  132. package/src/services/finish.mjs +1 -1
  133. package/src/services/ledger-viz.mjs +2 -3
  134. package/src/services/sessions.mjs +4 -4
  135. package/src/services/viz-theme.mjs +3 -4
  136. package/src/surfaces/web/memory-ask-browser.bundle.js +1 -18
  137. package/src/domain/router/guardrail.mjs +0 -116
@@ -0,0 +1,10 @@
1
+ Fish (plural: fish or fishes) are a group of animals which live in water and respire (get oxygen) from their gills. As a group, they are much older than other vertebrates. The first fish developed about 500 million years ago.
2
+ Shell fish such as the crab or lobster are actually small, boneless creatures that live in their own shell house or shell-like partial exterior, dwelling in seas and oceans. Some other examples include:
3
+ Jawless fish
4
+ Armoured fish
5
+ Cartilaginous fish
6
+ Ray-finned fish
7
+ Lobe-finned fish.
8
+ There are more fish than four-limbed animals: there are over 33,000 described species of fish. Fish are usually covered with scales. They have two sets of paired fins and several unpaired fins. Most fish are cold-blooded (poikilotherm).
9
+ There are many different kinds of fish. The thing to remember is that they all have adaptations, which are the features which let them live in the way they do. Yes, they do all live in water. But living in a fast-flowing river is different from living in a slow-moving river. In the sea, it matters the depth they live at. They live in fresh water in lakes and rivers (freshwater fish), and in salt water (marine fish) in the oceans. Some fish are less than one centimeter long. The largest fish is the whale shark, which can be almost 15 meters long and weigh 15 tons. Almost all fish live in the water. A group of fish called the lungfish have developed lungs because they live in rivers and pools which dry up in certain parts of the year. They burrow into mud and aestivate until the water returns.
10
+ The English word "fish" is not just one phylum. Some fish are more closely related to land animals than they are to other fish. For example, lobe-finned fish were the first animals with bones to come live on land, and all land animals are their descendants. Lobe-finned fish are more closely related to humans than to ray-finned fish.
@@ -0,0 +1,3 @@
1
+ A flower is the reproductive part of flowering plants. Flowers are also called the bloom or blossom of a plant. Flowers have petals. Inside the part of the flower that has petals are the parts which produce pollen and seeds.
2
+ In all plants, a flower is usually its most colourful part. We say the plant 'flowers', 'is flowering' or 'is in flower' when this colourful part begins to grow bigger and open out. There are many different kinds of flowers in different areas in the world. Even in the coldest places, for example the Arctic, flowers can grow during a few months.
3
+ Flowers may grow separately on the plant, or they may grow together in an inflorescence.
@@ -0,0 +1,10 @@
1
+ Food is what people, plants and animals eat to live. Every organism needs energy to carry on with the process of living which comes from food. Food usually comes from animals and plants. It is eaten by living things to provide energy and nutrition. Food contains the nutrition that people and animals need to be healthy. The consumption of food is normally enjoyable to humans.
2
+ It contains protein, fat, carbohydrates, vitamins, water and minerals. Liquids used for energy and nutrition are often called "drinks". If someone cannot afford food they go hungry and could die.
3
+ Food for humans is mostly made through farming or gardening. It includes animal and vegetable sources. Some people refuse to eat food from animal origin, like meat, eggs, and products with milk in them. Not eating meat is called vegetarianism. Not eating or using any animal products is called veganism.
4
+ Food produced by farmers or gardeners can be changed by industrial processes (the food industry). Processed food usually contains several natural ingredients and food additives (such as preservatives, antioxidants, emulsifiers, flavor enhancers). For example, bread is processed food.
5
+ Food processing at home is done in the kitchen, by the cook. The cook sometimes uses a cookbook. Examples of cooking utensils are pressure cookers, pots, and frying pans.
6
+ Food can also be prepared and served in restaurants or refectory (in particular for children in school).
7
+ The utensils used may be a plate, knife, fork, chopsticks, spoon, bowl, or spork.
8
+ Many people do not grow their own food. They have to buy food that was grown by someone else. People buy most of their food in shops or markets. But some people still grow most or all of their own food.
9
+ People may buy food and take it home to cook it. They may buy food that is ready to eat from a street vendor or a restaurant.
10
+ Other countries have their own way of eating food. An example of an ethnic food is Mexican food.
@@ -0,0 +1,9 @@
1
+ Grass is a type of plant with narrow leaves growing from the base. Their appearance as a common plant was in the mid-Cretaceous period. There are more than 12,000 species now.
2
+ Much grass is used to cover the ground in places such as lawns and parks. Grass is usually the color green. That is because they are pollinated by wind rather than insect pollinators, so they do not have to attract insects. Green is the best color for photosynthesis.
3
+ Grasslands such as savanna and prairie are where grasses are dominant. They cover 40,5% of the land area of the Earth, but not Greenland nor Antarctica.
4
+ Grasses are monocotyledon herbaceous plants. They include the "grass" of the family Poaceae, which are called grass by ordinary people. This family is also called the Gramineae and includes some of the sedges (Cyperaceae) and the rushes (Juncaceae). These three families are not very closely related, though all of them belong to clades in the order Poales. They are similar adaptations to a similar life-style.
5
+ With about 780 genera and about 12,000 species, the Poaceae is the fifth-largest plant family. Only the Asteraceae, Orchidaceae, Fabaceae and Rubiaceae have more species.
6
+ The true grasses include cereals, bamboo and the grasses of lawns (turf) and grassland. Uses for graminoids include food (as grain, shoots or rhizomes), drink (beer, whisky), pasture for livestock, thatch, paper, fuel, clothing, insulation, construction, basket weaving and many others.
7
+ Many grasses are short, but some grasses can grow tall, such as bamboo. Plants from the grass family can grow in many places and make grasslands, including areas that are very dry or cold. There are several other plants that look similar to grass and are referred to as such but are not members of the grass family. These plants include rushes, reeds, papyrus and water chestnut. Seagrass is a monocot in the order Alismatales.
8
+ Grasses are an important food for many animals, such as deer, buffalo, cattle, mice, grasshoppers, caterpillars and many other grazers. Unlike other plants, grasses grow from the bottom, so when animals eat grass, they usually do not destroy the part that grows. This is part of the reason why the plants are so successful.
9
+ Without grass, more soil might wash away into rivers (erosion).
@@ -0,0 +1,2 @@
1
+ A hand is the part of the body at the end of an arm. Most humans have two hands. Each hand usually has four fingers and a thumb. On the inside of the hand is the palm. The five bones inside this part of the hand are called metacarpals. The wrist connects the hand to the arm. The hand has 27 bones including the wrist bones.
2
+ When the fingers are all bent tightly, the hand forms a fist. The joints that are the hardest part of the fist are called knuckles. Many other animals, especially other primates, have hands that can hold things. Human hands can do things which hands of other animals cannot.
@@ -0,0 +1,3 @@
1
+ Happiness is a feeling of pleasure and positivity. When someone feels good, proud, excited, relieved or satisfied about something, that person is said to be "happy". Feeling happy may help people to relax and to smile.
2
+ Happiness is usually thought of as the opposite of sadness. However, it is very possible to feel both at once, often about different things, or sometimes even about the same thing. You are often excited when you are happy. Happiness can also be inspired too.
3
+ Many philosophers have said that people in the world go back and forth between times of happiness and sadness, but there is nobody who is always happy or always sad. Happiness sometimes causes people to cry when they laugh because the emotion takes control of them. Happiness was thought of as the key to love in ancient civilizations such as the Inca and the Maya.
@@ -0,0 +1,4 @@
1
+ The heart is a hard-working, fist-sized muscle found in people and animals. It pumps out blood through tube-like structures called blood vessels. The heart and these vessels together make up the body-wide circulatory system. Blood carries in oxygen-rich air and nutrient-packed food to the body and takes away waste-filled substances like carbon dioxide to the lungs. In people, the heart is about the size of a closed-hand and sits in between the lungs, in the chest-centered cavity.
2
+ In humans, the heart has four parts called chambers. These are the upper-left and upper-right atria, and the lower-left and lower-right ventricles. People often talk about the right-side atrium and ventricle together as the right heart, and the left-side ones as the left heart.
3
+ In a well-working heart, blood goes through the heart in one direction. Special flaps called valves keep out blood from going backward. The heart sits inside a fluid-filled protective bag called the pericardium. This bag holds in a small amount of fluid to help the heart move smoothly.
4
+ The heart wall has three layered parts: the epicardium (outer layer), the myocardium (middle layer), and the endocardium (inner layer).
@@ -0,0 +1,4 @@
1
+ Horses are a group of animals of the family Equidae.
2
+ The standard horse is the species Equus caballus. It was domesticated from wild horses by humans at least 5000 years ago. They are large, strong animals and some breeds are used to pull heavy loads.
3
+ A male horse is a stallion, and a female horse is a mare, while the general term for a young horse is a foal. A young female horse is a filly, and a young male horse is a colt. A castrated horse is a gelding. A small adult horse is called a pony. A pack of horses, called a herd, can be led by a top stallion and a top mare.
4
+ Horses are related to the rhino and tapir in the order Perissodactyla. Equus is the old Latin word for horse.
@@ -0,0 +1,6 @@
1
+ A house is a building that is made for people to live in. It is usually built for a family (parents and their children). It is a "permanent" building that is meant to stay standing. It is not easily packed up and carried away like a tent, or moved like a caravan. If people live in the same house for more than a short stay, then they call it their "home". Being without a home is called homelessness. Houses are usually numbered. Some are also named.
2
+ Houses are usually occupied by a single family or housemates, like in the cases of group homes and boarding houses.
3
+ Houses come in many different shapes, sizes and architectural styles. They range from one room shacks and cabins to the largest of palaces, mansions and castles. Houses also are made of many different materials from thatch and wood, to brick, stone and modern materials like metal. Typically, a house contains only one to three floor levels/ storeys, but four or more stories are common in urban and waterfront areas. Basements are common in certain climatic zones. Houses can be standard shaped or can take unorthodox shapes such as of domes and pyramids. Houses can be detached stand-alone buildings or joined to other houses at the sides to make a "terrace" or "row house" (a connected row of houses).
4
+ A big building with many levels and apartments is called "a block of flats" (British) or an apartment building. One of the differences between a house and an apartment is that a house has a front door to the outside world, whereas the main door of an apartment usually opens onto a passage or landing that can be used by other people in the building.
5
+ Houses have a roof to keep off the rain and sun, and walls to keep out the wind and cold. They have window openings to let in light, and a floor. Houses of different places may look different from each other, because of different materials, climate, and styles.
6
+ If a house is important and historic enough, it can be a museum showcasing how the house's residents lived.
@@ -0,0 +1,4 @@
1
+ A human is a member of the species Homo sapiens, which means 'wise man' in Latin. Carolus Linnaeus put humans in the mammalian order of primates. Humans are a species of hominid, and chimpanzees, gorillas and orangutans are their closest living relatives.
2
+ Humans are mammals. They are also social animals, and usually live in groups. They help and protect each other. They care for their children for many years until they can do so for themselves. Humans are bipedal, which means they walk on two legs.
3
+ Humans have complex brains, which is much larger than that of other living apes. They use language, make ideas, and feel emotions. This brain, and the fact that arms are not needed for walking, lets humans use tools. Humans use tools far more than any other species. Their tools can range from simple sticks as weapons, to very advanced projectile weapons, such as guns.
4
+ Humans first evolved in Africa. They soon spread out across the world, and began living on every continent. As of 2023, there were over 8.1 billion living on Earth.
@@ -0,0 +1,6 @@
1
+ Insects are a class in the phylum Arthropoda. They are small terrestrial invertebrates which have a hard exoskeleton.
2
+ Insects are the largest group of animals on Earth by far: about 926,400 different species have been described. They are more than half of all known living species. They may be over 90% of animal species on Earth.
3
+ New species of insects are continually being found. Estimates of the total number of species range from 2 million to 30 million.
4
+ All adult insects have six legs; and most have wings. Insects were the first animals capable of flight.
5
+ As they develop from eggs, insects undergo metamorphosis. Insects live all over the planet: almost all are terrestrial (live on land). Few insects live in the oceans or in very cold places, such as Antarctica. The most species live in tropical areas.
6
+ Some people call all insects "bugs", but this is not correct. Only some insects are true bugs, which is a particular order of insects. People who study insects are called entomologists.
@@ -0,0 +1,112 @@
1
+ Interactive fiction (IF) is software simulating environments in which players use text commands to control characters and influence the environment. Works in this form can be understood as literary narratives, either in the form of interactive narratives or interactive narrations. These works can also be understood as a form of video game, either in the form of an adventure game or role-playing game. In common usage, the term refers to text adventures, a type of adventure game where the entire interface can be "text-only", however, graphical text adventure games, where the text is accompanied by graphics (still images, animations or video) still fall under the text adventure category if the main way to interact with the game is by typing text. Some users of the term distinguish between interactive fiction, known as "puzzle-free", that focuses on narrative, and "text adventures" that focus on puzzles.
2
+ Due to their text-only nature, they sidestepped the problem of writing for widely divergent graphics architectures. This feature meant that interactive fiction games were easily ported across all the popular platforms at the time, including CP/M (not known for gaming or strong graphics capabilities). The number of interactive fiction works is increasing steadily as new ones are produced by an online community, using freely available development system.
3
+ The term can also be used to refer to literary works that are not read in a linear fashion, known as gamebooks, where the reader is instead given choices at different points in the text; these decisions determine the flow and outcome of the story. The most famous example of this form of printed fiction is the Choose Your Own Adventure book series, and the collaborative "addventure" format has also been described as a form of interactive fiction. The term "interactive fiction" is sometimes used also to refer to visual novels, a type of interactive narrative software popular in Japan.
4
+ Text adventures are one of the oldest types of computer games and form a subset of the adventure genre. The player uses text input to control the game, and the game state is relayed to the player via text output. Interactive fiction usually relies on reading from a screen and on typing input, although text-to-speech synthesizers allow blind and visually impaired users to play interactive fiction titles as audio games.
5
+ Input is usually provided by the player in the form of simple sentences such as "get key" or "go east", which are interpreted by a text parser. Parsers may vary in sophistication; the first text adventure parsers could only handle two-word sentences in the form of verb-noun pairs. Later parsers, such as those built on ZIL (Zork Implementation Language), could understand complete sentences. Later parsers could handle increasing levels of complexity parsing sentences such as "open the red box with the green key then go north". This level of complexity is the standard for works of interactive fiction today.
6
+ Despite their lack of graphics, text adventures often include a physical dimension where players move between rooms. Many text adventure games boasted their total number of rooms to indicate how much gameplay they offered. These games are unique in that they may create an illogical space, where going north from area A takes you to area B, but going south from area B did not take you back to area A. This can create mazes that do not behave as players expect, and thus players must maintain their own map. These illogical spaces are much more rare in today's era of 3D gaming, and the interactive fiction community in general decries the use of mazes entirely, claiming that mazes have become arbitrary 'puzzles for the sake of puzzles' and that they can, in the hands of inexperienced designers, become immensely frustrating for players to navigate.
7
+ Interactive fiction shares much in common with Multi-User Dungeons ('MUDs'). MUDs, which became popular in the mid-1980s, rely on a textual exchange and accept similar commands from players as do works of IF; however, since interactive fiction is single player, and MUDs, by definition, have multiple players, they differ enormously in gameplay styles. MUDs often focus gameplay on activities that involve communities of players, simulated political systems, in-game trading, and other gameplay mechanics that are not possible in a single player environment.
8
+ Interactive fiction features two distinct modes of writing: the player input and the game output. As described above, player input is expected to be in simple command form (imperative sentences). A typical command may be:> PULL Lever
9
+ The responses from the game are usually written from a second-person point of view, in present tense. This is because, unlike in most works of fiction, the main character is closely associated with the player, and the events are seen to be happening as the player plays. While older text adventures often identified the protagonist with the player directly, newer games tend to have specific, well-defined protagonists with separate identities from the player. The classic essay "Crimes Against Mimesis" discusses, among other IF issues, the nature of "You" in interactive fiction. A typical response might look something like this, the response to "look in tea chest" at the start of Curses:
10
+ "That was the first place you tried, hours and hours ago now, and there's nothing there but that boring old book. You pick it up anyway, bored as you are."
11
+ Many text adventures, particularly those designed for humour (such as Zork, The Hitchhiker's Guide to the Galaxy, and Leather Goddesses of Phobos), address the player with an informal tone, sometimes including sarcastic remarks (see the transcript from Curses, above, for an example). The late Douglas Adams, in designing the IF version of his 'Hitchhiker's Guide to the Galaxy', created a unique solution to the final puzzle of the game: the game requires the one solitary item that the player didn't choose at the outset of play.
12
+ Some IF works dispense with second-person narrative entirely, opting for a first-person perspective ('I') or even placing the player in the position of an observer, rather than a direct participant. In some 'experimental' IF, the concept of self-identification is eliminated, and the player instead takes the role of an inanimate object, a force of nature, or an abstract concept; experimental IF usually pushes the limits of the concept and challenges many assumptions about the medium.
13
+ Though neither program was developed as a narrative work, the software programs ELIZA (1964–1966) and SHRDLU (1968–1970) can formally be considered early examples of interactive fiction, as both programs used natural language processing to take input from their user and respond in a virtual and conversational manner. ELIZA simulated a psychotherapist that appeared to provide human-like responses to the user's input, while SHRDLU employed an artificial intelligence that could move virtual objects around an environment and respond to questions asked about the environment's shape. The development of effective natural language processing would become an essential part of interactive fiction development.
14
+ Peter Langston's Wander (1974), an early mainframe game, was rereleased on GitHub in 2015.
15
+ Around 1975, Will Crowther, a programmer and an amateur caver, wrote Adventure (originally called ADVENT, and later Colossal Cave Adventure). Having just gone through a divorce, he was looking for a way to connect with his two young children. Over the course of a few weekends, he wrote a text based cave exploration game that featured a sort of guide/narrator who spoke in full sentences and who understood simple two word commands that came close to natural English. Adventure was programmed in Fortran for the PDP-10. Crowther's original version was an accurate simulation of part of the real life Mammoth Cave, but also included fantasy elements (such as axe-wielding dwarves and a magic bridge).
16
+ Stanford University graduate student Don Woods discovered Adventure while working at the Stanford Artificial Intelligence Laboratory, and in 1977 obtained and expanded Crowther's source code (with Crowther's permission). Woods's changes were reminiscent of the writings of J. R. R. Tolkien, and included a troll, elves, and a volcano, which some claim is based on Mount Doom, but Woods says was not.
17
+ In early 1977, Adventure spread across ARPAnet, and has survived on the internet to this day. The game has since been ported to many other operating systems, and was included with the floppy-disk distribution of Microsoft's MS-DOS 1.0 OS. Adventure is a cornerstone of the online IF community; there currently exist dozens of different independently programmed versions, with additional elements, such as new rooms or puzzles, and various scoring systems.
18
+ The popularity of Adventure led to the wide success of interactive fiction during the late 1970s, when home computers had little, if any, graphics capability. Many elements of the original game have survived into the present, such as the command 'xyzzy', which is now included as an Easter Egg in modern games, such as Microsoft Minesweeper.
19
+ Adventure was also directly responsible for the founding of Sierra Online (later Sierra Entertainment); Ken and Roberta Williams played the game and decided to design one of their own, but with graphics.
20
+ Adventure International was founded by Scott Adams (not to be confused with the creator of Dilbert). In 1978, Adams wrote Adventureland, which was loosely patterned after the (original) Colossal Cave Adventure. He took out a small ad in a computer magazine in order to promote and sell Adventureland, thus creating the first commercial adventure game. In 1979 he founded Adventure International, the first commercial publisher of interactive fiction. That same year, Dog Star Adventure was published in source code form in SoftSide, spawning legions of similar games in BASIC.
21
+ The largest company producing works of interactive fiction was Infocom, which created the Zork series and many other titles, among them Trinity, The Hitchhiker's Guide to the Galaxy and A Mind Forever Voyaging.
22
+ In June 1977, Marc Blank, Bruce K. Daniels, Tim Anderson, and Dave Lebling began writing the mainframe version of Zork (also known as Dungeon), at the MIT Laboratory for Computer Science. The game was programmed in a computer language called MDL, a variant of LISP.
23
+ The term Implementer was the self-given name of the creators of the text adventure series Zork. It is for this reason that game designers and programmers can be referred to as an implementer, often shortened to "Imp", rather than a writer.
24
+ In early 1979, the game was completed. Ten members of the MIT Dynamics Modelling Group went on to join Infocom when it was incorporated later that year.
25
+ In order to make its games as portable as possible, Infocom developed the Z-machine, a custom virtual machine that could be implemented on a large number of platforms, and took standardized "story files" as input.
26
+ In a non-technical sense, Infocom was responsible for developing the interactive style that would be emulated by many later interpreters. The Infocom parser was widely regarded as the best of its era. It accepted complex, complete sentence commands like "put the blue book on the writing desk" at a time when most of its competitors parsers were restricted to simple two word verb-noun combinations such as "put book". The parser was actively upgraded with new features like undo and error correction, and later games would 'understand' multiple sentence input: 'pick up the gem and put it in my bag. take the newspaper clipping out of my bag then burn it with the book of matches'.
27
+ Several companies offered optional commercial feelies (physical props associated with a game). The tradition of 'feelies' (and the term itself) is believed to have originated with Deadline (1982), the third Infocom title after Zork I and II. When writing this game, it was not possible to include all of the information in the limited (80KB) disk space, so Infocom created the first feelies for this game; extra items that gave more information than could be included within the digital game itself. These included police interviews, the coroner's findings, letters, crime scene evidence and photos of the murder scene.
28
+ These materials were very difficult for others to copy or otherwise reproduce, and many included information that was essential to completing the game. Seeing the potential benefits of both aiding game-play immersion and providing a measure of creative copy-protection, in addition to acting as a deterrent to software piracy, Infocom and later other companies began creating feelies for numerous titles. In 1987, Infocom released a special version of the first three Zork titles together with plot-specific coins and other trinkets. This concept would be expanded as time went on, such that later game feelies would contain passwords, coded instructions, page numbers, or other information that would be required to successfully complete the game.
29
+ Interactive fiction became a standard product for many software companies. By 1982 Softline wrote that "the demands of the market are weighted heavily toward hi-res graphics" in games like Sierra's The Wizard and the Princess and its imitators. Such graphic adventures became the dominant form of the genre on computers with graphics, like the Apple II. By 1982 Adventure International began releasing versions of its games with graphics. The company went bankrupt in 1985. Synapse Software and Acornsoft were also closed in 1985, leaving Infocom as the leading company producing text-only adventure games on the Apple II with sophisticated parsers and writing, and still advertising its lack of graphics as a virtue. The company was bought by Activision in 1986 after the failure of Cornerstone, Infocom's database software program, and stopped producing text adventures a few years later. Soon after, Telaium/Trillium also closed.
30
+ Probably the first commercial work of interactive fiction produced outside the U.S. was the dungeon crawl game of Acheton, produced in Cambridge, England, and first commercially released by Acornsoft (later expanded and reissued by Topologika). Other leading companies in the UK were Magnetic Scrolls and Level 9 Computing. Also worthy of mention are Delta 4, Melbourne House, and the homebrew company Zenobi.
31
+ In the early 1980s Edu-Ware also produced interactive fiction for the Apple II as designated by the "if" graphic that was displayed on startup. Their titles included the Prisoner and Empire series (Empire I: World Builders, Empire II: Interstellar Sharks, Empire III: Armageddon).
32
+ In 1981, CE Software published SwordThrust as a commercial successor to the Eamon gaming system for the Apple II. SwordThrust and Eamon were simple two-word parser games with many role-playing elements not available in other interactive fiction. While SwordThrust published seven different titles, it was vastly overshadowed by the non-commercial Eamon system which allowed private authors to publish their own titles in the series. By March 1984, there were 48 titles published for the Eamon system (and over 270 titles in total as of March 2013).
33
+ In Italy, interactive fiction games were mainly published and distributed through various magazines in included tapes. The largest number of games were published in the two magazines Viking and Explorer, with versions for the main 8-bit home computers (ZX Spectrum, Commodore 64, and MSX). The software house producing those games was Brainstorm Enterprise, and the most prolific IF author was Bonaventura Di Bello, who produced 70 games in the Italian language. The wave of interactive fiction in Italy lasted for a couple of years thanks to the various magazines promoting the genre, then faded and remains still today a topic of interest for a small group of fans and less known developers, celebrated on Web sites and in related newsgroups.
34
+ In Spain, interactive fiction was considered a minority genre, and was not very successful. The first Spanish interactive fiction commercially released was Yenght in 1983, by Dinamic Software, for the ZX Spectrum. Later on, in 1987, the same company produced an interactive fiction about Don Quijote. After several other attempts, the company Aventuras AD, emerged from Dinamic, became the main interactive fiction publisher in Spain, including titles like a Spanish adaptation of Colossal Cave Adventure, an adaptation of the Spanish comic El Jabato, and mainly the Ci-U-Than trilogy, composed by La diosa de Cozumel (1990), Los templos sagrados (1991) and Chichen Itzá (1992). During this period, the Club de Aventuras AD (CAAD), the main Spanish speaking community around interactive fiction in the world, was founded, and after the end of Aventuras AD in 1992, the CAAD continued on its own, first with their own magazine, and then with the advent of Internet, with the launch of an active internet community that still produces interactive non commercial fiction nowadays.
35
+ Legend Entertainment was founded by Bob Bates and Mike Verdu in 1989. It started out from the ashes of Infocom. The text adventures produced by Legend Entertainment used (high-resolution) graphics as well as sound. Some of their titles include Eric the Unready, the Spellcasting series and Gateway (based on Frederik Pohl's novels).
36
+ The last text adventure created by Legend Entertainment was Gateway II (1992), while the last game ever created by Legend was Unreal II: The Awakening (2003) – the well-known first-person shooter action game using the Unreal Engine for both impressive graphics and realistic physics. In 2004, Legend Entertainment was acquired by Atari, who published Unreal II and released for both Microsoft Windows and Microsoft's Xbox.
37
+ Many other companies such as Level 9 Computing, Magnetic Scrolls, Delta 4 and Zenobi had closed by 1992.
38
+ In 1991 and 1992, Activision released The Lost Treasures of Infocom in two volumes, a collection containing most of Infocom's games, followed in 1996 by Classic Text Adventure Masterpieces of Infocom.
39
+ After the decline of the commercial interactive fiction market in the 1990s, an online community eventually formed around the medium. In 1987, the Usenet newsgroup rec.arts.int-fiction was created, and was soon followed by rec.games.int-fiction. By custom, the topic of rec.arts.int-fiction is interactive fiction authorship and programming, while rec.games.int-fiction encompasses topics related to playing interactive fiction games, such as hint requests and game reviews. As of late 2011, discussions between writers have mostly moved from rec.arts.int-fiction to the Interactive Fiction Community Forum.
40
+ One of the most important early developments was the reverse-engineering of Infocom's Z-code format and Z-machine virtual machine in 1987 by a group of enthusiasts called the InfoTaskForce and the subsequent development of an interpreter for Z-code story files. As a result, it became possible to play Infocom's work on modern computers.
41
+ For years, amateurs with the IF community produced interactive fiction works of relatively limited scope using the Adventure Game Toolkit and similar tools.
42
+ The breakthrough that allowed the interactive fiction community to truly prosper, however, was the creation and distribution of two sophisticated development systems. In 1987, Michael J. Roberts released TADS, a programming language designed to produce works of interactive fiction. In 1993, Graham Nelson released Inform, a programming language and set of libraries which compiled to a Z-Code story file. Each of these systems allowed anyone with sufficient time and dedication to create a game, and caused a growth boom in the online interactive fiction community.
43
+ Despite the lack of commercial support, the availability of high quality tools allowed enthusiasts of the genre to develop new high quality games. Competitions such as the annual Interactive Fiction Competition for short works, the Spring Thing for longer works, and the XYZZY Awards, further helped to improve the quality and complexity of the games. Modern games go much further than the original "Adventure" style, improving upon Infocom games, which relied extensively on puzzle solving, and to a lesser extent on communication with non player characters, to include experimentation with writing and story-telling techniques.
44
+ While the majority of modern interactive fiction that is developed is distributed for free, there are some commercial endeavors. In 1998, Michael Berlyn, a former implementor at Infocom, started a new game company, Cascade Mountain Publishing, whose goals were to publish interactive fiction. Despite the Interactive Fiction community providing social and financial backing, Cascade Mountain Publishing went out of business in 2000. Buster Hudson, developer of The Wizard Sniffer (2017), emphasized that parser-based puzzle can be used to control the pacing or develop a character.
45
+ Other commercial endeavors include: Peter Nepstad's 1893: A World's Fair Mystery, several games by Howard Sherman published as Malinche Entertainment, The General Coffee Company's Future Boy!, Cypher, a graphically enhanced cyberpunk game and various titles by Textfyre. Emily Short was commissioned to develop the game City of Secrets but the project fell through and she ended up releasing it herself.
46
+ Colossal Cave Adventure (1976, expanded in 1977), by Will Crowther and Don Woods, is one of the first well-known works of interactive fiction, establishing many conventions of the genre.
47
+ Adventureland (1978), by Scott Adams, is considered one of the defining works of interactive fiction.
48
+ The Zork series (1979 onwards) by Infocom was the first text adventure to see widespread commercial release.
49
+ Softporn Adventure (1981), by Chuck Benton, a popular adult game that inspired the Leisure Suit Larry video game series.
50
+ The Hobbit (1982), by Philip Mitchell and Veronika Megler of Beam Software was an early reinterpretation of an existing novel into interactive fiction, with several independent non-player characters.
51
+ DUNNET (1983), by Ron Schnell, surreal text adventure that has shipped with GNU Emacs since 1994, and thus comes with Mac OS X and most Linux distributions; often mistaken for an easter egg.
52
+ Planetfall (1983), by Steve Meretzky of Infocom, featured Floyd the robot, which Allen Varney claimed to be the first game character who evoked a strong emotional commitment from players.
53
+ Suspended (1983) by Michael Berlyn was an Infocom game with a large vocabulary and unique character personalities.
54
+ The Hitchhiker's Guide to the Galaxy (1984), by Douglas Adams and Steve Meretzky of Infocom, involved the author of the original work in the reinterpretation.
55
+ A Mind Forever Voyaging, by Steve Meretzky of Infocom (1985), a story-heavy, puzzle-light game often touted as Infocom's first serious work of science fiction.
56
+ Leather Goddesses of Phobos (1986) by Steve Meretzky, a risqué sci-fi parody from Infocom.
57
+ Silicon Dreams (1986), by Level 9 Computing, a trilogy of interactive science fiction games.
58
+ Amnesia (1987), by Hugo Award and Nebula Award winning science fiction and fantasy author Thomas M. Disch, a text-only adventure published by Electronic Arts.
59
+ Stellar Agent (1991), a text-based spy adventure game.
60
+ Curses (1993), by Graham Nelson, the first game written in the Inform programming language. Considered one of the first "modern" games to meet the high standards set by Infocom's best titles.
61
+ Anchorhead (1998), by Michael S. Gentry is a highly rated horror story inspired by H. P. Lovecraft's Cthulhu Mythos.
62
+ Photopia (1998), by Adam Cadre, one of the first almost entirely puzzle-free games. It won the annual Interactive Fiction Competition in 1998.
63
+ Spider and Web (1998), by Andrew Plotkin, an award-winning espionage story with many twists and turns.
64
+ Varicella (1999) by Adam Cadre. It won four XYZZY Awards in 1999 including the XYZZY Award for Best Game, and had a scholarly essay written about it.
65
+ 9:05 (2000) by Adam Cadre. It is commonly seen as an easy gateway for people to get involved with interactive fiction.
66
+ Galatea (2000), by Emily Short. Galatea is focused entirely on interaction with the animated statue of the same name. Galatea has one of the most complex interaction systems for a non-player character in an interactive fiction game. Adam Cadre called Galatea "the best NPC ever".
67
+ Slouching Towards Bedlam (2003), by Star C. Foster and Daniel Ravipinto. Set in a steampunk setting, the game integrates meta-game functionality (saving, restoring, restarting) into the game world itself. The game won four XYZZY Awards.
68
+ The Dreamhold (2004), by Andrew Plotkin. Designed for those new to IF, it provides an extensive help section and tutorials. Although the puzzles are not too difficult, it can be a challenge for both novice and experienced players.
69
+ Façade (2005) by Michael Mateas, Andrew Stern and John Grieve. An interactive drama using natural language processing.
70
+ Lost Pig (2007) by Admiral Jota. A comedic interactive fiction about an orc finding a pig that escaped from his farm. It won best game, best writing, best individual non-player character, and best individual player character in the 2007 XYZZY Awards.
71
+ 80 Days (2014) by inkle. An interactive adventure based on the novel by Jules Verne, it was nominated by TIME as their Game of the Year for 2014.
72
+ Black Mirror: Bandersnatch (2018), by Charlie Brooker. An interactive film in the science fiction anthology series Black Mirror.
73
+ The games that won both the Interactive Fiction Competition and the XYZZY Awards are All Roads (2001), Slouching Towards Bedlam (2003), Vespers (2005), Lost Pig (2007), Violet (2008), Aotearoa (2010), Coloratura (2013), and The Wizard Sniffer (2017).
74
+ The original Interactive fiction Colossal Cave Adventure was programmed in Fortran, originally developed by IBM. Adventure's parsers could only handle two-word sentences in the form of verb-noun pairs.
75
+ Infocom's games of 1979–88, such as Zork, were written using a LISP-like programming language called ZIL (Zork Implementation Language or Zork Interactive Language; it was referred to as both) that compiled into a byte code able to run on a standardized virtual machine called the Z-machine. As the games were text based and used variants of the same Z-machine interpreter, the interpreter only had to be ported to a computer once, rather than once each game. Each game file included a sophisticated parser which allowed the user to type complex instructions to the game. Unlike earlier works of interactive fiction which only understood commands of the form 'verb noun', Infocom's parser could understand a wider variety of sentences. For instance one might type "open the large door, then go west", or "go to the hall". With the Z-machine, Infocom was able to release most of their games for most popular home computers of the time simultaneously, including Apple II, Atari 8-bit computers, IBM PC compatibles, Amstrad CPC/PCW (one disc worked on both machines), Commodore 64, Plus/4, Commodore 128, Kaypro CP/M, TI-99/4A, Macintosh, Atari ST, Amiga, and TRS-80.
76
+ During the 1990s Interactive fiction was mainly written with C-like languages, such as TADS 2 and Inform 6. A number of systems for writing interactive fiction now exist. The most popular remain Inform, TADS, or ADRIFT, but they diverged in their approach to IF-writing during the 2000s, giving today's IF writers an objective choice. By 2006 IFComp, most games were written for Inform, with a strong minority of games for TADS and ADRIFT, followed by a small number of games for other systems.
77
+ While familiarity with a programming language leads many new authors to attempt to produce their own complete IF application, most established IF authors recommend use of a specialised IF language, arguing that such systems allow authors to avoid the technicalities of producing a full featured parser, while allowing broad community support. The choice of authoring system usually depends on the author's desired balance of ease of use versus power, and the portability of the final product.
78
+ Other development systems include:
79
+ David Malmberg's Adventure Game Toolkit (AGT)
80
+ Incentive Software's Graphic Adventure Creator (GAC)
81
+ Inkle's inklewriter
82
+ Professional Adventure Writer
83
+ Gilsoft's The Quill
84
+ Twine
85
+ Interpreters are the software used to play the works of interactive fiction created with a development system. Since they need to interact with the player, the "story files" created by development systems are programs in their own right. Rather than running directly on any one computer, they are programs run by Interpreters, or virtual machines, which are designed specially for IF. They may be part of the development system, or can be compiled together with the work of fiction as a standalone executable file.
86
+ The Z-machine was designed by the founders of Infocom, in 1979. They were influenced by the then-new idea of a virtual Pascal computer, but replaced P with Z for Zork, the celebrated adventure game of 1977–79. The Z-machine evolved during the 1980s but over 30 years later, it remains in use essentially unchanged. Glulx was designed by Andrew Plotkin in the late 1990s as a new-generation IF virtual machine. It overcomes the technical constraint on the Z-machine by being a 32-bit rather than 16-bit processor. Frotz is a modern Z-machine interpreter originally written in C by Stefan Jokisch in 1995 for MS-DOS. Over time it was ported to other platforms, such as Unix, RISC OS, Mac OS and most recently iOS. Modern Glulx interpreters are based on "Glulxe", by Andrew Plotkin, and "Git", by Iain Merrick. Other interpreters include Zoom for Mac OS X, or for Unix or Linux, maintained by Andrew Hunter, and Spatterlight for Mac OS X, maintained by Tor Andersson.
87
+ In addition to commercial distribution venues and individual websites, many works of free interactive fiction are distributed through community websites. These include the Interactive Fiction Database (IFDb), The Interactive Fiction Reviews Organization (IFRO), a game catalog and recommendation engine, and the Interactive Fiction Archive.
88
+ Works may be distributed for playing with in a separate interpreter. In which case they are often made available in the Blorb package format that many interpreters support. A filename ending .zblorb is a story file intended for a Z-machine in a Blorb wrapper, while a filename ending .gblorb is a story file intended for a Glulx in a Blorb wrapper. It is not common but IF files are sometimes also seen without a Blorb wrapping, though this usually means cover art, help files, and so forth are missing, like a book with the covers torn off. Z-machine story files usually have names ending .z5 or .z8, the number being a version number, and Glulx story files usually end .ulx.
89
+ Alternatively, works may be distributed for playing in a web browser. For example, the 'Parchment' project is for web browser-based IF Interpreter, for both Z-machine and Glulx files.
90
+ Some software such as Twine publishes directly to HTML, the standard language used to create web pages, reducing the requirement for an interpreter or virtual machine.
91
+ Hypertext fiction
92
+ Electronic literature
93
+ Visual novel, interactive fiction with graphics.
94
+ Addventure
95
+ Gamebook
96
+ Graphic adventures, adventure games with roots in interactive fiction.
97
+ Multi-User Dungeon (MUD), which may be considered as a kind of multiplayer or collaborative interactive fiction.
98
+ Role-playing games, which are occasionally described as another form of interactive fiction.
99
+ Interactive storytelling
100
+ Get Lamp, a documentary about interactive fiction
101
+ Montfort, Nick (2005). Twisty Little Passages: An Approach to Interactive Fiction. The MIT Press. ISBN 978-0-262-63318-5.
102
+ Keller, Daniel. "Reading and playing: what makes interactive fiction unique" p. 276-298. in Williams, J. P., & Smith, J. H. (2007). The players' realm: studies on the culture of video games and gaming. Jefferson, N.C.: McFarland & Co. ISBN 978-0-7864-2832-8
103
+ Reed, Aaron (2010). Creating Interactive Fiction with Inform 7. Delmar Cengage Learning. ISBN 978-1-4354-5506-1.
104
+ Seegert, Alf. (2009), "'Doing there' vs. 'being there': performing presence in interactive fiction", Journal of Gaming and Virtual Worlds 1: 1, pp. 23–37, doi:10.1386/jgvw.1.1.23/1
105
+ Robinson Wheeler, J, & Kevin, Jackson-Mead (2014), "IF Theory Reader", JRW Digital Media.
106
+ A Brief History of Interactive Fiction, a timeline of events in interactive fiction history at the Brass Lantern website.
107
+ The Interactive Fiction Archive, a large archive of free-to-download and play interactive fiction (random mirror).
108
+ Interactive Fiction Database (IFDB), a community site where one can find personalized recommendations for IF games to play.
109
+ Interactive Fiction: More Than Retro Fun, a beginner's introduction and setup guide to Interactive Fiction games and interpreters
110
+ The Interactive Fiction Wiki, a MediaWiki wiki specific to Interactive Fiction.
111
+ SPAG, the quarterly e-zine of the Society for the Promotion of Adventure Gaming
112
+ The Interactive Fiction Technology Foundation, ensure the ongoing maintenance, improvement, and preservation of the tools and services crucial to the creation and distribution of interactive fiction
@@ -0,0 +1,5 @@
1
+ Knowledge is the collection of facts, skills, and understanding that people gain through learning, experience, thinking, or discovery. It can come from things we are taught, things we figure out ourselves, or things we observe in the world. Some knowledge is easy to explain, like facts in textbooks or math formulas, this is called explicit knowledge. Other knowledge is harder to put into words, like how to ride a bike or perform surgery, this is called tacit knowledge. It lives in our actions, habits, and personal experiences. In philosophy, knowledge has often been defined as “justified true belief.” This means that for someone to know something, they must believe it, have good reasons for believing it, and it must actually be true. However, some problems, like the “Gettier cases”, show that this definition might not always work. These cases suggest someone can have a belief that is true and has reasons behind it, but still not really have knowledge. Because of this, other ideas like reliabilism (trusting reliable ways of knowing) and virtue epistemology (focusing on intellectual character) were developed to better explain what knowledge really is.
2
+ There are different kinds of knowledge. Propositional knowledge is “knowing that” something is true, like knowing that water boils at 100°C. Procedural knowledge is “knowing how” to do something, like solving a puzzle or coding. Experiential knowledge is “knowing by experience,” like recognizing a friend’s voice or knowing how a certain food tastes. Each of these kinds uses different parts of the brain and different types of thinking. The study of knowledge is called epistemology. It looks at questions like “Where does knowledge come from?” and “What can we really know?” Different thinkers have different ideas. Empiricists believe knowledge comes from what we see, hear, and touch. Rationalists believe we are born with some ideas and use reason to gain knowledge. Constructivists think we build knowledge ourselves through experience, culture, and learning from others.
3
+ Knowledge grows and improves through careful research methods like the scientific method. This includes testing ideas, sharing results with other scientists (peer review), and checking if experiments can be repeated. These steps help make sure knowledge is reliable. But in areas like art or ethics, people may have different opinions or values, so knowledge can be more personal or open to interpretation. Societies keep and share knowledge in many ways. Universities, libraries, and the internet store a huge amount of information. Other ways, like storytelling, traditions, or learning from elders, are especially important in cultures that do not rely as much on writing. These methods help pass down useful knowledge from one generation to the next.
4
+ In information science, there’s a difference between data, information, and knowledge. Data is raw facts with no meaning, like numbers on a screen. Information is when that data is organized to make sense. Knowledge is when the information is put into context so that it can help someone make a decision or take action. For example, knowing it’s 35°C outside is information; understanding that it is too hot to play outside for long without water is knowledge. Neuroscience has found that knowledge is stored in networks of neurons. The cortex and hippocampus are two key areas that help us remember things. Sleep, emotions, and how we learn something can all affect how well we remember and use knowledge later. For example, if something is exciting or emotional, you are more likely to remember it. In artificial intelligence (AI), teaching computers to “know” things is a big challenge. Old systems used strict rules to solve problems, like expert systems. Newer models, like neural networks, try to imitate how human brains work by learning patterns and relationships in data. However, even the best AI today does not really understand things like people do. It cannot think about its own thoughts or reflect on what it knows.
5
+ Knowledge can belong to individuals or groups. In companies or teams, knowledge management is used to organize what people know and help everyone share and use that knowledge well. Techniques like knowledge audits and communities of practice help keep useful skills from being lost when people leave or retire. Knowledge is not always neutral or free. In history, powerful groups have tried to control what others are allowed to know. For example, the Catholic Church once banned books that said the Earth moves around the Sun. Today, algorithms on social media can create “echo chambers” where people only see information they agree with. This shows that knowledge can be used for power, control, or influence.
@@ -0,0 +1,87 @@
1
+ Knowledge representation (KR) aims to model information in a structured manner to formally represent it as knowledge in knowledge-based systems whereas knowledge representation and reasoning (KRR, KR&R, or KR²) also aims to understand, reason, and interpret knowledge. KRR is widely used in the field of artificial intelligence (AI) with the goal of representing information about the world in a form that a computer system can use to solve complex tasks, such as diagnosing a medical condition or having a natural-language dialog. KR incorporates findings from psychology about how humans solve problems and represent knowledge, in order to design formalisms that make complex systems easier to design and build. KRR also incorporates findings from logic to automate various kinds of reasoning.
2
+ Traditional KRR focuses more on the declarative representation of knowledge. Related knowledge representation formalisms mainly include vocabularies, thesaurus, semantic networks, axiom systems, frames, rules, logic programs, and ontologies. Examples of automated reasoning engines include inference engines, theorem provers, model generators, and classifiers.
3
+ In a broader sense, parameterized models in machine learning — including neural network architectures such as convolutional neural networks and transformers — can also be regarded as a family of knowledge representation formalisms. The question of which formalism is most appropriate for knowledge-based systems has long been a subject of extensive debate. For instance, Frank van Harmelen et al. discussed the suitability of logic as a knowledge representation formalism and reviewed arguments presented by anti-logicists. Paul Smolensky criticized the limitations of symbolic formalisms and explored the possibilities of integrating it with connectionist approaches.
4
+ The earliest work in computerized knowledge representation was focused on general problem-solvers such as the General Problem Solver (GPS) system developed by Allen Newell and Herbert A. Simon in 1959 and the Advice Taker proposed by John McCarthy also in 1959. GPS featured data structures for planning and decomposition. The system would begin with a goal. It would then decompose that goal into sub-goals and then set out to construct strategies that could accomplish each subgoal. The Advisor Taker, on the other hand, proposed the use of the predicate calculus to implement common sense reasoning.
5
+ Many of the early approaches to knowledge representation in Artificial Intelligence (AI) used graph representations and semantic networks, similar to knowledge graphs today. In such approaches, problem solving was a form of graph traversal or path-finding, as in the A* search algorithm. Typical applications included robot plan-formation and game-playing.
6
+ Other researchers focused on developing automated theorem-provers for first-order logic, motivated by the use of mathematical logic to formalise mathematics and to automate the proof of mathematical theorems. A major step in this direction was the development of the resolution method by John Alan Robinson.
7
+ In the meanwhile, John McCarthy and Pat Hayes developed the situation calculus as a logical representation of common sense knowledge about the laws of cause and effect. Cordell Green, in turn, showed how to do robot plan-formation by applying resolution to the situation calculus. He also showed how to use resolution for question-answering and automatic programming.
8
+ In contrast, researchers at Massachusetts Institute of Technology (MIT) rejected the resolution uniform proof procedure paradigm and advocated the procedural embedding of knowledge instead. The resulting conflict between the use of logical representations and the use of procedural representations was resolved in the early 1970s with the development of logic programming and Prolog, using SLD resolution to treat Horn clauses as goal-reduction procedures.
9
+ The early development of logic programming was largely a European phenomenon. In North America, AI researchers such as Ed Feigenbaum and Frederick Hayes-Roth advocated the representation of domain-specific knowledge rather than general-purpose reasoning.
10
+ These efforts led to the cognitive revolution in psychology and to the phase of AI focused on knowledge representation that resulted in expert systems in the 1970s and 80s, production systems, frame languages, etc. Rather than general problem solvers, AI changed its focus to expert systems that could match human competence on a specific task, such as medical diagnosis.
11
+ Expert systems gave us the terminology still in use today where AI systems are divided into a knowledge base, which includes facts and rules about a problem domain, and an inference engine, which applies the knowledge in the knowledge base to answer questions and solve problems in the domain. In these early systems the facts in the knowledge base tended to be a fairly flat structure, essentially assertions about the values of variables used by the rules.
12
+ Meanwhile, Marvin Minsky developed the concept of frame in the mid-1970s. A frame is similar to an object class: It is an abstract description of a category describing things in the world, problems, and potential solutions. Frames were originally used on systems geared toward human interaction, e.g. understanding natural language and the social settings in which various default expectations such as ordering food in a restaurant narrow the search space and allow the system to choose appropriate responses to dynamic situations.
13
+ It was not long before the frame communities and the rule-based researchers realized that there was a synergy between their approaches. Frames were good for representing the real world, described as classes, subclasses, slots (data values) with various constraints on possible values. Rules were good for representing and utilizing complex logic such as the process to make a medical diagnosis. Integrated systems were developed that combined frames and rules. One of the most powerful and well known was the 1983 Knowledge Engineering Environment (KEE) from Intellicorp. KEE had a complete rule engine with forward and backward chaining. It also had a complete frame-based knowledge base with triggers, slots (data values), inheritance, and message passing. Although message passing originated in the object-oriented community rather than AI it was quickly embraced by AI researchers as well in environments such as KEE and in the operating systems for Lisp machines from Symbolics, Xerox, and Texas Instruments.
14
+ The integration of frames, rules, and object-oriented programming was significantly driven by commercial ventures such as KEE and Symbolics spun off from various research projects. At the same time, there was another strain of research that was less commercially focused and was driven by mathematical logic and automated theorem proving. One of the most influential languages in this research was the KL-ONE language of the mid-'80s. KL-ONE was a frame language that had a rigorous semantics, formal definitions for concepts such as an Is-A relation. KL-ONE and languages that were influenced by it such as Loom had an automated reasoning engine that was based on formal logic rather than on IF-THEN rules. This reasoner is called the classifier. A classifier can analyze a set of declarations and infer new assertions, for example, redefine a class to be a subclass or superclass of some other class that wasn't formally specified. In this way the classifier can function as an inference engine, deducing new facts from an existing knowledge base. The classifier can also provide consistency checking on a knowledge base (which in the case of KL-ONE languages is also referred to as an Ontology).
15
+ Another area of knowledge representation research was the problem of common-sense reasoning. One of the first realizations learned from trying to make software that can function with human natural language was that humans regularly draw on an extensive foundation of knowledge about the real world that we simply take for granted but that is not at all obvious to an artificial agent, such as basic principles of common-sense physics, causality, intentions, etc. An example is the frame problem, that in an event driven logic there need to be axioms that state things maintain position from one moment to the next unless they are moved by some external force. In order to make a true artificial intelligence agent that can converse with humans using natural language and can process basic statements and questions about the world, it is essential to represent this kind of knowledge. In addition to McCarthy and Hayes' situation calculus, one of the most ambitious programs to tackle this problem was Doug Lenat's Cyc project. Cyc established its own Frame language and had large numbers of analysts document various areas of common-sense reasoning in that language. The knowledge recorded in Cyc included common-sense models of time, causality, physics, intentions, and many others.
16
+ The starting point for knowledge representation is the knowledge representation hypothesis first formalized by Brian C. Smith in 1985:
17
+ Any mechanically embodied intelligent process will be comprised of structural ingredients that a) we as external observers naturally take to represent a propositional account of the knowledge that the overall process exhibits, and b) independent of such external semantic attribution, play a formal but causal and essential role in engendering the behavior that manifests that knowledge.
18
+ One of the most active areas of knowledge representation research is the Semantic Web. The Semantic Web seeks to add a layer of semantics (meaning) on top of the current Internet. Rather than indexing web sites and pages via keywords, the Semantic Web creates large ontologies of concepts. Searching for a concept will be more effective than traditional text only searches. Frame languages and automatic classification play a big part in the vision for the future Semantic Web. The automatic classification gives developers technology to provide order on a constantly evolving network of knowledge. Defining ontologies that are static and incapable of evolving on the fly would be very limiting for Internet-based systems. The classifier technology provides the ability to deal with the dynamic environment of the Internet.
19
+ Recent projects funded primarily by the Defense Advanced Research Projects Agency (DARPA) have integrated frame languages and classifiers with markup languages based on XML. The Resource Description Framework (RDF) provides the basic capability to define classes, subclasses, and properties of objects. The Web Ontology Language (OWL) provides additional levels of semantics and enables integration with classification engines.
20
+ Knowledge-representation is a field of artificial intelligence that focuses on designing computer representations that capture information about the world that can be used for solving complex problems.
21
+ The justification for knowledge representation is that conventional procedural code is not the best formalism to use to solve complex problems. Knowledge representation makes complex software easier to define and maintain than procedural code and can be used in expert systems.
22
+ For example, talking to experts in terms of business rules rather than code lessens the semantic gap between users and developers and makes development of complex systems more practical.
23
+ Knowledge representation goes hand in hand with automated reasoning because one of the main purposes of explicitly representing knowledge is to be able to reason about that knowledge, to make inferences, assert new knowledge, etc. Virtually all knowledge representation languages have a reasoning or inference engine as part of the system.
24
+ A key trade-off in the design of knowledge representation formalisms is that between expressivity and tractability. First Order Logic (FOL), with its high expressive power and ability to formalise much of mathematics, is a standard for comparing the expressibility of knowledge representation languages.
25
+ Arguably, FOL has two drawbacks as a knowledge representation formalism in its own right, namely ease of use and efficiency of implementation. Firstly, because of its high expressive power, FOL allows many ways of expressing the same information, and this can make it hard for users to formalise or even to understand knowledge expressed in complex, mathematically-oriented ways. Secondly, because of its complex proof procedures, it can be difficult for users to understand complex proofs and explanations, and it can be hard for implementations to be efficient. As a consequence, unrestricted FOL can be intimidating for many software developers.
26
+ One of the key discoveries of AI research in the 1970s was that languages that do not have the full expressive power of FOL can still provide close to the same expressive power of FOL, but can be easier for both the average developer and for the computer to understand. Many of the early AI knowledge representation formalisms, from databases to semantic nets to production systems, can be viewed as making various design decisions about how to balance expressive power with naturalness of expression and efficiency. In particular, this balancing act was a driving motivation for the development of IF-THEN rules in rule-based expert systems.
27
+ A similar balancing act was also a motivation for the development of logic programming (LP) and the logic programming language Prolog. Logic programs have a rule-based syntax, which is easily confused with the IF-THEN syntax of production rules. But logic programs have a well-defined logical semantics, whereas production systems do not.
28
+ The earliest form of logic programming was based on the Horn clause subset of FOL. But later extensions of LP included the negation as failure inference rule, which turns LP into a non-monotonic logic for default reasoning. The resulting extended semantics of LP is a variation of the standard semantics of Horn clauses and FOL, and is a form of database semantics, which includes the unique name assumption and a form of closed world assumption. These assumptions are much harder to state and reason with explicitly using the standard semantics of FOL.
29
+ In a key 1993 paper on the topic, Randall Davis of MIT outlined five distinct roles to analyze a knowledge representation framework:
30
+ "A knowledge representation (KR) is most fundamentally a surrogate, a substitute for the thing itself, used to enable an entity to determine consequences by thinking rather than acting," i.e., "by reasoning about the world rather than taking action in it."
31
+ "It is a set of ontological commitments", i.e., "an answer to the question: In what terms should I think about the world?"
32
+ "It is a fragmentary theory of intelligent reasoning, expressed in terms of three components: (i) the representation's fundamental conception of intelligent reasoning; (ii) the set of inferences the representation sanctions; and (iii) the set of inferences it recommends."
33
+ "It is a medium for pragmatically efficient computation", i.e., "the computational environment in which thinking is accomplished. One contribution to this pragmatic efficiency is supplied by the guidance a representation provides for organizing information" so as "to facilitate making the recommended inferences."
34
+ "It is a medium of human expression", i.e., "a language in which we say things about the world."
35
+ Knowledge representation and reasoning are a key enabling technology for the Semantic Web. Languages based on the Frame model with automatic classification provide a layer of semantics on top of the existing Internet. Rather than searching via text strings as is typical today, it will be possible to define logical queries and find pages that map to those queries. The automated reasoning component in these systems is an engine known as the classifier. Classifiers focus on the subsumption relations in a knowledge base rather than rules. A classifier can infer new classes and dynamically change the ontology as new information becomes available. This capability is ideal for the ever-changing and evolving information space of the Internet.
36
+ The Semantic Web integrates concepts from knowledge representation and reasoning with markup languages based on XML. The Resource Description Framework (RDF) provides the basic capabilities to define knowledge-based objects on the Internet with basic features such as Is-A relations and object properties. The Web Ontology Language (OWL) adds additional semantics and integrates with automatic classification reasoners.
37
+ In 1985, Ron Brachman categorized the core issues for knowledge representation as follows:
38
+ Primitives. What is the underlying framework used to represent knowledge? Semantic networks were one of the first knowledge representation primitives. Also, data structures and algorithms for general fast search. In this area, there is a strong overlap with research in data structures and algorithms in computer science. In early systems, the Lisp programming language, which was modeled after the lambda calculus, was often used as a form of functional knowledge representation. Frames and Rules were the next kind of primitive. Frame languages had various mechanisms for expressing and enforcing constraints on frame data. All data in frames are stored in slots. Slots are analogous to relations in entity-relation modeling and to object properties in object-oriented modeling. Another technique for primitives is to define languages that are modeled after First Order Logic (FOL). The most well known example is Prolog, but there are also many special-purpose theorem-proving environments. These environments can validate logical models and can deduce new theories from existing models. Essentially they automate the process a logician would go through in analyzing a model. Theorem-proving technology had some specific practical applications in the areas of software engineering. For example, it is possible to prove that a software program rigidly adheres to a formal logical specification.
39
+ Meta-representation. This is also known as the issue of reflection in computer science. It refers to the ability of a formalism to have access to information about its own state. An example is the meta-object protocol in Smalltalk and CLOS that gives developers runtime access to the class objects and enables them to dynamically redefine the structure of the knowledge base even at runtime. Meta-representation means the knowledge representation language is itself expressed in that language. For example, in most Frame based environments all frames would be instances of a frame class. That class object can be inspected at runtime, so that the object can understand and even change its internal structure or the structure of other parts of the model. In rule-based environments, the rules were also usually instances of rule classes. Part of the meta protocol for rules were the meta rules that prioritized rule firing.
40
+ Incompleteness. Traditional logic requires additional axioms and constraints to deal with the real world as opposed to the world of mathematics. Also, it is often useful to associate degrees of confidence with a statement, i.e., not simply say "Socrates is Human" but rather "Socrates is Human with confidence 50%". This was one of the early innovations from expert systems research which migrated to some commercial tools, the ability to associate certainty factors with rules and conclusions. Later research in this area is known as fuzzy logic.
41
+ Definitions and universals vs. facts and defaults. Universals are general statements about the world such as "All humans are mortal". Facts are specific examples of universals such as "Socrates is a human and therefore mortal". In logical terms definitions and universals are about universal quantification while facts and defaults are about existential quantifications. All forms of knowledge representation must deal with this aspect and most do so with some variant of set theory, modeling universals as sets and subsets and definitions as elements in those sets.
42
+ Non-monotonic reasoning. Non-monotonic reasoning allows various kinds of hypothetical reasoning. The system associates facts asserted with the rules and facts used to justify them and as those facts change updates the dependent knowledge as well. In rule based systems this capability is known as a truth maintenance system.
43
+ Expressive adequacy. The standard that Brachman and most AI researchers use to measure expressive adequacy is usually First Order Logic (FOL). Theoretical limitations mean that a full implementation of FOL is not practical. Researchers should be clear about how expressive (how much of full FOL expressive power) they intend their representation to be.
44
+ Reasoning efficiency. This refers to the runtime efficiency of a system: The ability of the knowledge base to be updated and the reasoner to develop new inferences in a reasonable time. In some ways, this is the flip side of expressive adequacy. In general, the more powerful a representation, the more it has expressive adequacy, the less efficient its automated reasoning engine will be. Efficiency was often an issue, especially for early applications of knowledge representation technology. They were usually implemented in interpreted environments such as Lisp, which were slow compared to more traditional platforms of the time.
45
+ In the early years of knowledge-based systems the knowledge-bases were fairly small. The knowledge-bases that were meant to actually solve real problems rather than do proof of concept demonstrations needed to focus on well defined problems. So for example, not just medical diagnosis as a whole topic, but medical diagnosis of certain kinds of diseases.
46
+ As knowledge-based technology scaled up, the need for larger knowledge bases and for modular knowledge bases that could communicate and integrate with each other became apparent. This gave rise to the discipline of ontology engineering, designing and building large knowledge bases that could be used by multiple projects. One of the leading research projects in this area was the Cyc project. Cyc was an attempt to build a huge encyclopedic knowledge base that would contain not just expert knowledge but common-sense knowledge. In designing an artificial intelligence agent, it was soon realized that representing common-sense knowledge, knowledge that humans simply take for granted, was essential to make an AI that could interact with humans using natural language. Cyc was meant to address this problem. The language they defined was known as CycL.
47
+ After CycL, a number of ontology languages have been developed. Most are declarative languages, and are either frame languages, or are based on first-order logic. Modularity—the ability to define boundaries around specific domains and problem spaces—is essential for these languages because as stated by Tom Gruber, "Every ontology is a treaty–a social agreement among people with common motive in sharing." There are always many competing and differing views that make any general-purpose ontology impossible. A general-purpose ontology would have to be applicable in any domain and different areas of knowledge need to be unified.
48
+ There is a long history of work attempting to build ontologies for a variety of task domains, e.g., an ontology for liquids, the lumped element model widely used in representing electronic circuits (e.g.), as well as ontologies for time, belief, and even programming itself. Each of these offers a way to see some part of the world.
49
+ The lumped element model, for instance, suggests that we think of circuits in terms of components with connections between them, with signals flowing instantaneously along the connections. This is a useful view, but not the only possible one. A different ontology arises if we need to attend to the electrodynamics in the device: Here signals propagate at finite speed and an object (like a resistor) that was previously viewed as a single component with an I/O behavior may now have to be thought of as an extended medium through which an electromagnetic wave flows.
50
+ Ontologies can of course be written down in a wide variety of languages and notations (e.g., logic, LISP, etc.); the essential information is not the form of that language but the content, i.e., the set of concepts offered as a way of thinking about the world. Simply put, the important part is notions like connections and components, not the choice between writing them as predicates or LISP constructs.
51
+ Alphabet of human thought – Hypothetical language created by Gottfried Wilhelm Leibniz
52
+ Belief revision – Process of changing beliefs to take into account a new piece of information
53
+ Chunking (psychology) – Cognitive psychology process
54
+ Commonsense knowledge base – Facts assumed to be known to all humans
55
+ Conceptual graph – Formalism for knowledge representation
56
+ DIKW pyramid – Data, information, knowledge, wisdom hierarchy
57
+ DATR, a language for lexical knowledge representation
58
+ FO(.), a KR language based on first-order logic
59
+ Knowledge graph – Type of knowledge base
60
+ Knowledge management – Processing of knowledge to accomplish organizational goals
61
+ Logic programming – Programming paradigm based on formal logic
62
+ Logico-linguistic modeling
63
+ Mind map – Diagram to visually organize information
64
+ Semantic technology – Technology to help machines understand data
65
+ Valuation-based system
66
+ Ronald J. Brachman; What IS-A is and isn't. An Analysis of Taxonomic Links in Semantic Networks; IEEE Computer, 16 (10); October 1983
67
+ Ronald J. Brachman, Hector J. Levesque Knowledge Representation and Reasoning, Morgan Kaufmann, 2004 ISBN 978-1-55860-932-7
68
+ Ronald J. Brachman, Hector J. Levesque (eds) Readings in Knowledge Representation, Morgan Kaufmann, 1985, ISBN 0-934613-01-X
69
+ Chein, M., Mugnier, M.-L. (2009),Graph-based Knowledge Representation: Computational Foundations of Conceptual Graphs, Springer, 2009,ISBN 978-1-84800-285-2.
70
+ Randall Davis, Howard Shrobe, and Peter Szolovits; What Is a Knowledge Representation? AI Magazine, 14(1):17-33,1993
71
+ Ronald Fagin, Joseph Y. Halpern, Yoram Moses, Moshe Y. Vardi Reasoning About Knowledge, MIT Press, 1995, ISBN 0-262-06162-7
72
+ Jean-Luc Hainaut, Jean-Marc Hick, Vincent Englebert, Jean Henrard, Didier Roland: Understanding Implementations of IS-A Relations. ER 1996: 42-57
73
+ Hermann Helbig: Knowledge Representation and the Semantics of Natural Language, Springer, Berlin, Heidelberg, New York 2006
74
+ Frank van Harmelen, Vladimir Lifschitz and Bruce Porter: Handbook of Knowledge Representation 2007.
75
+ Arthur B. Markman: Knowledge Representation Lawrence Erlbaum Associates, 1998
76
+ John F. Sowa: Knowledge Representation: Logical, Philosophical, and Computational Foundations. Brooks/Cole: New York, 2000
77
+ Adrian Walker, Michael McCord, John F. Sowa, and Walter G. Wilson: Knowledge Systems and Prolog, Second Edition, Addison-Wesley, 1990
78
+ Mary-Anne Williams and Hans Rott: "Frontiers in Belief Revision, Kluwer", 2001.
79
+ What is a Knowledge Representation? by Randall Davis and others
80
+ Introduction to Knowledge Modeling by Pejman Makhfi
81
+ Introduction to Description Logics course by Enrico Franconi, Faculty of Computer Science, Free University of Bolzano, Italy
82
+ DATR Lexical knowledge representation language Archived 2016-02-17 at the Wayback Machine
83
+ Loom Project Home Page
84
+ Principles of Knowledge Representation and Reasoning Incorporated
85
+ Description Logic in Practice: A CLASSIC Application
86
+ The Rule Markup Initiative
87
+ Nelements KOS - a non-free 3d knowledge representation system
@@ -0,0 +1,94 @@
1
+ LICENSE NOTICE — corpus/prose/wikipedia/
2
+ ========================================
3
+
4
+ The *.txt files in this directory are plain-text extracts of Wikipedia
5
+ articles. They are licensed under the Creative Commons Attribution-ShareAlike
6
+ 4.0 International License (CC BY-SA 4.0), NOT under this repository's MPL-2.0.
7
+
8
+ https://creativecommons.org/licenses/by-sa/4.0/deed.en
9
+
10
+ That licence is Wikipedia's own statement of terms, reported by the MediaWiki
11
+ API itself:
12
+
13
+ https://en.wikipedia.org/w/api.php?action=query&meta=siteinfo&siprop=rightsinfo
14
+ -> {"url": "https://creativecommons.org/licenses/by-sa/4.0/deed.en",
15
+ "text": "Creative Commons Attribution-Share Alike 4.0"}
16
+
17
+ Attribution
18
+ -----------
19
+
20
+ This text is from Wikipedia, written by Wikipedia contributors and available
21
+ under CC BY-SA 4.0.
22
+
23
+ CC BY-SA 4.0 requires attribution of the author(s). Wikipedia articles have no
24
+ single author: each is written by many contributors, and the authoritative
25
+ author list for an article IS its revision history. Per Wikipedia's own reuse
26
+ guidance (https://en.wikipedia.org/wiki/Wikipedia:Reusing_Wikipedia_content),
27
+ linking to the article satisfies attribution, because the article carries its
28
+ own history. The history of any article listed below is at:
29
+
30
+ https://simple.wikipedia.org/w/index.php?title=<Title>&action=history
31
+ https://en.wikipedia.org/w/index.php?title=<Title>&action=history
32
+
33
+ Articles — simple.wikipedia.org (lead sections only)
34
+ ---------------------------------------------------
35
+
36
+ Everyday concepts, fetched with &exintro=1 so only the lead section is kept.
37
+ File names use the requested title; where a request redirected, the file
38
+ records both the requested and the served title in corpus/prose/manifest.json.
39
+
40
+ Apple, Automobile (requested as "Car"), Bee, Bird, Bone, Book, Bread,
41
+ Butterfly, Cat, Child, City, Clock, Cooking, Doctor, Dog, Eagle, Emotion,
42
+ Eye, Family, Farm, Fear, Fish, Flower, Food, Grass, Hand, Happiness, Heart,
43
+ Horse, House, Human, Insect, Knowledge, Language, Learning, Mammal, Memory,
44
+ Milk, Mountain, Ostrich, Owl, Penguin, Plant, Rain, River, School, Sea,
45
+ Snow, Sun, Teacher, Team, Tool, Tree, Weather, Wind, Writing
46
+
47
+ Articles — en.wikipedia.org (full articles)
48
+ -------------------------------------------
49
+
50
+ tmct's own technical domain, where Simple English has no articles at this depth.
51
+
52
+ Attempto_Controlled_English, Automated_planning_and_scheduling,
53
+ Description_logic, First-order_logic, Interactive_fiction,
54
+ Knowledge_representation_and_reasoning, Natural_language_processing,
55
+ Resource_Description_Framework, Semantic_reasoner, Semantic_Web,
56
+ Text-based_game, Web_Ontology_Language
57
+
58
+ Source and reproduction
59
+ -----------------------
60
+
61
+ - Fetched via the MediaWiki API's extracts module:
62
+ https://<host>/w/api.php?action=query&prop=extracts&explaintext=1&redirects=1&format=json&titles=<Title>
63
+ (plus &exintro=1 for the simple.wikipedia.org set).
64
+ - The exact URL, byte count and sha256 of every committed file are recorded in
65
+ corpus/prose/manifest.json, along with the fetch date.
66
+ - Retrieved 2026-07-17 by scripts/fetch-prose-corpus.mjs: `npm run gen:prose-corpus`.
67
+ - Wikipedia is a living text. These files are a FROZEN snapshot as of the fetch
68
+ date; the live articles have moved on. The manifest's checksums identify the
69
+ exact bytes this repository ships.
70
+
71
+ Extraction
72
+ ----------
73
+
74
+ The API returns plain text directly (explaintext=1). Section heading lines
75
+ ("== History ==") are removed because they are not sentences, and whitespace is
76
+ collapsed. No text is rewritten, reordered or paraphrased in this directory.
77
+
78
+ Share-alike — READ THIS BEFORE REUSING
79
+ --------------------------------------
80
+
81
+ CC BY-SA 4.0's share-alike condition is VIRAL, and it reaches beyond this
82
+ directory. The rescue pass in scripts/generate-template-variants.mjs quotes
83
+ these sentences and substitutes single words into them, then commits the result
84
+ to corpus/generated/ace-surface-variants.jsonl — a published, MODIFIED
85
+ derivative of this text, in a file npm ships. That file is therefore
86
+ CC-BY-SA-4.0 as well, and is labelled so in corpus/LICENSES.json and in
87
+ corpus/generated/manifest.json. It was CC-BY-4.0 before this corpus existed;
88
+ adding Wikipedia is what changed it.
89
+
90
+ If you redistribute either these files or ace-surface-variants.jsonl, modified
91
+ or not, you must do so under CC-BY-SA 4.0 with this attribution.
92
+
93
+ The extraction code (scripts/fetch-prose-corpus.mjs) is tmct code under this
94
+ repository's MPL-2.0; only the .txt data files carry CC-BY-SA 4.0.
@@ -0,0 +1,10 @@
1
+ Language is the normal way humans communicate. Only humans use language, though other animals communicate through other means. The study of language is called linguistics.
2
+ Human language has syntax, a set of rules for connecting words together to make statements and questions. Language can also be changed, by adding new words, for example, to describe new things. Other animals may inherit a set of calls which have preset functions.
3
+ Language may be done by speech or by writing or by moving the hands to make signs. It follows that language is not just any way of communicating. Even some human communication is not language: see non-verbal communication. Humans also use language for thinking.
4
+ When people use the word language, they can also mean:
5
+ the language of a community or country
6
+ the ability of speech
7
+ formal language in mathematics, logic and computing
8
+ sign language for deaf people (people who cannot hear)
9
+ a type of school subject
10
+ UNESCO says that 2,500 languages are at risk of becoming extinct.
@@ -0,0 +1,4 @@
1
+ Learning is the way people gain new knowledge, skills, behaviors, or ways of thinking. It can happen through experience, practice, or being taught by someone else. Inside the body, especially the brain, learning changes how brain cells connect and work together. At the same time, learning is also affected by a person’s emotions, surroundings, culture, and social life. This means learning is both a brain-based and a life-based experience. In the brain, learning involves tiny changes in the strength of synapses. This is part of a process called neuroplasticity, which means the brain can change and adapt over time. The hippocampus helps form new memories, and the prefrontal cortex helps with attention and making decisions. Chemicals in the brain, called neurotransmitters, like dopamine and acetylcholine, help control motivation, focus, and how we respond to rewards and challenges. These brain parts and chemicals all work together when we learn something new.
2
+ There are different types of learning. One type is classical conditioning, where someone learns by connecting two things together, like Pavlov’s dogs learning to expect food when they heard a bell. Another is operant conditioning, where behavior changes based on rewards or punishments, like in B.F. Skinner’s experiments. Observational learning happens by watching others, such as in Bandura’s famous Bobo doll study. There is also latent learning, where someone learns something but does not show it until there is a reason to use it. Some scientists focus on the mental side of learning, like how we remember, think, or understand things. These ideas come from cognitive theories. Piaget believed that people go through stages as they grow and think in more complex ways. Vygotsky said that learning improves when we get help from others, especially when working in our “Zone of Proximal Development”, tasks we can do with guidance but not alone. This shows that learning often depends on talking, working together, and getting support.
3
+ Many things affect how well someone learns. These include how motivated they are, what they already know, how they feel, and the way information is taught. Some helpful methods include spaced repetition (reviewing over time) and retrieval practice (trying to recall information), which are more effective than just rereading notes. In the past, people thought learning styles, like being a “visual” or “auditory” learner, were very important, but newer studies show that the way material is organized and how challenging it is matters much more than someone’s preferred learning style. Learning does not only happen in school. Formal learning happens in places like schools and universities. Informal learning happens naturally in everyday life, like when talking to friends or trying a new hobby. Non-formal learning takes place in settings like workshops or online classes, which are structured but not part of traditional school. Adults often learn differently from children. According to Malcolm Knowles’ theory of andragogy, adults prefer learning that is practical, based on their own experiences, and more self-directed.
4
+ Technology is also changing how we learn. Tools like educational games, smart tutoring programs, and apps that adjust to your level help make learning more personal and fun. Some programs use ideas from neuroscience, though not all of these are fully proven. Some are based on “neuromyths” or misunderstandings of how the brain works. Also, where and how people grow up affects learning. In group-focused (collectivist) cultures, memorizing facts and respecting teachers might be more common. In more individual-focused cultures, asking questions and thinking critically may be encouraged. Finally, learning is not just something humans do. Many animals also learn. For example, bees can understand the idea of “same” and “different,” and octopuses can solve puzzles.
@@ -0,0 +1,3 @@
1
+ Mammals are in the class Mammalia. They are a group of vertebrate animals. They have fur or hair and very precise temperature regulation.
2
+ With the exception of the monotremes, all mammals bear live young. Unlike other vertebrates, they are the only animals that produce milk for their young through their mammary glands. Parental care of the young is universal among mammals, sometimes for long periods.
3
+ Mammals became the dominant land animals after non-bird dinosaurs were eliminated. Recent work helped to explain their success: epigenetics seems to have started in early mammals.
@@ -0,0 +1,5 @@
1
+ Memory is the personal record of past experiences. It is the brain's ability to store information to use later. Memory is studied in sciences known as "cognitive psychology".
2
+ There are two types of memory: short-term and long-term memory, or known as working memory and reference memory.
3
+ Short-term memory, the ability to keep information in mind for a short time, like remembering a phone number long enough to find a piece of paper.
4
+ Long-term memory, the ability to remember things long after they happen, like remembering a holiday you had last year.
5
+ The Greeks considered memory (Mnemosyne) as the mother of Muses, for without her there would be no art and science.
@@ -0,0 +1 @@
1
+ Milk is a white liquid made by mammals, like cows, dogs, and humans. It is made in the mammary glands (breasts, udders, or teats) of female mammals. Newborn babies must be given milk before they can eat solid food. Milk has many nutrients to help babies grow and be healthy. It is also a rich source of calcium which is good for their bones and teeth.
@@ -0,0 +1 @@
1
+ A mountain is a large natural rise of the Earth's surface that usually has a "summit" (the name for a mountain's top, which can also be called a peak). It is usually steeper and taller than a hill. By definition, mountains are often thought of as being a landform which is higher than 2,000 feet (610 m).