axyseo 2.0.0-alpha.1
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/README.md +228 -0
- package/build/bundledPlugins/index.js +14 -0
- package/build/bundledPlugins/index.js.map +1 -0
- package/build/bundledPlugins/previouslyUsedKeywords.js +171 -0
- package/build/bundledPlugins/previouslyUsedKeywords.js.map +1 -0
- package/build/config/diacritics.js +140 -0
- package/build/config/diacritics.js.map +1 -0
- package/build/config/getTransliterations.js +3572 -0
- package/build/config/getTransliterations.js.map +1 -0
- package/build/config/transliterationsWPstyle.js +1424 -0
- package/build/config/transliterationsWPstyle.js.map +1 -0
- package/build/config/wordBoundaries.js +26 -0
- package/build/config/wordBoundaries.js.map +1 -0
- package/build/config/wordBoundariesWithoutPunctuation.js +16 -0
- package/build/config/wordBoundariesWithoutPunctuation.js.map +1 -0
- package/build/const/analysis.js +20 -0
- package/build/const/analysis.js.map +1 -0
- package/build/errors/invalidType.js +22 -0
- package/build/errors/invalidType.js.map +1 -0
- package/build/errors/missingArgument.js +22 -0
- package/build/errors/missingArgument.js.map +1 -0
- package/build/helpers/createMeasurementElement.js +46 -0
- package/build/helpers/createMeasurementElement.js.map +1 -0
- package/build/helpers/domManipulation.js +66 -0
- package/build/helpers/domManipulation.js.map +1 -0
- package/build/helpers/errors.js +26 -0
- package/build/helpers/errors.js.map +1 -0
- package/build/helpers/factory.js +207 -0
- package/build/helpers/factory.js.map +1 -0
- package/build/helpers/formatNumber.js +18 -0
- package/build/helpers/formatNumber.js.map +1 -0
- package/build/helpers/formatString.js +38 -0
- package/build/helpers/formatString.js.map +1 -0
- package/build/helpers/getLanguagesWithWordComplexity.js +15 -0
- package/build/helpers/getLanguagesWithWordComplexity.js.map +1 -0
- package/build/helpers/getLanguagesWithWordFormSupport.js +16 -0
- package/build/helpers/getLanguagesWithWordFormSupport.js.map +1 -0
- package/build/helpers/getWordComplexityConfig.js +27 -0
- package/build/helpers/getWordComplexityConfig.js.map +1 -0
- package/build/helpers/getWordComplexityHelper.js +27 -0
- package/build/helpers/getWordComplexityHelper.js.map +1 -0
- package/build/helpers/htmlEntities.js +21 -0
- package/build/helpers/htmlEntities.js.map +1 -0
- package/build/helpers/includesAny.js +24 -0
- package/build/helpers/includesAny.js.map +1 -0
- package/build/helpers/index.js +179 -0
- package/build/helpers/index.js.map +1 -0
- package/build/helpers/shortlinker/Shortlinker.js +79 -0
- package/build/helpers/shortlinker/Shortlinker.js.map +1 -0
- package/build/helpers/shortlinker/index.js +17 -0
- package/build/helpers/shortlinker/index.js.map +1 -0
- package/build/helpers/shortlinker/singleton.js +76 -0
- package/build/helpers/shortlinker/singleton.js.map +1 -0
- package/build/helpers/types.js +37 -0
- package/build/helpers/types.js.map +1 -0
- package/build/index.js +103 -0
- package/build/index.js.map +1 -0
- package/build/languageProcessing/AbstractResearcher.js +348 -0
- package/build/languageProcessing/AbstractResearcher.js.map +1 -0
- package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js +123 -0
- package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js.map +1 -0
- package/build/languageProcessing/helpers/html/getFieldsToMark.js +37 -0
- package/build/languageProcessing/helpers/html/getFieldsToMark.js.map +1 -0
- package/build/languageProcessing/helpers/html/getSubheadingTexts.js +47 -0
- package/build/languageProcessing/helpers/html/getSubheadingTexts.js.map +1 -0
- package/build/languageProcessing/helpers/html/getSubheadings.js +92 -0
- package/build/languageProcessing/helpers/html/getSubheadings.js.map +1 -0
- package/build/languageProcessing/helpers/html/html.js +152 -0
- package/build/languageProcessing/helpers/html/html.js.map +1 -0
- package/build/languageProcessing/helpers/html/htmlParser.js +132 -0
- package/build/languageProcessing/helpers/html/htmlParser.js.map +1 -0
- package/build/languageProcessing/helpers/html/matchParagraphs.js +61 -0
- package/build/languageProcessing/helpers/html/matchParagraphs.js.map +1 -0
- package/build/languageProcessing/helpers/html/normalizeHTML.js +23 -0
- package/build/languageProcessing/helpers/html/normalizeHTML.js.map +1 -0
- package/build/languageProcessing/helpers/image/getAltAttribute.js +24 -0
- package/build/languageProcessing/helpers/image/getAltAttribute.js.map +1 -0
- package/build/languageProcessing/helpers/image/getImagesInTree.js +21 -0
- package/build/languageProcessing/helpers/image/getImagesInTree.js.map +1 -0
- package/build/languageProcessing/helpers/image/imageInText.js +26 -0
- package/build/languageProcessing/helpers/image/imageInText.js.map +1 -0
- package/build/languageProcessing/helpers/index.js +41 -0
- package/build/languageProcessing/helpers/index.js.map +1 -0
- package/build/languageProcessing/helpers/language/getLanguage.js +16 -0
- package/build/languageProcessing/helpers/language/getLanguage.js.map +1 -0
- package/build/languageProcessing/helpers/link/checkNofollow.js +42 -0
- package/build/languageProcessing/helpers/link/checkNofollow.js.map +1 -0
- package/build/languageProcessing/helpers/link/getAnchorsFromText.js +37 -0
- package/build/languageProcessing/helpers/link/getAnchorsFromText.js.map +1 -0
- package/build/languageProcessing/helpers/link/getLinkType.js +36 -0
- package/build/languageProcessing/helpers/link/getLinkType.js.map +1 -0
- package/build/languageProcessing/helpers/match/findKeywordFormsInString.js +101 -0
- package/build/languageProcessing/helpers/match/findKeywordFormsInString.js.map +1 -0
- package/build/languageProcessing/helpers/match/isDoubleQuoted.js +19 -0
- package/build/languageProcessing/helpers/match/isDoubleQuoted.js.map +1 -0
- package/build/languageProcessing/helpers/match/matchTextWithArray.js +41 -0
- package/build/languageProcessing/helpers/match/matchTextWithArray.js.map +1 -0
- package/build/languageProcessing/helpers/match/matchTextWithTransliteration.js +58 -0
- package/build/languageProcessing/helpers/match/matchTextWithTransliteration.js.map +1 -0
- package/build/languageProcessing/helpers/match/matchTextWithWord.js +47 -0
- package/build/languageProcessing/helpers/match/matchTextWithWord.js.map +1 -0
- package/build/languageProcessing/helpers/match/matchWordFormsWithSentence.js +162 -0
- package/build/languageProcessing/helpers/match/matchWordFormsWithSentence.js.map +1 -0
- package/build/languageProcessing/helpers/match/processExactMatchRequest.js +29 -0
- package/build/languageProcessing/helpers/match/processExactMatchRequest.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/baseStemmer.js +18 -0
- package/build/languageProcessing/helpers/morphology/baseStemmer.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/buildFormRule.js +26 -0
- package/build/languageProcessing/helpers/morphology/buildFormRule.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/buildTopicStems.js +164 -0
- package/build/languageProcessing/helpers/morphology/buildTopicStems.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/createRulesFromArrays.js +48 -0
- package/build/languageProcessing/helpers/morphology/createRulesFromArrays.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/exceptionListHelpers.js +71 -0
- package/build/languageProcessing/helpers/morphology/exceptionListHelpers.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/findMatchingEndingInArray.js +29 -0
- package/build/languageProcessing/helpers/morphology/findMatchingEndingInArray.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/flattenSortLength.js +19 -0
- package/build/languageProcessing/helpers/morphology/flattenSortLength.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js +35 -0
- package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/regexHelpers.js +53 -0
- package/build/languageProcessing/helpers/morphology/regexHelpers.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/stemHelpers.js +46 -0
- package/build/languageProcessing/helpers/morphology/stemHelpers.js.map +1 -0
- package/build/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js +39 -0
- package/build/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js.map +1 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js +42 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js.map +1 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js +116 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js.map +1 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js +45 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js.map +1 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js +220 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js.map +1 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js +27 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js.map +1 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js +28 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js.map +1 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js +46 -0
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js.map +1 -0
- package/build/languageProcessing/helpers/prominentWords/determineProminentWords.js +203 -0
- package/build/languageProcessing/helpers/prominentWords/determineProminentWords.js.map +1 -0
- package/build/languageProcessing/helpers/regex/createRegexFromArray.js +38 -0
- package/build/languageProcessing/helpers/regex/createRegexFromArray.js.map +1 -0
- package/build/languageProcessing/helpers/regex/createRegexFromDoubleArray.js +39 -0
- package/build/languageProcessing/helpers/regex/createRegexFromDoubleArray.js.map +1 -0
- package/build/languageProcessing/helpers/regex/createWordRegex.js +34 -0
- package/build/languageProcessing/helpers/regex/createWordRegex.js.map +1 -0
- package/build/languageProcessing/helpers/regex/matchStringWithRegex.js +24 -0
- package/build/languageProcessing/helpers/regex/matchStringWithRegex.js.map +1 -0
- package/build/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js +21 -0
- package/build/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/doubleQuotes.js +19 -0
- package/build/languageProcessing/helpers/sanitize/doubleQuotes.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js +131 -0
- package/build/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/mergeListItems.js +30 -0
- package/build/languageProcessing/helpers/sanitize/mergeListItems.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/parseSynonyms.js +24 -0
- package/build/languageProcessing/helpers/sanitize/parseSynonyms.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/quotes.js +47 -0
- package/build/languageProcessing/helpers/sanitize/quotes.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/removeEmailAddresses.js +19 -0
- package/build/languageProcessing/helpers/sanitize/removeEmailAddresses.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/removePunctuation.js +64 -0
- package/build/languageProcessing/helpers/sanitize/removePunctuation.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js +24 -0
- package/build/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/removeSentenceTerminators.js +20 -0
- package/build/languageProcessing/helpers/sanitize/removeSentenceTerminators.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/removeURLs.js +19 -0
- package/build/languageProcessing/helpers/sanitize/removeURLs.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js +18 -0
- package/build/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/sanitizeString.js +23 -0
- package/build/languageProcessing/helpers/sanitize/sanitizeString.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/stripHTMLTags.js +59 -0
- package/build/languageProcessing/helpers/sanitize/stripHTMLTags.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/stripNonTextTags.js +22 -0
- package/build/languageProcessing/helpers/sanitize/stripNonTextTags.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/stripNumbers.js +26 -0
- package/build/languageProcessing/helpers/sanitize/stripNumbers.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/stripSpaces.js +29 -0
- package/build/languageProcessing/helpers/sanitize/stripSpaces.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/stripWordBoundaries.js +65 -0
- package/build/languageProcessing/helpers/sanitize/stripWordBoundaries.js.map +1 -0
- package/build/languageProcessing/helpers/sanitize/unifyWhitespace.js +64 -0
- package/build/languageProcessing/helpers/sanitize/unifyWhitespace.js.map +1 -0
- package/build/languageProcessing/helpers/sentence/SentenceTokenizer.js +565 -0
- package/build/languageProcessing/helpers/sentence/SentenceTokenizer.js.map +1 -0
- package/build/languageProcessing/helpers/sentence/countSentences.js +27 -0
- package/build/languageProcessing/helpers/sentence/countSentences.js.map +1 -0
- package/build/languageProcessing/helpers/sentence/getSentences.js +71 -0
- package/build/languageProcessing/helpers/sentence/getSentences.js.map +1 -0
- package/build/languageProcessing/helpers/sentence/getSentencesFromTree.js +60 -0
- package/build/languageProcessing/helpers/sentence/getSentencesFromTree.js.map +1 -0
- package/build/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js +37 -0
- package/build/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js.map +1 -0
- package/build/languageProcessing/helpers/sentence/sentencesLength.js +37 -0
- package/build/languageProcessing/helpers/sentence/sentencesLength.js.map +1 -0
- package/build/languageProcessing/helpers/syllables/DeviationFragment.js +108 -0
- package/build/languageProcessing/helpers/syllables/DeviationFragment.js.map +1 -0
- package/build/languageProcessing/helpers/syllables/countSyllables.js +173 -0
- package/build/languageProcessing/helpers/syllables/countSyllables.js.map +1 -0
- package/build/languageProcessing/helpers/syllables/syllableCountIterator.js +63 -0
- package/build/languageProcessing/helpers/syllables/syllableCountIterator.js.map +1 -0
- package/build/languageProcessing/helpers/syllables/syllableCountStep.js +75 -0
- package/build/languageProcessing/helpers/syllables/syllableCountStep.js.map +1 -0
- package/build/languageProcessing/helpers/transform/transformWordsWithHyphens.js +24 -0
- package/build/languageProcessing/helpers/transform/transformWordsWithHyphens.js.map +1 -0
- package/build/languageProcessing/helpers/transliterate/replaceDiacritics.js +25 -0
- package/build/languageProcessing/helpers/transliterate/replaceDiacritics.js.map +1 -0
- package/build/languageProcessing/helpers/transliterate/specialCharacterMappings.js +194 -0
- package/build/languageProcessing/helpers/transliterate/specialCharacterMappings.js.map +1 -0
- package/build/languageProcessing/helpers/transliterate/transliterate.js +24 -0
- package/build/languageProcessing/helpers/transliterate/transliterate.js.map +1 -0
- package/build/languageProcessing/helpers/transliterate/transliterateWPstyle.js +25 -0
- package/build/languageProcessing/helpers/transliterate/transliterateWPstyle.js.map +1 -0
- package/build/languageProcessing/helpers/url/parseSlug.js +17 -0
- package/build/languageProcessing/helpers/url/parseSlug.js.map +1 -0
- package/build/languageProcessing/helpers/url/url.js +174 -0
- package/build/languageProcessing/helpers/url/url.js.map +1 -0
- package/build/languageProcessing/helpers/word/addWordboundary.js +41 -0
- package/build/languageProcessing/helpers/word/addWordboundary.js.map +1 -0
- package/build/languageProcessing/helpers/word/areWordsInSentence.js +23 -0
- package/build/languageProcessing/helpers/word/areWordsInSentence.js.map +1 -0
- package/build/languageProcessing/helpers/word/countMetaDescriptionLength.js +24 -0
- package/build/languageProcessing/helpers/word/countMetaDescriptionLength.js.map +1 -0
- package/build/languageProcessing/helpers/word/countWords.js +21 -0
- package/build/languageProcessing/helpers/word/countWords.js.map +1 -0
- package/build/languageProcessing/helpers/word/createPunctuationTokens.js +46 -0
- package/build/languageProcessing/helpers/word/createPunctuationTokens.js.map +1 -0
- package/build/languageProcessing/helpers/word/filterWordsFromArray.js +21 -0
- package/build/languageProcessing/helpers/word/filterWordsFromArray.js.map +1 -0
- package/build/languageProcessing/helpers/word/followsIndex.js +29 -0
- package/build/languageProcessing/helpers/word/followsIndex.js.map +1 -0
- package/build/languageProcessing/helpers/word/getAllWordsFromTree.js +30 -0
- package/build/languageProcessing/helpers/word/getAllWordsFromTree.js.map +1 -0
- package/build/languageProcessing/helpers/word/getWords.js +47 -0
- package/build/languageProcessing/helpers/word/getWords.js.map +1 -0
- package/build/languageProcessing/helpers/word/includesIndex.js +34 -0
- package/build/languageProcessing/helpers/word/includesIndex.js.map +1 -0
- package/build/languageProcessing/helpers/word/indices.js +141 -0
- package/build/languageProcessing/helpers/word/indices.js.map +1 -0
- package/build/languageProcessing/helpers/word/markWordsInSentences.js +189 -0
- package/build/languageProcessing/helpers/word/markWordsInSentences.js.map +1 -0
- package/build/languageProcessing/helpers/word/matchWordInSentence.js +63 -0
- package/build/languageProcessing/helpers/word/matchWordInSentence.js.map +1 -0
- package/build/languageProcessing/helpers/word/splitIntoTokens.js +52 -0
- package/build/languageProcessing/helpers/word/splitIntoTokens.js.map +1 -0
- package/build/languageProcessing/index.js +283 -0
- package/build/languageProcessing/index.js.map +1 -0
- package/build/languageProcessing/languages/_default/Researcher.js +43 -0
- package/build/languageProcessing/languages/_default/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/_default/helpers/getStemmer.js +20 -0
- package/build/languageProcessing/languages/_default/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/ar/Researcher.js +54 -0
- package/build/languageProcessing/languages/ar/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/ar/config/firstWordExceptions.js +18 -0
- package/build/languageProcessing/languages/ar/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/ar/config/functionWords.js +80 -0
- package/build/languageProcessing/languages/ar/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js +13 -0
- package/build/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js.map +1 -0
- package/build/languageProcessing/languages/ar/config/prefixedFunctionWords.js +11 -0
- package/build/languageProcessing/languages/ar/config/prefixedFunctionWords.js.map +1 -0
- package/build/languageProcessing/languages/ar/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/ar/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/ar/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/ar/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/ar/helpers/createBasicWordForms.js +38 -0
- package/build/languageProcessing/languages/ar/helpers/createBasicWordForms.js.map +1 -0
- package/build/languageProcessing/languages/ar/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/ar/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/ar/helpers/internal/stem.js +635 -0
- package/build/languageProcessing/languages/ar/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js +41 -0
- package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js.map +1 -0
- package/build/languageProcessing/languages/ca/Researcher.js +52 -0
- package/build/languageProcessing/languages/ca/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/ca/config/sentenceLength.js +10 -0
- package/build/languageProcessing/languages/ca/config/sentenceLength.js.map +1 -0
- package/build/languageProcessing/languages/ca/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/ca/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/ca/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/ca/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/ca/helpers/getStemmer.js +20 -0
- package/build/languageProcessing/languages/ca/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/cs/Researcher.js +52 -0
- package/build/languageProcessing/languages/cs/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/cs/config/firstWordExceptions.js +20 -0
- package/build/languageProcessing/languages/cs/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/cs/config/functionWords.js +50 -0
- package/build/languageProcessing/languages/cs/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js +10 -0
- package/build/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js +14 -0
- package/build/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js.map +1 -0
- package/build/languageProcessing/languages/cs/config/stopWords.js +12 -0
- package/build/languageProcessing/languages/cs/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/cs/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/cs/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/cs/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/cs/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/cs/helpers/getClauses.js +35 -0
- package/build/languageProcessing/languages/cs/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/cs/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/cs/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js +24 -0
- package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/cs/helpers/internal/stem.js +341 -0
- package/build/languageProcessing/languages/cs/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/cs/values/Clause.js +45 -0
- package/build/languageProcessing/languages/cs/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/de/Researcher.js +61 -0
- package/build/languageProcessing/languages/de/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/de/config/firstWordExceptions.js +20 -0
- package/build/languageProcessing/languages/de/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/de/config/functionWords.js +103 -0
- package/build/languageProcessing/languages/de/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js +13 -0
- package/build/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js.map +1 -0
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js +29 -0
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js +15 -0
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js.map +1 -0
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js +78 -0
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js.map +1 -0
- package/build/languageProcessing/languages/de/config/keyphraseLength.js +17 -0
- package/build/languageProcessing/languages/de/config/keyphraseLength.js.map +1 -0
- package/build/languageProcessing/languages/de/config/stopWords.js +12 -0
- package/build/languageProcessing/languages/de/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/de/config/syllables.json +460 -0
- package/build/languageProcessing/languages/de/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/de/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/de/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/de/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/de/config/wordComplexity.js +11 -0
- package/build/languageProcessing/languages/de/config/wordComplexity.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js +23 -0
- package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js +47 -0
- package/build/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js +20 -0
- package/build/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/getClauses.js +34 -0
- package/build/languageProcessing/languages/de/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/de/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js +38 -0
- package/build/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js +118 -0
- package/build/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/internal/determineStem.js +113 -0
- package/build/languageProcessing/languages/de/helpers/internal/determineStem.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js +39 -0
- package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/internal/stem.js +222 -0
- package/build/languageProcessing/languages/de/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js +37 -0
- package/build/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js.map +1 -0
- package/build/languageProcessing/languages/de/values/Clause.js +91 -0
- package/build/languageProcessing/languages/de/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/el/Researcher.js +55 -0
- package/build/languageProcessing/languages/el/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/el/config/firstWordExceptions.js +33 -0
- package/build/languageProcessing/languages/el/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/el/config/functionWords.js +47 -0
- package/build/languageProcessing/languages/el/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/el/config/internal/auxiliaries.js +12 -0
- package/build/languageProcessing/languages/el/config/internal/auxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js +8 -0
- package/build/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js.map +1 -0
- package/build/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js +22 -0
- package/build/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js.map +1 -0
- package/build/languageProcessing/languages/el/config/stopWords.js +13 -0
- package/build/languageProcessing/languages/el/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/el/config/transitionWords.js +18 -0
- package/build/languageProcessing/languages/el/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/el/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/el/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/el/helpers/getClauses.js +34 -0
- package/build/languageProcessing/languages/el/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/el/helpers/getStemmer.js +29 -0
- package/build/languageProcessing/languages/el/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js +24 -0
- package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/el/helpers/internal/stem.js +347 -0
- package/build/languageProcessing/languages/el/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js +43 -0
- package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js.map +1 -0
- package/build/languageProcessing/languages/el/values/Clause.js +46 -0
- package/build/languageProcessing/languages/el/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/en/Researcher.js +55 -0
- package/build/languageProcessing/languages/en/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/en/config/abbreviations.js +16 -0
- package/build/languageProcessing/languages/en/config/abbreviations.js.map +1 -0
- package/build/languageProcessing/languages/en/config/firstWordExceptions.js +20 -0
- package/build/languageProcessing/languages/en/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/en/config/functionWords.js +110 -0
- package/build/languageProcessing/languages/en/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js +15 -0
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js +15 -0
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js.map +1 -0
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js +13 -0
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js.map +1 -0
- package/build/languageProcessing/languages/en/config/regularParticiplesRegex.js +12 -0
- package/build/languageProcessing/languages/en/config/regularParticiplesRegex.js.map +1 -0
- package/build/languageProcessing/languages/en/config/stopWords.js +12 -0
- package/build/languageProcessing/languages/en/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/en/config/syllables.json +86 -0
- package/build/languageProcessing/languages/en/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/en/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/en/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/en/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/en/config/wordComplexity.js +12 -0
- package/build/languageProcessing/languages/en/config/wordComplexity.js.map +1 -0
- package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js +23 -0
- package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js.map +1 -0
- package/build/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js +49 -0
- package/build/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js.map +1 -0
- package/build/languageProcessing/languages/en/helpers/getClauses.js +58 -0
- package/build/languageProcessing/languages/en/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/en/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/en/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/en/helpers/internal/determineStem.js +161 -0
- package/build/languageProcessing/languages/en/helpers/internal/determineStem.js.map +1 -0
- package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js +149 -0
- package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js.map +1 -0
- package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js +33 -0
- package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js +228 -0
- package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js.map +1 -0
- package/build/languageProcessing/languages/en/values/Clause.js +68 -0
- package/build/languageProcessing/languages/en/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/es/Researcher.js +57 -0
- package/build/languageProcessing/languages/es/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/es/config/firstWordExceptions.js +20 -0
- package/build/languageProcessing/languages/es/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/es/config/functionWords.js +111 -0
- package/build/languageProcessing/languages/es/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js +12 -0
- package/build/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js +13 -0
- package/build/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js.map +1 -0
- package/build/languageProcessing/languages/es/config/sentenceLength.js +10 -0
- package/build/languageProcessing/languages/es/config/sentenceLength.js.map +1 -0
- package/build/languageProcessing/languages/es/config/stopWords.js +12 -0
- package/build/languageProcessing/languages/es/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/es/config/syllables.json +176 -0
- package/build/languageProcessing/languages/es/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/es/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/es/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/es/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/es/config/wordComplexity.js +11 -0
- package/build/languageProcessing/languages/es/config/wordComplexity.js.map +1 -0
- package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js +23 -0
- package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js.map +1 -0
- package/build/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js +59 -0
- package/build/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js.map +1 -0
- package/build/languageProcessing/languages/es/helpers/getClauses.js +38 -0
- package/build/languageProcessing/languages/es/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/es/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/es/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js +40 -0
- package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js.map +1 -0
- package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js +43 -0
- package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/es/helpers/internal/stem.js +574 -0
- package/build/languageProcessing/languages/es/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/es/values/Clause.js +49 -0
- package/build/languageProcessing/languages/es/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/fa/Researcher.js +56 -0
- package/build/languageProcessing/languages/fa/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/fa/config/firstWordExceptions.js +18 -0
- package/build/languageProcessing/languages/fa/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/fa/config/functionWords.js +41 -0
- package/build/languageProcessing/languages/fa/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/fa/config/internal/participles.js +14 -0
- package/build/languageProcessing/languages/fa/config/internal/participles.js.map +1 -0
- package/build/languageProcessing/languages/fa/config/sentenceLength.js +10 -0
- package/build/languageProcessing/languages/fa/config/sentenceLength.js.map +1 -0
- package/build/languageProcessing/languages/fa/config/transitionWords.js +18 -0
- package/build/languageProcessing/languages/fa/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/fa/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/fa/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js +99 -0
- package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js.map +1 -0
- package/build/languageProcessing/languages/fa/helpers/getStemmer.js +22 -0
- package/build/languageProcessing/languages/fa/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js +22 -0
- package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js.map +1 -0
- package/build/languageProcessing/languages/fr/Researcher.js +55 -0
- package/build/languageProcessing/languages/fr/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/fr/config/firstWordExceptions.js +20 -0
- package/build/languageProcessing/languages/fr/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/fr/config/functionWords.js +144 -0
- package/build/languageProcessing/languages/fr/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js +22 -0
- package/build/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js.map +1 -0
- package/build/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js +12 -0
- package/build/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js +27 -0
- package/build/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js.map +1 -0
- package/build/languageProcessing/languages/fr/config/stopWords.js +12 -0
- package/build/languageProcessing/languages/fr/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/fr/config/syllables.json +1426 -0
- package/build/languageProcessing/languages/fr/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/fr/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/fr/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/fr/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/fr/config/wordComplexity.js +11 -0
- package/build/languageProcessing/languages/fr/config/wordComplexity.js.map +1 -0
- package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js +23 -0
- package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js.map +1 -0
- package/build/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js +72 -0
- package/build/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js.map +1 -0
- package/build/languageProcessing/languages/fr/helpers/getClauses.js +42 -0
- package/build/languageProcessing/languages/fr/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/fr/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/fr/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js +71 -0
- package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/fr/helpers/internal/stem.js +544 -0
- package/build/languageProcessing/languages/fr/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/fr/values/Clause.js +90 -0
- package/build/languageProcessing/languages/fr/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/he/Researcher.js +59 -0
- package/build/languageProcessing/languages/he/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/he/config/firstWordExceptions.js +18 -0
- package/build/languageProcessing/languages/he/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/he/config/functionWords.js +504 -0
- package/build/languageProcessing/languages/he/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/he/config/internal/regularRootsHufal.js +13 -0
- package/build/languageProcessing/languages/he/config/internal/regularRootsHufal.js.map +1 -0
- package/build/languageProcessing/languages/he/config/internal/regularRootsNifal.js +13 -0
- package/build/languageProcessing/languages/he/config/internal/regularRootsNifal.js.map +1 -0
- package/build/languageProcessing/languages/he/config/internal/regularRootsPual.js +13 -0
- package/build/languageProcessing/languages/he/config/internal/regularRootsPual.js.map +1 -0
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js +15 -0
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js.map +1 -0
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js +15 -0
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js.map +1 -0
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js +15 -0
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js.map +1 -0
- package/build/languageProcessing/languages/he/config/prefixedFunctionWords.js +9 -0
- package/build/languageProcessing/languages/he/config/prefixedFunctionWords.js.map +1 -0
- package/build/languageProcessing/languages/he/config/sentenceLength.js +10 -0
- package/build/languageProcessing/languages/he/config/sentenceLength.js.map +1 -0
- package/build/languageProcessing/languages/he/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/he/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/he/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/he/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/he/helpers/createBasicWordForms.js +40 -0
- package/build/languageProcessing/languages/he/helpers/createBasicWordForms.js.map +1 -0
- package/build/languageProcessing/languages/he/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/he/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/he/helpers/internal/stem.js +59 -0
- package/build/languageProcessing/languages/he/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js +122 -0
- package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js.map +1 -0
- package/build/languageProcessing/languages/he/helpers/stem.js +59 -0
- package/build/languageProcessing/languages/he/helpers/stem.js.map +1 -0
- package/build/languageProcessing/languages/hu/Researcher.js +57 -0
- package/build/languageProcessing/languages/hu/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/hu/config/firstWordExceptions.js +32 -0
- package/build/languageProcessing/languages/hu/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/hu/config/functionWords.js +52 -0
- package/build/languageProcessing/languages/hu/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/hu/config/internal/auxiliaries.js +20 -0
- package/build/languageProcessing/languages/hu/config/internal/auxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js +12 -0
- package/build/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js.map +1 -0
- package/build/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js +25 -0
- package/build/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js.map +1 -0
- package/build/languageProcessing/languages/hu/config/internal/odikVerbs.js +25 -0
- package/build/languageProcessing/languages/hu/config/internal/odikVerbs.js.map +1 -0
- package/build/languageProcessing/languages/hu/config/internal/participles.js +25 -0
- package/build/languageProcessing/languages/hu/config/internal/participles.js.map +1 -0
- package/build/languageProcessing/languages/hu/config/stopWords.js +29 -0
- package/build/languageProcessing/languages/hu/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/hu/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/hu/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/hu/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/hu/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/hu/helpers/getClauses.js +34 -0
- package/build/languageProcessing/languages/hu/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/hu/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/hu/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js +25 -0
- package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/hu/helpers/internal/stem.js +390 -0
- package/build/languageProcessing/languages/hu/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js +53 -0
- package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js.map +1 -0
- package/build/languageProcessing/languages/hu/values/Clause.js +47 -0
- package/build/languageProcessing/languages/hu/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/id/Researcher.js +55 -0
- package/build/languageProcessing/languages/id/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/id/config/firstWordExceptions.js +18 -0
- package/build/languageProcessing/languages/id/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/id/config/functionWords.js +109 -0
- package/build/languageProcessing/languages/id/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js +13 -0
- package/build/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js.map +1 -0
- package/build/languageProcessing/languages/id/config/transitionWords.js +30 -0
- package/build/languageProcessing/languages/id/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/id/config/twoPartTransitionWords.js +14 -0
- package/build/languageProcessing/languages/id/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/id/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/id/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/id/helpers/internal/stem.js +394 -0
- package/build/languageProcessing/languages/id/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js +86 -0
- package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js.map +1 -0
- package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js +47 -0
- package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js.map +1 -0
- package/build/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js +53 -0
- package/build/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js.map +1 -0
- package/build/languageProcessing/languages/it/Researcher.js +57 -0
- package/build/languageProcessing/languages/it/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/it/config/firstWordExceptions.js +20 -0
- package/build/languageProcessing/languages/it/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/it/config/functionWords.js +141 -0
- package/build/languageProcessing/languages/it/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js +12 -0
- package/build/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js +13 -0
- package/build/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js.map +1 -0
- package/build/languageProcessing/languages/it/config/sentenceLength.js +10 -0
- package/build/languageProcessing/languages/it/config/sentenceLength.js.map +1 -0
- package/build/languageProcessing/languages/it/config/stopWords.js +12 -0
- package/build/languageProcessing/languages/it/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/it/config/syllables.json +573 -0
- package/build/languageProcessing/languages/it/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/it/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/it/config/twoPartTransitionWords.js +12 -0
- package/build/languageProcessing/languages/it/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js +23 -0
- package/build/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js.map +1 -0
- package/build/languageProcessing/languages/it/helpers/getClauses.js +40 -0
- package/build/languageProcessing/languages/it/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/it/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/it/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js +42 -0
- package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/it/helpers/internal/stem.js +408 -0
- package/build/languageProcessing/languages/it/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/it/values/Clause.js +51 -0
- package/build/languageProcessing/languages/it/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/ja/Researcher.js +94 -0
- package/build/languageProcessing/languages/ja/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js +11 -0
- package/build/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/firstWordExceptions.js +14 -0
- package/build/languageProcessing/languages/ja/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/functionWords.js +8 -0
- package/build/languageProcessing/languages/ja/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/keyphraseLength.js +23 -0
- package/build/languageProcessing/languages/ja/config/keyphraseLength.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/metaDescriptionLength.js +11 -0
- package/build/languageProcessing/languages/ja/config/metaDescriptionLength.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/paragraphLength.js +17 -0
- package/build/languageProcessing/languages/ja/config/paragraphLength.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/sentenceLength.js +11 -0
- package/build/languageProcessing/languages/ja/config/sentenceLength.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/subheadingsTooLong.js +25 -0
- package/build/languageProcessing/languages/ja/config/subheadingsTooLong.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/textLength.js +54 -0
- package/build/languageProcessing/languages/ja/config/textLength.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/topicLength.js +12 -0
- package/build/languageProcessing/languages/ja/config/topicLength.js.map +1 -0
- package/build/languageProcessing/languages/ja/config/transitionWords.js +9 -0
- package/build/languageProcessing/languages/ja/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js +102 -0
- package/build/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js.map +1 -0
- package/build/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js +25 -0
- package/build/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js.map +1 -0
- package/build/languageProcessing/languages/ja/customResearches/getWordForms.js +57 -0
- package/build/languageProcessing/languages/ja/customResearches/getWordForms.js.map +1 -0
- package/build/languageProcessing/languages/ja/customResearches/textLength.js +31 -0
- package/build/languageProcessing/languages/ja/customResearches/textLength.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/countCharacters.js +27 -0
- package/build/languageProcessing/languages/ja/helpers/countCharacters.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js +28 -0
- package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/getContentWords.js +27 -0
- package/build/languageProcessing/languages/ja/helpers/getContentWords.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/getWords.js +38 -0
- package/build/languageProcessing/languages/ja/helpers/getWords.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js +99 -0
- package/build/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/internal/createWordForms.js +70 -0
- package/build/languageProcessing/languages/ja/helpers/internal/createWordForms.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/internal/determineStem.js +23 -0
- package/build/languageProcessing/languages/ja/helpers/internal/determineStem.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/matchTextWithWord.js +58 -0
- package/build/languageProcessing/languages/ja/helpers/matchTextWithWord.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/matchTransitionWords.js +29 -0
- package/build/languageProcessing/languages/ja/helpers/matchTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js +37 -0
- package/build/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js +27 -0
- package/build/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js.map +1 -0
- package/build/languageProcessing/languages/ja/helpers/wordsCharacterCount.js +19 -0
- package/build/languageProcessing/languages/ja/helpers/wordsCharacterCount.js.map +1 -0
- package/build/languageProcessing/languages/nb/Researcher.js +54 -0
- package/build/languageProcessing/languages/nb/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/nb/config/firstWordExceptions.js +18 -0
- package/build/languageProcessing/languages/nb/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/nb/config/functionWords.js +54 -0
- package/build/languageProcessing/languages/nb/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/nb/config/internal/participles.js +12 -0
- package/build/languageProcessing/languages/nb/config/internal/participles.js.map +1 -0
- package/build/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js +12 -0
- package/build/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/nb/config/stopWords.js +13 -0
- package/build/languageProcessing/languages/nb/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/nb/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/nb/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/nb/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/nb/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/nb/helpers/getClauses.js +37 -0
- package/build/languageProcessing/languages/nb/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/nb/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/nb/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js +31 -0
- package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/nb/helpers/internal/stem.js +135 -0
- package/build/languageProcessing/languages/nb/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/nb/values/Clause.js +49 -0
- package/build/languageProcessing/languages/nb/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/nl/Researcher.js +57 -0
- package/build/languageProcessing/languages/nl/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/nl/config/firstWordExceptions.js +20 -0
- package/build/languageProcessing/languages/nl/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/nl/config/functionWords.js +102 -0
- package/build/languageProcessing/languages/nl/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/nl/config/internal/nonParticiples.js +12 -0
- package/build/languageProcessing/languages/nl/config/internal/nonParticiples.js.map +1 -0
- package/build/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js +12 -0
- package/build/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js +13 -0
- package/build/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js.map +1 -0
- package/build/languageProcessing/languages/nl/config/keyphraseLength.js +17 -0
- package/build/languageProcessing/languages/nl/config/keyphraseLength.js.map +1 -0
- package/build/languageProcessing/languages/nl/config/stopWords.js +12 -0
- package/build/languageProcessing/languages/nl/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/nl/config/syllables.json +343 -0
- package/build/languageProcessing/languages/nl/config/transitionWords.js +11 -0
- package/build/languageProcessing/languages/nl/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/nl/config/twoPartTransitionWords.js +12 -0
- package/build/languageProcessing/languages/nl/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js +23 -0
- package/build/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/getClauses.js +34 -0
- package/build/languageProcessing/languages/nl/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/nl/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js +124 -0
- package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js +260 -0
- package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js +157 -0
- package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js +120 -0
- package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js +27 -0
- package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js +152 -0
- package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/internal/stem.js +131 -0
- package/build/languageProcessing/languages/nl/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js +94 -0
- package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js.map +1 -0
- package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js +59 -0
- package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js.map +1 -0
- package/build/languageProcessing/languages/nl/values/Clause.js +63 -0
- package/build/languageProcessing/languages/nl/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/pl/Researcher.js +56 -0
- package/build/languageProcessing/languages/pl/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/pl/config/firstWordExceptions.js +16 -0
- package/build/languageProcessing/languages/pl/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/pl/config/functionWords.js +78 -0
- package/build/languageProcessing/languages/pl/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/pl/config/internal/auxiliaries.js +12 -0
- package/build/languageProcessing/languages/pl/config/internal/auxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/pl/config/internal/participles.js +13 -0
- package/build/languageProcessing/languages/pl/config/internal/participles.js.map +1 -0
- package/build/languageProcessing/languages/pl/config/sentenceLength.js +17 -0
- package/build/languageProcessing/languages/pl/config/sentenceLength.js.map +1 -0
- package/build/languageProcessing/languages/pl/config/stopWords.js +12 -0
- package/build/languageProcessing/languages/pl/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/pl/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/pl/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/pl/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/pl/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/pl/helpers/getClauses.js +34 -0
- package/build/languageProcessing/languages/pl/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/pl/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/pl/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js +25 -0
- package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/pl/helpers/internal/stem.js +158 -0
- package/build/languageProcessing/languages/pl/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/pl/values/Clause.js +51 -0
- package/build/languageProcessing/languages/pl/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/pt/Researcher.js +57 -0
- package/build/languageProcessing/languages/pt/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/pt/config/firstWordExceptions.js +20 -0
- package/build/languageProcessing/languages/pt/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/pt/config/functionWords.js +98 -0
- package/build/languageProcessing/languages/pt/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js +12 -0
- package/build/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js +13 -0
- package/build/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js.map +1 -0
- package/build/languageProcessing/languages/pt/config/sentenceLength.js +10 -0
- package/build/languageProcessing/languages/pt/config/sentenceLength.js.map +1 -0
- package/build/languageProcessing/languages/pt/config/stopWords.js +12 -0
- package/build/languageProcessing/languages/pt/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/pt/config/syllables.json +38 -0
- package/build/languageProcessing/languages/pt/config/transitionWords.js +11 -0
- package/build/languageProcessing/languages/pt/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/pt/config/twoPartTransitionWords.js +12 -0
- package/build/languageProcessing/languages/pt/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js +23 -0
- package/build/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js.map +1 -0
- package/build/languageProcessing/languages/pt/helpers/getClauses.js +38 -0
- package/build/languageProcessing/languages/pt/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/pt/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/pt/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js +43 -0
- package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/pt/helpers/internal/stem.js +283 -0
- package/build/languageProcessing/languages/pt/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/pt/values/Clause.js +50 -0
- package/build/languageProcessing/languages/pt/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/ru/Researcher.js +57 -0
- package/build/languageProcessing/languages/ru/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/ru/config/firstWordExceptions.js +16 -0
- package/build/languageProcessing/languages/ru/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/ru/config/fleschReadingEaseScores.js +27 -0
- package/build/languageProcessing/languages/ru/config/fleschReadingEaseScores.js.map +1 -0
- package/build/languageProcessing/languages/ru/config/functionWords.js +91 -0
- package/build/languageProcessing/languages/ru/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/ru/config/internal/participlesShortenedList.js +27 -0
- package/build/languageProcessing/languages/ru/config/internal/participlesShortenedList.js.map +1 -0
- package/build/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js +24 -0
- package/build/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js.map +1 -0
- package/build/languageProcessing/languages/ru/config/sentenceLength.js +10 -0
- package/build/languageProcessing/languages/ru/config/sentenceLength.js.map +1 -0
- package/build/languageProcessing/languages/ru/config/syllables.json +19 -0
- package/build/languageProcessing/languages/ru/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/ru/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/ru/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/ru/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js +23 -0
- package/build/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js.map +1 -0
- package/build/languageProcessing/languages/ru/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/ru/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/ru/helpers/internal/stem.js +271 -0
- package/build/languageProcessing/languages/ru/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js +22 -0
- package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js.map +1 -0
- package/build/languageProcessing/languages/sk/Researcher.js +55 -0
- package/build/languageProcessing/languages/sk/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/sk/config/firstWordExceptions.js +18 -0
- package/build/languageProcessing/languages/sk/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/sk/config/functionWords.js +18 -0
- package/build/languageProcessing/languages/sk/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/sk/config/internal/nonPassives.js +14 -0
- package/build/languageProcessing/languages/sk/config/internal/nonPassives.js.map +1 -0
- package/build/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js +10 -0
- package/build/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
- package/build/languageProcessing/languages/sk/config/stopWords.js +13 -0
- package/build/languageProcessing/languages/sk/config/stopWords.js.map +1 -0
- package/build/languageProcessing/languages/sk/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/sk/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/sk/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/sk/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/sk/helpers/getClauses.js +35 -0
- package/build/languageProcessing/languages/sk/helpers/getClauses.js.map +1 -0
- package/build/languageProcessing/languages/sk/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/sk/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js +24 -0
- package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js.map +1 -0
- package/build/languageProcessing/languages/sk/helpers/internal/stem.js +322 -0
- package/build/languageProcessing/languages/sk/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/sk/values/Clause.js +47 -0
- package/build/languageProcessing/languages/sk/values/Clause.js.map +1 -0
- package/build/languageProcessing/languages/sv/Researcher.js +54 -0
- package/build/languageProcessing/languages/sv/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/sv/config/firstWordExceptions.js +21 -0
- package/build/languageProcessing/languages/sv/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/sv/config/functionWords.js +74 -0
- package/build/languageProcessing/languages/sv/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/sv/config/internal/passiveVerbs.js +12 -0
- package/build/languageProcessing/languages/sv/config/internal/passiveVerbs.js.map +1 -0
- package/build/languageProcessing/languages/sv/config/keyphraseLength.js +17 -0
- package/build/languageProcessing/languages/sv/config/keyphraseLength.js.map +1 -0
- package/build/languageProcessing/languages/sv/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/sv/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/sv/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/sv/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/sv/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/sv/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/sv/helpers/internal/stem.js +159 -0
- package/build/languageProcessing/languages/sv/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js +22 -0
- package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js.map +1 -0
- package/build/languageProcessing/languages/tr/Researcher.js +52 -0
- package/build/languageProcessing/languages/tr/Researcher.js.map +1 -0
- package/build/languageProcessing/languages/tr/config/firstWordExceptions.js +18 -0
- package/build/languageProcessing/languages/tr/config/firstWordExceptions.js.map +1 -0
- package/build/languageProcessing/languages/tr/config/functionWords.js +51 -0
- package/build/languageProcessing/languages/tr/config/functionWords.js.map +1 -0
- package/build/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js +13 -0
- package/build/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js.map +1 -0
- package/build/languageProcessing/languages/tr/config/internal/passiveEndings.js +13 -0
- package/build/languageProcessing/languages/tr/config/internal/passiveEndings.js.map +1 -0
- package/build/languageProcessing/languages/tr/config/sentenceLength.js +14 -0
- package/build/languageProcessing/languages/tr/config/sentenceLength.js.map +1 -0
- package/build/languageProcessing/languages/tr/config/transitionWords.js +13 -0
- package/build/languageProcessing/languages/tr/config/transitionWords.js.map +1 -0
- package/build/languageProcessing/languages/tr/config/twoPartTransitionWords.js +13 -0
- package/build/languageProcessing/languages/tr/config/twoPartTransitionWords.js.map +1 -0
- package/build/languageProcessing/languages/tr/helpers/getStemmer.js +28 -0
- package/build/languageProcessing/languages/tr/helpers/getStemmer.js.map +1 -0
- package/build/languageProcessing/languages/tr/helpers/internal/stem.js +25 -0
- package/build/languageProcessing/languages/tr/helpers/internal/stem.js.map +1 -0
- package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js +46 -0
- package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js.map +1 -0
- package/build/languageProcessing/researches/altTagCount.js +72 -0
- package/build/languageProcessing/researches/altTagCount.js.map +1 -0
- package/build/languageProcessing/researches/countSentencesFromText.js +26 -0
- package/build/languageProcessing/researches/countSentencesFromText.js.map +1 -0
- package/build/languageProcessing/researches/findKeyphraseInSEOTitle.js +257 -0
- package/build/languageProcessing/researches/findKeyphraseInSEOTitle.js.map +1 -0
- package/build/languageProcessing/researches/findKeywordInFirstParagraph.js +80 -0
- package/build/languageProcessing/researches/findKeywordInFirstParagraph.js.map +1 -0
- package/build/languageProcessing/researches/findTransitionWords.js +119 -0
- package/build/languageProcessing/researches/findTransitionWords.js.map +1 -0
- package/build/languageProcessing/researches/functionWordsInKeyphrase.js +48 -0
- package/build/languageProcessing/researches/functionWordsInKeyphrase.js.map +1 -0
- package/build/languageProcessing/researches/getAnchorsWithKeyphrase.js +222 -0
- package/build/languageProcessing/researches/getAnchorsWithKeyphrase.js.map +1 -0
- package/build/languageProcessing/researches/getFleschReadingScore.js +152 -0
- package/build/languageProcessing/researches/getFleschReadingScore.js.map +1 -0
- package/build/languageProcessing/researches/getKeywordDensity.js +49 -0
- package/build/languageProcessing/researches/getKeywordDensity.js.map +1 -0
- package/build/languageProcessing/researches/getLinkStatistics.js +56 -0
- package/build/languageProcessing/researches/getLinkStatistics.js.map +1 -0
- package/build/languageProcessing/researches/getLinks.js +23 -0
- package/build/languageProcessing/researches/getLinks.js.map +1 -0
- package/build/languageProcessing/researches/getLongCenterAlignedTexts.js +42 -0
- package/build/languageProcessing/researches/getLongCenterAlignedTexts.js.map +1 -0
- package/build/languageProcessing/researches/getParagraphLength.js +49 -0
- package/build/languageProcessing/researches/getParagraphLength.js.map +1 -0
- package/build/languageProcessing/researches/getParagraphs.js +23 -0
- package/build/languageProcessing/researches/getParagraphs.js.map +1 -0
- package/build/languageProcessing/researches/getPassiveVoiceResult.js +127 -0
- package/build/languageProcessing/researches/getPassiveVoiceResult.js.map +1 -0
- package/build/languageProcessing/researches/getProminentWordsForInsights.js +45 -0
- package/build/languageProcessing/researches/getProminentWordsForInsights.js.map +1 -0
- package/build/languageProcessing/researches/getProminentWordsForInternalLinking.js +103 -0
- package/build/languageProcessing/researches/getProminentWordsForInternalLinking.js.map +1 -0
- package/build/languageProcessing/researches/getSentenceBeginnings.js +122 -0
- package/build/languageProcessing/researches/getSentenceBeginnings.js.map +1 -0
- package/build/languageProcessing/researches/getSubheadingTextLengths.js +60 -0
- package/build/languageProcessing/researches/getSubheadingTextLengths.js.map +1 -0
- package/build/languageProcessing/researches/getWordForms.js +183 -0
- package/build/languageProcessing/researches/getWordForms.js.map +1 -0
- package/build/languageProcessing/researches/h1s.js +17 -0
- package/build/languageProcessing/researches/h1s.js.map +1 -0
- package/build/languageProcessing/researches/imageCount.js +22 -0
- package/build/languageProcessing/researches/imageCount.js.map +1 -0
- package/build/languageProcessing/researches/index.js +28 -0
- package/build/languageProcessing/researches/index.js.map +1 -0
- package/build/languageProcessing/researches/keyphraseDistribution.js +233 -0
- package/build/languageProcessing/researches/keyphraseDistribution.js.map +1 -0
- package/build/languageProcessing/researches/keyphraseLength.js +23 -0
- package/build/languageProcessing/researches/keyphraseLength.js.map +1 -0
- package/build/languageProcessing/researches/keywordCount.js +135 -0
- package/build/languageProcessing/researches/keywordCount.js.map +1 -0
- package/build/languageProcessing/researches/keywordCountInUrl.js +58 -0
- package/build/languageProcessing/researches/keywordCountInUrl.js.map +1 -0
- package/build/languageProcessing/researches/matchKeywordInSubheadings.js +68 -0
- package/build/languageProcessing/researches/matchKeywordInSubheadings.js.map +1 -0
- package/build/languageProcessing/researches/metaDescriptionKeyword.js +78 -0
- package/build/languageProcessing/researches/metaDescriptionKeyword.js.map +1 -0
- package/build/languageProcessing/researches/metaDescriptionLength.js +19 -0
- package/build/languageProcessing/researches/metaDescriptionLength.js.map +1 -0
- package/build/languageProcessing/researches/pageTitleWidth.js +18 -0
- package/build/languageProcessing/researches/pageTitleWidth.js.map +1 -0
- package/build/languageProcessing/researches/readingTime.js +84 -0
- package/build/languageProcessing/researches/readingTime.js.map +1 -0
- package/build/languageProcessing/researches/sentences.js +26 -0
- package/build/languageProcessing/researches/sentences.js.map +1 -0
- package/build/languageProcessing/researches/videoCount.js +39 -0
- package/build/languageProcessing/researches/videoCount.js.map +1 -0
- package/build/languageProcessing/researches/wordComplexity.js +128 -0
- package/build/languageProcessing/researches/wordComplexity.js.map +1 -0
- package/build/languageProcessing/researches/wordCountInText.js +36 -0
- package/build/languageProcessing/researches/wordCountInText.js.map +1 -0
- package/build/languageProcessing/values/Clause.js +113 -0
- package/build/languageProcessing/values/Clause.js.map +1 -0
- package/build/languageProcessing/values/ProminentWord.js +101 -0
- package/build/languageProcessing/values/ProminentWord.js.map +1 -0
- package/build/languageProcessing/values/Sentence.js +116 -0
- package/build/languageProcessing/values/Sentence.js.map +1 -0
- package/build/languageProcessing/values/index.js +28 -0
- package/build/languageProcessing/values/index.js.map +1 -0
- package/build/markers/addMark.js +16 -0
- package/build/markers/addMark.js.map +1 -0
- package/build/markers/addMarkSingleWord.js +37 -0
- package/build/markers/addMarkSingleWord.js.map +1 -0
- package/build/markers/index.js +21 -0
- package/build/markers/index.js.map +1 -0
- package/build/markers/removeDuplicateMarks.js +31 -0
- package/build/markers/removeDuplicateMarks.js.map +1 -0
- package/build/markers/removeMarks.js +16 -0
- package/build/markers/removeMarks.js.map +1 -0
- package/build/parse/build/build.js +62 -0
- package/build/parse/build/build.js.map +1 -0
- package/build/parse/build/index.js +14 -0
- package/build/parse/build/index.js.map +1 -0
- package/build/parse/build/private/adapt.js +111 -0
- package/build/parse/build/private/adapt.js.map +1 -0
- package/build/parse/build/private/adaptAttributes.js +41 -0
- package/build/parse/build/private/adaptAttributes.js.map +1 -0
- package/build/parse/build/private/alwaysFilterElements.js +32 -0
- package/build/parse/build/private/alwaysFilterElements.js.map +1 -0
- package/build/parse/build/private/combineIntoImplicitParagraphs.js +129 -0
- package/build/parse/build/private/combineIntoImplicitParagraphs.js.map +1 -0
- package/build/parse/build/private/filterBeforeTokenizing.js +37 -0
- package/build/parse/build/private/filterBeforeTokenizing.js.map +1 -0
- package/build/parse/build/private/filterHelpers.js +52 -0
- package/build/parse/build/private/filterHelpers.js.map +1 -0
- package/build/parse/build/private/filterTree.js +47 -0
- package/build/parse/build/private/filterTree.js.map +1 -0
- package/build/parse/build/private/getTextElementPositions.js +184 -0
- package/build/parse/build/private/getTextElementPositions.js.map +1 -0
- package/build/parse/build/private/helpers/parseClassAttribute.js +15 -0
- package/build/parse/build/private/helpers/parseClassAttribute.js.map +1 -0
- package/build/parse/build/private/isPhrasingContent.js +30 -0
- package/build/parse/build/private/isPhrasingContent.js.map +1 -0
- package/build/parse/build/private/parseBlocks.js +151 -0
- package/build/parse/build/private/parseBlocks.js.map +1 -0
- package/build/parse/build/private/tokenize.js +78 -0
- package/build/parse/build/private/tokenize.js.map +1 -0
- package/build/parse/language/LanguageProcessor.js +77 -0
- package/build/parse/language/LanguageProcessor.js.map +1 -0
- package/build/parse/structure/Heading.js +32 -0
- package/build/parse/structure/Heading.js.map +1 -0
- package/build/parse/structure/Node.js +75 -0
- package/build/parse/structure/Node.js.map +1 -0
- package/build/parse/structure/Paragraph.js +53 -0
- package/build/parse/structure/Paragraph.js.map +1 -0
- package/build/parse/structure/Sentence.js +36 -0
- package/build/parse/structure/Sentence.js.map +1 -0
- package/build/parse/structure/SourceCodeLocation.js +46 -0
- package/build/parse/structure/SourceCodeLocation.js.map +1 -0
- package/build/parse/structure/Text.js +33 -0
- package/build/parse/structure/Text.js.map +1 -0
- package/build/parse/structure/Token.js +29 -0
- package/build/parse/structure/Token.js.map +1 -0
- package/build/parse/structure/index.js +35 -0
- package/build/parse/structure/index.js.map +1 -0
- package/build/parse/traverse/findAllInTree.js +62 -0
- package/build/parse/traverse/findAllInTree.js.map +1 -0
- package/build/parse/traverse/index.js +21 -0
- package/build/parse/traverse/index.js.map +1 -0
- package/build/parse/traverse/innerText.js +30 -0
- package/build/parse/traverse/innerText.js.map +1 -0
- package/build/parsedPaper/ParsedPaper.js +100 -0
- package/build/parsedPaper/ParsedPaper.js.map +1 -0
- package/build/parsedPaper/assess/TreeAssessor.js +181 -0
- package/build/parsedPaper/assess/TreeAssessor.js.map +1 -0
- package/build/parsedPaper/assess/assessmentListFactories.js +77 -0
- package/build/parsedPaper/assess/assessmentListFactories.js.map +1 -0
- package/build/parsedPaper/assess/assessments/Assessment.js +86 -0
- package/build/parsedPaper/assess/assessments/Assessment.js.map +1 -0
- package/build/parsedPaper/assess/assessments/index.js +14 -0
- package/build/parsedPaper/assess/assessments/index.js.map +1 -0
- package/build/parsedPaper/assess/assessorFactories.js +104 -0
- package/build/parsedPaper/assess/assessorFactories.js.map +1 -0
- package/build/parsedPaper/assess/cornerstone/assessmentListFactories.js +51 -0
- package/build/parsedPaper/assess/cornerstone/assessmentListFactories.js.map +1 -0
- package/build/parsedPaper/assess/cornerstone/index.js +11 -0
- package/build/parsedPaper/assess/cornerstone/index.js.map +1 -0
- package/build/parsedPaper/assess/index.js +31 -0
- package/build/parsedPaper/assess/index.js.map +1 -0
- package/build/parsedPaper/build/PaperParser.js +103 -0
- package/build/parsedPaper/build/PaperParser.js.map +1 -0
- package/build/parsedPaper/build/linguisticParsing/Sentence.js +95 -0
- package/build/parsedPaper/build/linguisticParsing/Sentence.js.map +1 -0
- package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js +294 -0
- package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js.map +1 -0
- package/build/parsedPaper/build/linguisticParsing/parseText.js +26 -0
- package/build/parsedPaper/build/linguisticParsing/parseText.js.map +1 -0
- package/build/parsedPaper/build/tree/TreeBuilder.js +82 -0
- package/build/parsedPaper/build/tree/TreeBuilder.js.map +1 -0
- package/build/parsedPaper/build/tree/cleanup/calculateTextIndices.js +183 -0
- package/build/parsedPaper/build/tree/cleanup/calculateTextIndices.js.map +1 -0
- package/build/parsedPaper/build/tree/cleanup/getElementContent.js +27 -0
- package/build/parsedPaper/build/tree/cleanup/getElementContent.js.map +1 -0
- package/build/parsedPaper/build/tree/cleanup/postParsing.js +43 -0
- package/build/parsedPaper/build/tree/cleanup/postParsing.js.map +1 -0
- package/build/parsedPaper/build/tree/html/HTMLTreeConverter.js +226 -0
- package/build/parsedPaper/build/tree/html/HTMLTreeConverter.js.map +1 -0
- package/build/parsedPaper/build/tree/html/buildTree.js +36 -0
- package/build/parsedPaper/build/tree/html/buildTree.js.map +1 -0
- package/build/parsedPaper/build/tree/html/htmlConstants.js +35 -0
- package/build/parsedPaper/build/tree/html/htmlConstants.js.map +1 -0
- package/build/parsedPaper/build/tree/index.js +20 -0
- package/build/parsedPaper/build/tree/index.js.map +1 -0
- package/build/parsedPaper/build/tree/metadata/buildTree.js +36 -0
- package/build/parsedPaper/build/tree/metadata/buildTree.js.map +1 -0
- package/build/parsedPaper/research/TreeResearcher.js +136 -0
- package/build/parsedPaper/research/TreeResearcher.js.map +1 -0
- package/build/parsedPaper/research/index.js +14 -0
- package/build/parsedPaper/research/index.js.map +1 -0
- package/build/parsedPaper/research/researches/Headings.js +26 -0
- package/build/parsedPaper/research/researches/Headings.js.map +1 -0
- package/build/parsedPaper/research/researches/LinkStatistics.js +129 -0
- package/build/parsedPaper/research/researches/LinkStatistics.js.map +1 -0
- package/build/parsedPaper/research/researches/Research.js +58 -0
- package/build/parsedPaper/research/researches/Research.js.map +1 -0
- package/build/parsedPaper/research/researches/index.js +14 -0
- package/build/parsedPaper/research/researches/index.js.map +1 -0
- package/build/parsedPaper/structure/tree/FormattingElement.js +73 -0
- package/build/parsedPaper/structure/tree/FormattingElement.js.map +1 -0
- package/build/parsedPaper/structure/tree/SourceCodeLocation.js +48 -0
- package/build/parsedPaper/structure/tree/SourceCodeLocation.js.map +1 -0
- package/build/parsedPaper/structure/tree/TextContainer.js +89 -0
- package/build/parsedPaper/structure/tree/TextContainer.js.map +1 -0
- package/build/parsedPaper/structure/tree/index.js +76 -0
- package/build/parsedPaper/structure/tree/index.js.map +1 -0
- package/build/parsedPaper/structure/tree/nodes/Heading.js +33 -0
- package/build/parsedPaper/structure/tree/nodes/Heading.js.map +1 -0
- package/build/parsedPaper/structure/tree/nodes/LeafNode.js +82 -0
- package/build/parsedPaper/structure/tree/nodes/LeafNode.js.map +1 -0
- package/build/parsedPaper/structure/tree/nodes/List.js +54 -0
- package/build/parsedPaper/structure/tree/nodes/List.js.map +1 -0
- package/build/parsedPaper/structure/tree/nodes/ListItem.js +34 -0
- package/build/parsedPaper/structure/tree/nodes/ListItem.js.map +1 -0
- package/build/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js +51 -0
- package/build/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js.map +1 -0
- package/build/parsedPaper/structure/tree/nodes/MetadataText.js +31 -0
- package/build/parsedPaper/structure/tree/nodes/MetadataText.js.map +1 -0
- package/build/parsedPaper/structure/tree/nodes/Node.js +159 -0
- package/build/parsedPaper/structure/tree/nodes/Node.js.map +1 -0
- package/build/parsedPaper/structure/tree/nodes/Paragraph.js +29 -0
- package/build/parsedPaper/structure/tree/nodes/Paragraph.js.map +1 -0
- package/build/parsedPaper/structure/tree/nodes/StructuredNode.js +60 -0
- package/build/parsedPaper/structure/tree/nodes/StructuredNode.js.map +1 -0
- package/build/parsedPaper/structure/tree/nodes/index.js +70 -0
- package/build/parsedPaper/structure/tree/nodes/index.js.map +1 -0
- package/build/scoring/assessments/assessment.js +68 -0
- package/build/scoring/assessments/assessment.js.map +1 -0
- package/build/scoring/assessments/index.js +64 -0
- package/build/scoring/assessments/index.js.map +1 -0
- package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js +162 -0
- package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js.map +1 -0
- package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js +131 -0
- package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js.map +1 -0
- package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js +173 -0
- package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js.map +1 -0
- package/build/scoring/assessments/readability/TransitionWordsAssessment.js +159 -0
- package/build/scoring/assessments/readability/TransitionWordsAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/ImageCountAssessment.js +107 -0
- package/build/scoring/assessments/seo/ImageCountAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/InternalLinksAssessment.js +108 -0
- package/build/scoring/assessments/seo/InternalLinksAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js +105 -0
- package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/KeyphraseAssessment.js +100 -0
- package/build/scoring/assessments/seo/KeyphraseAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js +105 -0
- package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/KeywordDensityAssessment.js +111 -0
- package/build/scoring/assessments/seo/KeywordDensityAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js +114 -0
- package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js +107 -0
- package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js +111 -0
- package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js +103 -0
- package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/OutboundLinksAssessment.js +110 -0
- package/build/scoring/assessments/seo/OutboundLinksAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/PageTitleWidthAssessment.js +101 -0
- package/build/scoring/assessments/seo/PageTitleWidthAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/SingleH1Assessment.js +110 -0
- package/build/scoring/assessments/seo/SingleH1Assessment.js.map +1 -0
- package/build/scoring/assessments/seo/SingleTitleAssessment.js +103 -0
- package/build/scoring/assessments/seo/SingleTitleAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js +103 -0
- package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/TextImagesAssessment.js +138 -0
- package/build/scoring/assessments/seo/TextImagesAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/TextLengthAssessment.js +100 -0
- package/build/scoring/assessments/seo/TextLengthAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/UrlKeywordAssessment.js +102 -0
- package/build/scoring/assessments/seo/UrlKeywordAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/UrlLengthAssessment.js +102 -0
- package/build/scoring/assessments/seo/UrlLengthAssessment.js.map +1 -0
- package/build/scoring/assessors/assessor.js +248 -0
- package/build/scoring/assessors/assessor.js.map +1 -0
- package/build/scoring/assessors/avadaAssessor.js +65 -0
- package/build/scoring/assessors/avadaAssessor.js.map +1 -0
- package/build/scoring/assessors/contentAssessor.js +149 -0
- package/build/scoring/assessors/contentAssessor.js.map +1 -0
- package/build/scoring/assessors/index.js +35 -0
- package/build/scoring/assessors/index.js.map +1 -0
- package/build/scoring/assessors/seoAssessor.js +44 -0
- package/build/scoring/assessors/seoAssessor.js.map +1 -0
- package/build/scoring/helpers/assessments/checkForTooLongSentences.js +19 -0
- package/build/scoring/helpers/assessments/checkForTooLongSentences.js.map +1 -0
- package/build/scoring/helpers/assessments/inRange.js +51 -0
- package/build/scoring/helpers/assessments/inRange.js.map +1 -0
- package/build/scoring/helpers/assessments/keyphraseLengthFactor.js +17 -0
- package/build/scoring/helpers/assessments/keyphraseLengthFactor.js.map +1 -0
- package/build/scoring/helpers/assessments/recommendedKeywordCount.js +47 -0
- package/build/scoring/helpers/assessments/recommendedKeywordCount.js.map +1 -0
- package/build/scoring/helpers/index.js +92 -0
- package/build/scoring/helpers/index.js.map +1 -0
- package/build/scoring/interpreters/index.js +14 -0
- package/build/scoring/interpreters/index.js.map +1 -0
- package/build/scoring/interpreters/scoreToRating.js +32 -0
- package/build/scoring/interpreters/scoreToRating.js.map +1 -0
- package/build/scoring/renderers/AssessorPresenter.js +348 -0
- package/build/scoring/renderers/AssessorPresenter.js.map +1 -0
- package/build/scoring/scoreAggregators/ReadabilityScoreAggregator.js +203 -0
- package/build/scoring/scoreAggregators/ReadabilityScoreAggregator.js.map +1 -0
- package/build/scoring/scoreAggregators/SEOScoreAggregator.js +60 -0
- package/build/scoring/scoreAggregators/SEOScoreAggregator.js.map +1 -0
- package/build/scoring/scoreAggregators/ScoreAggregator.js +30 -0
- package/build/scoring/scoreAggregators/ScoreAggregator.js.map +1 -0
- package/build/scoring/scoreAggregators/index.js +28 -0
- package/build/scoring/scoreAggregators/index.js.map +1 -0
- package/build/values/AssessmentResult.js +485 -0
- package/build/values/AssessmentResult.js.map +1 -0
- package/build/values/Mark.js +273 -0
- package/build/values/Mark.js.map +1 -0
- package/build/values/Paper.js +425 -0
- package/build/values/Paper.js.map +1 -0
- package/build/values/index.js +28 -0
- package/build/values/index.js.map +1 -0
- package/build/vendor/turkishStemmer.js +2817 -0
- package/build/vendor/turkishStemmer.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSubheadingTextLengths.js","names":["_getSubheadingTexts","_interopRequireDefault","require","_countWords","_lodash","_htmlParser","_helpers","e","__esModule","default","_default","paper","researcher","text","getText","removeHtmlBlocks","filterShortcodesFromHTML","_attributes","shortcodes","matches","getSubheadingTexts","customCountLength","getHelper","foundSubheadings","forEach","match","push","subheading","countLength","countWords","index","textBeforeFirstSubheadingLength","textBeforeFirstSubheading","length","firstSubheading","slice","unshift"],"sources":["../../../src/languageProcessing/researches/getSubheadingTextLengths.js"],"sourcesContent":["import getSubheadingTexts from \"../helpers/html/getSubheadingTexts\";\nimport countWords from \"../helpers/word/countWords\";\nimport { forEach } from \"lodash\";\nimport removeHtmlBlocks from \"../helpers/html/htmlParser\";\nimport { filterShortcodesFromHTML } from \"../helpers\";\n\n/**\n * Gets the subheadings from the text and returns the length of these subheading in an array.\n *\n * @param {Paper} paper The Paper object to get the text from.\n * @param {Researcher} researcher The researcher to use for analysis.\n *\n * @returns {Object} The object containing the array of found subheadings and the length of the text before the first subheading.\n */\nexport default function( paper, researcher ) {\n\tlet text = paper.getText();\n\ttext = removeHtmlBlocks( text );\n\ttext = filterShortcodesFromHTML( text, paper._attributes && paper._attributes.shortcodes );\n\tconst matches = getSubheadingTexts( text );\n\n\t// An optional custom helper to count length to use instead of countWords.\n\tconst customCountLength = researcher.getHelper( \"customCountLength\" );\n\n\tconst foundSubheadings = [];\n\n\tforEach( matches, function( match ) {\n\t\tfoundSubheadings.push( {\n\t\t\tsubheading: match.subheading,\n\t\t\ttext: match.text,\n\t\t\tcountLength: customCountLength ? customCountLength( match.text ) : countWords( match.text ),\n\t\t\tindex: match.index,\n\t\t} );\n\t} );\n\n\tlet textBeforeFirstSubheadingLength = 0;\n\tlet textBeforeFirstSubheading = \"\";\n\tif ( foundSubheadings.length > 0 ) {\n\t\t// Find first subheading.\n\t\tconst firstSubheading = foundSubheadings[ 0 ];\n\t\t// Retrieve text preceding first subheading.\n\t\ttextBeforeFirstSubheading = text.slice( 0, firstSubheading.index );\n\t\ttextBeforeFirstSubheadingLength = customCountLength\n\t\t\t? customCountLength( textBeforeFirstSubheading )\n\t\t\t: countWords( textBeforeFirstSubheading );\n\t}\n\n\t// Check if there is a text before the first subheading.\n\tif ( textBeforeFirstSubheadingLength > 0 && textBeforeFirstSubheading !== \"\" ) {\n\t\t// Also add the text before the first subheading to the array.\n\t\tfoundSubheadings.unshift( {\n\t\t\t// Assign an empty string for the subheading for text that comes before the first subheading.\n\t\t\tsubheading: \"\",\n\t\t\ttext: textBeforeFirstSubheading,\n\t\t\tcountLength: textBeforeFirstSubheadingLength,\n\t\t} );\n\t}\n\n\treturn foundSubheadings;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAsD,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAAG,SAAUC,KAAK,EAAEC,UAAU,EAAG;EAC5C,IAAIC,IAAI,GAAGF,KAAK,CAACG,OAAO,CAAC,CAAC;EAC1BD,IAAI,GAAG,IAAAE,mBAAgB,EAAEF,IAAK,CAAC;EAC/BA,IAAI,GAAG,IAAAG,iCAAwB,EAAEH,IAAI,EAAEF,KAAK,CAACM,WAAW,IAAIN,KAAK,CAACM,WAAW,CAACC,UAAW,CAAC;EAC1F,MAAMC,OAAO,GAAG,IAAAC,2BAAkB,EAAEP,IAAK,CAAC;;EAE1C;EACA,MAAMQ,iBAAiB,GAAGT,UAAU,CAACU,SAAS,CAAE,mBAAoB,CAAC;EAErE,MAAMC,gBAAgB,GAAG,EAAE;EAE3B,IAAAC,eAAO,EAAEL,OAAO,EAAE,UAAUM,KAAK,EAAG;IACnCF,gBAAgB,CAACG,IAAI,CAAE;MACtBC,UAAU,EAAEF,KAAK,CAACE,UAAU;MAC5Bd,IAAI,EAAEY,KAAK,CAACZ,IAAI;MAChBe,WAAW,EAAEP,iBAAiB,GAAGA,iBAAiB,CAAEI,KAAK,CAACZ,IAAK,CAAC,GAAG,IAAAgB,mBAAU,EAAEJ,KAAK,CAACZ,IAAK,CAAC;MAC3FiB,KAAK,EAAEL,KAAK,CAACK;IACd,CAAE,CAAC;EACJ,CAAE,CAAC;EAEH,IAAIC,+BAA+B,GAAG,CAAC;EACvC,IAAIC,yBAAyB,GAAG,EAAE;EAClC,IAAKT,gBAAgB,CAACU,MAAM,GAAG,CAAC,EAAG;IAClC;IACA,MAAMC,eAAe,GAAIX,gBAAgB,CAAE,CAAC,CAAE;IAC9C;IACAS,yBAAyB,GAAGnB,IAAI,CAACsB,KAAK,CAAE,CAAC,EAAED,eAAe,CAACJ,KAAM,CAAC;IAClEC,+BAA+B,GAAGV,iBAAiB,GAChDA,iBAAiB,CAAEW,yBAA0B,CAAC,GAC9C,IAAAH,mBAAU,EAAEG,yBAA0B,CAAC;EAC3C;;EAEA;EACA,IAAKD,+BAA+B,GAAG,CAAC,IAAIC,yBAAyB,KAAK,EAAE,EAAG;IAC9E;IACAT,gBAAgB,CAACa,OAAO,CAAE;MACzB;MACAT,UAAU,EAAE,EAAE;MACdd,IAAI,EAAEmB,yBAAyB;MAC/BJ,WAAW,EAAEG;IACd,CAAE,CAAC;EACJ;EAEA,OAAOR,gBAAgB;AACxB","ignoreList":[]}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = _default;
|
|
7
|
+
var _quotes = require("../helpers/sanitize/quotes");
|
|
8
|
+
var _buildTopicStems = require("../helpers/morphology/buildTopicStems");
|
|
9
|
+
var _lodash = require("lodash");
|
|
10
|
+
var _getAllWordsFromPaper = _interopRequireDefault(require("../helpers/morphology/getAllWordsFromPaper"));
|
|
11
|
+
var _parseSynonyms = _interopRequireDefault(require("../helpers/sanitize/parseSynonyms"));
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
/**
|
|
14
|
+
* A stem with accompanying forms.
|
|
15
|
+
*
|
|
16
|
+
* @param {string} stem The word stem.
|
|
17
|
+
* @param {string[]} forms The word forms for the stem.
|
|
18
|
+
*
|
|
19
|
+
* @constructor
|
|
20
|
+
*/
|
|
21
|
+
function StemWithForms(stem, forms) {
|
|
22
|
+
this.stem = stem;
|
|
23
|
+
this.forms = forms;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* A result for all topic forms.
|
|
28
|
+
*
|
|
29
|
+
* @param {Array[]} keyphraseForms All keyphrase forms.
|
|
30
|
+
* @param {Array[]} synonymsForms All synonym forms.
|
|
31
|
+
* @constructor
|
|
32
|
+
*/
|
|
33
|
+
function Result(keyphraseForms = [], synonymsForms = []) {
|
|
34
|
+
this.keyphraseForms = keyphraseForms;
|
|
35
|
+
this.synonymsForms = synonymsForms;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Takes a stem-original pair and returns the accompanying forms for the stem that were found in the paper. Additionally
|
|
40
|
+
* adds a sanitized version of the original word and (for specific languages) creates basic word forms.
|
|
41
|
+
*
|
|
42
|
+
* @param {StemOriginalPair} stemOriginalPair The stem-original pair for which to get forms.
|
|
43
|
+
* @param {StemWithForms[]} paperWordsGroupedByStems All word forms in the paper grouped by stem.
|
|
44
|
+
* @param {Function|null} createBasicWordForms A function to create basic word forms (if available).
|
|
45
|
+
*
|
|
46
|
+
* @returns {string[]} All forms found in the paper for the given stem, plus a sanitized version of the original word.
|
|
47
|
+
*/
|
|
48
|
+
function replaceStemWithForms(stemOriginalPair, paperWordsGroupedByStems, createBasicWordForms) {
|
|
49
|
+
const matchingStemFormPair = paperWordsGroupedByStems.find(element => element.stem === stemOriginalPair.stem);
|
|
50
|
+
const originalSanitized = (0, _quotes.normalizeSingle)((0, _lodash.escapeRegExp)(stemOriginalPair.original));
|
|
51
|
+
const forms = matchingStemFormPair ? [originalSanitized, ...matchingStemFormPair.forms] : [originalSanitized];
|
|
52
|
+
|
|
53
|
+
// Add extra forms for languages for which we have basic word form support.
|
|
54
|
+
if (createBasicWordForms) {
|
|
55
|
+
forms.push(...createBasicWordForms(stemOriginalPair.original));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/*
|
|
59
|
+
* Return original and found or created forms.
|
|
60
|
+
* Only return original if no matching forms were found in the text and no forms could be created.
|
|
61
|
+
*/
|
|
62
|
+
return [...new Set(forms)];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Extracts the stems from all keyphrase and synonym stems.
|
|
67
|
+
*
|
|
68
|
+
* @param {TopicPhrase} keyphrase A topic phrase.
|
|
69
|
+
* @param {TopicPhrase[]} synonyms An array of topic phrases.
|
|
70
|
+
*
|
|
71
|
+
* @returns {string[]} All word stems of they keyphrase and synonyms.
|
|
72
|
+
*/
|
|
73
|
+
function extractStems(keyphrase, synonyms) {
|
|
74
|
+
const keyphraseStemsOnly = keyphrase.stemOriginalPairs.length === 0 ? [] : keyphrase.getStems();
|
|
75
|
+
const synonymsStemsOnly = synonyms.length === 0 ? [] : synonyms.map(topicPhrase => topicPhrase.getStems());
|
|
76
|
+
return [...keyphraseStemsOnly, ...(0, _lodash.flattenDeep)(synonymsStemsOnly)];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Constructs the result with forms for a topic phrase (i.e., a keyphrase or a synonym).
|
|
81
|
+
*
|
|
82
|
+
* @param {TopicPhrase} topicPhrase The topic phrase for which to construct the result.
|
|
83
|
+
* @param {StemWithForms[]} paperWordsGroupedByStems All word forms in the paper grouped by stem.
|
|
84
|
+
* @param {Function|null} createBasicWordForms A function to create basic word forms (if available).
|
|
85
|
+
*
|
|
86
|
+
* @returns {Array.<string[]>} The word forms for a given topic phrase, grouped by original topic phrase word.
|
|
87
|
+
*/
|
|
88
|
+
function constructTopicPhraseResult(topicPhrase, paperWordsGroupedByStems, createBasicWordForms) {
|
|
89
|
+
// Empty result for an empty topic phrase.
|
|
90
|
+
if (topicPhrase.stemOriginalPairs.length === 0) {
|
|
91
|
+
return [];
|
|
92
|
+
}
|
|
93
|
+
if (topicPhrase.exactMatch) {
|
|
94
|
+
return [[topicPhrase.stemOriginalPairs[0].stem]];
|
|
95
|
+
}
|
|
96
|
+
return topicPhrase.stemOriginalPairs.map(function (stemOriginalPair) {
|
|
97
|
+
return replaceStemWithForms(stemOriginalPair, paperWordsGroupedByStems, createBasicWordForms);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Gets all matching word forms for the keyphrase and synonyms. Stems are either collected from
|
|
103
|
+
* the paper or, for specific languages, directly created.
|
|
104
|
+
*
|
|
105
|
+
* @param {string} keyphrase The keyphrase.
|
|
106
|
+
* @param {string[]} synonyms The synonyms.
|
|
107
|
+
* @param {string[]} allWordsFromPaper All words found in the paper.
|
|
108
|
+
* @param {string[]} functionWords The function words for a given language (if available).
|
|
109
|
+
* @param {Function|null} stemmer A stemmer (if available).
|
|
110
|
+
* @param {Function|null} createBasicWordForms A function to create basic word forms (if available).
|
|
111
|
+
* @param {boolean} areHyphensWordBoundaries Whether hyphens should be treated as word boundaries.
|
|
112
|
+
|
|
113
|
+
* @returns {Object} Object with an array of keyphrase forms and an array of arrays of synonyms forms, based on the forms
|
|
114
|
+
* found in the text or created forms.
|
|
115
|
+
*/
|
|
116
|
+
function getWordForms(keyphrase, synonyms, allWordsFromPaper, functionWords, stemmer, createBasicWordForms, areHyphensWordBoundaries) {
|
|
117
|
+
const topicPhrases = (0, _buildTopicStems.collectStems)(keyphrase, synonyms, stemmer, functionWords, areHyphensWordBoundaries);
|
|
118
|
+
const keyphraseStemmed = topicPhrases.keyphraseStems;
|
|
119
|
+
const synonymsStemmed = topicPhrases.synonymsStems;
|
|
120
|
+
|
|
121
|
+
// Return an empty result when no keyphrase and synonyms have been set.
|
|
122
|
+
if (keyphraseStemmed.stemOriginalPairs.length === 0 && synonymsStemmed.length === 0) {
|
|
123
|
+
return new Result();
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Return exact match if all topic phrases contain exact match. Forms don't need to be built in that case.
|
|
127
|
+
const allTopicPhrases = [keyphraseStemmed, ...synonymsStemmed];
|
|
128
|
+
if (allTopicPhrases.every(topicPhrase => topicPhrase.exactMatch === true)) {
|
|
129
|
+
return new Result([[keyphraseStemmed.stemOriginalPairs[0].stem]], synonymsStemmed.map(synonym => [[synonym.stemOriginalPairs[0].stem]]));
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Get all stems from the keyphrase and synonyms.
|
|
133
|
+
const topicStemsFlat = [...new Set(extractStems(keyphraseStemmed, synonymsStemmed))];
|
|
134
|
+
|
|
135
|
+
/*
|
|
136
|
+
* Get all words from the paper text, title, meta description and slug.
|
|
137
|
+
* Filter duplicates and function words.
|
|
138
|
+
*/
|
|
139
|
+
const paperWords = [...new Set(allWordsFromPaper.filter(word => !functionWords.includes(word)))];
|
|
140
|
+
|
|
141
|
+
// Add stems to words from the paper, filter out all forms that aren't in the keyphrase or synonyms and order alphabetically.
|
|
142
|
+
const paperWordsWithStems = paperWords.map(word => new _buildTopicStems.StemOriginalPair(stemmer(word), word)).filter(stemOriginalPair => topicStemsFlat.includes(stemOriginalPair.stem)).sort((a, b) => a.stem.localeCompare(b.stem));
|
|
143
|
+
|
|
144
|
+
// Group word-stem pairs from the paper by stems.
|
|
145
|
+
const paperWordsGroupedByStems = paperWordsWithStems.reduce(function (accumulator, stemOriginalPair) {
|
|
146
|
+
const lastItem = accumulator[accumulator.length - 1];
|
|
147
|
+
if (accumulator.length === 0 || lastItem.stem !== stemOriginalPair.stem) {
|
|
148
|
+
accumulator.push(new StemWithForms(stemOriginalPair.stem, [stemOriginalPair.original]));
|
|
149
|
+
} else {
|
|
150
|
+
lastItem.forms.push(stemOriginalPair.original);
|
|
151
|
+
}
|
|
152
|
+
return accumulator;
|
|
153
|
+
}, []);
|
|
154
|
+
return new Result(constructTopicPhraseResult(keyphraseStemmed, paperWordsGroupedByStems, createBasicWordForms), synonymsStemmed.map(synonym => constructTopicPhraseResult(synonym, paperWordsGroupedByStems, createBasicWordForms)));
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Gets all matching word forms for the keyphrase and synonyms.
|
|
159
|
+
*
|
|
160
|
+
* @param {Paper} paper The paper.
|
|
161
|
+
* @param {Researcher} researcher The researcher.
|
|
162
|
+
*
|
|
163
|
+
* @returns {Object} Object with an array of keyphrase forms and an array of arrays of synonyms forms, based on the forms
|
|
164
|
+
* found in the text or created forms.
|
|
165
|
+
*/
|
|
166
|
+
function _default(paper, researcher) {
|
|
167
|
+
const functionWords = researcher.getConfig("functionWords");
|
|
168
|
+
const stemmer = researcher.getHelper("getStemmer")(researcher);
|
|
169
|
+
const createBasicWordForms = researcher.getHelper("createBasicWordForms");
|
|
170
|
+
const language = researcher.getConfig("language");
|
|
171
|
+
/*
|
|
172
|
+
* Whether we want to split words on hyphens depends on the language.
|
|
173
|
+
* In all languages apart from Indonesian, we consider hyphens as word boundaries. But in Indonesian, hyphens are used
|
|
174
|
+
* to form plural forms of nouns, e.g. 'buku' is the singular form for 'book' and 'buku-buku' is the plural form.
|
|
175
|
+
* This is why we don't split words on hyphens in Indonesian and we consider 'buku-buku' as one word rather than two.
|
|
176
|
+
*/
|
|
177
|
+
const areHyphensWordBoundaries = researcher.getConfig("areHyphensWordBoundaries");
|
|
178
|
+
const allWordsFromPaper = (0, _getAllWordsFromPaper.default)(paper, areHyphensWordBoundaries).map(word => word.toLocaleLowerCase(language));
|
|
179
|
+
const keyphrase = paper.getKeyword().toLocaleLowerCase(language).trim();
|
|
180
|
+
const synonyms = (0, _parseSynonyms.default)(paper.getSynonyms().toLocaleLowerCase(language).trim());
|
|
181
|
+
return getWordForms(keyphrase, synonyms, allWordsFromPaper, functionWords, stemmer, createBasicWordForms, areHyphensWordBoundaries);
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=getWordForms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getWordForms.js","names":["_quotes","require","_buildTopicStems","_lodash","_getAllWordsFromPaper","_interopRequireDefault","_parseSynonyms","e","__esModule","default","StemWithForms","stem","forms","Result","keyphraseForms","synonymsForms","replaceStemWithForms","stemOriginalPair","paperWordsGroupedByStems","createBasicWordForms","matchingStemFormPair","find","element","originalSanitized","normalizeSingle","escapeRegExp","original","push","Set","extractStems","keyphrase","synonyms","keyphraseStemsOnly","stemOriginalPairs","length","getStems","synonymsStemsOnly","map","topicPhrase","flattenDeep","constructTopicPhraseResult","exactMatch","getWordForms","allWordsFromPaper","functionWords","stemmer","areHyphensWordBoundaries","topicPhrases","collectStems","keyphraseStemmed","keyphraseStems","synonymsStemmed","synonymsStems","allTopicPhrases","every","synonym","topicStemsFlat","paperWords","filter","word","includes","paperWordsWithStems","StemOriginalPair","sort","a","b","localeCompare","reduce","accumulator","lastItem","_default","paper","researcher","getConfig","getHelper","language","getAllWordsFromPaper","toLocaleLowerCase","getKeyword","trim","parseSynonyms","getSynonyms"],"sources":["../../../src/languageProcessing/researches/getWordForms.js"],"sourcesContent":["import { normalizeSingle } from \"../helpers/sanitize/quotes\";\nimport { collectStems, StemOriginalPair } from \"../helpers/morphology/buildTopicStems\";\n\nimport { escapeRegExp, flattenDeep } from \"lodash\";\nimport getAllWordsFromPaper from \"../helpers/morphology/getAllWordsFromPaper\";\nimport parseSynonyms from \"../helpers/sanitize/parseSynonyms\";\n\n/**\n * A stem with accompanying forms.\n *\n * @param {string} stem The word stem.\n * @param {string[]} forms The word forms for the stem.\n *\n * @constructor\n */\nfunction StemWithForms( stem, forms ) {\n\tthis.stem = stem;\n\tthis.forms = forms;\n}\n\n/**\n * A result for all topic forms.\n *\n * @param {Array[]} keyphraseForms All keyphrase forms.\n * @param {Array[]} synonymsForms All synonym forms.\n * @constructor\n */\nfunction Result( keyphraseForms = [], synonymsForms = [] ) {\n\tthis.keyphraseForms = keyphraseForms;\n\tthis.synonymsForms = synonymsForms;\n}\n\n/**\n * Takes a stem-original pair and returns the accompanying forms for the stem that were found in the paper. Additionally\n * adds a sanitized version of the original word and (for specific languages) creates basic word forms.\n *\n * @param {StemOriginalPair} stemOriginalPair The stem-original pair for which to get forms.\n * @param {StemWithForms[]} paperWordsGroupedByStems All word forms in the paper grouped by stem.\n * @param {Function|null} createBasicWordForms A function to create basic word forms (if available).\n *\n * @returns {string[]} All forms found in the paper for the given stem, plus a sanitized version of the original word.\n */\nfunction replaceStemWithForms( stemOriginalPair, paperWordsGroupedByStems, createBasicWordForms ) {\n\tconst matchingStemFormPair = paperWordsGroupedByStems.find( element => element.stem === stemOriginalPair.stem );\n\tconst originalSanitized = normalizeSingle( escapeRegExp( stemOriginalPair.original ) );\n\n\tconst forms = matchingStemFormPair\n\t\t? [ originalSanitized, ...matchingStemFormPair.forms ]\n\t\t: [ originalSanitized ];\n\n\t// Add extra forms for languages for which we have basic word form support.\n\tif ( createBasicWordForms ) {\n\t\tforms.push( ...createBasicWordForms( stemOriginalPair.original ) );\n\t}\n\n\t/*\n\t * Return original and found or created forms.\n\t * Only return original if no matching forms were found in the text and no forms could be created.\n\t */\n\treturn [ ... new Set( forms ) ];\n}\n\n/**\n * Extracts the stems from all keyphrase and synonym stems.\n *\n * @param {TopicPhrase} keyphrase A topic phrase.\n * @param {TopicPhrase[]} synonyms An array of topic phrases.\n *\n * @returns {string[]} All word stems of they keyphrase and synonyms.\n */\nfunction extractStems( keyphrase, synonyms ) {\n\tconst keyphraseStemsOnly = keyphrase.stemOriginalPairs.length === 0\n\t\t? []\n\t\t: keyphrase.getStems();\n\n\tconst synonymsStemsOnly = synonyms.length === 0\n\t\t? []\n\t\t: synonyms.map( topicPhrase => topicPhrase.getStems() );\n\n\treturn ( [ ...keyphraseStemsOnly, ...flattenDeep( synonymsStemsOnly ) ] );\n}\n\n/**\n * Constructs the result with forms for a topic phrase (i.e., a keyphrase or a synonym).\n *\n * @param {TopicPhrase} topicPhrase The topic phrase for which to construct the result.\n * @param {StemWithForms[]} paperWordsGroupedByStems All word forms in the paper grouped by stem.\n * @param {Function|null} createBasicWordForms A function to create basic word forms (if available).\n *\n * @returns {Array.<string[]>} The word forms for a given topic phrase, grouped by original topic phrase word.\n */\nfunction constructTopicPhraseResult( topicPhrase, paperWordsGroupedByStems, createBasicWordForms ) {\n\t// Empty result for an empty topic phrase.\n\tif ( topicPhrase.stemOriginalPairs.length === 0 ) {\n\t\treturn [];\n\t}\n\n\tif ( topicPhrase.exactMatch ) {\n\t\treturn [ [ topicPhrase.stemOriginalPairs[ 0 ].stem ] ];\n\t}\n\n\treturn topicPhrase.stemOriginalPairs.map( function( stemOriginalPair ) {\n\t\treturn replaceStemWithForms( stemOriginalPair, paperWordsGroupedByStems, createBasicWordForms );\n\t} );\n}\n\n/**\n * Gets all matching word forms for the keyphrase and synonyms. Stems are either collected from\n * the paper or, for specific languages, directly created.\n *\n * @param {string} keyphrase \tThe keyphrase.\n * @param {string[]} synonyms \tThe synonyms.\n * @param {string[]} allWordsFromPaper \tAll words found in the paper.\n * @param {string[]} functionWords \tThe function words for a given language (if available).\n * @param {Function|null} stemmer \tA stemmer (if available).\n * @param {Function|null} createBasicWordForms \tA function to create basic word forms (if available).\n * @param {boolean} \t\tareHyphensWordBoundaries\tWhether hyphens should be treated as word boundaries.\n\n * @returns {Object} Object with an array of keyphrase forms and an array of arrays of synonyms forms, based on the forms\n * found in the text or created forms.\n */\nfunction getWordForms( keyphrase, synonyms, allWordsFromPaper, functionWords, stemmer, createBasicWordForms, areHyphensWordBoundaries ) {\n\tconst topicPhrases = collectStems( keyphrase, synonyms, stemmer, functionWords, areHyphensWordBoundaries );\n\tconst keyphraseStemmed = topicPhrases.keyphraseStems;\n\tconst synonymsStemmed = topicPhrases.synonymsStems;\n\n\t// Return an empty result when no keyphrase and synonyms have been set.\n\tif ( keyphraseStemmed.stemOriginalPairs.length === 0 && synonymsStemmed.length === 0 ) {\n\t\treturn new Result();\n\t}\n\n\t// Return exact match if all topic phrases contain exact match. Forms don't need to be built in that case.\n\tconst allTopicPhrases = [ keyphraseStemmed, ...synonymsStemmed ];\n\n\tif ( allTopicPhrases.every( topicPhrase => topicPhrase.exactMatch === true ) ) {\n\t\treturn new Result(\n\t\t\t[ [ keyphraseStemmed.stemOriginalPairs[ 0 ].stem ] ],\n\t\t\tsynonymsStemmed.map( synonym => [ [ synonym.stemOriginalPairs[ 0 ].stem ] ]\n\t\t\t)\n\t\t);\n\t}\n\n\t// Get all stems from the keyphrase and synonyms.\n\tconst topicStemsFlat = [ ... new Set( extractStems( keyphraseStemmed, synonymsStemmed ) ) ];\n\n\t/*\n\t * Get all words from the paper text, title, meta description and slug.\n\t * Filter duplicates and function words.\n\t */\n\tconst paperWords = [ ... new Set( allWordsFromPaper.filter( word => ! functionWords.includes( word ) ) ) ];\n\n\t// Add stems to words from the paper, filter out all forms that aren't in the keyphrase or synonyms and order alphabetically.\n\tconst paperWordsWithStems = paperWords\n\t\t.map( word => new StemOriginalPair( stemmer( word ), word ) )\n\t\t.filter( stemOriginalPair => topicStemsFlat.includes( stemOriginalPair.stem ) )\n\t\t.sort( ( a, b ) => a.stem.localeCompare( b.stem ) );\n\n\t// Group word-stem pairs from the paper by stems.\n\tconst paperWordsGroupedByStems = paperWordsWithStems.reduce( function( accumulator, stemOriginalPair ) {\n\t\tconst lastItem = accumulator[ accumulator.length - 1 ];\n\n\t\tif ( accumulator.length === 0 || lastItem.stem !== stemOriginalPair.stem ) {\n\t\t\taccumulator.push( new StemWithForms( stemOriginalPair.stem, [ stemOriginalPair.original ] ) );\n\t\t} else {\n\t\t\tlastItem.forms.push( stemOriginalPair.original );\n\t\t}\n\n\t\treturn accumulator;\n\t}, [] );\n\n\treturn new Result(\n\t\tconstructTopicPhraseResult( keyphraseStemmed, paperWordsGroupedByStems, createBasicWordForms ),\n\t\tsynonymsStemmed.map( synonym => constructTopicPhraseResult( synonym, paperWordsGroupedByStems, createBasicWordForms ) )\n\t);\n}\n\n/**\n * Gets all matching word forms for the keyphrase and synonyms.\n *\n * @param {Paper} paper \tThe paper.\n * @param {Researcher} researcher \tThe researcher.\n *\n * @returns {Object} Object with an array of keyphrase forms and an array of arrays of synonyms forms, based on the forms\n * found in the text or created forms.\n */\nexport default function( paper, researcher ) {\n\tconst functionWords = researcher.getConfig( \"functionWords\" );\n\tconst stemmer = researcher.getHelper( \"getStemmer\" )( researcher );\n\tconst createBasicWordForms = researcher.getHelper( \"createBasicWordForms\" );\n\tconst language = researcher.getConfig( \"language\" );\n\t/*\n\t * Whether we want to split words on hyphens depends on the language.\n\t * In all languages apart from Indonesian, we consider hyphens as word boundaries. But in Indonesian, hyphens are used\n\t * to form plural forms of nouns, e.g. 'buku' is the singular form for 'book' and 'buku-buku' is the plural form.\n\t * This is why we don't split words on hyphens in Indonesian and we consider 'buku-buku' as one word rather than two.\n\t */\n\tconst areHyphensWordBoundaries = researcher.getConfig( \"areHyphensWordBoundaries\" );\n\n\tconst allWordsFromPaper = getAllWordsFromPaper( paper, areHyphensWordBoundaries ).map( word => word.toLocaleLowerCase( language ) );\n\tconst keyphrase = paper.getKeyword().toLocaleLowerCase( language ).trim();\n\tconst synonyms = parseSynonyms( paper.getSynonyms().toLocaleLowerCase( language ).trim() );\n\n\treturn getWordForms( keyphrase, synonyms, allWordsFromPaper, functionWords, stemmer, createBasicWordForms, areHyphensWordBoundaries );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = _default;
|
|
7
|
+
/**
|
|
8
|
+
* Gets all H1s in a text, including their content and their position information.
|
|
9
|
+
*
|
|
10
|
+
* @param {Paper} paper The paper for which to get the H1s.
|
|
11
|
+
*
|
|
12
|
+
* @returns {number | null} An array with all H1s, their content and position.
|
|
13
|
+
*/
|
|
14
|
+
function _default(paper) {
|
|
15
|
+
return paper.getH1Count();
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=h1s.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"h1s.js","names":["_default","paper","getH1Count"],"sources":["../../../src/languageProcessing/researches/h1s.js"],"sourcesContent":["/**\n * Gets all H1s in a text, including their content and their position information.\n *\n * @param {Paper} paper The paper for which to get the H1s.\n *\n * @returns {number | null} An array with all H1s, their content and position.\n */\nexport default function(paper) {\n return paper.getH1Count();\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAAA,SAASC,KAAK,EAAE;EAC7B,OAAOA,KAAK,CAACC,UAAU,CAAC,CAAC;AAC3B","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = imageCount;
|
|
7
|
+
var _getImagesInTree = _interopRequireDefault(require("../helpers/image/getImagesInTree"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
/** @module researches/imageInText */
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Checks the amount of images in the text.
|
|
13
|
+
*
|
|
14
|
+
* @param {Paper} paper The paper to check for images.
|
|
15
|
+
*
|
|
16
|
+
* @returns {number} The amount of found images.
|
|
17
|
+
*/
|
|
18
|
+
function imageCount(paper) {
|
|
19
|
+
const images = (0, _getImagesInTree.default)(paper);
|
|
20
|
+
return images.length;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=imageCount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageCount.js","names":["_getImagesInTree","_interopRequireDefault","require","e","__esModule","default","imageCount","paper","images","getImagesInTree","length"],"sources":["../../../src/languageProcessing/researches/imageCount.js"],"sourcesContent":["/** @module researches/imageInText */\n\nimport getImagesInTree from \"../helpers/image/getImagesInTree\";\n\n/**\n * Checks the amount of images in the text.\n *\n * @param {Paper} paper The paper to check for images.\n *\n * @returns {number} The amount of found images.\n */\nexport default function imageCount( paper ) {\n\tconst images = getImagesInTree( paper );\n\n\treturn images.length;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA+D,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAF/D;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASG,UAAUA,CAAEC,KAAK,EAAG;EAC3C,MAAMC,MAAM,GAAG,IAAAC,wBAAe,EAAEF,KAAM,CAAC;EAEvC,OAAOC,MAAM,CAACE,MAAM;AACrB","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "getLongCenterAlignedTexts", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _getLongCenterAlignedTexts.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "keyphraseDistribution", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _keyphraseDistribution.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "wordComplexity", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _wordComplexity.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _getLongCenterAlignedTexts = _interopRequireDefault(require("./getLongCenterAlignedTexts"));
|
|
25
|
+
var _wordComplexity = _interopRequireDefault(require("./wordComplexity"));
|
|
26
|
+
var _keyphraseDistribution = _interopRequireDefault(require("./keyphraseDistribution"));
|
|
27
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_getLongCenterAlignedTexts","_interopRequireDefault","require","_wordComplexity","_keyphraseDistribution","e","__esModule","default"],"sources":["../../../src/languageProcessing/researches/index.js"],"sourcesContent":["import getLongCenterAlignedTexts from './getLongCenterAlignedTexts';\nimport wordComplexity from './wordComplexity';\nimport keyphraseDistribution from './keyphraseDistribution';\n\nexport {getLongCenterAlignedTexts, keyphraseDistribution, wordComplexity};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,0BAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,sBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA4D,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.maximizeSentenceScores = exports.keyphraseDistributionResearcher = exports.getDistraction = exports.default = exports.computeScoresPerSentenceShortTopic = exports.computeScoresPerSentenceLongTopic = void 0;
|
|
7
|
+
var _lodash = require("lodash");
|
|
8
|
+
var _findKeywordFormsInString = require("../helpers/match/findKeywordFormsInString");
|
|
9
|
+
var _markWordsInSentences = require("../helpers/word/markWordsInSentences");
|
|
10
|
+
var _getSentences = _interopRequireDefault(require("../helpers/sentence/getSentences"));
|
|
11
|
+
var _parseSynonyms = _interopRequireDefault(require("../helpers/sanitize/parseSynonyms"));
|
|
12
|
+
var _mergeListItems = require("../helpers/sanitize/mergeListItems");
|
|
13
|
+
var _htmlParser = _interopRequireDefault(require("../helpers/html/htmlParser"));
|
|
14
|
+
var _filterShortcodesFromTree = require("../helpers/sanitize/filterShortcodesFromTree");
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
/**
|
|
17
|
+
* Checks whether at least half of the content words from the topic are found within the sentence.
|
|
18
|
+
* Assigns a score to every sentence following the following schema:
|
|
19
|
+
* 9 if at least half of the content words from the topic are in the sentence,
|
|
20
|
+
* 3 otherwise.
|
|
21
|
+
*
|
|
22
|
+
* @param {Array} topic The word forms of all content words in a keyphrase or a synonym.
|
|
23
|
+
* @param {Array} sentences An array of all sentences in the text.
|
|
24
|
+
* @param {string} locale The locale of the paper to analyse.
|
|
25
|
+
* @param {function} matchWordCustomHelper The language-specific helper function to match word in text.
|
|
26
|
+
*
|
|
27
|
+
* @returns {Array} The scores per sentence.
|
|
28
|
+
*/
|
|
29
|
+
const computeScoresPerSentenceLongTopic = function (topic, sentences, locale, matchWordCustomHelper) {
|
|
30
|
+
const sentenceScores = Array(sentences.length);
|
|
31
|
+
for (let i = 0; i < sentences.length; i++) {
|
|
32
|
+
const foundInCurrentSentence = (0, _findKeywordFormsInString.findWordFormsInString)(topic, sentences[i], locale, matchWordCustomHelper);
|
|
33
|
+
if (foundInCurrentSentence.percentWordMatches >= 50) {
|
|
34
|
+
sentenceScores[i] = 9;
|
|
35
|
+
} else {
|
|
36
|
+
sentenceScores[i] = 3;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return sentenceScores;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Checks whether all content words from the topic are found within one sentence.
|
|
44
|
+
* Assigns a score to every sentence following the following schema:
|
|
45
|
+
* 9 if all content words from the topic are in the sentence,
|
|
46
|
+
* 3 if not all content words from the topic were found in the sentence.
|
|
47
|
+
*
|
|
48
|
+
* @param {Array} topic The word forms of all content words in a keyphrase or a synonym.
|
|
49
|
+
* @param {Array} sentences An array of all sentences in the text.
|
|
50
|
+
* @param {string} locale The locale of the paper to analyse.
|
|
51
|
+
* @param {function} matchWordCustomHelper The language-specific helper function to match word in text.
|
|
52
|
+
*
|
|
53
|
+
* @returns {Array} The scores per sentence.
|
|
54
|
+
*/
|
|
55
|
+
exports.computeScoresPerSentenceLongTopic = computeScoresPerSentenceLongTopic;
|
|
56
|
+
const computeScoresPerSentenceShortTopic = function (topic, sentences, locale, matchWordCustomHelper) {
|
|
57
|
+
const sentenceScores = Array(sentences.length);
|
|
58
|
+
for (let i = 0; i < sentences.length; i++) {
|
|
59
|
+
const currentSentence = sentences[i];
|
|
60
|
+
const foundInCurrentSentence = (0, _findKeywordFormsInString.findWordFormsInString)(topic, currentSentence, locale, matchWordCustomHelper);
|
|
61
|
+
if (foundInCurrentSentence.percentWordMatches === 100) {
|
|
62
|
+
sentenceScores[i] = 9;
|
|
63
|
+
} else {
|
|
64
|
+
sentenceScores[i] = 3;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return sentenceScores;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Maximizes scores: Give every sentence a maximal score that it got from analysis of all topics
|
|
72
|
+
*
|
|
73
|
+
* @param {Array} sentenceScores The scores for every sentence, as assessed per keyphrase and every synonym.
|
|
74
|
+
*
|
|
75
|
+
* @returns {Array} Maximal scores of topic relevance per sentence.
|
|
76
|
+
*/
|
|
77
|
+
exports.computeScoresPerSentenceShortTopic = computeScoresPerSentenceShortTopic;
|
|
78
|
+
const maximizeSentenceScores = function (sentenceScores) {
|
|
79
|
+
const sentenceScoresTransposed = sentenceScores[0].map(function (col, i) {
|
|
80
|
+
return sentenceScores.map(function (row) {
|
|
81
|
+
return row[i];
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
return sentenceScoresTransposed.map(function (scoresForOneSentence) {
|
|
85
|
+
return (0, _lodash.max)(scoresForOneSentence);
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Computes the maximally long piece of text that does not include the topic.
|
|
91
|
+
*
|
|
92
|
+
* @param {Array} sentenceScores The array of scores per sentence.
|
|
93
|
+
*
|
|
94
|
+
* @returns {number} The maximum number of sentences that do not include the topic.
|
|
95
|
+
*/
|
|
96
|
+
exports.maximizeSentenceScores = maximizeSentenceScores;
|
|
97
|
+
const getDistraction = function (sentenceScores) {
|
|
98
|
+
const numberOfSentences = sentenceScores.length;
|
|
99
|
+
const allTopicSentencesIndices = [];
|
|
100
|
+
for (let i = 0; i < numberOfSentences; i++) {
|
|
101
|
+
if (sentenceScores[i] > 3) {
|
|
102
|
+
allTopicSentencesIndices.push(i);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const numberOfTopicSentences = allTopicSentencesIndices.length;
|
|
106
|
+
if (numberOfTopicSentences === 0) {
|
|
107
|
+
return numberOfSentences;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Add fake topic sentences at the very beginning and at the very end
|
|
112
|
+
* to account for cases when the text starts or ends with a train of distraction.
|
|
113
|
+
*/
|
|
114
|
+
allTopicSentencesIndices.unshift(-1);
|
|
115
|
+
allTopicSentencesIndices.push(numberOfSentences);
|
|
116
|
+
const distances = [];
|
|
117
|
+
for (let i = 1; i < numberOfTopicSentences + 2; i++) {
|
|
118
|
+
distances.push(allTopicSentencesIndices[i] - allTopicSentencesIndices[i - 1] - 1);
|
|
119
|
+
}
|
|
120
|
+
return (0, _lodash.max)(distances);
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Computes the per-sentence scores depending on the length of the topic phrase and maximizes them over all topic phrases.
|
|
125
|
+
*
|
|
126
|
+
* @param {Array} sentences The sentences to get scores for.
|
|
127
|
+
* @param {Array} topicFormsInOneArray The topic phrases forms to search for in the sentences.
|
|
128
|
+
* @param {string} locale The locale to work in.
|
|
129
|
+
* @param {Array} functionWords The function words list.
|
|
130
|
+
* @param {function} matchWordCustomHelper The language-specific helper function to match word in text.
|
|
131
|
+
* @param {int} topicLengthCriteria The topic length criteria. The default value is 4, where a topic is considered short
|
|
132
|
+
* if it's less than 4 word long, and otherwise long.
|
|
133
|
+
* @param {Array} originalTopic The array of the original form of the topic with function words filtered out.
|
|
134
|
+
* @param {function} wordsCharacterCount The helper to calculate the characters length of all the words in the array.
|
|
135
|
+
*
|
|
136
|
+
* @returns {Object} An array with maximized score per sentence and an array with all sentences that do not contain the topic.
|
|
137
|
+
*/
|
|
138
|
+
exports.getDistraction = getDistraction;
|
|
139
|
+
const getSentenceScores = function (sentences, topicFormsInOneArray, locale, functionWords, matchWordCustomHelper, topicLengthCriteria = 4, originalTopic, wordsCharacterCount) {
|
|
140
|
+
// Compute per-sentence scores of topic-relatedness.
|
|
141
|
+
const topicNumber = topicFormsInOneArray.length;
|
|
142
|
+
const sentenceScores = Array(topicNumber);
|
|
143
|
+
|
|
144
|
+
// For languages with function words apply either full match or partial match depending on topic length
|
|
145
|
+
if (functionWords.length > 0) {
|
|
146
|
+
for (let i = 0; i < topicNumber; i++) {
|
|
147
|
+
const topic = topicFormsInOneArray[i];
|
|
148
|
+
/*
|
|
149
|
+
* If the helper to calculate the characters length of all the words in the array is available,
|
|
150
|
+
* we use this helper to calculate the characters length of the original topic form.
|
|
151
|
+
* We then use the result and compare it with the topicLengthCriteria.
|
|
152
|
+
*/
|
|
153
|
+
const topicLength = wordsCharacterCount ? wordsCharacterCount(originalTopic[i]) : topic.length;
|
|
154
|
+
if (topicLength < topicLengthCriteria) {
|
|
155
|
+
sentenceScores[i] = computeScoresPerSentenceShortTopic(topic, sentences, locale, matchWordCustomHelper);
|
|
156
|
+
} else {
|
|
157
|
+
sentenceScores[i] = computeScoresPerSentenceLongTopic(topic, sentences, locale, matchWordCustomHelper);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
} else {
|
|
161
|
+
// For languages without function words apply the full match always
|
|
162
|
+
for (let i = 0; i < topicNumber; i++) {
|
|
163
|
+
const topic = topicFormsInOneArray[i];
|
|
164
|
+
sentenceScores[i] = computeScoresPerSentenceShortTopic(topic, sentences, locale, matchWordCustomHelper);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Maximize scores: Give every sentence a maximal score that it got from analysis of all topics
|
|
169
|
+
const maximizedSentenceScores = maximizeSentenceScores(sentenceScores);
|
|
170
|
+
|
|
171
|
+
// Zip an array combining each sentence with the associated maximized score.
|
|
172
|
+
const sentencesWithMaximizedScores = (0, _lodash.zipWith)(sentences, maximizedSentenceScores, (sentence, score) => {
|
|
173
|
+
return {
|
|
174
|
+
sentence,
|
|
175
|
+
score
|
|
176
|
+
};
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
// Filter sentences that contain topic words for future highlights.
|
|
180
|
+
const sentencesWithTopic = sentencesWithMaximizedScores.filter(sentenceObject => sentenceObject.score > 3);
|
|
181
|
+
return {
|
|
182
|
+
maximizedSentenceScores: maximizedSentenceScores,
|
|
183
|
+
sentencesWithTopic: sentencesWithTopic.map(sentenceObject => sentenceObject.sentence)
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Determines which portions of the text did not receive a lot of content words from keyphrase and synonyms.
|
|
189
|
+
*
|
|
190
|
+
* @param {Paper} paper The paper to check the keyphrase distribution for.
|
|
191
|
+
* @param {Researcher} researcher The researcher to use for analysis.
|
|
192
|
+
*
|
|
193
|
+
* @returns {Object} The scores of topic relevance per portion of text and an array of all word forms to highlight.
|
|
194
|
+
*/
|
|
195
|
+
const keyphraseDistributionResearcher = function (paper, researcher) {
|
|
196
|
+
const functionWords = researcher.getConfig("functionWords");
|
|
197
|
+
const matchWordCustomHelper = researcher.getHelper("matchWordCustomHelper");
|
|
198
|
+
const getContentWordsHelper = researcher.getHelper("getContentWords");
|
|
199
|
+
const wordsCharacterCount = researcher.getResearch("wordsCharacterCount");
|
|
200
|
+
const memoizedTokenizer = researcher.getHelper("memoizedTokenizer");
|
|
201
|
+
|
|
202
|
+
// Custom topic length criteria for languages that don't use the default value to determine whether a topic is long or short.
|
|
203
|
+
const topicLengthCriteria = researcher.getConfig("topicLength").lengthCriteria;
|
|
204
|
+
let text = paper.getText();
|
|
205
|
+
text = (0, _htmlParser.default)(text);
|
|
206
|
+
text = (0, _filterShortcodesFromTree.filterShortcodesFromHTML)(text, paper._attributes && paper._attributes.shortcodes);
|
|
207
|
+
text = (0, _mergeListItems.mergeListItems)(text);
|
|
208
|
+
const sentences = (0, _getSentences.default)(text, memoizedTokenizer);
|
|
209
|
+
const topicForms = researcher.getResearch("morphology");
|
|
210
|
+
const originalTopic = [];
|
|
211
|
+
if (getContentWordsHelper) {
|
|
212
|
+
originalTopic.push(getContentWordsHelper(paper.getKeyword()));
|
|
213
|
+
(0, _parseSynonyms.default)(paper.getSynonyms()).forEach(synonym => originalTopic.push(getContentWordsHelper(synonym)));
|
|
214
|
+
}
|
|
215
|
+
const locale = paper.getLocale();
|
|
216
|
+
const topicFormsInOneArray = [topicForms.keyphraseForms];
|
|
217
|
+
topicForms.synonymsForms.forEach(function (synonym) {
|
|
218
|
+
topicFormsInOneArray.push(synonym);
|
|
219
|
+
});
|
|
220
|
+
const allTopicWords = (0, _lodash.uniq)((0, _lodash.flattenDeep)(topicFormsInOneArray)).sort((a, b) => b.length - a.length);
|
|
221
|
+
|
|
222
|
+
// Get per-sentence scores and sentences that have topic.
|
|
223
|
+
const sentenceScores = getSentenceScores(sentences, topicFormsInOneArray, locale, functionWords, matchWordCustomHelper, topicLengthCriteria, originalTopic, wordsCharacterCount);
|
|
224
|
+
const maximizedSentenceScores = sentenceScores.maximizedSentenceScores;
|
|
225
|
+
const maxLengthDistraction = getDistraction(maximizedSentenceScores);
|
|
226
|
+
return {
|
|
227
|
+
sentencesToHighlight: (0, _markWordsInSentences.markWordsInSentences)(allTopicWords, sentenceScores.sentencesWithTopic, locale, matchWordCustomHelper),
|
|
228
|
+
keyphraseDistributionScore: maxLengthDistraction / sentences.length * 100
|
|
229
|
+
};
|
|
230
|
+
};
|
|
231
|
+
exports.keyphraseDistributionResearcher = keyphraseDistributionResearcher;
|
|
232
|
+
var _default = exports.default = keyphraseDistributionResearcher;
|
|
233
|
+
//# sourceMappingURL=keyphraseDistribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyphraseDistribution.js","names":["_lodash","require","_findKeywordFormsInString","_markWordsInSentences","_getSentences","_interopRequireDefault","_parseSynonyms","_mergeListItems","_htmlParser","_filterShortcodesFromTree","e","__esModule","default","computeScoresPerSentenceLongTopic","topic","sentences","locale","matchWordCustomHelper","sentenceScores","Array","length","i","foundInCurrentSentence","findWordFormsInString","percentWordMatches","exports","computeScoresPerSentenceShortTopic","currentSentence","maximizeSentenceScores","sentenceScoresTransposed","map","col","row","scoresForOneSentence","max","getDistraction","numberOfSentences","allTopicSentencesIndices","push","numberOfTopicSentences","unshift","distances","getSentenceScores","topicFormsInOneArray","functionWords","topicLengthCriteria","originalTopic","wordsCharacterCount","topicNumber","topicLength","maximizedSentenceScores","sentencesWithMaximizedScores","zipWith","sentence","score","sentencesWithTopic","filter","sentenceObject","keyphraseDistributionResearcher","paper","researcher","getConfig","getHelper","getContentWordsHelper","getResearch","memoizedTokenizer","lengthCriteria","text","getText","removeHtmlBlocks","filterShortcodesFromHTML","_attributes","shortcodes","mergeListItems","getSentences","topicForms","getKeyword","parseSynonyms","getSynonyms","forEach","synonym","getLocale","keyphraseForms","synonymsForms","allTopicWords","unique","flattenDeep","sort","a","b","maxLengthDistraction","sentencesToHighlight","markWordsInSentences","keyphraseDistributionScore","_default"],"sources":["../../../src/languageProcessing/researches/keyphraseDistribution.js"],"sourcesContent":["import { flattenDeep, max, uniq as unique, zipWith } from \"lodash\";\nimport { findWordFormsInString } from \"../helpers/match/findKeywordFormsInString\";\nimport { markWordsInSentences } from \"../helpers/word/markWordsInSentences\";\nimport getSentences from \"../helpers/sentence/getSentences\";\nimport parseSynonyms from \"../helpers/sanitize/parseSynonyms\";\nimport { mergeListItems } from \"../helpers/sanitize/mergeListItems\";\nimport removeHtmlBlocks from \"../helpers/html/htmlParser\";\nimport { filterShortcodesFromHTML } from \"../helpers/sanitize/filterShortcodesFromTree\";\n\n/**\n * Checks whether at least half of the content words from the topic are found within the sentence.\n * Assigns a score to every sentence following the following schema:\n * 9 if at least half of the content words from the topic are in the sentence,\n * 3 otherwise.\n *\n * @param {Array} topic The word forms of all content words in a keyphrase or a synonym.\n * @param {Array} sentences An array of all sentences in the text.\n * @param {string} locale The locale of the paper to analyse.\n * @param {function} matchWordCustomHelper \tThe language-specific helper function to match word in text.\n *\n * @returns {Array} The scores per sentence.\n */\nconst computeScoresPerSentenceLongTopic = function( topic, sentences, locale, matchWordCustomHelper ) {\n\tconst sentenceScores = Array( sentences.length );\n\n\tfor ( let i = 0; i < sentences.length; i++ ) {\n\t\tconst foundInCurrentSentence = findWordFormsInString( topic, sentences[ i ], locale, matchWordCustomHelper );\n\n\t\tif ( foundInCurrentSentence.percentWordMatches >= 50 ) {\n\t\t\tsentenceScores[ i ] = 9;\n\t\t} else {\n\t\t\tsentenceScores[ i ] = 3;\n\t\t}\n\t}\n\n\treturn sentenceScores;\n};\n\n\n/**\n * Checks whether all content words from the topic are found within one sentence.\n * Assigns a score to every sentence following the following schema:\n * 9 if all content words from the topic are in the sentence,\n * 3 if not all content words from the topic were found in the sentence.\n *\n * @param {Array} topic The word forms of all content words in a keyphrase or a synonym.\n * @param {Array} sentences An array of all sentences in the text.\n * @param {string} locale The locale of the paper to analyse.\n * @param {function} matchWordCustomHelper \tThe language-specific helper function to match word in text.\n *\n * @returns {Array} The scores per sentence.\n */\nconst computeScoresPerSentenceShortTopic = function( topic, sentences, locale, matchWordCustomHelper ) {\n\tconst sentenceScores = Array( sentences.length );\n\n\tfor ( let i = 0; i < sentences.length; i++ ) {\n\t\tconst currentSentence = sentences[ i ];\n\t\tconst foundInCurrentSentence = findWordFormsInString( topic, currentSentence, locale, matchWordCustomHelper );\n\t\tif ( foundInCurrentSentence.percentWordMatches === 100 ) {\n\t\t\tsentenceScores[ i ] = 9;\n\t\t} else {\n\t\t\tsentenceScores[ i ] = 3;\n\t\t}\n\t}\n\treturn sentenceScores;\n};\n\n/**\n * Maximizes scores: Give every sentence a maximal score that it got from analysis of all topics\n *\n * @param {Array} sentenceScores The scores for every sentence, as assessed per keyphrase and every synonym.\n *\n * @returns {Array} Maximal scores of topic relevance per sentence.\n */\nconst maximizeSentenceScores = function( sentenceScores ) {\n\tconst sentenceScoresTransposed = sentenceScores[ 0 ].map( function( col, i ) {\n\t\treturn sentenceScores.map( function( row ) {\n\t\t\treturn row[ i ];\n\t\t} );\n\t} );\n\n\treturn sentenceScoresTransposed.map( function( scoresForOneSentence ) {\n\t\treturn max( scoresForOneSentence );\n\t} );\n};\n\n\n/**\n * Computes the maximally long piece of text that does not include the topic.\n *\n * @param {Array} sentenceScores The array of scores per sentence.\n *\n * @returns {number} The maximum number of sentences that do not include the topic.\n */\nconst getDistraction = function( sentenceScores ) {\n\tconst numberOfSentences = sentenceScores.length;\n\tconst allTopicSentencesIndices = [];\n\n\tfor ( let i = 0; i < numberOfSentences; i++ ) {\n\t\tif ( sentenceScores[ i ] > 3 ) {\n\t\t\tallTopicSentencesIndices.push( i );\n\t\t}\n\t}\n\n\tconst numberOfTopicSentences = allTopicSentencesIndices.length;\n\n\tif ( numberOfTopicSentences === 0 ) {\n\t\treturn numberOfSentences;\n\t}\n\n\t/**\n\t * Add fake topic sentences at the very beginning and at the very end\n\t * to account for cases when the text starts or ends with a train of distraction.\n\t */\n\tallTopicSentencesIndices.unshift( -1 );\n\tallTopicSentencesIndices.push( numberOfSentences );\n\n\tconst distances = [];\n\n\tfor ( let i = 1; i < numberOfTopicSentences + 2; i++ ) {\n\t\tdistances.push( allTopicSentencesIndices[ i ] - allTopicSentencesIndices[ i - 1 ] - 1 );\n\t}\n\n\treturn max( distances );\n};\n\n/**\n * Computes the per-sentence scores depending on the length of the topic phrase and maximizes them over all topic phrases.\n *\n * @param {Array} sentences The sentences to get scores for.\n * @param {Array} topicFormsInOneArray The topic phrases forms to search for in the sentences.\n * @param {string} locale The locale to work in.\n * @param {Array} functionWords The function words list.\n * @param {function} matchWordCustomHelper \tThe language-specific helper function to match word in text.\n * @param {int} topicLengthCriteria The topic length criteria. The default value is 4, where a topic is considered short\n * if it's less than 4 word long, and otherwise long.\n * @param {Array} originalTopic The array of the original form of the topic with function words filtered out.\n * @param {function} wordsCharacterCount The helper to calculate the characters length of all the words in the array.\n *\n * @returns {Object} An array with maximized score per sentence and an array with all sentences that do not contain the topic.\n */\nconst getSentenceScores = function( sentences, topicFormsInOneArray, locale, functionWords, matchWordCustomHelper,\n\ttopicLengthCriteria = 4, originalTopic, wordsCharacterCount ) {\n\t// Compute per-sentence scores of topic-relatedness.\n\tconst topicNumber = topicFormsInOneArray.length;\n\n\tconst sentenceScores = Array( topicNumber );\n\n\t// For languages with function words apply either full match or partial match depending on topic length\n\tif ( functionWords.length > 0 ) {\n\t\tfor ( let i = 0; i < topicNumber; i++ ) {\n\t\t\tconst topic = topicFormsInOneArray[ i ];\n\t\t\t/*\n\t\t\t * If the helper to calculate the characters length of all the words in the array is available,\n\t\t\t * we use this helper to calculate the characters length of the original topic form.\n\t\t\t * We then use the result and compare it with the topicLengthCriteria.\n\t\t\t */\n\t\t\tconst topicLength = wordsCharacterCount ? wordsCharacterCount( originalTopic[ i ] ) : topic.length;\n\t\t\tif ( topicLength < topicLengthCriteria ) {\n\t\t\t\tsentenceScores[ i ] = computeScoresPerSentenceShortTopic( topic, sentences, locale, matchWordCustomHelper );\n\t\t\t} else {\n\t\t\t\tsentenceScores[ i ] = computeScoresPerSentenceLongTopic( topic, sentences, locale, matchWordCustomHelper );\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// For languages without function words apply the full match always\n\t\tfor ( let i = 0; i < topicNumber; i++ ) {\n\t\t\tconst topic = topicFormsInOneArray[ i ];\n\t\t\tsentenceScores[ i ] = computeScoresPerSentenceShortTopic( topic, sentences, locale, matchWordCustomHelper );\n\t\t}\n\t}\n\n\t// Maximize scores: Give every sentence a maximal score that it got from analysis of all topics\n\tconst maximizedSentenceScores = maximizeSentenceScores( sentenceScores );\n\n\t// Zip an array combining each sentence with the associated maximized score.\n\tconst sentencesWithMaximizedScores = zipWith( sentences, maximizedSentenceScores, ( sentence, score ) => {\n\t\treturn { sentence, score };\n\t} );\n\n\t// Filter sentences that contain topic words for future highlights.\n\tconst sentencesWithTopic = sentencesWithMaximizedScores.filter( sentenceObject => sentenceObject.score > 3 );\n\n\treturn {\n\t\tmaximizedSentenceScores: maximizedSentenceScores,\n\t\tsentencesWithTopic: sentencesWithTopic.map( sentenceObject => sentenceObject.sentence ),\n\t};\n};\n\n\n/**\n * Determines which portions of the text did not receive a lot of content words from keyphrase and synonyms.\n *\n * @param {Paper} paper The paper to check the keyphrase distribution for.\n * @param {Researcher} researcher The researcher to use for analysis.\n *\n * @returns {Object} The scores of topic relevance per portion of text and an array of all word forms to highlight.\n */\nconst keyphraseDistributionResearcher = function( paper, researcher ) {\n\tconst functionWords = researcher.getConfig( \"functionWords\" );\n\tconst matchWordCustomHelper = researcher.getHelper( \"matchWordCustomHelper\" );\n\tconst getContentWordsHelper = researcher.getHelper( \"getContentWords\" );\n\tconst wordsCharacterCount = researcher.getResearch( \"wordsCharacterCount\" );\n\tconst memoizedTokenizer = researcher.getHelper( \"memoizedTokenizer\" );\n\n\t// Custom topic length criteria for languages that don't use the default value to determine whether a topic is long or short.\n\tconst topicLengthCriteria = researcher.getConfig( \"topicLength\" ).lengthCriteria;\n\n\tlet text = paper.getText();\n\ttext = removeHtmlBlocks( text );\n\ttext = filterShortcodesFromHTML( text, paper._attributes && paper._attributes.shortcodes );\n\ttext = mergeListItems( text );\n\tconst sentences = getSentences( text, memoizedTokenizer );\n\tconst topicForms = researcher.getResearch( \"morphology\" );\n\n\tconst originalTopic = [];\n\tif ( getContentWordsHelper ) {\n\t\toriginalTopic.push( getContentWordsHelper( paper.getKeyword() ) );\n\t\tparseSynonyms( paper.getSynonyms() ).forEach( synonym => originalTopic.push( getContentWordsHelper( synonym ) ) );\n\t}\n\tconst locale = paper.getLocale();\n\tconst topicFormsInOneArray = [ topicForms.keyphraseForms ];\n\ttopicForms.synonymsForms.forEach( function( synonym ) {\n\t\ttopicFormsInOneArray.push( synonym );\n\t} );\n\n\tconst allTopicWords = unique( flattenDeep( topicFormsInOneArray ) ).sort( ( a, b ) => b.length - a.length );\n\n\t// Get per-sentence scores and sentences that have topic.\n\tconst sentenceScores = getSentenceScores( sentences, topicFormsInOneArray, locale, functionWords, matchWordCustomHelper,\n\t\ttopicLengthCriteria, originalTopic, wordsCharacterCount );\n\tconst maximizedSentenceScores = sentenceScores.maximizedSentenceScores;\n\tconst maxLengthDistraction = getDistraction( maximizedSentenceScores );\n\n\treturn {\n\t\tsentencesToHighlight: markWordsInSentences( allTopicWords, sentenceScores.sentencesWithTopic, locale, matchWordCustomHelper ),\n\t\tkeyphraseDistributionScore: maxLengthDistraction / sentences.length * 100,\n\t};\n};\n\nexport {\n\tcomputeScoresPerSentenceShortTopic,\n\tcomputeScoresPerSentenceLongTopic,\n\tmaximizeSentenceScores,\n\tkeyphraseDistributionResearcher,\n\tgetDistraction,\n};\n\nexport default keyphraseDistributionResearcher;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = _default;
|
|
7
|
+
/**
|
|
8
|
+
* Determines the length in words of the keyphrase.
|
|
9
|
+
*
|
|
10
|
+
* @param {Paper} paper The paper to research
|
|
11
|
+
* @param {Researcher} researcher The researcher to use for analysis
|
|
12
|
+
*
|
|
13
|
+
* @returns {Object} The length of the keyphrase and the function words list.
|
|
14
|
+
*/
|
|
15
|
+
function _default(paper, researcher) {
|
|
16
|
+
const topicForms = researcher.getResearch("morphology");
|
|
17
|
+
const functionWords = researcher.getConfig("functionWords");
|
|
18
|
+
return {
|
|
19
|
+
keyphraseLength: topicForms.keyphraseForms.length,
|
|
20
|
+
functionWords: functionWords
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=keyphraseLength.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyphraseLength.js","names":["_default","paper","researcher","topicForms","getResearch","functionWords","getConfig","keyphraseLength","keyphraseForms","length"],"sources":["../../../src/languageProcessing/researches/keyphraseLength.js"],"sourcesContent":["/**\n * Determines the length in words of the keyphrase.\n *\n * @param {Paper} paper \t\t\tThe paper to research\n * @param {Researcher} researcher \tThe researcher to use for analysis\n *\n * @returns {Object} The length of the keyphrase and the function words list.\n */\nexport default function( paper, researcher ) {\n\tconst topicForms = researcher.getResearch( \"morphology\" );\n\tconst functionWords = researcher.getConfig( \"functionWords\" );\n\n\treturn {\n\t\tkeyphraseLength: topicForms.keyphraseForms.length,\n\t\tfunctionWords: functionWords,\n\t};\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAAA,SAAUC,KAAK,EAAEC,UAAU,EAAG;EAC5C,MAAMC,UAAU,GAAGD,UAAU,CAACE,WAAW,CAAE,YAAa,CAAC;EACzD,MAAMC,aAAa,GAAGH,UAAU,CAACI,SAAS,CAAE,eAAgB,CAAC;EAE7D,OAAO;IACNC,eAAe,EAAEJ,UAAU,CAACK,cAAc,CAACC,MAAM;IACjDJ,aAAa,EAAEA;EAChB,CAAC;AACF","ignoreList":[]}
|