axyseo 2.0.0-alpha.0.0.20 → 2.0.0-alpha.0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browserslistrc +1 -0
- package/.gitattributes +1 -0
- package/babel.config.js +3 -0
- package/build/index.js +0 -8
- package/build/index.js.map +1 -1
- package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/buildTopicStems.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js.map +1 -1
- package/build/languageProcessing/languages/_default/Researcher.js +1 -1
- package/build/languageProcessing/languages/_default/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/_default/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/_default/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/ar/Researcher.js +1 -1
- package/build/languageProcessing/languages/ar/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/ar/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/ar/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js +1 -1
- package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/ca/Researcher.js +1 -1
- package/build/languageProcessing/languages/ca/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/ca/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/ca/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/cs/Researcher.js +1 -1
- package/build/languageProcessing/languages/cs/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/cs/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/cs/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/cs/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/cs/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/cs/values/Clause.js +1 -1
- package/build/languageProcessing/languages/cs/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/de/Researcher.js +1 -1
- package/build/languageProcessing/languages/de/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js +1 -1
- package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/de/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/de/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/internal/determineStem.js +1 -1
- package/build/languageProcessing/languages/de/helpers/internal/determineStem.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/de/values/Clause.js +1 -1
- package/build/languageProcessing/languages/de/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/el/Researcher.js +1 -1
- package/build/languageProcessing/languages/el/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/el/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/el/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/el/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/el/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js +1 -1
- package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/el/values/Clause.js +1 -1
- package/build/languageProcessing/languages/el/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/en/Researcher.js +1 -1
- package/build/languageProcessing/languages/en/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js +1 -1
- package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/en/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/en/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/determineStem.js +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/determineStem.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js.map +1 -1
- package/build/languageProcessing/languages/en/values/Clause.js +1 -1
- package/build/languageProcessing/languages/en/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/es/Researcher.js +1 -1
- package/build/languageProcessing/languages/es/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js +1 -1
- package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/es/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/es/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js +3 -3
- package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/internal/stem.js +1 -1
- package/build/languageProcessing/languages/es/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/es/values/Clause.js +1 -1
- package/build/languageProcessing/languages/es/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/fa/Researcher.js +1 -1
- package/build/languageProcessing/languages/fa/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js +1 -1
- package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js.map +1 -1
- package/build/languageProcessing/languages/fa/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/fa/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js +1 -1
- package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/fr/Researcher.js +1 -1
- package/build/languageProcessing/languages/fr/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js +1 -1
- package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/fr/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/fr/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/internal/stem.js +1 -1
- package/build/languageProcessing/languages/fr/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/fr/values/Clause.js +1 -1
- package/build/languageProcessing/languages/fr/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/he/Researcher.js +1 -1
- package/build/languageProcessing/languages/he/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/he/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/he/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js +1 -1
- package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/hu/Researcher.js +1 -1
- package/build/languageProcessing/languages/hu/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/hu/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/hu/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/hu/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/hu/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js +1 -1
- package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/hu/values/Clause.js +1 -1
- package/build/languageProcessing/languages/hu/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/id/Researcher.js +1 -1
- package/build/languageProcessing/languages/id/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/id/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/id/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/id/helpers/internal/stem.js +1 -1
- package/build/languageProcessing/languages/id/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js +1 -1
- package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js.map +1 -1
- package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js +1 -1
- package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/it/Researcher.js +1 -1
- package/build/languageProcessing/languages/it/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/it/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/it/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/it/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/it/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/it/helpers/internal/stem.js +1 -1
- package/build/languageProcessing/languages/it/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/it/values/Clause.js +1 -1
- package/build/languageProcessing/languages/it/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/ja/Researcher.js +1 -1
- package/build/languageProcessing/languages/ja/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/countCharacters.js +1 -1
- package/build/languageProcessing/languages/ja/helpers/countCharacters.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js +1 -1
- package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/getWords.js +1 -1
- package/build/languageProcessing/languages/ja/helpers/getWords.js.map +1 -1
- package/build/languageProcessing/languages/nb/Researcher.js +1 -1
- package/build/languageProcessing/languages/nb/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/nb/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/nb/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/nb/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/nb/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/nb/values/Clause.js +1 -1
- package/build/languageProcessing/languages/nb/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/nl/Researcher.js +1 -1
- package/build/languageProcessing/languages/nl/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/nl/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/nl/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/stem.js +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js.map +1 -1
- package/build/languageProcessing/languages/nl/values/Clause.js +1 -1
- package/build/languageProcessing/languages/nl/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/pl/Researcher.js +1 -1
- package/build/languageProcessing/languages/pl/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/pl/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/pl/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/pl/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/pl/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/pl/values/Clause.js +1 -1
- package/build/languageProcessing/languages/pl/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/pt/Researcher.js +1 -1
- package/build/languageProcessing/languages/pt/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/pt/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/pt/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/pt/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/pt/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/pt/helpers/internal/stem.js +1 -1
- package/build/languageProcessing/languages/pt/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/pt/values/Clause.js +1 -1
- package/build/languageProcessing/languages/pt/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/ru/Researcher.js +1 -1
- package/build/languageProcessing/languages/ru/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/ru/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/ru/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js +1 -1
- package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/sk/Researcher.js +1 -1
- package/build/languageProcessing/languages/sk/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/sk/helpers/getClauses.js +1 -1
- package/build/languageProcessing/languages/sk/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/sk/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/sk/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js +1 -1
- package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/sk/values/Clause.js +1 -1
- package/build/languageProcessing/languages/sk/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/sv/Researcher.js +1 -1
- package/build/languageProcessing/languages/sv/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/sv/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/sv/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js +1 -1
- package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/tr/Researcher.js +1 -1
- package/build/languageProcessing/languages/tr/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/tr/helpers/getStemmer.js +1 -1
- package/build/languageProcessing/languages/tr/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/tr/helpers/internal/stem.js +1 -1
- package/build/languageProcessing/languages/tr/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js +1 -1
- package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js.map +1 -1
- package/build/parsedPaper/assess/assessments/Assessment.js +2 -14
- package/build/parsedPaper/assess/assessments/Assessment.js.map +1 -1
- package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js.map +1 -1
- package/build/parsedPaper/build/tree/metadata/buildTree.js +1 -1
- package/build/parsedPaper/build/tree/metadata/buildTree.js.map +1 -1
- package/build/scoring/assessments/assessment.js +2 -6
- package/build/scoring/assessments/assessment.js.map +1 -1
- package/build/scoring/assessments/index.js +5 -5
- package/build/scoring/assessments/index.js.map +1 -1
- package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js +1 -5
- package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js.map +1 -1
- package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js +1 -5
- package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js.map +1 -1
- package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js +1 -5
- package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js.map +1 -1
- package/build/scoring/assessments/readability/TransitionWordsAssessment.js +1 -5
- package/build/scoring/assessments/readability/TransitionWordsAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/ImageCountAssessment.js +1 -5
- package/build/scoring/assessments/seo/ImageCountAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/InternalLinksAssessment.js +1 -5
- package/build/scoring/assessments/seo/InternalLinksAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js +1 -5
- package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/KeyphraseAssessment.js +1 -5
- package/build/scoring/assessments/seo/KeyphraseAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js +1 -5
- package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/KeywordDensityAssessment.js +2 -6
- package/build/scoring/assessments/seo/KeywordDensityAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js +1 -5
- package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js +1 -5
- package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js +1 -5
- package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js +3 -8
- package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/OutboundLinksAssessment.js +1 -5
- package/build/scoring/assessments/seo/OutboundLinksAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/PageTitleWidthAssessment.js +3 -8
- package/build/scoring/assessments/seo/PageTitleWidthAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/SingleH1Assessment.js +1 -5
- package/build/scoring/assessments/seo/SingleH1Assessment.js.map +1 -1
- package/build/scoring/assessments/seo/SingleTitleAssessment.js +1 -5
- package/build/scoring/assessments/seo/SingleTitleAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js +1 -5
- package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/TextImagesAssessment.js +1 -5
- package/build/scoring/assessments/seo/TextImagesAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/TextLengthAssessment.js +1 -5
- package/build/scoring/assessments/seo/TextLengthAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/UrlKeywordAssessment.js +1 -5
- package/build/scoring/assessments/seo/UrlKeywordAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/UrlLengthAssessment.js +1 -5
- package/build/scoring/assessments/seo/UrlLengthAssessment.js.map +1 -1
- package/build/scoring/assessors/assessor.js +7 -20
- package/build/scoring/assessors/assessor.js.map +1 -1
- package/build/scoring/assessors/avadaAssessor.js +5 -6
- package/build/scoring/assessors/avadaAssessor.js.map +1 -1
- package/build/scoring/assessors/contentAssessor.js +3 -3
- package/build/scoring/assessors/contentAssessor.js.map +1 -1
- package/build/scoring/assessors/seoAssessor.js +3 -3
- package/build/scoring/assessors/seoAssessor.js.map +1 -1
- package/build/scoring/helpers/assessments/recommendedKeywordCount.js.map +1 -1
- package/eslint.config.mjs +119 -0
- package/package.json +2 -13
- package/src/bundledPlugins/index.js +5 -0
- package/src/bundledPlugins/previouslyUsedKeywords.js +192 -0
- package/src/config/diacritics.js +106 -0
- package/src/config/getTransliterations.js +1447 -0
- package/src/config/transliterationsWPstyle.js +774 -0
- package/src/config/wordBoundaries.js +23 -0
- package/src/config/wordBoundariesWithoutPunctuation.js +9 -0
- package/src/const/analysis.js +41 -0
- package/src/errors/invalidType.js +14 -0
- package/src/errors/missingArgument.js +14 -0
- package/src/helpers/createMeasurementElement.js +40 -0
- package/src/helpers/domManipulation.js +65 -0
- package/src/helpers/errors.js +26 -0
- package/src/helpers/factory.js +219 -0
- package/src/helpers/formatNumber.js +12 -0
- package/src/helpers/formatString.js +33 -0
- package/src/helpers/getLanguagesWithWordComplexity.js +8 -0
- package/src/helpers/getLanguagesWithWordFormSupport.js +11 -0
- package/src/helpers/getWordComplexityConfig.js +20 -0
- package/src/helpers/getWordComplexityHelper.js +20 -0
- package/src/helpers/htmlEntities.js +41 -0
- package/src/helpers/includesAny.js +19 -0
- package/src/helpers/index.js +127 -0
- package/src/helpers/shortlinker/Shortlinker.js +75 -0
- package/src/helpers/shortlinker/index.js +1 -0
- package/src/helpers/shortlinker/singleton.js +68 -0
- package/src/helpers/types.js +34 -0
- package/src/index.js +60 -0
- package/src/languageProcessing/AbstractResearcher.js +366 -0
- package/src/languageProcessing/helpers/highlighting/getMarkingsInSentence.js +125 -0
- package/src/languageProcessing/helpers/html/getFieldsToMark.js +29 -0
- package/src/languageProcessing/helpers/html/getSubheadingTexts.js +47 -0
- package/src/languageProcessing/helpers/html/getSubheadings.js +95 -0
- package/src/languageProcessing/helpers/html/html.js +176 -0
- package/src/languageProcessing/helpers/html/htmlParser.js +145 -0
- package/src/languageProcessing/helpers/html/matchParagraphs.js +62 -0
- package/src/languageProcessing/helpers/html/normalizeHTML.js +16 -0
- package/src/languageProcessing/helpers/image/getAltAttribute.js +20 -0
- package/src/languageProcessing/helpers/image/getImagesInTree.js +16 -0
- package/src/languageProcessing/helpers/image/imageInText.js +19 -0
- package/src/languageProcessing/helpers/index.js +12 -0
- package/src/languageProcessing/helpers/language/getLanguage.js +9 -0
- package/src/languageProcessing/helpers/link/checkNofollow.js +38 -0
- package/src/languageProcessing/helpers/link/getAnchorsFromText.js +32 -0
- package/src/languageProcessing/helpers/link/getLinkType.js +32 -0
- package/src/languageProcessing/helpers/match/findKeywordFormsInString.js +101 -0
- package/src/languageProcessing/helpers/match/isDoubleQuoted.js +13 -0
- package/src/languageProcessing/helpers/match/matchTextWithArray.js +36 -0
- package/src/languageProcessing/helpers/match/matchTextWithTransliteration.js +58 -0
- package/src/languageProcessing/helpers/match/matchTextWithWord.js +45 -0
- package/src/languageProcessing/helpers/match/matchWordFormsWithSentence.js +164 -0
- package/src/languageProcessing/helpers/match/processExactMatchRequest.js +20 -0
- package/src/languageProcessing/helpers/morphology/baseStemmer.js +11 -0
- package/src/languageProcessing/helpers/morphology/buildFormRule.js +19 -0
- package/src/languageProcessing/helpers/morphology/buildTopicStems.js +169 -0
- package/src/languageProcessing/helpers/morphology/createRulesFromArrays.js +45 -0
- package/src/languageProcessing/helpers/morphology/exceptionListHelpers.js +65 -0
- package/src/languageProcessing/helpers/morphology/findMatchingEndingInArray.js +24 -0
- package/src/languageProcessing/helpers/morphology/flattenSortLength.js +14 -0
- package/src/languageProcessing/helpers/morphology/getAllWordsFromPaper.js +39 -0
- package/src/languageProcessing/helpers/morphology/regexHelpers.js +44 -0
- package/src/languageProcessing/helpers/morphology/stemHelpers.js +38 -0
- package/src/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js +31 -0
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js +36 -0
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js +113 -0
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js +45 -0
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js +231 -0
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js +20 -0
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js +23 -0
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js +40 -0
- package/src/languageProcessing/helpers/prominentWords/determineProminentWords.js +238 -0
- package/src/languageProcessing/helpers/regex/createRegexFromArray.js +35 -0
- package/src/languageProcessing/helpers/regex/createRegexFromDoubleArray.js +34 -0
- package/src/languageProcessing/helpers/regex/createWordRegex.js +30 -0
- package/src/languageProcessing/helpers/regex/matchStringWithRegex.js +19 -0
- package/src/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js +14 -0
- package/src/languageProcessing/helpers/sanitize/doubleQuotes.js +12 -0
- package/src/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js +131 -0
- package/src/languageProcessing/helpers/sanitize/mergeListItems.js +24 -0
- package/src/languageProcessing/helpers/sanitize/parseSynonyms.js +20 -0
- package/src/languageProcessing/helpers/sanitize/quotes.js +46 -0
- package/src/languageProcessing/helpers/sanitize/removeEmailAddresses.js +12 -0
- package/src/languageProcessing/helpers/sanitize/removePunctuation.js +64 -0
- package/src/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js +18 -0
- package/src/languageProcessing/helpers/sanitize/removeSentenceTerminators.js +13 -0
- package/src/languageProcessing/helpers/sanitize/removeURLs.js +13 -0
- package/src/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js +11 -0
- package/src/languageProcessing/helpers/sanitize/sanitizeString.js +18 -0
- package/src/languageProcessing/helpers/sanitize/stripHTMLTags.js +57 -0
- package/src/languageProcessing/helpers/sanitize/stripNonTextTags.js +15 -0
- package/src/languageProcessing/helpers/sanitize/stripNumbers.js +21 -0
- package/src/languageProcessing/helpers/sanitize/stripSpaces.js +23 -0
- package/src/languageProcessing/helpers/sanitize/stripWordBoundaries.js +65 -0
- package/src/languageProcessing/helpers/sanitize/unifyWhitespace.js +61 -0
- package/src/languageProcessing/helpers/sentence/SentenceTokenizer.js +640 -0
- package/src/languageProcessing/helpers/sentence/countSentences.js +20 -0
- package/src/languageProcessing/helpers/sentence/getSentences.js +65 -0
- package/src/languageProcessing/helpers/sentence/getSentencesFromTree.js +55 -0
- package/src/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js +28 -0
- package/src/languageProcessing/helpers/sentence/sentencesLength.js +31 -0
- package/src/languageProcessing/helpers/syllables/DeviationFragment.js +112 -0
- package/src/languageProcessing/helpers/syllables/countSyllables.js +182 -0
- package/src/languageProcessing/helpers/syllables/syllableCountIterator.js +56 -0
- package/src/languageProcessing/helpers/syllables/syllableCountStep.js +68 -0
- package/src/languageProcessing/helpers/transform/transformWordsWithHyphens.js +17 -0
- package/src/languageProcessing/helpers/transliterate/replaceDiacritics.js +22 -0
- package/src/languageProcessing/helpers/transliterate/specialCharacterMappings.js +214 -0
- package/src/languageProcessing/helpers/transliterate/transliterate.js +20 -0
- package/src/languageProcessing/helpers/transliterate/transliterateWPstyle.js +21 -0
- package/src/languageProcessing/helpers/url/parseSlug.js +10 -0
- package/src/languageProcessing/helpers/url/url.js +172 -0
- package/src/languageProcessing/helpers/word/addWordboundary.js +37 -0
- package/src/languageProcessing/helpers/word/areWordsInSentence.js +16 -0
- package/src/languageProcessing/helpers/word/countMetaDescriptionLength.js +18 -0
- package/src/languageProcessing/helpers/word/countWords.js +14 -0
- package/src/languageProcessing/helpers/word/createPunctuationTokens.js +42 -0
- package/src/languageProcessing/helpers/word/filterWordsFromArray.js +15 -0
- package/src/languageProcessing/helpers/word/followsIndex.js +25 -0
- package/src/languageProcessing/helpers/word/getAllWordsFromTree.js +23 -0
- package/src/languageProcessing/helpers/word/getWords.js +43 -0
- package/src/languageProcessing/helpers/word/includesIndex.js +30 -0
- package/src/languageProcessing/helpers/word/indices.js +146 -0
- package/src/languageProcessing/helpers/word/markWordsInSentences.js +173 -0
- package/src/languageProcessing/helpers/word/matchWordInSentence.js +61 -0
- package/src/languageProcessing/helpers/word/splitIntoTokens.js +46 -0
- package/src/languageProcessing/index.js +91 -0
- package/src/languageProcessing/languages/_default/Researcher.js +34 -0
- package/src/languageProcessing/languages/_default/helpers/getStemmer.js +11 -0
- package/src/languageProcessing/languages/ar/Researcher.js +46 -0
- package/src/languageProcessing/languages/ar/config/firstWordExceptions.js +14 -0
- package/src/languageProcessing/languages/ar/config/functionWords.js +329 -0
- package/src/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js +570 -0
- package/src/languageProcessing/languages/ar/config/prefixedFunctionWords.js +5 -0
- package/src/languageProcessing/languages/ar/config/transitionWords.js +19 -0
- package/src/languageProcessing/languages/ar/config/twoPartTransitionWords.js +7 -0
- package/src/languageProcessing/languages/ar/helpers/createBasicWordForms.js +32 -0
- package/src/languageProcessing/languages/ar/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/ar/helpers/internal/stem.js +632 -0
- package/src/languageProcessing/languages/ar/helpers/isPassiveSentence.js +33 -0
- package/src/languageProcessing/languages/ca/Researcher.js +43 -0
- package/src/languageProcessing/languages/ca/config/sentenceLength.js +3 -0
- package/src/languageProcessing/languages/ca/config/transitionWords.js +31 -0
- package/src/languageProcessing/languages/ca/config/twoPartTransitionWords.js +7 -0
- package/src/languageProcessing/languages/ca/helpers/getStemmer.js +11 -0
- package/src/languageProcessing/languages/cs/Researcher.js +44 -0
- package/src/languageProcessing/languages/cs/config/firstWordExceptions.js +15 -0
- package/src/languageProcessing/languages/cs/config/functionWords.js +121 -0
- package/src/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js +38 -0
- package/src/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js +54 -0
- package/src/languageProcessing/languages/cs/config/stopWords.js +42 -0
- package/src/languageProcessing/languages/cs/config/transitionWords.js +26 -0
- package/src/languageProcessing/languages/cs/config/twoPartTransitionWords.js +8 -0
- package/src/languageProcessing/languages/cs/helpers/getClauses.js +26 -0
- package/src/languageProcessing/languages/cs/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/cs/helpers/internal/getParticiples.js +16 -0
- package/src/languageProcessing/languages/cs/helpers/internal/stem.js +499 -0
- package/src/languageProcessing/languages/cs/values/Clause.js +34 -0
- package/src/languageProcessing/languages/de/Researcher.js +52 -0
- package/src/languageProcessing/languages/de/config/firstWordExceptions.js +17 -0
- package/src/languageProcessing/languages/de/config/functionWords.js +303 -0
- package/src/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js +2231 -0
- package/src/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js +96 -0
- package/src/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js +368 -0
- package/src/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js +72 -0
- package/src/languageProcessing/languages/de/config/keyphraseLength.js +11 -0
- package/src/languageProcessing/languages/de/config/stopWords.js +67 -0
- package/src/languageProcessing/languages/de/config/syllables.json +460 -0
- package/src/languageProcessing/languages/de/config/transitionWords.js +31 -0
- package/src/languageProcessing/languages/de/config/twoPartTransitionWords.js +12 -0
- package/src/languageProcessing/languages/de/config/wordComplexity.js +4 -0
- package/src/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js +18 -0
- package/src/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js +40 -0
- package/src/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js +15 -0
- package/src/languageProcessing/languages/de/helpers/getClauses.js +25 -0
- package/src/languageProcessing/languages/de/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js +31 -0
- package/src/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js +128 -0
- package/src/languageProcessing/languages/de/helpers/internal/determineStem.js +128 -0
- package/src/languageProcessing/languages/de/helpers/internal/getParticiples.js +40 -0
- package/src/languageProcessing/languages/de/helpers/internal/stem.js +215 -0
- package/src/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js +28 -0
- package/src/languageProcessing/languages/de/values/Clause.js +85 -0
- package/src/languageProcessing/languages/el/Researcher.js +46 -0
- package/src/languageProcessing/languages/el/config/firstWordExceptions.js +47 -0
- package/src/languageProcessing/languages/el/config/functionWords.js +116 -0
- package/src/languageProcessing/languages/el/config/internal/auxiliaries.js +19 -0
- package/src/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js +87 -0
- package/src/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js +138 -0
- package/src/languageProcessing/languages/el/config/stopWords.js +854 -0
- package/src/languageProcessing/languages/el/config/transitionWords.js +26 -0
- package/src/languageProcessing/languages/el/config/twoPartTransitionWords.js +10 -0
- package/src/languageProcessing/languages/el/helpers/getClauses.js +25 -0
- package/src/languageProcessing/languages/el/helpers/getStemmer.js +21 -0
- package/src/languageProcessing/languages/el/helpers/internal/getParticiples.js +20 -0
- package/src/languageProcessing/languages/el/helpers/internal/stem.js +368 -0
- package/src/languageProcessing/languages/el/helpers/isPassiveSentence.js +38 -0
- package/src/languageProcessing/languages/el/values/Clause.js +37 -0
- package/src/languageProcessing/languages/en/Researcher.js +46 -0
- package/src/languageProcessing/languages/en/config/abbreviations.js +55 -0
- package/src/languageProcessing/languages/en/config/firstWordExceptions.js +14 -0
- package/src/languageProcessing/languages/en/config/functionWords.js +186 -0
- package/src/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js +44 -0
- package/src/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js +354 -0
- package/src/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js +3047 -0
- package/src/languageProcessing/languages/en/config/regularParticiplesRegex.js +5 -0
- package/src/languageProcessing/languages/en/config/stopWords.js +52 -0
- package/src/languageProcessing/languages/en/config/syllables.json +86 -0
- package/src/languageProcessing/languages/en/config/transitionWords.js +48 -0
- package/src/languageProcessing/languages/en/config/twoPartTransitionWords.js +7 -0
- package/src/languageProcessing/languages/en/config/wordComplexity.js +5 -0
- package/src/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js +18 -0
- package/src/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js +43 -0
- package/src/languageProcessing/languages/en/helpers/getClauses.js +49 -0
- package/src/languageProcessing/languages/en/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/en/helpers/internal/determineStem.js +178 -0
- package/src/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js +162 -0
- package/src/languageProcessing/languages/en/helpers/internal/getParticiples.js +25 -0
- package/src/languageProcessing/languages/en/helpers/internal/getVerbStem.js +237 -0
- package/src/languageProcessing/languages/en/values/Clause.js +68 -0
- package/src/languageProcessing/languages/es/Researcher.js +48 -0
- package/src/languageProcessing/languages/es/config/firstWordExceptions.js +16 -0
- package/src/languageProcessing/languages/es/config/functionWords.js +321 -0
- package/src/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js +60 -0
- package/src/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js +7327 -0
- package/src/languageProcessing/languages/es/config/sentenceLength.js +3 -0
- package/src/languageProcessing/languages/es/config/stopWords.js +33 -0
- package/src/languageProcessing/languages/es/config/syllables.json +176 -0
- package/src/languageProcessing/languages/es/config/transitionWords.js +40 -0
- package/src/languageProcessing/languages/es/config/twoPartTransitionWords.js +10 -0
- package/src/languageProcessing/languages/es/config/wordComplexity.js +4 -0
- package/src/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js +18 -0
- package/src/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js +56 -0
- package/src/languageProcessing/languages/es/helpers/getClauses.js +29 -0
- package/src/languageProcessing/languages/es/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js +41 -0
- package/src/languageProcessing/languages/es/helpers/internal/getParticiples.js +35 -0
- package/src/languageProcessing/languages/es/helpers/internal/stem.js +793 -0
- package/src/languageProcessing/languages/es/values/Clause.js +47 -0
- package/src/languageProcessing/languages/fa/Researcher.js +47 -0
- package/src/languageProcessing/languages/fa/config/firstWordExceptions.js +12 -0
- package/src/languageProcessing/languages/fa/config/functionWords.js +122 -0
- package/src/languageProcessing/languages/fa/config/internal/participles.js +1429 -0
- package/src/languageProcessing/languages/fa/config/sentenceLength.js +3 -0
- package/src/languageProcessing/languages/fa/config/transitionWords.js +20 -0
- package/src/languageProcessing/languages/fa/config/twoPartTransitionWords.js +9 -0
- package/src/languageProcessing/languages/fa/helpers/createBasicWordForms.js +97 -0
- package/src/languageProcessing/languages/fa/helpers/getStemmer.js +13 -0
- package/src/languageProcessing/languages/fa/helpers/isPassiveSentence.js +14 -0
- package/src/languageProcessing/languages/fr/Researcher.js +46 -0
- package/src/languageProcessing/languages/fr/config/firstWordExceptions.js +16 -0
- package/src/languageProcessing/languages/fr/config/functionWords.js +281 -0
- package/src/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js +1510 -0
- package/src/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js +108 -0
- package/src/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js +565 -0
- package/src/languageProcessing/languages/fr/config/stopWords.js +119 -0
- package/src/languageProcessing/languages/fr/config/syllables.json +1426 -0
- package/src/languageProcessing/languages/fr/config/transitionWords.js +59 -0
- package/src/languageProcessing/languages/fr/config/twoPartTransitionWords.js +15 -0
- package/src/languageProcessing/languages/fr/config/wordComplexity.js +4 -0
- package/src/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js +18 -0
- package/src/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js +67 -0
- package/src/languageProcessing/languages/fr/helpers/getClauses.js +34 -0
- package/src/languageProcessing/languages/fr/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/fr/helpers/internal/getParticiples.js +72 -0
- package/src/languageProcessing/languages/fr/helpers/internal/stem.js +633 -0
- package/src/languageProcessing/languages/fr/values/Clause.js +96 -0
- package/src/languageProcessing/languages/he/Researcher.js +50 -0
- package/src/languageProcessing/languages/he/config/firstWordExceptions.js +13 -0
- package/src/languageProcessing/languages/he/config/functionWords.js +564 -0
- package/src/languageProcessing/languages/he/config/internal/regularRootsHufal.js +186 -0
- package/src/languageProcessing/languages/he/config/internal/regularRootsNifal.js +195 -0
- package/src/languageProcessing/languages/he/config/internal/regularRootsPual.js +168 -0
- package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js +188 -0
- package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js +197 -0
- package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js +170 -0
- package/src/languageProcessing/languages/he/config/prefixedFunctionWords.js +2 -0
- package/src/languageProcessing/languages/he/config/sentenceLength.js +3 -0
- package/src/languageProcessing/languages/he/config/transitionWords.js +28 -0
- package/src/languageProcessing/languages/he/config/twoPartTransitionWords.js +8 -0
- package/src/languageProcessing/languages/he/helpers/createBasicWordForms.js +33 -0
- package/src/languageProcessing/languages/he/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/he/helpers/internal/stem.js +52 -0
- package/src/languageProcessing/languages/he/helpers/isPassiveSentence.js +96 -0
- package/src/languageProcessing/languages/he/helpers/stem.js +52 -0
- package/src/languageProcessing/languages/hu/Researcher.js +48 -0
- package/src/languageProcessing/languages/hu/config/firstWordExceptions.js +31 -0
- package/src/languageProcessing/languages/hu/config/functionWords.js +284 -0
- package/src/languageProcessing/languages/hu/config/internal/auxiliaries.js +97 -0
- package/src/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js +125 -0
- package/src/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js +265 -0
- package/src/languageProcessing/languages/hu/config/internal/odikVerbs.js +273 -0
- package/src/languageProcessing/languages/hu/config/internal/participles.js +412 -0
- package/src/languageProcessing/languages/hu/config/stopWords.js +213 -0
- package/src/languageProcessing/languages/hu/config/transitionWords.js +42 -0
- package/src/languageProcessing/languages/hu/config/twoPartTransitionWords.js +34 -0
- package/src/languageProcessing/languages/hu/helpers/getClauses.js +25 -0
- package/src/languageProcessing/languages/hu/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/hu/helpers/internal/getParticiples.js +21 -0
- package/src/languageProcessing/languages/hu/helpers/internal/stem.js +389 -0
- package/src/languageProcessing/languages/hu/helpers/isPassiveSentence.js +54 -0
- package/src/languageProcessing/languages/hu/values/Clause.js +41 -0
- package/src/languageProcessing/languages/id/Researcher.js +46 -0
- package/src/languageProcessing/languages/id/config/firstWordExceptions.js +13 -0
- package/src/languageProcessing/languages/id/config/functionWords.js +202 -0
- package/src/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js +215 -0
- package/src/languageProcessing/languages/id/config/transitionWords.js +62 -0
- package/src/languageProcessing/languages/id/config/twoPartTransitionWords.js +13 -0
- package/src/languageProcessing/languages/id/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/id/helpers/internal/stem.js +462 -0
- package/src/languageProcessing/languages/id/helpers/internal/stemHelpers.js +78 -0
- package/src/languageProcessing/languages/id/helpers/isPassiveSentence.js +39 -0
- package/src/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js +47 -0
- package/src/languageProcessing/languages/it/Researcher.js +48 -0
- package/src/languageProcessing/languages/it/config/firstWordExceptions.js +17 -0
- package/src/languageProcessing/languages/it/config/functionWords.js +277 -0
- package/src/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js +98 -0
- package/src/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js +7197 -0
- package/src/languageProcessing/languages/it/config/sentenceLength.js +3 -0
- package/src/languageProcessing/languages/it/config/stopWords.js +57 -0
- package/src/languageProcessing/languages/it/config/syllables.json +573 -0
- package/src/languageProcessing/languages/it/config/transitionWords.js +104 -0
- package/src/languageProcessing/languages/it/config/twoPartTransitionWords.js +9 -0
- package/src/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js +15 -0
- package/src/languageProcessing/languages/it/helpers/getClauses.js +32 -0
- package/src/languageProcessing/languages/it/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/it/helpers/internal/getParticiples.js +34 -0
- package/src/languageProcessing/languages/it/helpers/internal/stem.js +436 -0
- package/src/languageProcessing/languages/it/values/Clause.js +47 -0
- package/src/languageProcessing/languages/ja/Researcher.js +86 -0
- package/src/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js +4 -0
- package/src/languageProcessing/languages/ja/config/firstWordExceptions.js +8 -0
- package/src/languageProcessing/languages/ja/config/functionWords.js +563 -0
- package/src/languageProcessing/languages/ja/config/keyphraseLength.js +16 -0
- package/src/languageProcessing/languages/ja/config/metaDescriptionLength.js +4 -0
- package/src/languageProcessing/languages/ja/config/paragraphLength.js +10 -0
- package/src/languageProcessing/languages/ja/config/sentenceLength.js +4 -0
- package/src/languageProcessing/languages/ja/config/subheadingsTooLong.js +18 -0
- package/src/languageProcessing/languages/ja/config/textLength.js +47 -0
- package/src/languageProcessing/languages/ja/config/topicLength.js +5 -0
- package/src/languageProcessing/languages/ja/config/transitionWords.js +354 -0
- package/src/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js +98 -0
- package/src/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js +19 -0
- package/src/languageProcessing/languages/ja/customResearches/getWordForms.js +50 -0
- package/src/languageProcessing/languages/ja/customResearches/textLength.js +24 -0
- package/src/languageProcessing/languages/ja/helpers/countCharacters.js +19 -0
- package/src/languageProcessing/languages/ja/helpers/customGetStemmer.js +21 -0
- package/src/languageProcessing/languages/ja/helpers/getContentWords.js +21 -0
- package/src/languageProcessing/languages/ja/helpers/getWords.js +31 -0
- package/src/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js +102 -0
- package/src/languageProcessing/languages/ja/helpers/internal/createWordForms.js +68 -0
- package/src/languageProcessing/languages/ja/helpers/internal/determineStem.js +17 -0
- package/src/languageProcessing/languages/ja/helpers/matchTextWithWord.js +53 -0
- package/src/languageProcessing/languages/ja/helpers/matchTransitionWords.js +25 -0
- package/src/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js +28 -0
- package/src/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js +20 -0
- package/src/languageProcessing/languages/ja/helpers/wordsCharacterCount.js +13 -0
- package/src/languageProcessing/languages/nb/Researcher.js +45 -0
- package/src/languageProcessing/languages/nb/config/firstWordExceptions.js +12 -0
- package/src/languageProcessing/languages/nb/config/functionWords.js +106 -0
- package/src/languageProcessing/languages/nb/config/internal/participles.js +3127 -0
- package/src/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js +15 -0
- package/src/languageProcessing/languages/nb/config/stopWords.js +39 -0
- package/src/languageProcessing/languages/nb/config/transitionWords.js +21 -0
- package/src/languageProcessing/languages/nb/config/twoPartTransitionWords.js +10 -0
- package/src/languageProcessing/languages/nb/helpers/getClauses.js +28 -0
- package/src/languageProcessing/languages/nb/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/nb/helpers/internal/getParticiples.js +24 -0
- package/src/languageProcessing/languages/nb/helpers/internal/stem.js +133 -0
- package/src/languageProcessing/languages/nb/values/Clause.js +43 -0
- package/src/languageProcessing/languages/nl/Researcher.js +48 -0
- package/src/languageProcessing/languages/nl/config/firstWordExceptions.js +15 -0
- package/src/languageProcessing/languages/nl/config/functionWords.js +233 -0
- package/src/languageProcessing/languages/nl/config/internal/nonParticiples.js +2515 -0
- package/src/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js +13 -0
- package/src/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js +474 -0
- package/src/languageProcessing/languages/nl/config/keyphraseLength.js +10 -0
- package/src/languageProcessing/languages/nl/config/stopWords.js +35 -0
- package/src/languageProcessing/languages/nl/config/syllables.json +343 -0
- package/src/languageProcessing/languages/nl/config/transitionWords.js +22 -0
- package/src/languageProcessing/languages/nl/config/twoPartTransitionWords.js +8 -0
- package/src/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js +15 -0
- package/src/languageProcessing/languages/nl/helpers/getClauses.js +25 -0
- package/src/languageProcessing/languages/nl/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js +128 -0
- package/src/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js +324 -0
- package/src/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js +164 -0
- package/src/languageProcessing/languages/nl/helpers/internal/determineStem.js +133 -0
- package/src/languageProcessing/languages/nl/helpers/internal/getParticiples.js +25 -0
- package/src/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js +183 -0
- package/src/languageProcessing/languages/nl/helpers/internal/stem.js +146 -0
- package/src/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js +109 -0
- package/src/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js +65 -0
- package/src/languageProcessing/languages/nl/values/Clause.js +62 -0
- package/src/languageProcessing/languages/pl/Researcher.js +47 -0
- package/src/languageProcessing/languages/pl/config/firstWordExceptions.js +12 -0
- package/src/languageProcessing/languages/pl/config/functionWords.js +421 -0
- package/src/languageProcessing/languages/pl/config/internal/auxiliaries.js +85 -0
- package/src/languageProcessing/languages/pl/config/internal/participles.js +26433 -0
- package/src/languageProcessing/languages/pl/config/sentenceLength.js +10 -0
- package/src/languageProcessing/languages/pl/config/stopWords.js +36 -0
- package/src/languageProcessing/languages/pl/config/transitionWords.js +42 -0
- package/src/languageProcessing/languages/pl/config/twoPartTransitionWords.js +8 -0
- package/src/languageProcessing/languages/pl/helpers/getClauses.js +25 -0
- package/src/languageProcessing/languages/pl/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/pl/helpers/internal/getParticiples.js +18 -0
- package/src/languageProcessing/languages/pl/helpers/internal/stem.js +161 -0
- package/src/languageProcessing/languages/pl/values/Clause.js +53 -0
- package/src/languageProcessing/languages/pt/Researcher.js +48 -0
- package/src/languageProcessing/languages/pt/config/firstWordExceptions.js +15 -0
- package/src/languageProcessing/languages/pt/config/functionWords.js +226 -0
- package/src/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js +66 -0
- package/src/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js +4088 -0
- package/src/languageProcessing/languages/pt/config/sentenceLength.js +3 -0
- package/src/languageProcessing/languages/pt/config/stopWords.js +50 -0
- package/src/languageProcessing/languages/pt/config/syllables.json +38 -0
- package/src/languageProcessing/languages/pt/config/transitionWords.js +34 -0
- package/src/languageProcessing/languages/pt/config/twoPartTransitionWords.js +9 -0
- package/src/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js +15 -0
- package/src/languageProcessing/languages/pt/helpers/getClauses.js +29 -0
- package/src/languageProcessing/languages/pt/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/pt/helpers/internal/getParticiples.js +35 -0
- package/src/languageProcessing/languages/pt/helpers/internal/stem.js +319 -0
- package/src/languageProcessing/languages/pt/values/Clause.js +43 -0
- package/src/languageProcessing/languages/ru/Researcher.js +48 -0
- package/src/languageProcessing/languages/ru/config/firstWordExceptions.js +14 -0
- package/src/languageProcessing/languages/ru/config/fleschReadingEaseScores.js +20 -0
- package/src/languageProcessing/languages/ru/config/functionWords.js +519 -0
- package/src/languageProcessing/languages/ru/config/internal/participlesShortenedList.js +2914 -0
- package/src/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js +6295 -0
- package/src/languageProcessing/languages/ru/config/sentenceLength.js +3 -0
- package/src/languageProcessing/languages/ru/config/syllables.json +19 -0
- package/src/languageProcessing/languages/ru/config/transitionWords.js +62 -0
- package/src/languageProcessing/languages/ru/config/twoPartTransitionWords.js +14 -0
- package/src/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js +16 -0
- package/src/languageProcessing/languages/ru/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/ru/helpers/internal/stem.js +288 -0
- package/src/languageProcessing/languages/ru/helpers/isPassiveSentence.js +14 -0
- package/src/languageProcessing/languages/sk/Researcher.js +46 -0
- package/src/languageProcessing/languages/sk/config/firstWordExceptions.js +14 -0
- package/src/languageProcessing/languages/sk/config/functionWords.js +855 -0
- package/src/languageProcessing/languages/sk/config/internal/nonPassives.js +1074 -0
- package/src/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js +22 -0
- package/src/languageProcessing/languages/sk/config/stopWords.js +34 -0
- package/src/languageProcessing/languages/sk/config/transitionWords.js +23 -0
- package/src/languageProcessing/languages/sk/config/twoPartTransitionWords.js +10 -0
- package/src/languageProcessing/languages/sk/helpers/getClauses.js +26 -0
- package/src/languageProcessing/languages/sk/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/sk/helpers/internal/getParticiples.js +16 -0
- package/src/languageProcessing/languages/sk/helpers/internal/stem.js +319 -0
- package/src/languageProcessing/languages/sk/values/Clause.js +39 -0
- package/src/languageProcessing/languages/sv/Researcher.js +45 -0
- package/src/languageProcessing/languages/sv/config/firstWordExceptions.js +15 -0
- package/src/languageProcessing/languages/sv/config/functionWords.js +176 -0
- package/src/languageProcessing/languages/sv/config/internal/passiveVerbs.js +10400 -0
- package/src/languageProcessing/languages/sv/config/keyphraseLength.js +11 -0
- package/src/languageProcessing/languages/sv/config/transitionWords.js +35 -0
- package/src/languageProcessing/languages/sv/config/twoPartTransitionWords.js +8 -0
- package/src/languageProcessing/languages/sv/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/sv/helpers/internal/stem.js +152 -0
- package/src/languageProcessing/languages/sv/helpers/isPassiveSentence.js +14 -0
- package/src/languageProcessing/languages/tr/Researcher.js +44 -0
- package/src/languageProcessing/languages/tr/config/firstWordExceptions.js +13 -0
- package/src/languageProcessing/languages/tr/config/functionWords.js +116 -0
- package/src/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js +574 -0
- package/src/languageProcessing/languages/tr/config/internal/passiveEndings.js +151 -0
- package/src/languageProcessing/languages/tr/config/sentenceLength.js +7 -0
- package/src/languageProcessing/languages/tr/config/transitionWords.js +42 -0
- package/src/languageProcessing/languages/tr/config/twoPartTransitionWords.js +7 -0
- package/src/languageProcessing/languages/tr/helpers/getStemmer.js +22 -0
- package/src/languageProcessing/languages/tr/helpers/internal/stem.js +20 -0
- package/src/languageProcessing/languages/tr/helpers/isPassiveSentence.js +43 -0
- package/src/languageProcessing/researches/altTagCount.js +70 -0
- package/src/languageProcessing/researches/countSentencesFromText.js +19 -0
- package/src/languageProcessing/researches/findKeyphraseInSEOTitle.js +257 -0
- package/src/languageProcessing/researches/findKeywordInFirstParagraph.js +86 -0
- package/src/languageProcessing/researches/findTransitionWords.js +123 -0
- package/src/languageProcessing/researches/functionWordsInKeyphrase.js +44 -0
- package/src/languageProcessing/researches/getAnchorsWithKeyphrase.js +227 -0
- package/src/languageProcessing/researches/getFleschReadingScore.js +150 -0
- package/src/languageProcessing/researches/getKeywordDensity.js +44 -0
- package/src/languageProcessing/researches/getLinkStatistics.js +54 -0
- package/src/languageProcessing/researches/getLinks.js +18 -0
- package/src/languageProcessing/researches/getLongCenterAlignedTexts.js +37 -0
- package/src/languageProcessing/researches/getParagraphLength.js +44 -0
- package/src/languageProcessing/researches/getParagraphs.js +18 -0
- package/src/languageProcessing/researches/getPassiveVoiceResult.js +129 -0
- package/src/languageProcessing/researches/getProminentWordsForInsights.js +48 -0
- package/src/languageProcessing/researches/getProminentWordsForInternalLinking.js +119 -0
- package/src/languageProcessing/researches/getSentenceBeginnings.js +124 -0
- package/src/languageProcessing/researches/getSubheadingTextLengths.js +59 -0
- package/src/languageProcessing/researches/getWordForms.js +204 -0
- package/src/languageProcessing/researches/h1s.js +10 -0
- package/src/languageProcessing/researches/imageCount.js +16 -0
- package/src/languageProcessing/researches/index.js +5 -0
- package/src/languageProcessing/researches/keyphraseDistribution.js +249 -0
- package/src/languageProcessing/researches/keyphraseLength.js +17 -0
- package/src/languageProcessing/researches/keywordCount.js +134 -0
- package/src/languageProcessing/researches/keywordCountInUrl.js +57 -0
- package/src/languageProcessing/researches/matchKeywordInSubheadings.js +62 -0
- package/src/languageProcessing/researches/metaDescriptionKeyword.js +85 -0
- package/src/languageProcessing/researches/metaDescriptionLength.js +12 -0
- package/src/languageProcessing/researches/pageTitleWidth.js +11 -0
- package/src/languageProcessing/researches/readingTime.js +82 -0
- package/src/languageProcessing/researches/sentences.js +20 -0
- package/src/languageProcessing/researches/videoCount.js +32 -0
- package/src/languageProcessing/researches/wordComplexity.js +129 -0
- package/src/languageProcessing/researches/wordCountInText.js +29 -0
- package/src/languageProcessing/values/Clause.js +108 -0
- package/src/languageProcessing/values/ProminentWord.js +95 -0
- package/src/languageProcessing/values/Sentence.js +111 -0
- package/src/languageProcessing/values/index.js +9 -0
- package/src/markers/addMark.js +9 -0
- package/src/markers/addMarkSingleWord.js +32 -0
- package/src/markers/index.js +7 -0
- package/src/markers/removeDuplicateMarks.js +27 -0
- package/src/markers/removeMarks.js +11 -0
- package/src/parse/build/build.js +52 -0
- package/src/parse/build/index.js +10 -0
- package/src/parse/build/private/adapt.js +113 -0
- package/src/parse/build/private/adaptAttributes.js +36 -0
- package/src/parse/build/private/alwaysFilterElements.js +75 -0
- package/src/parse/build/private/combineIntoImplicitParagraphs.js +130 -0
- package/src/parse/build/private/filterBeforeTokenizing.js +32 -0
- package/src/parse/build/private/filterHelpers.js +44 -0
- package/src/parse/build/private/filterTree.js +42 -0
- package/src/parse/build/private/getTextElementPositions.js +184 -0
- package/src/parse/build/private/helpers/parseClassAttribute.js +9 -0
- package/src/parse/build/private/isPhrasingContent.js +28 -0
- package/src/parse/build/private/parseBlocks.js +151 -0
- package/src/parse/build/private/tokenize.js +74 -0
- package/src/parse/language/LanguageProcessor.js +74 -0
- package/src/parse/structure/Heading.js +26 -0
- package/src/parse/structure/Node.js +69 -0
- package/src/parse/structure/Paragraph.js +48 -0
- package/src/parse/structure/Sentence.js +30 -0
- package/src/parse/structure/SourceCodeLocation.js +41 -0
- package/src/parse/structure/Text.js +27 -0
- package/src/parse/structure/Token.js +24 -0
- package/src/parse/structure/index.js +16 -0
- package/src/parse/traverse/findAllInTree.js +58 -0
- package/src/parse/traverse/index.js +12 -0
- package/src/parse/traverse/innerText.js +26 -0
- package/src/parsedPaper/ParsedPaper.js +92 -0
- package/src/parsedPaper/assess/TreeAssessor.js +184 -0
- package/src/parsedPaper/assess/assessmentListFactories.js +73 -0
- package/src/parsedPaper/assess/assessments/Assessment.js +79 -0
- package/src/parsedPaper/assess/assessments/index.js +6 -0
- package/src/parsedPaper/assess/assessorFactories.js +104 -0
- package/src/parsedPaper/assess/cornerstone/assessmentListFactories.js +47 -0
- package/src/parsedPaper/assess/cornerstone/index.js +5 -0
- package/src/parsedPaper/assess/index.js +20 -0
- package/src/parsedPaper/build/PaperParser.js +105 -0
- package/src/parsedPaper/build/linguisticParsing/Sentence.js +89 -0
- package/src/parsedPaper/build/linguisticParsing/SentenceTokenizer.js +323 -0
- package/src/parsedPaper/build/linguisticParsing/parseText.js +20 -0
- package/src/parsedPaper/build/tree/TreeBuilder.js +75 -0
- package/src/parsedPaper/build/tree/cleanup/calculateTextIndices.js +190 -0
- package/src/parsedPaper/build/tree/cleanup/getElementContent.js +21 -0
- package/src/parsedPaper/build/tree/cleanup/postParsing.js +37 -0
- package/src/parsedPaper/build/tree/html/HTMLTreeConverter.js +230 -0
- package/src/parsedPaper/build/tree/html/buildTree.js +31 -0
- package/src/parsedPaper/build/tree/html/htmlConstants.js +37 -0
- package/src/parsedPaper/build/tree/index.js +14 -0
- package/src/parsedPaper/build/tree/metadata/buildTree.js +32 -0
- package/src/parsedPaper/research/TreeResearcher.js +134 -0
- package/src/parsedPaper/research/index.js +13 -0
- package/src/parsedPaper/research/researches/Headings.js +20 -0
- package/src/parsedPaper/research/researches/LinkStatistics.js +128 -0
- package/src/parsedPaper/research/researches/Research.js +50 -0
- package/src/parsedPaper/research/researches/index.js +1 -0
- package/src/parsedPaper/structure/tree/FormattingElement.js +67 -0
- package/src/parsedPaper/structure/tree/SourceCodeLocation.js +31 -0
- package/src/parsedPaper/structure/tree/TextContainer.js +85 -0
- package/src/parsedPaper/structure/tree/index.js +22 -0
- package/src/parsedPaper/structure/tree/nodes/Heading.js +26 -0
- package/src/parsedPaper/structure/tree/nodes/LeafNode.js +75 -0
- package/src/parsedPaper/structure/tree/nodes/List.js +47 -0
- package/src/parsedPaper/structure/tree/nodes/ListItem.js +26 -0
- package/src/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js +46 -0
- package/src/parsedPaper/structure/tree/nodes/MetadataText.js +26 -0
- package/src/parsedPaper/structure/tree/nodes/Node.js +154 -0
- package/src/parsedPaper/structure/tree/nodes/Paragraph.js +24 -0
- package/src/parsedPaper/structure/tree/nodes/StructuredNode.js +52 -0
- package/src/parsedPaper/structure/tree/nodes/index.js +21 -0
- package/src/scoring/assessments/assessment.js +63 -0
- package/src/scoring/assessments/index.js +58 -0
- package/src/scoring/assessments/readability/ParagraphTooLongAssessment.js +173 -0
- package/src/scoring/assessments/readability/SentenceBeginningsAssessment.js +132 -0
- package/src/scoring/assessments/readability/SentenceLengthInTextAssessment.js +186 -0
- package/src/scoring/assessments/readability/TransitionWordsAssessment.js +168 -0
- package/src/scoring/assessments/seo/ImageCountAssessment.js +112 -0
- package/src/scoring/assessments/seo/InternalLinksAssessment.js +114 -0
- package/src/scoring/assessments/seo/IntroductionKeywordAssessment.js +110 -0
- package/src/scoring/assessments/seo/KeyphraseAssessment.js +104 -0
- package/src/scoring/assessments/seo/KeyphraseLengthAssessment.js +110 -0
- package/src/scoring/assessments/seo/KeywordDensityAssessment.js +116 -0
- package/src/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js +114 -0
- package/src/scoring/assessments/seo/MetaDescriptionLengthAssessment.js +112 -0
- package/src/scoring/assessments/seo/MetaTitleKeywordAssessment.js +111 -0
- package/src/scoring/assessments/seo/NumberInMetaTitleAssessment.js +107 -0
- package/src/scoring/assessments/seo/OutboundLinksAssessment.js +111 -0
- package/src/scoring/assessments/seo/PageTitleWidthAssessment.js +104 -0
- package/src/scoring/assessments/seo/SingleH1Assessment.js +118 -0
- package/src/scoring/assessments/seo/SingleTitleAssessment.js +108 -0
- package/src/scoring/assessments/seo/SubHeadingsKeywordAssessment.js +107 -0
- package/src/scoring/assessments/seo/TextImagesAssessment.js +144 -0
- package/src/scoring/assessments/seo/TextLengthAssessment.js +100 -0
- package/src/scoring/assessments/seo/UrlKeywordAssessment.js +111 -0
- package/src/scoring/assessments/seo/UrlLengthAssessment.js +103 -0
- package/src/scoring/assessors/assessor.js +269 -0
- package/src/scoring/assessors/avadaAssessor.js +67 -0
- package/src/scoring/assessors/contentAssessor.js +159 -0
- package/src/scoring/assessors/index.js +4 -0
- package/src/scoring/assessors/seoAssessor.js +57 -0
- package/src/scoring/helpers/assessments/checkForTooLongSentences.js +13 -0
- package/src/scoring/helpers/assessments/inRange.js +49 -0
- package/src/scoring/helpers/assessments/keyphraseLengthFactor.js +10 -0
- package/src/scoring/helpers/assessments/recommendedKeywordCount.js +43 -0
- package/src/scoring/helpers/index.js +74 -0
- package/src/scoring/interpreters/index.js +5 -0
- package/src/scoring/interpreters/scoreToRating.js +31 -0
- package/src/scoring/renderers/AssessorPresenter.js +360 -0
- package/src/scoring/scoreAggregators/ReadabilityScoreAggregator.js +203 -0
- package/src/scoring/scoreAggregators/SEOScoreAggregator.js +54 -0
- package/src/scoring/scoreAggregators/ScoreAggregator.js +23 -0
- package/src/scoring/scoreAggregators/index.js +3 -0
- package/src/values/AssessmentResult.js +496 -0
- package/src/values/Mark.js +271 -0
- package/src/values/Paper.js +425 -0
- package/src/values/index.js +9 -0
- package/src/vendor/turkishStemmer.js +3435 -0
- package/tsconfig.json +15 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import {languageProcessing} from '../../../index';
|
|
2
|
+
import {countSyllablesInWord} from '../../../../helpers/syllables/countSyllables';
|
|
3
|
+
import syllables from '../../config/syllables.json';
|
|
4
|
+
const {buildFormRule, createRulesFromArrays} = languageProcessing;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Further checks if the word can be a specific adjectival form.
|
|
8
|
+
*
|
|
9
|
+
* @param {string} word The word to check.
|
|
10
|
+
* @param {string} endsWith The ending of the form.
|
|
11
|
+
* @param {string[]} nonStemmingExceptions The list of words ending with the form that are not this form.
|
|
12
|
+
* @param {string[]} forcedStemmingExceptions The list of words ending with the form that are not caught by the regular rules.
|
|
13
|
+
*
|
|
14
|
+
* @returns {boolean} Whether the word can be a specific adjectival form.
|
|
15
|
+
*/
|
|
16
|
+
const refineAdjectiveCheck = (word, endsWith, nonStemmingExceptions, forcedStemmingExceptions) => {
|
|
17
|
+
const countSyllables = countSyllablesInWord(word, syllables);
|
|
18
|
+
/*
|
|
19
|
+
* This check is based on the regular comparative and superlative formation rules.
|
|
20
|
+
* One syllable adjectives receive -er and -est. The syllable count of the comparative/superlative form is 2.
|
|
21
|
+
* One/two syllable adjectives ending in -e receive -r and -st. The syllable count of the comparative/superlative form is 2.
|
|
22
|
+
* Two syllable adjectives ending in -y receive -ier and -iest. The syllable count of the comparative/superlative form is 3.
|
|
23
|
+
* Words ending in -er/-est that don't follow the above rules are not comparatives/superlatives, unless listed in the exception lists.
|
|
24
|
+
*/
|
|
25
|
+
if (word.endsWith(endsWith)) {
|
|
26
|
+
// Words with one syllable or less can't be comparatives/superlatives.
|
|
27
|
+
if (countSyllables <= 1) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
// The suffix for adjectives ending in -y is -ier/-iest.
|
|
31
|
+
const adjectiveEndingInYSuffix = `i${endsWith}`;
|
|
32
|
+
// Checks if the word is an adjective ending in -y that can have suffixes -er/-est. For example, 'pretty'.
|
|
33
|
+
const isStemEndingInY = word.endsWith(adjectiveEndingInYSuffix);
|
|
34
|
+
// Checks if the word is an adjective longer than one syllable that can have suffixes -er/-est (e.g. 'shallow'), OR
|
|
35
|
+
// if the word is an adjective ending in -y containing more than two syllables that can have suffixes -ier/-iest (e.g. 'unlikely').
|
|
36
|
+
const isForcedStemmingException =
|
|
37
|
+
forcedStemmingExceptions.includes(word.slice(0, -adjectiveEndingInYSuffix.length)) ||
|
|
38
|
+
forcedStemmingExceptions.includes(word.slice(0, -endsWith.length));
|
|
39
|
+
// Check if the word ending in -er/-est is not a comparative/superlative (e.g. 'banner').
|
|
40
|
+
const isNonStemmingException = nonStemmingExceptions.includes(word);
|
|
41
|
+
// The maximum syllable count for a word to be a comparative/superlative is 2, unless it ends in -y, then it's 3.
|
|
42
|
+
const maxSyllables = isStemEndingInY ? 3 : 2;
|
|
43
|
+
|
|
44
|
+
if (isForcedStemmingException || (countSyllables <= maxSyllables && !isNonStemmingException)) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Checks if the word ends with a specific form and is not in the exceptions list.
|
|
53
|
+
*
|
|
54
|
+
* @param {string} word The word to check.
|
|
55
|
+
* @param {string} endsWith The ending of the form.
|
|
56
|
+
* @param {string[]} nonStemmingExceptions The list of words ending with the form that are not this form.
|
|
57
|
+
* @returns {boolean} Whether the word ends with the form and is not in the exceptions list.
|
|
58
|
+
*/
|
|
59
|
+
const endsWithAndNoException = (word, endsWith, nonStemmingExceptions) =>
|
|
60
|
+
word.endsWith(endsWith) && !nonStemmingExceptions.includes(word);
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Constructs a function that checks if the input word can be a specific adjectival form.
|
|
64
|
+
*
|
|
65
|
+
* @param {string} endsWith How the form ends.
|
|
66
|
+
* @param {int} minimumWordLength How long the word should be to classify for this form.
|
|
67
|
+
* @param {string[]} [nonStemmingExceptions=[]] The list of words with that ending (endsWith) which are not this form.
|
|
68
|
+
* @param {string[]} [forcedStemmingExceptions=[]] The list of words with that ending (endsWith) which are not caught by the regular rules.
|
|
69
|
+
* @param {Function} [checkFunction=endsWithAndNoException] An extra check to determine if the word is this form.
|
|
70
|
+
*
|
|
71
|
+
* @returns {Function} A function that checks if the input word can be a specific adjectival form.
|
|
72
|
+
*/
|
|
73
|
+
const constructCanBeFunction = function(
|
|
74
|
+
endsWith,
|
|
75
|
+
minimumWordLength,
|
|
76
|
+
nonStemmingExceptions = [],
|
|
77
|
+
forcedStemmingExceptions = [],
|
|
78
|
+
checkFunction = endsWithAndNoException
|
|
79
|
+
) {
|
|
80
|
+
return word => {
|
|
81
|
+
const wordLength = word.length;
|
|
82
|
+
|
|
83
|
+
if (wordLength < minimumWordLength) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return checkFunction(word, endsWith, nonStemmingExceptions, forcedStemmingExceptions);
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Forms the base form from an input word.
|
|
92
|
+
*
|
|
93
|
+
* @param {string} word The word to build the base form for.
|
|
94
|
+
* @param {Object} regexAdjective The lists of regexes to apply to stem adjectives.
|
|
95
|
+
* @param {Array} regexAdjective.comparativeToBaseRegex The Array of regex-based rules to bring comparatives to base.
|
|
96
|
+
* @param {Array} regexAdjective.superlativeToBaseRegex The Array of regex-based rules to bring superlatives to base.
|
|
97
|
+
* @param {Array} regexAdjective.adverbToBaseRegex The Array of regex-based rules to bring adverbs to base.
|
|
98
|
+
* @param {Object} stopAdjectives The lists of words that are not adverbs.
|
|
99
|
+
* @param {string[]} stopAdjectives.erExceptions The list of words that end with -er and are not comparatives.
|
|
100
|
+
* @param {string[]} stopAdjectives.estExceptions The list of words that end with -est and are not superlatives.
|
|
101
|
+
* @param {string[]} stopAdjectives.lyExceptions The list of words that end with -ly and are not adverbs.
|
|
102
|
+
* @param {string[]} multiSyllableAdjWithSuffixes The list of adjectives containing more than 2 syllables that can have suffixes.
|
|
103
|
+
*
|
|
104
|
+
* @returns {Object} The base form of the input word.
|
|
105
|
+
*/
|
|
106
|
+
export default function(word, regexAdjective, stopAdjectives, multiSyllableAdjWithSuffixes) {
|
|
107
|
+
/*
|
|
108
|
+
* Check comparatives: Consider only words of four letters or more (otherwise, words like "per" are being treated
|
|
109
|
+
* as comparatives).
|
|
110
|
+
*/
|
|
111
|
+
const canBeComparative = constructCanBeFunction(
|
|
112
|
+
'er',
|
|
113
|
+
4,
|
|
114
|
+
stopAdjectives.erExceptions,
|
|
115
|
+
multiSyllableAdjWithSuffixes,
|
|
116
|
+
refineAdjectiveCheck
|
|
117
|
+
);
|
|
118
|
+
if (canBeComparative(word)) {
|
|
119
|
+
const comparativeToBaseRegex = createRulesFromArrays(regexAdjective.comparativeToBase);
|
|
120
|
+
return {
|
|
121
|
+
base: buildFormRule(word, comparativeToBaseRegex) || word,
|
|
122
|
+
guessedForm: 'er'
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/*
|
|
127
|
+
* Check superlatives: Consider only words of five letters or more (otherwise, words like "test" are being treated
|
|
128
|
+
* as superlatives).
|
|
129
|
+
*/
|
|
130
|
+
const canBeSuperlative = constructCanBeFunction(
|
|
131
|
+
'est',
|
|
132
|
+
5,
|
|
133
|
+
stopAdjectives.estExceptions,
|
|
134
|
+
multiSyllableAdjWithSuffixes,
|
|
135
|
+
refineAdjectiveCheck
|
|
136
|
+
);
|
|
137
|
+
if (canBeSuperlative(word)) {
|
|
138
|
+
const superlativeToBaseRegex = createRulesFromArrays(regexAdjective.superlativeToBase);
|
|
139
|
+
return {
|
|
140
|
+
base: buildFormRule(word, superlativeToBaseRegex) || word,
|
|
141
|
+
guessedForm: 'est'
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/*
|
|
146
|
+
* Check ly-adverbs: Consider only words of five letters or more (otherwise, words like "lily" are being treated
|
|
147
|
+
* as ly-adverbs).
|
|
148
|
+
*/
|
|
149
|
+
const canBeLyAdverb = constructCanBeFunction('ly', 5, stopAdjectives.lyExceptions);
|
|
150
|
+
if (canBeLyAdverb(word)) {
|
|
151
|
+
const adverbToBaseRegex = createRulesFromArrays(regexAdjective.adverbToBase);
|
|
152
|
+
return {
|
|
153
|
+
base: buildFormRule(word, adverbToBaseRegex),
|
|
154
|
+
guessedForm: 'ly'
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return {
|
|
159
|
+
base: word,
|
|
160
|
+
guessedForm: 'base'
|
|
161
|
+
};
|
|
162
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {forEach, includes} from 'lodash';
|
|
2
|
+
import {languageProcessing} from '../../../index';
|
|
3
|
+
const {matchRegularParticiples, getWords} = languageProcessing;
|
|
4
|
+
|
|
5
|
+
import irregularParticiples from '../../config/internal/passiveVoiceIrregulars';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Creates participle array for the participles found in a clause.
|
|
9
|
+
*
|
|
10
|
+
* @param {string} clauseText The clause to find participles in
|
|
11
|
+
*
|
|
12
|
+
* @returns {Array} The list with participles.
|
|
13
|
+
*/
|
|
14
|
+
export default function getParticiples(clauseText) {
|
|
15
|
+
const words = getWords(clauseText);
|
|
16
|
+
const foundParticiples = [];
|
|
17
|
+
|
|
18
|
+
forEach(words, function(word) {
|
|
19
|
+
const regex = [/\w+ed($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi];
|
|
20
|
+
if (matchRegularParticiples(word, regex).length !== 0 || includes(irregularParticiples, word)) {
|
|
21
|
+
foundParticiples.push(word);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return foundParticiples;
|
|
25
|
+
}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
// "use strict";
|
|
2
|
+
import {isUndefined} from 'lodash';
|
|
3
|
+
import {languageProcessing} from '../../../index';
|
|
4
|
+
const {buildFormRule, createRulesFromArrays} = languageProcessing;
|
|
5
|
+
|
|
6
|
+
const vowelRegex = /([aeiouy])/g;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Checks if the input word has one of the standard verb prefixes and if so returns a prefix and a de-prefixed verb to be
|
|
10
|
+
* further used to compare with the list of irregular verbs.
|
|
11
|
+
*
|
|
12
|
+
* @param {string} word The word for which to determine if it has one of the standard verb prefixes.
|
|
13
|
+
* @param {Object} verbPrefixes The collection of verb prefixes to be used for normalization
|
|
14
|
+
*
|
|
15
|
+
* @returns {Array} Array of word forms from the exception list.
|
|
16
|
+
*/
|
|
17
|
+
const normalizePrefixed = function(word, verbPrefixes) {
|
|
18
|
+
for (const property in verbPrefixes) {
|
|
19
|
+
if (verbPrefixes.hasOwnProperty) {
|
|
20
|
+
verbPrefixes[property] = new RegExp(verbPrefixes[property], 'i');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (verbPrefixes.sevenLetterHyphenPrefixes.test(word) === true) {
|
|
25
|
+
return {
|
|
26
|
+
normalizedWord: word.replace(verbPrefixes.sevenLetterHyphenPrefixes, ''),
|
|
27
|
+
prefix: word.substring(0, 8)
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (verbPrefixes.sevenLetterPrefixes.test(word) === true) {
|
|
32
|
+
return {
|
|
33
|
+
normalizedWord: word.replace(verbPrefixes.sevenLetterPrefixes, ''),
|
|
34
|
+
prefix: word.substring(0, 7)
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (verbPrefixes.fiveLetterHyphenPrefixes.test(word) === true) {
|
|
39
|
+
return {
|
|
40
|
+
normalizedWord: word.replace(verbPrefixes.fiveLetterHyphenPrefixes, ''),
|
|
41
|
+
prefix: word.substring(0, 6)
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (verbPrefixes.fiveLetterPrefixes.test(word) === true) {
|
|
46
|
+
return {
|
|
47
|
+
normalizedWord: word.replace(verbPrefixes.fiveLetterPrefixes, ''),
|
|
48
|
+
prefix: word.substring(0, 5)
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (verbPrefixes.fourLetterHyphenPrefixes.test(word) === true) {
|
|
53
|
+
return {
|
|
54
|
+
normalizedWord: word.replace(verbPrefixes.fourLetterHyphenPrefixes, ''),
|
|
55
|
+
prefix: word.substring(0, 5)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (verbPrefixes.fourLetterPrefixes.test(word) === true) {
|
|
60
|
+
return {
|
|
61
|
+
normalizedWord: word.replace(verbPrefixes.fourLetterPrefixes, ''),
|
|
62
|
+
prefix: word.substring(0, 4)
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (verbPrefixes.threeLetterHyphenPrefixes.test(word) === true) {
|
|
67
|
+
return {
|
|
68
|
+
normalizedWord: word.replace(verbPrefixes.threeLetterHyphenPrefixes, ''),
|
|
69
|
+
prefix: word.substring(0, 4)
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (verbPrefixes.threeLetterPrefixes.test(word) === true) {
|
|
74
|
+
return {
|
|
75
|
+
normalizedWord: word.replace(verbPrefixes.threeLetterPrefixes, ''),
|
|
76
|
+
prefix: word.substring(0, 3)
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (verbPrefixes.twoLetterHyphenPrefixes.test(word) === true) {
|
|
81
|
+
return {
|
|
82
|
+
normalizedWord: word.replace(verbPrefixes.twoLetterHyphenPrefixes, ''),
|
|
83
|
+
prefix: word.substring(0, 3)
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (verbPrefixes.twoLetterPrefixes.test(word) === true) {
|
|
88
|
+
return {
|
|
89
|
+
normalizedWord: word.replace(verbPrefixes.twoLetterPrefixes, ''),
|
|
90
|
+
prefix: word.substring(0, 2)
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (verbPrefixes.oneLetterPrefixes.test(word) === true) {
|
|
95
|
+
return {
|
|
96
|
+
normalizedWord: word.replace(verbPrefixes.oneLetterPrefixes, ''),
|
|
97
|
+
prefix: word.substring(0, 1)
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Checks if the input word occurs in the list of exception verbs and if so returns all its irregular forms.
|
|
104
|
+
* If not checks if it is an irregular verb with one of the standard verb prefixes, if so returns all irregular prefixed forms.
|
|
105
|
+
*
|
|
106
|
+
* @param {string} word The word for which to determine its irregular forms.
|
|
107
|
+
* @param {Array} irregularVerbs The array of irregular verbs available for this language.
|
|
108
|
+
* @param {Object} verbPrefixes The collection of verb prefixes to be used for normalization of irregular verbs.
|
|
109
|
+
*
|
|
110
|
+
* @returns {Array} Array of word forms from the exception list.
|
|
111
|
+
*/
|
|
112
|
+
const checkIrregulars = function(word, irregularVerbs, verbPrefixes) {
|
|
113
|
+
let irregulars;
|
|
114
|
+
|
|
115
|
+
irregularVerbs.forEach(function(paradigm) {
|
|
116
|
+
paradigm.forEach(function(wordInParadigm) {
|
|
117
|
+
if (wordInParadigm === word) {
|
|
118
|
+
irregulars = paradigm;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
if (isUndefined(irregulars)) {
|
|
124
|
+
const normalizedIrregular = normalizePrefixed(word, verbPrefixes);
|
|
125
|
+
|
|
126
|
+
if (!isUndefined(normalizedIrregular)) {
|
|
127
|
+
irregularVerbs.forEach(function(paradigm) {
|
|
128
|
+
paradigm.forEach(function(wordInParadigm) {
|
|
129
|
+
if (wordInParadigm === normalizedIrregular.normalizedWord) {
|
|
130
|
+
irregulars = paradigm.map(function(verb) {
|
|
131
|
+
return normalizedIrregular.prefix.concat(verb);
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return irregulars;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Checks if the input word ends with "s".
|
|
144
|
+
*
|
|
145
|
+
* @param {string} word The word to check.
|
|
146
|
+
*
|
|
147
|
+
* @returns {boolean} True if the word ends with "s".
|
|
148
|
+
*/
|
|
149
|
+
const endsWithS = function(word) {
|
|
150
|
+
const wordLength = word.length;
|
|
151
|
+
// Consider only words of four letters or more to be s-forms (otherwise, words like "its" are being treated as verb forms).
|
|
152
|
+
if (wordLength > 3) {
|
|
153
|
+
return word[word.length - 1] === 's';
|
|
154
|
+
}
|
|
155
|
+
return false;
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Checks if the input word ends with "ing".
|
|
160
|
+
*
|
|
161
|
+
* @param {string} word The word to check.
|
|
162
|
+
*
|
|
163
|
+
* @returns {boolean} True if the word ends with "ing".
|
|
164
|
+
*/
|
|
165
|
+
const endsWithIng = function(word) {
|
|
166
|
+
const vowelCount = (word.match(vowelRegex) || []).length;
|
|
167
|
+
|
|
168
|
+
// Consider only words that have at least one more vowel besides "i" in "ing" (otherwise, words like "ping" are being treated as verb forms).
|
|
169
|
+
if (vowelCount > 1 && word.length > 4) {
|
|
170
|
+
return word.substring(word.length - 3, word.length) === 'ing';
|
|
171
|
+
}
|
|
172
|
+
return false;
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Checks if the input word ends with "ed".
|
|
177
|
+
*
|
|
178
|
+
* @param {string} word The word to check.
|
|
179
|
+
*
|
|
180
|
+
* @returns {boolean} True if the word ends with "ed".
|
|
181
|
+
*/
|
|
182
|
+
const endsWithEd = function(word) {
|
|
183
|
+
const vowelCount = (word.match(vowelRegex) || []).length;
|
|
184
|
+
|
|
185
|
+
// Consider only words that have at least one more vowel besides "e" in "ed" (otherwise, words like "red" are being treated as verb forms).
|
|
186
|
+
if (
|
|
187
|
+
vowelCount > 1 ||
|
|
188
|
+
(vowelCount === 1 && word.substring(word.length - 3, word.length - 2) !== 'e')
|
|
189
|
+
) {
|
|
190
|
+
return word.substring(word.length - 2, word.length) === 'ed';
|
|
191
|
+
}
|
|
192
|
+
return false;
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Forms the infinitive from an input word.
|
|
197
|
+
*
|
|
198
|
+
* @param {string} word The word to build the infinitive for.
|
|
199
|
+
* @param {Object} regexVerb The list of regex rules used to bring verb forms to infinitive.
|
|
200
|
+
* @param {Array} regexVerb.sFormToInfinitiveRegex The array of regex-based rules used to bring -s forms to infinitive.
|
|
201
|
+
* @param {Array} regexVerb.ingFormToInfinitiveRegex The array of regex-based rules used to bring -ing forms to infinitive.
|
|
202
|
+
* @param {Array} regexVerb.edFormToInfinitiveRegex The array of regex-based rules used to bring -ed forms to infinitive.
|
|
203
|
+
*
|
|
204
|
+
* @returns {Object} The infinitive of the input word.
|
|
205
|
+
*/
|
|
206
|
+
const getInfinitive = function(word, regexVerb) {
|
|
207
|
+
const sFormToInfinitiveRegex = createRulesFromArrays(regexVerb.sFormToInfinitive);
|
|
208
|
+
const ingFormToInfinitiveRegex = createRulesFromArrays(regexVerb.ingFormToInfinitive);
|
|
209
|
+
const edFormToInfinitiveRegex = createRulesFromArrays(regexVerb.edFormToInfinitive);
|
|
210
|
+
|
|
211
|
+
if (endsWithS(word)) {
|
|
212
|
+
return {
|
|
213
|
+
infinitive: buildFormRule(word, sFormToInfinitiveRegex),
|
|
214
|
+
guessedForm: 's'
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if (endsWithIng(word)) {
|
|
219
|
+
return {
|
|
220
|
+
infinitive: buildFormRule(word, ingFormToInfinitiveRegex),
|
|
221
|
+
guessedForm: 'ing'
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
if (endsWithEd(word)) {
|
|
226
|
+
return {
|
|
227
|
+
infinitive: buildFormRule(word, edFormToInfinitiveRegex) || word,
|
|
228
|
+
guessedForm: 'ed'
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
return {
|
|
232
|
+
infinitive: word,
|
|
233
|
+
guessedForm: 'inf'
|
|
234
|
+
};
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
export {getInfinitive, checkIrregulars, endsWithIng, normalizePrefixed};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import {includes, intersection, isEmpty} from 'lodash';
|
|
2
|
+
import {
|
|
3
|
+
cannotBeBetweenPassiveAuxiliaryAndParticiple,
|
|
4
|
+
cannotDirectlyPrecedePassiveParticiple
|
|
5
|
+
} from '../config/functionWords';
|
|
6
|
+
import nonVerbsEndingEd from '../config/internal/passiveVoiceNonVerbEndingEd';
|
|
7
|
+
import getParticiples from '../helpers/internal/getParticiples';
|
|
8
|
+
import {languageProcessing} from '../../../index';
|
|
9
|
+
const {precedenceException, directPrecedenceException, values} = languageProcessing;
|
|
10
|
+
const Clause = values.Clause;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Creates a Clause object for the English language.
|
|
14
|
+
*/
|
|
15
|
+
class EnglishClause extends Clause {
|
|
16
|
+
/**
|
|
17
|
+
* Constructor.
|
|
18
|
+
*
|
|
19
|
+
* @param {string} clauseText The text of the clause.
|
|
20
|
+
* @param {Array} auxiliaries The auxiliaries.
|
|
21
|
+
*
|
|
22
|
+
* @constructor
|
|
23
|
+
*/
|
|
24
|
+
constructor(clauseText, auxiliaries) {
|
|
25
|
+
super(clauseText, auxiliaries);
|
|
26
|
+
this._participles = getParticiples(this.getClauseText());
|
|
27
|
+
this.checkParticiples();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Checks if any exceptions are applicable to this participle that would result in the clause not being passive.
|
|
32
|
+
* If no exceptions are found, the clause is passive.
|
|
33
|
+
*
|
|
34
|
+
* @returns {boolean} Returns true if no exception is found.
|
|
35
|
+
*/
|
|
36
|
+
checkParticiples() {
|
|
37
|
+
const clause = this.getClauseText();
|
|
38
|
+
|
|
39
|
+
const passiveParticiples = this.getParticiples().filter(
|
|
40
|
+
participle =>
|
|
41
|
+
!includes(nonVerbsEndingEd, participle) &&
|
|
42
|
+
!this.hasRidException(participle) &&
|
|
43
|
+
!directPrecedenceException(clause, participle, cannotDirectlyPrecedePassiveParticiple) &&
|
|
44
|
+
!precedenceException(clause, participle, cannotBeBetweenPassiveAuxiliaryAndParticiple)
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
this.setPassive(passiveParticiples.length > 0);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Checks whether the participle is 'rid' in combination with 'get', 'gets', 'getting', 'got' or 'gotten'.
|
|
52
|
+
* If this is true, the participle is not passive.
|
|
53
|
+
*
|
|
54
|
+
* @param {string} participle The participle
|
|
55
|
+
*
|
|
56
|
+
* @returns {boolean} Returns true if 'rid' is found in combination with a form of 'get'
|
|
57
|
+
* otherwise returns false.
|
|
58
|
+
*/
|
|
59
|
+
hasRidException(participle) {
|
|
60
|
+
if (participle === 'rid') {
|
|
61
|
+
const irregularExclusionArray = ['get', 'gets', 'getting', 'got', 'gotten'];
|
|
62
|
+
return !isEmpty(intersection(irregularExclusionArray, this.getAuxiliaries()));
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export default EnglishClause;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import {languageProcessing} from '../../../index';
|
|
2
|
+
const {AbstractResearcher} = languageProcessing;
|
|
3
|
+
|
|
4
|
+
// All config
|
|
5
|
+
import firstWordExceptions from './config/firstWordExceptions';
|
|
6
|
+
import {all as functionWords} from './config/functionWords';
|
|
7
|
+
import stopWords from './config/stopWords';
|
|
8
|
+
import transitionWords from './config/transitionWords';
|
|
9
|
+
import twoPartTransitionWords from './config/twoPartTransitionWords';
|
|
10
|
+
import syllables from './config/syllables.json';
|
|
11
|
+
import sentenceLength from './config/sentenceLength';
|
|
12
|
+
|
|
13
|
+
// All helpers
|
|
14
|
+
import getClauses from './helpers/getClauses';
|
|
15
|
+
import getStemmer from './helpers/getStemmer';
|
|
16
|
+
import fleschReadingScore from './helpers/calculateFleschReadingScore';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* The researcher contains all the researches, helpers, data, and config.
|
|
20
|
+
*/
|
|
21
|
+
export default class Researcher extends AbstractResearcher {
|
|
22
|
+
/**
|
|
23
|
+
* Constructor
|
|
24
|
+
* @param {Paper} paper The Paper object that is needed within the researches.
|
|
25
|
+
* @constructor
|
|
26
|
+
*/
|
|
27
|
+
constructor(paper) {
|
|
28
|
+
super(paper);
|
|
29
|
+
|
|
30
|
+
Object.assign(this.config, {
|
|
31
|
+
language: 'es',
|
|
32
|
+
passiveConstructionType: 'periphrastic',
|
|
33
|
+
firstWordExceptions,
|
|
34
|
+
functionWords,
|
|
35
|
+
stopWords,
|
|
36
|
+
transitionWords,
|
|
37
|
+
twoPartTransitionWords,
|
|
38
|
+
syllables,
|
|
39
|
+
sentenceLength
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
Object.assign(this.helpers, {
|
|
43
|
+
getClauses,
|
|
44
|
+
getStemmer,
|
|
45
|
+
fleschReadingScore
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an array with exceptions for the sentence beginning researcher.
|
|
3
|
+
* @returns {Array} The array filled with exceptions.
|
|
4
|
+
*/
|
|
5
|
+
export default [
|
|
6
|
+
// Definite articles:
|
|
7
|
+
"el", "los", "la", "las",
|
|
8
|
+
// Indefinite articles:
|
|
9
|
+
"un", "una", "unas", "unos",
|
|
10
|
+
// Numbers 1-10:
|
|
11
|
+
"uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez",
|
|
12
|
+
// Demonstrative pronouns:
|
|
13
|
+
"este", "estos", "esta", "estas", "ese", "esos", "esa", "esas", "aquel",
|
|
14
|
+
"aquellos", "aquella", "aquellas", "esto", "eso", "aquello" ];
|
|
15
|
+
|
|
16
|
+
|