lukelike1001 commited on
Commit
de99c92
1 Parent(s): b345074

added data, pre-trained model, and app

Browse files
Analysis.ipynb ADDED
@@ -0,0 +1,330 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "### **Sentiment Analysis of r/place 2023 Data**\n",
8
+ "\n",
9
+ "Using Natural Language Processing to track how the Reddit community felt about the r/place social experiment on July 2023. In this Jupyter notebook, I will be using both the bertweet-sentiment-analysis model to determine whether a comment is positive, neutral, or negative."
10
+ ]
11
+ },
12
+ {
13
+ "cell_type": "markdown",
14
+ "metadata": {},
15
+ "source": [
16
+ "First, we need to import the necessary libraries. I import the csv library to read comments stored in the CSV file, and the transformers library will used to create a pipeline for the bertweet-sentiment-analysis model."
17
+ ]
18
+ },
19
+ {
20
+ "cell_type": "markdown",
21
+ "metadata": {},
22
+ "source": [
23
+ "### **Extracting Data**"
24
+ ]
25
+ },
26
+ {
27
+ "cell_type": "code",
28
+ "execution_count": 2,
29
+ "metadata": {},
30
+ "outputs": [
31
+ {
32
+ "name": "stderr",
33
+ "output_type": "stream",
34
+ "text": [
35
+ "c:\\Python311\\Lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
36
+ " from .autonotebook import tqdm as notebook_tqdm\n"
37
+ ]
38
+ }
39
+ ],
40
+ "source": [
41
+ "import csv\n",
42
+ "import matplotlib.pyplot as plt\n",
43
+ "from transformers import pipeline\n",
44
+ "import random"
45
+ ]
46
+ },
47
+ {
48
+ "cell_type": "markdown",
49
+ "metadata": {},
50
+ "source": [
51
+ "First, we will extract comments from the CSV file and append them to a list."
52
+ ]
53
+ },
54
+ {
55
+ "cell_type": "code",
56
+ "execution_count": 3,
57
+ "metadata": {},
58
+ "outputs": [],
59
+ "source": [
60
+ "# store the comments in a list\n",
61
+ "# each row has one comment\n",
62
+ "comments = []\n",
63
+ "\n",
64
+ "# open the file storing reddit comments\n",
65
+ "# specify utf-8 encoding to prevent unicode decode error\n",
66
+ "filepath = \"data/place_comments.csv\"\n",
67
+ "with open(filepath, \"r\", encoding=\"utf-8\") as f:\n",
68
+ " skip = next(f)\n",
69
+ " csv_reader = csv.reader(f)\n",
70
+ " for row in csv_reader:\n",
71
+ " comments.append(row[0])"
72
+ ]
73
+ },
74
+ {
75
+ "cell_type": "markdown",
76
+ "metadata": {},
77
+ "source": [
78
+ "Let's record how many comments we have prior to analyzing the results."
79
+ ]
80
+ },
81
+ {
82
+ "cell_type": "code",
83
+ "execution_count": 4,
84
+ "metadata": {},
85
+ "outputs": [
86
+ {
87
+ "name": "stdout",
88
+ "output_type": "stream",
89
+ "text": [
90
+ "8573\n"
91
+ ]
92
+ }
93
+ ],
94
+ "source": [
95
+ "n = len(comments)\n",
96
+ "print(n)"
97
+ ]
98
+ },
99
+ {
100
+ "cell_type": "markdown",
101
+ "metadata": {},
102
+ "source": [
103
+ "### **Creating the Pipeline**"
104
+ ]
105
+ },
106
+ {
107
+ "cell_type": "markdown",
108
+ "metadata": {},
109
+ "source": [
110
+ "Let's create a pipeline using the bertweet-sentiment-analysis model as mentioned before."
111
+ ]
112
+ },
113
+ {
114
+ "cell_type": "code",
115
+ "execution_count": 5,
116
+ "metadata": {},
117
+ "outputs": [
118
+ {
119
+ "name": "stderr",
120
+ "output_type": "stream",
121
+ "text": [
122
+ "Xformers is not installed correctly. If you want to use memory_efficient_attention to accelerate training use the following command to install Xformers\n",
123
+ "pip install xformers.\n"
124
+ ]
125
+ }
126
+ ],
127
+ "source": [
128
+ "# run the BERT model on the imported comments\n",
129
+ "FILE_PATH = \"saved_model/\"\n",
130
+ "sentiment_pipeline = pipeline(task=\"sentiment-analysis\",\n",
131
+ " model=FILE_PATH,\n",
132
+ " tokenizer=FILE_PATH)"
133
+ ]
134
+ },
135
+ {
136
+ "cell_type": "markdown",
137
+ "metadata": {},
138
+ "source": [
139
+ "Sort the comments from positive, neutral, or negative by putting them in their appropriate lists. For each comment, we will check whether the label is positive (label=2), neutral (label=1), or negative (label=0) and trim the comment down to 128 tokens if it's too big."
140
+ ]
141
+ },
142
+ {
143
+ "cell_type": "code",
144
+ "execution_count": 7,
145
+ "metadata": {},
146
+ "outputs": [],
147
+ "source": [
148
+ "# sort the positive, neutral, and negative comments\n",
149
+ "pos_comments = []\n",
150
+ "neu_comments = []\n",
151
+ "neg_comments = []\n",
152
+ "\n",
153
+ "# for each comment, determine whether the model identifies it as pos/neu/neg\n",
154
+ "# keep up to TOKEN_SIZE tokens or the pipeline will crash\n",
155
+ "TOKEN_SIZE = 128\n",
156
+ "for comment in comments:\n",
157
+ " result = 0\n",
158
+ " if len(comment) > TOKEN_SIZE:\n",
159
+ " result = sentiment_pipeline(comment[:TOKEN_SIZE])\n",
160
+ " else:\n",
161
+ " result = sentiment_pipeline(comment)\n",
162
+ " label = result[0][\"label\"]\n",
163
+ "\n",
164
+ " if label == \"LABEL_2\":\n",
165
+ " pos_comments.append(comment)\n",
166
+ " elif label == \"LABEL_1\":\n",
167
+ " neu_comments.append(comment)\n",
168
+ " else:\n",
169
+ " neg_comments.append(comment)"
170
+ ]
171
+ },
172
+ {
173
+ "cell_type": "markdown",
174
+ "metadata": {},
175
+ "source": [
176
+ "### **Visualizing the Results**"
177
+ ]
178
+ },
179
+ {
180
+ "cell_type": "markdown",
181
+ "metadata": {},
182
+ "source": [
183
+ "Now that we've sorted between positive, neutral, and negative comments, let's graph the results using a pie chart."
184
+ ]
185
+ },
186
+ {
187
+ "cell_type": "code",
188
+ "execution_count": 8,
189
+ "metadata": {},
190
+ "outputs": [
191
+ {
192
+ "data": {
193
+ "image/png": "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",
194
+ "text/plain": [
195
+ "<Figure size 640x480 with 1 Axes>"
196
+ ]
197
+ },
198
+ "metadata": {},
199
+ "output_type": "display_data"
200
+ }
201
+ ],
202
+ "source": [
203
+ "# find the labels and the sizes of each comment category\n",
204
+ "labels = [\"Positive\", \"Neutral\", \"Negative\"]\n",
205
+ "sizes = [len(pos_comments), len(neu_comments), len(neg_comments)]\n",
206
+ "\n",
207
+ "# plot the results\n",
208
+ "fig, ax = plt.subplots()\n",
209
+ "ax.pie(sizes, labels=labels, autopct='%1.1f%%')\n",
210
+ "plt.title(f\"Sentiment Distribution of r/place 2023\\nComments on Selected Discussion Threads\\n(sample size={n})\")\n",
211
+ "plt.show()"
212
+ ]
213
+ },
214
+ {
215
+ "cell_type": "code",
216
+ "execution_count": 9,
217
+ "metadata": {},
218
+ "outputs": [
219
+ {
220
+ "name": "stdout",
221
+ "output_type": "stream",
222
+ "text": [
223
+ "Number of positive comments: 2136\n",
224
+ "Number of neutral comments: 3972\n",
225
+ "Number of negative comments: 2465\n"
226
+ ]
227
+ }
228
+ ],
229
+ "source": [
230
+ "print(\"Number of positive comments: \", len(pos_comments))\n",
231
+ "print(\"Number of neutral comments: \", len(neu_comments))\n",
232
+ "print(\"Number of negative comments: \", len(neg_comments))"
233
+ ]
234
+ },
235
+ {
236
+ "cell_type": "markdown",
237
+ "metadata": {},
238
+ "source": [
239
+ "### **Analyzing the Results**"
240
+ ]
241
+ },
242
+ {
243
+ "cell_type": "markdown",
244
+ "metadata": {},
245
+ "source": [
246
+ "The model reports that an astounding 47.4% of the comments are neutral, while 40.5% of the comments are negative! In contrast, only 12.1% of the comments are positive. This suggests that the general sentiment of the r/place 2023 was generally negative!"
247
+ ]
248
+ },
249
+ {
250
+ "cell_type": "markdown",
251
+ "metadata": {},
252
+ "source": [
253
+ "You can evaluate the model's accuracy based on random comments can be selected from the list."
254
+ ]
255
+ },
256
+ {
257
+ "cell_type": "code",
258
+ "execution_count": 24,
259
+ "metadata": {},
260
+ "outputs": [
261
+ {
262
+ "name": "stdout",
263
+ "output_type": "stream",
264
+ "text": [
265
+ "I never participated in this before and honestly, fuck it next time. My square got undone by a \"new user\" and constantly continues to happen.\n",
266
+ "wheres the heat map?\n",
267
+ "fuck u/spez\n"
268
+ ]
269
+ }
270
+ ],
271
+ "source": [
272
+ "print(random.choice(pos_comments))\n",
273
+ "print(random.choice(neu_comments))\n",
274
+ "print(random.choice(neg_comments))"
275
+ ]
276
+ },
277
+ {
278
+ "cell_type": "markdown",
279
+ "metadata": {},
280
+ "source": [
281
+ "### **Room for Improvement**"
282
+ ]
283
+ },
284
+ {
285
+ "cell_type": "markdown",
286
+ "metadata": {},
287
+ "source": [
288
+ "As stated previously in the data visualization notebook, German comments may be difficult for many NLP models to evaluate, as they have been trained with English text. In future versions of this analysis project, I plan on separating English and German comments, and letting a German-based NLP model evaluate the German comments."
289
+ ]
290
+ },
291
+ {
292
+ "cell_type": "markdown",
293
+ "metadata": {},
294
+ "source": [
295
+ "### **Credits**"
296
+ ]
297
+ },
298
+ {
299
+ "cell_type": "markdown",
300
+ "metadata": {},
301
+ "source": [
302
+ "This Jupyter notebook makes great use of the bertweet-sentiment-analysis model found at https://huggingface.co/finiteautomata/bertweet-base-sentiment-analysis. Thank you to Juan Manuel Pérez (github: finiteautomata) for creating this model and publishing it on huggingface.co.\n",
303
+ "\n",
304
+ "The matplotlib documentation was used to create the pie model visualization. Source: https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_features.html"
305
+ ]
306
+ }
307
+ ],
308
+ "metadata": {
309
+ "kernelspec": {
310
+ "display_name": "Python 3",
311
+ "language": "python",
312
+ "name": "python3"
313
+ },
314
+ "language_info": {
315
+ "codemirror_mode": {
316
+ "name": "ipython",
317
+ "version": 3
318
+ },
319
+ "file_extension": ".py",
320
+ "mimetype": "text/x-python",
321
+ "name": "python",
322
+ "nbconvert_exporter": "python",
323
+ "pygments_lexer": "ipython3",
324
+ "version": "3.11.2"
325
+ },
326
+ "orig_nbformat": 4
327
+ },
328
+ "nbformat": 4,
329
+ "nbformat_minor": 2
330
+ }
DataVisualizer.ipynb ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "### **Visualizing Data from r/place**\n",
8
+ "Here, I will be using matplotlib to visualize common words to preview whether the sentiment to r/place 2023 was generally negative, neutral, or positive."
9
+ ]
10
+ },
11
+ {
12
+ "cell_type": "code",
13
+ "execution_count": 6,
14
+ "metadata": {},
15
+ "outputs": [],
16
+ "source": [
17
+ "import csv\n",
18
+ "import matplotlib.pyplot as plt"
19
+ ]
20
+ },
21
+ {
22
+ "cell_type": "markdown",
23
+ "metadata": {},
24
+ "source": [
25
+ "First, we will find the most common comments on r/place 2023."
26
+ ]
27
+ },
28
+ {
29
+ "cell_type": "code",
30
+ "execution_count": 7,
31
+ "metadata": {},
32
+ "outputs": [
33
+ {
34
+ "ename": "FileNotFoundError",
35
+ "evalue": "[Errno 2] No such file or directory: 'place_comments.csv'",
36
+ "output_type": "error",
37
+ "traceback": [
38
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
39
+ "\u001b[1;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
40
+ "Cell \u001b[1;32mIn[7], line 8\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[39m# open the file storing reddit comments\u001b[39;00m\n\u001b[0;32m 6\u001b[0m \u001b[39m# specify utf-8 encoding to prevent unicode decode error\u001b[39;00m\n\u001b[0;32m 7\u001b[0m filepath \u001b[39m=\u001b[39m \u001b[39m\"\u001b[39m\u001b[39mplace_comments.csv\u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m----> 8\u001b[0m \u001b[39mwith\u001b[39;00m \u001b[39mopen\u001b[39;49m(filepath, \u001b[39m\"\u001b[39;49m\u001b[39mr\u001b[39;49m\u001b[39m\"\u001b[39;49m, encoding\u001b[39m=\u001b[39;49m\u001b[39m\"\u001b[39;49m\u001b[39mutf-8\u001b[39;49m\u001b[39m\"\u001b[39;49m) \u001b[39mas\u001b[39;00m f:\n\u001b[0;32m 9\u001b[0m skip \u001b[39m=\u001b[39m \u001b[39mnext\u001b[39m(f)\n\u001b[0;32m 10\u001b[0m csv_reader \u001b[39m=\u001b[39m csv\u001b[39m.\u001b[39mreader(f)\n",
41
+ "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\IPython\\core\\interactiveshell.py:284\u001b[0m, in \u001b[0;36m_modified_open\u001b[1;34m(file, *args, **kwargs)\u001b[0m\n\u001b[0;32m 277\u001b[0m \u001b[39mif\u001b[39;00m file \u001b[39min\u001b[39;00m {\u001b[39m0\u001b[39m, \u001b[39m1\u001b[39m, \u001b[39m2\u001b[39m}:\n\u001b[0;32m 278\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mValueError\u001b[39;00m(\n\u001b[0;32m 279\u001b[0m \u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mIPython won\u001b[39m\u001b[39m'\u001b[39m\u001b[39mt let you open fd=\u001b[39m\u001b[39m{\u001b[39;00mfile\u001b[39m}\u001b[39;00m\u001b[39m by default \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[0;32m 280\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mas it is likely to crash IPython. If you know what you are doing, \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[0;32m 281\u001b[0m \u001b[39m\"\u001b[39m\u001b[39myou can use builtins\u001b[39m\u001b[39m'\u001b[39m\u001b[39m open.\u001b[39m\u001b[39m\"\u001b[39m\n\u001b[0;32m 282\u001b[0m )\n\u001b[1;32m--> 284\u001b[0m \u001b[39mreturn\u001b[39;00m io_open(file, \u001b[39m*\u001b[39;49margs, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwargs)\n",
42
+ "\u001b[1;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'place_comments.csv'"
43
+ ]
44
+ }
45
+ ],
46
+ "source": [
47
+ "# store the sentence frequencies in a dict\n",
48
+ "# key=word, value=frequency\n",
49
+ "freqs = dict()\n",
50
+ "\n",
51
+ "# open the file storing reddit comments\n",
52
+ "# specify utf-8 encoding to prevent unicode decode error\n",
53
+ "filepath = \"data/place_comments.csv\"\n",
54
+ "with open(filepath, \"r\", encoding=\"utf-8\") as f:\n",
55
+ " skip = next(f)\n",
56
+ " csv_reader = csv.reader(f)\n",
57
+ " for row in csv_reader:\n",
58
+ " comment = row[0].lower()\n",
59
+ " if comment not in freqs:\n",
60
+ " freqs[comment] = 0\n",
61
+ " freqs[comment] += 1"
62
+ ]
63
+ },
64
+ {
65
+ "cell_type": "code",
66
+ "execution_count": 35,
67
+ "metadata": {},
68
+ "outputs": [
69
+ {
70
+ "data": {
71
+ "image/png": "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",
72
+ "text/plain": [
73
+ "<Figure size 432x288 with 1 Axes>"
74
+ ]
75
+ },
76
+ "metadata": {
77
+ "needs_background": "light"
78
+ },
79
+ "output_type": "display_data"
80
+ }
81
+ ],
82
+ "source": [
83
+ "# sort the words in decreasing frequency\n",
84
+ "comments = [(comment, freqs[comment]) for comment in freqs]\n",
85
+ "comments.sort(key=lambda x: -x[1])\n",
86
+ "\n",
87
+ "# store the top comments in two axes\n",
88
+ "# modify the LIMIT to find the top # of comments\n",
89
+ "LIMIT = 10\n",
90
+ "y, x = [], []\n",
91
+ "for i in range(LIMIT-1, -1, -1):\n",
92
+ " y.append(comments[i][0])\n",
93
+ " x.append(comments[i][1])\n",
94
+ "\n",
95
+ "# plot the results\n",
96
+ "plt.barh(y, x)\n",
97
+ "plt.title(\"Most Frequent Comments on r/place 2023 Discussion Threads\")\n",
98
+ "plt.xlabel(\"Comment Frequency\")\n",
99
+ "plt.ylabel(\"Comment\")\n",
100
+ "plt.show()"
101
+ ]
102
+ },
103
+ {
104
+ "cell_type": "markdown",
105
+ "metadata": {},
106
+ "source": [
107
+ "### **Data Preview Analysis**"
108
+ ]
109
+ },
110
+ {
111
+ "cell_type": "markdown",
112
+ "metadata": {},
113
+ "source": [
114
+ "**u/spez is unpopular.**<br>\n",
115
+ "From the visualization, we can see that \"fuck u/spez\" is the most popular comment, with over 500 instances being tracked in the comment sections. The variant \"fuck spez\" is the second most popular comment, indicating a massive distrust for u/spez, which represents Steve Huffman's account, who is the CEO of Reddit."
116
+ ]
117
+ },
118
+ {
119
+ "cell_type": "markdown",
120
+ "metadata": {},
121
+ "source": [
122
+ "**There are numerous German users/comments on Reddit.**<br>\n",
123
+ "Surprisingly, five of the top ten frequent comments are in German. Therefore, when performing sentiment analysis on r/place data, the NLP model can be inaccurate if it is unable to understand German comments.\n",
124
+ "\n",
125
+ "A workaround for this problem would be to identify if a comment is German or English. If a German NLP model and an English NLP model predict on comments of their respective to find the overall sentiment of the website."
126
+ ]
127
+ }
128
+ ],
129
+ "metadata": {
130
+ "kernelspec": {
131
+ "display_name": ".venv",
132
+ "language": "python",
133
+ "name": "python3"
134
+ },
135
+ "language_info": {
136
+ "codemirror_mode": {
137
+ "name": "ipython",
138
+ "version": 3
139
+ },
140
+ "file_extension": ".py",
141
+ "mimetype": "text/x-python",
142
+ "name": "python",
143
+ "nbconvert_exporter": "python",
144
+ "pygments_lexer": "ipython3",
145
+ "version": "3.11.2"
146
+ },
147
+ "orig_nbformat": 4
148
+ },
149
+ "nbformat": 4,
150
+ "nbformat_minor": 2
151
+ }
TransferModel.ipynb ADDED
@@ -0,0 +1,303 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "### **r/place 2023 Sentiment Analysis Model**\n",
8
+ "This Jupyter notebook will fine-tune the DistilBERT model to perform sentiment analysis on Reddit comments in July 2023. Feel free to tweak the variables and code here. Credits are included at the end of the notebook."
9
+ ]
10
+ },
11
+ {
12
+ "cell_type": "markdown",
13
+ "metadata": {},
14
+ "source": [
15
+ "**Install Dependencies**<br>\n",
16
+ "This notebook has been tested on Python 3.11.2 and uses Pytorch."
17
+ ]
18
+ },
19
+ {
20
+ "cell_type": "code",
21
+ "execution_count": null,
22
+ "metadata": {},
23
+ "outputs": [],
24
+ "source": [
25
+ "import csv\n",
26
+ "import datasets\n",
27
+ "import pandas as pd\n",
28
+ "import sklearn\n",
29
+ "import torch"
30
+ ]
31
+ },
32
+ {
33
+ "cell_type": "markdown",
34
+ "metadata": {},
35
+ "source": [
36
+ "**Load the Data**<br>\n",
37
+ "The target CSV file has Reddit comments in Column 0 and a score in Column 1. The scores correspond to the following sentiments: -1 = negative, 0 = neutral, 1 = positive. We will tweak the range from [-1, 1] to [0, 2] to match the model's labels."
38
+ ]
39
+ },
40
+ {
41
+ "cell_type": "code",
42
+ "execution_count": null,
43
+ "metadata": {},
44
+ "outputs": [],
45
+ "source": [
46
+ "# define the data path and store the comments in a list\n",
47
+ "data_path = \"data/Reddit_Data.csv\"\n",
48
+ "comments_and_scores = []\n",
49
+ "\n",
50
+ "# read the csv and store each comment with its respective score\n",
51
+ "with open(data_path, \"r\", encoding=\"utf8\") as f:\n",
52
+ " csv_reader = csv.reader(f)\n",
53
+ " next(csv_reader)\n",
54
+ " for row in csv_reader:\n",
55
+ " comment, score = row\n",
56
+ " comments_and_scores.append((comment, int(score)+1))\n",
57
+ "\n",
58
+ "print(comments_and_scores[0])\n",
59
+ "print(len(comments_and_scores))"
60
+ ]
61
+ },
62
+ {
63
+ "cell_type": "markdown",
64
+ "metadata": {},
65
+ "source": [
66
+ "**Separate Training and Testing Datasets**<br>\n",
67
+ "We need to separate these comments into training and testing datasets."
68
+ ]
69
+ },
70
+ {
71
+ "cell_type": "code",
72
+ "execution_count": null,
73
+ "metadata": {},
74
+ "outputs": [],
75
+ "source": [
76
+ "from sklearn.model_selection import train_test_split\n",
77
+ "train_set, test_set = train_test_split(comments_and_scores,\n",
78
+ " test_size=0.2,\n",
79
+ " random_state=24)"
80
+ ]
81
+ },
82
+ {
83
+ "cell_type": "code",
84
+ "execution_count": null,
85
+ "metadata": {},
86
+ "outputs": [],
87
+ "source": [
88
+ "print(len(train_set))\n",
89
+ "print(len(test_set))"
90
+ ]
91
+ },
92
+ {
93
+ "cell_type": "code",
94
+ "execution_count": null,
95
+ "metadata": {},
96
+ "outputs": [],
97
+ "source": [
98
+ "print(train_set[0])\n",
99
+ "print(test_set[0])"
100
+ ]
101
+ },
102
+ {
103
+ "cell_type": "code",
104
+ "execution_count": null,
105
+ "metadata": {},
106
+ "outputs": [],
107
+ "source": [
108
+ "# extract the training comments and scores\n",
109
+ "train_comments = [group[0] for group in train_set]\n",
110
+ "train_scores = [group[1] for group in train_set]\n",
111
+ "\n",
112
+ "# extract the testing comments and scores\n",
113
+ "test_comments = [group[0] for group in test_set]\n",
114
+ "test_scores = [group[1] for group in test_set]"
115
+ ]
116
+ },
117
+ {
118
+ "cell_type": "code",
119
+ "execution_count": null,
120
+ "metadata": {},
121
+ "outputs": [],
122
+ "source": [
123
+ "print(train_comments[0], train_scores[0])\n",
124
+ "print(test_comments[0], test_scores[0])"
125
+ ]
126
+ },
127
+ {
128
+ "cell_type": "markdown",
129
+ "metadata": {},
130
+ "source": [
131
+ "Now that we have the training and testing datasets, we will convert them into Pandas DataFrame objects."
132
+ ]
133
+ },
134
+ {
135
+ "cell_type": "code",
136
+ "execution_count": null,
137
+ "metadata": {},
138
+ "outputs": [],
139
+ "source": [
140
+ "# extract the train set from the list\n",
141
+ "train_set = {\"text\": train_comments, \"labels\": train_scores}\n",
142
+ "train_set = pd.DataFrame(train_set)\n",
143
+ "train_set = datasets.Dataset.from_pandas(train_set)\n",
144
+ "print(train_set)"
145
+ ]
146
+ },
147
+ {
148
+ "cell_type": "code",
149
+ "execution_count": null,
150
+ "metadata": {},
151
+ "outputs": [],
152
+ "source": [
153
+ "# extract the test set from the list\n",
154
+ "test_set = {\"text\": test_comments, \"labels\": test_scores}\n",
155
+ "test_set = pd.DataFrame(test_set)\n",
156
+ "test_set = datasets.Dataset.from_pandas(test_set)\n",
157
+ "print(test_set)"
158
+ ]
159
+ },
160
+ {
161
+ "cell_type": "markdown",
162
+ "metadata": {},
163
+ "source": [
164
+ "**Tokenize the Data**<br>\n",
165
+ "Prior to training the model, we will tokenize the Reddit comments into small pieces to make it easier for the model to identify the comment's sentiment. Note: I disabled the warning for the fast tokenizer request as it will prevent the trainer from running the .train() function later in the notebook."
166
+ ]
167
+ },
168
+ {
169
+ "cell_type": "code",
170
+ "execution_count": null,
171
+ "metadata": {},
172
+ "outputs": [],
173
+ "source": [
174
+ "from transformers import DistilBertTokenizer\n",
175
+ "tokenizer = DistilBertTokenizer.from_pretrained(\"distilbert-base-uncased\")"
176
+ ]
177
+ },
178
+ {
179
+ "cell_type": "code",
180
+ "execution_count": null,
181
+ "metadata": {},
182
+ "outputs": [],
183
+ "source": [
184
+ "# prepare the text inputs for the model\n",
185
+ "def preprocess_function(examples):\n",
186
+ " return tokenizer(examples[\"text\"], truncation=True, max_length=128)\n",
187
+ "\n",
188
+ "tokenized_train = train_set.map(preprocess_function, batched=True)\n",
189
+ "tokenized_test = test_set.map(preprocess_function, batched=True)"
190
+ ]
191
+ },
192
+ {
193
+ "cell_type": "code",
194
+ "execution_count": null,
195
+ "metadata": {},
196
+ "outputs": [],
197
+ "source": [
198
+ "# Use data_collector to convert our samples to PyTorch tensors and concatenate them with the correct amount of padding\n",
199
+ "from transformers import DataCollatorWithPadding\n",
200
+ "data_collator = DataCollatorWithPadding(tokenizer=tokenizer)"
201
+ ]
202
+ },
203
+ {
204
+ "cell_type": "code",
205
+ "execution_count": null,
206
+ "metadata": {},
207
+ "outputs": [],
208
+ "source": [
209
+ "# Define DistilBERT as our base model:\n",
210
+ "from transformers import DistilBertForSequenceClassification\n",
211
+ "model = DistilBertForSequenceClassification.from_pretrained('distilbert-base-uncased', num_labels=3)"
212
+ ]
213
+ },
214
+ {
215
+ "cell_type": "code",
216
+ "execution_count": null,
217
+ "metadata": {},
218
+ "outputs": [],
219
+ "source": [
220
+ "from sklearn.metrics import precision_recall_fscore_support\n",
221
+ "def compute_metrics(p):\n",
222
+ " preds = p.predictions.argmax(axis=1)\n",
223
+ " return {\n",
224
+ " 'precision': precision_recall_fscore_support(p.label_ids, preds, average='weighted')[0],\n",
225
+ " 'recall': precision_recall_fscore_support(p.label_ids, preds, average='weighted')[1],\n",
226
+ " 'f1': precision_recall_fscore_support(p.label_ids, preds, average='weighted')[2],\n",
227
+ " }"
228
+ ]
229
+ },
230
+ {
231
+ "cell_type": "code",
232
+ "execution_count": null,
233
+ "metadata": {},
234
+ "outputs": [],
235
+ "source": [
236
+ "# Define a new Trainer with all the objects we constructed so far\n",
237
+ "from transformers import TrainingArguments, Trainer\n",
238
+ "\n",
239
+ "training_args = TrainingArguments(\n",
240
+ " output_dir='args/',\n",
241
+ " evaluation_strategy='epoch',\n",
242
+ " save_total_limit=2,\n",
243
+ " learning_rate=2e-5,\n",
244
+ " per_device_train_batch_size=16,\n",
245
+ " per_device_eval_batch_size=16,\n",
246
+ " num_train_epochs=3,\n",
247
+ " weight_decay=0.01,\n",
248
+ " logging_dir='logs/',\n",
249
+ ")\n",
250
+ "\n",
251
+ "trainer = Trainer(\n",
252
+ " model=model,\n",
253
+ " args=training_args,\n",
254
+ " train_dataset=tokenized_train,\n",
255
+ " eval_dataset=tokenized_test,\n",
256
+ " tokenizer=tokenizer,\n",
257
+ " data_collator=data_collator,\n",
258
+ " compute_metrics=compute_metrics,\n",
259
+ ")"
260
+ ]
261
+ },
262
+ {
263
+ "cell_type": "code",
264
+ "execution_count": null,
265
+ "metadata": {},
266
+ "outputs": [],
267
+ "source": [
268
+ "trainer.train()"
269
+ ]
270
+ },
271
+ {
272
+ "cell_type": "code",
273
+ "execution_count": null,
274
+ "metadata": {},
275
+ "outputs": [],
276
+ "source": [
277
+ "model.save_pretrained('saved_model/')"
278
+ ]
279
+ }
280
+ ],
281
+ "metadata": {
282
+ "kernelspec": {
283
+ "display_name": "Python 3",
284
+ "language": "python",
285
+ "name": "python3"
286
+ },
287
+ "language_info": {
288
+ "codemirror_mode": {
289
+ "name": "ipython",
290
+ "version": 3
291
+ },
292
+ "file_extension": ".py",
293
+ "mimetype": "text/x-python",
294
+ "name": "python",
295
+ "nbconvert_exporter": "python",
296
+ "pygments_lexer": "ipython3",
297
+ "version": "3.11.2"
298
+ },
299
+ "orig_nbformat": 4
300
+ },
301
+ "nbformat": 4,
302
+ "nbformat_minor": 2
303
+ }
app.py ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import os
3
+ os.system('python -m spacy download en_core_web_sm')
4
+ import spacy
5
+ from spacy import displacy
6
+ import torch
7
+ from transformers import DistilBertTokenizer, DistilBertForSequenceClassification
8
+
9
+ TOKEN_SIZE = 128
10
+ nlp = spacy.load("en_core_web_sm")
11
+
12
+ def multi_analysis(text):
13
+ scores = sentiment_analysis(text)
14
+ pos_tokens = text_analysis(text)
15
+ return scores, pos_tokens
16
+
17
+ def sentiment_analysis(text):
18
+
19
+ # load the model and tokenizer from local directories
20
+ model = DistilBertForSequenceClassification.from_pretrained('saved_model/')
21
+ tokenizer = DistilBertTokenizer.from_pretrained('saved_model/')
22
+
23
+ # tokenize the inputs
24
+ inputs = tokenizer(text, return_tensors='pt', truncation=True, padding=True, max_length=128)
25
+
26
+ # ignore gradients as we only need inference (aka logits)
27
+ with torch.no_grad():
28
+ logits = model(**inputs).logits
29
+
30
+ # apply softmax to make sure the probabilities sum up to 1
31
+ predicted_probabilities = torch.softmax(logits, dim=1).squeeze().tolist()
32
+
33
+ # return the probability of each label (positive, neutral, negative)
34
+ labels = ["NEG", "NEU", "POS"]
35
+ confidences = {label: prob for label, prob in zip(labels, predicted_probabilities)}
36
+ return confidences
37
+
38
+ def text_analysis(text):
39
+ doc = nlp(text)
40
+ pos_tokens = []
41
+
42
+ for token in doc:
43
+ pos_tokens.extend([(token.text, token.pos_), (" ", None)])
44
+
45
+ return pos_tokens
46
+
47
+ # add a title and description to the model
48
+ title = "Reddit Sentiment Analysis"
49
+ description = """In July 2023, Reddit changed its API pricing from free to $0.24 per 1000 API calls,
50
+ which was met with major backlash various communities. This sentiment analysis
51
+ model is based on DistilBERT and has been fine-tuned to better analyze Reddit
52
+ comments, with its F1 score at ~94%. The HuggingFace page can be found at:
53
+ and the Github repository can be found at:
54
+ https://github.com/lukelike1001/PlaceAnalysis"""
55
+
56
+ app = gr.Interface(
57
+ fn=multi_analysis,
58
+ inputs=gr.Textbox(placeholder="Enter sentence here..."),
59
+ outputs=["label", "highlight"],
60
+ title=title,
61
+ description=description,
62
+ examples=[
63
+ ["What are the coords for that?"],
64
+ ["the CEO of Reddit killed 3rd party apps."]
65
+ ],
66
+ )
67
+
68
+ app.launch(share=True)
data/Reddit_Data.csv ADDED
The diff for this file is too large to render. See raw diff
 
