updates
This commit is contained in:
140
Backend/venv/lib/python3.12/site-packages/nltk/chat/suntsu.py
Normal file
140
Backend/venv/lib/python3.12/site-packages/nltk/chat/suntsu.py
Normal file
@@ -0,0 +1,140 @@
|
||||
# Natural Language Toolkit: Sun Tsu-Bot
|
||||
#
|
||||
# Copyright (C) 2001-2025 NLTK Project
|
||||
# Author: Sam Huston 2007
|
||||
# URL: <https://www.nltk.org/>
|
||||
# For license information, see LICENSE.TXT
|
||||
|
||||
"""
|
||||
Tsu bot responds to all queries with a Sun Tsu sayings
|
||||
|
||||
Quoted from Sun Tsu's The Art of War
|
||||
Translated by LIONEL GILES, M.A. 1910
|
||||
Hosted by the Gutenberg Project
|
||||
https://www.gutenberg.org/
|
||||
"""
|
||||
|
||||
from nltk.chat.util import Chat, reflections
|
||||
|
||||
pairs = (
|
||||
(r"quit", ("Good-bye.", "Plan well", "May victory be your future")),
|
||||
(
|
||||
r"[^\?]*\?",
|
||||
(
|
||||
"Please consider whether you can answer your own question.",
|
||||
"Ask me no questions!",
|
||||
),
|
||||
),
|
||||
(
|
||||
r"[0-9]+(.*)",
|
||||
(
|
||||
"It is the rule in war, if our forces are ten to the enemy's one, to surround him; if five to one, to attack him; if twice as numerous, to divide our army into two.",
|
||||
"There are five essentials for victory",
|
||||
),
|
||||
),
|
||||
(
|
||||
r"[A-Ca-c](.*)",
|
||||
(
|
||||
"The art of war is of vital importance to the State.",
|
||||
"All warfare is based on deception.",
|
||||
"If your opponent is secure at all points, be prepared for him. If he is in superior strength, evade him.",
|
||||
"If the campaign is protracted, the resources of the State will not be equal to the strain.",
|
||||
"Attack him where he is unprepared, appear where you are not expected.",
|
||||
"There is no instance of a country having benefited from prolonged warfare.",
|
||||
),
|
||||
),
|
||||
(
|
||||
r"[D-Fd-f](.*)",
|
||||
(
|
||||
"The skillful soldier does not raise a second levy, neither are his supply-wagons loaded more than twice.",
|
||||
"Bring war material with you from home, but forage on the enemy.",
|
||||
"In war, then, let your great object be victory, not lengthy campaigns.",
|
||||
"To fight and conquer in all your battles is not supreme excellence; supreme excellence consists in breaking the enemy's resistance without fighting.",
|
||||
),
|
||||
),
|
||||
(
|
||||
r"[G-Ig-i](.*)",
|
||||
(
|
||||
"Heaven signifies night and day, cold and heat, times and seasons.",
|
||||
"It is the rule in war, if our forces are ten to the enemy's one, to surround him; if five to one, to attack him; if twice as numerous, to divide our army into two.",
|
||||
"The good fighters of old first put themselves beyond the possibility of defeat, and then waited for an opportunity of defeating the enemy.",
|
||||
"One may know how to conquer without being able to do it.",
|
||||
),
|
||||
),
|
||||
(
|
||||
r"[J-Lj-l](.*)",
|
||||
(
|
||||
"There are three ways in which a ruler can bring misfortune upon his army.",
|
||||
"By commanding the army to advance or to retreat, being ignorant of the fact that it cannot obey. This is called hobbling the army.",
|
||||
"By attempting to govern an army in the same way as he administers a kingdom, being ignorant of the conditions which obtain in an army. This causes restlessness in the soldier's minds.",
|
||||
"By employing the officers of his army without discrimination, through ignorance of the military principle of adaptation to circumstances. This shakes the confidence of the soldiers.",
|
||||
"There are five essentials for victory",
|
||||
"He will win who knows when to fight and when not to fight.",
|
||||
"He will win who knows how to handle both superior and inferior forces.",
|
||||
"He will win whose army is animated by the same spirit throughout all its ranks.",
|
||||
"He will win who, prepared himself, waits to take the enemy unprepared.",
|
||||
"He will win who has military capacity and is not interfered with by the sovereign.",
|
||||
),
|
||||
),
|
||||
(
|
||||
r"[M-Om-o](.*)",
|
||||
(
|
||||
"If you know the enemy and know yourself, you need not fear the result of a hundred battles.",
|
||||
"If you know yourself but not the enemy, for every victory gained you will also suffer a defeat.",
|
||||
"If you know neither the enemy nor yourself, you will succumb in every battle.",
|
||||
"The control of a large force is the same principle as the control of a few men: it is merely a question of dividing up their numbers.",
|
||||
),
|
||||
),
|
||||
(
|
||||
r"[P-Rp-r](.*)",
|
||||
(
|
||||
"Security against defeat implies defensive tactics; ability to defeat the enemy means taking the offensive.",
|
||||
"Standing on the defensive indicates insufficient strength; attacking, a superabundance of strength.",
|
||||
"He wins his battles by making no mistakes. Making no mistakes is what establishes the certainty of victory, for it means conquering an enemy that is already defeated.",
|
||||
"A victorious army opposed to a routed one, is as a pound's weight placed in the scale against a single grain.",
|
||||
"The onrush of a conquering force is like the bursting of pent-up waters into a chasm a thousand fathoms deep.",
|
||||
),
|
||||
),
|
||||
(
|
||||
r"[S-Us-u](.*)",
|
||||
(
|
||||
"What the ancients called a clever fighter is one who not only wins, but excels in winning with ease.",
|
||||
"Hence his victories bring him neither reputation for wisdom nor credit for courage.",
|
||||
"Hence the skillful fighter puts himself into a position which makes defeat impossible, and does not miss the moment for defeating the enemy.",
|
||||
"In war the victorious strategist only seeks battle after the victory has been won, whereas he who is destined to defeat first fights and afterwards looks for victory.",
|
||||
"There are not more than five musical notes, yet the combinations of these five give rise to more melodies than can ever be heard.",
|
||||
"Appear at points which the enemy must hasten to defend; march swiftly to places where you are not expected.",
|
||||
),
|
||||
),
|
||||
(
|
||||
r"[V-Zv-z](.*)",
|
||||
(
|
||||
"It is a matter of life and death, a road either to safety or to ruin.",
|
||||
"Hold out baits to entice the enemy. Feign disorder, and crush him.",
|
||||
"All men can see the tactics whereby I conquer, but what none can see is the strategy out of which victory is evolved.",
|
||||
"Do not repeat the tactics which have gained you one victory, but let your methods be regulated by the infinite variety of circumstances.",
|
||||
"So in war, the way is to avoid what is strong and to strike at what is weak.",
|
||||
"Just as water retains no constant shape, so in warfare there are no constant conditions.",
|
||||
),
|
||||
),
|
||||
(r"(.*)", ("Your statement insults me.", "")),
|
||||
)
|
||||
|
||||
suntsu_chatbot = Chat(pairs, reflections)
|
||||
|
||||
|
||||
def suntsu_chat():
|
||||
print("Talk to the program by typing in plain English, using normal upper-")
|
||||
print('and lower-case letters and punctuation. Enter "quit" when done.')
|
||||
print("=" * 72)
|
||||
print("You seek enlightenment?")
|
||||
|
||||
suntsu_chatbot.converse()
|
||||
|
||||
|
||||
def demo():
|
||||
suntsu_chat()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
demo()
|
||||
Reference in New Issue
Block a user