Spaces:
Sleeping
Sleeping
Commit
·
af587c3
1
Parent(s):
fa753cb
Streamlit app working
Browse files- BPE.py +4 -2
- README.md +28 -0
- app.py +87 -0
- data_analysis.py +0 -30
- decoded_output.txt +1 -3
- encode_decode.py +15 -1
- requirements.txt +2 -0
- text_file_eng.txt +0 -1100
- text_file_eng_long.txt +0 -0
- tokenizer.py +75 -0
BPE.py
CHANGED
@@ -3,7 +3,7 @@ import regex as re
|
|
3 |
from tqdm import tqdm
|
4 |
|
5 |
# Read text from a file
|
6 |
-
with open('
|
7 |
text = file.read()
|
8 |
|
9 |
# Hindi-focused pattern
|
@@ -88,9 +88,11 @@ def perform_bpe():
|
|
88 |
|
89 |
if __name__ == "__main__":
|
90 |
print('---')
|
91 |
-
print("length of text:", len(text))
|
|
|
92 |
print('---')
|
93 |
print("length of tokens:", len(tokens))
|
|
|
94 |
|
95 |
# Run BPE and save results
|
96 |
merges, ids, num_merges = perform_bpe()
|
|
|
3 |
from tqdm import tqdm
|
4 |
|
5 |
# Read text from a file
|
6 |
+
with open('text_file.txt', 'r', encoding='utf-8') as file:
|
7 |
text = file.read()
|
8 |
|
9 |
# Hindi-focused pattern
|
|
|
88 |
|
89 |
if __name__ == "__main__":
|
90 |
print('---')
|
91 |
+
print("length of text (characters):", len(text))
|
92 |
+
print("length of text (words):", len(text.split()))
|
93 |
print('---')
|
94 |
print("length of tokens:", len(tokens))
|
95 |
+
#print("sample tokens:", tokens[:5]) # Show first 5 tokens
|
96 |
|
97 |
# Run BPE and save results
|
98 |
merges, ids, num_merges = perform_bpe()
|
README.md
CHANGED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Hindi Tokenizer
|
2 |
+
|
3 |
+
## Dataset
|
4 |
+
|
5 |
+
The final dataset used for the tokenizer training is found in text_file.txt in the repo.
|
6 |
+
|
7 |
+
There were 2 prime sources which were combined in the .txt file -
|
8 |
+
|
9 |
+
- https://www.kaggle.com/datasets/disisbig/hindi-text-short-summarization-corpus (test dataset)
|
10 |
+
- https://hindi.newslaundry.com/report
|
11 |
+
|
12 |
+
length of text (characters): 5933269
|
13 |
+
|
14 |
+
length of text (words): 1150937
|
15 |
+
|
16 |
+
|
17 |
+
## Results
|
18 |
+
|
19 |
+
length of text (words): 1150937
|
20 |
+
|
21 |
+
length of tokens (regex): 1354962
|
22 |
+
|
23 |
+
---
|
24 |
+
Total bytes before: 14659421
|
25 |
+
|
26 |
+
Total bytes after: 1889786
|
27 |
+
|
28 |
+
Compression ratio: 7.76X
|
app.py
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from tokenizer import HindiTokenizer
|
3 |
+
|
4 |
+
# Initialize tokenizer
|
5 |
+
@st.cache_resource
|
6 |
+
def load_tokenizer():
|
7 |
+
return HindiTokenizer()
|
8 |
+
|
9 |
+
def format_token_ids(token_ids):
|
10 |
+
# Format token IDs in a readable way, 10 per line
|
11 |
+
lines = []
|
12 |
+
for i in range(0, len(token_ids), 10):
|
13 |
+
line = token_ids[i:i+10]
|
14 |
+
lines.append(' '.join(str(id) for id in line))
|
15 |
+
return '\n'.join(lines)
|
16 |
+
|
17 |
+
def format_hindi_tokens(tokens):
|
18 |
+
# Join tokens with double spaces
|
19 |
+
return ' '.join(tokens)
|
20 |
+
|
21 |
+
def main():
|
22 |
+
st.title("Hindi Text Tokenizer")
|
23 |
+
|
24 |
+
tokenizer = load_tokenizer()
|
25 |
+
|
26 |
+
# Create columns for metrics
|
27 |
+
col1, col2, col3 = st.columns(3)
|
28 |
+
|
29 |
+
with col1:
|
30 |
+
st.subheader("Word Count")
|
31 |
+
with col2:
|
32 |
+
st.subheader("Compression Ratio")
|
33 |
+
with col3:
|
34 |
+
st.subheader("BPE Tokens") # Renamed to clarify these are post-BPE tokens
|
35 |
+
|
36 |
+
# Text input
|
37 |
+
st.subheader("Input Text:")
|
38 |
+
text_input = st.text_area(
|
39 |
+
label="Input Hindi text",
|
40 |
+
height=150,
|
41 |
+
key="input",
|
42 |
+
label_visibility="collapsed"
|
43 |
+
)
|
44 |
+
|
45 |
+
if st.button("Tokenize"):
|
46 |
+
if text_input:
|
47 |
+
# Get tokens and IDs
|
48 |
+
token_ids, original_tokens, decoded_tokens = tokenizer.tokenize(text_input)
|
49 |
+
|
50 |
+
# Calculate metrics
|
51 |
+
word_count = len(text_input.split())
|
52 |
+
original_bytes = sum(len(token.encode('utf-8')) for token in original_tokens)
|
53 |
+
compression_ratio = original_bytes / len(token_ids)
|
54 |
+
|
55 |
+
# Update metrics
|
56 |
+
col1.write(f"{word_count}")
|
57 |
+
col2.write(f"{compression_ratio:.2f}X")
|
58 |
+
col3.write(f"{len(token_ids)}") # This is post-BPE token count
|
59 |
+
|
60 |
+
# Optional: Display both token counts for comparison
|
61 |
+
st.caption(f"Initial tokens (after regex): {len(original_tokens)}")
|
62 |
+
st.caption(f"Final tokens (after BPE): {len(token_ids)}")
|
63 |
+
|
64 |
+
# Display token IDs in a formatted way
|
65 |
+
st.subheader("Token IDs:")
|
66 |
+
st.text_area(
|
67 |
+
label="Generated token IDs",
|
68 |
+
value=format_token_ids(token_ids),
|
69 |
+
height=150,
|
70 |
+
key="ids",
|
71 |
+
label_visibility="collapsed"
|
72 |
+
)
|
73 |
+
|
74 |
+
# Display decoded tokens with tab separation
|
75 |
+
st.subheader("Tokenized Text:")
|
76 |
+
st.text_area(
|
77 |
+
label="Tokenized output",
|
78 |
+
value='\t'.join(decoded_tokens),
|
79 |
+
height=150,
|
80 |
+
key="tokens",
|
81 |
+
label_visibility="collapsed"
|
82 |
+
)
|
83 |
+
else:
|
84 |
+
st.warning("Please enter some text to tokenize.")
|
85 |
+
|
86 |
+
if __name__ == "__main__":
|
87 |
+
main()
|
data_analysis.py
DELETED
@@ -1,30 +0,0 @@
|
|
1 |
-
# Read text from a file
|
2 |
-
with open('text_file.txt', 'r', encoding='utf-8') as file:
|
3 |
-
text = file.read()
|
4 |
-
|
5 |
-
tokens = text.encode("utf-8") # raw bytes
|
6 |
-
tokens = list(map(int, tokens)) # convert to a list of integers in range 0..255 for convenience
|
7 |
-
|
8 |
-
print('---')
|
9 |
-
print("length of text:", len(text))
|
10 |
-
print('---')
|
11 |
-
#print(tokens)
|
12 |
-
print('---')
|
13 |
-
print("length of tokens:", len(tokens))
|
14 |
-
|
15 |
-
def get_stats(ids):
|
16 |
-
counts = {}
|
17 |
-
for pair in zip(ids, ids[1:]): # Pythonic way to iterate consecutive elements
|
18 |
-
counts[pair] = counts.get(pair, 0) + 1
|
19 |
-
return counts
|
20 |
-
|
21 |
-
stats = get_stats(tokens)
|
22 |
-
print('---')
|
23 |
-
# print(stats)
|
24 |
-
#print(sorted(((v,k) for k,v in stats.items()), reverse=True))
|
25 |
-
|
26 |
-
print('---')
|
27 |
-
top_pair = max(stats, key=stats.get)
|
28 |
-
print(top_pair)
|
29 |
-
|
30 |
-
#print(chr(224), chr(164))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
decoded_output.txt
CHANGED
@@ -1,3 +1 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
5 5 वर्षीय अम ज द ने न्यू ज़ ल ॉन ्ड ्री को बताया , " हम ारे सामने ये पहली बार हुआ है . लेकिन नाम कट ने के बारे में सबसे ज्यादा निर ाश ाज न क बात ये थी कि इसका पता मतदान के दिन ही चला . जब हम पहली बार बू थ 10 पर गए तो उन्होंने हमें बताया कि उन्हें मत द ाता सू ची में हमारा नाम नहीं मिला . इसलिए हमें ज ामा मस्जिद में किसी दूसरे बू थ पर जाकर देखना चाहिए . वहां से हमें दूसरे बू थ पर भेज दिया गया . इस तरह हमने पांच से छह बू थ ों का दौर ा किया . और फिर अंत में हमें जो कारण बताया गया , वो यह था कि शायद घर - घ र जाकर सर्वे क्षण के दौरान बी एल ओ ( ब ू थ ले वल ऑफिस र ) को हम घर पर नहीं मिले इसलिए उन्होंने हमारे नाम काट दिए .”
|
|
|
1 |
+
च ां द नी चौ क विधानसभा क्षेत्र में सबसे ज्यादा मत दाता सूची से हट ाए गए तीन बू थ ों में से एक बू थ वो था , जहां अम ज द का घर था और दूसरा बू थ कांग्रेस उम्मीदवार जे पी अग्र वाल के पड़ ोस में था े . अपने पक्ष में मतदान में 14 प्रतिशत की बढ़ ोत री के बावजूद अग्र वाल भाजपा से 9 0 , 000 वोटों के अंतर से हार गए . न्यू ज़ ल ॉन ्ड ्री ने घर - घ र जाकर सर्वे क्षण किया और प ुष्ट ि की , कि इन तीन बू थ ों पर हट ाए गए 4 9 7 मत दाताओं में से कम से कम 14 7 ( लग भग 29 . 6 प्रतिशत ) गलत तरीके से हट ाए गए थे .
|
|
|
|
encode_decode.py
CHANGED
@@ -25,7 +25,21 @@ def decode(ids):
|
|
25 |
return text
|
26 |
|
27 |
# Example: Decode a list of IDs
|
28 |
-
set_of_ids = [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
decoded_text = decode(set_of_ids) # Pass the list of IDs
|
30 |
print(decoded_text)
|
31 |
|
|
|
25 |
return text
|
26 |
|
27 |
# Example: Decode a list of IDs
|
28 |
+
set_of_ids = [335, 332, 295, 401, 1050, 273, 1153, 1094, 294, 843,
|
29 |
+
859, 1092, 3583, 3327, 315, 2457, 437, 585, 867, 3747,
|
30 |
+
587, 299, 294, 315, 388, 3747, 587, 785, 414, 44,
|
31 |
+
1110, 712, 307, 295, 334, 984, 414, 329, 2892, 3747,
|
32 |
+
587, 583, 1160, 1593, 427, 3934, 621, 285, 1583, 1936,
|
33 |
+
294, 414, 260, 46, 548, 2007, 294, 2733, 294, 1467,
|
34 |
+
1553, 300, 763, 2045, 381, 285, 2093, 3934, 621, 1882,
|
35 |
+
315, 1077, 48, 44, 1581, 3991, 285, 1909, 315, 1595,
|
36 |
+
585, 46, 2161, 2714, 280, 1016, 698, 475, 316, 984,
|
37 |
+
45, 861, 261, 2836, 2999, 1947, 418, 329, 279, 3331,
|
38 |
+
266, 300, 44, 343, 591, 867, 3747, 587, 299, 330,
|
39 |
+
2457, 437, 585, 715, 57, 55, 1092, 3017, 294, 315,
|
40 |
+
565, 315, 565, 1467, 55, 489, 2139, 2057, 2927, 46,
|
41 |
+
54, 1553, 41, 2217, 2695, 315, 2457, 437, 585, 533,
|
42 |
+
46]
|
43 |
decoded_text = decode(set_of_ids) # Pass the list of IDs
|
44 |
print(decoded_text)
|
45 |
|
requirements.txt
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
streamlit
|
2 |
+
regex
|
text_file_eng.txt
DELETED
@@ -1,1100 +0,0 @@
|
|
1 |
-
First Citizen:
|
2 |
-
Before we proceed any further, hear me speak.
|
3 |
-
|
4 |
-
All:
|
5 |
-
Speak, speak.
|
6 |
-
|
7 |
-
First Citizen:
|
8 |
-
You are all resolved rather to die than to famish?
|
9 |
-
|
10 |
-
All:
|
11 |
-
Resolved. resolved.
|
12 |
-
|
13 |
-
First Citizen:
|
14 |
-
First, you know Caius Marcius is chief enemy to the people.
|
15 |
-
|
16 |
-
All:
|
17 |
-
We know't, we know't.
|
18 |
-
|
19 |
-
First Citizen:
|
20 |
-
Let us kill him, and we'll have corn at our own price.
|
21 |
-
Is't a verdict?
|
22 |
-
|
23 |
-
All:
|
24 |
-
No more talking on't; let it be done: away, away!
|
25 |
-
|
26 |
-
Second Citizen:
|
27 |
-
One word, good citizens.
|
28 |
-
|
29 |
-
First Citizen:
|
30 |
-
We are accounted poor citizens, the patricians good.
|
31 |
-
What authority surfeits on would relieve us: if they
|
32 |
-
would yield us but the superfluity, while it were
|
33 |
-
wholesome, we might guess they relieved us humanely;
|
34 |
-
but they think we are too dear: the leanness that
|
35 |
-
afflicts us, the object of our misery, is as an
|
36 |
-
inventory to particularise their abundance; our
|
37 |
-
sufferance is a gain to them Let us revenge this with
|
38 |
-
our pikes, ere we become rakes: for the gods know I
|
39 |
-
speak this in hunger for bread, not in thirst for revenge.
|
40 |
-
|
41 |
-
Second Citizen:
|
42 |
-
Would you proceed especially against Caius Marcius?
|
43 |
-
|
44 |
-
All:
|
45 |
-
Against him first: he's a very dog to the commonalty.
|
46 |
-
|
47 |
-
Second Citizen:
|
48 |
-
Consider you what services he has done for his country?
|
49 |
-
|
50 |
-
First Citizen:
|
51 |
-
Very well; and could be content to give him good
|
52 |
-
report fort, but that he pays himself with being proud.
|
53 |
-
|
54 |
-
Second Citizen:
|
55 |
-
Nay, but speak not maliciously.
|
56 |
-
|
57 |
-
First Citizen:
|
58 |
-
I say unto you, what he hath done famously, he did
|
59 |
-
it to that end: though soft-conscienced men can be
|
60 |
-
content to say it was for his country he did it to
|
61 |
-
please his mother and to be partly proud; which he
|
62 |
-
is, even till the altitude of his virtue.
|
63 |
-
|
64 |
-
Second Citizen:
|
65 |
-
What he cannot help in his nature, you account a
|
66 |
-
vice in him. You must in no way say he is covetous.
|
67 |
-
|
68 |
-
First Citizen:
|
69 |
-
If I must not, I need not be barren of accusations;
|
70 |
-
he hath faults, with surplus, to tire in repetition.
|
71 |
-
What shouts are these? The other side o' the city
|
72 |
-
is risen: why stay we prating here? to the Capitol!
|
73 |
-
|
74 |
-
All:
|
75 |
-
Come, come.
|
76 |
-
|
77 |
-
First Citizen:
|
78 |
-
Soft! who comes here?
|
79 |
-
|
80 |
-
Second Citizen:
|
81 |
-
Worthy Menenius Agrippa; one that hath always loved
|
82 |
-
the people.
|
83 |
-
|
84 |
-
First Citizen:
|
85 |
-
He's one honest enough: would all the rest were so!
|
86 |
-
|
87 |
-
MENENIUS:
|
88 |
-
What work's, my countrymen, in hand? where go you
|
89 |
-
With bats and clubs? The matter? speak, I pray you.
|
90 |
-
|
91 |
-
First Citizen:
|
92 |
-
Our business is not unknown to the senate; they have
|
93 |
-
had inkling this fortnight what we intend to do,
|
94 |
-
which now we'll show 'em in deeds. They say poor
|
95 |
-
suitors have strong breaths: they shall know we
|
96 |
-
have strong arms too.
|
97 |
-
|
98 |
-
MENENIUS:
|
99 |
-
Why, masters, my good friends, mine honest neighbours,
|
100 |
-
Will you undo yourselves?
|
101 |
-
|
102 |
-
First Citizen:
|
103 |
-
We cannot, sir, we are undone already.
|
104 |
-
|
105 |
-
MENENIUS:
|
106 |
-
I tell you, friends, most charitable care
|
107 |
-
Have the patricians of you. For your wants,
|
108 |
-
Your suffering in this dearth, you may as well
|
109 |
-
Strike at the heaven with your staves as lift them
|
110 |
-
Against the Roman state, whose course will on
|
111 |
-
The way it takes, cracking ten thousand curbs
|
112 |
-
Of more strong link asunder than can ever
|
113 |
-
Appear in your impediment. For the dearth,
|
114 |
-
The gods, not the patricians, make it, and
|
115 |
-
Your knees to them, not arms, must help. Alack,
|
116 |
-
You are transported by calamity
|
117 |
-
Thither where more attends you, and you slander
|
118 |
-
The helms o' the state, who care for you like fathers,
|
119 |
-
When you curse them as enemies.
|
120 |
-
|
121 |
-
First Citizen:
|
122 |
-
Care for us! True, indeed! They ne'er cared for us
|
123 |
-
yet: suffer us to famish, and their store-houses
|
124 |
-
crammed with grain; make edicts for usury, to
|
125 |
-
support usurers; repeal daily any wholesome act
|
126 |
-
established against the rich, and provide more
|
127 |
-
piercing statutes daily, to chain up and restrain
|
128 |
-
the poor. If the wars eat us not up, they will; and
|
129 |
-
there's all the love they bear us.
|
130 |
-
|
131 |
-
MENENIUS:
|
132 |
-
Either you must
|
133 |
-
Confess yourselves wondrous malicious,
|
134 |
-
Or be accused of folly. I shall tell you
|
135 |
-
A pretty tale: it may be you have heard it;
|
136 |
-
But, since it serves my purpose, I will venture
|
137 |
-
To stale 't a little more.
|
138 |
-
|
139 |
-
First Citizen:
|
140 |
-
Well, I'll hear it, sir: yet you must not think to
|
141 |
-
fob off our disgrace with a tale: but, an 't please
|
142 |
-
you, deliver.
|
143 |
-
|
144 |
-
MENENIUS:
|
145 |
-
There was a time when all the body's members
|
146 |
-
Rebell'd against the belly, thus accused it:
|
147 |
-
That only like a gulf it did remain
|
148 |
-
I' the midst o' the body, idle and unactive,
|
149 |
-
Still cupboarding the viand, never bearing
|
150 |
-
Like labour with the rest, where the other instruments
|
151 |
-
Did see and hear, devise, instruct, walk, feel,
|
152 |
-
And, mutually participate, did minister
|
153 |
-
Unto the appetite and affection common
|
154 |
-
Of the whole body. The belly answer'd--
|
155 |
-
|
156 |
-
First Citizen:
|
157 |
-
Well, sir, what answer made the belly?
|
158 |
-
|
159 |
-
MENENIUS:
|
160 |
-
Sir, I shall tell you. With a kind of smile,
|
161 |
-
Which ne'er came from the lungs, but even thus--
|
162 |
-
For, look you, I may make the belly smile
|
163 |
-
As well as speak--it tauntingly replied
|
164 |
-
To the discontented members, the mutinous parts
|
165 |
-
That envied his receipt; even so most fitly
|
166 |
-
As you malign our senators for that
|
167 |
-
They are not such as you.
|
168 |
-
|
169 |
-
First Citizen:
|
170 |
-
Your belly's answer? What!
|
171 |
-
The kingly-crowned head, the vigilant eye,
|
172 |
-
The counsellor heart, the arm our soldier,
|
173 |
-
Our steed the leg, the tongue our trumpeter.
|
174 |
-
With other muniments and petty helps
|
175 |
-
In this our fabric, if that they--
|
176 |
-
|
177 |
-
MENENIUS:
|
178 |
-
What then?
|
179 |
-
'Fore me, this fellow speaks! What then? what then?
|
180 |
-
|
181 |
-
First Citizen:
|
182 |
-
Should by the cormorant belly be restrain'd,
|
183 |
-
Who is the sink o' the body,--
|
184 |
-
|
185 |
-
MENENIUS:
|
186 |
-
Well, what then?
|
187 |
-
|
188 |
-
First Citizen:
|
189 |
-
The former agents, if they did complain,
|
190 |
-
What could the belly answer?
|
191 |
-
|
192 |
-
MENENIUS:
|
193 |
-
I will tell you
|
194 |
-
If you'll bestow a small--of what you have little--
|
195 |
-
Patience awhile, you'll hear the belly's answer.
|
196 |
-
|
197 |
-
First Citizen:
|
198 |
-
Ye're long about it.
|
199 |
-
|
200 |
-
MENENIUS:
|
201 |
-
Note me this, good friend;
|
202 |
-
Your most grave belly was deliberate,
|
203 |
-
Not rash like his accusers, and thus answer'd:
|
204 |
-
'True is it, my incorporate friends,' quoth he,
|
205 |
-
'That I receive the general food at first,
|
206 |
-
Which you do live upon; and fit it is,
|
207 |
-
Because I am the store-house and the shop
|
208 |
-
Of the whole body: but, if you do remember,
|
209 |
-
I send it through the rivers of your blood,
|
210 |
-
Even to the court, the heart, to the seat o' the brain;
|
211 |
-
And, through the cranks and offices of man,
|
212 |
-
The strongest nerves and small inferior veins
|
213 |
-
From me receive that natural competency
|
214 |
-
Whereby they live: and though that all at once,
|
215 |
-
You, my good friends,'--this says the belly, mark me,--
|
216 |
-
|
217 |
-
First Citizen:
|
218 |
-
Ay, sir; well, well.
|
219 |
-
|
220 |
-
MENENIUS:
|
221 |
-
'Though all at once cannot
|
222 |
-
See what I do deliver out to each,
|
223 |
-
Yet I can make my audit up, that all
|
224 |
-
From me do back receive the flour of all,
|
225 |
-
And leave me but the bran.' What say you to't?
|
226 |
-
|
227 |
-
First Citizen:
|
228 |
-
It was an answer: how apply you this?
|
229 |
-
|
230 |
-
MENENIUS:
|
231 |
-
The senators of Rome are this good belly,
|
232 |
-
And you the mutinous members; for examine
|
233 |
-
Their counsels and their cares, digest things rightly
|
234 |
-
Touching the weal o' the common, you shall find
|
235 |
-
No public benefit which you receive
|
236 |
-
But it proceeds or comes from them to you
|
237 |
-
And no way from yourselves. What do you think,
|
238 |
-
You, the great toe of this assembly?
|
239 |
-
|
240 |
-
First Citizen:
|
241 |
-
I the great toe! why the great toe?
|
242 |
-
|
243 |
-
MENENIUS:
|
244 |
-
For that, being one o' the lowest, basest, poorest,
|
245 |
-
Of this most wise rebellion, thou go'st foremost:
|
246 |
-
Thou rascal, that art worst in blood to run,
|
247 |
-
Lead'st first to win some vantage.
|
248 |
-
But make you ready your stiff bats and clubs:
|
249 |
-
Rome and her rats are at the point of battle;
|
250 |
-
The one side must have bale.
|
251 |
-
Hail, noble Marcius!
|
252 |
-
|
253 |
-
MARCIUS:
|
254 |
-
Thanks. What's the matter, you dissentious rogues,
|
255 |
-
That, rubbing the poor itch of your opinion,
|
256 |
-
Make yourselves scabs?
|
257 |
-
|
258 |
-
First Citizen:
|
259 |
-
We have ever your good word.
|
260 |
-
|
261 |
-
MARCIUS:
|
262 |
-
He that will give good words to thee will flatter
|
263 |
-
Beneath abhorring. What would you have, you curs,
|
264 |
-
That like nor peace nor war? the one affrights you,
|
265 |
-
The other makes you proud. He that trusts to you,
|
266 |
-
Where he should find you lions, finds you hares;
|
267 |
-
Where foxes, geese: you are no surer, no,
|
268 |
-
Than is the coal of fire upon the ice,
|
269 |
-
Or hailstone in the sun. Your virtue is
|
270 |
-
To make him worthy whose offence subdues him
|
271 |
-
And curse that justice did it.
|
272 |
-
Who deserves greatness
|
273 |
-
Deserves your hate; and your affections are
|
274 |
-
A sick man's appetite, who desires most that
|
275 |
-
Which would increase his evil. He that depends
|
276 |
-
Upon your favours swims with fins of lead
|
277 |
-
And hews down oaks with rushes. Hang ye! Trust Ye?
|
278 |
-
With every minute you do change a mind,
|
279 |
-
And call him noble that was now your hate,
|
280 |
-
Him vile that was your garland. What's the matter,
|
281 |
-
That in these several places of the city
|
282 |
-
You cry against the noble senate, who,
|
283 |
-
Under the gods, keep you in awe, which else
|
284 |
-
Would feed on one another? What's their seeking?
|
285 |
-
|
286 |
-
MENENIUS:
|
287 |
-
For corn at their own rates; whereof, they say,
|
288 |
-
The city is well stored.
|
289 |
-
|
290 |
-
MARCIUS:
|
291 |
-
Hang 'em! They say!
|
292 |
-
They'll sit by the fire, and presume to know
|
293 |
-
What's done i' the Capitol; who's like to rise,
|
294 |
-
Who thrives and who declines; side factions
|
295 |
-
and give out
|
296 |
-
Conjectural marriages; making parties strong
|
297 |
-
And feebling such as stand not in their liking
|
298 |
-
Below their cobbled shoes. They say there's
|
299 |
-
grain enough!
|
300 |
-
Would the nobility lay aside their ruth,
|
301 |
-
And let me use my sword, I'll make a quarry
|
302 |
-
With thousands of these quarter'd slaves, as high
|
303 |
-
As I could pick my lance.
|
304 |
-
|
305 |
-
MENENIUS:
|
306 |
-
Nay, these are almost thoroughly persuaded;
|
307 |
-
For though abundantly they lack discretion,
|
308 |
-
Yet are they passing cowardly. But, I beseech you,
|
309 |
-
What says the other troop?
|
310 |
-
|
311 |
-
MARCIUS:
|
312 |
-
They are dissolved: hang 'em!
|
313 |
-
They said they were an-hungry; sigh'd forth proverbs,
|
314 |
-
That hunger broke stone walls, that dogs must eat,
|
315 |
-
That meat was made for mouths, that the gods sent not
|
316 |
-
Corn for the rich men only: with these shreds
|
317 |
-
They vented their complainings; which being answer'd,
|
318 |
-
And a petition granted them, a strange one--
|
319 |
-
To break the heart of generosity,
|
320 |
-
And make bold power look pale--they threw their caps
|
321 |
-
As they would hang them on the horns o' the moon,
|
322 |
-
Shouting their emulation.
|
323 |
-
|
324 |
-
MENENIUS:
|
325 |
-
What is granted them?
|
326 |
-
|
327 |
-
MARCIUS:
|
328 |
-
Five tribunes to defend their vulgar wisdoms,
|
329 |
-
Of their own choice: one's Junius Brutus,
|
330 |
-
Sicinius Velutus, and I know not--'Sdeath!
|
331 |
-
The rabble should have first unroof'd the city,
|
332 |
-
Ere so prevail'd with me: it will in time
|
333 |
-
Win upon power and throw forth greater themes
|
334 |
-
For insurrection's arguing.
|
335 |
-
|
336 |
-
MENENIUS:
|
337 |
-
This is strange.
|
338 |
-
|
339 |
-
MARCIUS:
|
340 |
-
Go, get you home, you fragments!
|
341 |
-
|
342 |
-
Messenger:
|
343 |
-
Where's Caius Marcius?
|
344 |
-
|
345 |
-
MARCIUS:
|
346 |
-
Here: what's the matter?
|
347 |
-
|
348 |
-
Messenger:
|
349 |
-
The news is, sir, the Volsces are in arms.
|
350 |
-
|
351 |
-
MARCIUS:
|
352 |
-
I am glad on 't: then we shall ha' means to vent
|
353 |
-
Our musty superfluity. See, our best elders.
|
354 |
-
|
355 |
-
First Senator:
|
356 |
-
Marcius, 'tis true that you have lately told us;
|
357 |
-
The Volsces are in arms.
|
358 |
-
|
359 |
-
MARCIUS:
|
360 |
-
They have a leader,
|
361 |
-
Tullus Aufidius, that will put you to 't.
|
362 |
-
I sin in envying his nobility,
|
363 |
-
And were I any thing but what I am,
|
364 |
-
I would wish me only he.
|
365 |
-
|
366 |
-
COMINIUS:
|
367 |
-
You have fought together.
|
368 |
-
|
369 |
-
MARCIUS:
|
370 |
-
Were half to half the world by the ears and he.
|
371 |
-
Upon my party, I'ld revolt to make
|
372 |
-
Only my wars with him: he is a lion
|
373 |
-
That I am proud to hunt.
|
374 |
-
|
375 |
-
First Senator:
|
376 |
-
Then, worthy Marcius,
|
377 |
-
Attend upon Cominius to these wars.
|
378 |
-
|
379 |
-
COMINIUS:
|
380 |
-
It is your former promise.
|
381 |
-
|
382 |
-
MARCIUS:
|
383 |
-
Sir, it is;
|
384 |
-
And I am constant. Titus Lartius, thou
|
385 |
-
Shalt see me once more strike at Tullus' face.
|
386 |
-
What, art thou stiff? stand'st out?
|
387 |
-
|
388 |
-
TITUS:
|
389 |
-
No, Caius Marcius;
|
390 |
-
I'll lean upon one crutch and fight with t'other,
|
391 |
-
Ere stay behind this business.
|
392 |
-
|
393 |
-
MENENIUS:
|
394 |
-
O, true-bred!
|
395 |
-
|
396 |
-
First Senator:
|
397 |
-
Your company to the Capitol; where, I know,
|
398 |
-
Our greatest friends attend us.
|
399 |
-
|
400 |
-
TITUS:
|
401 |
-
|
402 |
-
COMINIUS:
|
403 |
-
Noble Marcius!
|
404 |
-
|
405 |
-
First Senator:
|
406 |
-
|
407 |
-
MARCIUS:
|
408 |
-
Nay, let them follow:
|
409 |
-
The Volsces have much corn; take these rats thither
|
410 |
-
To gnaw their garners. Worshipful mutiners,
|
411 |
-
Your valour puts well forth: pray, follow.
|
412 |
-
|
413 |
-
SICINIUS:
|
414 |
-
Was ever man so proud as is this Marcius?
|
415 |
-
|
416 |
-
BRUTUS:
|
417 |
-
He has no equal.
|
418 |
-
|
419 |
-
SICINIUS:
|
420 |
-
When we were chosen tribunes for the people,--
|
421 |
-
|
422 |
-
BRUTUS:
|
423 |
-
Mark'd you his lip and eyes?
|
424 |
-
|
425 |
-
SICINIUS:
|
426 |
-
Nay. but his taunts.
|
427 |
-
|
428 |
-
BRUTUS:
|
429 |
-
Being moved, he will not spare to gird the gods.
|
430 |
-
|
431 |
-
SICINIUS:
|
432 |
-
Be-mock the modest moon.
|
433 |
-
|
434 |
-
BRUTUS:
|
435 |
-
The present wars devour him: he is grown
|
436 |
-
Too proud to be so valiant.
|
437 |
-
|
438 |
-
SICINIUS:
|
439 |
-
Such a nature,
|
440 |
-
Tickled with good success, disdains the shadow
|
441 |
-
Which he treads on at noon: but I do wonder
|
442 |
-
His insolence can brook to be commanded
|
443 |
-
Under Cominius.
|
444 |
-
|
445 |
-
BRUTUS:
|
446 |
-
Fame, at the which he aims,
|
447 |
-
In whom already he's well graced, can not
|
448 |
-
Better be held nor more attain'd than by
|
449 |
-
A place below the first: for what miscarries
|
450 |
-
Shall be the general's fault, though he perform
|
451 |
-
To the utmost of a man, and giddy censure
|
452 |
-
Will then cry out of Marcius 'O if he
|
453 |
-
Had borne the business!'
|
454 |
-
|
455 |
-
SICINIUS:
|
456 |
-
Besides, if things go well,
|
457 |
-
Opinion that so sticks on Marcius shall
|
458 |
-
Of his demerits rob Cominius.
|
459 |
-
|
460 |
-
BRUTUS:
|
461 |
-
Come:
|
462 |
-
Half all Cominius' honours are to Marcius.
|
463 |
-
Though Marcius earned them not, and all his faults
|
464 |
-
To Marcius shall be honours, though indeed
|
465 |
-
In aught he merit not.
|
466 |
-
|
467 |
-
SICINIUS:
|
468 |
-
Let's hence, and hear
|
469 |
-
How the dispatch is made, and in what fashion,
|
470 |
-
More than his singularity, he goes
|
471 |
-
Upon this present action.
|
472 |
-
|
473 |
-
BRUTUS:
|
474 |
-
Lets along.
|
475 |
-
|
476 |
-
First Senator:
|
477 |
-
So, your opinion is, Aufidius,
|
478 |
-
That they of Rome are entered in our counsels
|
479 |
-
And know how we proceed.
|
480 |
-
|
481 |
-
AUFIDIUS:
|
482 |
-
Is it not yours?
|
483 |
-
What ever have been thought on in this state,
|
484 |
-
That could be brought to bodily act ere Rome
|
485 |
-
Had circumvention? 'Tis not four days gone
|
486 |
-
Since I heard thence; these are the words: I think
|
487 |
-
I have the letter here; yes, here it is.
|
488 |
-
'They have press'd a power, but it is not known
|
489 |
-
Whether for east or west: the dearth is great;
|
490 |
-
The people mutinous; and it is rumour'd,
|
491 |
-
Cominius, Marcius your old enemy,
|
492 |
-
Who is of Rome worse hated than of you,
|
493 |
-
And Titus Lartius, a most valiant Roman,
|
494 |
-
These three lead on this preparation
|
495 |
-
Whither 'tis bent: most likely 'tis for you:
|
496 |
-
Consider of it.'
|
497 |
-
|
498 |
-
First Senator:
|
499 |
-
Our army's in the field
|
500 |
-
We never yet made doubt but Rome was ready
|
501 |
-
To answer us.
|
502 |
-
|
503 |
-
AUFIDIUS:
|
504 |
-
Nor did you think it folly
|
505 |
-
To keep your great pretences veil'd till when
|
506 |
-
They needs must show themselves; which
|
507 |
-
in the hatching,
|
508 |
-
It seem'd, appear'd to Rome. By the discovery.
|
509 |
-
We shall be shorten'd in our aim, which was
|
510 |
-
To take in many towns ere almost Rome
|
511 |
-
Should know we were afoot.
|
512 |
-
|
513 |
-
Second Senator:
|
514 |
-
Noble Aufidius,
|
515 |
-
Take your commission; hie you to your bands:
|
516 |
-
Let us alone to guard Corioli:
|
517 |
-
If they set down before 's, for the remove
|
518 |
-
Bring your army; but, I think, you'll find
|
519 |
-
They've not prepared for us.
|
520 |
-
|
521 |
-
AUFIDIUS:
|
522 |
-
O, doubt not that;
|
523 |
-
I speak from certainties. Nay, more,
|
524 |
-
Some parcels of their power are forth already,
|
525 |
-
And only hitherward. I leave your honours.
|
526 |
-
If we and Caius Marcius chance to meet,
|
527 |
-
'Tis sworn between us we shall ever strike
|
528 |
-
Till one can do no more.
|
529 |
-
|
530 |
-
All:
|
531 |
-
The gods assist you!
|
532 |
-
|
533 |
-
AUFIDIUS:
|
534 |
-
And keep your honours safe!
|
535 |
-
|
536 |
-
First Senator:
|
537 |
-
Farewell.
|
538 |
-
|
539 |
-
Second Senator:
|
540 |
-
Farewell.
|
541 |
-
|
542 |
-
All:
|
543 |
-
Farewell.
|
544 |
-
|
545 |
-
VOLUMNIA:
|
546 |
-
I pray you, daughter, sing; or express yourself in a
|
547 |
-
more comfortable sort: if my son were my husband, I
|
548 |
-
should freelier rejoice in that absence wherein he
|
549 |
-
won honour than in the embracements of his bed where
|
550 |
-
he would show most love. When yet he was but
|
551 |
-
tender-bodied and the only son of my womb, when
|
552 |
-
youth with comeliness plucked all gaze his way, when
|
553 |
-
for a day of kings' entreaties a mother should not
|
554 |
-
sell him an hour from her beholding, I, considering
|
555 |
-
how honour would become such a person. that it was
|
556 |
-
no better than picture-like to hang by the wall, if
|
557 |
-
renown made it not stir, was pleased to let him seek
|
558 |
-
danger where he was like to find fame. To a cruel
|
559 |
-
war I sent him; from whence he returned, his brows
|
560 |
-
bound with oak. I tell thee, daughter, I sprang not
|
561 |
-
more in joy at first hearing he was a man-child
|
562 |
-
than now in first seeing he had proved himself a
|
563 |
-
man.
|
564 |
-
|
565 |
-
VIRGILIA:
|
566 |
-
But had he died in the business, madam; how then?
|
567 |
-
|
568 |
-
VOLUMNIA:
|
569 |
-
Then his good report should have been my son; I
|
570 |
-
therein would have found issue. Hear me profess
|
571 |
-
sincerely: had I a dozen sons, each in my love
|
572 |
-
alike and none less dear than thine and my good
|
573 |
-
Marcius, I had rather had eleven die nobly for their
|
574 |
-
country than one voluptuously surfeit out of action.
|
575 |
-
|
576 |
-
Gentlewoman:
|
577 |
-
Madam, the Lady Valeria is come to visit you.
|
578 |
-
|
579 |
-
VIRGILIA:
|
580 |
-
Beseech you, give me leave to retire myself.
|
581 |
-
|
582 |
-
VOLUMNIA:
|
583 |
-
Indeed, you shall not.
|
584 |
-
Methinks I hear hither your husband's drum,
|
585 |
-
See him pluck Aufidius down by the hair,
|
586 |
-
As children from a bear, the Volsces shunning him:
|
587 |
-
Methinks I see him stamp thus, and call thus:
|
588 |
-
'Come on, you cowards! you were got in fear,
|
589 |
-
Though you were born in Rome:' his bloody brow
|
590 |
-
With his mail'd hand then wiping, forth he goes,
|
591 |
-
Like to a harvest-man that's task'd to mow
|
592 |
-
Or all or lose his hire.
|
593 |
-
|
594 |
-
VIRGILIA:
|
595 |
-
His bloody brow! O Jupiter, no blood!
|
596 |
-
|
597 |
-
VOLUMNIA:
|
598 |
-
Away, you fool! it more becomes a man
|
599 |
-
Than gilt his trophy: the breasts of Hecuba,
|
600 |
-
When she did suckle Hector, look'd not lovelier
|
601 |
-
Than Hector's forehead when it spit forth blood
|
602 |
-
At Grecian sword, contemning. Tell Valeria,
|
603 |
-
We are fit to bid her welcome.
|
604 |
-
|
605 |
-
VIRGILIA:
|
606 |
-
Heavens bless my lord from fell Aufidius!
|
607 |
-
|
608 |
-
VOLUMNIA:
|
609 |
-
He'll beat Aufidius 'head below his knee
|
610 |
-
And tread upon his neck.
|
611 |
-
|
612 |
-
VALERIA:
|
613 |
-
My ladies both, good day to you.
|
614 |
-
|
615 |
-
VOLUMNIA:
|
616 |
-
Sweet madam.
|
617 |
-
|
618 |
-
VIRGILIA:
|
619 |
-
I am glad to see your ladyship.
|
620 |
-
|
621 |
-
VALERIA:
|
622 |
-
How do you both? you are manifest house-keepers.
|
623 |
-
What are you sewing here? A fine spot, in good
|
624 |
-
faith. How does your little son?
|
625 |
-
|
626 |
-
VIRGILIA:
|
627 |
-
I thank your ladyship; well, good madam.
|
628 |
-
|
629 |
-
VOLUMNIA:
|
630 |
-
He had rather see the swords, and hear a drum, than
|
631 |
-
look upon his school-master.
|
632 |
-
|
633 |
-
VALERIA:
|
634 |
-
O' my word, the father's son: I'll swear,'tis a
|
635 |
-
very pretty boy. O' my troth, I looked upon him o'
|
636 |
-
Wednesday half an hour together: has such a
|
637 |
-
confirmed countenance. I saw him run after a gilded
|
638 |
-
butterfly: and when he caught it, he let it go
|
639 |
-
again; and after it again; and over and over he
|
640 |
-
comes, and again; catched it again; or whether his
|
641 |
-
fall enraged him, or how 'twas, he did so set his
|
642 |
-
teeth and tear it; O, I warrant it, how he mammocked
|
643 |
-
it!
|
644 |
-
|
645 |
-
VOLUMNIA:
|
646 |
-
One on 's father's moods.
|
647 |
-
|
648 |
-
VALERIA:
|
649 |
-
Indeed, la, 'tis a noble child.
|
650 |
-
|
651 |
-
VIRGILIA:
|
652 |
-
A crack, madam.
|
653 |
-
|
654 |
-
VALERIA:
|
655 |
-
Come, lay aside your stitchery; I must have you play
|
656 |
-
the idle husewife with me this afternoon.
|
657 |
-
|
658 |
-
VIRGILIA:
|
659 |
-
No, good madam; I will not out of doors.
|
660 |
-
|
661 |
-
VALERIA:
|
662 |
-
Not out of doors!
|
663 |
-
|
664 |
-
VOLUMNIA:
|
665 |
-
She shall, she shall.
|
666 |
-
|
667 |
-
VIRGILIA:
|
668 |
-
Indeed, no, by your patience; I'll not over the
|
669 |
-
threshold till my lord return from the wars.
|
670 |
-
|
671 |
-
VALERIA:
|
672 |
-
Fie, you confine yourself most unreasonably: come,
|
673 |
-
you must go visit the good lady that lies in.
|
674 |
-
|
675 |
-
VIRGILIA:
|
676 |
-
I will wish her speedy strength, and visit her with
|
677 |
-
my prayers; but I cannot go thither.
|
678 |
-
|
679 |
-
VOLUMNIA:
|
680 |
-
Why, I pray you?
|
681 |
-
|
682 |
-
VIRGILIA:
|
683 |
-
'Tis not to save labour, nor that I want love.
|
684 |
-
|
685 |
-
VALERIA:
|
686 |
-
You would be another Penelope: yet, they say, all
|
687 |
-
the yarn she spun in Ulysses' absence did but fill
|
688 |
-
Ithaca full of moths. Come; I would your cambric
|
689 |
-
were sensible as your finger, that you might leave
|
690 |
-
pricking it for pity. Come, you shall go with us.
|
691 |
-
|
692 |
-
VIRGILIA:
|
693 |
-
No, good madam, pardon me; indeed, I will not forth.
|
694 |
-
|
695 |
-
VALERIA:
|
696 |
-
In truth, la, go with me; and I'll tell you
|
697 |
-
excellent news of your husband.
|
698 |
-
|
699 |
-
VIRGILIA:
|
700 |
-
O, good madam, there can be none yet.
|
701 |
-
|
702 |
-
VALERIA:
|
703 |
-
Verily, I do not jest with you; there came news from
|
704 |
-
him last night.
|
705 |
-
|
706 |
-
VIRGILIA:
|
707 |
-
Indeed, madam?
|
708 |
-
|
709 |
-
VALERIA:
|
710 |
-
In earnest, it's true; I heard a senator speak it.
|
711 |
-
Thus it is: the Volsces have an army forth; against
|
712 |
-
whom Cominius the general is gone, with one part of
|
713 |
-
our Roman power: your lord and Titus Lartius are set
|
714 |
-
down before their city Corioli; they nothing doubt
|
715 |
-
prevailing and to make it brief wars. This is true,
|
716 |
-
on mine honour; and so, I pray, go with us.
|
717 |
-
|
718 |
-
VIRGILIA:
|
719 |
-
Give me excuse, good madam; I will obey you in every
|
720 |
-
thing hereafter.
|
721 |
-
|
722 |
-
VOLUMNIA:
|
723 |
-
Let her alone, lady: as she is now, she will but
|
724 |
-
disease our better mirth.
|
725 |
-
|
726 |
-
VALERIA:
|
727 |
-
In troth, I think she would. Fare you well, then.
|
728 |
-
Come, good sweet lady. Prithee, Virgilia, turn thy
|
729 |
-
solemness out o' door. and go along with us.
|
730 |
-
|
731 |
-
VIRGILIA:
|
732 |
-
No, at a word, madam; indeed, I must not. I wish
|
733 |
-
you much mirth.
|
734 |
-
|
735 |
-
VALERIA:
|
736 |
-
Well, then, farewell.
|
737 |
-
|
738 |
-
MARCIUS:
|
739 |
-
Yonder comes news. A wager they have met.
|
740 |
-
|
741 |
-
LARTIUS:
|
742 |
-
My horse to yours, no.
|
743 |
-
|
744 |
-
MARCIUS:
|
745 |
-
'Tis done.
|
746 |
-
|
747 |
-
LARTIUS:
|
748 |
-
Agreed.
|
749 |
-
|
750 |
-
MARCIUS:
|
751 |
-
Say, has our general met the enemy?
|
752 |
-
|
753 |
-
Messenger:
|
754 |
-
They lie in view; but have not spoke as yet.
|
755 |
-
|
756 |
-
LARTIUS:
|
757 |
-
So, the good horse is mine.
|
758 |
-
|
759 |
-
MARCIUS:
|
760 |
-
I'll buy him of you.
|
761 |
-
|
762 |
-
LARTIUS:
|
763 |
-
No, I'll nor sell nor give him: lend you him I will
|
764 |
-
For half a hundred years. Summon the town.
|
765 |
-
|
766 |
-
MARCIUS:
|
767 |
-
How far off lie these armies?
|
768 |
-
|
769 |
-
Messenger:
|
770 |
-
Within this mile and half.
|
771 |
-
|
772 |
-
MARCIUS:
|
773 |
-
Then shall we hear their 'larum, and they ours.
|
774 |
-
Now, Mars, I prithee, make us quick in work,
|
775 |
-
That we with smoking swords may march from hence,
|
776 |
-
To help our fielded friends! Come, blow thy blast.
|
777 |
-
Tutus Aufidius, is he within your walls?
|
778 |
-
|
779 |
-
First Senator:
|
780 |
-
No, nor a man that fears you less than he,
|
781 |
-
That's lesser than a little.
|
782 |
-
Hark! our drums
|
783 |
-
Are bringing forth our youth. We'll break our walls,
|
784 |
-
Rather than they shall pound us up: our gates,
|
785 |
-
Which yet seem shut, we, have but pinn'd with rushes;
|
786 |
-
They'll open of themselves.
|
787 |
-
Hark you. far off!
|
788 |
-
There is Aufidius; list, what work he makes
|
789 |
-
Amongst your cloven army.
|
790 |
-
|
791 |
-
MARCIUS:
|
792 |
-
O, they are at it!
|
793 |
-
|
794 |
-
LARTIUS:
|
795 |
-
Their noise be our instruction. Ladders, ho!
|
796 |
-
|
797 |
-
MARCIUS:
|
798 |
-
They fear us not, but issue forth their city.
|
799 |
-
Now put your shields before your hearts, and fight
|
800 |
-
With hearts more proof than shields. Advance,
|
801 |
-
brave Titus:
|
802 |
-
They do disdain us much beyond our thoughts,
|
803 |
-
Which makes me sweat with wrath. Come on, my fellows:
|
804 |
-
He that retires I'll take him for a Volsce,
|
805 |
-
And he shall feel mine edge.
|
806 |
-
|
807 |
-
MARCIUS:
|
808 |
-
All the contagion of the south light on you,
|
809 |
-
You shames of Rome! you herd of--Boils and plagues
|
810 |
-
Plaster you o'er, that you may be abhorr'd
|
811 |
-
Further than seen and one infect another
|
812 |
-
Against the wind a mile! You souls of geese,
|
813 |
-
That bear the shapes of men, how have you run
|
814 |
-
From slaves that apes would beat! Pluto and hell!
|
815 |
-
All hurt behind; backs red, and faces pale
|
816 |
-
With flight and agued fear! Mend and charge home,
|
817 |
-
Or, by the fires of heaven, I'll leave the foe
|
818 |
-
And make my wars on you: look to't: come on;
|
819 |
-
If you'll stand fast, we'll beat them to their wives,
|
820 |
-
As they us to our trenches followed.
|
821 |
-
So, now the gates are ope: now prove good seconds:
|
822 |
-
'Tis for the followers fortune widens them,
|
823 |
-
Not for the fliers: mark me, and do the like.
|
824 |
-
|
825 |
-
First Soldier:
|
826 |
-
Fool-hardiness; not I.
|
827 |
-
|
828 |
-
Second Soldier:
|
829 |
-
Nor I.
|
830 |
-
|
831 |
-
First Soldier:
|
832 |
-
See, they have shut him in.
|
833 |
-
|
834 |
-
All:
|
835 |
-
To the pot, I warrant him.
|
836 |
-
|
837 |
-
LARTIUS:
|
838 |
-
What is become of Marcius?
|
839 |
-
|
840 |
-
All:
|
841 |
-
Slain, sir, doubtless.
|
842 |
-
|
843 |
-
First Soldier:
|
844 |
-
Following the fliers at the very heels,
|
845 |
-
With them he enters; who, upon the sudden,
|
846 |
-
Clapp'd to their gates: he is himself alone,
|
847 |
-
To answer all the city.
|
848 |
-
|
849 |
-
LARTIUS:
|
850 |
-
O noble fellow!
|
851 |
-
Who sensibly outdares his senseless sword,
|
852 |
-
And, when it bows, stands up. Thou art left, Marcius:
|
853 |
-
A carbuncle entire, as big as thou art,
|
854 |
-
Were not so rich a jewel. Thou wast a soldier
|
855 |
-
Even to Cato's wish, not fierce and terrible
|
856 |
-
Only in strokes; but, with thy grim looks and
|
857 |
-
The thunder-like percussion of thy sounds,
|
858 |
-
Thou madst thine enemies shake, as if the world
|
859 |
-
Were feverous and did tremble.
|
860 |
-
|
861 |
-
First Soldier:
|
862 |
-
Look, sir.
|
863 |
-
|
864 |
-
LARTIUS:
|
865 |
-
O,'tis Marcius!
|
866 |
-
Let's fetch him off, or make remain alike.
|
867 |
-
|
868 |
-
First Roman:
|
869 |
-
This will I carry to Rome.
|
870 |
-
|
871 |
-
Second Roman:
|
872 |
-
And I this.
|
873 |
-
|
874 |
-
Third Roman:
|
875 |
-
A murrain on't! I took this for silver.
|
876 |
-
|
877 |
-
MARCIUS:
|
878 |
-
See here these movers that do prize their hours
|
879 |
-
At a crack'd drachm! Cushions, leaden spoons,
|
880 |
-
Irons of a doit, doublets that hangmen would
|
881 |
-
Bury with those that wore them, these base slaves,
|
882 |
-
Ere yet the fight be done, pack up: down with them!
|
883 |
-
And hark, what noise the general makes! To him!
|
884 |
-
There is the man of my soul's hate, Aufidius,
|
885 |
-
Piercing our Romans: then, valiant Titus, take
|
886 |
-
Convenient numbers to make good the city;
|
887 |
-
Whilst I, with those that have the spirit, will haste
|
888 |
-
To help Cominius.
|
889 |
-
|
890 |
-
LARTIUS:
|
891 |
-
Worthy sir, thou bleed'st;
|
892 |
-
Thy exercise hath been too violent for
|
893 |
-
A second course of fight.
|
894 |
-
|
895 |
-
MARCIUS:
|
896 |
-
Sir, praise me not;
|
897 |
-
My work hath yet not warm'd me: fare you well:
|
898 |
-
The blood I drop is rather physical
|
899 |
-
Than dangerous to me: to Aufidius thus
|
900 |
-
I will appear, and fight.
|
901 |
-
|
902 |
-
LARTIUS:
|
903 |
-
Now the fair goddess, Fortune,
|
904 |
-
Fall deep in love with thee; and her great charms
|
905 |
-
Misguide thy opposers' swords! Bold gentleman,
|
906 |
-
Prosperity be thy page!
|
907 |
-
|
908 |
-
MARCIUS:
|
909 |
-
Thy friend no less
|
910 |
-
Than those she placeth highest! So, farewell.
|
911 |
-
|
912 |
-
LARTIUS:
|
913 |
-
Thou worthiest Marcius!
|
914 |
-
Go, sound thy trumpet in the market-place;
|
915 |
-
Call thither all the officers o' the town,
|
916 |
-
Where they shall know our mind: away!
|
917 |
-
|
918 |
-
COMINIUS:
|
919 |
-
Breathe you, my friends: well fought;
|
920 |
-
we are come off
|
921 |
-
Like Romans, neither foolish in our stands,
|
922 |
-
Nor cowardly in retire: believe me, sirs,
|
923 |
-
We shall be charged again. Whiles we have struck,
|
924 |
-
By interims and conveying gusts we have heard
|
925 |
-
The charges of our friends. Ye Roman gods!
|
926 |
-
Lead their successes as we wish our own,
|
927 |
-
That both our powers, with smiling
|
928 |
-
fronts encountering,
|
929 |
-
May give you thankful sacrifice.
|
930 |
-
Thy news?
|
931 |
-
|
932 |
-
Messenger:
|
933 |
-
The citizens of Corioli have issued,
|
934 |
-
And given to Lartius and to Marcius battle:
|
935 |
-
I saw our party to their trenches driven,
|
936 |
-
And then I came away.
|
937 |
-
|
938 |
-
COMINIUS:
|
939 |
-
Though thou speak'st truth,
|
940 |
-
Methinks thou speak'st not well.
|
941 |
-
How long is't since?
|
942 |
-
|
943 |
-
Messenger:
|
944 |
-
Above an hour, my lord.
|
945 |
-
|
946 |
-
COMINIUS:
|
947 |
-
'Tis not a mile; briefly we heard their drums:
|
948 |
-
How couldst thou in a mile confound an hour,
|
949 |
-
And bring thy news so late?
|
950 |
-
|
951 |
-
Messenger:
|
952 |
-
Spies of the Volsces
|
953 |
-
Held me in chase, that I was forced to wheel
|
954 |
-
Three or four miles about, else had I, sir,
|
955 |
-
Half an hour since brought my report.
|
956 |
-
|
957 |
-
COMINIUS:
|
958 |
-
Who's yonder,
|
959 |
-
That does appear as he were flay'd? O gods
|
960 |
-
He has the stamp of Marcius; and I have
|
961 |
-
Before-time seen him thus.
|
962 |
-
|
963 |
-
MARCIUS:
|
964 |
-
|
965 |
-
COMINIUS:
|
966 |
-
The shepherd knows not thunder from a tabour
|
967 |
-
More than I know the sound of Marcius' tongue
|
968 |
-
From every meaner man.
|
969 |
-
|
970 |
-
MARCIUS:
|
971 |
-
Come I too late?
|
972 |
-
|
973 |
-
COMINIUS:
|
974 |
-
Ay, if you come not in the blood of others,
|
975 |
-
But mantled in your own.
|
976 |
-
|
977 |
-
MARCIUS:
|
978 |
-
O, let me clip ye
|
979 |
-
In arms as sound as when I woo'd, in heart
|
980 |
-
As merry as when our nuptial day was done,
|
981 |
-
And tapers burn'd to bedward!
|
982 |
-
|
983 |
-
COMINIUS:
|
984 |
-
Flower of warriors,
|
985 |
-
How is it with Titus Lartius?
|
986 |
-
|
987 |
-
MARCIUS:
|
988 |
-
As with a man busied about decrees:
|
989 |
-
Condemning some to death, and some to exile;
|
990 |
-
Ransoming him, or pitying, threatening the other;
|
991 |
-
Holding Corioli in the name of Rome,
|
992 |
-
Even like a fawning greyhound in the leash,
|
993 |
-
To let him slip at will.
|
994 |
-
|
995 |
-
COMINIUS:
|
996 |
-
Where is that slave
|
997 |
-
Which told me they had beat you to your trenches?
|
998 |
-
Where is he? call him hither.
|
999 |
-
|
1000 |
-
MARCIUS:
|
1001 |
-
Let him alone;
|
1002 |
-
He did inform the truth: but for our gentlemen,
|
1003 |
-
The common file--a plague! tribunes for them!--
|
1004 |
-
The mouse ne'er shunn'd the cat as they did budge
|
1005 |
-
From rascals worse than they.
|
1006 |
-
|
1007 |
-
COMINIUS:
|
1008 |
-
But how prevail'd you?
|
1009 |
-
|
1010 |
-
MARCIUS:
|
1011 |
-
Will the time serve to tell? I do not think.
|
1012 |
-
Where is the enemy? are you lords o' the field?
|
1013 |
-
If not, why cease you till you are so?
|
1014 |
-
|
1015 |
-
COMINIUS:
|
1016 |
-
Marcius,
|
1017 |
-
We have at disadvantage fought and did
|
1018 |
-
Retire to win our purpose.
|
1019 |
-
|
1020 |
-
MARCIUS:
|
1021 |
-
How lies their battle? know you on which side
|
1022 |
-
They have placed their men of trust?
|
1023 |
-
|
1024 |
-
COMINIUS:
|
1025 |
-
As I guess, Marcius,
|
1026 |
-
Their bands i' the vaward are the Antiates,
|
1027 |
-
Of their best trust; o'er them Aufidius,
|
1028 |
-
Their very heart of hope.
|
1029 |
-
|
1030 |
-
MARCIUS:
|
1031 |
-
I do beseech you,
|
1032 |
-
By all the battles wherein we have fought,
|
1033 |
-
By the blood we have shed together, by the vows
|
1034 |
-
We have made to endure friends, that you directly
|
1035 |
-
Set me against Aufidius and his Antiates;
|
1036 |
-
And that you not delay the present, but,
|
1037 |
-
Filling the air with swords advanced and darts,
|
1038 |
-
We prove this very hour.
|
1039 |
-
|
1040 |
-
COMINIUS:
|
1041 |
-
Though I could wish
|
1042 |
-
You were conducted to a gentle bath
|
1043 |
-
And balms applied to, you, yet dare I never
|
1044 |
-
Deny your asking: take your choice of those
|
1045 |
-
That best can aid your action.
|
1046 |
-
|
1047 |
-
MARCIUS:
|
1048 |
-
Those are they
|
1049 |
-
That most are willing. If any such be here--
|
1050 |
-
As it were sin to doubt--that love this painting
|
1051 |
-
Wherein you see me smear'd; if any fear
|
1052 |
-
Lesser his person than an ill report;
|
1053 |
-
If any think brave death outweighs bad life
|
1054 |
-
And that his country's dearer than himself;
|
1055 |
-
Let him alone, or so many so minded,
|
1056 |
-
Wave thus, to express his disposition,
|
1057 |
-
And follow Marcius.
|
1058 |
-
O, me alone! make you a sword of me?
|
1059 |
-
If these shows be not outward, which of you
|
1060 |
-
But is four Volsces? none of you but is
|
1061 |
-
Able to bear against the great Aufidius
|
1062 |
-
A shield as hard as his. A certain number,
|
1063 |
-
Though thanks to all, must I select
|
1064 |
-
from all: the rest
|
1065 |
-
Shall bear the business in some other fight,
|
1066 |
-
As cause will be obey'd. Please you to march;
|
1067 |
-
And four shall quickly draw out my command,
|
1068 |
-
Which men are best inclined.
|
1069 |
-
|
1070 |
-
COMINIUS:
|
1071 |
-
March on, my fellows:
|
1072 |
-
Make good this ostentation, and you shall
|
1073 |
-
Divide in all with us.
|
1074 |
-
|
1075 |
-
LARTIUS:
|
1076 |
-
So, let the ports be guarded: keep your duties,
|
1077 |
-
As I have set them down. If I do send, dispatch
|
1078 |
-
Those centuries to our aid: the rest will serve
|
1079 |
-
For a short holding: if we lose the field,
|
1080 |
-
We cannot keep the town.
|
1081 |
-
|
1082 |
-
Lieutenant:
|
1083 |
-
Fear not our care, sir.
|
1084 |
-
|
1085 |
-
LARTIUS:
|
1086 |
-
Hence, and shut your gates upon's.
|
1087 |
-
Our guider, come; to the Roman camp conduct us.
|
1088 |
-
|
1089 |
-
MARCIUS:
|
1090 |
-
I'll fight with none but thee; for I do hate thee
|
1091 |
-
Worse than a promise-breaker.
|
1092 |
-
|
1093 |
-
AUFIDIUS:
|
1094 |
-
We hate alike:
|
1095 |
-
Not Afric owns a serpent I abhor
|
1096 |
-
More than thy fame and envy. Fix thy foot.
|
1097 |
-
|
1098 |
-
MARCIUS:
|
1099 |
-
Let the first budger die the other's slave,
|
1100 |
-
And the gods doom him after!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
text_file_eng_long.txt
DELETED
The diff for this file is too large to render.
See raw diff
|
|
tokenizer.py
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pickle
|
2 |
+
import regex as re
|
3 |
+
from typing import List, Tuple
|
4 |
+
|
5 |
+
class HindiTokenizer:
|
6 |
+
def __init__(self, model_path: str = 'bpe_results.pkl'):
|
7 |
+
# Load the BPE model
|
8 |
+
with open(model_path, 'rb') as f:
|
9 |
+
self.merges, self.ids, self.num_merges = pickle.load(f)
|
10 |
+
|
11 |
+
# Initialize vocabulary
|
12 |
+
self.vocab = {idx: bytes([idx]) for idx in range(256)}
|
13 |
+
for (p0, p1), idx in self.merges.items():
|
14 |
+
self.vocab[idx] = self.vocab[p0] + self.vocab[p1]
|
15 |
+
|
16 |
+
# Hindi-focused pattern
|
17 |
+
self.pattern = re.compile(r"""'s|'t|'re|'ve|'m|'ll|'d| ?\p{N}+| ?(?:[\u0904-\u0939\u093d-\u093d\u0950-\u0950\u0958-\u0961\u0970-\u097f\ua8f2-\ua8fe\U00011b00-\U00011b09\u1cd3-\u1cd3\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa-\u1cfa][\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962-\u0963\ua8e0-\ua8f1\ua8ff-\ua8ff\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced-\u1ced\u1cf4-\u1cf4\u1cf7-\u1cf9]*)+| ?\p{L}+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+""")
|
18 |
+
|
19 |
+
def tokenize(self, text: str) -> Tuple[List[int], List[str], List[str]]:
|
20 |
+
# Get initial tokens using regex
|
21 |
+
tokens = re.findall(self.pattern, text)
|
22 |
+
|
23 |
+
# Convert tokens to byte sequences and maintain grouping
|
24 |
+
byte_tokens = [token.encode('utf-8') for token in tokens]
|
25 |
+
token_list = [list(token) for token in byte_tokens]
|
26 |
+
|
27 |
+
# Process each token
|
28 |
+
final_tokens = []
|
29 |
+
for token in token_list:
|
30 |
+
current_token = list(token)
|
31 |
+
while len(current_token) >= 2:
|
32 |
+
stats = self._get_stats([current_token])
|
33 |
+
if not stats:
|
34 |
+
break
|
35 |
+
pair = min(stats, key=lambda p: self.merges.get(p, float("inf")))
|
36 |
+
if pair not in self.merges:
|
37 |
+
break
|
38 |
+
idx = self.merges[pair]
|
39 |
+
current_token = self._merge([current_token], pair, idx)[0]
|
40 |
+
final_tokens.extend(current_token)
|
41 |
+
|
42 |
+
# Decode the tokens
|
43 |
+
decoded_tokens = [self.vocab[idx].decode("utf-8", errors="replace") for idx in final_tokens]
|
44 |
+
|
45 |
+
return final_tokens, tokens, decoded_tokens
|
46 |
+
|
47 |
+
def _get_stats(self, token_list):
|
48 |
+
"""Count frequency of pairs across all tokens"""
|
49 |
+
counts = {}
|
50 |
+
for token in token_list:
|
51 |
+
if len(token) < 2:
|
52 |
+
continue
|
53 |
+
for pair in zip(token, token[1:]):
|
54 |
+
counts[pair] = counts.get(pair, 0) + 1
|
55 |
+
return counts
|
56 |
+
|
57 |
+
def _merge(self, token_list, pair, idx):
|
58 |
+
"""Merge all occurrences of pair within each token"""
|
59 |
+
newids = []
|
60 |
+
for token in token_list:
|
61 |
+
if len(token) < 2:
|
62 |
+
newids.append(token)
|
63 |
+
continue
|
64 |
+
|
65 |
+
new_token = []
|
66 |
+
i = 0
|
67 |
+
while i < len(token):
|
68 |
+
if i < len(token) - 1 and (token[i], token[i+1]) == pair:
|
69 |
+
new_token.append(idx)
|
70 |
+
i += 2
|
71 |
+
else:
|
72 |
+
new_token.append(token[i])
|
73 |
+
i += 1
|
74 |
+
newids.append(new_token)
|
75 |
+
return newids
|