File size: 3,887 Bytes
b837a10 dc76b04 b837a10 dc76b04 b837a10 dc76b04 b837a10 dc76b04 b837a10 dc76b04 b837a10 dc76b04 b837a10 dc76b04 b837a10 dc76b04 b837a10 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from categories.fluency import *"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Sentence: The cat sat the quickly up apples banana.\n",
"tensor([ 101, 10117, 41163, 20694, 10105, 23590, 10741, 72894, 11268, 99304,\n",
" 10219, 119, 102])\n",
"tensor([[ 0, 0],\n",
" [ 0, 3],\n",
" [ 4, 7],\n",
" [ 8, 11],\n",
" [12, 15],\n",
" [16, 23],\n",
" [24, 26],\n",
" [27, 30],\n",
" [30, 33],\n",
" [34, 38],\n",
" [38, 40],\n",
" [40, 41],\n",
" [ 0, 0]])\n",
"[np.float64(0.00905743383887514), np.float64(1.1257066968185931), np.float64(4.8056646935577145), np.float64(4.473408069089179), np.float64(4.732453441503642), np.float64(3.028744414819041), np.float64(5.1115574262487735), np.float64(-0.6523823890571343)]\n",
"[np.float64(1.7636628003080927), np.float64(6.955413759407024), np.float64(10.828562153345375), np.float64(6.228013435558396), np.float64(10.258657658689351), np.float64(6.635744767229443), np.float64(11.163667119285972), np.float64(10.499412826924114), np.float64(11.96113847381264), np.float64(10.010973250156082), np.float64(2.470404176100153)]\n",
"0.5208035409471965\n"
]
}
],
"source": [
"s = input(\"Enter a sentence: \") # Prompt the user to enter a sentence\n",
"\n",
"if s == \"\":\n",
" s = \"The cat sat the quickly up apples banana.\"\n",
"\n",
"print(\"Sentence:\", s) # Print the input sentence\n",
"\n",
"err = grammar_errors(s) # Call the function to execute the grammar error checking\n",
"flu = pseudo_perplexity(s, threshold=2.5) # Call the function to execute the fluency checking"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"An apostrophe may be missing.: apples banana.\n",
"Perplexity 4.8056646935577145 over threshold 2.5: sat\n",
"Perplexity 4.473408069089179 over threshold 2.5: the\n",
"Perplexity 4.732453441503642 over threshold 2.5: quickly\n",
"Perplexity 3.028744414819041 over threshold 2.5: up\n",
"Perplexity 5.1115574262487735 over threshold 2.5: apples\n"
]
}
],
"source": [
"combined_err = err[\"errors\"] + flu[\"errors\"] # Combine the error counts from both functions\n",
"\n",
"for e in combined_err:\n",
" substr = \" \".join(s.split(\" \")[e[\"start\"]:e[\"end\"]+1])\n",
" print(f\"{e['message']}: {substr}\") # Print the error messages\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"87.5 99.71\n",
"Fluency Score: 92.384\n"
]
}
],
"source": [
"fluency_score = 0.7 * err[\"score\"] + 0.3 * flu[\"score\"] # Calculate the fluency score\n",
"print(err[\"score\"], flu[\"score\"]) # Print the individual scores\n",
"print(\"Fluency Score:\", fluency_score) # Print the fluency score"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "teach-bs",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.11"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
|