data/place_comments.csv ADDED
The diff for this file is too large to render. See raw diff
 
data/sentences_EN.csv ADDED
@@ -0,0 +1,412 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ The United States of America (U.S.A
3
+ "or USA), commonly known as the United States (U.S"
4
+ "or US) or informally as America, is a country primarily located in North America consisting of 50 states, a federal district, five major unincorporated territories, nine Minor Outlying Islands,[i] and 326 Indian reservations"
5
+ "It is the world's third-largest country by both land and total area.[c] It shares land borders with Canada to its north and with Mexico to its south and has maritime borders with the Bahamas, Cuba, Russia, and other nations.[j] With a population of over 333 million,[k] it is the most populous country in the Americas and the third-most populous in the world"
6
+ "The national capital of the United States is Washington, D.C., and its most populous city and principal financial center is New York City"
7
+ ""
8
+ Indigenous peoples have inhabited the Americas for thousands of years
9
+ "Beginning in 1607, British colonization led to the establishment of the Thirteen Colonies in what is now the Eastern United States"
10
+ Their quarrel with the British Crown over taxation and political representation led to the American Revolution and the ensuing Revolutionary War
11
+ "The United States declared independence on July 4, 1776, becoming the first nation-state founded on Enlightenment principles of unalienable natural rights, consent of the governed, and liberal democracy"
12
+ "The country began expanding across North America, spanning the continent by 1848"
13
+ "Sectional division over slavery led to the secession of the Confederate States of America, which fought the remaining states of the Union during the American Civil War (1861–1865)"
14
+ "With the Union's victory and preservation, slavery was abolished nationally"
15
+ "By 1900, the United States established itself as a great power, becoming the world's largest economy"
16
+ "After Japan's attack on Pearl Harbor in 1941, the U.S"
17
+ entered World War II on the Allied side
18
+ The aftermath of the war left the United States and the Soviet Union as the world's two superpowers and led to the Cold War
19
+ "During the Cold War, both countries engaged in a struggle for ideological dominance but avoided direct military conflict"
20
+ "They also competed in the Space Race, which culminated in the 1969 landing of Apollo 11, making the U.S"
21
+ the first and only nation to land humans on the Moon
22
+ "With the Soviet Union's collapse and the subsequent end of the Cold War in 1991, the United States emerged as the world's sole superpower"
23
+ ""
24
+ The United States government is a federal republic and a representative democracy with three separate branches of government
25
+ "It has a bicameral national legislature composed of the House of Representatives, a lower house based on population; and the Senate, an upper house based on equal representation for each state"
26
+ "Many policy issues are decentralized at a state or local level, with widely differing laws by jurisdiction"
27
+ The U.S
28
+ "ranks highly in international measures of quality of life, income and wealth, economic competitiveness, human rights, innovation, and education; it has low levels of perceived corruption"
29
+ "It has higher levels of incarceration and inequality than most other developed nations, and is the only developed nation without universal healthcare"
30
+ "As a melting pot of cultures and ethnicities, the U.S"
31
+ has been shaped by the world's largest immigrant population
32
+ ""
33
+ The United States is a highly developed country that has the highest median income of any polity in the world
34
+ Its economy accounts for approximately a quarter of global GDP and is the world's largest by GDP at market exchange rates
35
+ "It is the world's largest importer and second-largest exporter, and possesses the largest amount of wealth of any country"
36
+ "The United States is a founding member of the United Nations, World Bank, International Monetary Fund, Organization of American States, NATO, World Health Organization, and is a permanent member of the United Nations Security Council"
37
+ "It wields considerable global influence as the world's foremost political, cultural, economic, military, and scientific power"
38
+ ""
39
+ "The first documentary evidence of the phrase ""United States of America"" dates back to a letter from January 2, 1776, written by Stephen Moylan, a Continental Army aide to General George Washington, to Joseph Reed, Washington's aide-de-camp"
40
+ "Moylan expressed his desire to go ""with full and ample powers from the United States of America to Spain"" to seek assistance in the Revolutionary War effort.[26][27][28] The first known publication of the phrase ""United States of America"" was in an anonymous essay in The Virginia Gazette newspaper in Williamsburg, on April 6, 1776.[29] "
41
+ "By June 1776, the name ""United States of America"" appeared in drafts of the Articles of Confederation and Perpetual Union, authored by John Dickinson, a Founding Father from the Province of Pennsylvania,[30][31] and in the Declaration of Independence, written primarily by Thomas Jefferson and adopted by the Second Continental Congress in Philadelphia, on July 4, 1776.[30] "
42
+ "The first inhabitants of North America migrated from Siberia, crossing the Bering land bridge and arriving in the present-day United States at least 12000 years ago; some evidence suggests an even earlier date of arrival.[32][33][34] The Clovis culture, which appeared around 11000BC, is believed to represent the first wave of human settlement in the Americas.[35][36] This was likely the first of three major waves of migration into North America; later waves brought the ancestors of present-day Athabaskans, Aleuts, and Eskimos.[37] "
43
+ "Over time, indigenous cultures in North America grew increasingly sophisticated, and some, such as the pre-Columbian Mississippian culture in the southeast, developed advanced agriculture, architecture, and complex societies.[38] The city-state of Cahokia was the largest, most complex pre-Columbian archaeological site in present-day United States.[39] In the Four Corners region in present-day Southwestern United States, the culture of Ancestral Puebloans developed over centuries of agricultural experimentation.[40] The Algonquian, including peoples who speak Algonquian languages, were one of the most populous and widespread North American indigenous peoples.[41] These people were historically prominent along the Atlantic Coast and in the Saint Lawrence River and Great Lakes regions"
44
+ "Before European immigrants made contact with the Algonquian, most of the Algonquian survived by hunting and fishing, and many supplemented their diet by cultivating corn, beans, and squash, known as the ""Three Sisters"""
45
+ "The Ojibwe cultivated wild rice.[42] The Iroquois confederation Haudenosaunee, located in the southern Great Lakes region, was established between the 12th and 15th centuries.[43] "
46
+ Estimating the native population of North America following the arrival of European immigrants is difficult.[44][45] Douglas H
47
+ "Ubelaker of the Smithsonian Institution estimated a population of 93000 in the South Atlantic states and a population of 473000 in the Gulf states,[46] but most academics regard this figure as too low.[44] Anthropologist Henry F"
48
+ "Dobyns believed the populations were much higher, suggesting that approximately 1.1 million resided on the shores of the Gulf of Mexico, 2.2 million people living between Florida and Massachusetts, 5.2 million in the Mississippi Valley and tributaries, and around 700000 in the Florida peninsula.[44][45] "
49
+ "The Italian explorer Giovanni da Verrazzano, sent by France to the New World in 1525, encountered Native American inhabitants in the present-day New York Bay region.[47] The Spanish Empire set up their first settlements in Florida and New Mexico, including in Saint Augustine, which is often considered the nation's oldest city,[48] and Santa Fe"
50
+ "The French established their own settlements along the Mississippi River and Gulf of Mexico, including in New Orleans and Mobile.[49] "
51
+ "British colonization of the east coast of North America began with the Virginia Colony in 1607, where Pilgrims settled in Jamestown and later established Plymouth Colony in 1620.[50][51] "
52
+ "The continent's first elected legislative assembly, the House of Burgesses in Virginia, was founded in 1619"
53
+ "In 1636, Harvard College in Cambridge, Massachusetts Bay Colony was founded as the first institution of higher education"
54
+ The Mayflower Compact and the Fundamental Orders of Connecticut established precedents for representative self-government and constitutionalism that would develop throughout the American colonies.[52][53] Many English settlers were dissenting Christians who fled England seeking religious freedom
55
+ "The native population of America declined after European arrival,[54][55][56] primarily as a result of infectious diseases such as smallpox and measles.[57][58] By the mid-1670s, the British defeated and seized the territory of Dutch settlers in New Netherland, in the mid-Atlantic region"
56
+ ""
57
+ "In the 17th century, during European colonization, many European settlers experienced food shortages, disease, and conflicts with Native Americans, including in King Philip's War"
58
+ "In addition to fighting European settlers, Native Americans also often fought neighboring tribes"
59
+ "But in many cases, the natives and settlers came to develop a mutual dependency"
60
+ "Settlers traded for food and animal pelts, and Native Americans traded for guns, tools, and other European goods.[59] Native Americans taught many settlers to cultivate corn, beans, and other foodstuffs"
61
+ "European missionaries and others felt it was important to civilize the Native Americans and urged them to adopt European agricultural practices and lifestyles.[60][61] With the increased European colonization of North America, however, Native Americans were often displaced or killed during conflicts.[62] "
62
+ "European settlers also began trafficking African slaves into the colonial United States via the transatlantic slave trade.[63] By the turn of the 18th century, slavery supplanted indentured servitude as the main source of agricultural labor for the cash crops in the American South.[64] Colonial society was divided over the religious and moral implications of slavery, and several colonies passed acts for or against it.[65][66] "
63
+ "In what was then considered British America, the Thirteen Colonies[l] were administered as overseas dependencies by the British.[67] All colonies had local governments with elections open to white male property owners except Jews and, in some areas, Catholics.[68][69] With very high birth rates, low death rates, and steadily growing settlements, the colonial population grew rapidly, eclipsing Native American populations.[70] The Christian revivalist movement of the 1730s and 1740s, known as the Great Awakening, fueled colonial interest in both religion and religious liberty.[71] Excluding the Native Americans population, the Thirteen Colonies had a population of over 2.1 million in 1770, representing a population that was then roughly a third the size of Britain"
64
+ "By the 1770s, despite continuing new immigrant arrivals from Britain and other European regions, the natural increase of the population was such that only a small minority of Americans had been born overseas.[72] The colonies' distance from Britain had allowed for the development of self-governance in the colonies, but it encountered periodic efforts by British monarchs to reassert royal authority.[73] "
65
+ "In 1774, the First Continental Congress, meeting in Philadelphia, passed the Continental Association, which mandated a colony-wide boycott of British goods"
66
+ "The American Revolutionary War began the following year, on April 19, 1775, at the Battles of Lexington and Concord"
67
+ "The colonies responded by again convening in Philadelphia in the Second Continental Congress, where, in June 1775, they appointed George Washington as commander of the Continental Army, which was initially comprised of various American patriot militias resisting the British Army"
68
+ "In June 1776, the Second Continental Congress charged a committee of five of its delegates−John Adams, Benjamin Franklin, Thomas Jefferson, Robert R"
69
+ "Livingston, and Roger Sherman−with writing a draft of the Declaration of Independence"
70
+ "The five delegates, in turn, asked Jefferson to author its first draft"
71
+ "While Jefferson consulted with the other four delegates, he largely authored its first draft in isolation over a period of two weeks from the second floor he was renting in a home on Market Street in Center City Philadelphia.[74] "
72
+ "On July 4, 1776, the Second Continental Congress unanimously adopted and issued the Declaration of Independence, which famously stated: ""We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness."" The unanimous adoption of the Declaration of Independence is celebrated annually on July 4 in the United States as Independence Day.[75] In 1777, the American victory at the Battle of Saratoga resulted in the capture of a British army, and led to France and their ally Spain joining in the war against them"
73
+ "After the surrender of a second British Army at the siege of Yorktown in 1781, Britain signed a peace treaty"
74
+ "American sovereignty gained international recognition, and the new nation took possession of substantial territory east of the Mississippi River, from what is present-day Canada in the north and Florida in the south.[76] Tensions with Britain remained, leading to the War of 1812, which was fought to a draw.[77] "
75
+ "In 1781, the Articles of Confederation and Perpetual Union established a decentralized government that operated until 1789.[75] As it became increasingly apparent that the Confederation was insufficient to govern the new country, nationalists advocated for and led the Philadelphia Convention of 1787, where the United States Constitution was authored and ratified in state conventions in 1788"
76
+ The U.S
77
+ "Constitution is the oldest and longest-standing written and codified national constitution in force today.[78] Going into force in 1789, it reorganized the government into a federation administered by three branches (executive, judicial, and legislative), on the principle of creating salutary checks and balances"
78
+ "George Washington, who led the Continental Army to victory in the Revolutionary War and then willingly relinquished power, was elected the new nation's first President under the new constitution"
79
+ "The Bill of Rights, forbidding federal restriction of personal freedoms and guaranteeing a range of legal protections, was adopted in 1791.[79] "
80
+ "During the British Colonial era, slavery was legal in the American colonies, a longstanding institution in world history, and ""challenges to its moral legitimacy were rare"""
81
+ "However, during the Revolution, many in the colonies began to question the practice.[80] "
82
+ Regional divisions over slavery grew in the ensuing decades
83
+ "In the North, several prominent Founding Fathers such as John Adams, Roger Sherman, Alexander Hamilton, John Jay, and Benjamin Franklin advocated for the abolition of slavery, and by the 1810s every state in the region had, with these emancipations being the first in the Atlantic World.[81] The Missouri Compromise (1820) admitted Missouri as a slave state and Maine as a free state and declared a policy of prohibiting slavery in the remaining Louisiana Purchase lands north of the 36°30′ parallel"
84
+ "The outcome de facto sectionalized the country into two factions: free states, which forbade slavery; and slave states, which protected the institution; it was controversial, widely seen as dividing the country along sectarian lines.[82] In the South, the invention of the cotton gin spurred entrenchment of slavery, with regional elites and intellectuals increasingly viewing the institution as a positive good instead of a necessary evil.[83] Although the federal government outlawed American participation in the Atlantic slave trade in 1807, after 1820, cultivation of the highly profitable cotton crop exploded in the Deep South, and along with it, the use of slave labor.[84][85][86] The Second Great Awakening, especially in the period 1800–1840, converted millions to evangelical Protestantism"
85
+ "In the North, it energized multiple social reform movements, including abolitionism;[87] in the South, Methodists and Baptists proselytized among slave populations.[88] "
86
+ "In the late 18th century, American settlers began to expand further westward, some of them with a sense of manifest destiny.[89][90] The 1803 Louisiana Purchase almost doubled the nation's area,[91] Spain ceded Florida and other Gulf Coast territory in 1819,[92] the Republic of Texas was annexed in 1845 during a period of expansionism,[90] and the 1846 Oregon Treaty with Britain led to U.S"
87
+ "control of the present-day American Northwest.[93] As it expanded further into land inhabited by Native Americans, the federal government often applied policies of Indian removal or assimilation.[94][95] The Trail of Tears in the 1830s exemplified the Indian removal policy that forcibly resettled Indians"
88
+ The displacement prompted a long series of American Indian Wars west of the Mississippi River[96] and eventually conflict with Mexico.[97] Most of these conflicts ended with the cession of Native American territory and their confinement to Indian reservations
89
+ "Victory in the Mexican–American War resulted in the 1848 Mexican Cession of California and much of the present-day American Southwest, with the U.S"
90
+ "now spanning the continent.[89][98] The California Gold Rush of 1848–1849 spurred migration to the Pacific coast, which led to the California genocide[99] and the creation of additional western states.[100] "
91
+ "Irreconcilable sectional conflict regarding the enslavement of those of black African descent[101] was the primary cause of the American Civil War.[102] With the 1860 election of Republican Abraham Lincoln, conventions in eleven slave states, all in the Southern United States, declared secession and formed the Confederate States of America, while the federal government, known as the Union, maintained that secession was unconstitutional and illegitimate.[103] On April 12, 1861, the Confederacy initiated military conflict by bombarding Fort Sumter, a federal garrison in Charleston harbor in South Carolina"
92
+ ""
93
+ "The American Civil War, the deadliest military conflict in American history, ensued and was fought between 1861 and 1865"
94
+ "The war resulted in the deaths of approximately 620000 soldiers from both sides and upwards of 50000 civilians, most of them in the South.[104] In early July 1863, the Civil War began to turn in the Union's favor, following the Union Army's victory in the Battle of Gettysburg, where Union Army general George Meade halted Confederate Army general Robert E"
95
+ Lee's invasion of the North
96
+ "In April 1865, following the Union Army's victory at the Battle of Appomattox Court House, the Confederacy surrendered and soon collapsed"
97
+ ""
98
+ Reconstruction began in earnest following the defeat of the Confederates
99
+ "While President Lincoln attempted to foster reconciliation between the Union and former Confederacy, his assassination on April 14, 1865 drove a wedge between North and South again"
100
+ "Republicans in the federal government made it their goal to oversee the rebuilding of the South and to ensure the rights of African Americans, and the so-called Reconstruction Amendments to the Constitution guaranteed the abolishment of slavery, full citizenship to Americans of African descent, and suffrage for adult Black males"
101
+ They persisted until the Compromise of 1877
102
+ "Influential Southern Whites, calling themselves ""Redeemers"", took local control of the South after the end of Reconstruction, beginning the nadir of American race relations"
103
+ "From 1890 to 1910, the Redeemers established so-called Jim Crow laws, disenfranchising almost all Blacks and some impoverished Whites throughout the region"
104
+ "Blacks faced racial segregation nationwide, especially in the South,[105] and lived under the threat of lynching and other vigilante violence.[106] "
105
+ "National infrastructure, including telegraph and transcontinental railroads, spurred economic growth and greater settlement and development of the American Old West"
106
+ "After the end of the American Civil War in 1865, new transcontinental railways made relocation easier for settlers, expanded internal trade, and increased conflicts with Native Americans.[107] Mainland expansion also included the purchase of Alaska from Russia in 1867.[108] In 1893, pro-American elements in Hawaii overthrew the Hawaiian monarchy and formed the Republic of Hawaii, which the U.S"
107
+ annexed in 1898
108
+ "Puerto Rico, Guam, and the Philippines were ceded by Spain in the same year, by the Treaty of Paris (1898) following the Spanish–American War.[109] Puerto Ricans did not gain citizenship either through the Foraker Act (1900) or the Insular Cases (1901), but only one month prior to American entry into World War I though the Jones–Shafroth Act in 1917.[110]: 60–63  American Samoa was acquired by the United States in 1900 after the end of the Second Samoan Civil War.[111] The U.S"
109
+ Virgin Islands were purchased from Denmark in 1917.[112]
110
+ "From 1865 through 1918 an unprecedented and diverse stream of immigrants arrived in the United States, 27.5 million in total"
111
+ "In all, 24.4 million (89%) came from Europe, including 2.9 million from Great Britain, 2.2 million from Ireland, 2.1 million from Scandinavia, 3.8 million from Germany, 4.1 million from Italy, 7.8 million from Russia and other parts of Central and Eastern Europe"
112
+ "Another 1.7 million came from Canada.[115] Most came through the port of New York City, and from 1892, through the immigration station on Ellis Island, but various ethnic groups settled in different locations"
113
+ "New York and other large cities of the East Coast became home to large Jewish, Irish, and Italian populations, while many Germans and Central Europeans moved to the Midwest, obtaining jobs in industry and mining"
114
+ "At the same time, about one million French Canadians migrated from Quebec to New England.[116] "
115
+ Rapid economic development during the late 19th and early 20th centuries fostered the rise of many prominent industrialists
116
+ "Tycoons like Cornelius Vanderbilt, John D"
117
+ "Rockefeller, and Andrew Carnegie led the nation's progress in the railroad, petroleum, and steel industries"
118
+ "Banking became a major part of the economy, with J"
119
+ P
120
+ Morgan playing a notable role
121
+ "The United States also emerged as a pioneer of the automotive industry in the early 20th century.[117] These changes were accompanied by significant increases in economic inequality, immigration, and social unrest, which prompted the rise of populist, socialist, and anarchist movements.[118][119][120] This period eventually ended with the advent of the Progressive Era, which was characterized by significant reforms, including health and safety regulation of consumer goods, the rise of labor unions, greater antitrust measures to ensure competition among businesses, and improvements in worker conditions"
122
+ "The Great Migration, which began around 1910, resulted in millions of African Americans leaving the rural South for urban areas in the North.[121] "
123
+ "The United States remained neutral from the outbreak of World War I in 1914 until 1917 when it joined the war as an ""associated power"" alongside the Allies of World War I, helping to turn the tide against the Central Powers"
124
+ "In 1919, President Woodrow Wilson took a leading diplomatic role at the Paris Peace Conference and advocated strongly for the U.S"
125
+ to join the League of Nations
126
+ "However, the U.S"
127
+ "Senate refused to support this and did not ratify the Treaty of Versailles under which the League of Nations was established.[122] In 1920, a constitutional amendment granted nationwide women's suffrage.[123] "
128
+ "During the 1920s and 1930s, radio for mass communication and ultimately the invention of early television transformed communications in the United States.[124] The prosperity of the Roaring Twenties ended with the Wall Street Crash of 1929 and the onset of the Great Depression"
129
+ "After his election as president in 1932, Franklin D"
130
+ "Roosevelt, between 1933 and 1939, introduced his New Deal economic policies, which included public works projects, financial reforms, and regulations.[125] The Dust Bowl of the mid-1930s impoverished many farming communities and spurred a new wave of western migration.[126] "
131
+ "At first neutral during World War II, the United States began supplying war materiel to the Allies in March 1941"
132
+ "A total of $50.1 billion (equivalent to $719 billion in 2021) worth of supplies was shipped in 1941–1945, or 17% of the total war expenditures of the U.S.[127] On December 7, 1941, the Empire of Japan launched a surprise attack on Pearl Harbor, prompting the United States to militarily join the Allies against the Axis powers, and in the following year, to intern about 120000 Japanese and Japanese Americans.[128][129] The U.S"
133
+ "pursued a ""Europe first"" defense policy,[130] with the Philippines being invaded and occupied by Japan until the country's liberation by the U.S.-led forces in 1944–1945"
134
+ "During the war, the United States was one of the ""Four Policemen""[131] who met to plan the postwar world, along with Britain, the Soviet Union, and China.[132][133] The United States emerged relatively unscathed from the war, and with even greater economic and military influence.[134] "
135
+ "The United States played a leading role in the Bretton Woods and Yalta conferences, during which agreements were signed on new international financial institutions and Europe's postwar reorganization"
136
+ "As an Allied victory was achieved in Europe, a 1945 international conference held in San Francisco produced the United Nations Charter, which became active after the war.[135] The United States developed the first nuclear weapons and used them on Japan in the cities of Hiroshima and Nagasaki in August 1945; the Japanese subsequently surrendered on September 2, ending World War II.[136][137] "
137
+ "After World War II, the United States launched the Marshall Plan to aid war-torn Europe, providing $13 billion ($115 billion in 2021).[138] for reconstruction"
138
+ "This period also marked the beginning of the Cold War, with geopolitical tensions between the U.S"
139
+ "and the Soviet Union driven by ideological differences.[139] The two countries led military affairs of Europe, with the U.S"
140
+ and its NATO allies on one side and the Soviet Union and its Warsaw Pact satellite states on the other
141
+ The U.S
142
+ "engaged in regime change operations against left-wing governments, conflicts like the Korean and Vietnam Wars and led the Space Race, eventually landing people on the Moon in 1969.[140][141][142][143][144][143][140] "
143
+ "Domestically, the United States experienced economic growth, urbanization, and a rapid growth of its population following World War II"
144
+ "The construction of an Interstate Highway System transformed the nation's transportation infrastructure,[145][146] and Alaska and Hawaii were admitted as states, expanding the country's borders.[147] "
145
+ "The civil rights movement emerged, with Martin Luther King Jr"
146
+ becoming a prominent leader in the early 1960s.[148] President Lyndon B
147
+ "Johnson initiated the ""Great Society"", introducing policies to address poverty and racial inequalities"
148
+ [149]The counterculture movement[150] and the women's movement in the U.S
149
+ "brought significant social changes, including the liberalization of attitudes towards sexuality and the beginning of the modern gay rights movement.[151][152] "
150
+ "The United States supported Israel during the Yom Kippur War, leading to the 1973 oil crisis"
151
+ "The 1970s and early 1980s saw stagflation and President Ronald Reagan responded with neoliberal reforms and a rollback strategy towards the Soviet Union.[153][154][155][156] The late 1980s and early 1990s saw the collapse of the Warsaw Pact and the dissolution of the Soviet Union, which marked the end of the Cold War and solidified the U.S"
152
+ as the world's sole superpower.[157][158][159][160]
153
+ "In the 21st century, the U.S"
154
+ "faced challenges from terrorism, with the September 11 attacks, leading to the war on terror and military interventions in Afghanistan and Iraq.[161][162] The financial crisis of 2007–2008 and the Great Recession impacted the nation's economy.[163] The presidencies of Barack Obama[164] and Donald Trump brought significant policy changes and political polarization"
155
+ The U.S
156
+ "also faced social debates on issues such as abortion access, same-sex marriage, police brutality, and immigration"
157
+ "The Capitol riot of January 6, 2021[165] and the Supreme Court's ruling on abortion rights in 2022 further fueled protests and political divisions"
158
+ [166]
159
+ "The 48 contiguous states and the District of Columbia occupy a combined area of 3,119,885 square miles (8,080,470 km2)"
160
+ "Of this area, 2,959,064 square miles (7,663,940 km2) is contiguous land, composing 83.65% of total U.S"
161
+ "land area.[167][168] About 15% is occupied by Alaska, a state in northwestern North America, with the remainder in Hawaii, a state and archipelago in the central Pacific, and the five populated but unincorporated insular territories of Puerto Rico, American Samoa, Guam, the Northern Mariana Islands, and the U.S"
162
+ "Virgin Islands.[169] Measured by only land area, the United States is third in size behind Russia and China, and just ahead of Canada.[170] The United States is the world's third-largest nation by land and total area behind Russia and Canada.[c][171] "
163
+ "The coastal plain of the Atlantic seaboard gives way further inland to deciduous forests and the rolling hills of the Piedmont.[172] The Appalachian Mountains and the Adirondack massif divide the eastern seaboard from the Great Lakes and the grasslands of the Midwest.[173] The Mississippi–Missouri River, the world's fourth longest river system, runs mainly north–south through the heart of the country"
164
+ "The flat, fertile prairie of the Great Plains stretches to the west, interrupted by a highland region in the southeast.[173] "
165
+ "The Rocky Mountains, west of the Great Plains, extend north to south across the country, peaking at over 14,000 feet (4,300 m) in Colorado.[174] Farther west are the rocky Great Basin and deserts such as the Chihuahua, Sonoran, and Mojave.[175] The Sierra Nevada and Cascade mountain ranges run close to the Pacific coast, both ranges also reaching altitudes higher than 14,000 feet (4,300 m)"
166
+ "The lowest and highest points in the contiguous United States are in the state of California,[176] and only about 84 miles (135 km) apart.[177] At an elevation of 20,310 feet (6,190.5 m), Alaska's Denali is the highest peak in the country and in North America.[178] Active volcanoes are common throughout Alaska's Alexander and Aleutian Islands, and Hawaii consists of volcanic islands"
167
+ The supervolcano underlying Yellowstone National Park in the Rockies is the continent's largest volcanic feature.[179]
168
+ "With its large size and geographic variety, the United States includes most climate types"
169
+ "To the east of the 100th meridian, the climate ranges from humid continental in the north to humid subtropical in the south.[180] "
170
+ The Great Plains west of the 100th meridian are semi-arid
171
+ Many mountainous areas of the American West have an alpine climate
172
+ "The climate is arid in the Great Basin, desert in the Southwest, Mediterranean in coastal California, and oceanic in coastal Oregon and Washington and southern Alaska"
173
+ Most of Alaska is subarctic or polar
174
+ "Hawaii and the southern tip of Florida are tropical, as well as its territories in the Caribbean and the Pacific.[181] "
175
+ "States bordering the Gulf of Mexico are prone to hurricanes, and most of the world's tornadoes occur in the country, mainly in Tornado Alley areas in the Midwest and South.[182] Overall, the United States receives more high-impact extreme weather incidents than any other country in the world.[183] "
176
+ Extreme weather became more frequent in the U.S
177
+ "in the 21st century, with three times the number of reported heat waves as in the 1960s"
178
+ "Of the ten warmest years ever recorded in the 48 contiguous states, eight occurred after 1998"
179
+ "In the American Southwest, droughts became more persistent and more severe.[184] "
180
+
181
+ The U.S
182
+ "is one of 17 megadiverse countries containing large numbers of endemic species: about 17000 species of vascular plants occur in the contiguous United States and Alaska, and more than 1800 species of flowering plants are found in Hawaii, few of which occur on the mainland.[186] The United States is home to 428 mammal species, 784 birds, 311 reptiles, and 295 amphibians,[187] and 91000 insect species.[188] "
183
+ "There are 63 national parks, which are managed by the National Park Service, and hundreds of other federally managed parks, forests, and wilderness areas, managed by the National Park Service and other agencies.[189] Altogether, about 28% of the country's land area is publicly owned and federally managed,[190] primarily located in the western states.[191] Most of this land is protected, though some is leased for oil and gas drilling, mining, logging, or cattle ranching, and less than one percent of it is used for military purposes.[192][193] "
184
+ "Environmental issues in the United States include debates on oil and nuclear energy, air and water pollution, protecting wildlife, logging and deforestation,[194][195] and climate change.[196][197] The U.S"
185
+ "Environmental Protection Agency (EPA), created by presidential order in 1970, is the federal government charged with enforcing and addressing most environmental-related issues.[198] The idea of wilderness has shaped the management of public lands since 1964, with the Wilderness Act.[199] The Endangered Species Act of 1973 is intended to protect threatened and endangered species and their habitats, which are monitored by the United States Fish and Wildlife Service.[200] "
186
+ "As of 2020, the U.S"
187
+ "ranked 24th among 180 nations in the Environmental Performance Index.[201] The country joined the Paris Agreement on climate change in 2016, and has many other environmental commitments.[202] It withdrew from the Paris Agreement in 2020[203] but rejoined it in 2021.[204] "
188
+ "The United States is a federal republic of 50 states, a federal district, five territories and several uninhabited island possessions.[205][206][207] It is the world's oldest surviving federation, and, according to the World Economic Forum, the oldest democracy as well.[208] It is a liberal representative democracy ""in which majority rule is tempered by minority rights protected by law.""[209] "
189
+ "Major democracy indexes uniformly classify the country as a liberal democracy.[210] The 2022 Corruption Perceptions Index and Global Corruption Barometer rank the United States as having low levels of both actual and perceived corruption,[211][212] and human rights rankings place the United States highly.[213][214][215] "
190
+ "The federal government comprises three branches, which are headquartered in Washington, D.C"
191
+ and regulated by a system of checks and balances defined by the Constitution.[216]
192
+ The President serves a four-year term and may be elected to the office no more than twice
193
+ "The President is not elected by direct vote, but by an indirect electoral college system in which the determining votes are apportioned to the states and the District of Columbia.[221] The Supreme Court, led by the chief justice of the United States, has nine members, who serve for life"
194
+ They are appointed by the sitting President when a vacancy becomes available.[222]
195
+ The U.S
196
+ "Constitution serves as the country's supreme legal document, establishing the structure and responsibilities of the federal government and its relationship with the individual states"
197
+ The Constitution has been amended 27 times.[223]
198
+ "The United States has operated under an uncodified informal two-party system for most of its history, although other parties have run candidates.[224] What the two major parties are has changed over time: the Republicans and Democrats presently are the two major parties, and the country is currently in either the Fifth or Sixth Party System.[225] "
199
+ "In the American federal system, sovereignty is shared between two levels of government: federal and state"
200
+ "Citizens of the states are also governed by local governments, which are administrative divisions of the states"
201
+ The territories are administrative divisions of the federal government
202
+ Governance on many issues is decentralized.[226]
203
+ Each of the 50 states has territory where it shares sovereignty with the federal government
204
+ "States are subdivided into counties or county equivalents, and further divided into municipalities"
205
+ "The District of Columbia is a federal district that contains the capital of the United States, the city of Washington.[227] Each state is entitled to presidential electors whose number equals the number of their representatives and senators in Congress, and the District of Columbia has three electors.[228] Territories of the United States do not have presidential electors, therefore people there cannot vote for the president.[229] "
206
+ "United States citizenship is granted to those born in the 50 states, Washington, D.C., or any of the U.S"
207
+ "territories except American Samoa.[m][233][230] Foreign-born persons who are not yet US citizens may acquire citizenship through the process of naturalization, according to the requirements of the federal Immigration and Nationality Act (INA).[234] Naturalized citizens have the same rights as those who became citizens at birth.[234] "
208
+ The United States observes limited tribal sovereignty for American Indian nations
209
+ American Indians are U.S
210
+ citizens and tribal lands are subject to the jurisdiction of the U.S
211
+ Congress and the federal courts
212
+ "Like the states, tribes have some restrictions on their autonomy"
213
+ "They are prohibited from making war, engaging in foreign relations, and printing or issuing their own currency.[235] Indian reservations are usually contained within one particular state, but there are 12 reservations that cross state boundaries.[236] "
214
+ "The United States has an established structure of foreign relations, and it had the world's second-largest diplomatic corps in 2019.[237] It is a permanent member of the United Nations Security Council,[238] and home to the United Nations headquarters.[239] The United States is also a member of the G7,[240] G20,[241] and OECD intergovernmental organizations.[242] Almost all countries have embassies and many have consulates (official representatives) in the country"
215
+ "Likewise, nearly all nations host formal diplomatic missions with the United States, except Iran,[243] North Korea,[244] and Bhutan.[245] Though Taiwan does not have formal diplomatic relations with the U.S., it maintains close, if unofficial, relations.[246] The United States also regularly supplies Taiwan with military equipment to deter potential Chinese aggression.[247] "
216
+ "The United States has a ""Special Relationship"" with the United Kingdom[248] and strong ties with Canada,[249] Australia,[250] New Zealand,[251] the Philippines,[252] Japan,[253] South Korea,[254] Israel,[255] and several European Union countries (France, Italy, Germany, Spain, and Poland).[256] The U.S"
217
+ "works closely with its NATO allies on military and national security issues, and with nations in the Americas through the Organization of American States and the United States–Mexico–Canada Free Trade Agreement"
218
+ "In South America, Colombia is traditionally considered to be the closest ally of the United States.[257] The U.S"
219
+ "exercises full international defense authority and responsibility for Micronesia, the Marshall Islands, and Palau through the Compact of Free Association.[258] It has increasingly conducted strategic cooperation with India,[259] and its ties with China have steadily deteriorated.[260][261] The U.S"
220
+ "has become a key ally of Ukraine since Russia annexed Crimea in 2014 and began an invasion of Ukraine in 2022, significantly deteriorating relations with Russia in the process.[262][263] "
221
+ "The President is the commander-in-chief of the United States Armed Forces and appoints its leaders, the secretary of defense and the Joint Chiefs of Staff"
222
+ "The Department of Defense, which is headquartered at the Pentagon near Washington, D.C., administers five of the six service branches, which are made up of the Army, Marine Corps, Navy, Air Force, and Space Force"
223
+ "The Coast Guard is administered by the Department of Homeland Security in peacetime and can be transferred to the Department of the Navy in wartime.[264] The United States spent $877 billion on its military in 2022, 39% of global military spending, accounting for 3.5% of the country's GDP.[265][266] The U.S"
224
+ "has more than 40% of the world's nuclear weapons, the second-largest amount after Russia.[267] "
225
+ "In 2019, all six branches of the U.S"
226
+ "Armed Forces reported 1.4 million personnel on active duty.[268] The Reserves and National Guard brought the total number of troops to 2.3 million.[268] The Department of Defense also employed about 700000 civilians, not including contractors.[269] Military service in the United States is voluntary, although conscription may occur in wartime through the Selective Service System.[270] The United States has the third-largest combined armed forces in the world, behind the Chinese People's Liberation Army and Indian Armed Forces.[271] "
227
+ "Today, American forces can be rapidly deployed by the Air Force's large fleet of transport aircraft, the Navy's 11 active aircraft carriers, and Marine expeditionary units at sea with the Navy, and Army's XVIII Airborne Corps and 75th Ranger Regiment deployed by Air Force transport aircraft"
228
+ "The Air Force can strike targets across the globe through its fleet of strategic bombers, maintains the air defense across the United States, and provides close air support to Army and Marine Corps ground forces.[272][273] "
229
+ "The Space Force operates the Global Positioning System (GPS, also widespread in civilian use worldwide), the Eastern and Western Ranges for all space launches, and the United States's Space Surveillance and Missile Warning networks.[274][275][276] The military operates about 800 bases and facilities abroad,[277] and maintains deployments greater than 100 active duty personnel in 25 foreign countries.[278] "
230
+ There are about 18000 U.S
231
+ police agencies from local to federal level in the United States.[279] Law in the United States is mainly enforced by local police departments and sheriff's offices
232
+ "The state police provides broader services, and federal agencies such as the Federal Bureau of Investigation (FBI) and the U.S"
233
+ "Marshals Service have specialized duties, such as protecting civil rights, national security and enforcing U.S"
234
+ "federal courts' rulings and federal laws.[280] State courts conduct most civil and criminal trials,[281] and federal courts handle designated crimes and appeals from the state criminal courts.[282] "
235
+ "As of 2020[update], the United States has an intentional homicide rate of 7 per 100000 people.[283] A cross-sectional analysis of the World Health Organization Mortality Database from 2010 showed that United States homicide rates ""were 7.0 times higher than in other high-income countries, driven by a gun homicide rate that was 25.2 times higher.""[284] "
236
+ "As of January 2023, the United States has the sixth highest per-capita incarceration rate in the world, at 531 people per 100000; and the largest prison and jail population in the world at 1767200.[285][286] In 2019, the total prison population for those sentenced to more than a year was 1430000, corresponding to a ratio of 419 per 100000 residents and the lowest since 1995.[287] Some think tanks place that number higher, such as Prison Policy Initiative's estimate of 1.9 million.[288] Various states have attempted to reduce their prison populations via government policies and grassroots initiatives.[289] "
237
+ "According to the International Monetary Fund, the U.S"
238
+ "gross domestic product (GDP) is $25.5 trillion, the largest of any country in the world, constituting over 25% of the gross world product at market exchange rates and over 15% of the gross world product at purchasing power parity (PPP).[292][13] From 1983 to 2008, U.S"
239
+ "real compounded annual GDP growth was 3.3%, compared to a 2.3% weighted average for the rest of the Group of Seven.[293] The country ranks first in the world by nominal GDP,[294] second by GDP (PPP),[13] seventh by nominal GDP per capita,[292] and eighth by GDP (PPP) per capita.[13] As of 2022, the United States was ranked 25th out of 169 countries on the Social Progress Index, which measures ""the extent to which countries provide for the social and environmental needs of their citizens.""[295] The U.S"
240
+ has been the world's largest economy since at least 1900.[296]
241
+ "Many of the world's largest companies, such as Alphabet (Google), Amazon, Apple, AT&T, Coca-Cola, Disney, General Motors, McDonald's, Meta, Microsoft, Nike, Pepsi, and Walmart, were founded and are headquartered in the United States.[298] Of the world's 500 largest companies, 136 are headquartered in the U.S.[298] "
242
+ "The United States is at or near the forefront of technological advancement and innovation[299] in many economic fields, especially in artificial intelligence; computers; pharmaceuticals; and medical, aerospace and military equipment.[300] The nation's economy is fueled by abundant natural resources, a well-developed infrastructure, and high productivity.[301] It has the second-highest total-estimated value of natural resources, valued at US$44.98 trillion in 2019, although sources differ on their estimates"
243
+ "Americans have the highest average household and employee income among OECD member states,[302] and the fourth-highest median household income,[303] up from sixth-highest in 2013.[304] "
244
+ The U.S
245
+ "dollar is the currency most used in international transactions and is the world's foremost reserve currency, backed by the country's dominant economy, its military, the petrodollar system, and its linked eurodollar and large U.S"
246
+ "treasuries market.[290] Several countries use it as their official currency and in others it is the de facto currency.[305][306] New York City is the world's principal financial center, with the largest economic output, and the epicenter of the principal American metropolitan economy.[307][308][309] The New York Stock Exchange and Nasdaq, both located in New York City, are the world's two largest stock exchanges by market capitalization and trade volume.[310][311] "
247
+ The largest U.S
248
+ "trading partners are the European Union, Mexico, Canada, China, Japan, South Korea, the United Kingdom, Vietnam, India, and Taiwan.[312] The United States is the world's largest importer and the second-largest exporter after China.[313] It is by far the world's largest exporter of services.[314] It has free trade agreements with several countries, including the USMCA.[315] The U.S"
249
+ "ranked second in the Global Competitiveness Report in 2019, after Singapore.[316] "
250
+ "While its economy has reached a post-industrial level of development, the United States remains an industrial power.[317] As of 2018, the U.S"
251
+ is the second-largest manufacturing nation after China.[318] Despite the fact that the U.S
252
+ "only accounted for 4.24% of the global population, residents of the U.S"
253
+ "collectively possessed 31.5% of the world's total wealth as of 2021, the largest percentage of any country.[319] The U.S"
254
+ "also ranks first in the number of dollar billionaires and millionaires, with 724 billionaires[320] and nearly 22 million millionaires (as of 2021).[321] "
255
+ "Wealth in the United States is highly concentrated; the richest 10% of the adult population own 72% of the country's household wealth, while the bottom 50% own just 2%.[322] Income inequality in the U.S"
256
+ "remains at record highs,[323] with the top fifth of earners taking home more than half of all income[324] and giving the U.S"
257
+ "one of the widest income distributions among OECD members.[325] There were about 582,500 sheltered and unsheltered homeless persons in the U.S"
258
+ "in 2022, with 60% staying in an emergency shelter or transitional housing program.[326] In 2018 six million children experience food insecurity.[327] Feeding America estimates that around one in seven, or approximately 11 million, children experience hunger and do not know where they will get their next meal or when.[328] As of June 2018,[update] 40 million people, roughly 12.7% of the U.S"
259
+ "population, were living in poverty, including 13.3 million children.[329] "
260
+ "The United States has a smaller welfare state and redistributes less income through government action than most other high-income countries.[330] It is the only advanced economy that does not guarantee its workers paid vacation nationally[331] and is one of a few countries in the world without federal paid family leave as a legal right.[332] The United States also has a higher percentage of low-income workers than almost any other developed nation, largely because of a weak collective bargaining system and lack of government support for at-risk workers.[333] "
261
+ The United States has been a leader in technological innovation since the late 19th century and scientific research since the mid-20th century
262
+ Methods for producing interchangeable parts and the establishment of a machine tool industry enabled the U.S
263
+ "to have large-scale manufacturing of sewing machines, bicycles, and other items in the late 19th century"
264
+ "In the early 20th century, factory electrification, the introduction of the assembly line, and other labor-saving techniques created the system of mass production.[334] In the 21st century, approximately two-thirds of research and development funding comes from the private sector.[335] In 2022, the United States was the country with the second-highest number of published scientific papers.[336] As of 2021, the U.S"
265
+ "ranked second by the number of patent applications, and third by trademark and industrial design applications.[337] In 2021, the United States launched a total of 51 spaceflights.[338] The U.S"
266
+ "had 2,944 active satellites in space in December 2021, the highest number of any country.[339] In 2022, the United States ranked 2nd in the Global Innovation Index.[340] "
267
+ "As of 2021[update], the United States receives approximately 79.1% of its energy from fossil fuels.[341] In 2021, the largest source of the country's energy came from petroleum (36.1%), followed by natural gas (32.2%), coal (10.8%), renewable sources (12.5%), and nuclear power (8.4%).[341] The United States constitutes less than 5% of the world's population, but consumes 17% of the world's energy.[342] It accounts for about 25% of the world's petroleum consumption, while producing only 6% of the world's annual petroleum supply.[343] The U.S"
268
+ "ranks as second-highest emitter of greenhouse gases, exceeded only by China.[344] "
269
+ "The United States's rail network, nearly all standard gauge, is the longest in the world, and exceeds 293,564 km (182,400 mi).[346] It handles mostly freight, with intercity passenger service primarily provided by Amtrak, a government-managed company that took over services previously run by private companies, to all but four states.[347][348] "
270
+ "Personal transportation in the United States is dominated by automobiles,[349][350] which operate on a network of 4 million miles (6.4 million kilometers) of public roads, making it the longest network in the world.[351][352] The Oldsmobile Curved Dash and the Ford Model T, both American cars, are considered the first mass-produced[353] and mass-affordable[354] cars, respectively"
271
+ "As of 2022, the United States is the second-largest manufacturer of motor vehicles[355] and is home to Tesla, the world's most valuable car company.[356] American automotive company General Motors held the title of the world's best-selling automaker from 1931 to 2008.[357] Currently, the American automotive industry is the world's second-largest automobile market by sales,[358] and the U.S"
272
+ "has the highest vehicle ownership per capita in the world, with 816.4 vehicles per 1000 Americans (2014).[359] In 2017, there were 255 million non-two wheel motor vehicles, or about 910 vehicles per 1000 people.[360] "
273
+ "The American civil airline industry is entirely privately owned and has been largely deregulated since 1978, while most major airports are publicly owned.[361] The three largest airlines in the world by passengers carried are U.S.-based; American Airlines is number one after its 2013 acquisition by US Airways.[362] Of the world's 50 busiest passenger airports, 16 are in the United States, including the top five and the busiest, Hartsfield–Jackson Atlanta International Airport.[363][364] As of 2020[update], there are 19,919 airports in the United States, of which 5,217 are designated as ""public use"", including for general aviation and other activities.[365] "
274
+ "Of the fifty busiest container ports, four are located in the United States, of which the busiest is the Port of Los Angeles.[366] The country's inland waterways are the world's fifth-longest, and total 41,009 km (25,482 mi).[367] "
275
+ The U.S
276
+ "Census Bureau reported 331,449,281 residents as of April 1, 2020,[n][368] making the United States the third-most populous nation in the world, after China and India.[369] According to the Bureau's U.S"
277
+ "Population Clock, on January 28, 2021, the U.S"
278
+ "population had a net gain of one person every 100 seconds, or about 864 people per day.[370] In 2018, 52% of Americans age 15 and over were married, 6% were widowed, 10% were divorced, and 32% had never been married.[371] In 2021, the total fertility rate for the U.S"
279
+ "stood at 1.7 children per woman,[372] and it had the world's highest rate of children (23%) living in single-parent households in 2019.[373] "
280
+ "The United States has a diverse population; 37 ancestry groups have more than one million members.[374] White Americans with ancestry from Europe, the Middle East or North Africa, form the largest racial and ethnic group at 57.8% of the United States population.[375][376] Hispanic and Latino Americans form the second-largest group and are 18.7% of the United States population"
281
+ "African Americans constitute the nation's third-largest ancestry group and are 12.1% of the total United States population.[374] Asian Americans are the country's fourth-largest group, composing 5.9% of the United States population, while the country's 3.7 million Native Americans account for about 1%.[374] In 2020, the median age of the United States population was 38.5 years.[369] "
282
+ "While many languages are spoken in the United States, English is the most common.[377] Although there is no official language at the federal level, some laws—such as U.S"
283
+ "naturalization requirements—standardize English, and most states have declared English as the official language.[378] Three states and four U.S"
284
+ "territories have recognized local or indigenous languages in addition to English, including Hawaii (Hawaiian),[379] Alaska (twenty Native languages),[o][380] South Dakota (Sioux),[381] American Samoa (Samoan), Puerto Rico (Spanish), Guam (Chamorro), and the Northern Mariana Islands (Carolinian and Chamorro)"
285
+ "In Puerto Rico, Spanish is more widely spoken than English.[382] "
286
+ "According to the American Community Survey, in 2010 some 229 million people (out of the total U.S"
287
+ population of 308 million) spoke only English at home
288
+ "More than 37 million spoke Spanish at home, making it the second most commonly used language"
289
+ "Other languages spoken at home by one million people or more include Chinese (2.8 million), Tagalog (1.6 million), Vietnamese (1.4 million), French (1.3 million), Korean (1.1 million), and German (1 million).[383] "
290
+ "The United States has by far the highest number of immigrant population in the world, with 50,661,149 people.[384][385] In 2018, there were almost 90 million immigrants and U.S.-born children of immigrants in the United States, accounting for 28% of the overall U.S"
291
+ "population.[386] In 2017, out of the U.S"
292
+ "foreign-born population, some 45% (20.7 million) were naturalized citizens, 27% (12.3 million) were lawful permanent residents, 6% (2.2 million) were temporary lawful residents, and 23% (10.5 million) were unauthorized immigrants.[387] The United States led the world in refugee resettlement for decades, admitting more refugees than the rest of the world combined.[388] "
293
+ Religious affiliation in the United States is among the most diverse in the world[390] and varies significantly by region[391] and age.[392]
294
+ "The First Amendment guarantees the free exercise of religion and forbids Congress from passing laws respecting its establishment.[393][394] The country has the world's largest Christian population[395] and a majority of Americans identify as Christian, predominately Catholic, mainline Protestant, or evangelical"
295
+ "According to Gallup, 58% and 17% reporting praying often or sometimes, respectively, and 46% and 26% reporting that religion plays a very important or fairly important role, respectively, in their lives.[396] Most Americans do not regularly attend religious services[389] and have low confidence in religious institutions.[397] "
296
+ "Surveys conducted since 2020 indicate that between 74% and 91% of Americans believe in either a higher power or a monotheistic god.[398][399] Another 2022 Gallup poll found that 31% reported ""attending a church, synagogue, mosque or temple weekly or nearly weekly"".[400] In the ""Bible Belt"", located within the Southern United States, evangelical Protestantism plays a significant role culturally"
297
+ "New England and the Western United States tend to be less religious.[391] Around 6% of Americans claim a non-Christian faith;[401] the largest of which are Judaism, Islam, Hinduism, and Buddhism.[402] The United States either has the first or second-largest Jewish population in the world, the largest outside of Israel.[403] ""Ceremonial deism"" is common in American culture.[393][404] "
298
+ "Until the 1990s, the country was an outlier among highly developed countries, having a high level of religiosity and wealth, although this has lessened, with ""sharp declines in church attendance, confidence in organized religion and religious identification..."" since then.[398][401][405] Around 30-33% of Americans describe themselves as having no religion.[401][406] Membership in a house of worship fell from 70% in 1999 to 47% in 2020.[407] "
299
+ "About 82% of Americans live in urban areas, including suburbs;[171] about half of those reside in cities with populations over 50000.[408] In 2008, 273 incorporated municipalities had populations over 100000, nine cities had more than one million residents, and four cities (New York City, Los Angeles, Chicago, and Houston) had populations exceeding two million.[409] Many U.S"
300
+ "metropolitan populations are growing rapidly, particularly in the South and West.[410] "
301
+
302
+ American public education is operated by state and local governments and regulated by the United States Department of Education through restrictions on federal grants
303
+ "In most states, children are required to attend school from the age of five or six (beginning with kindergarten or first grade) until they turn 18 (generally bringing them through twelfth grade, the end of high school); some states allow students to leave school at 16 or 17.[411] Of Americans 25 and older, 84.6% graduated from high school, 52.6% attended some college, 27.2% earned a bachelor's degree, and 9.6% earned graduate degrees.[412] The basic literacy rate is approximately 99%.[171][413] "
304
+ The United States has many private and public institutions of higher education
305
+ "There are local community colleges with generally more open admission policies, shorter academic programs, and lower tuition.[414] The U.S"
306
+ "spends more on education per student than any nation in the world,[415] spending an average of $12,794 per year on public elementary and secondary school students in the 2016–2017 school year.[416] As for public expenditures on higher education, the U.S"
307
+ "spends more per student than the OECD average, and more than all nations in combined public and private spending.[417] Despite some student loan forgiveness programs in place,[418] student loan debt has increased by 102% in the last decade,[419] and exceeded 1.7 trillion dollars as of 2022.[420] "
308
+ "The large majority of the world's top universities, as listed by various ranking organizations, are in the United States, including 19 of the top 25.[421][422][423][424] The country has by far the most Nobel Prize winners in history, with 403 (having won 406 awards).[425] "
309
+ "In a preliminary report, the Centers for Disease Control and Prevention (CDC) announced that U.S"
310
+ "life expectancy at birth had dropped to 76.4 years in 2021 (73.2 years for men and 79.1 years for women), down 0.9 years from 2020"
311
+ "This was the second year of overall decline, and the chief causes listed were the COVID-19 pandemic, accidents, drug overdoses, heart and liver disease, and suicides.[427][428] Life expectancy was highest among Asians and Hispanics and lowest among Blacks and American Indian–Alaskan Native (AIAN) peoples.[429][430] Starting in 1998, the life expectancy in the U.S"
312
+ "fell behind that of other wealthy industrialized countries, and Americans' ""health disadvantage"" gap has been increasing ever since.[431] The U.S"
313
+ "also has one of the highest suicide rates among high-income countries,[432] and approximately one-third of the U.S"
314
+ "adult population is obese and another third is overweight.[433] According to CDC data, mortality rates among children and adolescents increased by 20% from 2019 to 2021.[434][435] Poverty was the 4th leading cause of death for 2019, according to a 2023 study published in JAMA.[436] "
315
+ "In 2010, coronary artery disease, lung cancer, stroke, chronic obstructive pulmonary diseases, and traffic collisions caused the most years of life lost in the U.S"
316
+ "Low back pain, depression, musculoskeletal disorders, neck pain, and anxiety caused the most years lost to disability"
317
+ "The most harmful risk factors were poor diet, tobacco smoking, obesity, high blood pressure, high blood sugar, physical inactivity, and alcohol consumption"
318
+ "Alzheimer's disease, substance use disorders, kidney disease, cancer, and falls caused the most additional years of life lost over their age-adjusted 1990 per-capita rates.[437] Teenage pregnancy and abortion rates in the U.S"
319
+ "are substantially higher than in other Western nations, especially among Blacks and Hispanics.[438] "
320
+ The U.S
321
+ "health care system far outspends that of any other nation, measured both in per capita spending and as a percentage of GDP but attains worse health care outcomes when compared to peer nations.[439] The United States is the only developed nation without a system of universal health care, and a significant proportion of the population that does not carry health insurance.[440] "
322
+ "Government-funded health care coverage for the poor (Medicaid, established in 1965) and for those age 65 and older (Medicare, begun in 1966) is available to Americans who meet the programs' income or age qualifications"
323
+ "In 2010, former President Obama passed the Patient Protection and Affordable Care Act or ACA,[p][441] with the law roughly halving the uninsured share of the population according to the CDC.[442] Multiple studies have concluded that ACA had reduced the mortality of enrollees.[443][444][445] However, its legacy remains controversial.[446] "
324
+ "Americans have traditionally been characterized by a unifying belief in an ""American creed"" emphasizing liberty, equality under the law, democracy, social equality, property rights, and a preference for limited government.[448][449] Individualism,[450][451] having a strong work ethic,[452] competitiveness,[453] and altruism[454][455][456] are also cited values"
325
+ "According to a 2016 study by the Charities Aid Foundation, Americans donated 1.44% of total GDP to charity, the highest in the world by a large margin.[457] The United States is home to a wide variety of ethnic groups, traditions, and values,[458][459] and exerts major cultural influence on a global scale,[460][461] with the phenomenon being termed Americanization.[462] As such, the U.S"
326
+ is considered a cultural superpower.[463]
327
+ "Nearly all present Americans or their ancestors came from Eurafrasia (""the Old World"") within the past five centuries.[464] Mainstream American culture is a Western culture largely derived from the traditions of European immigrants with influences from many other sources, such as traditions brought by slaves from Africa.[458][465] More recent immigration from Asia and especially Latin America has added to a cultural mix that has been described as a homogenizing melting pot, and a heterogeneous salad bowl, with immigrants contributing to, and often assimilating into, mainstream American culture.[458] The American Dream, or the perception that Americans enjoy high social mobility, plays a key role in attracting immigrants.[466] Whether this perception is accurate has been a topic of debate.[467][468][469] While mainstream culture holds that the United States is a classless society,[470] scholars identify significant differences between the country's social classes, affecting socialization, language, and values.[471] Americans tend to greatly value socioeconomic achievement, but being ordinary or average is promoted by some as a noble condition as well.[472] "
328
+ "The United States is considered to have the strongest protections of free speech of any country in the world under the First Amendment,[473] with the Supreme Court ruling that flag desecration, hate speech, blasphemy, and lese-majesty are all forms of protected expression.[474][475][476] A 2016 Pew Research Center poll found that Americans were the most supportive of free expression of any polity measured.[477] They are also the ""most supportive of freedom of the press and the right to use the Internet without government censorship.""[478] It is a socially progressive country[479] with permissive attitudes surrounding human sexuality.[480] LGBT rights in the U.S"
329
+ are among the most advanced in the world.[480][481][482]
330
+ The four major broadcasters in the U.S
331
+ "are the National Broadcasting Company (NBC), Columbia Broadcasting System (CBS), American Broadcasting Company (ABC), and Fox Broadcasting Company (FOX)"
332
+ The four major broadcast television networks are all commercial entities
333
+ "Cable television offers hundreds of channels catering to a variety of niches.[483] As of 2021[update], about 83% of Americans over age 12 listen to broadcast radio, while about 41% listen to podcasts.[484] As of September 30, 2014[update], there are 15,433 licensed full-power radio stations in the U.S"
334
+ according to the U.S
335
+ "Federal Communications Commission (FCC).[485] Much of the public radio broadcasting is supplied by NPR, incorporated in February 1970 under the Public Broadcasting Act of 1967.[486] "
336
+ "Globally-recognized newspapers in the United States include The Wall Street Journal, The New York Times, The Washington Post, and USA Today.[487] More than 800 publications are produced in Spanish, the second most commonly used language in the United States behind English.[488][489] With very few exceptions, all the newspapers in the U.S"
337
+ "are privately owned, either by large chains such as Gannett or McClatchy, which own dozens or even hundreds of newspapers; by small chains that own a handful of papers; or, in a situation that is increasingly rare, by individuals or families"
338
+ "Major cities often have alternative newspapers to complement the mainstream daily papers, such as The Village Voice in New York City and LA Weekly in Los Angeles"
339
+ The five most popular websites used in the U.S
340
+ "are Google, YouTube, Amazon, Yahoo, and Facebook, with all of them being American companies.[490] "
341
+ "The video game market of the United States is the world's second-largest by revenue.[491] Major publishers headquartered in the United States are Sony Interactive Entertainment, Take-Two, Activision Blizzard, Electronic Arts, Xbox Game Studios, Bethesda Softworks, Epic Games, Valve, Warner Bros., Riot Games, and others.[492][493] There are 444 publishers, developers, and hardware companies in California alone.[494] "
342
+ "In the 18th and early 19th centuries, American art and literature took most of their cues from Europe"
343
+ "Writers such as Washington Irving, Nathaniel Hawthorne, Edgar Allan Poe, and Henry David Thoreau established a distinctive American literary voice by the middle of the 19th century"
344
+ "Mark Twain and poet Walt Whitman were major figures in the century's second half; Emily Dickinson, virtually unknown during her lifetime, is recognized as an essential American poet.[496] "
345
+ "In the 1920s, the New Negro Movement coalesced in Harlem, where many writers had migrated from the South and West Indies"
346
+ Its pan-African perspective was a significant cultural export during the Jazz Age in Paris and as such was a key early influence on the négritude philosophy.[497]
347
+ "Since its first use in the 19th century, the term ""Great American Novel"" has been applied to many books, including Herman Melville's Moby-Dick (1851), Harriet Beecher Stowe's Uncle Tom's Cabin (1852), Twain's The Adventures of Huckleberry Finn (1885), F"
348
+ "Scott Fitzgerald's The Great Gatsby (1925), John Steinbeck's The Grapes of Wrath (1939), Harper Lee's To Kill a Mockingbird (1960), Toni Morrison's Beloved (1987), and David Foster Wallace's Infinite Jest (1996).[498][499][500] "
349
+ Thirteen U.S
350
+ "citizens have won the Nobel Prize in Literature, most recently Louise Glück, Bob Dylan, and Toni Morrison.[501] Earlier laureates William Faulkner, Ernest Hemingway and John Steinbeck have also been recognized as influential 20th century writers.[502] "
351
+ "In the visual arts, the Hudson River School was a mid-19th-century movement in the tradition of European naturalism"
352
+ "The 1913 Armory Show in New York City, an exhibition of European modernist art, shocked the public and transformed the U.S"
353
+ "art scene.[503] Georgia O'Keeffe, Marsden Hartley, and others experimented with new, individualistic styles, which would become known as American modernism"
354
+ ""
355
+ Major artistic movements such as the abstract expressionism of Jackson Pollock and Willem de Kooning and the pop art of Andy Warhol and Roy Lichtenstein developed largely in the United States
356
+ "The tide of modernism and then postmodernism has brought global fame to American architects such as Frank Lloyd Wright, Philip Johnson, and Frank Gehry.[504] Major photographers include Alfred Stieglitz, Edward Steichen, Dorothea Lange, Edward Weston, James Van Der Zee, Ansel Adams, and Gordon Parks.[505] "
357
+ "The uniquely American ""Chicago School"" refers to two architectural styles derived from the architecture of Chicago"
358
+ "In the history of architecture, the first Chicago School was a school of architects active in Chicago in the late 19th, and at the turn of the 20th century"
359
+ "They were among the first to promote the new technologies of steel-frame construction in commercial buildings, and developed a spatial aesthetic which co-evolved with, and then came to influence, parallel developments in European Modernism"
360
+ "Much of its early work is also known as ""Commercial Style"".[506] A ""Second Chicago School"" with a modernist aesthetic emerged in the 1940s through 1970s, which pioneered new building technologies and structural systems, such as the tube-frame structure.[507] Americans who have had dramatic influences on national and international architecture include Maya Lin, Frederick Law Olmstead, I.M"
361
+ "Pei,Stanford White, and Frank Loyd Wright"
362
+ ""
363
+ The United States movie industry has a worldwide influence and following
364
+ "Hollywood, a district in northern Los Angeles, the nation's second-most populous city, is the leader in motion picture production and the most recognizable movie industry in the world.[508][509][510] The major film studios of the United States are the primary source of the most commercially successful and most ticket-selling movies in the world.[511][512] "
365
+ "Since the early 20th century, the U.S"
366
+ "film industry has largely been based in and around Hollywood, although in the 21st century an increasing number of films are not made there, and film companies have been subject to the forces of globalization.[513] The Academy Awards, popularly known as the Oscars, have been held annually by the Academy of Motion Picture Arts and Sciences since 1929,[514] and the Golden Globe Awards have been held annually since January 1944.[515] "
367
+ Director D
368
+ W
369
+ "Griffith's film adaptation of The Clansman: A Historical Romance of the Ku Klux Klan was the first American blockbuster, earning the equivalent of $1.8 billion in current dollars"
370
+ " The technical achievements of the film revolutionized film grammar, while its subject matter caused both strident protest and a revitalization of the Klan.[516] Producer/entrepreneur Walt Disney was a leader in both animated film and movie merchandising.[517] Directors such as John Ford redefined the image of the American Old West, and, like others such as John Huston, broadened the possibilities of cinema with location shooting"
371
+ "The industry enjoyed its golden years, in what is commonly referred to as the ""Golden Age of Hollywood"", from the early sound period until the early 1960s,[518] with screen actors such as John Wayne and Marilyn Monroe becoming iconic figures.[519][520] In the 1970s, ""New Hollywood"" or the ""Hollywood Renaissance""[521] was defined by grittier films influenced by French and Italian realist pictures of the post-war period.[522] "
372
+ "The 21st century has been marked by the rise of American streaming platforms, such as Netflix, Disney+, Paramount+, and Apple TV+, which came to rival traditional cinema.[523][524] "
373
+ "Mainstream theater in the United States derives from the old European theatrical tradition and has been heavily influenced by the British theater.[525] The central hub of the American theater scene has been Manhattan, with its divisions of Broadway, off-Broadway, and off-off-Broadway.[526] Many movie and television stars have gotten their big break working in New York productions"
374
+ "Outside New York City, many cities have professional regional or resident theater companies that produce their own seasons"
375
+ The biggest-budget theatrical productions are musicals
376
+ U.S
377
+ theater also has an active community theater culture.[527]
378
+ "American folk music encompasses numerous music genres, variously known as traditional music, traditional folk music, contemporary folk music, or roots music"
379
+ "Many traditional songs have been sung within the same family or folk group for generations, and sometimes trace back to such origins as the British Isles, Mainland Europe, or Africa.[528] "
380
+ The rhythmic and lyrical styles of African-American music have significantly influenced American music at large
381
+ "The Smithsonian Institution states, ""African-American influences are so fundamental to American music that there would be no American music without them.""[529] One instrument first mass-produced in the United States was the banjo, which had originally been crafted from gourds covered by animal skins by African slaves.[530][531] Banjos became widely popular in the 19th century due to their use in minstrel shows.[530] Country music developed in the 1920s, and rhythm and blues in the 1940s"
382
+ Elements from folk idioms such as the blues and what is known as old-time music were adopted and transformed into popular genres with global audiences
383
+ Jazz was developed by innovators such as Louis Armstrong and Duke Ellington early in the 20th century.[532]
384
+ Elvis Presley and Chuck Berry were among the pioneers of rock and roll in the mid-1950s
385
+ "Rock bands such as Metallica, the Eagles, and Aerosmith are among the highest grossing in worldwide sales.[533][534][535] In the 1960s, Bob Dylan emerged from the folk revival to become one of the country's most celebrated songwriters.[536] Mid-20th-century American pop stars such as Bing Crosby, Frank Sinatra,[537] and Elvis Presley became global celebrities,[532] as have artists of the late 20th century such as Prince, Michael Jackson, Madonna, Whitney Houston, and Mariah Carey.[538][539] The musical forms of punk and hip hop both originated in the United States.[540] American professional opera singers have reached the highest level of success in that form, including Renée Fleming, Leontyne Price, Beverly Sills, Nelson Eddy, and many others.[541] "
386
+ "American popular music, as part of the wider U.S"
387
+ "pop culture, has a worldwide influence and following.[542] Beyoncé, Taylor Swift, Miley Cyrus, Ariana Grande, Eminem, Lady Gaga, Katy Perry, and many other contemporary artists dominate global streaming rankings.[543] The United States has the world's largest music market with a total retail value of $4.9 billion in 2014.[544] Most of the world's major record companies are based in the U.S.; they are represented by the Recording Industry Association of America (RIAA).[545] "
388
+ "Early settlers were introduced by Native Americans to such indigenous, non-European foods as turkey, sweet potatoes, corn, squash, and maple syrup"
389
+ "They and later immigrants combined these with foods they had known, such as wheat flour,[546] beef, and milk to create a distinctive American cuisine.[547][548] Homegrown foods are part of a shared national menu on one of America's most popular holidays, Thanksgiving, when many Americans make or purchase traditional foods to celebrate the occasion.[549] "
390
+ "The American fast food industry, the world's first and largest, is often viewed as being a symbol of U.S"
391
+ marketing dominance
392
+ "Companies such as McDonald's,[550] Burger King, Pizza Hut, Kentucky Fried Chicken, and Domino's Pizza, among others, have numerous outlets around the world,[551] and pioneered the drive-through format in the 1940s.[552] Characteristic American dishes such as apple pie, fried chicken, doughnuts, french fries, macaroni and cheese, ice cream, pizza, hamburgers, and hot dogs derive from the recipes of various immigrants.[553][554] Mexican dishes such as burritos and tacos, and pasta dishes freely adapted from Italian sources are widely consumed.[555] "
393
+ The most popular spectator sports in the U.S
394
+ "are American football, basketball, baseball, soccer, and ice hockey, according to a 2017 Gallup poll.[556] While most major U.S"
395
+ "sports such as baseball and American football have evolved out of European practices, basketball, volleyball, skateboarding, and snowboarding are American inventions, some of which have become popular worldwide.[557] Lacrosse and surfing arose from Native American and Native Hawaiian activities that predate European contact.[558] The market for professional sports in the United States was approximately $69 billion in July 2013, roughly 50% larger than that of all of Europe, the Middle East, and Africa combined.[559] "
396
+ "American football is by several measures the most popular spectator sport in the United States;[560] the National Football League (NFL) has the highest average attendance of any sports league in the world, and the Super Bowl is watched by tens of millions globally.[561] Baseball has been regarded as the U.S"
397
+ "national sport since the late 19th century, with Major League Baseball being the top league"
398
+ "Basketball, soccer and ice hockey are the country's next three most popular professional team sports, with the top leagues being the National Basketball Association and the National Hockey League, which are also the premier leagues worldwide for these sports"
399
+ The most-watched individual sports in the U.S
400
+ "are golf and auto racing, particularly NASCAR and IndyCar.[562][563] On the collegiate level, earnings for the member institutions exceed $1 billion annually,[564] and college football and basketball attract large audiences, as the NCAA Final Four is one of the most watched national sporting events.[565] "
401
+ Eight Olympic Games have taken place in the United States
402
+ The 1904 Summer Olympics in St
403
+ "Louis, Missouri, were the first-ever Olympic Games held outside of Europe.[566] The Olympic Games will be held in the U.S"
404
+ for a ninth time when Los Angeles hosts the 2028 Summer Olympics
405
+ U.S
406
+ "athletes have won a total of 2,959 medals (1,173 gold) at the Olympic Games, by far the most of any country.[567][568][569] "
407
+ "In international soccer, the men's national soccer team qualified for eleven World Cups, and the women's national team has won the FIFA Women's World Cup and Olympic soccer tournament four times each.[570] The United States hosted the 1994 FIFA World Cup and will co-host, along with Canada and Mexico, the 2026 FIFA World Cup.[571] "
408
+ Government
409
+ History
410
+ Maps
411
+
412
+ 40°N 100°W / 40°N 100°W / 40; -100 (United States of America)
pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9aa1ff7421b073599711ad9285aec2cd3c9407b6b6b823a33889efa8d0eaf549
3
+ size 267864813
saved_model/config.json ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "distilbert-base-uncased",
3
+ "activation": "gelu",
4
+ "architectures": [
5
+ "DistilBertForSequenceClassification"
6
+ ],
7
+ "attention_dropout": 0.1,
8
+ "dim": 768,
9
+ "dropout": 0.1,
10
+ "hidden_dim": 3072,
11
+ "id2label": {
12
+ "0": "LABEL_0",
13
+ "1": "LABEL_1",
14
+ "2": "LABEL_2"
15
+ },
16
+ "initializer_range": 0.02,
17
+ "label2id": {
18
+ "LABEL_0": 0,
19
+ "LABEL_1": 1,
20
+ "LABEL_2": 2
21
+ },
22
+ "max_position_embeddings": 512,
23
+ "model_type": "distilbert",
24
+ "n_heads": 12,
25
+ "n_layers": 6,
26
+ "pad_token_id": 0,
27
+ "problem_type": "single_label_classification",
28
+ "qa_dropout": 0.1,
29
+ "seq_classif_dropout": 0.2,
30
+ "sinusoidal_pos_embds": false,
31
+ "tie_weights_": true,
32
+ "torch_dtype": "float32",
33
+ "transformers_version": "4.17.0",
34
+ "vocab_size": 30522
35
+ }
saved_model/special_tokens_map.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"unk_token": "[UNK]", "sep_token": "[SEP]", "pad_token": "[PAD]", "cls_token": "[CLS]", "mask_token": "[MASK]"}
saved_model/tokenizer_config.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"do_lower_case": true, "do_basic_tokenize": true, "never_split": null, "unk_token": "[UNK]", "sep_token": "[SEP]", "pad_token": "[PAD]", "cls_token": "[CLS]", "mask_token": "[MASK]", "tokenize_chinese_chars": true, "strip_accents": null, "model_max_length": 512, "special_tokens_map_file": null, "name_or_path": "distilbert-base-uncased", "tokenizer_class": "DistilBertTokenizer"}
saved_model/vocab.txt ADDED
The diff for this file is too large to render. See raw diff