EnglishAI
EnglishAI is a symbolic English parser and reasoning engine written in Python.
Instead of using statistical prediction, EnglishAI tries to represent language using explicit symbolic structures and grammar rules.
The project is experimental and under active development.
Code Example for Demonstration
from englishai import code, decode, answer
s = "my mother's mother's daughter was mary"
eq = code(s)
print(f"EQUATION: {eq}\nSENTENCE: {s}\nSENTENCE AFTER DECODING EQUATION IN PRESENT TENSE: {decode(eq)}")
print()
# basic question answerer based on context
question_context = [
("who are you", "i am your father. you are a boy."),
("is mary alive", "your father is my father. your mother is my mother. you are mary. i killed my sister"),
("am i alive", "am alive i"), # invalid sentence
("am i alive", "i killed john"),
("who is my mother", "my mother's mother's daughter is mary"),
("is bob alive", "i am your father. my son is bob. i killed my son."),
("who is john", "john is my mother."), # john is a boy name and boys can't be mother
("is john alive", "i kills john's father"), # wrong grammar
("is john alive", "she kills john's father"), # corrected grammar
]
for question, context in question_context:
try:
out = answer(question, context)
except:
out = None
print(f"CONTEXT: {context}")
print(f"QUESTION: {question} ?")
if out is not None:
print(f"ANSWER: {'{'+', '.join(out)+'}' if isinstance(out, list) else out}")
else:
print("ANSWER: the reasoning proves that the context is contradictory / grammar error / incorrect format or spelling error / unsupported sentence or out of vocabulary")
print()
Output of the Code
EQUATION: equal(daughter(mother(mother(i))),mary)
SENTENCE: my mother's mother's daughter was mary
SENTENCE AFTER DECODING EQUATION IN PRESENT TENSE: my mother's mother's daughter is mary
CONTEXT: i am your father. you are a boy.
QUESTION: who are you ?
ANSWER: {i, your son}
CONTEXT: your father is my father. your mother is my mother. you are mary. i killed my sister
QUESTION: is mary alive ?
ANSWER: no
CONTEXT: am alive i
QUESTION: am i alive ?
ANSWER: the reasoning proves that the context is contradictory / grammar error / incorrect format or spelling error / unsupported sentence or out of vocabulary
CONTEXT: i killed john
QUESTION: am i alive ?
ANSWER: yes
CONTEXT: my mother's mother's daughter is mary
QUESTION: who is my mother ?
ANSWER: {your mother, mary, mary's mother's daughter}
CONTEXT: i am your father. my son is bob. i killed my son.
QUESTION: is bob alive ?
ANSWER: no
CONTEXT: john is my mother.
QUESTION: who is john ?
ANSWER: the reasoning proves that the context is contradictory / grammar error / incorrect format or spelling error / unsupported sentence or out of vocabulary
CONTEXT: i kills john's father
QUESTION: is john alive ?
ANSWER: the reasoning proves that the context is contradictory / grammar error / incorrect format or spelling error / unsupported sentence or out of vocabulary
CONTEXT: she kills john's father
QUESTION: is john alive ?
ANSWER: yes
Demonstration of Version 2 which is in Development
from englishai.version2 import *
table = Table()
table.context(code("john is mary's father"))
table.context(code("i am john"))
print(table.ask(code("who is john")))
Output of the code
['i', 'john', "mary's father"]
Metadata
Release files for englishai 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| englishai-0.4.0.tar.gz | 26.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| englishai-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 54.2 kB
Release files / englishai-0.4.0.tar.gz
| Download URL | englishai-0.4.0.tar.gz |
|---|---|
| Size | 26.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c93be2fd47c20cd575e5b3299f99036599c0a4f0f026f86e213559447e98246
|
|
BLAKE2b-256 checksum How to use checksums |
cb53ae45aed1f8f36f505256afcc6a3d859a3d4d61cd914ce0d92aec01ad1607
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / englishai-0.4.0-py3-none-any.whl
| Download URL | englishai-0.4.0-py3-none-any.whl |
|---|---|
| Size | 28.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
673de3d9f676c497e1fa5d4e9a9caf5a40a1c2c13d551a81ee6073468c650939
|
|
BLAKE2b-256 checksum How to use checksums |
ffa99dffa9f1ed15f739a63c87b46323650e5f46bdf5d9eb3aae0013306834f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|