An English learning assistance method and system
By constructing a vocabulary and grammar grading table, combining the ‘i+1’ theory, evaluating the user’s English proficiency and recommending suitable reading content, the problem that existing systems are difficult to effectively evaluate and recommend is solved, and more accurate and effective personalized English learning assistance is achieved.
Patent Information
- Application Number
- CN202210150091.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-18
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2042-02-18
AI Technical Summary
The existing English learning assistance system is difficult to effectively evaluate the English language level of second language learners, resulting in poor personalized recommendations and cannot accurately reflect the learners' actual difficulty.
By constructing a vocabulary rating table and a grammatical rating table, combining the essays uploaded by the user, the user's vocabulary and grammatical rating is evaluated, and suitable reading content is recommended based on the 'i+1' theory.
It achieves a comprehensive and accurate assessment of the user's English level, provides more reasonable and effective personalized recommendations, and promotes the development of learners' English level.
Smart Images

Figure CN114547278B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of intelligent assistance for English learning, and particularly to an English learning assistance method and system. Background Art
[0002] English is one of the main common languages in the world today and is also the most widely used language. In the basic education development strategy of our country, English education is also regarded as an important part of citizens' quality education and is given a prominent position. English proficiency has become an essential skill.
[0003] However, in the process of English learning, due to the different learning abilities of different learners and the different language development levels, if the same teaching method is used for English learners at different levels, it is impossible to ensure that everyone achieves the best learning effect. Therefore, personalized teaching is very important. At the same time, with the development of Internet technology, a large number of English reading materials have emerged on the Internet, which provides rich resources for English learning. How to give full play to the resource advantages of the Internet and effectively extract English texts suitable for students' personalized learning from rich network corpora has become an urgent problem to be solved in English learning.
[0004] To meet these needs, it is necessary to implement an English language proficiency assessment, English knowledge, and text recommendation system to provide more effective personalized recommendations for learners and promote the development of the language proficiency of language learners.
[0005] The existing English learning assistance systems and methods can be roughly divided into two categories:
[0006] The first type of method mainly evaluates the user's level based on the lexical difficulty of the text and makes text recommendations. This type of method usually extracts all the words in the article according to the composition or understandable reading materials provided by the user, and then evaluates the user's language level based on a single lexical statistical feature (such as frequency, etc.). On the one hand, this type of method ignores the impact of grammar difficulty on reading; on the other hand, taking statistical features such as frequency as the lexical difficulty ignores the learning conditions of second language learners without sufficient context, and often cannot reflect the actual difficulty of language learners in learning vocabulary. Therefore, the ability assessment and text recommendation based on this type of method often result in situations that are not friendly to learners and have a huge difference in real learning difficulty.
[0007] The second type of method evaluates the user's level based on multiple language features for text recommendation. This type of method usually selects a large number of language features, such as word frequency, syllable count, part of speech, etc. from multiple dimensions, and uses machine learning and other methods to determine the difficulty of the text. This method can achieve good results on standard datasets, but lacks basis in actual use and is restricted by the training corpus. If a foreign language standard corpus is used, it cannot reflect the ability level judgment of second language learners in countries like China. Second, training requires a large number of labeled sets, which poses a huge challenge to the construction and accumulation of the corpus. Therefore, this type of method is difficult to be used in actual teaching activities. Third, the numerous dimensional features sometimes interfere with each other and are inconsistent with the actual teaching progress, which will further reduce the practicality of this type of method.
[0008] At the same time, when these two types of methods recommend texts, they usually calculate the text similarity using the Euclidean distance and select the reading material with the closest difficulty level to the text uploaded by the user for recommendation. However, similar texts are not necessarily suitable for language learners to study. A more suitable way is to first reasonably classify the grammar and vocabulary that language learners need to learn, then accurately evaluate the learner's true level based on this classification, and finally push reading texts containing the vocabulary and grammar that need to be learned in the next stage to the learners.
[0009] In summary, the existing methods are all difficult to effectively evaluate the English language level of second language learners, which makes the automated push based on second language learning very difficult. Summary of the Invention
[0010] To solve the above technical problems, the present invention provides an English learning assistance method and system.
[0011] The technical solution of the present invention is as follows: An English learning assistance method includes:
[0012] Step S1: Construct a vocabulary classification table according to the existing dictionary;
[0013] Step S2: Construct a grammar classification table according to the English teaching syllabus;
[0014] Step S3: The user uploads a composition; according to the composition, create a user vocabulary list for the user, and combine it with the vocabulary classification table to determine the user's vocabulary level;
[0015] Step S4: According to the composition, create a user grammar list for the user, combine it with the grammar classification table, and determine the user's grammar level;
[0016] Step S5: Recommend reading content for the user according to the user's vocabulary level and the user's grammar level.
[0017] Compared with the prior art, the present invention has the following advantages:
[0018] 1. The present invention discloses an English learning assistance method, which can more comprehensively and accurately evaluate the user's true English level.
[0019] 2. The present invention selects to classify vocabulary based on dictionary explanations written by experts, which is more in line with the actual vocabulary difficulty classification; when evaluating the grammar level, the English teaching syllabus is used as the basis to construct a grammar classification table, thus ensuring that the grammar evaluation results are more authoritative.
[0020] 3. When recommending content to users, on the one hand, the present invention provides recommendations for vocabulary, grammar, and articles at the same time, thus ensuring the comprehensiveness of the pushed content; on the other hand, when pushing articles, instead of selecting articles with similar difficulties, based on the "i + 1" theory, according to the user's vocabulary and grammar development levels, it selects the vocabulary, grammar, and articles containing these contents that need to be learned at the next language development level, which more reasonably and effectively promotes the development of the learner's English level. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 It is a flowchart of an English learning assistance method in an embodiment of the present invention;
[0022] Figure 2 It is a flowchart of constructing a vocabulary classification table in an embodiment of the present invention;
[0023] Figure 3 It is a flowchart of a vocabulary statistics module in an embodiment of the present invention;
[0024] Figure 4 It is a flowchart of the SIMPLICITY algorithm in an embodiment of the present invention;
[0025] Figure 5 It is a flowchart of creating a user vocabulary list for a user in an embodiment of the present invention;
[0026] Figure 6 It is a flowchart of determining a user's vocabulary level in an embodiment of the present invention;
[0027] Figure 7 It is a flowchart of creating a user grammar table for a user in an embodiment of the present invention;
[0028] Figure 8 It is a flowchart of a grammar statistics module in an embodiment of the present invention;
[0029] Figure 9 It is a flowchart of determining a user's grammar level in an embodiment of the present invention;
[0030] Figure 10Flow chart for recommending reading content to users in the embodiments of the present invention;
[0031] Figure 11 Block diagram of a structure of an English learning assistance system in the embodiments of the present invention. Detailed implementation manners
[0032] The present invention provides an English learning assistance method, which can more comprehensively and accurately evaluate the true English level of users.
[0033] In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below through specific embodiments in conjunction with the accompanying drawings.
[0034] The core idea of the method provided by the present invention is based on the "i + 1" theory in the field of language acquisition. The "i + 1" theory was proposed by American psychologist and educator Krashen. "i" represents the current language knowledge level of the learner, and "1" represents the language knowledge slightly higher than the current level of the language learner. By a large amount of exposure to language knowledge at the "i + 1" level, the language level of the user can transition from "i" to the "i + 1" stage; while if the learning content is "i + 10", or even "i + 100", it is too difficult and exceeds the learning ability of the learner, so that the knowledge cannot be mastered. Based on this idea, combined with the basic learning points of Chinese English learners: vocabulary and grammar, an English learning assistance method and system are provided, which can digitally evaluate the English level of users from both aspects of vocabulary and grammar, and finally provide English reading texts suitable for the current learning level of users.
[0035] For the convenience of understanding the following embodiments, the data tables and corresponding table names used therein are listed as follows:
[0036]
[0037]
[0038] Embodiment 1
[0039] As Figure 1 shown, an English learning assistance method provided by an embodiment of the present invention includes the following steps:
[0040] Step S1: Construct a vocabulary grading table according to the existing dictionary;
[0041] Step S2: Construct a grammar grading table according to the English teaching syllabus;
[0042] Step S3: The user uploads a composition; according to the composition, create a user vocabulary list for the user, and combine it with the vocabulary grading table to determine the user vocabulary level;
[0043] Step S4: Create a user grammar table for the user based on the composition, and determine the user's grammar level in combination with the grammar grading table;
[0044] Step S5: Recommend reading content for the user according to the user's vocabulary level and grammar level.
[0045] In an English dictionary, each English word has a corresponding English explanation. When compiling these explanations, the compiler of the dictionary generally selects multiple "explanation words" that are simpler than the "word to be explained" to explain it. Therefore, the "explanation words" and the "words to be explained" in the dictionary can be sorted according to their relative difficulty relationship. The embodiment of the present invention uses the representation of a graph and an algorithm to construct a vocabulary grading table, that is: each word in the dictionary is a node in the graph; assuming that A and B represent two words in the dictionary, if there is an entry where A is the "word to be explained" and B is the "explanation word" of A in this entry, then an edge can be constructed from A to B in the graph. According to the following two assumptions, calculate the difficulty of the word:
[0046] 1. Quantity assumption: If a word is explained by many other words, it means that this word is relatively simple, that is, the Simplicity value of this vocabulary will be relatively high (in the graph, the more words that explain word A, the simpler A is).
[0047] 2. Quality assumption: If a word is explained by a word with a very high Simplicity value, then the Simplicity value of this word will also increase accordingly (in the graph, the simpler the word used to explain word A, the simpler A is).
[0048] The embodiment of the present invention uses Simplicity to represent the simplicity of a word. The smaller the Simplicity, the higher the word difficulty.
[0049] As Figure 2 shown, in one embodiment, the above-mentioned step S1: Construct a vocabulary grading table according to the existing dictionary, specifically including:
[0050] Step S101: Select a dictionary, obtain all the explanations of all the words in it, and form a dictionary corpus dictCorpus; where dictCorpus stores all the words and their corresponding all explanations in a Map structure, and each element is in the form of <word, [sense1, sense2...]>;
[0051] Step S102: Initialize a directed graph G, make G empty, and make item the first element of dictCorpus;
[0052] Step S103: Let itemWord be the word in item, and itemSenses be all the interpretations in item;
[0053] Step S104: Let sense be the first element of itemSenses;
[0054] Step S105: According to the vocabulary statistics module, obtain the original forms of all distinct words in one interpretation of itemWord, denoted as senseWords. The vocabulary statistics module specifically includes:
[0055] As Figure 3 shown, Step S1051: Split the input text text into strings according to spaces and punctuation marks other than the single quote '’', and store all the split results in the string linked list strList in the order of splitting;
[0056] Step S1052: According to string comparison, count the distinct strings in strList and store them in the string linked list diffStrList. Specifically, it includes:
[0057] Step S10521: Through the query module ShortForm, traverse all the words temp in strList to check if it is an abbreviation of several words: If temp is an abbreviation of some words, split it;
[0058] Step S10522: Remove temp from strList, and add the two split words to strList;
[0059] Step S10523: Count the distinct strings in strList and store them in the string linked list diffStrList;
[0060] Step S1053: Let str be the first string in diffStrList;
[0061] Step S1054: If the first letter of str is only capitalized, change the first letter of str to lowercase; go to Step 2.5;
[0062] Step S1055: Determine whether str is a variant of a certain word through the query function: If str is a variant of a certain word, change str to its corresponding original word form, and go to Step S1056; otherwise, go to Step S1057;
[0063] Step S1056: If textWords does not have str and str belongs to wordList, store str in textWords;
[0064] Step S1057: If str is not the last element in diffStrList, move str one element backward, and go to step S1054;
[0065] Step S106: Take each word in senseWords as the head node of the arc and itemWord as the tail node of the arc, and add the two nodes and the directed edge to G;
[0066] Step S107: If sense is not the last element of itemSenses, move sense one element backward, and go to step S105; otherwise, go to step S108;
[0067] Step S108: If item is not the last element of dictCorpus, move item one element backward, and go to step S103; otherwise, go to step S109;
[0068] Step S109: According to the SIMPLICITY algorithm, obtain the vocabulary list wordList sorted in reverse order by Simplicity value, that is, from the smallest difficulty to the largest. Each element of wordList is a word and its Simplicity value. The SIMPLICITY algorithm specifically includes:
[0069] As Figure 4 shown, step S1091: Count a total of n words in the dictionary corpus. Based on the directed graph G = {V, E}, where all words in the dictionary corpus form the node set V, and the arcs from the word to be explained to the explanatory word form the arc set E. Represent the words and nodes with serial numbers (1, 2..i..n). Calculate the iterative calculation formula (1) of the Simplicity value of the i-th word as follows:
[0070]
[0071] where, x i represents the Simplicity value of node i, that is, the simplicity degree of word i; x j represents the Simplicity value of node j, that is, the simplicity degree of word j; k j out represents the out-degree of node j in the graph, that is, the number of "explanatory words" in the explanation of word j; x j divided by k j out is expressed as: The more explanatory words in the explanation of a word, the more difficult this word is. Since the denominator cannot be 0, generally take k j out = max(1, kj out ); A ijIndicates whether node j points to node i, that is, whether word i explains word j. When there is a directed edge from node j to node i, A ij is 1, otherwise it is 0; ∑ represents the sum of A for all other nodes except node i ij ×xj / k j out value; α and β are preset parameters;
[0072] Step S1092: Calculate the Simplicity value of all words in the dictionary, which can be expressed in matrix form as formula (2):
[0073] x = αAD -1 x + β1 (2)
[0074] where x is the column vector of Simplicity values of each node (x1, x2,..x n ) T , 1 is the column vector (1, 1, 1...) T , A is the adjacency matrix with element value A ij , D is the diagonal matrix with elements D jj = max(1, k j out ), D -1 the diagonal is 1 / k j out ;
[0075] Step S1093: Use the iterative algorithm to solve the Simplicity value. First, assign the same Simplicity value to each word, and then continuously iterate and calculate x according to formula (2). When the absolute value of the total error of each component of x before and after calculation is less than the threshold, the iteration ends;
[0076] Step S110: Group every P words in wordList into one level and store them in the vocabulary grading table leveledWords[i], and record the average Simplicity value of the P words as the difficulty of this level of words and store it in LW[i].
[0077] In one embodiment, the above step S2: Construct a grammar grading table according to the English teaching syllabus, specifically including:
[0078] Step S201: Construct a grammar grading table with M levels, and store the grammar points in the grammar grading table leveledGrammars, where leveledGrammars[i] represents the list of grammar points at level i, i ∈ [1, M];
[0079] Step S202: Store all grammar points in the English teaching syllabus into outlineGrammars.
[0080] As Figure 5 shown, in one embodiment, in step S3 above, the user uploads a composition; based on the composition, a user vocabulary list is created for the user, specifically including:
[0081] Step S301: Let texts be all the compositions uploaded by the user at one time;
[0082] Step S302: Let text be the first composition in texts;
[0083] Step S303: Pass text to the vocabulary statistics module to obtain textWords;
[0084] Step S304: Add all the words in textWords that do not appear in the user vocabulary list userWords to userWords;
[0085] Step S305: If text is not the last composition in texts, then let text be the next composition in texts, and go to step S303.
[0086] Based on all the words userWords mastered by the user, combined with the vocabulary grading table leveledWords, the vocabulary ability of the user is judged for its level. Assume that the user's vocabulary level is determined by the words with the top α difficulty in the words they master (α can take values from 10% to 30%). Therefore, the average difficulty value averageValue of these words can be calculated, and by comparing with the difficulty values LW[i] of each level of words in leveledWords, the user's vocabulary level can be determined. Where i is a natural number from 1 to N, and WORDSEVALUATE(userWords) represents the judgment of the vocabulary level of the user's vocabulary userWords.
[0087] As Figure 6 shown, in one embodiment, in step S3 above to determine the user's vocabulary level, specifically including:
[0088] Step S311: Use the quicksort algorithm to sort userWords from smallest to largest according to the Simplicity value;
[0089] Step S312: Initialize the total Simplicity value total to 0, that is, total = 0, select the number of words num used to calculate the vocabulary difficulty as num = LENGTH(userWords) × α, num is rounded down, and the LENGTH method is used to obtain the number of words in userWords;
[0090] Step S313: Let pr be the Simplicity value of the first word of userWords;
[0091] Step S314: Let total = total + pr;
[0092] Step S315: If pr is not the Simplicity value of the num-th element in userWords, move pr one element backward and go to Step S314; otherwise, go to Step S316;
[0093] Step S316: The average Simplicity value of user vocabulary averageValue = total / num;
[0094] Step S317: Let i = 1;
[0095] Step S318: If averageValue < LW[i] and i < N + 1, then i = i + 1 and go to Step S318; otherwise, go to Step S319;
[0096] Step S319: If i < N + 1, then the user's vocabulary level userWordGrade = i; otherwise userWordGrade = N.
[0097] As Figure 7 shown, in one embodiment, in the above Step S4, a user grammar table is created for the user according to the composition, which specifically includes:
[0098] Step S401: Let texts be all the compositions uploaded by the user at one time;
[0099] Step S402: Let text be the first composition of texts;
[0100] Step S403: Pass text to the grammar statistics module to obtain textGrammars, where the grammar statistics module specifically includes:
[0101] As Figure 8 shown, Step S4031: Let textGrammars be a Set data structure, initially empty;
[0102] Step S4032: Let text be the first composition of the user;
[0103] Step S4033: Let sentence be the first sentence of text;
[0104] Step S4034: Process the sentence using the parse method of StanfordParser to obtain a syntax parse tree, which contains all the part-of-speech and syntactic English labels (labels) in the sentence;
[0105] Step S4035: Let label be the first label of labels;
[0106] Step S4036: Determine whether label belongs to the English teaching syllabus outlineGrammars. If it does, add label to textGrammars; otherwise, go to Step S4037;
[0107] Step S4037: If label is not the last label of labels, let label be the next label of labels and go to Step S4036; otherwise, go to Step S4038;
[0108] Step S4038: When sentence is not the last sentence of text, let sentence be the next sentence of text and go to Step S4034; otherwise, go to Step S4039;
[0109] Step S4039: When text is not the last composition of the user, let text be the next composition of the user and go to Step S4033; otherwise, exit this module;
[0110] Step S404: Add all the grammars in textGrammars that do not appear in the user's grammar table userGrammars to userGrammars;
[0111] Step S405: If text is not the last composition of texts, let text be the next composition of texts and go to Step S403; otherwise, store userGrammars in the database.
[0112] Based on the grammar grading table leveledGrammars constructed by combining the English teaching syllabus with all the grammar points userGrammars mastered by the user, determine the grammar level of the user. Assume that among the grammars in the user's mastered grammar userWords, there are grammars in multiple levels of leveledWords. Then, determine the maximum level value as the user's grammar level. Represent the grammar level determination of the user's grammar userGrammars as GRAMMARSEVALUATE(userGrammars).
[0113] Such as Figure 9As shown, in one embodiment, determining the user's grammar level in step S4 specifically includes:
[0114] Step S411: Let grammar be the first grammar in userGrammars;
[0115] Step S412: Obtain the user's grammar level userGrammarGrade = max{1, GRADE(grammar)}, where GRADE(grammar) can obtain its level in leveledWords according to the grammar grammar;
[0116] Step S413: If grammar is not the last grammar in userGrammars, move grammar backward and go to step S412; otherwise, return the user's grammar level userGrammarGrade.
[0117] According to the user's vocabulary level and grammar level, push multiple articles to the user, and provide explanations and example sentences of the vocabulary and grammar that the user has not learned in the pushed articles. Linguists believe that for a user to independently understand a piece of content, at least 90%-95% of the vocabulary in this passage must be known. Therefore, in combination with the "i + 1" theory, consider screening out K articles (K can take any positive integer, and in the embodiment of the present invention, K takes a value between 5 and 10) from the corpus CorpusA containing a large number of articles, where the articles contain at most γ (a value between 1% and 10% can be taken, and in the embodiment of the present invention, γ takes a value between 3% and 5%) of the vocabulary that the user has not mastered and belongs to the "i + 1" (i is the user's vocabulary level) level. At the same time, in order to enable the user to learn new grammar structures while learning vocabulary, the article should also contain k grammars (in the embodiment of the present invention, k takes a value between 1 and 3) that the user has not mastered in the "j + 1" (here j is the user's grammar level) level. Then push these articles to the user, and at the same time provide explanations and example sentences of the new vocabulary and grammar in the articles from the vocabulary corpus CorpusB and the grammar corpus CorpusC to assist the user in learning, where CorpusA, CorpusB, and CorpusC are assumed to already exist. Among them, CorpusA contains a large number of articles, CorpusB stores all the vocabulary in English and the explanations and example sentences of the vocabulary, and CorpusC stores all the grammar in English and the explanations and example sentences.
[0118] As Figure 10 shown, in one embodiment, step S5 above: recommending reading content for the user according to the user's vocabulary level and user's grammar level specifically includes:
[0119] Step S501: Let tempContents be initially empty;
[0120] Step S502: Let text be the first article in the dictionary corpus;
[0121] Step S503: Use the vocabulary statistics module to obtain all the words words in text, and use the grammar statistics module to obtain all the grammars grammars in text;
[0122] Step S504: numWord = LENGTH(words), numGrammar = LENGTH(grammars);
[0123] Step S505:
[0124] i = WORDSEVALUATE(userWords) j = GRAMMARSEVALUATE(userGrammars);
[0125] Step S506: If at least (1 - γ)*numWord words in words do not belong to userWrods, denoted as newWords, where γ is a preset parameter, and the remaining words in words belong to leveledWords[i] or leveledWords[i + 1]; and at most k grammar points in grammars do not belong to userGrammars, denoted as newGrammars, where k is a preset parameter, and belong to leveledGrammars[j] or leveledGrammars[j + 1], then add [text, newWords, newGrammars] to tempContents, and go to Step S507; otherwise, go to Step S507;
[0126] Step S507: If text is not the last article in the dictionary corpus, then move text backward, go to Step S503, otherwise go to Step S508;
[0127] Step S508: If LENGTH(tempContents) <= K, then let recommendContents be equal to tempContents; otherwise, intercept the first K elements of tempContents, where K is a preset parameter, and assign it to recommendContents;
[0128] Step S509: Push the text in recommendContents, and extract explanations and examples from the corresponding vocabulary corpus CorpusB and grammar corpus CorpusC according to the corresponding newWords and newGrammars in text for pushing.
[0129] The present invention discloses an English learning assistance method, which can more comprehensively and accurately evaluate the user's true English level. The present invention selects to classify vocabulary based on the dictionary explanations written by experts, which is more in line with the actual vocabulary difficulty classification; when evaluating the grammar level, the English teaching syllabus is used as a basis to construct a grammar classification table, thus ensuring that the grammar evaluation results are more authoritative. When the present invention recommends content to the user, on the one hand, it provides recommendations on vocabulary, grammar, and articles at the same time, thus ensuring the comprehensiveness of the pushed content; on the other hand, when pushing articles, it does not select articles with similar difficulties, but based on the "i + 1" theory, according to the user's vocabulary and grammar development levels, it selects the vocabulary, grammar, and articles containing these contents that need to be learned at the next language development level, which more reasonably and effectively promotes the development of the learner's English level.
[0130] Example Two
[0131] As Figure 6 shown, the embodiment of the present invention provides an English learning assistance system, including the following modules:
[0132] A vocabulary classification table construction module 61, configured to construct a vocabulary classification table according to an existing dictionary;
[0133] A grammar classification table construction module 62, configured to construct a grammar classification table according to the English teaching syllabus;
[0134] A user vocabulary level determination module 63, configured to receive a composition uploaded by the user; create a user vocabulary list for the user according to the composition, and combine it with the vocabulary classification table to determine the user's vocabulary level;
[0135] A user grammar level determination module 64, configured to create a user grammar list for the user according to the composition, and combine it with the grammar classification table to determine the user's grammar level;
[0136] A recommended reading content module 65, configured to recommend reading content to the user according to the user's vocabulary level and the user's grammar level.
[0137] The provision of the above embodiments is only for the purpose of describing the present invention, and is not intended to limit the scope of the present invention. The scope of the present invention is defined by the appended claims. All equivalent substitutions and modifications made without departing from the spirit and principles of the present invention shall be covered within the scope of the present invention.
Claims
1. An English learning assistance method, characterized in that, Including: Step S1: Construct a vocabulary grading table according to an existing dictionary, specifically including: Step S101: Select a dictionary, obtain all the explanations of all the words in it, and form a dictionary corpus dictCorpus; where dictCorpus stores all the words and their corresponding all explanations in a Map structure, and each element is in the form of <word, [sense1, sense2...]>; Step S102: Initialize a directed graph G, set G to be empty, and set item to be the first element of dictCorpus; Step S103: Set itemWord to be the vocabulary in item, and itemSenses to be all the explanations in item; Step S104: Set sense to be the first element of itemSenses; Step S105: According to the vocabulary statistics module, obtain the original forms of all distinct words in an explanation of itemWord, denoted as senseWords; Step S106: Respectively take itemWord as the tail node of the arc, and all the words in senseWords as the head nodes of the arc, and add the two nodes and the directed edge to the directed graph G; Step S107: If sense is not the last element of itemSenses, then move sense one element backward, and go to Step S105, otherwise go to Step S108; Step S108: If item is not the last element of dictCorpus, then move item one element backward, and go to Step S103, otherwise go to Step S109; Step S109: Obtain a vocabulary list wordList sorted in reverse order according to the Simplicity value, that is, from the smallest difficulty to the largest. Each element of wordList is a word and its Simplicity value, where the Simplicity is used to represent the simplicity of the word, and the smaller its value, the higher the difficulty of the word; Step S110: Group every P words in wordList into one level and store them in the vocabulary grading table leveledWords[i], and record the average Simplicity value of the P words as the difficulty of this level of words and store it in LW[i]; Step S2: Construct a grammar grading table according to the English teaching syllabus; Step S3: The user uploads a composition; according to the composition, create a user vocabulary list for the user, and combine with the vocabulary grading table to determine the user vocabulary level; Step S4: According to the composition, create a user grammar table for the user, and combine with the grammar grading table to determine the user grammar level; Step S5: According to the user vocabulary level and the user grammar level, recommend reading content for the user.
2. The English learning assistance method according to claim 1, characterized in that The vocabulary statistics module in Step S105 specifically includes: Step S1051: Split the input text text into strings according to spaces and punctuation marks other than single quotes '’”, and store all the split results in a string linked list strList in the order of splitting; Step S1052: According to string comparison, count each distinct string in strList and store it in the string linked list diffStrList; Step S1053: Let str be the first string in diffStrList; Step S1054: If only the first letter of str is capitalized, change the first letter of str to lowercase and go to Step S1055; Step S1055: Determine whether str is a variant of a certain word through a query function: If str is a variant of a certain word, change str to its corresponding original word form and go to Step S1056; otherwise, go to Step S1057; Step S1056: If textWords does not have str and str belongs to wordList, store str in textWords; Step S1057: If str is not the last element in diffStrList, move str one element backward and go to Step S1054.
3. The English learning assistance method according to claim 2, characterized in that The said Step S1052: According to string comparison, count each distinct string in strList and store it in the string linked list diffStrList, specifically including: Step S10521: Traverse all words temp in strList through the query module ShortForm to determine whether it is an abbreviation of several words: If temp is an abbreviation of some words, split it; Step S10522: Remove temp from strList and add the two split words to strList; Step S10523: Count each distinct string in strList and store it in the string linked list diffStrList.
4. The English learning assistance method according to claim 1, characterized in that The calculation steps of the Simplicity value in the said Step S109 specifically include: Step S1091: Count a total of n words in the dictionary corpus, and based on the directed graph G = {V, E}, where all words in the dictionary corpus form the node set V, and the arcs pointing from the explained word to the explaining word form the arc set E. Represent the word and the node with serial numbers as 1, 2..i..n, and calculate the iterative calculation formula (1) of the Simplicity value of the i-th word as follows: (1) Among them, x i represents the Simplicity value of node i, that is, the simplicity of word i; x j represents the Simplicity value of node j, that is, the simplicity of word j; k j out represents the out-degree of node j in the graph, that is, the number of "explanation words" in the explanation of word j; x j divided by k j out is expressed as: the more explanation words in the explanation of a word, the more difficult this word is. Since the denominator cannot be 0, so take k j out = max(1, kj out ); A ij represents whether node j points to node i, that is, whether word i explains word j. When there is a directed edge from node j to node i, A ij is 1, otherwise it is 0; ∑ represents the sum of A ij × xj / k j out values for all other nodes except node i; α and β are preset parameters; Step S1092: Calculate the Simplicity values of all words in the dictionary, which can be represented in matrix form as formula (2): (2) where x is a column vector of Simplicity values of each node (x1, x2,..x n ) T , 1 is a column vector (1, 1, 1...) T , A is an adjacency matrix with element value A ij , D is a diagonal matrix with elements D jj = max(1, k j out ), and the diagonal of D -1 is 1 / k j out ; Step S1093: Use the iterative algorithm to solve the Simplicity value. First, assign the same Simplicity value to each word, and then continuously iterate and calculate x according to formula (2). When the absolute value of the total error of each component of x before and after calculation is less than the threshold, the iteration ends.
5. The English learning assistance method according to claim 1, characterized in that The said Step S2: Construct a grammar grading table according to the English teaching syllabus, specifically including: Step S201: Construct a grammar grading table with M levels, and store the grammar points in the grammar grading table leveledGrammars, where leveledGrammars[i] represents the list of grammar points at level i, i ∈ [1, M]; Step S202: Store all the grammar points in the English teaching syllabus into outlineGrammars.
6. The English learning assistance method according to claim 1, characterized in that In step S3, the user uploads a composition. Create a user vocabulary for the user according to the composition, specifically including: Step S301: Let texts be all the compositions uploaded by the user at one time. Step S302: Let text be the first composition in texts. Step S303: Pass text to the vocabulary statistics module to obtain textWords. Step S304: Add all the words in textWords that do not appear in the user vocabulary userWords to userWords. Step S305: If text is not the last composition in texts, let text be the next composition in texts, and go to step S303.
7. The English learning assistance method according to claim 1, characterized in that In step S3, determine the user's vocabulary level, specifically including: Step S311: Use the quicksort algorithm to sort userWords from smallest to largest according to the Simplicity value. Step S312: Initialize the total Simplicity value total to 0, that is, total = 0. Select the number of words num used to calculate the vocabulary difficulty as num = LENGTH(userWords) × α, and round num down. The LENGTH method is used to obtain the number of words in userWords. Step S313: Let pr be the Simplicity value of the first word in userWords. Step S314: Let total = total + pr. Step S315: If pr is not the Simplicity value of the num-th element in userWords, move pr one element backward, and go to step S314; otherwise, go to step S316. Step S316: The average Simplicity value of the user's vocabulary averageValue = total / num. Step S317: Let i = 1. Step S318: If averageValue < LW[i] and i < N + 1, then i = i + 1, and go to step S318; otherwise, go to step S319. Step S319: If i < N + 1, then the user's vocabulary level userWordGrade = i; otherwise, userWordGrade = N.
8. The English learning assistance method according to claim 1, characterized in that In step S4, create a user grammar table for the user according to the composition, specifically including: Step S401: Let texts be all the compositions uploaded by the user at one time. Step S402: Let text be the first composition in texts. Step S403: Pass text to the grammar statistics module to obtain textGrammars. Step S404: Add all the grammars in textGrammars that do not appear in the user grammar table userGrammars to userGrammars. Step S405: If text is not the last composition in texts, then set text to the next composition in texts, and go to step S403; otherwise, store userGrammars in the database.
9. The English learning assistance method according to claim 8, characterized in that, The grammar statistics module described in step S403 specifically includes: Step S4031: Set textGrammars to a Set data structure, initially empty; Step S4032: Set text to the first composition of the user; Step S4033: Set sentence to the first sentence of text; Step S4034: Use the parse method of Stanford Parser to process sentence, obtaining a syntax parse tree that contains all the part-of-speech and syntactic English labels labels in sentence; Step S4035: Set label to the first label in labels; Step S4036: Determine whether label belongs to the English teaching syllabus outlineGrammars. If it belongs, add label to textGrammars; otherwise, go to step S4037; Step S4037: If label is not the last label in labels, then set label to the next label in labels and go to step S4036; otherwise, go to step S4038; Step S4038: When sentence is not the last sentence of text, set sentence to the next sentence of text and go to step S4034; otherwise, go to step S4039; Step S4039: When text is not the last composition of the user, set text to the next composition of the user and go to step S4033; otherwise, exit this module.
10. The English learning assistance method according to claim 1, characterized in that, Determining the user's grammar level in step S4 specifically includes: Step S411: Set grammar to the first grammar in userGrammars; Step S412: Obtain the user's grammar level userGrammarGrade = max{1, GRADE(grammar)}, where GRADE(grammar) can obtain its level in leveledWords based on grammar; Step S413: If grammar is not the last grammar in userGrammars, then move grammar to the next one and go to step S412; otherwise, return the user's grammar level userGrammarGrade.
11. The English learning assistance method according to claim 8, characterized in that Step S5: Recommend reading content for the user according to the user's vocabulary level and the user's grammar level, specifically including: Step S501: Initially set tempContents to be empty; Step S502: Set text to the first article in the dictionary corpus; Step S503: Use the vocabulary statistics module to obtain all the words words in text, and use the grammar statistics module to obtain all the grammars grammars in text; Step S504: numWord = LENGTH(words), numGrammar = LENGTH(grammars); Step S505: i = WORDSEVALUATE(userWords), j = GRAMMARSEVALUATE(userGrammars); Step S506: If at least (1 - γ) numWord words in words do not belong to userWrods and are denoted as newWords, where γ is a preset parameter, and the remaining words in words belong to leveledWords[i] or leveledWords[i + 1]; and at most k grammar points in grammars do not belong to userGrammars and are denoted as newGrammars, where k is a preset parameter, and belong to leveledGrammars[j] or leveledGrammars[j + 1], then add [text, newWords, newGrammars] to tempContents, and go to Step S507; otherwise, go to Step S507; Step S507: If text is not the last article in the dictionary corpus, move text backward and go to Step S503; otherwise, go to Step S508; Step S508: If LENGTH(tempContents) <= K, let recommendContents be equal to tempContents; otherwise, intercept the first K elements of tempContents, where K is a preset parameter, and assign it to recommendContents; Step S509: Push the text in recommendContents, and according to the corresponding newWords and newGrammars in the text, extract explanations and example sentences from the corresponding vocabulary corpus and grammar corpus for pushing.
12. An English learning assistance system, characterized in that, It includes the following modules: A module for constructing a vocabulary grading table, which is used to construct a vocabulary grading table according to an existing dictionary. Specifically, it includes: Step S101: Select a dictionary and obtain all the explanations of all the words in it to form a dictionary corpus dictCorpus; where dictCorpus stores all the words and their corresponding explanations in a Map structure, and each element is in the form of <word, [sense1, sense2...]>; Step S102: Initialize a directed graph G, make G empty, and make item the first element of dictCorpus; Step S103: Let itemWord be the vocabulary in item, and itemSenses be all the explanations in item; Step S104: Let sense be the first element of itemSenses; Step S105: According to the vocabulary statistics module, obtain the original forms of all the distinct words in one explanation of itemWord, denoted as senseWords; Step S106: Respectively, take itemWord as the tail node of the arc, and all the words in senseWords as the head nodes of the arc, and add the two nodes and the directed edge to the directed graph G; Step S107: If sense is not the last element of itemSenses, move sense to the next element and go to Step S105; otherwise, go to Step S108; Step S108: If item is not the last element of dictCorpus, move item to the next element and go to Step S103; otherwise, go to Step S109; Step S109: Obtain a vocabulary list wordList sorted in reverse order according to the Simplicity value, that is, from the lowest difficulty to the highest. Each element in wordList is a word and its Simplicity value, where Simplicity is used to represent the simplicity of a word, and the smaller its value, the higher the difficulty of the word. Step S110: Group every P words in wordList into one level and store them in the vocabulary leveled table leveledWords[i], and record the average Simplicity value of the P words as the difficulty of this level of words and store it in LW[i]. Build a grammar leveled table module, which is used to build a grammar leveled table according to the English teaching syllabus. Determine the user's vocabulary level module, which is used for the user to upload a composition; create a user vocabulary list for the user according to the composition, and determine the user's vocabulary level in combination with the vocabulary leveled table. Determine the user's grammar level, which is used to create a user grammar table for the user according to the composition, and determine the user's grammar level in combination with the grammar leveled table. Recommend reading content module, which is used to recommend reading content for the user according to the user's vocabulary level and the user's grammar level.
Citation Information
Patent Citations
Self-adaptive matching user English learning text pushing system and method
CN112906376A
Masterpiece assistant language learning system and its method
CN1808518A