├── .eslintrc ├── .gitignore ├── .npmignore ├── .prettierrc ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── build ├── build.js ├── emojis │ └── Emoji_Sentiment_Data_v1.0.csv ├── languages │ ├── AFINN-af.json │ ├── AFINN-am.json │ ├── AFINN-ar.json │ ├── AFINN-az.json │ ├── AFINN-be.json │ ├── AFINN-bg.json │ ├── AFINN-bn.json │ ├── AFINN-bs.json │ ├── AFINN-ca.json │ ├── AFINN-ceb.json │ ├── AFINN-co.json │ ├── AFINN-cs.json │ ├── AFINN-cy.json │ ├── AFINN-da.json │ ├── AFINN-de.json │ ├── AFINN-el.json │ ├── AFINN-en.json │ ├── AFINN-eo.json │ ├── AFINN-es.json │ ├── AFINN-et.json │ ├── AFINN-eu.json │ ├── AFINN-fa.json │ ├── AFINN-fi.json │ ├── AFINN-fr.json │ ├── AFINN-fy.json │ ├── AFINN-ga.json │ ├── AFINN-gd.json │ ├── AFINN-gl.json │ ├── AFINN-gu.json │ ├── AFINN-ha.json │ ├── AFINN-haw.json │ ├── AFINN-hi.json │ ├── AFINN-hmn.json │ ├── AFINN-hr.json │ ├── AFINN-ht.json │ ├── AFINN-hu.json │ ├── AFINN-hy.json │ ├── AFINN-id.json │ ├── AFINN-ig.json │ ├── AFINN-is.json │ ├── AFINN-it.json │ ├── AFINN-iw.json │ ├── AFINN-ja.json │ ├── AFINN-jw.json │ ├── AFINN-ka.json │ ├── AFINN-kk.json │ ├── AFINN-km.json │ ├── AFINN-kn.json │ ├── AFINN-ko.json │ ├── AFINN-ku.json │ ├── AFINN-ky.json │ ├── AFINN-la.json │ ├── AFINN-lb.json │ ├── AFINN-lo.json │ ├── AFINN-lt.json │ ├── AFINN-lv.json │ ├── AFINN-mg.json │ ├── AFINN-mi.json │ ├── AFINN-mk.json │ ├── AFINN-ml.json │ ├── AFINN-mn.json │ ├── AFINN-mr.json │ ├── AFINN-ms.json │ ├── AFINN-mt.json │ ├── AFINN-my.json │ ├── AFINN-ne.json │ ├── AFINN-nl.json │ ├── AFINN-no.json │ ├── AFINN-ny.json │ ├── AFINN-pa.json │ ├── AFINN-pl.json │ ├── AFINN-ps.json │ ├── AFINN-pt.json │ ├── AFINN-ro.json │ ├── AFINN-ru.json │ ├── AFINN-sd.json │ ├── AFINN-si.json │ ├── AFINN-sk.json │ ├── AFINN-sl.json │ ├── AFINN-sm.json │ ├── AFINN-sn.json │ ├── AFINN-so.json │ ├── AFINN-sq.json │ ├── AFINN-sr.json │ ├── AFINN-st.json │ ├── AFINN-su.json │ ├── AFINN-sv.json │ ├── AFINN-sw.json │ ├── AFINN-ta.json │ ├── AFINN-te.json │ ├── AFINN-tg.json │ ├── AFINN-th.json │ ├── AFINN-tl.json │ ├── AFINN-tr.json │ ├── AFINN-uk.json │ ├── AFINN-ur.json │ ├── AFINN-uz.json │ ├── AFINN-vi.json │ ├── AFINN-xh.json │ ├── AFINN-yi.json │ ├── AFINN-yo.json │ ├── AFINN-zh-tw.json │ ├── AFINN-zh.json │ ├── AFINN-zu.json │ ├── list.json │ └── negators │ │ ├── all.json │ │ └── index.js └── output │ ├── build-af.json │ ├── build-am.json │ ├── build-ar.json │ ├── build-az.json │ ├── build-be.json │ ├── build-bg.json │ ├── build-bn.json │ ├── build-bs.json │ ├── build-ca.json │ ├── build-ceb.json │ ├── build-co.json │ ├── build-cs.json │ ├── build-cy.json │ ├── build-da.json │ ├── build-de.json │ ├── build-el.json │ ├── build-en.json │ ├── build-eo.json │ ├── build-es.json │ ├── build-et.json │ ├── build-eu.json │ ├── build-fa.json │ ├── build-fi.json │ ├── build-fr.json │ ├── build-fy.json │ ├── build-ga.json │ ├── build-gd.json │ ├── build-gl.json │ ├── build-gu.json │ ├── build-ha.json │ ├── build-haw.json │ ├── build-hi.json │ ├── build-hmn.json │ ├── build-hr.json │ ├── build-ht.json │ ├── build-hu.json │ ├── build-hy.json │ ├── build-id.json │ ├── build-ig.json │ ├── build-is.json │ ├── build-it.json │ ├── build-iw.json │ ├── build-ja.json │ ├── build-jw.json │ ├── build-ka.json │ ├── build-kk.json │ ├── build-km.json │ ├── build-kn.json │ ├── build-ko.json │ ├── build-ku.json │ ├── build-ky.json │ ├── build-la.json │ ├── build-lb.json │ ├── build-lo.json │ ├── build-lt.json │ ├── build-lv.json │ ├── build-mg.json │ ├── build-mi.json │ ├── build-mk.json │ ├── build-ml.json │ ├── build-mn.json │ ├── build-mr.json │ ├── build-ms.json │ ├── build-mt.json │ ├── build-my.json │ ├── build-ne.json │ ├── build-nl.json │ ├── build-no.json │ ├── build-ny.json │ ├── build-pa.json │ ├── build-pl.json │ ├── build-ps.json │ ├── build-pt.json │ ├── build-ro.json │ ├── build-ru.json │ ├── build-sd.json │ ├── build-si.json │ ├── build-sk.json │ ├── build-sl.json │ ├── build-sm.json │ ├── build-sn.json │ ├── build-so.json │ ├── build-sq.json │ ├── build-sr.json │ ├── build-st.json │ ├── build-su.json │ ├── build-sv.json │ ├── build-sw.json │ ├── build-ta.json │ ├── build-te.json │ ├── build-tg.json │ ├── build-th.json │ ├── build-tl.json │ ├── build-tr.json │ ├── build-uk.json │ ├── build-ur.json │ ├── build-uz.json │ ├── build-vi.json │ ├── build-xh.json │ ├── build-yi.json │ ├── build-yo.json │ ├── build-zh-tw.json │ ├── build-zh.json │ └── build-zu.json ├── lib ├── index.js ├── tokenize.js └── utils.js ├── package-lock.json ├── package.json ├── test ├── benchmark │ ├── performance.js │ └── validate.js ├── fixtures │ ├── amazon.json │ ├── corpus.js │ ├── fuzz.js │ ├── imdb.json │ └── yelp.json ├── integration │ ├── async_a_misc.js │ ├── async_custom_tokens.js │ ├── async_negative.js │ ├── async_negative_text_and_emoji.js │ ├── async_negators.js │ ├── async_plurals.js │ ├── async_positive.js │ ├── async_positive_text_and_emoji.js │ ├── gh_12.js │ ├── gh_13.js │ ├── gh_85.js │ ├── sync_corpus.js │ ├── sync_fuzz.js │ ├── sync_inject.js │ ├── sync_negation.js │ ├── sync_negative.js │ ├── sync_negative_text_and_emoji.js │ ├── sync_positive.js │ ├── sync_positive_text_and_emoji.js │ └── sync_undefined.js └── unit │ ├── spec.js │ └── tokenize.js └── utils ├── arabic ├── bns-to-afinn.js ├── chi-to-afinn.js ├── data │ ├── AraHate-BNS.csv │ ├── AraHate-BNS.json │ ├── AraHate-CHI.csv │ ├── AraHate-CHI.json │ ├── AraHate-PMI.csv │ ├── AraHate-PMI.json │ └── AraHate-test.json ├── pmi-to-afinn.js ├── sentiment-benchmark.js └── utils.js └── export-supported-langs.js /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "curly": [2, "multi-line"], 4 | "eol-last": [2], 5 | "indent": [2, 2], 6 | "quotes": [2, "single"], 7 | "max-len": [2, 120, 4], 8 | "semi": [2, "always"], 9 | "strict": [2, "never"], 10 | "no-console": 0 11 | }, 12 | "parserOptions": { 13 | "ecmaVersion": 2018 14 | }, 15 | "env": { 16 | "node": true, 17 | "es6": true 18 | }, 19 | "extends": "eslint:recommended" 20 | } 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /* MacOS */ 2 | .DS_Store 3 | 4 | /* NPM */ 5 | /node_modules 6 | npm* 7 | 8 | /* Code Coverage */ 9 | coverage 10 | .nyc_output 11 | 12 | /* Other */ 13 | .notes.txt 14 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | /* MacOS */ 2 | .DS_Store 3 | 4 | /* NPM */ 5 | /node_modules 6 | npm* 7 | 8 | /* Code Coverage */ 9 | coverage 10 | .nyc_output 11 | 12 | /* Other */ 13 | .notes.txt 14 | /utils -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true 3 | } -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "stable" 5 | cache: 6 | directories: 7 | - node_modules -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Introduction 2 | 3 | Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. In that way, this project is more like a wiki than a standard guarded open source project. 4 | 5 | ## Rules 6 | 7 | There are a few basic ground-rules for contributors: 8 | 9 | 1. **No `--force` pushes** or modifying the Git history in any way. 10 | 1. **Non-master branches** ought to be used for ongoing work. 11 | 1. **External API changes and significant modifications** ought to be subject to an **internal pull-request** to solicit feedback from other contributors. 12 | 1. Internal pull-requests to solicit feedback are *encouraged* for any other non-trivial contribution but left to the discretion of the contributor. 13 | 1. Contributors should attempt to adhere to the prevailing code-style. 14 | 15 | ## Releases 16 | 17 | Declaring formal releases remains the prerogative of the project maintainer. 18 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2016 Andrew Sliwinski. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## multilang-sentiment 2 | #### Multi language AFINN-based sentiment analysis for Node.js 3 | 4 | [![Build Status](https://travis-ci.org/marcellobarile/multilang-sentiment.svg?branch=develop)](https://travis-ci.org/marcellobarile/multilang-sentiment) 5 | [![Coverage Status](https://coveralls.io/repos/github/marcellobarile/multilang-sentiment/badge.svg?branch=develop)](https://coveralls.io/github/marcellobarile/multilang-sentiment?branch=develop) 6 | 7 | Multilang Sentiment (fork of [Sentiment](https://github.com/thisandagain/sentiment)) is a Node.js module that uses the [AFINN-165](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6010) wordlists translated in multiple languages and [Emoji Sentiment Ranking](http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0144296) to perform [sentiment analysis](http://en.wikipedia.org/wiki/Sentiment_analysis) on arbitrary blocks of input text. Multilang Sentiment provides several things: 8 | 9 | - Performance (see benchmarks below) 10 | - The ability to append and overwrite word / value pairs from the AFINN wordlist or to use custom tokens 11 | - A build process that makes updating sentiment to future wordlists trivial 12 | 13 | ### Installation 14 | ```bash 15 | npm install multilang-sentiment 16 | ``` 17 | 18 | ### Usage 19 | ```javascript 20 | var sentiment = require('multilang-sentiment'); 21 | 22 | var r1 = sentiment('Cats are stupid.', 'en'); 23 | console.dir(r1); // Score: -2, Comparative: -0.666 24 | 25 | var r2 = sentiment('Cats are totally amazing!'); // "en" by default 26 | console.dir(r2); // Score: 4, Comparative: 1 27 | ``` 28 | 29 | ### Adding / overwriting words 30 | You can append and/or overwrite values from AFINN by simply injecting key/value pairs into a sentiment method call: 31 | ```javascript 32 | var sentiment = require('multilang-sentiment'); 33 | 34 | var result = sentiment('Cats are totally amazing!', 'en', { 35 | 'words': { 36 | 'cats': 5, 37 | 'amazing': 2 38 | } 39 | }); 40 | console.dir(result); // Score: 7, Comparative: 1.75 41 | ``` 42 | 43 | ### Passing custom tokens 44 | There are languages that might require specific tokenizators, such as chinese or arabic. 45 | In such a case you can pass your own tokens. 46 | 47 | ```javascript 48 | var sentiment = require('multilang-sentiment'); 49 | 50 | var tokens = ['世界','就','是','一个','疯子','的','囚笼']; 51 | var result = sentiment('世界就是一个疯子的囚笼', 'zh', { 52 | 'tokens': tokens 53 | }); 54 | console.dir(result); // Score: -3, Comparative: -0.43 55 | ``` 56 | 57 | --- 58 | 59 | ### How it works 60 | #### AFINN 61 | AFINN is a list of words rated for valence with an integer between minus five (negative) and plus five (positive). Sentiment analysis is performed by cross-checking the string tokens(words, emojis) with the AFINN list and getting their respective scores. The comparative score is simply: `sum of each token / number of tokens`. So for example let's take the following: 62 | 63 | `I love cats, but I am allergic to them.` 64 | 65 | That string results in the following: 66 | ```javascript 67 | { 68 | score: 1, 69 | comparative: 0.1111111111111111, 70 | tokens: [ { value: 'i', negate: false }, 71 | { value: 'love', negate: false }, 72 | { value: 'cats', negate: false }, 73 | { value: 'but', negate: false }, 74 | { value: 'i', negate: false }, 75 | { value: 'am', negate: false }, 76 | { value: 'allergic', negate: false }, 77 | { value: 'to', negate: false }, 78 | { value: 'them', negate: false } ], 79 | words: [ 80 | 'allergic', 81 | 'love' 82 | ], 83 | positive: [ 84 | 'love' 85 | ], 86 | negative: [ 87 | 'allergic' 88 | ] 89 | } 90 | ``` 91 | 92 | #### Supported languages 93 | "af","am","ar","az","be","bg","bn","bs","ca","ceb","co","cs","cy","da","de","el","en","eo","es","et","eu","fa","fi", 94 | "fr","fy","ga","gd","gl","gu","ha","haw","hi","hmn","hr","ht","hu","hy","id","ig","is","it","iw","ja","jw","ka","kk", 95 | "km","kn","ko","ku","ky","la","lb","lo","lt","lv","mg","mi","mk","ml","mn","mr","ms","mt","my","ne","nl","no","ny", 96 | "pa","pl","ps","pt","ro","ru","sd","si","sk","sl","sm","sn","so","sq","sr","st","su","sv","sw","ta","te","tg","th", 97 | "tl","tr","uk","ur","uz","vi","xh","yi","yo","zh-tw","zh","zu" 98 | 99 | * Returned Objects 100 | * __Score__: Score calculated by adding the sentiment values of recongnized words. 101 | * __Comparative__: Comparative score of the input string. 102 | * __Token__: All the tokens like words or emojis found in the input string. 103 | * __Words__: List of words from input string that were found in AFINN list. 104 | * __Positive__: List of postive words in input string that were found in AFINN list. 105 | * __Negative__: List of negative words in input string that were found in AFINN list. 106 | 107 | In this case, love has a value of 3, allergic has a value of -2, and the remaining tokens are neutral with a value of 0. Because the string has 9 tokens the resulting comparative score looks like: 108 | `(3 + -2) / 9 = 0.11` 109 | 110 | This approach leaves you with a mid-point of 0 and the upper and lower bounds are constrained to positive and negative 5 respectively (the same as each token! 😸). For example, let's imagine an incredibly "positive" string with 200 tokens and where each token has an AFINN score of 5. Our resulting comparative score would look like this: 111 | 112 | ``` 113 | (max positive score * number of tokens) / number of tokens 114 | (5 * 200) / 200 = 5 115 | ``` 116 | 117 | #### Tokenization 118 | Tokenization works by splitting the lines of input string, then removing the special characters, and finally splitting it using spaces. This is used to get list of words in the string. 119 | 120 | --- 121 | 122 | ### Benchmarks 123 | A primary motivation for designing `sentiment`, the forked module, was performance. As such, it includes a benchmark script within the test directory that compares it against the [Sentimental](https://github.com/thinkroth/Sentimental) module which provides a nearly equivalent interface and approach. Based on these benchmarks, running on a MacBook Pro with Node v6.9.1, `sentiment` is **twice as fast** as alternative implementations: 124 | 125 | ```bash 126 | sentiment (Latest) x 448,788 ops/sec ±1.02% (88 runs sampled) 127 | Sentimental (1.0.1) x 240,103 ops/sec ±5.13% (81 runs sampled) 128 | ``` 129 | 130 | To run the benchmarks yourself: 131 | ```bash 132 | make benchmark 133 | ``` 134 | 135 | --- 136 | 137 | ### Validation 138 | While the accuracy provided by AFINN is quite good considering it's computational performance (see above) there is always room for improvement. Therefore the `multilang-sentiment` module is open to accepting PRs which modify or amend the AFINN / Emoji datasets or implementation given that they improve accuracy and maintain similar performance characteristics. In order to establish this, we test the `multilang-sentiment` module against [three labelled datasets provided by UCI](https://archive.ics.uci.edu/ml/datasets/Sentiment+Labelled+Sentences). 139 | 140 | To run the validation tests yourself: 141 | ```bash 142 | make validate 143 | ``` 144 | 145 | #### Rand Accuracy (AFINN Only) 146 | ``` 147 | Amazon: 0.70 148 | IMDB: 0.76 149 | Yelp: 0.67 150 | ``` 151 | 152 | #### Rand Accuracy (AFINN + Additions) 153 | ``` 154 | Amazon: 0.72 (+2%) 155 | IMDB: 0.77 (+1%) 156 | Yelp: 0.70 (+3%) 157 | ``` 158 | 159 | --- 160 | 161 | ### Testing 162 | ```bash 163 | npm test 164 | ``` 165 | -------------------------------------------------------------------------------- /build/build.js: -------------------------------------------------------------------------------- 1 | var async = require('async'); 2 | var fs = require('fs'); 3 | var path = require('path'); 4 | 5 | // File paths 6 | var AFINN_PATH = path.resolve(__dirname, 'languages'); 7 | var EMOJI_PATH = path.resolve( 8 | __dirname, 9 | 'emojis/Emoji_Sentiment_Data_v1.0.csv' 10 | ); 11 | var RESULT_PATH = path.resolve(__dirname, 'output/build-{lang}.json'); 12 | 13 | /** 14 | * Read emoji data from original format (CSV). 15 | * @param {object} hash Result hash 16 | * @param {Function} callback Callback 17 | * @return {void} 18 | */ 19 | function processEmoji(hash, callback) { 20 | // Read file 21 | fs.readFile(EMOJI_PATH, 'utf8', function (err, data) { 22 | if (err) return callback(err); 23 | 24 | // Split data by new line 25 | data = data.split(/\n/); 26 | 27 | // Iterate over dataset and add to hash 28 | for (var i in data) { 29 | var line = data[i].split(','); 30 | 31 | // Validate line 32 | if (i == 0) continue; // Label 33 | if (line.length !== 9) continue; // Invalid 34 | 35 | // Establish sentiment value 36 | var emoji = String.fromCodePoint(line[1]); 37 | var occurences = line[2]; 38 | var negCount = line[4]; 39 | var posCount = line[6]; 40 | var score = posCount / occurences - negCount / occurences; 41 | var sentiment = Math.floor(5 * score); 42 | 43 | // Validate score 44 | if (Number.isNaN(sentiment)) continue; 45 | if (sentiment === 0) continue; 46 | 47 | // Add to hash 48 | hash[emoji] = { 49 | coeff: sentiment, 50 | lang: '*', 51 | }; 52 | } 53 | 54 | callback(null, hash); 55 | }); 56 | } 57 | 58 | /** 59 | * Read AFINN data from original format (TSV). 60 | * @param {object} hash Result hash 61 | * @param {Function} callback Callback 62 | * @return {void} 63 | */ 64 | function processAFINN(hash, callback) { 65 | var initialHash = Object.assign({}, hash); 66 | 67 | fs.readdirSync(AFINN_PATH).forEach(function (file) { 68 | if (file.indexOf('AFINN') < 0) { 69 | return; 70 | } 71 | 72 | var filePath = AFINN_PATH + '/' + file; 73 | var lang = file.match(/AFINN-(.*)\.json/); 74 | var langHash = Object.assign({}, initialHash); 75 | 76 | if (fs.lstatSync(filePath).isDirectory()) { 77 | return; 78 | } 79 | 80 | var jsonContent = JSON.parse(fs.readFileSync(filePath, 'utf8')); 81 | 82 | for (var i in jsonContent) { 83 | if (i.length > 1) { 84 | var index = i.toLowerCase(); 85 | var obj = { 86 | coeff: jsonContent[i], 87 | lang: lang[1], 88 | }; 89 | langHash[index] = obj; 90 | hash[index] = obj; 91 | } 92 | } 93 | 94 | var langHashStr = JSON.stringify(langHash).replace( 95 | /\s(?=([^"]*"[^"]*")*[^"]*$)/, 96 | '' 97 | ); 98 | 99 | fs.writeFile( 100 | RESULT_PATH.replace('{lang}', lang[1]), 101 | langHashStr, 102 | function (err) { 103 | if (err) return callback(err); 104 | } 105 | ); 106 | }); 107 | 108 | callback(null, hash); 109 | } 110 | 111 | // Execute build process 112 | async.waterfall( 113 | [ 114 | function (cb) { 115 | cb(null, {}); 116 | }, 117 | processEmoji, 118 | processAFINN, 119 | ], 120 | function (err, result) { 121 | if (err) throw new Error(err); 122 | process.stderr.write( 123 | 'Complete: ' + Object.keys(result).length + ' entries.\n' 124 | ); 125 | } 126 | ); 127 | -------------------------------------------------------------------------------- /build/languages/AFINN-is.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /build/languages/AFINN-mt.json: -------------------------------------------------------------------------------- 1 | { 2 | "aktar baxx": -1, 3 | "faċilità": 2, 4 | "qtil": -3, 5 | "raġun": 2, 6 | "validazzjoni": 1, 7 | "abbandunata": -2, 8 | "abbandunati": -2, 9 | "abbiltajiet": 2, 10 | "abbord": 1, 11 | "abbuż": -3, 12 | "abbużat": -3, 13 | "abbużi": -3, 14 | "abbużiv": -3, 15 | "abhor": -3, 16 | "abhorred": -3, 17 | "abhors": -3, 18 | "abortiti": -1, 19 | "aborts": -1, 20 | "absolves": 2, 21 | "aċċessibbli": 1, 22 | "aċċettabbli": 2, 23 | "aċċettati": 1, 24 | "aċċettazzjoni": 1, 25 | "aċċidentali": -2, 26 | "aċċidentalment": -2, 27 | "Accolade": 2, 28 | "accomplishes": 2, 29 | "acrimonious": -3, 30 | "adattat": 2, 31 | "adattati": 2, 32 | "adegwat": 1, 33 | "admires": 3, 34 | "admiring": 3, 35 | "adorable": 3, 36 | "adorazzjoni": 3, 37 | "adore": 3, 38 | "adored": 3, 39 | "adores": 3, 40 | "adoring": 3, 41 | "adoringly": 3, 42 | "affaxxinanti": 3, 43 | "affectionateness": 3, 44 | "affettiva": 3, 45 | "affettwati": -1, 46 | "affezzjoni": 3, 47 | "affidabbiltà": 2, 48 | "affidabbli": 2, 49 | "affordabbli": 2, 50 | "affronted": -1, 51 | "aficionados": 2, 52 | "aggravanti": -2, 53 | "aggravata": -2, 54 | "aggressivi": -2, 55 | "aggressività": -2, 56 | "aggressjoni": -2, 57 | "agħar": -3, 58 | "aghast": -2, 59 | "agog": 2, 60 | "agonises": -3, 61 | "agonize": -3, 62 | "agonized": -3, 63 | "agonizes": -3, 64 | "agonizing": -3, 65 | "aħjar": 3, 66 | "aħjar kkritikat": 4, 67 | "aħsel aħdar": -3, 68 | "akbar": 3, 69 | "akklamazzjoni": 2, 70 | "akkomplit": 2, 71 | "akkuża": -2, 72 | "akkużat": -2, 73 | "akkużati": -2, 74 | "akkużi": -2, 75 | "aktar intelliġenti": 2, 76 | "aktar nodfa": 2, 77 | "aktar sikuri": 2, 78 | "aktar skur": -2, 79 | "alarmists": -2, 80 | "Alas": -1, 81 | "aljenazzjoni": -2, 82 | "alla": 1, 83 | "allarm": -2, 84 | "allarmanti": -2, 85 | "allarmat": -2, 86 | "alleat": 2, 87 | "allegazzjoni": -2, 88 | "allegazzjonijiet": -2, 89 | "allerġika": -2, 90 | "altruisti": 2, 91 | "amaze": 2, 92 | "amazes": 2, 93 | "ambivalenti": -1, 94 | "ambizzjuż": 2, 95 | "amikevoli": 2, 96 | "ammessi": -1, 97 | "ammirajt": 3, 98 | "Amuse": 3, 99 | "amused": 3, 100 | "anfira": -2, 101 | "Angers": -3, 102 | "anguished": -3, 103 | "animosity": -2, 104 | "annoys": -2, 105 | "ansjetà": -2, 106 | "antagonista": -2, 107 | "anti": -1, 108 | "antiċipazzjoni": 1, 109 | "anzjuż": -2, 110 | "apathetic": -3, 111 | "apatija": -3, 112 | "apeshit": -3, 113 | "apocalyptic": -2, 114 | "apoloġija": -1, 115 | "apologizes": -1, 116 | "apologizing": -1, 117 | "appease": 2, 118 | "appeased": 2, 119 | "appeases": 2, 120 | "appeasing": 2, 121 | "applauding": 2, 122 | "applause": 2, 123 | "appoġġ": 2, 124 | "Appoġġjati": 1, 125 | "apprezzament": 2, 126 | "apprezzat": 2, 127 | "approvat": 2, 128 | "approvata": 2, 129 | "approvazzjoni": 2, 130 | "aqwa": 4, 131 | "Ara naqra": 4, 132 | "ardent": 1, 133 | "armel": -1, 134 | "armonija": 2, 135 | "armonjuż": 2, 136 | "arrek": -2, 137 | "arrest": -3, 138 | "arrestati": -3, 139 | "arresti": -2, 140 | "arroganti": -2, 141 | "arsehole": -4, 142 | "ashamed": -2, 143 | "assassini": -2, 144 | "assenti": -1, 145 | "assfucking": -4, 146 | "asshole": -4, 147 | "assi": 2, 148 | "assigurat": 1, 149 | "assigurati": 2, 150 | "assorbit": 1, 151 | "astonished": 2, 152 | "astound": 3, 153 | "astounded": 3, 154 | "astounds": 3, 155 | "atroċi": -3, 156 | "atrocity": -3, 157 | "attakk": -1, 158 | "attakkanti": -2, 159 | "attakkat": -1, 160 | "attakki": -1, 161 | "attirati": 1, 162 | "attiva": 1, 163 | "attraenti": 2, 164 | "attrazzjoni": 2, 165 | "attrazzjonijiet": 2, 166 | "audacious": 3, 167 | "Aura": 1, 168 | "avenged": -2, 169 | "avenger": -2, 170 | "avengers": -2, 171 | "avenges": -2, 172 | "Avenging": -2, 173 | "AVID": 2, 174 | "avvanzati": 1, 175 | "avventura": 2, 176 | "avventuri": 2, 177 | "avventuruża": 2, 178 | "avversarju": -1, 179 | "avvjament": 3, 180 | "awdaċi": 2, 181 | "awtoabbuż": -2, 182 | "Awto deluded": -2, 183 | "Awto kontradittorja": -2, 184 | "awtorità": 1, 185 | "awtur": -2, 186 | "awturi": -2, 187 | "axed": -1, 188 | "bad": -3, 189 | "badass": -3, 190 | "badness": -3, 191 | "bagħal": -5, 192 | "bamboozle": -2, 193 | "bamboozled": -2, 194 | "bamboozles": -2, 195 | "banish": -1, 196 | "bankster": -3, 197 | "baqgħu": -2, 198 | "baqgħu ħajjin": 2, 199 | "barbari": -2, 200 | "barbarian": -2, 201 | "bargain": 2, 202 | "barka": 3, 203 | "barriera": -2, 204 | "bastards": -5, 205 | "battalja": -1, 206 | "battalji": -1, 207 | "battled": -1, 208 | "battling": -2, 209 | "batut": -2, 210 | "bbenefikaw": 2, 211 | "bbojkottja": -2, 212 | "beatific": 3, 213 | "beauties": 3, 214 | "beautifully": 3, 215 | "befit": 2, 216 | "befitting": 2, 217 | "belittle": -2, 218 | "belittled": -2, 219 | "benefattur": 2, 220 | "benefatturi": 2, 221 | "benefiċċji": 2, 222 | "benefiċċju": 2, 223 | "benesseri": 2, 224 | "benevolenti": 3, 225 | "bereave": -2, 226 | "bereaved": -2, 227 | "bereaves": -2, 228 | "bereaving": -2, 229 | "betray": -3, 230 | "betrays": -3, 231 | "beżgħana": -2, 232 | "bħal": 2, 233 | "biki": -2, 234 | "bilanċjat": 1, 235 | "birreqqa": 2, 236 | "bittama": 2, 237 | "bitterest": -2, 238 | "bitterly": -2, 239 | "biża": 4, 240 | "biżżejjed": -2, 241 | "bla dar": -2, 242 | "bla difetti": 2, 243 | "Bla heda": 2, 244 | "bla nkwiet ta xejn": 1, 245 | "bla sens": -2, 246 | "bla snien": -2, 247 | "bla tama": -2, 248 | "bla waqfien": 2, 249 | "blackmailed": -3, 250 | "blackmails": -3, 251 | "blah": -2, 252 | "blames": -2, 253 | "bless": 2, 254 | "blesses": 2, 255 | "bliss": 3, 256 | "blissful": 3, 257 | "blithe": 2, 258 | "Blockbuster": 3, 259 | "blokk": -1, 260 | "blokki": -1, 261 | "blurry": -2, 262 | "boastful": -2, 263 | "bojkott": -2, 264 | "bojkotts": -2, 265 | "boldly": 2, 266 | "bomba": -1, 267 | "Bongu": 1, 268 | "bored": -2, 269 | "boring": -3, 270 | "bothered": -2, 271 | "bothers": -2, 272 | "brainwashing": -3, 273 | "brave": 2, 274 | "braveness": 2, 275 | "bravura": 3, 276 | "breakthrough": 3, 277 | "bribed": -3, 278 | "brillanti": 4, 279 | "brilliance": 3, 280 | "brilliances": 3, 281 | "brooding": -2, 282 | "brutali": -3, 283 | "brutalment": -3, 284 | "bugħawwieġ": -1, 285 | "buli": -2, 286 | "bullshit": -4, 287 | "bullying": -2, 288 | "Bummer": -2, 289 | "ċaħda": -2, 290 | "ċaħdiet": -2, 291 | "ċajt": 2, 292 | "calmed": 2, 293 | "calms": 2, 294 | "ċampjins": 2, 295 | "ċanfira": -2, 296 | "ċans": 2, 297 | "ċansijiet": 2, 298 | "captivated": 3, 299 | "ċara": 1, 300 | "carefulness": 2, 301 | "cares": 2, 302 | "ċarezza": 2, 303 | "cashing": -2, 304 | "ċċelebrat": 3, 305 | "ċelebrazzjoni": 3, 306 | "ċelebrazzjonijiet": 3, 307 | "censors": -2, 308 | "ċensurati": -2, 309 | "ċert": -1, 310 | "ċerti": 1, 311 | "chagrin": -2, 312 | "chagrined": -2, 313 | "champion": 2, 314 | "charisma": 2, 315 | "CHARM": 3, 316 | "charming": 3, 317 | "charmingly": 3, 318 | "charmless": -3, 319 | "chastise": -3, 320 | "chastised": -3, 321 | "chastises": -3, 322 | "chastising": -3, 323 | "cheater": -3, 324 | "cheats": -3, 325 | "cheer": 2, 326 | "cheered": 2, 327 | "cheerfully": 2, 328 | "cheering": 2, 329 | "cheerless": -2, 330 | "Cheers": 2, 331 | "cheery": 3, 332 | "cherishing": 2, 333 | "CHIC": 2, 334 | "chide": -3, 335 | "chided": -3, 336 | "chides": -3, 337 | "chiding": -3, 338 | "childish": -2, 339 | "ċifra inkredibbli": 3, 340 | "ċikatriċi": -2, 341 | "ċinika": -2, 342 | "ċitazzjoni": -2, 343 | "classy": 3, 344 | "clouded": -1, 345 | "clueless": -2, 346 | "cocksucker": -5, 347 | "cocksuckers": -5, 348 | "cocky": -2, 349 | "collides": -1, 350 | "comforting": 2, 351 | "comforts": 2, 352 | "conciliated": 2, 353 | "conciliates": 2, 354 | "conflictive": -2, 355 | "congrats": 2, 356 | "congratulation": 2, 357 | "congratulations": 2, 358 | "consolable": 2, 359 | "contagions": -2, 360 | "contemptible": -2, 361 | "contemptuously": -2, 362 | "convinces": 1, 363 | "cornered": -2, 364 | "correspondiente": 2, 365 | "corrupting": -3, 366 | "corrupts": -3, 367 | "courageousness": 2, 368 | "coverup": -3, 369 | "coward": -2, 370 | "ċowk": -2, 371 | "coziness": 2, 372 | "crappy": -3, 373 | "crazier": -2, 374 | "craziest": -2, 375 | "crazy": -2, 376 | "crestfallen": -2, 377 | "cried": -2, 378 | "cries": -2, 379 | "criminate": -3, 380 | "criminated": -3, 381 | "criminates": -3, 382 | "critique": -2, 383 | "crushes": -1, 384 | "cry": -1, 385 | "cunning": 2, 386 | "cunt": -5, 387 | "cutback": -2, 388 | "cutbacks": -2, 389 | "cynic": -2, 390 | "cynicism": -2, 391 | "daħka": 2, 392 | "Damned": -4, 393 | "danni": -3, 394 | "daqqa": -2, 395 | "daqqiet": -2, 396 | "darba inaħajja": 3, 397 | "Daredevil": 2, 398 | "dauntless": 2, 399 | "ddestinat": -2, 400 | "ddisprata": -3, 401 | "ddubitat": -1, 402 | "deadening": -2, 403 | "deafening": -1, 404 | "dearly": 3, 405 | "debonair": 2, 406 | "dedikat": 2, 407 | "dedikazzjoni": 2, 408 | "defeated": -2, 409 | "Defiant": -1, 410 | "defiċit": -2, 411 | "defiċjenti": -2, 412 | "defiċjenza": -2, 413 | "deformat": -2, 414 | "deformità": -2, 415 | "deformitajiet": -2, 416 | "defrauds": -3, 417 | "deft": 2, 418 | "defunct": -2, 419 | "degradat": -2, 420 | "deheb": 2, 421 | "dehumanize": -2, 422 | "dehumanized": -2, 423 | "dehumanizes": -2, 424 | "dehumanizing": -2, 425 | "deject": -2, 426 | "dejected": -2, 427 | "dejecting": -2, 428 | "dejects": -2, 429 | "dejn": -2, 430 | "delectable": 3, 431 | "Delicious": 3, 432 | "delight": 3, 433 | "delightful": 3, 434 | "delighting": 3, 435 | "Delights": 3, 436 | "delitti": -3, 437 | "demoralize": -2, 438 | "demoralized": -2, 439 | "demoralizes": -2, 440 | "demoralizzanti": -2, 441 | "deni": -2, 442 | "denier": -2, 443 | "deniers": -2, 444 | "denja": 2, 445 | "denti": -2, 446 | "deportati": -2, 447 | "deportazzjoni": -2, 448 | "deportazzjonijiet": -2, 449 | "deports": -2, 450 | "depressi": -2, 451 | "deprimenti": -2, 452 | "derail": -2, 453 | "derails": -2, 454 | "deride": -2, 455 | "derided": -2, 456 | "derides": -2, 457 | "deriding": -2, 458 | "derision": -2, 459 | "despairing": -3, 460 | "despairs": -3, 461 | "despondent": -3, 462 | "detached": -1, 463 | "detenuti": -2, 464 | "detenzjoni": -2, 465 | "determinanti": 1, 466 | "determinati": 2, 467 | "deterrenti": -2, 468 | "devastanti": -2, 469 | "devastate": -2, 470 | "devastations": -2, 471 | "devastazzjoni": -2, 472 | "devotional": 2, 473 | "devozzjoni": 2, 474 | "dewmien": -1, 475 | "dgħajfa": -2, 476 | "dgħjufija": -2, 477 | "dhur": 1, 478 | "Dick": -4, 479 | "dickhead": -4, 480 | "die": -3, 481 | "dieqa": -3, 482 | "difensur": 2, 483 | "difensuri": 2, 484 | "difett": -2, 485 | "difetti": -2, 486 | "difettuż": -3, 487 | "diffiċli": -1, 488 | "diffident": -2, 489 | "difiża": -2, 490 | "dikjarazzjoni żejda": -2, 491 | "dikjarazzjonijiet żejda": -2, 492 | "dilemma": -1, 493 | "dilligence": 2, 494 | "dimenzja": -3, 495 | "dimostranti": -2, 496 | "dimostrazzjoni": -1, 497 | "dinjità": 2, 498 | "dipendenti": 2, 499 | "dipshit": -3, 500 | "diqa": -2, 501 | "dire": -3, 502 | "direful": -3, 503 | "direzzjoni ttajba": 3, 504 | "dirtier": -2, 505 | "dirtiest": -2, 506 | "disapprovals": -2, 507 | "disbelieve": -2, 508 | "disconsolate": -2, 509 | "disconsolation": -2, 510 | "discontented": -2, 511 | "disfunzjoni": -2, 512 | "disgrace": -2, 513 | "disgraced": -2, 514 | "disgust": -3, 515 | "disgusted": -3, 516 | "disgustful": -3, 517 | "disgusting": -3, 518 | "disheartened": -2, 519 | "disinclined": -2, 520 | "diskriminanti": -2, 521 | "diskriminati": -2, 522 | "diskriminatorji": -2, 523 | "dislike": -2, 524 | "dislikes": -2, 525 | "disoriented": -2, 526 | "disparaged": -2, 527 | "disparaging": -2, 528 | "disperazzjoni": -2, 529 | "dispjaċir": -2, 530 | "displeased": -2, 531 | "displeasure": -2, 532 | "disprament": -3, 533 | "disprezz": -2, 534 | "disrespected": -2, 535 | "distasteful": -2, 536 | "distinti": 2, 537 | "distorsjoni": -2, 538 | "distorta": -2, 539 | "distracted": -2, 540 | "distracts": -2, 541 | "distrazzjoni": -2, 542 | "distresses": -2, 543 | "distrustful": -3, 544 | "distruttivi": -3, 545 | "disturb": -2, 546 | "disturbat": -2, 547 | "Disturbi": -2, 548 | "dithering": -2, 549 | "divertenti": 2, 550 | "divertiment": 3, 551 | "dixxerniment": 2, 552 | "diżabilità": -2, 553 | "diżabilitajiet": -2, 554 | "diżapprovazzjoni": -2, 555 | "diżappunt": -2, 556 | "diżappuntanti": -2, 557 | "diżappuntat": -2, 558 | "diżappunti": -2, 559 | "diżastri": -2, 560 | "diżastru": -2, 561 | "diżastruż": -3, 562 | "diżastruża": -2, 563 | "diżgrazzja": -2, 564 | "diżgustanti": -3, 565 | "diżillużi": -2, 566 | "diżonest": -2, 567 | "diżorganizzata": -2, 568 | "diżrispett": -2, 569 | "djamant": 1, 570 | "dlam": -1, 571 | "dnub": -2, 572 | "dnubiet": -2, 573 | "dodging": -2, 574 | "dodgy": -2, 575 | "dolorous": -2, 576 | "domanda": -1, 577 | "donat": 2, 578 | "donates": 2, 579 | "donazzjoni": 2, 580 | "dont simili": -2, 581 | "doom": -2, 582 | "douche": -3, 583 | "douchebag": -3, 584 | "dour": -2, 585 | "downcast": -2, 586 | "downer": -2, 587 | "downhearted": -2, 588 | "drag": -1, 589 | "drags": -1, 590 | "dread": -2, 591 | "dreaded": -2, 592 | "dreading": -2, 593 | "dreary": -2, 594 | "dritti": 1, 595 | "droopy": -2, 596 | "drown": -2, 597 | "drowns": -2, 598 | "drudgery": -2, 599 | "dubji": -1, 600 | "dubju": -1, 601 | "dubjuż": -1, 602 | "dubjuża": -2, 603 | "dubjużi": -2, 604 | "Dud": -2, 605 | "dump": -1, 606 | "dupe": -2, 607 | "dupery": -2, 608 | "durabbli": 2, 609 | "dwejjaq": -2, 610 | "ebda": -1, 611 | "ebda gost": -3, 612 | "eċċellenti": 3, 613 | "eċċellenza": 3, 614 | "eċċitament": 3, 615 | "eċċitanti": 3, 616 | "eċċitati": 3, 617 | "eċitati": 3, 618 | "ecstatic": 4, 619 | "edukat": 2, 620 | "eerie": -2, 621 | "eery": -2, 622 | "effett sekondarju": -2, 623 | "effetti sekondarji": -2, 624 | "effettiv": 2, 625 | "effettività": 2, 626 | "egoist": -3, 627 | "egoiżmu": -3, 628 | "elated": 3, 629 | "elation": 3, 630 | "eleganti": 2, 631 | "elegantly": 2, 632 | "embarras": -2, 633 | "embarrassed": -2, 634 | "embarrasses": -2, 635 | "embittered": -2, 636 | "emerġenza": -2, 637 | "empathetic": 2, 638 | "empowerment": 2, 639 | "Enchanted": 2, 640 | "endorsjar": 2, 641 | "enerġetika": 2, 642 | "enfasizzat": -2, 643 | "engrossed": 1, 644 | "engrossing": 3, 645 | "ennui": -2, 646 | "enormi": 1, 647 | "enrage": -2, 648 | "enraged": -2, 649 | "enrages": -2, 650 | "enraging": -2, 651 | "enrapture": 3, 652 | "enslave": -2, 653 | "enslaved": -2, 654 | "enslaves": -2, 655 | "enthrall": 3, 656 | "entużjasti": 3, 657 | "envies": -1, 658 | "envious": -2, 659 | "envying": -1, 660 | "eroj": 2, 661 | "ErrorUndefined": 2, 662 | "ErrorWithTranslation": 3, 663 | "esaġerata": -2, 664 | "esklussiva": 2, 665 | "esklużi": -2, 666 | "esklużjoni": -1, 667 | "esplorazzjoni": 1, 668 | "esplorazzjonijiet": 1, 669 | "esposti": -1, 670 | "esteem": 2, 671 | "estremisti": -2, 672 | "etika": 2, 673 | "étonné": 2, 674 | "evacuates": -1, 675 | "evakwati": -1, 676 | "evakwazzjoni": -1, 677 | "Evergreen": 2, 678 | "evergreening": -3, 679 | "evergreens": 2, 680 | "evitat": -1, 681 | "evitati": -1, 682 | "Evviva": 5, 683 | "ewforija": 3, 684 | "ewforika": 4, 685 | "exasparate": -2, 686 | "exasperated": -2, 687 | "exasperates": -2, 688 | "exasperating": -2, 689 | "excruciatingly": -1, 690 | "exhilarated": 3, 691 | "exhilarates": 3, 692 | "exhilarating": 3, 693 | "expertly": 2, 694 | "exquisite": 3, 695 | "exultant": 3, 696 | "exultantly": 3, 697 | "eżawriti": -2, 698 | "eżenti": -1, 699 | "eżiġenti": -1, 700 | "eżonerat": 2, 701 | "eżuberanti": 4, 702 | "fabulous": 4, 703 | "fabulously": 4, 704 | "faċilità": 2, 705 | "faċli": 1, 706 | "fad": -2, 707 | "fag": -3, 708 | "faggot": -3, 709 | "faħħar": 3, 710 | "fainthearted": 2, 711 | "faker": -2 712 | } -------------------------------------------------------------------------------- /build/languages/AFINN-my.json: -------------------------------------------------------------------------------- 1 | { 2 | "\"t ရပ်တည်ချက်နိုင်": -3, 3 | "့မှုသည်": -1, 4 | "aborts": -1, 5 | "absolve": 2, 6 | "absolved": 2, 7 | "absolves": 2, 8 | "absolving": 2, 9 | "acquitting": 2, 10 | "acrimonious": -3, 11 | "Admiral": 3, 12 | "adored": 3, 13 | "adoringly": 3, 14 | "Adventures": 2, 15 | "aghast": -2, 16 | "agog": 2, 17 | "agonises": -3, 18 | "agonize": -3, 19 | "agonized": -3, 20 | "agonizes": -3, 21 | "agonizing": -3, 22 | "alarmist": -2, 23 | "alarmists": -2, 24 | "alas": -1, 25 | "Amazing": 2, 26 | "ambivalent": -1, 27 | "apeshit": -3, 28 | "Apocalyptic": -2, 29 | "ardent": 1, 30 | "arsehole": -4, 31 | "assfucking": -4, 32 | "astoundingly": 3, 33 | "aura": 1, 34 | "Avenged": -2, 35 | "Avengers": -2, 36 | "axed": -1, 37 | "badass": -3, 38 | "bamboozle": -2, 39 | "bamboozled": -2, 40 | "bamboozles": -2, 41 | "bankster": -3, 42 | "bastards": -5, 43 | "bitterest": -2, 44 | "blackmailed": -3, 45 | "blackmailing": -3, 46 | "blah": -2, 47 | "blithe": 2, 48 | "Blockbuster": 3, 49 | "bravura": 3, 50 | "bribing": -3, 51 | "Brilliance": 3, 52 | "brooding": -2, 53 | "bullshit": -4, 54 | "buoyant": 2, 55 | "burdening": -2, 56 | "Cancel": -1, 57 | "CARE": 2, 58 | "charmingly": 3, 59 | "charmless": -3, 60 | "cheater": -3, 61 | "cheaters": -3, 62 | "cheery": 3, 63 | "cherishing": 2, 64 | "chic": 2, 65 | "chided": -3, 66 | "chiding": -3, 67 | "chilling": -1, 68 | "classy": 3, 69 | "clueless": -2, 70 | "cocksucker": -5, 71 | "cocksuckers": -5, 72 | "cocky": -2, 73 | "colluding": -3, 74 | "commit များသည်": 1, 75 | "conciliating": 2, 76 | "console": 2, 77 | "convivial": 2, 78 | "cornered": -2, 79 | "crappy": -3, 80 | "crazier": -2, 81 | "crestfallen": -2, 82 | "Crush": -1, 83 | "cunt": -5, 84 | "Damn it": -4, 85 | "daredevil": 2, 86 | "dauntless": 2, 87 | "dazzling": 3, 88 | "deadening": -2, 89 | "deadlock": -2, 90 | "debonair": 2, 91 | "deferring": -1, 92 | "deft": 2, 93 | "dehumanize": -2, 94 | "dehumanized": -2, 95 | "dejecting": -2, 96 | "delightfully": 3, 97 | "demoralized": -2, 98 | "demoralizes": -2, 99 | "denier": -2, 100 | "deniers": -2, 101 | "denounces": -2, 102 | "deplore": -3, 103 | "deplores": -3, 104 | "deploring": -3, 105 | "depressing": -2, 106 | "deride": -2, 107 | "derided": -2, 108 | "derides": -2, 109 | "deriding": -2, 110 | "detract": -1, 111 | "detracted": -1, 112 | "detracts": -1, 113 | "dickhead": -4, 114 | "diffident": -2, 115 | "dilligence": 2, 116 | "dipshit": -3, 117 | "dirtier": -2, 118 | "dirtiest": -2, 119 | "disbelieve": -2, 120 | "disconsolate": -2, 121 | "disconsolation": -2, 122 | "disinclined": -2, 123 | "disjointed": -2, 124 | "disrespected": -2, 125 | "Distort": -2, 126 | "dithering": -2, 127 | "dodging": -2, 128 | "douche": -3, 129 | "dour": -2, 130 | "downer": -2, 131 | "Drag": -1, 132 | "dreading": -2, 133 | "droopy": -2, 134 | "drudgery": -2, 135 | "dud": -2, 136 | "Dumps": -1, 137 | "dupe": -2, 138 | "duped": -2, 139 | "dupery": -2, 140 | "ecstatic": 4, 141 | "Edgar မှာ": -2, 142 | "embittered": -2, 143 | "ennui": -2, 144 | "enrage": -2, 145 | "enrapture": 3, 146 | "enthrall": 3, 147 | "ErrorUndefined": -2, 148 | "exacerbates": -2, 149 | "exasparate": -2, 150 | "excruciatingly": -1, 151 | "exonerate": 2, 152 | "exonerated": 2, 153 | "exonerates": 2, 154 | "exonerating": 2, 155 | "Expand": 1, 156 | "exploit": -2, 157 | "exuberant": 4, 158 | "exultantly": 3, 159 | "fag": -3, 160 | "fagot": -3, 161 | "fagots": -3, 162 | "faker": -3, 163 | "FARC": -1, 164 | "fascinate": 3, 165 | "favourited": 2, 166 | "fervid": 2, 167 | "fiasco": -3, 168 | "fidgety": -2, 169 | "flustered": -2, 170 | "fraudster": -4, 171 | "fraudsters": -4, 172 | "frikin": -2, 173 | "frisky": 2, 174 | "fruitless": -2, 175 | "ftw": 3, 176 | "fuck ဆိုတဲ့": -4, 177 | "fuck ဆိုတဲ့ကြီးမြတ်": 4, 178 | "fuck ဆိုတဲ့ကောင်းသော": 4, 179 | "fuck ဆိုတဲ့ချစ်ခြင်းမေတ္တာ": 4, 180 | "fuck ဆိုတဲ့ချစ်စရာ": 4, 181 | "fuck ဆိုတဲ့စိတ်ကူး": 4, 182 | "fuck ဆိုတဲ့စုံလင်သော": 4, 183 | "fuck ဆိုတဲ့မေတ္တာ": 4, 184 | "fuck ဆိုတဲ့လှပတဲ့": 4, 185 | "fuck ဆိုတဲ့အံ့သြဖွယ်": 4, 186 | "fuckers": -4, 187 | "fuckface": -4, 188 | "fuckhead": -4, 189 | "fuckin": -4, 190 | "fucktard": -4, 191 | "fud": -3, 192 | "fuked": -4, 193 | "fuking": -4, 194 | "fuming": -2, 195 | "gag": -2, 196 | "gagged": -2, 197 | "Gallant": 3, 198 | "gallantly": 3, 199 | "Gallantry": 3, 200 | "genial": 3, 201 | "ghastly": -2, 202 | "Glamour": 3, 203 | "gleeful": 3, 204 | "glum": -2, 205 | "goddamn": -3, 206 | "godsend": 4, 207 | "greenwash": -3, 208 | "greenwasher": -3, 209 | "greenwashers": -3, 210 | "greenwashing": -3, 211 | "gripping": 2, 212 | "grisly": -2, 213 | "groaned": -2, 214 | "hacked": -1, 215 | "hahaha": 3, 216 | "hahahah": 3, 217 | "hardier": 2, 218 | "Hardy": 2, 219 | "Harry": -2, 220 | "harshest": -2, 221 | "heavyhearted": -2, 222 | "hehe": 2, 223 | "Hilary": 2, 224 | "Hooligans": -2, 225 | "horrid": -3, 226 | "huckster": -2, 227 | "humbug": -2, 228 | "humerous": 3, 229 | "hurray": 5, 230 | "icky": -3, 231 | "idiocy": -3, 232 | "imbecile": -3, 233 | "impairing": -2, 234 | "impedance": -2, 235 | "impedingly": -2, 236 | "imposter": -2, 237 | "incapacitated": -2, 238 | "incapacitates": -2, 239 | "incapacitating": -2, 240 | "incensing": -2, 241 | "incoherent": -2, 242 | "indestructible": 2, 243 | "indoctrinate": -2, 244 | "indoctrinated": -2, 245 | "indoctrinates": -2, 246 | "indoctrinating": -2, 247 | "inediable": -2, 248 | "ineffectual": -2, 249 | "ineptitude": -2, 250 | "inexcusable": -3, 251 | "infesting": -2, 252 | "infracting": -2, 253 | "infuriated": -2, 254 | "infuriates": -2, 255 | "infuriating": -2, 256 | "inoperative": -2, 257 | "Inspiration": 2, 258 | "irate": -3, 259 | "irreparable": -2, 260 | "irreproducible": -2, 261 | "irresistibly": 2, 262 | "irresolute": -2, 263 | "Irritable": -3, 264 | "Jackass": -4, 265 | "jaunty": 2, 266 | "jesus": 1, 267 | "jocular": 2, 268 | "jolly": 2, 269 | "jovial": 2, 270 | "joyless": -2, 271 | "jumpy": -1, 272 | "kickback": -3, 273 | "kickbacks": -3, 274 | "kudos": 3, 275 | "lackadaisical": -2, 276 | "laughting": 1, 277 | "lawl": 3, 278 | "lethargic": -2, 279 | "lethargy": -2, 280 | "likable": 2, 281 | "like နှိပ်": 2, 282 | "likeable": 2, 283 | "likers": 2, 284 | "litigious": -2, 285 | "lmao": 4, 286 | "lmfao": 4, 287 | "lobbyist": -2, 288 | "lobbyists": -2, 289 | "lolol": 4, 290 | "lololol": 4, 291 | "lolololol": 4, 292 | "lonesome": -2, 293 | "lool": 3, 294 | "loool": 3, 295 | "looool": 3, 296 | "lugubrious": -2, 297 | "macabre": -2, 298 | "maddening": -3, 299 | "madly": -3, 300 | "maladaption": -2, 301 | "maldevelopment": -2, 302 | "Melancholie": -2, 303 | "menaced": -2, 304 | "messed": -2, 305 | "mirthfully": 3, 306 | "misbehave": -2, 307 | "misbehaved": -2, 308 | "misbehaves": -2, 309 | "misbehaving": -2, 310 | "misbranding": -3, 311 | "miscast": -2, 312 | "misclassified": -2, 313 | "misclassifies": -2, 314 | "misclassify": -2, 315 | "misconducted": -2, 316 | "misfire": -2, 317 | "misgiving": -2, 318 | "misplacing": -2, 319 | "mispricing": -3, 320 | "misreport": -2, 321 | "misreported": -2, 322 | "misreporting": -2, 323 | "misreports": -2, 324 | "mongering": -2, 325 | "mope": -1, 326 | "moping": -1, 327 | "motherfucker": -5, 328 | "motherfucking": -5, 329 | "mumpish": -2, 330 | "n00b": -2, 331 | "narcissism": -2, 332 | "nifty": 2, 333 | "niggas": -5, 334 | "nigger": -5, 335 | "Nonအတည်ပြု": -2, 336 | "obnoxious": -3, 337 | "oks": 2, 338 | "optionless": -2, 339 | "ostracize": -2, 340 | "outmaneuvered": -2, 341 | "overprotective": -2, 342 | "overreacted": -2, 343 | "overreacting": -2, 344 | "oversell": -2, 345 | "overselling": -2, 346 | "oversells": -2, 347 | "oversimplification": -2, 348 | "oversimplified": -2, 349 | "oversimplifies": -2, 350 | "oversimplify": -2, 351 | "oversold": -2, 352 | "overwrought": -3, 353 | "oxymoron": -1, 354 | "parley": -1, 355 | "pensive": -1, 356 | "petrified": -2, 357 | "phobic": -2, 358 | "pileup": -1, 359 | "pique": -2, 360 | "piqued": -2, 361 | "piteous": -2, 362 | "plodding": -2, 363 | "Postစိတ်ထိခိုက်": -2, 364 | "prblm": -2, 365 | "prblms": -2, 366 | "protected": 1, 367 | "pseudoscience": -3, 368 | "rant": -3, 369 | "ranter": -3, 370 | "ranters": -3, 371 | "rants": -3, 372 | "raptured": 2, 373 | "refreshingly": 2, 374 | "reprimanding": -2, 375 | "resolution ကို": 2, 376 | "restore": 1, 377 | "restore ပြန်": 1, 378 | "revival": 2, 379 | "riveting": 3, 380 | "rofl": 4, 381 | "roflcopter": 4, 382 | "roflmao": 4, 383 | "Romantic": 2, 384 | "rotfl": 4, 385 | "rotflmfao": 4, 386 | "rotflol": 4, 387 | "sappy": -1, 388 | "scam များနဲ့": -2, 389 | "scum": -3, 390 | "scumbag": -4, 391 | "seditious": -2, 392 | "Selfဆနျ့ကငျြ": -2, 393 | "Selfတက်လာ": -2, 394 | "Selfယုံကြည်ပါတယ်": 2, 395 | "Selfအလွဲသုံးမှု": -2, 396 | "sexy": 3, 397 | "shared": 1, 398 | "shit": -4, 399 | "shithead": -4, 400 | "shitty": -3, 401 | "shoody": -2, 402 | "shrew": -4, 403 | "sincerest": 2, 404 | "singleminded": -2, 405 | "slick": 2, 406 | "slickest": 2, 407 | "slumping": -1, 408 | "slut": -5, 409 | "sneaky": -1, 410 | "snub": -2, 411 | "snubbing": -2, 412 | "snubs": -2, 413 | "solidifies": 2, 414 | "solidifying": 2, 415 | "soothed": 3, 416 | "soothing": 3, 417 | "Spam တွေကို": -3, 418 | "spam ဖြန်": -2, 419 | "Spam များကို": -2, 420 | "spammer တွေက": -3, 421 | "sparkle တွေ": 3, 422 | "sparkling": 3, 423 | "spiritless": -2, 424 | "sprightly": 2, 425 | "squelched": -1, 426 | "Stampeders": -2, 427 | "starved": -2, 428 | "starves": -2, 429 | "stereotyped": -2, 430 | "stingy": -2, 431 | "stinked": -2, 432 | "stinker": -2, 433 | "stinky": -2, 434 | "stupidly": -2, 435 | "suave": 2, 436 | "sueing": -2, 437 | "sulky": -2, 438 | "tard": -2, 439 | "tits": -2, 440 | "toothless": -2, 441 | "tremulous": -2, 442 | "trolls": -2, 443 | "twat": -5, 444 | "tyran": -3, 445 | "tyrans": -3, 446 | "ugh": -2, 447 | "unappeasable": -2, 448 | "unappreciated": -2, 449 | "unavailing": -2, 450 | "unconvinced": -1, 451 | "uncredited": -1, 452 | "undecided": -1, 453 | "undercooked": -2, 454 | "undermines": -2, 455 | "underperform": -2, 456 | "underperforming": -2, 457 | "underperforms": -2, 458 | "uneventful": -2, 459 | "unfocused": -2, 460 | "unfunny": -2, 461 | "ungenerous": -2, 462 | "unhygienic": -2, 463 | "unimpressed": -2, 464 | "uninspired": -2, 465 | "uninvolving": -2, 466 | "unmotivated": -2, 467 | "unoriginal": -2, 468 | "unparliamentary": -2, 469 | "unreleting": -2, 470 | "unresearched": -2, 471 | "unscientific": -2, 472 | "unsophisticated": -2, 473 | "untarnished": 2, 474 | "uptight": -2, 475 | "validation": 1, 476 | "vapid": -2, 477 | "victimize": -3, 478 | "Victor": 3, 479 | "vitriolic": -3, 480 | "vivacious": 3, 481 | "vociferous": -1, 482 | "walkouts": -2, 483 | "wanker": -3, 484 | "wavering": -1, 485 | "welcome": 2, 486 | "whimsical": 1, 487 | "winwin": 3, 488 | "woebegone": -2, 489 | "woohoo": 3, 490 | "wooo": 4, 491 | "woow": 4, 492 | "wowow": 4, 493 | "wowww": 4, 494 | "wtf": -4, 495 | "wtff": -4, 496 | "wtfff": -4, 497 | "XO": 3, 498 | "xoxo": 3, 499 | "xoxoxo": 4, 500 | "xoxoxoxo": 4, 501 | "yeah": 1, 502 | "yeees": 2, 503 | "yucky": -2, 504 | "yummy": 3, 505 | "ကံကောင်းခြင်း": 3, 506 | "ကံကောင်းစွာ": 2, 507 | "ကံကောင်းတာ": 3, 508 | "ကံကောင်းသော": 2, 509 | "ကံဆိုးရှာ": -2, 510 | "ကံမကောင်း": -2, 511 | "ကကြိုဆို": 2, 512 | "ကင်ဆာ": -1, 513 | "ကတိ": 1, 514 | "ကတိကဝတ်": 2, 515 | "ကတိတော်": 1, 516 | "ကတိထားတော်": 1, 517 | "ကတိသစ္စာပြု": 1, 518 | "ကန့်ကွက်": -2, 519 | "ကန့်ကွက်ခြင်း": -2, 520 | "ကန့်သတ်": -2, 521 | "ကန့်သတ်ချက်": -1, 522 | "ကပ်ဘေးဆိုင်ရာ": -4, 523 | "ကပ်ဘေးဒုက္ခ": -3, 524 | "ကပ်ရောဂါ": -3, 525 | "ကမကောင်းဘူး": -3, 526 | "ကမောက်ကမ": -2, 527 | "ကမောက်ကမဖြစ်မှု": -2, 528 | "ကမောက်ကမဖြစ်သော": -2, 529 | "ကယျတငျခွငျးငှာ": -2, 530 | "ကယျတငျတျောမူခွငျး": 2, 531 | "ကယ်ဆယ်": -1, 532 | "ကယ်တင်ခြင်းသို့ရောက်သော": 2, 533 | "ကျခြင်း": -2, 534 | "ကျင့်ဝတ်": 2, 535 | "ကျင်းပ": 3, 536 | "ကျဆင်း": -1, 537 | "ကျဆင်းသွား": -1, 538 | "ကျန်းမာရေးကဏ္ဍများတွင်": -2, 539 | "ကျန်းမာသော": 2, 540 | "ကျန်ရစ်": -2, 541 | "ကျန်ရစ်သူ": 2, 542 | "ကျပ်မပြည့်သူ": -3, 543 | "ကျဘက်ကို": -2, 544 | "ကျမ်းသစ္စာကျိန်ဆို": -2, 545 | "ကျယ်ဝန်း": 1, 546 | "ကျရောက်စေ": -2, 547 | "ကျြောစောခွငျး": 1, 548 | "ကျြောစောသော": 2, 549 | "ကျိန် ဆို. ပူဇော်": 3, 550 | "ကျိန်စာ": -1, 551 | "ကျိန်ဆို": -2, 552 | "ကျိန်ဆဲ": -2, 553 | "ကျိုးပဲ့သော": -1, 554 | "ကျီစယ်": -2, 555 | "ကျူးလွန်": 1, 556 | "ကျေးဇူးတင်": 3, 557 | "ကျေးဇူးပြု": 1, 558 | "ကျေနပ်": 3, 559 | "ကျော": 1, 560 | "ကျောက်အိုးတို့ကို": -2, 561 | "ကျောချမ်းဖွယ်": -2, 562 | "ကျောထောက်နောက်ခံ": 2, 563 | "ကျောထောက်နောက်ခံပြု": 1, 564 | "ကျော်ကြားမှု": 3, 565 | "ကျွန်": -3, 566 | "ကျွန်ခံနေရာ": -3, 567 | "ကျွန်မတို့ကိုတောင်းပန်ပြီး": -1, 568 | "ကျွမ်းကျင်စွာ": 2, 569 | "ကရုဏာ": 2, 570 | "ကရုဏာရှိသော": 2, 571 | "ကြံ့": -2, 572 | "ကြက်": -5, 573 | "ကြင်နာတက်": 2, 574 | "ကြင်နာမှု": 2, 575 | "ကြည့်ကောင်းသော": 3, 576 | "ကြည်ညို": 3, 577 | "ကြည်ညိုဘွယ်ကောင်းသော": 3, 578 | "ကြမ္မာငင်": -2, 579 | "ကြမ်းကြုတ်သော": -2, 580 | "ကြမ်းတမ်းစွာ": -2, 581 | "ကြမ်းသော": -2, 582 | "ကြှနျ": -2, 583 | "ကြားဖြတ်": -2, 584 | "ကြားဖြတ်ခြင်း": -2, 585 | "ကြားဝိုင်းကြဉ်": -2, 586 | "ကြာရှည်ခံသော": 2, 587 | "ကြိတ်ခွဲ": -1, 588 | "ကြိုး": 2, 589 | "ကြိုးကိုင်": -1, 590 | "ကြိုက်ခဲ့သည်": 2, 591 | "ကြိုက်တယ်": 2, 592 | "ကြိုဆို": 2, 593 | "ကြိုတင်စိတ်ကူးထားသော": -2, 594 | "ကြီးကျယ်သော": -2, 595 | "ကြီးကြပ်": -1, 596 | "ကြီးထွားလာ": 2, 597 | "ကြီးမြတ်": 3, 598 | "ကြီးမားသော": 1, 599 | "ကြူးကျြောမှု": -2, 600 | "ကြူးကျြောသော": -2, 601 | "ကြေးဇူး": 1, 602 | "ကြေးဇူးတငျ": 2, 603 | "ကြေးဇူးတငျကွောငျး": 2, 604 | "ကြေးဇူးတငျစကား": 2, 605 | "ကြေးဇူးမတငျတတျသော": -3, 606 | "ကြေကွဲဖွယ်အဖြစ်ဆိုး": -2, 607 | "ကြောကျမကျြရတနာ": 3, 608 | "ကြောက်": -3, 609 | "ကြောက်စရာ": -3, 610 | "ကြောက်ပါတယ်": -2, 611 | "ကြောက်မက်ဖွယ်": -3, 612 | "ကြောက်မက်ဘွယ်သော": 4, 613 | "ကြောက်မက်ဘွယ်သောအ": -3, 614 | "ကြောက်ရွံ့သောသဘောသည်": -2, 615 | "ကြောက်လ": -2, 616 | "ကြောက်လန့်": -2, 617 | "ကြွက်တက်ခြင်း": -1, 618 | "ကြွယ်ဝစွာ": 2, 619 | "ကြွယ်ဝသော": 2, 620 | "ကသိကအောက်ဖြစ်ရပ်": -2, 621 | "ကှကျ": -2, 622 | "ကှကျကှကျကှငျးကှငျး": 2, 623 | "ကှယျပြောကျ": -1, 624 | "ကှေဲဖှယျ": -3, 625 | "ကှဲခွငျး": -2, 626 | "ကှဲမ": -1, 627 | "ကာကွယ်စောင့်ရှောက်": 2, 628 | "ကာကွယ်ပေးနိုင်": -1, 629 | "ကာကွယ်ပေးသည်": 1, 630 | "ကာကွယ်သည်": 1, 631 | "ကာလ": -2, 632 | "ကိစ္စ": 1, 633 | "ကိစ်စရပျမြား": 1, 634 | "ကို disable": -1, 635 | "ကိုးကှယျ": 3, 636 | "ကိုးကွယ်ခြင်းဆိုင်ရာ": 2, 637 | "ကိုးစား": 1, 638 | "ကိုကယ်တင်နိုင်ခဲ့": 2, 639 | "ကိုက်": -2, 640 | "ကိုခစျြ": 3, 641 | "ကိုခိုင်ခံ့စေ": 2, 642 | "ကိုငြင်း": -2, 643 | "ကိုတန်ဖိုးထား": 2, 644 | "ကိုယျကြိုးစှနျ့": 2, 645 | "ကိုယ်ကျိုးကြည့်": -2, 646 | "ကိုယ်ခံစွမ်းအား": 1, 647 | "ကိုယ်ရယ်": 2, 648 | "ကိုရှောင်ကြဉ်": -1, 649 | "ကိုလက်ခံ": 1, 650 | "ကိုလညျးကြေးဇူးရှငျ": 2, 651 | "ကိုလညျးမတားဆီး": 2, 652 | "ကိုလှီးဖြတ်": -2, 653 | "ကိုသတ်ပစ်": -3, 654 | "ကိုအနိုင်ပေး": 4, 655 | "ကိုအယုံအကြည်မဲ့": -3, 656 | "ကုသိုလ်ဖြစ်": 2, 657 | "ကူးစက်": -2, 658 | "ကူညီခြင်း": 2, 659 | "ကူညီပါ": 2, 660 | "ကူညီပေးသည်": 2, 661 | "ကောက်": -2, 662 | "ကောက်ကျစ်": 2, 663 | "ကောငျးကငျဘုံ": 2, 664 | "ကောငျးခြီးပေး": 2, 665 | "ကောငျးမှု": -3, 666 | "ကောင်းကင်ဘုံရှင်": 4, 667 | "ကောင်းကြီးမင်္ဂလာ": 3, 668 | "ကောင်းချီး": 2, 669 | "ကောင်းချီးပေး": 2, 670 | "ကောင်းခြီးပြုခြင်း": 2, 671 | "ကောင်းစွာအချိုး": 2, 672 | "ကောင်းစွာထူထောင်": 2, 673 | "ကောင်းစွာထောက်ခံ": 3, 674 | "ကောင်းစွာဖွံ့ဖြိုးပြီး": 2, 675 | "ကောင်းစွာသတို့သား": 2, 676 | "ကောင်းစွာအာရုံစူးစိုက်": 2, 677 | "ကောင်းတဲ့": 3 678 | } -------------------------------------------------------------------------------- /build/languages/AFINN-ne.json: -------------------------------------------------------------------------------- 1 | { 2 | "abhorred": -3, 3 | "abhorrent": -3, 4 | "aborts": -1, 5 | "absentee": -1, 6 | "absentees": -1, 7 | "absolved": 2, 8 | "absolves": 2, 9 | "absolving": 2, 10 | "accolade": 2, 11 | "accuses": -2, 12 | "achievable": 1, 13 | "aching": -2, 14 | "acquits": 2, 15 | "acquitted": 2, 16 | "acquitting": 2, 17 | "acrimonious": -3, 18 | "admires": 3, 19 | "admonish": -2, 20 | "adopts": 1, 21 | "adoration": 3, 22 | "adore": 3, 23 | "adores": 3, 24 | "adoring": 3, 25 | "adoringly": 3, 26 | "advantageously": 2, 27 | "adventurous": 2, 28 | "affronted": -1, 29 | "aficionados": 2, 30 | "aggravated": -2, 31 | "aggravates": -2, 32 | "aggressiveness": -2, 33 | "aghast": -2, 34 | "agog": 2, 35 | "agonises": -3, 36 | "agonize": -3, 37 | "agonized": -3, 38 | "agonizes": -3, 39 | "agonizing": -3, 40 | "alarmist": -2, 41 | "alarmists": -2, 42 | "altruistic": 2, 43 | "amazes": 2, 44 | "ambivalent": -1, 45 | "amused": 3, 46 | "amusements": 3, 47 | "annoys": -2, 48 | "antagonistic": -2, 49 | "apeshit": -3, 50 | "apocalyptic": -2, 51 | "apologizing": -1, 52 | "appalled": -2, 53 | "appeased": 2, 54 | "appeases": 2, 55 | "appeasing": 2, 56 | "applauded": 2, 57 | "applauds": 2, 58 | "approves": 2, 59 | "arsehole": -4, 60 | "assassinations": -3, 61 | "assaults": -2, 62 | "assfucking": -4, 63 | "astounded": 3, 64 | "astoundingly": 3, 65 | "astounds": 3, 66 | "atrocious": -3, 67 | "atrocity": -3, 68 | "audacious": 3, 69 | "avenged": -2, 70 | "avengers": -2, 71 | "avenges": -2, 72 | "avenging": -2, 73 | "averted": -1, 74 | "averts": -1, 75 | "axed": -1, 76 | "badass": -3, 77 | "bamboozled": -2, 78 | "bamboozles": -2, 79 | "bankster": -3, 80 | "barbarous": -2, 81 | "Bastards": -5, 82 | "beatific": 3, 83 | "beautify": 3, 84 | "befit": 2, 85 | "belittled": -2, 86 | "benefactors": 2, 87 | "benefitted": 2, 88 | "benefitting": 2, 89 | "benevolent": 3, 90 | "bereave": -2, 91 | "bereaves": -2, 92 | "bereaving": -2, 93 | "betrays": -3, 94 | "biased": -2, 95 | "Bitches": -5, 96 | "bitterest": -2, 97 | "blackmailed": -3, 98 | "blackmailing": -3, 99 | "blackmails": -3, 100 | "Blah": -2, 101 | "blaming": -2, 102 | "blissful": 3, 103 | "bothers": -2, 104 | "bothersome": -2, 105 | "boycott": -2, 106 | "boycotted": -2, 107 | "boycotting": -2, 108 | "boycotts": -2, 109 | "brainwashing": -3, 110 | "braveness": 2, 111 | "bravura": 3, 112 | "breached": -2, 113 | "breaches": -2, 114 | "breaching": -2, 115 | "bribed": -3, 116 | "bribing": -3, 117 | "brightest": 2, 118 | "brilliances": 3, 119 | "brisk": 2, 120 | "brooding": -2, 121 | "Bummer": -2, 122 | "buoyant": 2, 123 | "burdening": -2, 124 | "calms": 2, 125 | "captivated": 3, 126 | "carefulness": 2, 127 | "celebrates": 3, 128 | "censors": -2, 129 | "chagrin": -2, 130 | "chagrined": -2, 131 | "championed": 2, 132 | "charmingly": 3, 133 | "charmless": -3, 134 | "chastise": -3, 135 | "chastised": -3, 136 | "chastises": -3, 137 | "chastising": -3, 138 | "cheater": -3, 139 | "cheaters": -3, 140 | "Cheats": -3, 141 | "cheered": 2, 142 | "cheerless": -2, 143 | "cheery": 3, 144 | "cherishes": 2, 145 | "chide": -3, 146 | "chided": -3, 147 | "chides": -3, 148 | "chiding": -3, 149 | "Chilling": -1, 150 | "chokes": -2, 151 | "choking": -2, 152 | "clarifies": 2, 153 | "classy": 3, 154 | "clouded": -1, 155 | "Clueless": -2, 156 | "cocksucker": -5, 157 | "Cocksuckers": -5, 158 | "cocky": -2, 159 | "coerced": -2, 160 | "collapsing": -2, 161 | "collides": -1, 162 | "colluding": -3, 163 | "combats": -1, 164 | "commits": 1, 165 | "Committing": 1, 166 | "compelled": 1, 167 | "competencies": 1, 168 | "complains": -2, 169 | "complicating": -2, 170 | "complimented": 2, 171 | "compliments": 2, 172 | "conciliate": 2, 173 | "conciliated": 2, 174 | "conciliates": 2, 175 | "conciliating": 2, 176 | "conflictive": -2, 177 | "consents": 2, 178 | "consolable": 2, 179 | "contagion": -2, 180 | "contagions": -2, 181 | "contaminant": -2, 182 | "contaminates": -2, 183 | "contaminating": -2, 184 | "contaminations": -2, 185 | "contemptuous": -2, 186 | "contemptuously": -2, 187 | "contend": -1, 188 | "contending": -1, 189 | "contentious": -2, 190 | "contestable": -2, 191 | "controversially": -2, 192 | "controversies": -2, 193 | "convivial": 2, 194 | "cornered": -2, 195 | "corrupts": -3, 196 | "coziness": 2, 197 | "cramp": -1, 198 | "crazier": -2, 199 | "craziest": -2, 200 | "crestfallen": -2, 201 | "criminate": -3, 202 | "criminated": -3, 203 | "criminates": -3, 204 | "criticizes": -2, 205 | "critique": -2, 206 | "crowding": -1, 207 | "Cunt": -5, 208 | "cutback": -2, 209 | "cynic": -2, 210 | "cynical": -2, 211 | "cynicism": -2, 212 | "daredevil": 2, 213 | "dauntless": 2, 214 | "deadening": -2, 215 | "deadlock": -2, 216 | "deafening": -1, 217 | "debonair": 2, 218 | "defenseless": -2, 219 | "deferring": -1, 220 | "deformity": -2, 221 | "defrauds": -3, 222 | "deft": 2, 223 | "defunct": -2, 224 | "degrades": -2, 225 | "dehumanize": -2, 226 | "dehumanized": -2, 227 | "dehumanizes": -2, 228 | "dehumanizing": -2, 229 | "deject": -2, 230 | "dejecting": -2, 231 | "dejects": -2, 232 | "delectable": 3, 233 | "delightfully": 3, 234 | "delighting": 3, 235 | "demoralized": -2, 236 | "demoralizes": -2, 237 | "demoralizing": -2, 238 | "denier": -2, 239 | "deniers": -2, 240 | "deplored": -3, 241 | "deplores": -3, 242 | "deploring": -3, 243 | "deported": -2, 244 | "deporting": -2, 245 | "deports": -2, 246 | "depressing": -2, 247 | "deprivation": -3, 248 | "derailed": -2, 249 | "derails": -2, 250 | "derelict": -2, 251 | "derided": -2, 252 | "derides": -2, 253 | "deriding": -2, 254 | "despairing": -3, 255 | "despairs": -3, 256 | "despondent": -3, 257 | "detained": -2, 258 | "deteriorate": -2, 259 | "deteriorates": -2, 260 | "deterrent": -2, 261 | "detracted": -1, 262 | "devastation": -2, 263 | "devastations": -2, 264 | "dickhead": -4, 265 | "diffident": -2, 266 | "dilligence": 2, 267 | "dipshit": -3, 268 | "direful": -3, 269 | "dirtier": -2, 270 | "dirtiest": -2, 271 | "disagreeable": -2, 272 | "disapprovals": -2, 273 | "disapproves": -2, 274 | "disbelieve": -2, 275 | "disconsolate": -2, 276 | "disconsolation": -2, 277 | "discontented": -2, 278 | "discriminated": -2, 279 | "discriminates": -2, 280 | "discriminating": -2, 281 | "disguises": -1, 282 | "disguising": -1, 283 | "disgustful": -3, 284 | "disheartened": -2, 285 | "disinclined": -2, 286 | "disjointed": -2, 287 | "dismal": -2, 288 | "dismayed": -2, 289 | "disorganized": -2, 290 | "disoriented": -2, 291 | "disparage": -2, 292 | "disparaged": -2, 293 | "disparages": -2, 294 | "disparaging": -2, 295 | "disproportionate": -2, 296 | "disquiet": -2, 297 | "disregarded": -2, 298 | "disregarding": -2, 299 | "disregards": -2, 300 | "disrespected": -2, 301 | "disrupting": -2, 302 | "disrupts": -2, 303 | "distasteful": -2, 304 | "distorts": -2, 305 | "distracts": -2, 306 | "disturbs": -2, 307 | "dodging": -2, 308 | "dolorous": -2, 309 | "doubted": -1, 310 | "downcast": -2, 311 | "downer": -2, 312 | "drags": -1, 313 | "dreaded": -2, 314 | "dreading": -2, 315 | "dreary": -2, 316 | "droopy": -2, 317 | "drowns": -2, 318 | "drudgery": -2, 319 | "dud": -2, 320 | "dupe": -2, 321 | "duped": -2, 322 | "dupery": -2, 323 | "eerie": -2, 324 | "eery": -2, 325 | "effortlessly": 2, 326 | "elated": 3, 327 | "elation": 3, 328 | "elegantly": 2, 329 | "embarrasses": -2, 330 | "embezzlement": -3, 331 | "embittered": -2, 332 | "ENCHANTED": 2, 333 | "endorses": 2, 334 | "engrossing": 3, 335 | "enlightening": 2, 336 | "ennui": -2, 337 | "enrage": -2, 338 | "enrages": -2, 339 | "enraging": -2, 340 | "enslaves": -2, 341 | "enterprising": 1, 342 | "enthrall": 3, 343 | "envies": -1, 344 | "envying": -1, 345 | "ErrorUndefined": -2, 346 | "escaping": -1, 347 | "euphoric": 4, 348 | "evacuates": -1, 349 | "evacuating": -1, 350 | "evergreening": -3, 351 | "exacerbate": -2, 352 | "exacerbated": -2, 353 | "exacerbating": -2, 354 | "exaggerates": -2, 355 | "exaggerating": -2, 356 | "exasparate": -2, 357 | "exasperates": -2, 358 | "exasperating": -2, 359 | "excruciatingly": -1, 360 | "exhilarated": 3, 361 | "exhilarates": 3, 362 | "exonerates": 2, 363 | "exonerating": 2, 364 | "expelling": -2, 365 | "expels": -2, 366 | "expertly": 2, 367 | "extremist": -2, 368 | "extremists": -2, 369 | "exuberant": 4, 370 | "exultant": 3, 371 | "exultantly": 3, 372 | "fabulously": 4, 373 | "fag": -3, 374 | "fagot": -3, 375 | "fagots": -3, 376 | "fainthearted": -2, 377 | "faker": -3, 378 | "fakes": -3, 379 | "faking": -3, 380 | "Fallen": -2, 381 | "falsified": -3, 382 | "farce": -1, 383 | "Fascinate": 3, 384 | "fascinates": 3, 385 | "fascists": -2, 386 | "fatalities": -3, 387 | "fatality": -3, 388 | "fatigued": -2, 389 | "fatigues": -2, 390 | "fatiguing": -2, 391 | "favourited": 2, 392 | "fearlessness": 2, 393 | "felonies": -3, 394 | "Felony": -3, 395 | "fervid": 2, 396 | "fiasco": -3, 397 | "fidgety": -2, 398 | "flustered": -2, 399 | "fondness": 2, 400 | "forbidding": -2, 401 | "foreclosures": -2, 402 | "Forefront": 1, 403 | "forgettable": -1, 404 | "foul": -3, 405 | "fraudster": -4, 406 | "fraudsters": -4, 407 | "fraudulence": -4, 408 | "Freak": -2, 409 | "frikin": -2, 410 | "frisky": 2, 411 | "frustrates": -2, 412 | "ftw": 3, 413 | "fucked": -4, 414 | "fucker": -4, 415 | "fuckers": -4, 416 | "fuckface": -4, 417 | "fuckhead": -4, 418 | "Fuckin": -4, 419 | "fucktard": -4, 420 | "fud": -3, 421 | "fuked": -4, 422 | "fuking": -4, 423 | "fuming": -2, 424 | "funerals": -1, 425 | "funnier": 4, 426 | "gag": -2, 427 | "gagged": -2, 428 | "Gallant": 3, 429 | "gallantly": 3, 430 | "genial": 3, 431 | "ghastly": -2, 432 | "giddy": -2, 433 | "glamourous र": 3, 434 | "gleeful": 3, 435 | "glum": -2, 436 | "goddamn": -3, 437 | "godsend": 4, 438 | "goodlooking": 3, 439 | "goofiness": -2, 440 | "goofy": -2, 441 | "gr8": 3, 442 | "gratification": 2, 443 | "greenwasher": -3, 444 | "greenwashers": -3, 445 | "greenwashing": -3, 446 | "greets": 1, 447 | "gripping": 2, 448 | "grisly": -2, 449 | "groaned": -2, 450 | "growths": 2, 451 | "gullibility": -2, 452 | "haha": 3, 453 | "hahaha": 3, 454 | "hahahah": 3, 455 | "Hallelujah": 3, 456 | "handpicked": 1, 457 | "hapless": -2, 458 | "haplessness": -2, 459 | "happiest": 3, 460 | "harasses": -3, 461 | "hardier": 2, 462 | "harming": -2, 463 | "harried": -2, 464 | "harsher": -2, 465 | "harshest": -2, 466 | "hater": -3, 467 | "haunt": -1, 468 | "haunting": 1, 469 | "haunts": -1, 470 | "heartbroken": -3, 471 | "heartless": -2, 472 | "heavyhearted": -2, 473 | "hellish": -2, 474 | "homicides": -2, 475 | "hooligan": -2, 476 | "hooliganism": -2, 477 | "hooligans": -2, 478 | "horrid": -3, 479 | "horrified": -3, 480 | "hospitalized": -2, 481 | "huckster": -2, 482 | "humbug": -2, 483 | "humerous": 3, 484 | "humourous": 2, 485 | "hurray": 5, 486 | "hysterical": -3, 487 | "hysterics": -3, 488 | "icky": -3, 489 | "idiocy": -3, 490 | "imbecile": -3, 491 | "immobilized": -1, 492 | "impairing": -2, 493 | "impairs": -2, 494 | "impeachment": -3, 495 | "impeachments": -3, 496 | "impeded": -2, 497 | "impedes": -2, 498 | "impeding": -2, 499 | "impedingly": -2, 500 | "imposes": -1, 501 | "imposing": -1, 502 | "imposter": -2, 503 | "impotent": -2, 504 | "inaction": -2, 505 | "incapacitated": -2, 506 | "incapacitates": -2, 507 | "incapacitating": -2, 508 | "incensed": -2, 509 | "incenses": -2, 510 | "incensing": -2, 511 | "incoherent": -2, 512 | "incompetence": -2, 513 | "indecisive": -2, 514 | "indicted": -2, 515 | "indifferent": -2, 516 | "indignation": -2, 517 | "indoctrinate": -2, 518 | "indoctrinated": -2, 519 | "indoctrinates": -2, 520 | "indoctrinating": -2, 521 | "inediable": -2, 522 | "ineffectively": -2, 523 | "ineffectual": -2, 524 | "inefficiency": -2, 525 | "inefficiently": -2, 526 | "inept": -2, 527 | "ineptitude": -2, 528 | "inexorable": -3, 529 | "infantilized": -2, 530 | "infatuated": 2, 531 | "infatuation": 2, 532 | "infects": -2, 533 | "infest": -2, 534 | "infested": -2, 535 | "infesting": -2, 536 | "infests": -2, 537 | "inflamed": -2, 538 | "inflicted": -2, 539 | "inflicting": -2, 540 | "inflicts": -2, 541 | "infract": -2, 542 | "infracted": -2, 543 | "infracting": -2, 544 | "infracts": -2, 545 | "infuriates": -2, 546 | "infuriating": -2, 547 | "innovates": 1, 548 | "inoperative": -2, 549 | "insensitivity": -2, 550 | "insipid": -2, 551 | "intimidates": -2, 552 | "intimidating": -2, 553 | "intransigence": -2, 554 | "intransigency": -2, 555 | "intrigues": 1, 556 | "invulnerable": 2, 557 | "irate": -3, 558 | "irreparable": -2, 559 | "irreproducible": -2, 560 | "irresistible": 2, 561 | "irresistibly": 2, 562 | "irresolute": -2, 563 | "irresponsibly": -2, 564 | "irreversibly": -1, 565 | "itchy": -2, 566 | "jackass": -4, 567 | "jackasses": -4, 568 | "jailed": -2, 569 | "jaunty": 2, 570 | "jeopardy": -2, 571 | "Jerk": -3, 572 | "jewel": 1, 573 | "Jewels": 1, 574 | "jocular": 2, 575 | "Jokes": 2, 576 | "joyless": -2, 577 | "Jubilant": 3, 578 | "Jumpy": -1, 579 | "kickback": -3, 580 | "kickbacks": -3, 581 | "kidnapped": -2, 582 | "kidnappings": -2, 583 | "kidnaps": -2, 584 | "Kinder": 2, 585 | "kudos": 3, 586 | "lackadaisical": -2, 587 | "lagged": -2, 588 | "lags": -2, 589 | "lapsed": -1, 590 | "laughting": 1, 591 | "lawl": 3, 592 | "lawsuits": -2, 593 | "lethality": -2, 594 | "lethargic": -2, 595 | "lethargy": -2, 596 | "libelous": -2, 597 | "Lifesaver": 4, 598 | "lighthearted": 1, 599 | "likeable": 2, 600 | "likers": 2, 601 | "litigious": -2, 602 | "LMAO": 4, 603 | "Lmfao": 4, 604 | "loathe": -3, 605 | "loathed": -3, 606 | "loathes": -3, 607 | "loathing": -3, 608 | "lobbied": -2, 609 | "lobbyist": -2, 610 | "lobbyists": -2, 611 | "lol": 3, 612 | "lolol": 4, 613 | "lololol": 4, 614 | "lolololol": 4, 615 | "lonesome": -2, 616 | "lool": 3, 617 | "loomed": -1, 618 | "looms": -1, 619 | "loool": 3, 620 | "looool": 3, 621 | "looses": -3, 622 | "lovelies": 3, 623 | "luckily": 3, 624 | "ludicrous": -3, 625 | "lugubrious": -2, 626 | "lunatic": -3, 627 | "lunatics": -3, 628 | "lurking": -1, 629 | "lurks": -1, 630 | "macabre": -2, 631 | "maddening": -3, 632 | "madly": -3, 633 | "maladaption": -2, 634 | "maldevelopment": -2, 635 | "manipulated": -1, 636 | "manipulating": -1, 637 | "Marvel": 3, 638 | "marvels": 3, 639 | "masterpieces": 4, 640 | "mediocrity": -3, 641 | "melancholy": -2, 642 | "memoriam": -2, 643 | "menace": -2, 644 | "menaced": -2, 645 | "menaces": -2, 646 | "mesmerizing": 3, 647 | "methodical": 2, 648 | "methodically": 2, 649 | "mindless": -2, 650 | "mirthful": 3, 651 | "mirthfully": 3, 652 | "misbehaved": -2, 653 | "misbehaves": -2, 654 | "misbranding": -3, 655 | "miscast": -2, 656 | "mischiefs": -1, 657 | "misclassified": -2, 658 | "misclassifies": -2, 659 | "misclassify": -2, 660 | "misconducted": -2, 661 | "misconducting": -2, 662 | "misconducts": -2, 663 | "misfire": -2, 664 | "misfortune": -2, 665 | "misgiving": -2, 666 | "misleaded": -3, 667 | "misleads": -3, 668 | "misplaces": -2, 669 | "misplacing": -2, 670 | "mispricing": -3, 671 | "misread": -1, 672 | "misreport": -2, 673 | "misreported": -2, 674 | "misreporting": -2, 675 | "misreports": -2, 676 | "misrepresentations": -2, 677 | "misrepresenting": -2, 678 | "mistaking": -2, 679 | "misunderstands": -2, 680 | "misuses": -2, 681 | "misusing": -2, 682 | "moaned": -2, 683 | "moaning": -2, 684 | "moans": -2, 685 | "mocked": -2, 686 | "mocking": -2, 687 | "mocks": -2, 688 | "modernizes": 2, 689 | "modernizing": 2, 690 | "mongering": -2, 691 | "monopolize": -2, 692 | "monopolized": -2, 693 | "monopolizes": 2, 694 | "monopolizing": -1 695 | } -------------------------------------------------------------------------------- /build/languages/AFINN-ps.json: -------------------------------------------------------------------------------- 1 | { 2 | "اوس": 5, 3 | "(mature)": 2, 4 | "(خبيثو)": -1, 5 | "(دخطياتو)": 1, 6 | "(ضامن)": -1, 7 | "، بیضو": -2, 8 | "abhor": -3, 9 | "abhorred": -3, 10 | "aborts": -1, 11 | "absolves": 2, 12 | "abuse": -3, 13 | "acquits": 2, 14 | "adoration": 3, 15 | "adore": 3, 16 | "adored": 3, 17 | "adores": 3, 18 | "adoring": 3, 19 | "adoringly": 3, 20 | "advantageously": 2, 21 | "adventure": 2, 22 | "adventures": 2, 23 | "adventurous": 2, 24 | "affectionate": 3, 25 | "affectionateness": 3, 26 | "affronted": -1, 27 | "aficionados": 2, 28 | "aggressiveness": -2, 29 | "aghast": -2, 30 | "agog": 2, 31 | "agonises": -3, 32 | "agonizes": -3, 33 | "alarmists": -2, 34 | "amused": 3, 35 | "amusements": 3, 36 | "apeshit": -3, 37 | "apocalyptic": -2, 38 | "appeases": 2, 39 | "arsehole": -4, 40 | "assfucking": -4, 41 | "asshole": -4, 42 | "astound": 3, 43 | "astoundingly": 3, 44 | "astounds": 3, 45 | "attractively": 2, 46 | "avenged": -2, 47 | "avenger": -2, 48 | "avengers": -2, 49 | "avenges": -2, 50 | "badass": -3, 51 | "badness": -3, 52 | "bamboozle": -2, 53 | "bamboozled": -2, 54 | "bamboozles": -2, 55 | "bankster": -3, 56 | "barbarian": -2, 57 | "bastards": -5, 58 | "beatific": 3, 59 | "befit": 2, 60 | "belittle": -2, 61 | "bereave": -2, 62 | "bereaves": -2, 63 | "bereaving": -2, 64 | "bitch": -5, 65 | "bitches": -5, 66 | "bitterest": -2, 67 | "blackmailing": -3, 68 | "blackmails": -3, 69 | "blah": -2, 70 | "blesses": 2, 71 | "blissful": 3, 72 | "blithe": 2, 73 | "blurry": -2, 74 | "boastful": -2, 75 | "boldly": 2, 76 | "boost": 1, 77 | "bored": -2, 78 | "bothersome": -2, 79 | "brainwashing": -3, 80 | "bravura": 3, 81 | "brilliances": 3, 82 | "bully": -2, 83 | "bummer": -2, 84 | "burdening": -2, 85 | "burglar": -2, 86 | "calms": 2, 87 | "captivated": 3, 88 | "carefulness": 2, 89 | "cashing په": -2, 90 | "chagrined": -2, 91 | "championed": 2, 92 | "charmingly": 3, 93 | "charmless": -3, 94 | "chastised": -3, 95 | "chastises": -3, 96 | "chastising": -3, 97 | "cheated": -3, 98 | "cheater": -3, 99 | "cheaters": -3, 100 | "cherishing": 2, 101 | "chide": -3, 102 | "classy": 3, 103 | "cocksucker": -5, 104 | "cocksuckers": -5, 105 | "cocky": -2, 106 | "colliding": -1, 107 | "complimented": 2, 108 | "conciliate": 2, 109 | "conciliated": 2, 110 | "conciliates": 2, 111 | "conciliating": 2, 112 | "conflictive": -2, 113 | "congrats": 2, 114 | "consolable": 2, 115 | "contagion": -2, 116 | "contagions": -2, 117 | "contaminant": -2, 118 | "contaminating": -2, 119 | "contemptible": -2, 120 | "contemptuously": -2, 121 | "contend": -1, 122 | "convinces": 1, 123 | "convivial": 2, 124 | "cornered": -2, 125 | "courageousness": 2, 126 | "coziness": 2, 127 | "cramp": -1, 128 | "crap": -3, 129 | "crappy": -3, 130 | "crazier": -2, 131 | "craziest": -2, 132 | "crestfallen": -2, 133 | "criminate": -3, 134 | "criminated": -3, 135 | "criminates": -3, 136 | "crushes": -1, 137 | "cunt": -5, 138 | "dauntless": 2, 139 | "debonair": 2, 140 | "defrauds": -3, 141 | "deft": 2, 142 | "dehumanize": -2, 143 | "dehumanizes": -2, 144 | "dehumanizing": -2, 145 | "deject": -2, 146 | "dejecting": -2, 147 | "dejects": -2, 148 | "delectable": 3, 149 | "delightful": 3, 150 | "delighting": 3, 151 | "demoralizes": -2, 152 | "deniers": -2, 153 | "deplored": -3, 154 | "deploring": -3, 155 | "deports": -2, 156 | "derails": -2, 157 | "deride": -2, 158 | "derision": -2, 159 | "despairs": -3, 160 | "detracted": -1, 161 | "devastate": -2, 162 | "devastations": -2, 163 | "Dick": -4, 164 | "dickhead": -4, 165 | "diffident": -2, 166 | "dilligence": 2, 167 | "dipshit": -3, 168 | "direful": -3, 169 | "dirtier": -2, 170 | "disapprovals": -2, 171 | "disapproves": -2, 172 | "discernment": 2, 173 | "disconsolate": -2, 174 | "disconsolation": -2, 175 | "disguises": -1, 176 | "disguising": -1, 177 | "disgusted": -3, 178 | "disgustful": -3, 179 | "disorders": -2, 180 | "disparages": -2, 181 | "disregarding": -2, 182 | "disregards": -2, 183 | "distasteful": -2, 184 | "distresses": -2, 185 | "dodgy": -2, 186 | "dolorous": -2, 187 | "douche": -3, 188 | "douchebag": -3, 189 | "downhearted": -2, 190 | "dreading": -2, 191 | "drowns": -2, 192 | "drudgery": -2, 193 | "dud": -2, 194 | "dupe": -2, 195 | "duped": -2, 196 | "dupery": -2, 197 | "eerie": -2, 198 | "eery": -2, 199 | "elated": 3, 200 | "elation": 3, 201 | "elegantly": 2, 202 | "embarrasses": -2, 203 | "emptiness": -1, 204 | "enchanted": 2, 205 | "ennui": -2, 206 | "enrapture": 3, 207 | "enslaves": -2, 208 | "enthrall": 3, 209 | "envies": -1, 210 | "envious": -2, 211 | "envying": -1, 212 | "euphoric": 4, 213 | "evacuates": -1, 214 | "evergreening": -3, 215 | "exasparate": -2, 216 | "exasperates": -2, 217 | "excruciatingly": -1, 218 | "exhilarates": 3, 219 | "exploits": -2, 220 | "exquisite": 3, 221 | "exuberant": 4, 222 | "exultantly": 3, 223 | "fabulously": 4, 224 | "fad": -2, 225 | "fagot": -3, 226 | "fagots": -3, 227 | "fainthearted": -2, 228 | "faking": -3, 229 | "fantastic": 4, 230 | "fascinate": 3, 231 | "fascinates": 3, 232 | "fascination": 3, 233 | "fatigued": -2, 234 | "fatigues": -2, 235 | "fatiguing": -2, 236 | "favorited": 2, 237 | "favorites": 2, 238 | "favourited": 2, 239 | "fearfully": -2, 240 | "fearsome": -2, 241 | "fervid": 2, 242 | "fidgety": -2, 243 | "flawlessly": 2, 244 | "flop": -2, 245 | "flops": -2, 246 | "flustered": -2, 247 | "foreclosure": -2, 248 | "foreclosures": -2, 249 | "forgettable": -1, 250 | "fraudster": -4, 251 | "fraudsters": -4, 252 | "fraudulence": -4, 253 | "fright": -2, 254 | "frikin": -2, 255 | "frisky": 2, 256 | "frowning": -1, 257 | "ftw": 3, 258 | "fucked": -4, 259 | "fuckers": -4, 260 | "fuckface": -4, 261 | "fuckhead": -4, 262 | "fuckin": -4, 263 | "fucking": -4, 264 | "fucking fantastic": 4, 265 | "fucking حیرانونکې": 4, 266 | "fucking خوښوي": 4, 267 | "fucking ښکلي": 4, 268 | "fucking ښه": 4, 269 | "fucking غوره": 4, 270 | "fucking ګرم": 2, 271 | "fucking کامل": 4, 272 | "fucking کې خوږه": 4, 273 | "fucking مينه": 4, 274 | "fucktard": -4, 275 | "fud": -3, 276 | "fuked": -4, 277 | "fuking": -4, 278 | "fun": 4, 279 | "funky": 2, 280 | "funnier": 4, 281 | "funny": 4, 282 | "genial": 3, 283 | "ghastly": -2, 284 | "giddy": -2, 285 | "glamorous": 3, 286 | "glamourous": 3, 287 | "gleeful": 3, 288 | "goddamn": -3, 289 | "goofiness": -2, 290 | "greenwash": -3, 291 | "greenwasher": -3, 292 | "greenwashers": -3, 293 | "greenwashing": -3, 294 | "gripping": 2, 295 | "groan": -2, 296 | "groaned": -2, 297 | "groans": -2, 298 | "gullibility": -2, 299 | "ha": 2, 300 | "haha": 3, 301 | "hahaha": 3, 302 | "hahahah": 3, 303 | "haplessness": -2, 304 | "hater": -3, 305 | "haters": -3, 306 | "heartless": -2, 307 | "heartwarming": 3, 308 | "heavyhearted": -2, 309 | "hehe": 2, 310 | "hellish": -2, 311 | "hideous": -3, 312 | "hooliganism": -2, 313 | "horrible": -3, 314 | "huckster": -2, 315 | "humbug": -2, 316 | "humerous": 3, 317 | "humourous": 2, 318 | "hurray": 5, 319 | "hysteria": -3, 320 | "hysterical": -3, 321 | "hysterics": -3, 322 | "icky": -3, 323 | "idiocy": -3, 324 | "idiotic": -3, 325 | "imbecile": -3, 326 | "immortal": 2, 327 | "impairing": -2, 328 | "impeachments": -3, 329 | "impedingly": -2, 330 | "impotent": -2, 331 | "impresses": 3, 332 | "incapacitates": -2, 333 | "incapacitating": -2, 334 | "incenses": -2, 335 | "incensing": -2, 336 | "inconsiderate": -2, 337 | "indestructible": 2, 338 | "indoctrinates": -2, 339 | "indoctrinating": -2, 340 | "inediable": -2, 341 | "ineffectively": -2, 342 | "inexorable": -3, 343 | "Infantile": -2, 344 | "infantilized": -2, 345 | "infatuated": 2, 346 | "infatuation": 2, 347 | "infests": -2, 348 | "infract": -2, 349 | "infracted": -2, 350 | "infracting": -2, 351 | "infracts": -2, 352 | "infuriate": -2, 353 | "infuriates": -2, 354 | "infuriating": -2, 355 | "innovate": 1, 356 | "innovates": 1, 357 | "inquisitive": 2, 358 | "insipid": -2, 359 | "insufficiency": -2, 360 | "interrupting": -2, 361 | "intimacy": 2, 362 | "intransigency": -2, 363 | "irate": -3, 364 | "irreproducible": -2, 365 | "irresistibly": 2, 366 | "irresolute": -2, 367 | "irreversibly": -1, 368 | "irritates": -3, 369 | "jackass": -4, 370 | "jackasses": -4, 371 | "jaunty": 2, 372 | "jolly": 2, 373 | "joyfully": 3, 374 | "joyless": -2, 375 | "jubilant": 3, 376 | "kudos": 3, 377 | "lackadaisical": -2, 378 | "laughs": 1, 379 | "laughting": 1, 380 | "lawl": 3, 381 | "lethality": -2, 382 | "lifesaver": 4, 383 | "lighthearted": 1, 384 | "likable": 2, 385 | "likeable": 2, 386 | "likers": 2, 387 | "litigious": -2, 388 | "lmao": 4, 389 | "lmfao": 4, 390 | "loathing": -3, 391 | "lolol": 4, 392 | "lololol": 4, 393 | "lolololol": 4, 394 | "lonely": -2, 395 | "lool": 3, 396 | "loool": 3, 397 | "looool": 3, 398 | "lousy": -2, 399 | "lovable": 3, 400 | "lovelies": 3, 401 | "ludicrous": -3, 402 | "lugubrious": -2, 403 | "lurks": -1, 404 | "maddening": -3, 405 | "maladaption": -2, 406 | "maldevelopment": -2, 407 | "masterpieces": 4, 408 | "mediocrity": -3, 409 | "meditative": 1, 410 | "melancholy": -2, 411 | "memoriam": -2, 412 | "menaced": -2, 413 | "Merry": 3, 414 | "mesmerizing": 3, 415 | "mess": -2, 416 | "messed": -2, 417 | "mirthful": 3, 418 | "mirthfully": 3, 419 | "misbehave": -2, 420 | "misbranding": -3, 421 | "miscast": -2, 422 | "mischiefs": -1, 423 | "misclassified": -2, 424 | "misclassifies": -2, 425 | "misclassify": -2, 426 | "misconducted": -2, 427 | "misconducting": -2, 428 | "miserably": -3, 429 | "misgiving": -2, 430 | "misleaded": -3, 431 | "misplacing": -2, 432 | "mispricing": -3, 433 | "misread": -1, 434 | "misreport": -2, 435 | "misreported": -2, 436 | "misreporting": -2, 437 | "misreports": -2, 438 | "Miss": -2, 439 | "mistaking": -2, 440 | "monopolizes": -2, 441 | "mope": -1, 442 | "moping": -1, 443 | "moron": -3, 444 | "motherfucker": -5, 445 | "motherfucking": -5, 446 | "mumpish": -2, 447 | "n00b": -2, 448 | "negativity": -2, 449 | "niggas": -5, 450 | "nigger": -5, 451 | "noblest": 2, 452 | "offensively": -2, 453 | "optionless": -2, 454 | "ostracizes": -2, 455 | "ouch": -2, 456 | "outage": -2, 457 | "outmaneuvered": -2, 458 | "Overload سره": -1, 459 | "overprotective": -2, 460 | "overreact": -2, 461 | "overreacted": -2, 462 | "overreaction": -2, 463 | "overreacts": -2, 464 | "oversell": -2, 465 | "overselling": -2, 466 | "oversells": -2, 467 | "oversimplification": -2, 468 | "oversimplified": -2, 469 | "oversimplifies": -2, 470 | "oversimplify": -2, 471 | "oversold": -2, 472 | "overwrought": -3, 473 | "oxymoron": -1, 474 | "panics": -3, 475 | "penalizes": -2, 476 | "perfects": 2, 477 | "persecutes": -2, 478 | "pervert": -3, 479 | "petrified": -2, 480 | "philanthropy": 2, 481 | "picturesque": 2, 482 | "pileup": -1, 483 | "pillage": -2, 484 | "piqued": -2, 485 | "pissed": -4, 486 | "pissing": -3, 487 | "piteous": -2, 488 | "pitied": -1, 489 | "playful": 2, 490 | "plodding": -2, 491 | "polluter": -2, 492 | "possessive": -2, 493 | "prblm": -2, 494 | "prblms": -2, 495 | "profiteer": -2, 496 | "provokes": -1, 497 | "pseudoscience": -3, 498 | "psychopathic": -2, 499 | "pushy": -1, 500 | "quaking": -2, 501 | "rageful": -2, 502 | "ranter": -3, 503 | "ranters": -3, 504 | "raptured": 2, 505 | "raptures": 2, 506 | "rapturous": 4, 507 | "refreshingly": 2, 508 | "rejoices": 4, 509 | "relieves": 1, 510 | "repercussion": -2, 511 | "reprimanding": -2, 512 | "repulse": -1, 513 | "repulsive": -2, 514 | "resentful": -2, 515 | "revered": 2, 516 | "revolting": -2, 517 | "robing": -2, 518 | "rofl": 4, 519 | "roflcopter": 4, 520 | "roflmao": 4, 521 | "Romance": 2, 522 | "romantical": 2, 523 | "romantically": 2, 524 | "rotfl": 4, 525 | "rotflmfao": 4, 526 | "rotflol": 4, 527 | "sadden": -2, 528 | "saluted": 2, 529 | "salutes": 2, 530 | "savange": -2, 531 | "savanges": -2, 532 | "scary": -2, 533 | "screwed": -2, 534 | "screwed پورې": -3, 535 | "scum": -3, 536 | "scumbag": -4, 537 | "sexistic": -2, 538 | "shithead": -4, 539 | "shitty": -3, 540 | "shoody": -2, 541 | "shrew": -4, 542 | "sincerest": 2, 543 | "singleminded": -2, 544 | "skeptic": -2, 545 | "slashes": -2, 546 | "slicker": 2, 547 | "slickest": 2, 548 | "sloppy": -2, 549 | "slumping": -1, 550 | "slut": -5, 551 | "smuggles": -2, 552 | "sneaky": -1, 553 | "sneezed": -2, 554 | "sneezes": -2, 555 | "snubbing": -2, 556 | "solidified": 2, 557 | "soothed": 3, 558 | "spammers": -3, 559 | "sparkle": 3, 560 | "sparkles": 3, 561 | "spiritless": -2, 562 | "spotless": 2, 563 | "squanders": -2, 564 | "starves": -2, 565 | "stinked": -2, 566 | "stinker": -2, 567 | "stinking": -2, 568 | "stinky": -2, 569 | "stressor": -2, 570 | "stupidly": -2, 571 | "Sue": -2, 572 | "sueing": -2, 573 | "sulking": -2, 574 | "sulky": -2, 575 | "sullen": -2, 576 | "swindles": -3, 577 | "tard": -2, 578 | "tarnishes": -2, 579 | "terrible": -3, 580 | "terrifically": 4, 581 | "terrorizes": -3, 582 | "thwarts": -2, 583 | "timorous": -2, 584 | "tits": -2, 585 | "totalitarianism": -2, 586 | "transgresses": -2, 587 | "treasonous": -3, 588 | "tremulous": -2, 589 | "twat": -5, 590 | "tyran": -3, 591 | "tyrannic": -3, 592 | "tyrans": -3, 593 | "ugh": -2, 594 | "unappeasable": -2, 595 | "unappreciated": -2, 596 | "unavailing": -2, 597 | "unbelieving": -1, 598 | "uncredited": -1, 599 | "undercooked": -2, 600 | "underperformed": -2, 601 | "undeserving": -2, 602 | "unequaled": 2, 603 | "uneventful": -2, 604 | "unfitted": -2, 605 | "unforgiving": -2, 606 | "unfunny": -2, 607 | "ungenerous": -2, 608 | "uninspired": -2, 609 | "unintelligent": -2, 610 | "uninvolving": -2, 611 | "unlovable": -2, 612 | "unloved": -2, 613 | "unoriginal": -2, 614 | "unreleting": -2, 615 | "unresearched": -2, 616 | "unscientific": -2, 617 | "unselfish": 2, 618 | "untarnished": 2, 619 | "unworthy": -2, 620 | "uptight": -2, 621 | "uselessness": -2, 622 | "vapid": -2, 623 | "victimizing": -3, 624 | "vindicates": 2, 625 | "visioning": 1, 626 | "vivacious": 3, 627 | "vomited": -3, 628 | "vomits": -3, 629 | "wanker": -3, 630 | "warfare": -2, 631 | "warmhearted": 2, 632 | "warmness": 2, 633 | "weird": -2, 634 | "winwin": 3, 635 | "woebegone": -2, 636 | "woeful": -3, 637 | "wonderfully": 4, 638 | "woohoo": 3, 639 | "wooo": 4, 640 | "woow": 4, 641 | "wowow": 4, 642 | "wowww": 4, 643 | "wrongdoings": -2, 644 | "wtf": -4, 645 | "wtff": -4, 646 | "wtfff": -4, 647 | "xoxo": 3, 648 | "xoxoxo": 4, 649 | "xoxoxoxo": 4, 650 | "yeees": 2, 651 | "youthful": 2, 652 | "yucky": -2, 653 | "zealot": -2, 654 | "zealots": -2, 655 | "ابتکاري": 2, 656 | "اتريشي": 2, 657 | "اتل": 2, 658 | "اتلان": 2, 659 | "اجازه": 1, 660 | "اجبار": -2, 661 | "اجباري": -1, 662 | "اجر": 2, 663 | "اجرونو": 2, 664 | "اچونکي": -2, 665 | "اچوي": -2, 666 | "احترامۍ": -2, 667 | "احتکاري": -2, 668 | "احتمال": -1, 669 | "احتياط": 2, 670 | "احساس": 1, 671 | "احضاریه": -2, 672 | "احمق": -2, 673 | "احمقانه": 2, 674 | "احمقانو": -2, 675 | "اخالقي": -2, 676 | "اختالفي": -2, 677 | "اختلاس": -3, 678 | "اختلافي": -2, 679 | "اخته": -1, 680 | "اخطارونه": -3, 681 | "اخلاص": 2, 682 | "اخلاقي": 2, 683 | "اخيستل": -2, 684 | "آخيستنه": -2, 685 | "ارام": 2, 686 | "آرام": 2, 687 | "ارته": 1, 688 | "ارزانه": 2, 689 | "ارزانه بيه": 2, 690 | "ارزښت": 2, 691 | "ارمان": 1, 692 | "ارمونى": -5, 693 | "ارنست": 2, 694 | "ارواګانو": -1, 695 | "اړخيزه اغېزه": -2, 696 | "اړکړل": -2, 697 | "اړو": -2, 698 | "ازادیو": 2, 699 | "آزار": -2, 700 | "اسانه": 1, 701 | "استعداد": 2, 702 | "استعفا": -1, 703 | "استعفا وکړه": -1, 704 | "استعفی وکړي": -1, 705 | "استفراق": -3, 706 | "استیضاح": -3, 707 | "آسمان": 2, 708 | "اسماني": 4, 709 | "آسوده": 2, 710 | "اسوېلي": -2, 711 | "اشنا کوي": -1, 712 | "اصولی": -3, 713 | "اصیل": 2, 714 | "اضطراب": -2, 715 | "اعاده": 1, 716 | "اعتبار": 2, 717 | "اعتبار ورکړ": 1, 718 | "اعتبار ورکوي": 1, 719 | "اعتراض": 2, 720 | "اعتراف وکړ": -2 721 | } -------------------------------------------------------------------------------- /build/languages/AFINN-zh-tw.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /build/languages/list.json: -------------------------------------------------------------------------------- 1 | [ 2 | "af", 3 | "am", 4 | "ar", 5 | "az", 6 | "be", 7 | "bg", 8 | "bn", 9 | "bs", 10 | "ca", 11 | "ceb", 12 | "co", 13 | "cs", 14 | "cy", 15 | "da", 16 | "de", 17 | "el", 18 | "en", 19 | "eo", 20 | "es", 21 | "et", 22 | "eu", 23 | "fa", 24 | "fi", 25 | "fr", 26 | "fy", 27 | "ga", 28 | "gd", 29 | "gl", 30 | "gu", 31 | "ha", 32 | "haw", 33 | "hi", 34 | "hmn", 35 | "hr", 36 | "ht", 37 | "hu", 38 | "hy", 39 | "id", 40 | "ig", 41 | "is", 42 | "it", 43 | "iw", 44 | "ja", 45 | "jw", 46 | "ka", 47 | "kk", 48 | "km", 49 | "kn", 50 | "ko", 51 | "ku", 52 | "ky", 53 | "la", 54 | "lb", 55 | "lo", 56 | "lt", 57 | "lv", 58 | "mg", 59 | "mi", 60 | "mk", 61 | "ml", 62 | "mn", 63 | "mr", 64 | "ms", 65 | "mt", 66 | "my", 67 | "ne", 68 | "nl", 69 | "no", 70 | "ny", 71 | "pa", 72 | "pl", 73 | "ps", 74 | "pt", 75 | "ro", 76 | "ru", 77 | "sd", 78 | "si", 79 | "sk", 80 | "sl", 81 | "sm", 82 | "sn", 83 | "so", 84 | "sq", 85 | "sr", 86 | "st", 87 | "su", 88 | "sv", 89 | "sw", 90 | "ta", 91 | "te", 92 | "tg", 93 | "th", 94 | "tl", 95 | "tr", 96 | "uk", 97 | "ur", 98 | "uz", 99 | "vi", 100 | "xh", 101 | "yi", 102 | "yo", 103 | "zhtw", 104 | "zh", 105 | "zu" 106 | ] -------------------------------------------------------------------------------- /build/languages/negators/all.json: -------------------------------------------------------------------------------- 1 | { 2 | "af": [ 3 | "kan nie", 4 | "nie", 5 | "sal nie", 6 | "is nie", 7 | "was nie" 8 | ], 9 | "am": [ 10 | "በቀዳሚ ግምገማዎች ላይ", 11 | "በቀዳሚ ግምገማዎች ላይ ያለው ስምዎ", 12 | "ደረጃ", 13 | "በቀዳሚ", 14 | "በቀዳሚ ግምገማዎች ላይ ያለው", 15 | "ማስጠንቀቂያ ", 16 | "ግምገማዎች ላይ" 17 | ], 18 | "ar": [ 19 | "لا يمكن", 20 | "لا", 21 | "غير", 22 | "لن", 23 | "لم يكن" 24 | ], 25 | "az": [ 26 | "bilmirəm", 27 | "yoxdur", 28 | "otaqlar", 29 | "yox idi" 30 | ], 31 | "be": [ 32 | "не магу", 33 | "не", 34 | "нумары", 35 | "не было" 36 | ], 37 | "bg": [ 38 | "не мога да", 39 | "не", 40 | "стаи", 41 | "не е" 42 | ], 43 | "bn": [ 44 | "পারে না", 45 | "না", 46 | "অ", 47 | "ছিল না" 48 | ], 49 | "bs": [ 50 | "ne mogu", 51 | "ne", 52 | "non", 53 | "nećeš", 54 | "zar ne", 55 | "nije" 56 | ], 57 | "ca": [ 58 | "no pot", 59 | "no" 60 | ], 61 | "ceb": [ 62 | "dili", 63 | "non" 64 | ], 65 | "co": [], 66 | "cs": [ 67 | "nemůžu", 68 | "ne", 69 | "nemá", 70 | "non", 71 | "nebude", 72 | "není", 73 | "nebyl" 74 | ], 75 | "cy": [ 76 | "allwch", 77 | "peidiwch â", 78 | "nid oes", 79 | "nid", 80 | "nad ydynt yn", 81 | "ni fydd", 82 | "nid yw", 83 | "nid oedd" 84 | ], 85 | "da": [ 86 | "kan ikke", 87 | "ikke", 88 | "vil ikke", 89 | "er det ikke", 90 | "var det ikke" 91 | ], 92 | "de": [ 93 | "nicht", 94 | "war nicht" 95 | ], 96 | "el": [ 97 | "δεν μπορεί να", 98 | "δεν", 99 | "μη", 100 | "δεν θα", 101 | "δεν είναι", 102 | "δεν ήταν" 103 | ], 104 | "en": [ 105 | "can't", 106 | "don't", 107 | "doesn't", 108 | "not", 109 | "non", 110 | "won't", 111 | "isn't", 112 | "wasn't" 113 | ], 114 | "eo": [ 115 | "ne povas", 116 | "ne" 117 | ], 118 | "es": [ 119 | "no se puede", 120 | "no", 121 | "no era" 122 | ], 123 | "et": [ 124 | "ei saa", 125 | "ei", 126 | "mitte", 127 | "ei ole", 128 | "ei olnud" 129 | ], 130 | "eu": [ 131 | "ezin", 132 | "ez", 133 | "ez da", 134 | "ez zen" 135 | ], 136 | "fa": [ 137 | "نمی تواند", 138 | "نمی", 139 | "نه", 140 | "غیر", 141 | "نیست", 142 | "نبود" 143 | ], 144 | "fi": [ 145 | "voi", 146 | "älä", 147 | "ei", 148 | "ei ole", 149 | "ei ollut" 150 | ], 151 | "fr": [ 152 | "ne peut pas", 153 | "ne pas", 154 | "pas", 155 | "non", 156 | "ne", 157 | "n'estce pas", 158 | "n'était pas" 159 | ], 160 | "fy": [], 161 | "ga": [ 162 | "ní féidir", 163 | "ná", 164 | "ní", 165 | "neamh", 166 | "ní bheidh", 167 | "nach bhfuil", 168 | "ní raibh" 169 | ], 170 | "gd": [ 171 | "chan urrainn", 172 | "don't", 173 | "doesn'", 174 | "chan eil", 175 | "neo", 176 | "choisinn cha", 177 | "chan eil cha", 178 | "cha robh" 179 | ], 180 | "gl": [ 181 | "non pode", 182 | "non", 183 | "non é", 184 | "non era" 185 | ], 186 | "gu": [ 187 | "નથી કરી શકો છો", 188 | "નથી", 189 | "બિન", 190 | "નહીં", 191 | "ન હતી" 192 | ], 193 | "ha": [], 194 | "haw": [], 195 | "hi": [ 196 | "नहीं कर सकते हैं", 197 | "नहीं", 198 | "गैर", 199 | "नहीं होंगे", 200 | "नहीं है", 201 | "नहीं था" 202 | ], 203 | "hmn": [], 204 | "hr": [ 205 | "ne mogu", 206 | "ne", 207 | "sobe", 208 | "nije bilo" 209 | ], 210 | "ht": [ 211 | "ka", 212 | "pa", 213 | "ki pa peye", 214 | "se pa", 215 | "pa t'" 216 | ], 217 | "hu": [ 218 | "nem" 219 | ], 220 | "hy": [ 221 | "չեմ կարող", 222 | "ոչ", 223 | "սենյակներ", 224 | "չի եղել" 225 | ], 226 | "id": [ 227 | "tidak bisa", 228 | "jangan", 229 | "tidak", 230 | "non" 231 | ], 232 | "ig": [], 233 | "is": [ 234 | "getur ekki", 235 | "ekki", 236 | "skiptir ekki", 237 | "non", 238 | "er ekki", 239 | "var ekki" 240 | ], 241 | "it": [ 242 | "non", 243 | "non può", 244 | "non possono", 245 | "non poteva", 246 | "non potrà", 247 | "non è", 248 | "non sono", 249 | "non saranno", 250 | "non ha", 251 | "non hanno", 252 | "non avrà", 253 | "non aveva", 254 | "non era" 255 | ], 256 | "iw": [], 257 | "ja": [ 258 | "できない", 259 | "な", 260 | "ない", 261 | "不" 262 | ], 263 | "jw": [], 264 | "ka": [ 265 | "არ შეიძლება", 266 | "არ", 267 | "არა", 268 | "არ არის", 269 | "არ იყო" 270 | ], 271 | "kk": [ 272 | "жоқ", 273 | "нөмірлері" 274 | ], 275 | "km": [ 276 | "មិនអាច", 277 | "មិនបាន", 278 | "មិន", 279 | "មិនមែន", 280 | "នឹងមិន" 281 | ], 282 | "kn": [ 283 | "ಸಾಧ್ಯವಿಲ್ಲ", 284 | "ಇಲ್ಲ", 285 | "ಅಲ್ಲ", 286 | "ಅ", 287 | "ಮಾಡುವುದಿಲ್ಲ" 288 | ], 289 | "ko": [ 290 | "할 수 없", 291 | "지", 292 | "비", 293 | "지 않았" 294 | ], 295 | "ku": [], 296 | "ky": [ 297 | "айта албайм", 298 | "эмес", 299 | "номерин", 300 | "болгон эмес" 301 | ], 302 | "la": [ 303 | "non potest", 304 | "non" 305 | ], 306 | "lb": [ 307 | "net", 308 | "war net" 309 | ], 310 | "lo": [ 311 | "ບໍ່ສາມາດ", 312 | "ບໍ່", 313 | "ບໍ່ໄດ້", 314 | "ຈະບໍ່ໄດ້", 315 | "ບໍ່ແມ່ນ" 316 | ], 317 | "lt": [ 318 | "negaliu", 319 | "nereikia", 320 | "nėra", 321 | "ne", 322 | "nebus", 323 | "nebuvau" 324 | ], 325 | "lv": [ 326 | "nevar", 327 | "nav", 328 | "nebūs", 329 | "nebija" 330 | ], 331 | "mg": [ 332 | "tsy afaka", 333 | "tsy" 334 | ], 335 | "mi": [ 336 | "e kore e taea e", 337 | "kaua e", 338 | "e kore e", 339 | "kore", 340 | "e kore te mea", 341 | "kihai i" 342 | ], 343 | "mk": [ 344 | "не може да се", 345 | "не", 346 | "нема да", 347 | "не е", 348 | "не беше" 349 | ], 350 | "ml": [ 351 | "കഴിയില്ല.", 352 | "don ' t", 353 | "ഇല്ല", 354 | "അല്ല", 355 | "non", 356 | "won ' t", 357 | "ആയിരുന്നില്ല." 358 | ], 359 | "mn": [ 360 | "чадахгүй", 361 | "байхгүй бол", 362 | "биш", 363 | "бус", 364 | "байх болно", 365 | "биш байсан" 366 | ], 367 | "mr": [ 368 | "करू शकत नाही", 369 | "नाही", 370 | "अ", 371 | "होणार नाही" 372 | ], 373 | "ms": [ 374 | "tidak boleh", 375 | "jangan", 376 | "tidak", 377 | "bukan", 378 | "tidak akan", 379 | "bukankah" 380 | ], 381 | "mt": [ 382 | "ma tista", 383 | "ma", 384 | "mhux", 385 | "mhux se", 386 | "mhuwiex", 387 | "ma kienx" 388 | ], 389 | "my": [ 390 | "မ", 391 | "ဘူး", 392 | "မည်မဟုတ်", 393 | "မဟုတ်ခဲ့" 394 | ], 395 | "ne": [ 396 | "सक्दैन", 397 | "छैन", 398 | "गैर", 399 | "थिएन" 400 | ], 401 | "nl": [ 402 | "kan niet", 403 | "niet", 404 | "was niet" 405 | ], 406 | "no": [ 407 | "kan ikke", 408 | "ikke", 409 | "var ikke" 410 | ], 411 | "ny": [], 412 | "pa": [ 413 | "ਨਾ ਕਰ ਸਕਦਾ ਹੈ", 414 | "ਨਾ ਕਰੋ", 415 | "ਨਹੀ ਕਰਦਾ ਹੈ", 416 | "ਨਾ", 417 | "ਗੈਰ", 418 | "ਨਾ ਕਰੇਗਾ", 419 | "ਨਹੀ ਹੈ,", 420 | "ਨਾ ਕੀਤਾ ਗਿਆ ਸੀ" 421 | ], 422 | "pl": [ 423 | "nie mogę", 424 | "nie", 425 | "pokoje", 426 | "nie było" 427 | ], 428 | "ps": [], 429 | "pt": [ 430 | "não pode", 431 | "não", 432 | "não era" 433 | ], 434 | "ro": [ 435 | "nu pot", 436 | "nu", 437 | "non" 438 | ], 439 | "ru": [ 440 | "не могу", 441 | "не", 442 | "номера", 443 | "не было" 444 | ], 445 | "sd": [], 446 | "si": [ 447 | "බෑ", 448 | "නෑ", 449 | "නොවන", 450 | "නේද" 451 | ], 452 | "sk": [ 453 | "neda", 454 | "nemám", 455 | "nemá", 456 | "nie", 457 | "non", 458 | "nebude", 459 | "nie je", 460 | "nebol" 461 | ], 462 | "sl": [ 463 | "ne morem", 464 | "ne", 465 | "ni", 466 | "ni bilo" 467 | ], 468 | "sm": [], 469 | "sn": [], 470 | "so": [], 471 | "sq": [ 472 | "nuk mund të", 473 | "nuk", 474 | "jo", 475 | "nuk do të", 476 | "nuk është e", 477 | "nuk ishte" 478 | ], 479 | "sr": [ 480 | "не могу да", 481 | "не", 482 | "бројеви", 483 | "није било" 484 | ], 485 | "st": [], 486 | "su": [ 487 | "bisa", 488 | "teu", 489 | "non", 490 | "moal" 491 | ], 492 | "sv": [ 493 | "kan inte", 494 | "inte", 495 | "icke", 496 | "var inte" 497 | ], 498 | "sw": [ 499 | "hawezi", 500 | "je, si", 501 | "haina", 502 | "si", 503 | "mashirika yasiyo ya", 504 | "haikuwa" 505 | ], 506 | "ta": [ 507 | "முடியாது", 508 | "வேண்டாம்", 509 | "இல்லை", 510 | "அல்லாத" 511 | ], 512 | "te": [ 513 | "కాదు", 514 | "లేదు", 515 | "నాన్", 516 | "won ' t" 517 | ], 518 | "tg": [ 519 | "наметавонам", 520 | "не", 521 | "рақамҳои", 522 | "буд," 523 | ], 524 | "th": [ 525 | "ไม่สามารถ", 526 | "ไม่", 527 | "ไม่ใช่" 528 | ], 529 | "tl": [ 530 | "hindi", 531 | "di" 532 | ], 533 | "tr": [ 534 | "yapamam", 535 | "yapma", 536 | "değil", 537 | "olmayan", 538 | "olmaz", 539 | "değildi" 540 | ], 541 | "uk": [ 542 | "не можу", 543 | "не", 544 | "номери", 545 | "не було" 546 | ], 547 | "ur": [ 548 | "نہیں کر سکتے ہیں", 549 | "نہیں", 550 | "غیر", 551 | "نہیں تھا" 552 | ], 553 | "uz": [ 554 | "mumkin emas", 555 | "yo'q", 556 | "yo'q qilmaydi,", 557 | "nooziq", 558 | "bo'lmaydi", 559 | "yo'q emas", 560 | "emas edi" 561 | ], 562 | "vi": [ 563 | "không thể", 564 | "đừng", 565 | "đó không", 566 | "không", 567 | "sẽ không", 568 | "phải không", 569 | "không phải" 570 | ], 571 | "xh": [ 572 | "andinaku", 573 | "musa", 574 | "akuthethi ukuba", 575 | "hayi", 576 | "non", 577 | "uphumelele khange", 578 | "ayonto", 579 | "akusebenzi khange" 580 | ], 581 | "yi": [ 582 | "קענען ניט", 583 | "טאָן ניט", 584 | "טוט ניט", 585 | "ניט", 586 | "וועט ניט", 587 | "איז נישט" 588 | ], 589 | "yo": [], 590 | "zhtw": [], 591 | "zh": [ 592 | "不能", 593 | "不不", 594 | "不", 595 | "非", 596 | "会不会", 597 | "是不是" 598 | ], 599 | "zu": [] 600 | } -------------------------------------------------------------------------------- /build/languages/negators/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | negators: require('./all.json'), 3 | defaultCoeff: 1, 4 | find: function(word, lang) { 5 | for (var i in this.negators[lang]) { 6 | if (this.negators[lang][i] === word) { 7 | return true; 8 | } 9 | } 10 | return false; 11 | } 12 | }; 13 | -------------------------------------------------------------------------------- /build/output/build-is.json: -------------------------------------------------------------------------------- 1 | {"😂":{"coeff":1,"lang":"*"},"❤":{"coeff":3,"lang":"*"},"♥":{"coeff":3,"lang":"*"},"😍":{"coeff":3,"lang":"*"},"😭":{"coeff":-1,"lang":"*"},"😘":{"coeff":3,"lang":"*"},"😊":{"coeff":3,"lang":"*"},"👌":{"coeff":2,"lang":"*"},"💕":{"coeff":3,"lang":"*"},"👏":{"coeff":2,"lang":"*"},"😁":{"coeff":2,"lang":"*"},"☺":{"coeff":3,"lang":"*"},"♡":{"coeff":3,"lang":"*"},"👍":{"coeff":2,"lang":"*"},"😩":{"coeff":-2,"lang":"*"},"🙏":{"coeff":2,"lang":"*"},"✌":{"coeff":2,"lang":"*"},"😏":{"coeff":1,"lang":"*"},"😉":{"coeff":2,"lang":"*"},"🙌":{"coeff":2,"lang":"*"},"🙈":{"coeff":2,"lang":"*"},"💪":{"coeff":2,"lang":"*"},"😄":{"coeff":2,"lang":"*"},"😒":{"coeff":-2,"lang":"*"},"💃":{"coeff":3,"lang":"*"},"💖":{"coeff":3,"lang":"*"},"😃":{"coeff":2,"lang":"*"},"😔":{"coeff":-1,"lang":"*"},"🎉":{"coeff":3,"lang":"*"},"😜":{"coeff":2,"lang":"*"},"🌸":{"coeff":3,"lang":"*"},"💜":{"coeff":3,"lang":"*"},"💙":{"coeff":3,"lang":"*"},"✨":{"coeff":1,"lang":"*"},"💗":{"coeff":3,"lang":"*"},"★":{"coeff":1,"lang":"*"},"█":{"coeff":-1,"lang":"*"},"☀":{"coeff":2,"lang":"*"},"😡":{"coeff":-1,"lang":"*"},"😎":{"coeff":2,"lang":"*"},"💋":{"coeff":3,"lang":"*"},"😋":{"coeff":3,"lang":"*"},"🙊":{"coeff":2,"lang":"*"},"😴":{"coeff":-1,"lang":"*"},"🎶":{"coeff":2,"lang":"*"},"💞":{"coeff":3,"lang":"*"},"😌":{"coeff":2,"lang":"*"},"🔫":{"coeff":-1,"lang":"*"},"💛":{"coeff":3,"lang":"*"},"💁":{"coeff":1,"lang":"*"},"💚":{"coeff":3,"lang":"*"},"♫":{"coeff":1,"lang":"*"},"😞":{"coeff":-1,"lang":"*"},"😆":{"coeff":2,"lang":"*"},"😝":{"coeff":2,"lang":"*"},"😪":{"coeff":-1,"lang":"*"},"😫":{"coeff":-1,"lang":"*"},"👊":{"coeff":1,"lang":"*"},"💀":{"coeff":-2,"lang":"*"},"😀":{"coeff":2,"lang":"*"},"😚":{"coeff":3,"lang":"*"},"😻":{"coeff":3,"lang":"*"},"💘":{"coeff":3,"lang":"*"},"☕":{"coeff":1,"lang":"*"},"👋":{"coeff":2,"lang":"*"},"🎊":{"coeff":3,"lang":"*"},"🍕":{"coeff":2,"lang":"*"},"❄":{"coeff":2,"lang":"*"},"😕":{"coeff":-2,"lang":"*"},"💔":{"coeff":-1,"lang":"*"},"😤":{"coeff":-2,"lang":"*"},"😈":{"coeff":1,"lang":"*"},"✈":{"coeff":2,"lang":"*"},"🔝":{"coeff":2,"lang":"*"},"😰":{"coeff":-1,"lang":"*"},"⚽":{"coeff":3,"lang":"*"},"😑":{"coeff":-2,"lang":"*"},"👑":{"coeff":3,"lang":"*"},"👉":{"coeff":1,"lang":"*"},"🍃":{"coeff":1,"lang":"*"},"🎁":{"coeff":3,"lang":"*"},"😠":{"coeff":-2,"lang":"*"},"🐧":{"coeff":2,"lang":"*"},"☆":{"coeff":2,"lang":"*"},"🍀":{"coeff":1,"lang":"*"},"🎈":{"coeff":3,"lang":"*"},"🎅":{"coeff":1,"lang":"*"},"😓":{"coeff":-1,"lang":"*"},"😣":{"coeff":-2,"lang":"*"},"😐":{"coeff":-2,"lang":"*"},"✊":{"coeff":2,"lang":"*"},"😨":{"coeff":-1,"lang":"*"},"😖":{"coeff":-1,"lang":"*"},"💤":{"coeff":1,"lang":"*"},"💓":{"coeff":3,"lang":"*"},"👎":{"coeff":-1,"lang":"*"},"💦":{"coeff":2,"lang":"*"},"✔":{"coeff":1,"lang":"*"},"😷":{"coeff":-1,"lang":"*"},"🙋":{"coeff":2,"lang":"*"},"🎄":{"coeff":2,"lang":"*"},"💩":{"coeff":-1,"lang":"*"},"🎵":{"coeff":2,"lang":"*"},"😛":{"coeff":3,"lang":"*"},"👯":{"coeff":2,"lang":"*"},"💎":{"coeff":2,"lang":"*"},"🌿":{"coeff":1,"lang":"*"},"🎂":{"coeff":3,"lang":"*"},"🌟":{"coeff":1,"lang":"*"},"🔮":{"coeff":1,"lang":"*"},"👫":{"coeff":1,"lang":"*"},"🏆":{"coeff":3,"lang":"*"},"✖":{"coeff":1,"lang":"*"},"☝":{"coeff":1,"lang":"*"},"😙":{"coeff":3,"lang":"*"},"⛄":{"coeff":2,"lang":"*"},"👅":{"coeff":2,"lang":"*"},"♪":{"coeff":2,"lang":"*"},"🍂":{"coeff":2,"lang":"*"},"💏":{"coeff":1,"lang":"*"},"🌴":{"coeff":2,"lang":"*"},"👈":{"coeff":2,"lang":"*"},"🌹":{"coeff":3,"lang":"*"},"🙆":{"coeff":2,"lang":"*"},"👻":{"coeff":1,"lang":"*"},"💰":{"coeff":1,"lang":"*"},"🍻":{"coeff":2,"lang":"*"},"🙅":{"coeff":-2,"lang":"*"},"🌞":{"coeff":2,"lang":"*"},"🍁":{"coeff":2,"lang":"*"},"⭐":{"coeff":2,"lang":"*"},"▪":{"coeff":1,"lang":"*"},"🎀":{"coeff":3,"lang":"*"},"🐷":{"coeff":1,"lang":"*"},"🙉":{"coeff":1,"lang":"*"},"🌺":{"coeff":2,"lang":"*"},"💅":{"coeff":1,"lang":"*"},"🐶":{"coeff":2,"lang":"*"},"🌚":{"coeff":2,"lang":"*"},"👽":{"coeff":1,"lang":"*"},"🎤":{"coeff":2,"lang":"*"},"👭":{"coeff":2,"lang":"*"},"🎧":{"coeff":2,"lang":"*"},"👆":{"coeff":1,"lang":"*"},"🍸":{"coeff":2,"lang":"*"},"🍷":{"coeff":2,"lang":"*"},"®":{"coeff":1,"lang":"*"},"🍉":{"coeff":3,"lang":"*"},"😇":{"coeff":3,"lang":"*"},"🏃":{"coeff":2,"lang":"*"},"😿":{"coeff":-2,"lang":"*"},"│":{"coeff":1,"lang":"*"},"🍺":{"coeff":2,"lang":"*"},"▶":{"coeff":1,"lang":"*"},"😲":{"coeff":-1,"lang":"*"},"🎸":{"coeff":2,"lang":"*"},"🍹":{"coeff":3,"lang":"*"},"💫":{"coeff":2,"lang":"*"},"📚":{"coeff":1,"lang":"*"},"😶":{"coeff":-1,"lang":"*"},"🌷":{"coeff":2,"lang":"*"},"💝":{"coeff":3,"lang":"*"},"💨":{"coeff":1,"lang":"*"},"🏈":{"coeff":2,"lang":"*"},"💍":{"coeff":2,"lang":"*"},"☔":{"coeff":1,"lang":"*"},"👸":{"coeff":3,"lang":"*"},"🇪":{"coeff":3,"lang":"*"},"░":{"coeff":-1,"lang":"*"},"🍩":{"coeff":1,"lang":"*"},"👾":{"coeff":1,"lang":"*"},"☁":{"coeff":1,"lang":"*"},"🌻":{"coeff":2,"lang":"*"},"↿":{"coeff":3,"lang":"*"},"🐯":{"coeff":2,"lang":"*"},"👼":{"coeff":1,"lang":"*"},"🍔":{"coeff":1,"lang":"*"},"😸":{"coeff":2,"lang":"*"},"👶":{"coeff":2,"lang":"*"},"↾":{"coeff":3,"lang":"*"},"💐":{"coeff":3,"lang":"*"},"🌊":{"coeff":2,"lang":"*"},"🍦":{"coeff":2,"lang":"*"},"🍓":{"coeff":3,"lang":"*"},"👇":{"coeff":1,"lang":"*"},"💆":{"coeff":1,"lang":"*"},"🍴":{"coeff":2,"lang":"*"},"😧":{"coeff":-1,"lang":"*"},"🇸":{"coeff":2,"lang":"*"},"😮":{"coeff":1,"lang":"*"},"🚫":{"coeff":-3,"lang":"*"},"😽":{"coeff":2,"lang":"*"},"🌈":{"coeff":2,"lang":"*"},"🙀":{"coeff":1,"lang":"*"},"⚠":{"coeff":-1,"lang":"*"},"🎮":{"coeff":2,"lang":"*"},"╯":{"coeff":-1,"lang":"*"},"🍆":{"coeff":2,"lang":"*"},"🍰":{"coeff":2,"lang":"*"},"✓":{"coeff":1,"lang":"*"},"👐":{"coeff":-1,"lang":"*"},"🍟":{"coeff":1,"lang":"*"},"🍌":{"coeff":2,"lang":"*"},"💑":{"coeff":3,"lang":"*"},"👬":{"coeff":-1,"lang":"*"},"🐣":{"coeff":2,"lang":"*"},"🎃":{"coeff":3,"lang":"*"},"▬":{"coeff":2,"lang":"*"},"":{"coeff":-3,"lang":"*"},"🐾":{"coeff":3,"lang":"*"},"🎓":{"coeff":2,"lang":"*"},"🏊":{"coeff":2,"lang":"*"},"📷":{"coeff":2,"lang":"*"},"👄":{"coeff":2,"lang":"*"},"🌼":{"coeff":4,"lang":"*"},"🚶":{"coeff":-1,"lang":"*"},"🐱":{"coeff":2,"lang":"*"},"🐸":{"coeff":-1,"lang":"*"},"🇺":{"coeff":2,"lang":"*"},"👿":{"coeff":-3,"lang":"*"},"🚬":{"coeff":2,"lang":"*"},"✿":{"coeff":1,"lang":"*"},"🐒":{"coeff":2,"lang":"*"},"🌍":{"coeff":3,"lang":"*"},"┊":{"coeff":5,"lang":"*"},"🐥":{"coeff":3,"lang":"*"},"🐼":{"coeff":1,"lang":"*"},"🎥":{"coeff":1,"lang":"*"},"💄":{"coeff":2,"lang":"*"},"⛔":{"coeff":2,"lang":"*"},"🏀":{"coeff":1,"lang":"*"},"💉":{"coeff":1,"lang":"*"},"💟":{"coeff":3,"lang":"*"},"🚗":{"coeff":1,"lang":"*"},"📝":{"coeff":1,"lang":"*"},"♦":{"coeff":2,"lang":"*"},"💭":{"coeff":1,"lang":"*"},"🌙":{"coeff":3,"lang":"*"},"🐟":{"coeff":3,"lang":"*"},"👣":{"coeff":1,"lang":"*"},"✂":{"coeff":-3,"lang":"*"},"🗿":{"coeff":2,"lang":"*"},"👪":{"coeff":-1,"lang":"*"},"🍭":{"coeff":1,"lang":"*"},"🌃":{"coeff":2,"lang":"*"},"❌":{"coeff":1,"lang":"*"},"🐰":{"coeff":3,"lang":"*"},"💊":{"coeff":2,"lang":"*"},"🚨":{"coeff":3,"lang":"*"},"😦":{"coeff":-2,"lang":"*"},"🍪":{"coeff":1,"lang":"*"},"🍣":{"coeff":-2,"lang":"*"},"✧":{"coeff":1,"lang":"*"},"🎆":{"coeff":3,"lang":"*"},"🎎":{"coeff":4,"lang":"*"},"🇩":{"coeff":3,"lang":"*"},"✅":{"coeff":2,"lang":"*"},"📱":{"coeff":1,"lang":"*"},"🙍":{"coeff":-2,"lang":"*"},"🍑":{"coeff":1,"lang":"*"},"🎼":{"coeff":1,"lang":"*"},"🔊":{"coeff":2,"lang":"*"},"🌌":{"coeff":2,"lang":"*"},"🍎":{"coeff":1,"lang":"*"},"🐻":{"coeff":2,"lang":"*"},"╰":{"coeff":-1,"lang":"*"},"💇":{"coeff":1,"lang":"*"},"♬":{"coeff":1,"lang":"*"},"🔴":{"coeff":2,"lang":"*"},"🍱":{"coeff":-2,"lang":"*"},"🍊":{"coeff":2,"lang":"*"},"🍒":{"coeff":1,"lang":"*"},"🐭":{"coeff":3,"lang":"*"},"👟":{"coeff":2,"lang":"*"},"🌎":{"coeff":1,"lang":"*"},"🍍":{"coeff":2,"lang":"*"},"🐮":{"coeff":3,"lang":"*"},"📲":{"coeff":1,"lang":"*"},"☼":{"coeff":1,"lang":"*"},"🌅":{"coeff":1,"lang":"*"},"🇷":{"coeff":3,"lang":"*"},"👠":{"coeff":1,"lang":"*"},"🌽":{"coeff":2,"lang":"*"},"💧":{"coeff":-1,"lang":"*"},"🍬":{"coeff":1,"lang":"*"},"😺":{"coeff":2,"lang":"*"},"🚀":{"coeff":2,"lang":"*"},"¦":{"coeff":3,"lang":"*"},"💢":{"coeff":1,"lang":"*"},"🎬":{"coeff":1,"lang":"*"},"🍧":{"coeff":1,"lang":"*"},"🍜":{"coeff":2,"lang":"*"},"🐏":{"coeff":3,"lang":"*"},"🏄":{"coeff":2,"lang":"*"},"➤":{"coeff":1,"lang":"*"},"⬆":{"coeff":1,"lang":"*"},"🍋":{"coeff":1,"lang":"*"},"🆗":{"coeff":2,"lang":"*"},"⚪":{"coeff":2,"lang":"*"},"📺":{"coeff":2,"lang":"*"},"🍅":{"coeff":1,"lang":"*"},"⛅":{"coeff":2,"lang":"*"},"🐢":{"coeff":1,"lang":"*"},"👙":{"coeff":2,"lang":"*"},"🏡":{"coeff":2,"lang":"*"},"🌾":{"coeff":2,"lang":"*"},"◉":{"coeff":1,"lang":"*"},"✏":{"coeff":1,"lang":"*"},"🐬":{"coeff":2,"lang":"*"},"🇹":{"coeff":3,"lang":"*"},"♣":{"coeff":1,"lang":"*"},"🐝":{"coeff":1,"lang":"*"},"🌝":{"coeff":1,"lang":"*"},"🇮":{"coeff":3,"lang":"*"},"🔋":{"coeff":-3,"lang":"*"},"🐍":{"coeff":1,"lang":"*"},"♔":{"coeff":2,"lang":"*"},"🔵":{"coeff":1,"lang":"*"},"😾":{"coeff":-2,"lang":"*"},"🌕":{"coeff":3,"lang":"*"},"🐨":{"coeff":2,"lang":"*"},"🔐":{"coeff":1,"lang":"*"},"💿":{"coeff":3,"lang":"*"},"🌳":{"coeff":2,"lang":"*"},"👰":{"coeff":2,"lang":"*"},"❀":{"coeff":2,"lang":"*"},"⚓":{"coeff":3,"lang":"*"},"🚴":{"coeff":3,"lang":"*"},"▀":{"coeff":-1,"lang":"*"},"👗":{"coeff":1,"lang":"*"},"➕":{"coeff":2,"lang":"*"},"💬":{"coeff":2,"lang":"*"},"▒":{"coeff":-1,"lang":"*"},"🔜":{"coeff":1,"lang":"*"},"🍨":{"coeff":1,"lang":"*"},"💲":{"coeff":1,"lang":"*"},"🍙":{"coeff":1,"lang":"*"},"🍥":{"coeff":-4,"lang":"*"},"▸":{"coeff":1,"lang":"*"},"♛":{"coeff":1,"lang":"*"},"😼":{"coeff":1,"lang":"*"},"🐙":{"coeff":2,"lang":"*"},"👨":{"coeff":2,"lang":"*"},"🍚":{"coeff":2,"lang":"*"},"♨":{"coeff":4,"lang":"*"},"🎹":{"coeff":1,"lang":"*"},"♕":{"coeff":2,"lang":"*"},"▃":{"coeff":5,"lang":"*"},"🇬":{"coeff":1,"lang":"*"},"🇧":{"coeff":1,"lang":"*"},"☠":{"coeff":-1,"lang":"*"},"🐠":{"coeff":2,"lang":"*"},"🚹":{"coeff":3,"lang":"*"},"💵":{"coeff":2,"lang":"*"},"✰":{"coeff":4,"lang":"*"},"╠":{"coeff":1,"lang":"*"},"👛":{"coeff":2,"lang":"*"},"🌱":{"coeff":3,"lang":"*"},"💻":{"coeff":1,"lang":"*"},"🌏":{"coeff":1,"lang":"*"},"▄":{"coeff":-1,"lang":"*"},"👓":{"coeff":1,"lang":"*"},"◄":{"coeff":1,"lang":"*"},"⚾":{"coeff":-1,"lang":"*"},"🌲":{"coeff":2,"lang":"*"},"👴":{"coeff":1,"lang":"*"},"🏠":{"coeff":2,"lang":"*"},"🍇":{"coeff":1,"lang":"*"},"🍘":{"coeff":2,"lang":"*"},"🐇":{"coeff":1,"lang":"*"},"🔞":{"coeff":-1,"lang":"*"},"👵":{"coeff":2,"lang":"*"},"◀":{"coeff":1,"lang":"*"},"🔙":{"coeff":1,"lang":"*"},"🌵":{"coeff":1,"lang":"*"},"🍮":{"coeff":-1,"lang":"*"},"🎇":{"coeff":3,"lang":"*"},"🐎":{"coeff":2,"lang":"*"},"➔":{"coeff":-1,"lang":"*"},"🐤":{"coeff":2,"lang":"*"},"╩":{"coeff":1,"lang":"*"},"🌑":{"coeff":2,"lang":"*"},"🚲":{"coeff":2,"lang":"*"},"🐑":{"coeff":-1,"lang":"*"},"🏁":{"coeff":2,"lang":"*"},"🎾":{"coeff":3,"lang":"*"},"╚":{"coeff":1,"lang":"*"},"🈹":{"coeff":1,"lang":"*"},"👮":{"coeff":-2,"lang":"*"},"☹":{"coeff":-3,"lang":"*"},"🐵":{"coeff":2,"lang":"*"},"✪":{"coeff":1,"lang":"*"},"◕":{"coeff":2,"lang":"*"},"🗼":{"coeff":3,"lang":"*"},"▐":{"coeff":-1,"lang":"*"},"♠":{"coeff":1,"lang":"*"},"┳":{"coeff":-2,"lang":"*"},"👺":{"coeff":-2,"lang":"*"},"🐚":{"coeff":1,"lang":"*"},"👂":{"coeff":-1,"lang":"*"},"🗽":{"coeff":1,"lang":"*"},"🍵":{"coeff":2,"lang":"*"},"🆒":{"coeff":2,"lang":"*"},"🐺":{"coeff":1,"lang":"*"},"⇨":{"coeff":2,"lang":"*"},"🌓":{"coeff":3,"lang":"*"},"🔒":{"coeff":1,"lang":"*"},"╬":{"coeff":-1,"lang":"*"},"👳":{"coeff":3,"lang":"*"},"🌂":{"coeff":1,"lang":"*"},"🚌":{"coeff":1,"lang":"*"},"♩":{"coeff":3,"lang":"*"},"🍡":{"coeff":-1,"lang":"*"},"❥":{"coeff":1,"lang":"*"},"🎡":{"coeff":1,"lang":"*"},"💌":{"coeff":2,"lang":"*"},"🐩":{"coeff":2,"lang":"*"},"🌜":{"coeff":2,"lang":"*"},"⌚":{"coeff":1,"lang":"*"},"🚿":{"coeff":3,"lang":"*"},"🔆":{"coeff":3,"lang":"*"},"🌛":{"coeff":3,"lang":"*"},"💂":{"coeff":-1,"lang":"*"},"🐔":{"coeff":1,"lang":"*"},"🙎":{"coeff":-1,"lang":"*"},"🏩":{"coeff":2,"lang":"*"},"🇫":{"coeff":2,"lang":"*"},"🔨":{"coeff":-1,"lang":"*"},"📢":{"coeff":2,"lang":"*"},"🐦":{"coeff":2,"lang":"*"},"🐲":{"coeff":-1,"lang":"*"},"♻":{"coeff":2,"lang":"*"},"🌘":{"coeff":3,"lang":"*"},"🌔":{"coeff":3,"lang":"*"},"👖":{"coeff":2,"lang":"*"},"😗":{"coeff":3,"lang":"*"},"🐄":{"coeff":1,"lang":"*"},"◟":{"coeff":-1,"lang":"*"},"🍢":{"coeff":-1,"lang":"*"},"🎨":{"coeff":1,"lang":"*"},"⬇":{"coeff":2,"lang":"*"},"🚼":{"coeff":3,"lang":"*"},"🇴":{"coeff":2,"lang":"*"},"🌗":{"coeff":3,"lang":"*"},"🌖":{"coeff":3,"lang":"*"},"🔅":{"coeff":5,"lang":"*"},"👜":{"coeff":1,"lang":"*"},"🐌":{"coeff":3,"lang":"*"},"💼":{"coeff":3,"lang":"*"},"🐹":{"coeff":1,"lang":"*"},"🌠":{"coeff":3,"lang":"*"},"🐈":{"coeff":1,"lang":"*"},"🌁":{"coeff":1,"lang":"*"},"⚫":{"coeff":1,"lang":"*"},"♧":{"coeff":2,"lang":"*"},"🏰":{"coeff":1,"lang":"*"},"🚵":{"coeff":2,"lang":"*"},"🎢":{"coeff":2,"lang":"*"},"🎷":{"coeff":3,"lang":"*"},"🎐":{"coeff":1,"lang":"*"},"┈":{"coeff":-4,"lang":"*"},"╗":{"coeff":2,"lang":"*"},"🌇":{"coeff":3,"lang":"*"},"⏰":{"coeff":2,"lang":"*"},"🚂":{"coeff":1,"lang":"*"},"◠":{"coeff":2,"lang":"*"},"🎿":{"coeff":2,"lang":"*"},"🆔":{"coeff":4,"lang":"*"},"🌒":{"coeff":3,"lang":"*"},"🐪":{"coeff":3,"lang":"*"},"╔":{"coeff":1,"lang":"*"},"╝":{"coeff":2,"lang":"*"},"👔":{"coeff":2,"lang":"*"},"🆓":{"coeff":1,"lang":"*"},"🐋":{"coeff":1,"lang":"*"},"▽":{"coeff":2,"lang":"*"},"🐛":{"coeff":1,"lang":"*"},"👕":{"coeff":2,"lang":"*"},"💳":{"coeff":2,"lang":"*"},"🏧":{"coeff":5,"lang":"*"},"💡":{"coeff":3,"lang":"*"},"⬅":{"coeff":2,"lang":"*"},"🐫":{"coeff":2,"lang":"*"},"🇱":{"coeff":2,"lang":"*"},"📹":{"coeff":2,"lang":"*"},"👞":{"coeff":2,"lang":"*"},"👚":{"coeff":3,"lang":"*"},"□":{"coeff":-2,"lang":"*"},"🚣":{"coeff":3,"lang":"*"},"🏉":{"coeff":3,"lang":"*"},"🗻":{"coeff":3,"lang":"*"},"╦":{"coeff":2,"lang":"*"},"⛺":{"coeff":3,"lang":"*"},"🐕":{"coeff":1,"lang":"*"},"🏂":{"coeff":2,"lang":"*"},"👡":{"coeff":2,"lang":"*"},"📻":{"coeff":2,"lang":"*"},"✒":{"coeff":1,"lang":"*"},"🌰":{"coeff":3,"lang":"*"},"🏢":{"coeff":1,"lang":"*"},"🎒":{"coeff":3,"lang":"*"},"⌒":{"coeff":3,"lang":"*"},"🏫":{"coeff":-2,"lang":"*"},"📴":{"coeff":4,"lang":"*"},"🚢":{"coeff":1,"lang":"*"},"🚚":{"coeff":-1,"lang":"*"},"🐉":{"coeff":1,"lang":"*"},"❒":{"coeff":1,"lang":"*"},"🔔":{"coeff":5,"lang":"*"},"◢":{"coeff":4,"lang":"*"},"🏥":{"coeff":1,"lang":"*"},"🚖":{"coeff":-1,"lang":"*"},"▌":{"coeff":-2,"lang":"*"},"☛":{"coeff":2,"lang":"*"},"💒":{"coeff":3,"lang":"*"},"🚤":{"coeff":2,"lang":"*"},"🐐":{"coeff":2,"lang":"*"},"■":{"coeff":-2,"lang":"*"},"🔚":{"coeff":2,"lang":"*"},"🎻":{"coeff":2,"lang":"*"},"🔷":{"coeff":1,"lang":"*"},"🎽":{"coeff":2,"lang":"*"},"📅":{"coeff":1,"lang":"*"},"🎺":{"coeff":3,"lang":"*"},"🍈":{"coeff":-3,"lang":"*"},"✉":{"coeff":1,"lang":"*"},"◤":{"coeff":5,"lang":"*"},"○":{"coeff":3,"lang":"*"},"🍼":{"coeff":3,"lang":"*"},"🚛":{"coeff":-2,"lang":"*"},"📓":{"coeff":1,"lang":"*"},"☉":{"coeff":1,"lang":"*"},"💴":{"coeff":-2,"lang":"*"},"➰":{"coeff":-1,"lang":"*"},"🔌":{"coeff":-1,"lang":"*"},"📕":{"coeff":1,"lang":"*"},"📣":{"coeff":2,"lang":"*"},"🚓":{"coeff":1,"lang":"*"},"🐗":{"coeff":3,"lang":"*"},"⛳":{"coeff":4,"lang":"*"},"┻":{"coeff":-3,"lang":"*"},"┛":{"coeff":3,"lang":"*"},"┃":{"coeff":2,"lang":"*"},"💺":{"coeff":1,"lang":"*"},"🏇":{"coeff":-1,"lang":"*"},"☻":{"coeff":1,"lang":"*"},"📞":{"coeff":2,"lang":"*"},"Ⓐ":{"coeff":-1,"lang":"*"},"🌉":{"coeff":3,"lang":"*"},"🚩":{"coeff":-2,"lang":"*"},"✎":{"coeff":3,"lang":"*"},"📃":{"coeff":2,"lang":"*"},"🏨":{"coeff":1,"lang":"*"},"📌":{"coeff":-3,"lang":"*"},"♎":{"coeff":-1,"lang":"*"},"💷":{"coeff":2,"lang":"*"},"🚄":{"coeff":3,"lang":"*"},"▲":{"coeff":3,"lang":"*"},"⛵":{"coeff":3,"lang":"*"},"🔸":{"coeff":1,"lang":"*"},"🚜":{"coeff":5,"lang":"*"},"🐆":{"coeff":2,"lang":"*"},"👒":{"coeff":1,"lang":"*"},"❕":{"coeff":1,"lang":"*"},"🔛":{"coeff":2,"lang":"*"},"♢":{"coeff":2,"lang":"*"},"🇲":{"coeff":2,"lang":"*"},"❅":{"coeff":4,"lang":"*"},"👝":{"coeff":2,"lang":"*"},"✞":{"coeff":2,"lang":"*"},"◡":{"coeff":1,"lang":"*"},"🎋":{"coeff":3,"lang":"*"},"👥":{"coeff":1,"lang":"*"},"🐡":{"coeff":1,"lang":"*"},"◆":{"coeff":4,"lang":"*"},"🔭":{"coeff":2,"lang":"*"},"🎪":{"coeff":1,"lang":"*"},"🐜":{"coeff":3,"lang":"*"},"♌":{"coeff":4,"lang":"*"},"☐":{"coeff":-5,"lang":"*"},"👷":{"coeff":1,"lang":"*"},"🔈":{"coeff":1,"lang":"*"},"📄":{"coeff":5,"lang":"*"},"🚐":{"coeff":4,"lang":"*"},"🌋":{"coeff":3,"lang":"*"},"📡":{"coeff":1,"lang":"*"},"🚳":{"coeff":5,"lang":"*"},"✘":{"coeff":4,"lang":"*"},"🅰":{"coeff":1,"lang":"*"},"🇼":{"coeff":2,"lang":"*"},"┓":{"coeff":3,"lang":"*"},"┣":{"coeff":3,"lang":"*"},"Ⓛ":{"coeff":2,"lang":"*"},"Ⓔ":{"coeff":2,"lang":"*"},"👤":{"coeff":4,"lang":"*"},"🚁":{"coeff":1,"lang":"*"},"🎠":{"coeff":3,"lang":"*"},"🐁":{"coeff":-2,"lang":"*"},"📗":{"coeff":1,"lang":"*"},"┐":{"coeff":-1,"lang":"*"},"♂":{"coeff":1,"lang":"*"},"📯":{"coeff":-1,"lang":"*"},"🔩":{"coeff":1,"lang":"*"},"👢":{"coeff":4,"lang":"*"},"◂":{"coeff":2,"lang":"*"},"📰":{"coeff":1,"lang":"*"},"📶":{"coeff":2,"lang":"*"},"🌄":{"coeff":1,"lang":"*"},"🗾":{"coeff":2,"lang":"*"},"🔶":{"coeff":2,"lang":"*"},"🏤":{"coeff":2,"lang":"*"},"🎩":{"coeff":2,"lang":"*"},"Ⓜ":{"coeff":1,"lang":"*"},"🔧":{"coeff":-4,"lang":"*"},"🐅":{"coeff":1,"lang":"*"},"♮":{"coeff":1,"lang":"*"},"🅾":{"coeff":-1,"lang":"*"},"📦":{"coeff":1,"lang":"*"},"🚊":{"coeff":1,"lang":"*"},"🔲":{"coeff":3,"lang":"*"},"△":{"coeff":1,"lang":"*"},"📆":{"coeff":5,"lang":"*"},"❛":{"coeff":2,"lang":"*"},"📉":{"coeff":2,"lang":"*"},"▵":{"coeff":2,"lang":"*"},"🔎":{"coeff":3,"lang":"*"},"☜":{"coeff":1,"lang":"*"},"🇯":{"coeff":2,"lang":"*"},"🇵":{"coeff":2,"lang":"*"},"📘":{"coeff":1,"lang":"*"},"ⓔ":{"coeff":3,"lang":"*"},"🔑":{"coeff":1,"lang":"*"},"⭕":{"coeff":2,"lang":"*"},"🔘":{"coeff":1,"lang":"*"},"🚭":{"coeff":5,"lang":"*"},"🚉":{"coeff":3,"lang":"*"},"🚪":{"coeff":3,"lang":"*"},"➳":{"coeff":2,"lang":"*"},"🚃":{"coeff":3,"lang":"*"},"┯":{"coeff":-3,"lang":"*"},"🆙":{"coeff":2,"lang":"*"},"🆖":{"coeff":1,"lang":"*"},"┗":{"coeff":5,"lang":"*"},"Ⓞ":{"coeff":2,"lang":"*"},"❇":{"coeff":3,"lang":"*"},"✴":{"coeff":3,"lang":"*"},"☊":{"coeff":5,"lang":"*"},"🔕":{"coeff":-2,"lang":"*"},"⬛":{"coeff":-2,"lang":"*"},"🚞":{"coeff":3,"lang":"*"},"🍶":{"coeff":3,"lang":"*"},"🌐":{"coeff":3,"lang":"*"},"♀":{"coeff":1,"lang":"*"},"🚅":{"coeff":3,"lang":"*"},"🚒":{"coeff":-2,"lang":"*"},"♋":{"coeff":1,"lang":"*"},"♍":{"coeff":3,"lang":"*"},"🕝":{"coeff":-2,"lang":"*"},"ⓐ":{"coeff":5,"lang":"*"},"📙":{"coeff":1,"lang":"*"},"Ⓢ":{"coeff":1,"lang":"*"},"📋":{"coeff":3,"lang":"*"},"🎱":{"coeff":1,"lang":"*"},"🐞":{"coeff":1,"lang":"*"},"🔺":{"coeff":1,"lang":"*"},"ⓡ":{"coeff":5,"lang":"*"},"♤":{"coeff":3,"lang":"*"},"🎯":{"coeff":3,"lang":"*"},"🔉":{"coeff":3,"lang":"*"},"↩":{"coeff":5,"lang":"*"},"🚾":{"coeff":1,"lang":"*"},"🎣":{"coeff":-4,"lang":"*"},"🔣":{"coeff":1,"lang":"*"},"❎":{"coeff":-5,"lang":"*"},"➥":{"coeff":1,"lang":"*"},"🎌":{"coeff":5,"lang":"*"},"◣":{"coeff":1,"lang":"*"},"⏬":{"coeff":5,"lang":"*"},"♭":{"coeff":1,"lang":"*"},"ⓞ":{"coeff":5,"lang":"*"},"🔳":{"coeff":2,"lang":"*"},"🏭":{"coeff":2,"lang":"*"},"🎳":{"coeff":-3,"lang":"*"},"☚":{"coeff":5,"lang":"*"},"➽":{"coeff":2,"lang":"*"},"➫":{"coeff":2,"lang":"*"},"➖":{"coeff":-5,"lang":"*"},"꒰":{"coeff":2,"lang":"*"},"꒱":{"coeff":2,"lang":"*"},"◝":{"coeff":-3,"lang":"*"},"📑":{"coeff":5,"lang":"*"},"ⓧ":{"coeff":5,"lang":"*"},"🔟":{"coeff":5,"lang":"*"},"〓":{"coeff":5,"lang":"*"},"ⓜ":{"coeff":2,"lang":"*"},"➠":{"coeff":5,"lang":"*"},"🚆":{"coeff":2,"lang":"*"},"℅":{"coeff":-5,"lang":"*"},"☃":{"coeff":2,"lang":"*"},"🚽":{"coeff":5,"lang":"*"},"ⓝ":{"coeff":5,"lang":"*"},"⇦":{"coeff":5,"lang":"*"},"👲":{"coeff":2,"lang":"*"},"🚡":{"coeff":-3,"lang":"*"},"🔬":{"coeff":5,"lang":"*"},"➗":{"coeff":-3,"lang":"*"},"📈":{"coeff":2,"lang":"*"},"⏪":{"coeff":2,"lang":"*"},"◎":{"coeff":5,"lang":"*"},"꒦":{"coeff":-5,"lang":"*"},"📎":{"coeff":5,"lang":"*"},"⑅":{"coeff":5,"lang":"*"},"✭":{"coeff":5,"lang":"*"},"♓":{"coeff":2,"lang":"*"},"┏":{"coeff":5,"lang":"*"},"☇":{"coeff":5,"lang":"*"},"࿎":{"coeff":-5,"lang":"*"},"👘":{"coeff":5,"lang":"*"},"↙":{"coeff":5,"lang":"*"},"Ⓕ":{"coeff":2,"lang":"*"},"Ⓦ":{"coeff":2,"lang":"*"},"Ⓟ":{"coeff":2,"lang":"*"},"🕑":{"coeff":2,"lang":"*"},"🕛":{"coeff":5,"lang":"*"},"♈":{"coeff":-5,"lang":"*"},"↬":{"coeff":5,"lang":"*"},"✍":{"coeff":5,"lang":"*"},"🏦":{"coeff":5,"lang":"*"},"🔻":{"coeff":5,"lang":"*"},"ⓟ":{"coeff":5,"lang":"*"},"ⓕ":{"coeff":5,"lang":"*"},"ⓘ":{"coeff":5,"lang":"*"},"♿":{"coeff":5,"lang":"*"},"⇗":{"coeff":5,"lang":"*"},"⇘":{"coeff":5,"lang":"*"},"ⓨ":{"coeff":5,"lang":"*"},"ⓙ":{"coeff":5,"lang":"*"},"▫":{"coeff":5,"lang":"*"},"🔇":{"coeff":5,"lang":"*"},"⌃":{"coeff":-5,"lang":"*"},"🔖":{"coeff":5,"lang":"*"},"📜":{"coeff":5,"lang":"*"},"🚝":{"coeff":5,"lang":"*"},"┘":{"coeff":-5,"lang":"*"},"✝":{"coeff":-5,"lang":"*"},"⍣":{"coeff":-5,"lang":"*"},"📮":{"coeff":-5,"lang":"*"},"🕕":{"coeff":-5,"lang":"*"},"🔯":{"coeff":5,"lang":"*"},"➸":{"coeff":5,"lang":"*"},"꒵":{"coeff":5,"lang":"*"},"🕥":{"coeff":-5,"lang":"*"},"✽":{"coeff":5,"lang":"*"},"📼":{"coeff":5,"lang":"*"},"🕐":{"coeff":-5,"lang":"*"},"🀄":{"coeff":5,"lang":"*"},"✬":{"coeff":5,"lang":"*"},"✫":{"coeff":5,"lang":"*"},"🕔":{"coeff":-5,"lang":"*"},"❣":{"coeff":5,"lang":"*"},"📫":{"coeff":5,"lang":"*"},"🉐":{"coeff":5,"lang":"*"},"🈂":{"coeff":-5,"lang":"*"},"🎰":{"coeff":-5,"lang":"*"},"҂":{"coeff":-5,"lang":"*"},"╤":{"coeff":-5,"lang":"*"},"📔":{"coeff":5,"lang":"*"}} -------------------------------------------------------------------------------- /build/output/build-zh-tw.json: -------------------------------------------------------------------------------- 1 | {"😂":{"coeff":1,"lang":"*"},"❤":{"coeff":3,"lang":"*"},"♥":{"coeff":3,"lang":"*"},"😍":{"coeff":3,"lang":"*"},"😭":{"coeff":-1,"lang":"*"},"😘":{"coeff":3,"lang":"*"},"😊":{"coeff":3,"lang":"*"},"👌":{"coeff":2,"lang":"*"},"💕":{"coeff":3,"lang":"*"},"👏":{"coeff":2,"lang":"*"},"😁":{"coeff":2,"lang":"*"},"☺":{"coeff":3,"lang":"*"},"♡":{"coeff":3,"lang":"*"},"👍":{"coeff":2,"lang":"*"},"😩":{"coeff":-2,"lang":"*"},"🙏":{"coeff":2,"lang":"*"},"✌":{"coeff":2,"lang":"*"},"😏":{"coeff":1,"lang":"*"},"😉":{"coeff":2,"lang":"*"},"🙌":{"coeff":2,"lang":"*"},"🙈":{"coeff":2,"lang":"*"},"💪":{"coeff":2,"lang":"*"},"😄":{"coeff":2,"lang":"*"},"😒":{"coeff":-2,"lang":"*"},"💃":{"coeff":3,"lang":"*"},"💖":{"coeff":3,"lang":"*"},"😃":{"coeff":2,"lang":"*"},"😔":{"coeff":-1,"lang":"*"},"🎉":{"coeff":3,"lang":"*"},"😜":{"coeff":2,"lang":"*"},"🌸":{"coeff":3,"lang":"*"},"💜":{"coeff":3,"lang":"*"},"💙":{"coeff":3,"lang":"*"},"✨":{"coeff":1,"lang":"*"},"💗":{"coeff":3,"lang":"*"},"★":{"coeff":1,"lang":"*"},"█":{"coeff":-1,"lang":"*"},"☀":{"coeff":2,"lang":"*"},"😡":{"coeff":-1,"lang":"*"},"😎":{"coeff":2,"lang":"*"},"💋":{"coeff":3,"lang":"*"},"😋":{"coeff":3,"lang":"*"},"🙊":{"coeff":2,"lang":"*"},"😴":{"coeff":-1,"lang":"*"},"🎶":{"coeff":2,"lang":"*"},"💞":{"coeff":3,"lang":"*"},"😌":{"coeff":2,"lang":"*"},"🔫":{"coeff":-1,"lang":"*"},"💛":{"coeff":3,"lang":"*"},"💁":{"coeff":1,"lang":"*"},"💚":{"coeff":3,"lang":"*"},"♫":{"coeff":1,"lang":"*"},"😞":{"coeff":-1,"lang":"*"},"😆":{"coeff":2,"lang":"*"},"😝":{"coeff":2,"lang":"*"},"😪":{"coeff":-1,"lang":"*"},"😫":{"coeff":-1,"lang":"*"},"👊":{"coeff":1,"lang":"*"},"💀":{"coeff":-2,"lang":"*"},"😀":{"coeff":2,"lang":"*"},"😚":{"coeff":3,"lang":"*"},"😻":{"coeff":3,"lang":"*"},"💘":{"coeff":3,"lang":"*"},"☕":{"coeff":1,"lang":"*"},"👋":{"coeff":2,"lang":"*"},"🎊":{"coeff":3,"lang":"*"},"🍕":{"coeff":2,"lang":"*"},"❄":{"coeff":2,"lang":"*"},"😕":{"coeff":-2,"lang":"*"},"💔":{"coeff":-1,"lang":"*"},"😤":{"coeff":-2,"lang":"*"},"😈":{"coeff":1,"lang":"*"},"✈":{"coeff":2,"lang":"*"},"🔝":{"coeff":2,"lang":"*"},"😰":{"coeff":-1,"lang":"*"},"⚽":{"coeff":3,"lang":"*"},"😑":{"coeff":-2,"lang":"*"},"👑":{"coeff":3,"lang":"*"},"👉":{"coeff":1,"lang":"*"},"🍃":{"coeff":1,"lang":"*"},"🎁":{"coeff":3,"lang":"*"},"😠":{"coeff":-2,"lang":"*"},"🐧":{"coeff":2,"lang":"*"},"☆":{"coeff":2,"lang":"*"},"🍀":{"coeff":1,"lang":"*"},"🎈":{"coeff":3,"lang":"*"},"🎅":{"coeff":1,"lang":"*"},"😓":{"coeff":-1,"lang":"*"},"😣":{"coeff":-2,"lang":"*"},"😐":{"coeff":-2,"lang":"*"},"✊":{"coeff":2,"lang":"*"},"😨":{"coeff":-1,"lang":"*"},"😖":{"coeff":-1,"lang":"*"},"💤":{"coeff":1,"lang":"*"},"💓":{"coeff":3,"lang":"*"},"👎":{"coeff":-1,"lang":"*"},"💦":{"coeff":2,"lang":"*"},"✔":{"coeff":1,"lang":"*"},"😷":{"coeff":-1,"lang":"*"},"🙋":{"coeff":2,"lang":"*"},"🎄":{"coeff":2,"lang":"*"},"💩":{"coeff":-1,"lang":"*"},"🎵":{"coeff":2,"lang":"*"},"😛":{"coeff":3,"lang":"*"},"👯":{"coeff":2,"lang":"*"},"💎":{"coeff":2,"lang":"*"},"🌿":{"coeff":1,"lang":"*"},"🎂":{"coeff":3,"lang":"*"},"🌟":{"coeff":1,"lang":"*"},"🔮":{"coeff":1,"lang":"*"},"👫":{"coeff":1,"lang":"*"},"🏆":{"coeff":3,"lang":"*"},"✖":{"coeff":1,"lang":"*"},"☝":{"coeff":1,"lang":"*"},"😙":{"coeff":3,"lang":"*"},"⛄":{"coeff":2,"lang":"*"},"👅":{"coeff":2,"lang":"*"},"♪":{"coeff":2,"lang":"*"},"🍂":{"coeff":2,"lang":"*"},"💏":{"coeff":1,"lang":"*"},"🌴":{"coeff":2,"lang":"*"},"👈":{"coeff":2,"lang":"*"},"🌹":{"coeff":3,"lang":"*"},"🙆":{"coeff":2,"lang":"*"},"👻":{"coeff":1,"lang":"*"},"💰":{"coeff":1,"lang":"*"},"🍻":{"coeff":2,"lang":"*"},"🙅":{"coeff":-2,"lang":"*"},"🌞":{"coeff":2,"lang":"*"},"🍁":{"coeff":2,"lang":"*"},"⭐":{"coeff":2,"lang":"*"},"▪":{"coeff":1,"lang":"*"},"🎀":{"coeff":3,"lang":"*"},"🐷":{"coeff":1,"lang":"*"},"🙉":{"coeff":1,"lang":"*"},"🌺":{"coeff":2,"lang":"*"},"💅":{"coeff":1,"lang":"*"},"🐶":{"coeff":2,"lang":"*"},"🌚":{"coeff":2,"lang":"*"},"👽":{"coeff":1,"lang":"*"},"🎤":{"coeff":2,"lang":"*"},"👭":{"coeff":2,"lang":"*"},"🎧":{"coeff":2,"lang":"*"},"👆":{"coeff":1,"lang":"*"},"🍸":{"coeff":2,"lang":"*"},"🍷":{"coeff":2,"lang":"*"},"®":{"coeff":1,"lang":"*"},"🍉":{"coeff":3,"lang":"*"},"😇":{"coeff":3,"lang":"*"},"🏃":{"coeff":2,"lang":"*"},"😿":{"coeff":-2,"lang":"*"},"│":{"coeff":1,"lang":"*"},"🍺":{"coeff":2,"lang":"*"},"▶":{"coeff":1,"lang":"*"},"😲":{"coeff":-1,"lang":"*"},"🎸":{"coeff":2,"lang":"*"},"🍹":{"coeff":3,"lang":"*"},"💫":{"coeff":2,"lang":"*"},"📚":{"coeff":1,"lang":"*"},"😶":{"coeff":-1,"lang":"*"},"🌷":{"coeff":2,"lang":"*"},"💝":{"coeff":3,"lang":"*"},"💨":{"coeff":1,"lang":"*"},"🏈":{"coeff":2,"lang":"*"},"💍":{"coeff":2,"lang":"*"},"☔":{"coeff":1,"lang":"*"},"👸":{"coeff":3,"lang":"*"},"🇪":{"coeff":3,"lang":"*"},"░":{"coeff":-1,"lang":"*"},"🍩":{"coeff":1,"lang":"*"},"👾":{"coeff":1,"lang":"*"},"☁":{"coeff":1,"lang":"*"},"🌻":{"coeff":2,"lang":"*"},"↿":{"coeff":3,"lang":"*"},"🐯":{"coeff":2,"lang":"*"},"👼":{"coeff":1,"lang":"*"},"🍔":{"coeff":1,"lang":"*"},"😸":{"coeff":2,"lang":"*"},"👶":{"coeff":2,"lang":"*"},"↾":{"coeff":3,"lang":"*"},"💐":{"coeff":3,"lang":"*"},"🌊":{"coeff":2,"lang":"*"},"🍦":{"coeff":2,"lang":"*"},"🍓":{"coeff":3,"lang":"*"},"👇":{"coeff":1,"lang":"*"},"💆":{"coeff":1,"lang":"*"},"🍴":{"coeff":2,"lang":"*"},"😧":{"coeff":-1,"lang":"*"},"🇸":{"coeff":2,"lang":"*"},"😮":{"coeff":1,"lang":"*"},"🚫":{"coeff":-3,"lang":"*"},"😽":{"coeff":2,"lang":"*"},"🌈":{"coeff":2,"lang":"*"},"🙀":{"coeff":1,"lang":"*"},"⚠":{"coeff":-1,"lang":"*"},"🎮":{"coeff":2,"lang":"*"},"╯":{"coeff":-1,"lang":"*"},"🍆":{"coeff":2,"lang":"*"},"🍰":{"coeff":2,"lang":"*"},"✓":{"coeff":1,"lang":"*"},"👐":{"coeff":-1,"lang":"*"},"🍟":{"coeff":1,"lang":"*"},"🍌":{"coeff":2,"lang":"*"},"💑":{"coeff":3,"lang":"*"},"👬":{"coeff":-1,"lang":"*"},"🐣":{"coeff":2,"lang":"*"},"🎃":{"coeff":3,"lang":"*"},"▬":{"coeff":2,"lang":"*"},"":{"coeff":-3,"lang":"*"},"🐾":{"coeff":3,"lang":"*"},"🎓":{"coeff":2,"lang":"*"},"🏊":{"coeff":2,"lang":"*"},"📷":{"coeff":2,"lang":"*"},"👄":{"coeff":2,"lang":"*"},"🌼":{"coeff":4,"lang":"*"},"🚶":{"coeff":-1,"lang":"*"},"🐱":{"coeff":2,"lang":"*"},"🐸":{"coeff":-1,"lang":"*"},"🇺":{"coeff":2,"lang":"*"},"👿":{"coeff":-3,"lang":"*"},"🚬":{"coeff":2,"lang":"*"},"✿":{"coeff":1,"lang":"*"},"🐒":{"coeff":2,"lang":"*"},"🌍":{"coeff":3,"lang":"*"},"┊":{"coeff":5,"lang":"*"},"🐥":{"coeff":3,"lang":"*"},"🐼":{"coeff":1,"lang":"*"},"🎥":{"coeff":1,"lang":"*"},"💄":{"coeff":2,"lang":"*"},"⛔":{"coeff":2,"lang":"*"},"🏀":{"coeff":1,"lang":"*"},"💉":{"coeff":1,"lang":"*"},"💟":{"coeff":3,"lang":"*"},"🚗":{"coeff":1,"lang":"*"},"📝":{"coeff":1,"lang":"*"},"♦":{"coeff":2,"lang":"*"},"💭":{"coeff":1,"lang":"*"},"🌙":{"coeff":3,"lang":"*"},"🐟":{"coeff":3,"lang":"*"},"👣":{"coeff":1,"lang":"*"},"✂":{"coeff":-3,"lang":"*"},"🗿":{"coeff":2,"lang":"*"},"👪":{"coeff":-1,"lang":"*"},"🍭":{"coeff":1,"lang":"*"},"🌃":{"coeff":2,"lang":"*"},"❌":{"coeff":1,"lang":"*"},"🐰":{"coeff":3,"lang":"*"},"💊":{"coeff":2,"lang":"*"},"🚨":{"coeff":3,"lang":"*"},"😦":{"coeff":-2,"lang":"*"},"🍪":{"coeff":1,"lang":"*"},"🍣":{"coeff":-2,"lang":"*"},"✧":{"coeff":1,"lang":"*"},"🎆":{"coeff":3,"lang":"*"},"🎎":{"coeff":4,"lang":"*"},"🇩":{"coeff":3,"lang":"*"},"✅":{"coeff":2,"lang":"*"},"📱":{"coeff":1,"lang":"*"},"🙍":{"coeff":-2,"lang":"*"},"🍑":{"coeff":1,"lang":"*"},"🎼":{"coeff":1,"lang":"*"},"🔊":{"coeff":2,"lang":"*"},"🌌":{"coeff":2,"lang":"*"},"🍎":{"coeff":1,"lang":"*"},"🐻":{"coeff":2,"lang":"*"},"╰":{"coeff":-1,"lang":"*"},"💇":{"coeff":1,"lang":"*"},"♬":{"coeff":1,"lang":"*"},"🔴":{"coeff":2,"lang":"*"},"🍱":{"coeff":-2,"lang":"*"},"🍊":{"coeff":2,"lang":"*"},"🍒":{"coeff":1,"lang":"*"},"🐭":{"coeff":3,"lang":"*"},"👟":{"coeff":2,"lang":"*"},"🌎":{"coeff":1,"lang":"*"},"🍍":{"coeff":2,"lang":"*"},"🐮":{"coeff":3,"lang":"*"},"📲":{"coeff":1,"lang":"*"},"☼":{"coeff":1,"lang":"*"},"🌅":{"coeff":1,"lang":"*"},"🇷":{"coeff":3,"lang":"*"},"👠":{"coeff":1,"lang":"*"},"🌽":{"coeff":2,"lang":"*"},"💧":{"coeff":-1,"lang":"*"},"🍬":{"coeff":1,"lang":"*"},"😺":{"coeff":2,"lang":"*"},"🚀":{"coeff":2,"lang":"*"},"¦":{"coeff":3,"lang":"*"},"💢":{"coeff":1,"lang":"*"},"🎬":{"coeff":1,"lang":"*"},"🍧":{"coeff":1,"lang":"*"},"🍜":{"coeff":2,"lang":"*"},"🐏":{"coeff":3,"lang":"*"},"🏄":{"coeff":2,"lang":"*"},"➤":{"coeff":1,"lang":"*"},"⬆":{"coeff":1,"lang":"*"},"🍋":{"coeff":1,"lang":"*"},"🆗":{"coeff":2,"lang":"*"},"⚪":{"coeff":2,"lang":"*"},"📺":{"coeff":2,"lang":"*"},"🍅":{"coeff":1,"lang":"*"},"⛅":{"coeff":2,"lang":"*"},"🐢":{"coeff":1,"lang":"*"},"👙":{"coeff":2,"lang":"*"},"🏡":{"coeff":2,"lang":"*"},"🌾":{"coeff":2,"lang":"*"},"◉":{"coeff":1,"lang":"*"},"✏":{"coeff":1,"lang":"*"},"🐬":{"coeff":2,"lang":"*"},"🇹":{"coeff":3,"lang":"*"},"♣":{"coeff":1,"lang":"*"},"🐝":{"coeff":1,"lang":"*"},"🌝":{"coeff":1,"lang":"*"},"🇮":{"coeff":3,"lang":"*"},"🔋":{"coeff":-3,"lang":"*"},"🐍":{"coeff":1,"lang":"*"},"♔":{"coeff":2,"lang":"*"},"🔵":{"coeff":1,"lang":"*"},"😾":{"coeff":-2,"lang":"*"},"🌕":{"coeff":3,"lang":"*"},"🐨":{"coeff":2,"lang":"*"},"🔐":{"coeff":1,"lang":"*"},"💿":{"coeff":3,"lang":"*"},"🌳":{"coeff":2,"lang":"*"},"👰":{"coeff":2,"lang":"*"},"❀":{"coeff":2,"lang":"*"},"⚓":{"coeff":3,"lang":"*"},"🚴":{"coeff":3,"lang":"*"},"▀":{"coeff":-1,"lang":"*"},"👗":{"coeff":1,"lang":"*"},"➕":{"coeff":2,"lang":"*"},"💬":{"coeff":2,"lang":"*"},"▒":{"coeff":-1,"lang":"*"},"🔜":{"coeff":1,"lang":"*"},"🍨":{"coeff":1,"lang":"*"},"💲":{"coeff":1,"lang":"*"},"🍙":{"coeff":1,"lang":"*"},"🍥":{"coeff":-4,"lang":"*"},"▸":{"coeff":1,"lang":"*"},"♛":{"coeff":1,"lang":"*"},"😼":{"coeff":1,"lang":"*"},"🐙":{"coeff":2,"lang":"*"},"👨":{"coeff":2,"lang":"*"},"🍚":{"coeff":2,"lang":"*"},"♨":{"coeff":4,"lang":"*"},"🎹":{"coeff":1,"lang":"*"},"♕":{"coeff":2,"lang":"*"},"▃":{"coeff":5,"lang":"*"},"🇬":{"coeff":1,"lang":"*"},"🇧":{"coeff":1,"lang":"*"},"☠":{"coeff":-1,"lang":"*"},"🐠":{"coeff":2,"lang":"*"},"🚹":{"coeff":3,"lang":"*"},"💵":{"coeff":2,"lang":"*"},"✰":{"coeff":4,"lang":"*"},"╠":{"coeff":1,"lang":"*"},"👛":{"coeff":2,"lang":"*"},"🌱":{"coeff":3,"lang":"*"},"💻":{"coeff":1,"lang":"*"},"🌏":{"coeff":1,"lang":"*"},"▄":{"coeff":-1,"lang":"*"},"👓":{"coeff":1,"lang":"*"},"◄":{"coeff":1,"lang":"*"},"⚾":{"coeff":-1,"lang":"*"},"🌲":{"coeff":2,"lang":"*"},"👴":{"coeff":1,"lang":"*"},"🏠":{"coeff":2,"lang":"*"},"🍇":{"coeff":1,"lang":"*"},"🍘":{"coeff":2,"lang":"*"},"🐇":{"coeff":1,"lang":"*"},"🔞":{"coeff":-1,"lang":"*"},"👵":{"coeff":2,"lang":"*"},"◀":{"coeff":1,"lang":"*"},"🔙":{"coeff":1,"lang":"*"},"🌵":{"coeff":1,"lang":"*"},"🍮":{"coeff":-1,"lang":"*"},"🎇":{"coeff":3,"lang":"*"},"🐎":{"coeff":2,"lang":"*"},"➔":{"coeff":-1,"lang":"*"},"🐤":{"coeff":2,"lang":"*"},"╩":{"coeff":1,"lang":"*"},"🌑":{"coeff":2,"lang":"*"},"🚲":{"coeff":2,"lang":"*"},"🐑":{"coeff":-1,"lang":"*"},"🏁":{"coeff":2,"lang":"*"},"🎾":{"coeff":3,"lang":"*"},"╚":{"coeff":1,"lang":"*"},"🈹":{"coeff":1,"lang":"*"},"👮":{"coeff":-2,"lang":"*"},"☹":{"coeff":-3,"lang":"*"},"🐵":{"coeff":2,"lang":"*"},"✪":{"coeff":1,"lang":"*"},"◕":{"coeff":2,"lang":"*"},"🗼":{"coeff":3,"lang":"*"},"▐":{"coeff":-1,"lang":"*"},"♠":{"coeff":1,"lang":"*"},"┳":{"coeff":-2,"lang":"*"},"👺":{"coeff":-2,"lang":"*"},"🐚":{"coeff":1,"lang":"*"},"👂":{"coeff":-1,"lang":"*"},"🗽":{"coeff":1,"lang":"*"},"🍵":{"coeff":2,"lang":"*"},"🆒":{"coeff":2,"lang":"*"},"🐺":{"coeff":1,"lang":"*"},"⇨":{"coeff":2,"lang":"*"},"🌓":{"coeff":3,"lang":"*"},"🔒":{"coeff":1,"lang":"*"},"╬":{"coeff":-1,"lang":"*"},"👳":{"coeff":3,"lang":"*"},"🌂":{"coeff":1,"lang":"*"},"🚌":{"coeff":1,"lang":"*"},"♩":{"coeff":3,"lang":"*"},"🍡":{"coeff":-1,"lang":"*"},"❥":{"coeff":1,"lang":"*"},"🎡":{"coeff":1,"lang":"*"},"💌":{"coeff":2,"lang":"*"},"🐩":{"coeff":2,"lang":"*"},"🌜":{"coeff":2,"lang":"*"},"⌚":{"coeff":1,"lang":"*"},"🚿":{"coeff":3,"lang":"*"},"🔆":{"coeff":3,"lang":"*"},"🌛":{"coeff":3,"lang":"*"},"💂":{"coeff":-1,"lang":"*"},"🐔":{"coeff":1,"lang":"*"},"🙎":{"coeff":-1,"lang":"*"},"🏩":{"coeff":2,"lang":"*"},"🇫":{"coeff":2,"lang":"*"},"🔨":{"coeff":-1,"lang":"*"},"📢":{"coeff":2,"lang":"*"},"🐦":{"coeff":2,"lang":"*"},"🐲":{"coeff":-1,"lang":"*"},"♻":{"coeff":2,"lang":"*"},"🌘":{"coeff":3,"lang":"*"},"🌔":{"coeff":3,"lang":"*"},"👖":{"coeff":2,"lang":"*"},"😗":{"coeff":3,"lang":"*"},"🐄":{"coeff":1,"lang":"*"},"◟":{"coeff":-1,"lang":"*"},"🍢":{"coeff":-1,"lang":"*"},"🎨":{"coeff":1,"lang":"*"},"⬇":{"coeff":2,"lang":"*"},"🚼":{"coeff":3,"lang":"*"},"🇴":{"coeff":2,"lang":"*"},"🌗":{"coeff":3,"lang":"*"},"🌖":{"coeff":3,"lang":"*"},"🔅":{"coeff":5,"lang":"*"},"👜":{"coeff":1,"lang":"*"},"🐌":{"coeff":3,"lang":"*"},"💼":{"coeff":3,"lang":"*"},"🐹":{"coeff":1,"lang":"*"},"🌠":{"coeff":3,"lang":"*"},"🐈":{"coeff":1,"lang":"*"},"🌁":{"coeff":1,"lang":"*"},"⚫":{"coeff":1,"lang":"*"},"♧":{"coeff":2,"lang":"*"},"🏰":{"coeff":1,"lang":"*"},"🚵":{"coeff":2,"lang":"*"},"🎢":{"coeff":2,"lang":"*"},"🎷":{"coeff":3,"lang":"*"},"🎐":{"coeff":1,"lang":"*"},"┈":{"coeff":-4,"lang":"*"},"╗":{"coeff":2,"lang":"*"},"🌇":{"coeff":3,"lang":"*"},"⏰":{"coeff":2,"lang":"*"},"🚂":{"coeff":1,"lang":"*"},"◠":{"coeff":2,"lang":"*"},"🎿":{"coeff":2,"lang":"*"},"🆔":{"coeff":4,"lang":"*"},"🌒":{"coeff":3,"lang":"*"},"🐪":{"coeff":3,"lang":"*"},"╔":{"coeff":1,"lang":"*"},"╝":{"coeff":2,"lang":"*"},"👔":{"coeff":2,"lang":"*"},"🆓":{"coeff":1,"lang":"*"},"🐋":{"coeff":1,"lang":"*"},"▽":{"coeff":2,"lang":"*"},"🐛":{"coeff":1,"lang":"*"},"👕":{"coeff":2,"lang":"*"},"💳":{"coeff":2,"lang":"*"},"🏧":{"coeff":5,"lang":"*"},"💡":{"coeff":3,"lang":"*"},"⬅":{"coeff":2,"lang":"*"},"🐫":{"coeff":2,"lang":"*"},"🇱":{"coeff":2,"lang":"*"},"📹":{"coeff":2,"lang":"*"},"👞":{"coeff":2,"lang":"*"},"👚":{"coeff":3,"lang":"*"},"□":{"coeff":-2,"lang":"*"},"🚣":{"coeff":3,"lang":"*"},"🏉":{"coeff":3,"lang":"*"},"🗻":{"coeff":3,"lang":"*"},"╦":{"coeff":2,"lang":"*"},"⛺":{"coeff":3,"lang":"*"},"🐕":{"coeff":1,"lang":"*"},"🏂":{"coeff":2,"lang":"*"},"👡":{"coeff":2,"lang":"*"},"📻":{"coeff":2,"lang":"*"},"✒":{"coeff":1,"lang":"*"},"🌰":{"coeff":3,"lang":"*"},"🏢":{"coeff":1,"lang":"*"},"🎒":{"coeff":3,"lang":"*"},"⌒":{"coeff":3,"lang":"*"},"🏫":{"coeff":-2,"lang":"*"},"📴":{"coeff":4,"lang":"*"},"🚢":{"coeff":1,"lang":"*"},"🚚":{"coeff":-1,"lang":"*"},"🐉":{"coeff":1,"lang":"*"},"❒":{"coeff":1,"lang":"*"},"🔔":{"coeff":5,"lang":"*"},"◢":{"coeff":4,"lang":"*"},"🏥":{"coeff":1,"lang":"*"},"🚖":{"coeff":-1,"lang":"*"},"▌":{"coeff":-2,"lang":"*"},"☛":{"coeff":2,"lang":"*"},"💒":{"coeff":3,"lang":"*"},"🚤":{"coeff":2,"lang":"*"},"🐐":{"coeff":2,"lang":"*"},"■":{"coeff":-2,"lang":"*"},"🔚":{"coeff":2,"lang":"*"},"🎻":{"coeff":2,"lang":"*"},"🔷":{"coeff":1,"lang":"*"},"🎽":{"coeff":2,"lang":"*"},"📅":{"coeff":1,"lang":"*"},"🎺":{"coeff":3,"lang":"*"},"🍈":{"coeff":-3,"lang":"*"},"✉":{"coeff":1,"lang":"*"},"◤":{"coeff":5,"lang":"*"},"○":{"coeff":3,"lang":"*"},"🍼":{"coeff":3,"lang":"*"},"🚛":{"coeff":-2,"lang":"*"},"📓":{"coeff":1,"lang":"*"},"☉":{"coeff":1,"lang":"*"},"💴":{"coeff":-2,"lang":"*"},"➰":{"coeff":-1,"lang":"*"},"🔌":{"coeff":-1,"lang":"*"},"📕":{"coeff":1,"lang":"*"},"📣":{"coeff":2,"lang":"*"},"🚓":{"coeff":1,"lang":"*"},"🐗":{"coeff":3,"lang":"*"},"⛳":{"coeff":4,"lang":"*"},"┻":{"coeff":-3,"lang":"*"},"┛":{"coeff":3,"lang":"*"},"┃":{"coeff":2,"lang":"*"},"💺":{"coeff":1,"lang":"*"},"🏇":{"coeff":-1,"lang":"*"},"☻":{"coeff":1,"lang":"*"},"📞":{"coeff":2,"lang":"*"},"Ⓐ":{"coeff":-1,"lang":"*"},"🌉":{"coeff":3,"lang":"*"},"🚩":{"coeff":-2,"lang":"*"},"✎":{"coeff":3,"lang":"*"},"📃":{"coeff":2,"lang":"*"},"🏨":{"coeff":1,"lang":"*"},"📌":{"coeff":-3,"lang":"*"},"♎":{"coeff":-1,"lang":"*"},"💷":{"coeff":2,"lang":"*"},"🚄":{"coeff":3,"lang":"*"},"▲":{"coeff":3,"lang":"*"},"⛵":{"coeff":3,"lang":"*"},"🔸":{"coeff":1,"lang":"*"},"🚜":{"coeff":5,"lang":"*"},"🐆":{"coeff":2,"lang":"*"},"👒":{"coeff":1,"lang":"*"},"❕":{"coeff":1,"lang":"*"},"🔛":{"coeff":2,"lang":"*"},"♢":{"coeff":2,"lang":"*"},"🇲":{"coeff":2,"lang":"*"},"❅":{"coeff":4,"lang":"*"},"👝":{"coeff":2,"lang":"*"},"✞":{"coeff":2,"lang":"*"},"◡":{"coeff":1,"lang":"*"},"🎋":{"coeff":3,"lang":"*"},"👥":{"coeff":1,"lang":"*"},"🐡":{"coeff":1,"lang":"*"},"◆":{"coeff":4,"lang":"*"},"🔭":{"coeff":2,"lang":"*"},"🎪":{"coeff":1,"lang":"*"},"🐜":{"coeff":3,"lang":"*"},"♌":{"coeff":4,"lang":"*"},"☐":{"coeff":-5,"lang":"*"},"👷":{"coeff":1,"lang":"*"},"🔈":{"coeff":1,"lang":"*"},"📄":{"coeff":5,"lang":"*"},"🚐":{"coeff":4,"lang":"*"},"🌋":{"coeff":3,"lang":"*"},"📡":{"coeff":1,"lang":"*"},"🚳":{"coeff":5,"lang":"*"},"✘":{"coeff":4,"lang":"*"},"🅰":{"coeff":1,"lang":"*"},"🇼":{"coeff":2,"lang":"*"},"┓":{"coeff":3,"lang":"*"},"┣":{"coeff":3,"lang":"*"},"Ⓛ":{"coeff":2,"lang":"*"},"Ⓔ":{"coeff":2,"lang":"*"},"👤":{"coeff":4,"lang":"*"},"🚁":{"coeff":1,"lang":"*"},"🎠":{"coeff":3,"lang":"*"},"🐁":{"coeff":-2,"lang":"*"},"📗":{"coeff":1,"lang":"*"},"┐":{"coeff":-1,"lang":"*"},"♂":{"coeff":1,"lang":"*"},"📯":{"coeff":-1,"lang":"*"},"🔩":{"coeff":1,"lang":"*"},"👢":{"coeff":4,"lang":"*"},"◂":{"coeff":2,"lang":"*"},"📰":{"coeff":1,"lang":"*"},"📶":{"coeff":2,"lang":"*"},"🌄":{"coeff":1,"lang":"*"},"🗾":{"coeff":2,"lang":"*"},"🔶":{"coeff":2,"lang":"*"},"🏤":{"coeff":2,"lang":"*"},"🎩":{"coeff":2,"lang":"*"},"Ⓜ":{"coeff":1,"lang":"*"},"🔧":{"coeff":-4,"lang":"*"},"🐅":{"coeff":1,"lang":"*"},"♮":{"coeff":1,"lang":"*"},"🅾":{"coeff":-1,"lang":"*"},"📦":{"coeff":1,"lang":"*"},"🚊":{"coeff":1,"lang":"*"},"🔲":{"coeff":3,"lang":"*"},"△":{"coeff":1,"lang":"*"},"📆":{"coeff":5,"lang":"*"},"❛":{"coeff":2,"lang":"*"},"📉":{"coeff":2,"lang":"*"},"▵":{"coeff":2,"lang":"*"},"🔎":{"coeff":3,"lang":"*"},"☜":{"coeff":1,"lang":"*"},"🇯":{"coeff":2,"lang":"*"},"🇵":{"coeff":2,"lang":"*"},"📘":{"coeff":1,"lang":"*"},"ⓔ":{"coeff":3,"lang":"*"},"🔑":{"coeff":1,"lang":"*"},"⭕":{"coeff":2,"lang":"*"},"🔘":{"coeff":1,"lang":"*"},"🚭":{"coeff":5,"lang":"*"},"🚉":{"coeff":3,"lang":"*"},"🚪":{"coeff":3,"lang":"*"},"➳":{"coeff":2,"lang":"*"},"🚃":{"coeff":3,"lang":"*"},"┯":{"coeff":-3,"lang":"*"},"🆙":{"coeff":2,"lang":"*"},"🆖":{"coeff":1,"lang":"*"},"┗":{"coeff":5,"lang":"*"},"Ⓞ":{"coeff":2,"lang":"*"},"❇":{"coeff":3,"lang":"*"},"✴":{"coeff":3,"lang":"*"},"☊":{"coeff":5,"lang":"*"},"🔕":{"coeff":-2,"lang":"*"},"⬛":{"coeff":-2,"lang":"*"},"🚞":{"coeff":3,"lang":"*"},"🍶":{"coeff":3,"lang":"*"},"🌐":{"coeff":3,"lang":"*"},"♀":{"coeff":1,"lang":"*"},"🚅":{"coeff":3,"lang":"*"},"🚒":{"coeff":-2,"lang":"*"},"♋":{"coeff":1,"lang":"*"},"♍":{"coeff":3,"lang":"*"},"🕝":{"coeff":-2,"lang":"*"},"ⓐ":{"coeff":5,"lang":"*"},"📙":{"coeff":1,"lang":"*"},"Ⓢ":{"coeff":1,"lang":"*"},"📋":{"coeff":3,"lang":"*"},"🎱":{"coeff":1,"lang":"*"},"🐞":{"coeff":1,"lang":"*"},"🔺":{"coeff":1,"lang":"*"},"ⓡ":{"coeff":5,"lang":"*"},"♤":{"coeff":3,"lang":"*"},"🎯":{"coeff":3,"lang":"*"},"🔉":{"coeff":3,"lang":"*"},"↩":{"coeff":5,"lang":"*"},"🚾":{"coeff":1,"lang":"*"},"🎣":{"coeff":-4,"lang":"*"},"🔣":{"coeff":1,"lang":"*"},"❎":{"coeff":-5,"lang":"*"},"➥":{"coeff":1,"lang":"*"},"🎌":{"coeff":5,"lang":"*"},"◣":{"coeff":1,"lang":"*"},"⏬":{"coeff":5,"lang":"*"},"♭":{"coeff":1,"lang":"*"},"ⓞ":{"coeff":5,"lang":"*"},"🔳":{"coeff":2,"lang":"*"},"🏭":{"coeff":2,"lang":"*"},"🎳":{"coeff":-3,"lang":"*"},"☚":{"coeff":5,"lang":"*"},"➽":{"coeff":2,"lang":"*"},"➫":{"coeff":2,"lang":"*"},"➖":{"coeff":-5,"lang":"*"},"꒰":{"coeff":2,"lang":"*"},"꒱":{"coeff":2,"lang":"*"},"◝":{"coeff":-3,"lang":"*"},"📑":{"coeff":5,"lang":"*"},"ⓧ":{"coeff":5,"lang":"*"},"🔟":{"coeff":5,"lang":"*"},"〓":{"coeff":5,"lang":"*"},"ⓜ":{"coeff":2,"lang":"*"},"➠":{"coeff":5,"lang":"*"},"🚆":{"coeff":2,"lang":"*"},"℅":{"coeff":-5,"lang":"*"},"☃":{"coeff":2,"lang":"*"},"🚽":{"coeff":5,"lang":"*"},"ⓝ":{"coeff":5,"lang":"*"},"⇦":{"coeff":5,"lang":"*"},"👲":{"coeff":2,"lang":"*"},"🚡":{"coeff":-3,"lang":"*"},"🔬":{"coeff":5,"lang":"*"},"➗":{"coeff":-3,"lang":"*"},"📈":{"coeff":2,"lang":"*"},"⏪":{"coeff":2,"lang":"*"},"◎":{"coeff":5,"lang":"*"},"꒦":{"coeff":-5,"lang":"*"},"📎":{"coeff":5,"lang":"*"},"⑅":{"coeff":5,"lang":"*"},"✭":{"coeff":5,"lang":"*"},"♓":{"coeff":2,"lang":"*"},"┏":{"coeff":5,"lang":"*"},"☇":{"coeff":5,"lang":"*"},"࿎":{"coeff":-5,"lang":"*"},"👘":{"coeff":5,"lang":"*"},"↙":{"coeff":5,"lang":"*"},"Ⓕ":{"coeff":2,"lang":"*"},"Ⓦ":{"coeff":2,"lang":"*"},"Ⓟ":{"coeff":2,"lang":"*"},"🕑":{"coeff":2,"lang":"*"},"🕛":{"coeff":5,"lang":"*"},"♈":{"coeff":-5,"lang":"*"},"↬":{"coeff":5,"lang":"*"},"✍":{"coeff":5,"lang":"*"},"🏦":{"coeff":5,"lang":"*"},"🔻":{"coeff":5,"lang":"*"},"ⓟ":{"coeff":5,"lang":"*"},"ⓕ":{"coeff":5,"lang":"*"},"ⓘ":{"coeff":5,"lang":"*"},"♿":{"coeff":5,"lang":"*"},"⇗":{"coeff":5,"lang":"*"},"⇘":{"coeff":5,"lang":"*"},"ⓨ":{"coeff":5,"lang":"*"},"ⓙ":{"coeff":5,"lang":"*"},"▫":{"coeff":5,"lang":"*"},"🔇":{"coeff":5,"lang":"*"},"⌃":{"coeff":-5,"lang":"*"},"🔖":{"coeff":5,"lang":"*"},"📜":{"coeff":5,"lang":"*"},"🚝":{"coeff":5,"lang":"*"},"┘":{"coeff":-5,"lang":"*"},"✝":{"coeff":-5,"lang":"*"},"⍣":{"coeff":-5,"lang":"*"},"📮":{"coeff":-5,"lang":"*"},"🕕":{"coeff":-5,"lang":"*"},"🔯":{"coeff":5,"lang":"*"},"➸":{"coeff":5,"lang":"*"},"꒵":{"coeff":5,"lang":"*"},"🕥":{"coeff":-5,"lang":"*"},"✽":{"coeff":5,"lang":"*"},"📼":{"coeff":5,"lang":"*"},"🕐":{"coeff":-5,"lang":"*"},"🀄":{"coeff":5,"lang":"*"},"✬":{"coeff":5,"lang":"*"},"✫":{"coeff":5,"lang":"*"},"🕔":{"coeff":-5,"lang":"*"},"❣":{"coeff":5,"lang":"*"},"📫":{"coeff":5,"lang":"*"},"🉐":{"coeff":5,"lang":"*"},"🈂":{"coeff":-5,"lang":"*"},"🎰":{"coeff":-5,"lang":"*"},"҂":{"coeff":-5,"lang":"*"},"╤":{"coeff":-5,"lang":"*"},"📔":{"coeff":5,"lang":"*"}} -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | var tokenize = require('./tokenize'); 2 | var Fuse = require('fuse.js'); 3 | var utils = require('./utils'); 4 | 5 | var langLists = []; 6 | var fuseDbs = []; 7 | var fuseOpts = { 8 | includeMatches: true, 9 | threshold: 0.2, 10 | location: 0, 11 | distance: 10, 12 | maxPatternLength: 20, 13 | minMatchCharLength: 1, 14 | keys: ['word'], 15 | }; 16 | 17 | // Will not perform a fuzzy search on long texts 18 | var fuzzySearchMaxLength = 100; 19 | 20 | // Defines the distance, expressed in number of 21 | // tokens, within which a negator has effect 22 | var maxNegationDistance = 5; 23 | 24 | // Volatile list of already built languages 25 | var builtLanguages = []; 26 | 27 | /** 28 | * Builds the Fuse DBs and creates dictionaries. 29 | * In case the given language has been already built, the 30 | * iteration is skipped. 31 | * @param {Object} langs The list of supported languages 32 | */ 33 | function buildFuseDbs(langs) { 34 | langs.forEach(function (lang) { 35 | if (builtLanguages.indexOf(lang) > -1) { 36 | return; 37 | } 38 | 39 | var afinnWords = []; 40 | langLists[lang] = require('../build/output/build-' + lang + '.json'); 41 | Object.keys(langLists[lang]).forEach(function (k) { 42 | afinnWords.push({ 43 | word: k, 44 | }); 45 | }); 46 | fuseDbs[lang] = new Fuse(afinnWords, fuseOpts); 47 | builtLanguages.push(lang); 48 | }); 49 | } 50 | 51 | /** 52 | * Performs sentiment analysis on the provided input 'phrase'. 53 | * 54 | * @param {String} phrase The phrase to be analyzed 55 | * @param {String} lang The language to be used 56 | * @param {Object} inject Custom additions (words/tokens) 57 | * @param {Function} callback An optional callback 58 | * @return {Object} 59 | */ 60 | // TODO: Support multiple langs to be passed 61 | module.exports = function (phrase, lang, inject, callback) { 62 | // Parse arguments 63 | if (typeof phrase === 'undefined') phrase = ''; 64 | if (typeof lang === 'undefined') lang = 'en'; 65 | if (typeof inject === 'undefined') inject = null; 66 | if (typeof inject === 'function') callback = inject; 67 | if (typeof callback === 'undefined') callback = null; 68 | 69 | // Let's build fuse dbs at bootstrap 70 | buildFuseDbs([lang]); 71 | 72 | var i, j; 73 | var customTokens = []; 74 | var afinnLang = Object.assign({}, langLists[lang]); 75 | var fuse = fuseDbs[lang]; 76 | 77 | // Merge custom words/tokens with our dictionary 78 | if (inject !== null) { 79 | if (typeof inject.words !== 'undefined') { 80 | for (i in inject.words) { 81 | inject.words[i] = { 82 | coeff: inject.words[i], 83 | lang: lang, 84 | }; 85 | } 86 | afinnLang = Object.assign(afinnLang, inject.words); 87 | } 88 | 89 | if (typeof inject.tokens !== 'undefined') { 90 | for (i in inject.tokens) { 91 | customTokens.push({ 92 | value: inject.tokens[i], 93 | negate: utils.isNegator(inject.tokens[i], lang), 94 | }); 95 | } 96 | } 97 | } 98 | 99 | // Storage objects 100 | var tokens = customTokens.length > 0 ? customTokens : tokenize(phrase, lang), 101 | score = 0, 102 | positiveScore = 0, 103 | negativeScore = 0, 104 | words = [], 105 | positive = [], 106 | negative = []; 107 | 108 | // Iterate over tokens 109 | var nearNegator = false, 110 | nearNegatorCount = 0, 111 | tokensLen = tokens.length; 112 | 113 | for (i = 0; i < tokensLen; i++) { 114 | var tokenizedWord = tokens[i].value; 115 | if (tokenizedWord === '') continue; 116 | 117 | if (tokens[i].negate) { 118 | nearNegator = true; 119 | continue; 120 | } 121 | 122 | if (nearNegatorCount >= maxNegationDistance) { 123 | nearNegator = false; 124 | nearNegatorCount = 0; 125 | } 126 | nearNegatorCount++; 127 | 128 | if ( 129 | !Object.prototype.hasOwnProperty.call(afinnLang, tokenizedWord) && 130 | tokens.length < fuzzySearchMaxLength 131 | ) { 132 | // TODO: Handling of typos or plurals in single words 133 | // has to be further improved.The following implementation 134 | // is a good compromise. 135 | 136 | var foundSimilar = false; 137 | var search = fuse.search(tokenizedWord); 138 | 139 | for (j in search) { 140 | var fuseItem = search[j]; 141 | var fuseWord = fuseItem.item.word; 142 | var partialFuseWord = fuseWord.substring(0, fuseWord.length - 1); 143 | var partialWord = tokenizedWord.substring(0, tokenizedWord.length - 1); 144 | 145 | if ( 146 | fuseItem && 147 | fuseItem.item && 148 | fuseItem.item.word && 149 | // To avoid false-positives the words 150 | // should be identical except for 151 | // the final char 152 | partialFuseWord === partialWord 153 | ) { 154 | foundSimilar = true; 155 | tokenizedWord = fuseItem.matches[0].value; 156 | break; 157 | } 158 | } 159 | 160 | if (!foundSimilar) { 161 | continue; 162 | } 163 | } 164 | 165 | words.push(tokenizedWord); 166 | 167 | var item = Object.assign({}, afinnLang[tokenizedWord]); 168 | item.coeff = nearNegator ? -item.coeff : item.coeff; 169 | 170 | if (item.coeff > 0) { 171 | positive.push(tokenizedWord); 172 | positiveScore += item.coeff; 173 | } else if (item.coeff < 0) { 174 | negative.push(tokenizedWord); 175 | negativeScore += item.coeff; 176 | } 177 | 178 | if (isNaN(item.coeff)) { 179 | continue; 180 | } 181 | 182 | score += item.coeff; 183 | } 184 | 185 | let positiveOverNegativeScore = 186 | +(positiveScore / negativeScore).toFixed(2) || 0; 187 | 188 | if (positiveScore === 0) { 189 | positiveOverNegativeScore = negativeScore; 190 | } else if (negativeScore === 0) { 191 | positiveOverNegativeScore = positiveScore; 192 | } else { 193 | if (positiveOverNegativeScore === Number.POSITIVE_INFINITY) { 194 | positiveOverNegativeScore = positiveScore; 195 | } else if (positiveOverNegativeScore === Number.NEGATIVE_INFINITY) { 196 | positiveOverNegativeScore = negativeScore; 197 | } 198 | } 199 | 200 | const comparativeScore = 201 | score !== 0 202 | ? +(score / tokens.length + positiveOverNegativeScore).toFixed(2) 203 | : 0; 204 | 205 | let category; 206 | if (score === 0) { 207 | category = 'neutral'; 208 | } else if (comparativeScore > 0) { 209 | category = 'positive'; 210 | } else { 211 | category = 'negative'; 212 | } 213 | 214 | var result = { 215 | score, 216 | positiveScore, 217 | negativeScore, 218 | comparative: comparativeScore, 219 | category, 220 | tokens, 221 | words, 222 | positive, 223 | negative, 224 | }; 225 | 226 | if (callback === null) { 227 | return result; 228 | } 229 | 230 | process.nextTick(function () { 231 | callback(null, result); 232 | }); 233 | }; 234 | -------------------------------------------------------------------------------- /lib/tokenize.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Negators "flip" the sentiment of the following word. 3 | */ 4 | var negatorsClass = require('../build/languages/negators/'); 5 | var tokenizer = require('wink-tokenizer')(); 6 | 7 | /** 8 | * Remove special characters and return an array of tokens (words). 9 | * @param {String} input The input string to be analyzed 10 | * @param {String} lang The language to be used 11 | * @return {Array} Array of tokens 12 | */ 13 | module.exports = function (input, lang) { 14 | if (!input) { 15 | return []; 16 | } 17 | 18 | const tmpTokens = tokenizer 19 | .tokenize(input.toLowerCase().replace('-', '')) 20 | .filter((token) => token.tag !== 'punctuation') 21 | .map((token) => token.value); 22 | 23 | var tokens = []; 24 | for (var i = 0, len = tmpTokens.length; i < len; i++) { 25 | var currToken = tmpTokens[i]; 26 | 27 | if (i == len - 1) { 28 | tokens.push({ 29 | value: currToken, 30 | negate: false, 31 | }); 32 | continue; 33 | } 34 | 35 | // Trying to include negators in the tokens with 36 | // the possible combinations 37 | var nextToken = tmpTokens[i + 1]; 38 | var toCheck = tmpTokens[i] + nextToken; 39 | var toCheckAlt = tmpTokens[i] + ' ' + nextToken; 40 | 41 | // TODO: Support RTL 42 | if (negatorsClass.find(toCheck, lang)) { 43 | tokens.push({ 44 | value: toCheck, 45 | negate: true, 46 | }); 47 | i++; 48 | } else if (negatorsClass.find(toCheckAlt, lang)) { 49 | tokens.push({ 50 | value: toCheckAlt, 51 | negate: true, 52 | }); 53 | i++; 54 | } else if (negatorsClass.find(currToken, lang)) { 55 | tokens.push({ 56 | value: currToken, 57 | negate: true, 58 | }); 59 | } else { 60 | tokens.push({ 61 | value: currToken, 62 | negate: false, 63 | }); 64 | } 65 | } 66 | 67 | return tokens; 68 | }; 69 | -------------------------------------------------------------------------------- /lib/utils.js: -------------------------------------------------------------------------------- 1 | var negatorsClass = require('../build/languages/negators/'); 2 | 3 | module.exports = { 4 | /** 5 | * Returns TRUE if the given word is a negator in the given language 6 | */ 7 | isNegator: function (word, lang) { 8 | return negatorsClass.find(word, lang); 9 | }, 10 | /** 11 | * Returns TRUE if the given language is a "right-to-left" one 12 | */ 13 | isRTLLanguage: function (lang) { 14 | return ['ar', 'az', 'dv', 'he', 'ku', 'fa', 'ur', 'yi'].includes(lang); 15 | }, 16 | }; 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Marcello Barile ", 3 | "name": "multilang-sentiment", 4 | "description": "Multi language AFINN-based sentiment analysis for Node.js", 5 | "version": "2.0.0", 6 | "license": "MIT", 7 | "homepage": "https://github.com/marcellobarile/multilang-sentiment", 8 | "repository": { 9 | "type": "git", 10 | "url": "https://github.com/marcellobarile/multilang-sentiment.git" 11 | }, 12 | "keywords": [ 13 | "multilang sentiment", 14 | "multi language sentiment", 15 | "multilanguage sentiment", 16 | "sentiment", 17 | "analysis", 18 | "nlp", 19 | "sentiment analysis" 20 | ], 21 | "main": "./lib/index.js", 22 | "scripts": { 23 | "benchmark": "node ./test/benchmark/performance.js", 24 | "build": "node ./build/build.js", 25 | "coverage": "npx tap ./test/{integration,unit}/*.js --coverage --coverage-report=lcov", 26 | "lint": "npx eslint ./lib/*.js ./build/*.js ./test/**/*.js", 27 | "lint:fix": "npx eslint --fix ./lib/*.js ./build/*.js ./test/**/*.js", 28 | "prepublishOnly": "npm run test:all", 29 | "pretest": "npm run lint", 30 | "test": "npx tap ./test/{unit,integration}/*.js", 31 | "test:unit": "npx tap ./test/unit/*.js", 32 | "test:integration": "npx tap ./test/integration/*.js", 33 | "test:all": "npx npm-run-all validate benchmark test:unit test:integration", 34 | "validate": "node ./test/benchmark/validate.js" 35 | }, 36 | "devDependencies": { 37 | "Sentimental": "1.0.1", 38 | "async": "^3.2.0", 39 | "benchmark": "^2.1.4", 40 | "tap": "^15.0.9" 41 | }, 42 | "dependencies": { 43 | "fuse.js": "^6.4.6", 44 | "wink-tokenizer": "^5.2.3" 45 | }, 46 | "engines": { 47 | "node": ">=4.0" 48 | } 49 | } -------------------------------------------------------------------------------- /test/benchmark/performance.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Runs benchmarks against sentiment and Sentimental. 3 | * 4 | * @package sentiment 5 | * @author Andrew Sliwinski 6 | */ 7 | 8 | /** 9 | * Dependencies 10 | */ 11 | var Benchmark = require('benchmark'); 12 | var suite = new Benchmark.Suite(); 13 | 14 | var sentiment = require('../../lib/index'); 15 | var sentimental = require('Sentimental'); 16 | 17 | /** 18 | * Test data 19 | */ 20 | var stringShort = 'This cat is totally awesome'; 21 | var stringLong = require('../fixtures/corpus'); 22 | 23 | /** 24 | * Setup 25 | */ 26 | suite 27 | .add('sentiment (Latest) - Short ', function () { 28 | sentiment(stringShort); 29 | }) 30 | .add('sentiment (Latest) - Long ', function () { 31 | sentiment(stringLong); 32 | }) 33 | .add('Sentimental (1.0.1) - Short', function () { 34 | sentimental.analyze(stringShort); 35 | }) 36 | .add('Sentimental (1.0.1) - Long ', function () { 37 | sentimental.analyze(stringLong); 38 | }) 39 | .on('cycle', function (event) { 40 | process.stdout.write(String(event.target) + '\n'); 41 | }) 42 | .run({ 43 | minSamples: 100, 44 | delay: 2 45 | }); 46 | -------------------------------------------------------------------------------- /test/benchmark/validate.js: -------------------------------------------------------------------------------- 1 | var sentiment = require('../../lib/index'); 2 | 3 | var amazon = require('../fixtures/amazon.json'); 4 | var imdb = require('../fixtures/imdb.json'); 5 | var yelp = require('../fixtures/yelp.json'); 6 | 7 | function validate(set) { 8 | // Storage object 9 | var obj = { 10 | pass: 0, 11 | fail: 0, 12 | }; 13 | 14 | // Iterate over each word/class pair in the dataset 15 | for (var i in set) { 16 | var score = sentiment(set[i].text).comparative; 17 | if (set[i].class === 0) { 18 | if (score >= 0) obj.fail++; 19 | if (score < 0) obj.pass++; 20 | } else { 21 | if (score >= 0) obj.pass++; 22 | if (score < 0) obj.fail++; 23 | } 24 | } 25 | 26 | // Calculate Rand accuracy 27 | return obj.pass / (obj.pass + obj.fail); 28 | } 29 | 30 | process.stdout.write('Amazon accuracy: ' + validate(amazon) + '\n'); 31 | process.stdout.write('IMDB accuracy: ' + validate(imdb) + '\n'); 32 | process.stdout.write('Yelp accuracy: ' + validate(yelp) + '\n'); 33 | -------------------------------------------------------------------------------- /test/fixtures/corpus.js: -------------------------------------------------------------------------------- 1 | /* eslint max-len: [1, 8000, 4] */ 2 | /* eslint quotes: [1, "double"] */ 3 | 4 | // http://www.gutenberg.org/files/2701/2701-h/2701-h.htm 5 | module.exports = "I stuffed a shirt or two into my old carpet-bag, tucked it under my arm, and started for Cape Horn and the Pacific. Quitting the good city of old Manhatto, I duly arrived in New Bedford. It was a Saturday night in December. Much was I disappointed upon learning that the little packet for Nantucket had already sailed, and that no way of reaching that place would offer, till the following Monday. As most young candidates for the pains and penalties of whaling stop at this same New Bedford, thence to embark on their voyage, it may as well be related that I, for one, had no idea of so doing. For my mind was made up to sail in no other than a Nantucket craft, because there was a fine, boisterous something about everything connected with that famous old island, which amazingly pleased me. Besides though New Bedford has of late been gradually monopolising the business of whaling, and though in this matter poor old Nantucket is now much behind her, yet Nantucket was her great original—the Tyre of this Carthage;—the place where the first dead American whale was stranded. Where else but from Nantucket did those aboriginal whalemen, the Red-Men, first sally out in canoes to give chase to the Leviathan? And where but from Nantucket, too, did that first adventurous little sloop put forth, partly laden with imported cobblestones—so goes the story—to throw at the whales, in order to discover when they were nigh enough to risk a harpoon from the bowsprit? Now having a night, a day, and still another night following before me in New Bedford, ere I could embark for my destined port, it became a matter of concernment where I was to eat and sleep meanwhile. It was a very dubious-looking, nay, a very dark and dismal night, bitingly cold and cheerless. I knew no one in the place. With anxious grapnels I had sounded my pocket, and only brought up a few pieces of silver,—So, wherever you go, Ishmael, said I to myself, as I stood in the middle of a dreary street shouldering my bag, and comparing the gloom towards the north with the darkness towards the south—wherever in your wisdom you may conclude to lodge for the night, my dear Ishmael, be sure to inquire the price, and don't be too particular. With halting steps I paced the streets, and passed the sign of \"The Crossed Harpoons\"—but it looked too expensive and jolly there. Further on, from the bright red windows of the \"Sword-Fish Inn,\" there came such fervent rays, that it seemed to have melted the packed snow and ice from before the house, for everywhere else the congealed frost lay ten inches thick in a hard, asphaltic pavement,—rather weary for me, when I struck my foot against the flinty projections, because from hard, remorseless service the soles of my boots were in a most miserable plight. Too expensive and jolly, again thought I, pausing one moment to watch the broad glare in the street, and hear the sounds of the tinkling glasses within. But go on, Ishmael, said I at last; don't you hear? get away from before the door; your patched boots are stopping the way. So on I went. I now by instinct followed the streets that took me waterward, for there, doubtless, were the cheapest, if not the cheeriest inns. Such dreary streets! blocks of blackness, not houses, on either hand, and here and there a candle, like a candle moving about in a tomb. At this hour of the night, of the last day of the week, that quarter of the town proved all but deserted. But presently I came to a smoky light proceeding from a low, wide building, the door of which stood invitingly open. It had a careless look, as if it were meant for the uses of the public; so, entering, the first thing I did was to stumble over an ash-box in the porch. Ha! thought I, ha, as the flying particles almost choked me, are these ashes from that destroyed city, Gomorrah? But \"The Crossed Harpoons,\" and \"The Sword-Fish?\"—this, then must needs be the sign of \"The Trap.\" However, I picked myself up and hearing a loud voice within, pushed on and opened a second, interior door. It seemed the great Black Parliament sitting in Tophet. A hundred black faces turned round in their rows to peer; and beyond, a black Angel of Doom was beating a book in a pulpit. It was a negro church; and the preacher's text was about the blackness of darkness, and the weeping and wailing and teeth-gnashing there. Ha, Ishmael, muttered I, backing out, Wretched entertainment at the sign of 'The Trap!' Moving on, I at last came to a dim sort of light not far from the docks, and heard a forlorn creaking in the air; and looking up, saw a swinging sign over the door with a white painting upon it, faintly representing a tall straight jet of misty spray, and these words underneath—\"The Spouter Inn:—Peter Coffin.\" Coffin?—Spouter?—Rather ominous in that particular connexion, thought I. But it is a common name in Nantucket, they say, and I suppose this Peter here is an emigrant from there. As the light looked so dim, and the place, for the time, looked quiet enough, and the dilapidated little wooden house itself looked as if it might have been carted here from the ruins of some burnt district, and as the swinging sign had a poverty-stricken sort of creak to it, I thought that here was the very spot for cheap lodgings, and the best of pea coffee. It was a queer sort of place—a gable-ended old house, one side palsied as it were, and leaning over sadly. It stood on a sharp bleak corner, where that tempestuous wind Euroclydon kept up a worse howling than ever it did about poor Paul's tossed craft. Euroclydon, nevertheless, is a mighty pleasant zephyr to any one in-doors, with his feet on the hob quietly toasting for bed. \"In judging of that tempestuous wind called Euroclydon,\" says an old writer—of whose works I possess the only copy extant—\"it maketh a marvellous difference, whether thou lookest out at it from a glass window where the frost is all on the outside, or whether thou observest it from that sashless window, where the frost is on both sides, and of which the wight Death is the only glazier.\" True enough, thought I, as this passage occurred to my mind—old black-letter, thou reasonest well. Yes, these eyes are windows, and this body of mine is the house. What a pity they didn't stop up the chinks and the crannies though, and thrust in a little lint here and there. But it's too late to make any improvements now. The universe is finished; the copestone is on, and the chips were carted off a million years ago. Poor Lazarus there, chattering his teeth against the curbstone for his pillow, and shaking off his tatters with his shiverings, he might plug up both ears with rags, and put a corn-cob into his mouth, and yet that would not keep out the tempestuous Euroclydon. Euroclydon! says old Dives, in his red silken wrapper—(he had a redder one afterwards) pooh, pooh! What a fine frosty night; how Orion glitters; what northern lights! Let them talk of their oriental summer climes of everlasting conservatories; give me the privilege of making my own summer with my own coals. But what thinks Lazarus? Can he warm his blue hands by holding them up to the grand northern lights? Would not Lazarus rather be in Sumatra than here? Would he not far rather lay him down lengthwise along the line of the equator; yea, ye gods! go down to the fiery pit itself, in order to keep out this frost? Now, that Lazarus should lie stranded there on the curbstone before the door of Dives, this is more wonderful than that an iceberg should be moored to one of the Moluccas. Yet Dives himself, he too lives like a Czar in an ice palace made of frozen sighs, and being a president of a temperance society, he only drinks the tepid tears of orphans. But no more of this blubbering now, we are going a-whaling, and there is plenty of that yet to come. Let us scrape the ice from our frosted feet, and see what sort of a place this \"Spouter\" may be."; 6 | -------------------------------------------------------------------------------- /test/fixtures/fuzz.js: -------------------------------------------------------------------------------- 1 | function rand (limit) { 2 | return Math.floor(Math.random() * limit); 3 | } 4 | 5 | function createRandomWord (length) { 6 | var consonants = 'bcdfghjklmnpqrstvwxyz!@#$%^&*()_+":;\'?><~`'; 7 | var vowels = 'aeiou'; 8 | var word = ''; 9 | 10 | // Split 11 | consonants = consonants.split(''); 12 | vowels = vowels.split(''); 13 | 14 | // Create word 15 | for (var i = 0; i < length / 2; i++) { 16 | var randConsonant = consonants[rand(consonants.length)]; 17 | var randVowel = vowels[rand(vowels.length)]; 18 | 19 | word += (i===0) ? randConsonant.toUpperCase() : randConsonant; 20 | word += i*2 { 8 | const output = { ...oldData }; 9 | let duplicatedCount = 0; 10 | let newTermsCount = 0; 11 | const minMax = minMaxScore(data); 12 | 13 | for (const record of data) { 14 | const newAfinnScore = bnsToAfinn(record.score, minMax[0], minMax[1]); 15 | 16 | if (output[record.term]) { 17 | duplicatedCount++; 18 | 19 | if ( 20 | (output[record.term] < 0 && newAfinnScore > 0) || 21 | (output[record.term] > 0 && newAfinnScore < 0) 22 | ) { 23 | console.log( 24 | 'term: ', 25 | record.term, 26 | 'AFINN: ', 27 | output[record.term], 28 | 'new AFINN: ', 29 | newAfinnScore, 30 | 'BNS: ', 31 | record.score 32 | ); 33 | } 34 | } else { 35 | newTermsCount++; 36 | output[record.term] = newAfinnScore; 37 | } 38 | } 39 | 40 | console.log( 41 | 'AFINN terms: ', 42 | Object.keys(output).length, 43 | 'BNS terms: ', 44 | Object.keys(data).length, 45 | 'Duplicated: ', 46 | duplicatedCount, 47 | 'New: ', 48 | newTermsCount 49 | ); 50 | 51 | writeToFile(output, resolve(AFINN_PATH)); 52 | }; 53 | 54 | run(); 55 | -------------------------------------------------------------------------------- /utils/arabic/chi-to-afinn.js: -------------------------------------------------------------------------------- 1 | const data = require('./data/AraHate-CHI.json'); 2 | const oldData = require('../../build/languages/AFINN-ar.json'); 3 | 4 | const { chiToAfinn, minMaxScore } = require('./utils'); 5 | 6 | const run = () => { 7 | const output = { ...oldData }; 8 | let duplicatedCount = 0; 9 | let newTermsCount = 0; 10 | const minMax = minMaxScore(data); 11 | 12 | for (const record of data) { 13 | const newAfinnScore = chiToAfinn(record.score, minMax[0], minMax[1]); 14 | 15 | if (output[record.term]) { 16 | duplicatedCount++; 17 | 18 | if ( 19 | (output[record.term] < 0 && newAfinnScore > 0) || 20 | (output[record.term] > 0 && newAfinnScore < 0) 21 | ) { 22 | console.log( 23 | 'term: ', 24 | record.term, 25 | 'AFINN: ', 26 | output[record.term], 27 | 'new AFINN: ', 28 | newAfinnScore, 29 | 'CHI: ', 30 | record.score 31 | ); 32 | } 33 | } else { 34 | newTermsCount++; 35 | output[record.term] = newAfinnScore; 36 | } 37 | } 38 | 39 | console.log( 40 | 'AFINN terms: ', 41 | Object.keys(output).length, 42 | 'CHI terms: ', 43 | Object.keys(data).length, 44 | 'Duplicated: ', 45 | duplicatedCount, 46 | 'New: ', 47 | newTermsCount 48 | ); 49 | 50 | console.log(JSON.stringify(output)); 51 | }; 52 | 53 | run(); 54 | -------------------------------------------------------------------------------- /utils/arabic/data/AraHate-BNS.csv: -------------------------------------------------------------------------------- 1 | term,BNS_score 2 | لعنه,1.87935355685 3 | عهر,1.8398407861 4 | نجس,1.70994644358 5 | قرد,1.66053210132 6 | خنزير,1.66053210132 7 | بز,1.62724733511 8 | كلب,1.59726993544 9 | قذر,1.57481773566 10 | استغرب,1.55173821913 11 | صليبيه,1.55173821913 12 | عميل,1.46263710092 13 | لعن,1.38404323594 14 | مجوس,1.36562681976 15 | انتقم,1.34709766187 16 | زبر,1.31303847813 17 | ارهاب,1.27848250134 18 | عاشر,1.23647842057 19 | خائن,1.23230149322 20 | كاظم,1.22797313563 21 | حمار,1.22380769375 22 | وسخ,1.19302735387 23 | بتويتر,1.17480502298 24 | تشارلز,1.16293649179 25 | قذاره,1.14528318659 26 | سيطره,1.14528318659 27 | ساهر,1.14385809858 28 | خبيث,1.1294007025 29 | معمم,1.1294007025 30 | سلط,1.09552181715 31 | خميني,1.09447172031 32 | ماهو,1.09342403154 33 | انجس,1.0923787414 34 | تناقض,1.0923787414 35 | سبت,1.06561380726 36 | محراب,1.06561380726 37 | حقد,1.06429279266 38 | فضح,1.05465178565 39 | حفيد,1.03500679337 40 | دمار,1.03500679337 41 | اوربي,1.03500679337 42 | ترامب,1.03316536293 43 | حثاله,1.03316536293 44 | نفاق,1.02312689148 45 | وكيل,1.02312689148 46 | غبي,1.02312689148 47 | عدوان,1.0126487795 48 | تاق,1.0126487795 49 | اباحي,1.0126487795 50 | اخطر,1.00244130673 51 | ارهب,0.986114127463 52 | صهيوني,0.976524634893 53 | شعبي,0.967669321835 54 | جهل,0.933339423109 55 | طبع,0.930394197457 56 | رافضي,0.930394197457 57 | اللات,0.930394197457 58 | الحوثي,0.925269634351 59 | خان,0.916640974597 60 | بهر,0.916640974597 61 | قم,0.916640974597 62 | لحم,0.916640974597 63 | حشد,0.895660181671 64 | زلزل,0.892949499767 65 | جريمه,0.891601109346 66 | احس,0.8902573177 67 | الحوثيون,0.881402689132 68 | تدمير,0.880168280045 69 | كفر,0.87752379055 70 | اباد,0.873952338992 71 | رافضه,0.87253842198 72 | طهر,0.862956587206 73 | افتي,0.861068503979 74 | الذي,0.861068503979 75 | اذل,0.861068503979 76 | مواجه,0.861068503979 77 | مكر,0.861068503979 78 | هتلر,0.861068503979 79 | تحريض,0.861068503979 80 | ملل,0.861068503979 81 | بدين,0.84681985262 82 | نص,0.84681985262 83 | الاتارب,0.84681985262 84 | جزيه,0.846352232084 85 | داعش,0.844783918937 86 | حاقد,0.838286405636 87 | وهابي,0.819648482623 88 | ليبرالي,0.819648482623 89 | صنعاء,0.819149848448 90 | غباء,0.80008285052 91 | حيوان,0.799537341394 92 | فاجر,0.799537341394 93 | رغم,0.79899265416 94 | صفق,0.79899265416 95 | كفار,0.79899265416 96 | عاقل,0.79899265416 97 | شيطان,0.793449228539 98 | كافر,0.769072347761 99 | خوارج,0.758982926167 100 | نفسي,0.758982926167 101 | قضاء,0.749658271519 102 | ذل,0.747723434729 103 | هدد,0.747723434729 104 | عار,0.747723434729 105 | بول,0.747723434729 106 | سب,0.744670255273 107 | سقط,0.737237221673 108 | كذب,0.728506554905 109 | حاول,0.716782791251 110 | عداوه,0.714548646212 111 | صوفي,0.708776092138 112 | سعود,0.696426203901 113 | ارهابي,0.691836168256 114 | محتل,0.691337137005 115 | السيسي,0.691337137005 116 | تحريم,0.690496751462 117 | بريء,0.690496751462 118 | غض,0.690496751462 119 | ميناء,0.690496751462 120 | شرك,0.682296193625 121 | حارب,0.68010179068 122 | يهودي,0.679379637122 123 | روسي,0.678970154335 124 | طعن,0.674206394926 125 | حرام,0.673234850045 126 | قرب,0.666237954306 127 | عيال,0.666237954306 128 | خيانه,0.666237954306 129 | تدين,0.666237954306 130 | قتل,0.661487379856 131 | علماني,0.650677212908 132 | مجزره,0.649538651092 133 | ظهور,0.642278285876 134 | حصار,0.6373699516 135 | عبودي,0.626700468529 136 | مبين,0.626700468529 137 | مستحيل,0.626700468529 138 | حول,0.626700468529 139 | علوي,0.626700468529 140 | انتقام,0.626700468529 141 | حجم,0.626700468529 142 | كاد,0.626700468529 143 | حضاره,0.626700468529 144 | قد,0.626700468529 145 | انتمي,0.626700468529 146 | وثني,0.626700468529 147 | الكراني,0.626700468529 148 | ضد,0.624976138972 149 | اقصي,0.615098933515 150 | باع,0.613369398872 151 | خطيب,0.613369398872 152 | حرس,0.613369398872 153 | هالك,0.613369398872 154 | دخول,0.613369398872 155 | محرم,0.613369398872 156 | مليون,0.604393712943 157 | ملحد,0.59978176788 158 | اجبر,0.599715169442 159 | دينا,0.59797258229 160 | شرع,0.593177992508 161 | خمر,0.593177992508 162 | اعلن,0.593177992508 163 | مجوسي,0.593177992508 164 | شكل,0.593177992508 165 | غضب,0.593177992508 166 | غرب,0.587759673338 167 | علمانيه,0.582305751254 168 | شوف,0.580725020573 169 | دمر,0.580725020573 170 | باطل,0.578302831131 171 | تحالف,0.557736286851 172 | عائش,0.556548177625 173 | غربي,0.556548177625 174 | طبيعه,0.556251981398 175 | حليف,0.555956116436 176 | حري,0.555660582156 177 | عزيزي,0.555660582156 178 | مشارك,0.555660582156 179 | شعار,0.555365377979 180 | تخيل,0.555365377979 181 | زعم,0.555070503326 182 | عقاب,0.555070503326 183 | ايش,0.555070503326 184 | الدواعش,0.555070503326 185 | افسد,0.555070503326 186 | تشويه,0.555070503326 187 | تفكير,0.55477595762 188 | اهان,0.55477595762 189 | قذف,0.55477595762 190 | اجاب,0.530841099507 191 | شعب,0.530838328631 192 | نظام,0.525618462886 193 | مجرم,0.524893271241 194 | قصف,0.520999501762 195 | شرف,0.516174797148 196 | اتهم,0.516174797148 197 | بطل,0.510003668752 198 | الي,0.510003668752 199 | بطرك,0.510003668752 200 | صار,0.507883670666 201 | ابي,0.501780139354 202 | تطور,0.501780139354 203 | نبح,0.490199874725 204 | مقابل,0.490199874725 205 | كذاب,0.490199874725 206 | عيب,0.490199874725 207 | هاجم,0.490199874725 208 | مؤيد,0.490199874725 209 | احرج,0.490199874725 210 | عقلي,0.490199874725 211 | هرب,0.490199874725 212 | جاسم,0.490199874725 213 | شيء,0.488533168824 214 | بني,0.487843214647 215 | نهايه,0.483482621193 216 | قاتل,0.481448361036 217 | مشكله,0.474417042372 218 | غد,0.472554864481 219 | اخاف,0.472554864481 220 | صدفه,0.472554864481 221 | معاويه,0.472554864481 222 | هدف,0.46915606633 223 | خطر,0.46204183842 224 | مصيبه,0.460471360047 225 | شيوعي,0.460471360047 226 | تخلف,0.460471360047 227 | حقيقه,0.459649312025 228 | طائفي,0.458159210425 229 | كره,0.457222328457 230 | هلال,0.453779075634 231 | سلاح,0.453779075634 232 | لي,0.451863422646 233 | قتال,0.443412911975 234 | تنظيم,0.443412911975 235 | بلا,0.443412911975 236 | بشار,0.443412911975 237 | عامل,0.442777774029 238 | حلال,0.442777774029 239 | كاذب,0.442777774029 240 | تبني,0.442777774029 241 | قياد,0.442777774029 242 | متطرف,0.442777774029 243 | استضاف,0.442144512034 244 | سبب,0.441373163526 245 | امريكا,0.432347950324 246 | حرب,0.428217069158 247 | اسرائيلي,0.427458724572 248 | مد,0.427458724572 249 | تدخل,0.427458724572 250 | واقع,0.41820000221 251 | قروب,0.417225161486 252 | اشرك,0.417225161486 253 | اثار,0.417225161486 254 | صراح,0.417225161486 255 | طول,0.417225161486 256 | سخيف,0.417225161486 257 | زايد,0.417225161486 258 | احتل,0.417225161486 259 | مقتل,0.417225161486 260 | علق,0.417225161486 261 | اوان,0.417225161486 262 | عسكري,0.417225161486 263 | قادر,0.417225161486 264 | ثقافه,0.417225161486 265 | متهم,0.417225161486 266 | مجاهد,0.417225161486 267 | دليل,0.414366333613 268 | تويتر,0.412053809483 269 | جنس,0.412053809483 270 | اخرج,0.412053809483 271 | اكبر,0.41038096442 272 | احتلال,0.407717792775 273 | ضال,0.407717792775 274 | نادي,0.406399481844 275 | صغير,0.406399481844 276 | واضح,0.406399481844 277 | عدو,0.40524813226 278 | حكم,0.404390297265 279 | حساب,0.403786057591 280 | فساد,0.402108114346 281 | طرد,0.400444429191 282 | قريب,0.400444429191 283 | طلع,0.400444429191 284 | اشد,0.396744030443 285 | جن,0.396744030443 286 | مسجد,0.39388728998 287 | حريه,0.392541358471 288 | لن,0.391902272892 289 | اوسط,0.388839192205 290 | اسرائيل,0.388683987922 291 | دعم,0.388403479781 292 | فلسطين,0.381352401664 293 | تم,0.378939956772 294 | مقطع,0.378256416048 295 | تعاون,0.377915591548 296 | نسب,0.377915591548 297 | قليل,0.377915591548 298 | ابرياء,0.377575395245 299 | كيد,0.377575395245 300 | خادم,0.377235825364 301 | توقع,0.377235825364 302 | تاكد,0.377235825364 303 | عجز,0.377235825364 304 | خلاص,0.377235825364 305 | اعتراف,0.377235825364 306 | اخت,0.377235825364 307 | خرافه,0.377235825364 308 | غزالي,0.377235825364 309 | نقي,0.377235825364 310 | مثقف,0.377235825364 311 | ازهر,0.377235825364 312 | عجيبه,0.377235825364 313 | حوز,0.377235825364 314 | قبع,0.376558557802 315 | سبام,0.376558557802 316 | شريف,0.372020101742 317 | جيش,0.37094446621 318 | قائم,0.362156743059 319 | اوربا,0.362156743059 320 | اماره,0.354157399663 321 | شك,0.354157399663 322 | انكر,0.354157399663 323 | حذر,0.354157399663 324 | ابتغي,0.354157399663 325 | عقلاني,0.353441973286 326 | نصراني,0.353127929778 327 | دم,0.350160892462 328 | اذن,0.348007818474 329 | سجن,0.348007818474 330 | هوي,0.347416839829 331 | مصلحه,0.346941378528 332 | شتي,0.346941378528 333 | هما,0.346941378528 334 | مرتزق,0.346941378528 335 | مكه,0.346941378528 336 | هدم,0.346941378528 337 | بدع,0.345452830838 338 | دفع,0.343579353433 339 | حل,0.342457211427 340 | نار,0.341027432002 341 | حقيق,0.340578645112 342 | سلمان,0.336937604293 343 | شيعه,0.335471375084 344 | قل,0.334022832528 345 | اصدار,0.334022832528 346 | حكيم,0.334022832528 347 | عاصمه,0.334022832528 348 | استخدام,0.334022832528 349 | عارف,0.334022832528 350 | سماوي,0.334022832528 351 | خذل,0.334022832528 352 | ذال,0.334022832528 353 | الصفويين,0.334022832528 354 | صليب,0.332712038403 355 | مصر,0.32809874923 356 | فرس,0.32429211903 357 | خرج,0.32429211903 358 | شارك,0.323179730269 359 | سوق,0.323179730269 360 | جلد,0.323179730269 361 | تطرف,0.323179730269 362 | افتتاح,0.320739352733 363 | سيد,0.318620338806 364 | حماس,0.318391502543 365 | ظن,0.318391502543 366 | سالم,0.318391502543 367 | شام,0.315801312213 368 | صدق,0.312061059701 369 | كيف,0.310319385822 370 | عقل,0.308327561328 371 | امير,0.305971388218 372 | مات,0.304806962538 373 | عكس,0.304420818042 374 | داعي,0.304420818042 375 | ذبح,0.304420818042 376 | دائم,0.304420818042 377 | مقاومه,0.304035665734 378 | قاعد,0.304035665734 379 | تحدي,0.304035665734 380 | خوف,0.304035665734 381 | كبري,0.304035665734 382 | غوطه,0.303651501735 383 | اطلع,0.303651501735 384 | متعه,0.303651501735 385 | غزه,0.303651501735 386 | اوقف,0.303651501735 387 | صانع,0.303651501735 388 | ار,0.303651501735 389 | تطهير,0.303651501735 390 | بث,0.303651501735 391 | ولاء,0.303651501735 392 | انتشار,0.303651501735 393 | يمن,0.299038373888 394 | سوي,0.298496426434 395 | شرق,0.296974342235 396 | ان,0.296663933837 397 | وش,0.295024636513 398 | ايران,0.293495672593 399 | خاف,0.288278996084 400 | صح,0.288278996084 401 | فلسطيني,0.285902381296 402 | اسير,0.280994542633 403 | ساعد,0.280994542633 404 | طهران,0.280994542633 405 | عيد,0.280994542633 406 | اكل,0.280994542633 407 | جري,0.280994542633 408 | افريقيا,0.280994542633 409 | اعتقل,0.280994542633 410 | اكد,0.280994542633 411 | خاسر,0.280994542633 412 | هزه,0.28028152822 413 | جاء,0.27869493477 414 | خدم,0.275082390206 415 | خلف,0.275082390206 416 | عادي,0.271230003401 417 | صوره,0.270530603296 418 | حرم,0.270209695826 419 | تبع,0.268435831273 420 | حزب,0.267823494595 421 | دجال,0.26516564662 422 | مر,0.26516564662 423 | تحدث,0.264731820407 424 | قادم,0.264299427916 425 | يمني,0.263868461969 426 | كردي,0.263868461969 427 | ضعيف,0.263438915439 428 | حجر,0.263438915439 429 | اعلان,0.263438915439 430 | صدام,0.263438915439 431 | عرب,0.262017694727 432 | كنيس,0.260756677957 433 | منع,0.258795818404 434 | منافق,0.256947233751 435 | خبر,0.256947233751 436 | بعض,0.255921488944 437 | محمود,0.254221767484 438 | معتدل,0.249434754435 439 | انتشر,0.249434754435 440 | جنوب,0.249434754435 441 | متحد,0.249434754435 442 | مشهد,0.249434754435 443 | اراد,0.248193307308 444 | مفتي,0.245835620763 445 | وليد,0.245835620763 446 | اي,0.244373098344 447 | رياض,0.24424452168 448 | مع,0.243504126051 449 | نصير,0.238478618952 450 | ناصر,0.23800352545 451 | مش,0.237541601724 452 | فرد,0.237530338918 453 | اعتدال,0.237530338918 454 | ذراع,0.237530338918 455 | فئه,0.237530338918 456 | انتصار,0.237530338918 457 | بغض,0.237530338918 458 | جاهل,0.234016202993 459 | فتوي,0.231754172436 460 | طائف,0.22849654285 461 | قطع,0.22849654285 462 | اعلم,0.22849654285 463 | اتبع,0.225340310272 464 | احب,0.225244893929 465 | نشر,0.225066059454 466 | راوند,0.221510689042 467 | هجر,0.220466591229 468 | نزل,0.220466591229 469 | حيوحشنا,0.220466591229 470 | زاد,0.220466591229 471 | مراه,0.220466591229 472 | اعلام,0.220466591229 473 | مهدي,0.220466591229 474 | غني,0.220466591229 475 | تهجير,0.219948254425 476 | عشق,0.219948254425 477 | قسيس,0.219948254425 478 | خسر,0.219948254425 479 | عائله,0.219948254425 480 | عقليه,0.219948254425 481 | تخلي,0.219948254425 482 | سخر,0.219948254425 483 | تقبل,0.219948254425 484 | قياده,0.219948254425 485 | عجيب,0.219948254425 486 | مخلوق,0.219948254425 487 | ممنوع,0.219948254425 488 | اكثر,0.219582553576 489 | نسي,0.216308832599 490 | غريب,0.216308832599 491 | قدم,0.214685492522 492 | وصل,0.214685492522 493 | بد,0.213595248351 494 | زعيم,0.213595248351 495 | اجتمع,0.213595248351 496 | اظهر,0.213595248351 497 | طائفه,0.208994040427 498 | ليش,0.207649585184 499 | دافع,0.207649585184 500 | مصير,0.20708599992 501 | شديد,0.20708599992 502 | معقل,0.20708599992 503 | نفذ,0.20708599992 504 | فائده,0.20708599992 505 | نصف,0.20708599992 506 | تميم,0.20708599992 507 | وحي,0.20708599992 508 | وراء,0.20708599992 509 | ادخل,0.20708599992 510 | شمل,0.20708599992 511 | شبهه,0.20708599992 512 | سعودي,0.205578765839 513 | الحاد,0.205578765839 514 | تحول,0.202455250715 515 | دوله,0.202218006425 516 | زلزال,0.198726689207 517 | حال,0.198075674295 518 | ضحك,0.197879131234 519 | سوري,0.197879131234 520 | اطلق,0.197270199074 521 | علاونه,0.197270199074 522 | فاسد,0.197270199074 523 | تعليق,0.197270199074 524 | خليفه,0.197270199074 525 | يمين,0.197270199074 526 | لون,0.197270199074 527 | شعور,0.197270199074 528 | تصدي,0.197270199074 529 | نساء,0.195747923011 530 | راس,0.193817829962 531 | انتظر,0.193817829962 532 | مكان,0.193555952146 533 | بحث,0.190189807047 534 | مصري,0.189535429305 535 | خروج,0.189535429305 536 | قتيل,0.189535429305 537 | لذيذ,0.189535429305 538 | قطر,0.188653484815 539 | ارضيه,0.186929890489 540 | طفل,0.186605482186 541 | سؤال,0.184690682094 542 | حسين,0.184690682094 543 | شغل,0.183285440823 544 | اح,0.183285440823 545 | بعيد,0.183285440823 546 | اطرد,0.183285440823 547 | مشي,0.183285440823 548 | ساكن,0.183285440823 549 | شريعه,0.183285440823 550 | اصبهان,0.181313121335 551 | محد,0.178132012476 552 | معابد,0.178132012476 553 | ارض,0.177770486724 554 | ابناء,0.176649093602 555 | تمني,0.173811470199 556 | سعي,0.173811470199 557 | سماح,0.164232958073 558 | داخل,0.164232958073 559 | لازم,0.161825720266 560 | عراقي,0.161825720266 561 | مثل,0.161755214227 562 | جزيره,0.159698952919 563 | هم,0.15927339312 564 | امن,0.15887152962 565 | قوم,0.157807141616 566 | وطن,0.156470405592 567 | وجه,0.155069332227 568 | خليج,0.154590774275 569 | صحابه,0.154590774275 570 | طيلسان,0.151962601035 571 | وجب,0.147938009383 572 | وقت,0.145017270921 573 | ايراني,0.142816518164 574 | نعم,0.141912203775 575 | وجود,0.141111460053 576 | بقي,0.140071821119 577 | رضي,0.133890310834 578 | بوذي,-0.0012935667961 579 | نحن,-0.0014227584435 580 | عاد,-0.00243405841834 581 | اعمل,-0.00279763160015 582 | تامل,-0.00279763160015 583 | حرف,-0.00279763160015 584 | فكري,-0.00279763160015 585 | طبيعي,-0.00279763160015 586 | خط,-0.00279763160015 587 | روسيا,-0.00279763160015 588 | قاعده,-0.00279763160015 589 | جامع,-0.00280774237354 590 | نصرانيه,-0.00325013938591 591 | كاس,-0.00440159209588 592 | ضرب,-0.00440159209588 593 | نفس,-0.00478591408198 594 | مو,-0.00541365557564 595 | تكلم,-0.00541365557564 596 | دين,-0.00552169820682 597 | تعالي,-0.00643559944048 598 | اهدي,-0.00718218678106 599 | سلفي,-0.00718218678106 600 | شخص,-0.00721993642643 601 | يد,-0.00819397280189 602 | ترك,-0.00854869223359 603 | محبه,-0.00870565134351 604 | غزو,-0.00870565134351 605 | شاه,-0.00870565134351 606 | جزائر,-0.00870565134351 607 | لقب,-0.00870565134351 608 | قديم,-0.00872291171092 609 | شهر,-0.00872291171092 610 | فجر,-0.00872291171092 611 | كاتب,-0.00872291171092 612 | بينما,-0.00872291171092 613 | تعامل,-0.00872291171092 614 | زلزله,-0.00874024065814 615 | اغلب,-0.00874024065814 616 | هز,-0.00881025048525 617 | تاريخ,-0.0117581378045 618 | ام,-0.0142502532324 619 | سبيل,-0.0153357604773 620 | وعي,-0.0168910421249 621 | قنا,-0.0168910421249 622 | جواب,-0.0168910421249 623 | كويتي,-0.0168910421249 624 | تحرير,-0.0168910421249 625 | تحقيق,-0.0168910421249 626 | خالد,-0.0168910421249 627 | قاد,-0.0169184229994 628 | رجع,-0.0169458927927 629 | افضل,-0.0169734519388 630 | اجل,-0.0183192735105 631 | اصاب,-0.0183192735105 632 | قانون,-0.0183192735105 633 | الحمدلله,-0.0183192735105 634 | دخل,-0.0184792945194 635 | بل,-0.0197776963174 636 | عين,-0.0201828908339 637 | مشروع,-0.0212192041301 638 | فكر,-0.0222079935214 639 | فتح,-0.0231541038342 640 | طالب,-0.0235058575536 641 | عرض,-0.0235616997677 642 | انا,-0.025267254156 643 | تاجر,-0.0263767590789 644 | مستانس,-0.0263767590789 645 | بسيط,-0.0263767590789 646 | نحر,-0.0263767590789 647 | نزع,-0.0263767590789 648 | اهلك,-0.0263767590789 649 | جو,-0.0263767590789 650 | استغل,-0.0263767590789 651 | اعتناق,-0.0263767590789 652 | شاعر,-0.0263767590789 653 | منكر,-0.0263767590789 654 | حسد,-0.0263767590789 655 | حجاب,-0.0263767590789 656 | اختار,-0.0263767590789 657 | طرح,-0.0263767590789 658 | الهي,-0.0263767590789 659 | طوبي,-0.0263767590789 660 | حقيقي,-0.0264386692771 661 | دولي,-0.0264386692771 662 | عز,-0.0264386692771 663 | اعجب,-0.0264386692771 664 | عون,-0.0265008708184 665 | جد,-0.0266892442148 666 | قوه,-0.0272990001839 667 | فرق,-0.0282218279162 668 | قص,-0.0282218279162 669 | عيسي,-0.0282218279162 670 | الا,-0.0282218279162 671 | ارضي,-0.0283493358168 672 | سياسي,-0.0283493358168 673 | ال,-0.0283908895117 674 | شاهد,-0.0301949762506 675 | صاحب,-0.0309206246706 676 | روح,-0.0312693685918 677 | عاده,-0.0333995213187 678 | اشرف,-0.0345358541068 679 | فاضي,-0.0345358541068 680 | سار,-0.0345358541068 681 | عبده,-0.0345358541068 682 | طبق,-0.0345358541068 683 | تغريد,-0.0345358541068 684 | شاب,-0.0345358541068 685 | اسلامي,-0.0356627486689 686 | كل,-0.0384408832977 687 | اثر,-0.0387759370402 688 | عيش,-0.0393281013826 689 | زوجه,-0.0393281013826 690 | مرحله,-0.0393281013826 691 | حلق,-0.0393281013826 692 | خارج,-0.0393281013826 693 | مختلف,-0.0393281013826 694 | اقليه,-0.0393281013826 695 | صفح,-0.0393281013826 696 | عهد,-0.0394347587358 697 | بدل,-0.0394347587358 698 | اخ,-0.0397582312374 699 | اخذ,-0.0399994214729 700 | لدي,-0.0415078454944 701 | بال,-0.0415078454944 702 | شان,-0.0415078454944 703 | سمح,-0.0415078454944 704 | ثبت,-0.0415078454944 705 | هنا,-0.0416800854681 706 | الف,-0.041981019906 707 | هيئه,-0.0447187326147 708 | حاكم,-0.0449791230044 709 | وضع,-0.0455086910793 710 | ولي,-0.0455086910793 711 | دون,-0.046474413789 712 | سمع,-0.0468465707029 713 | سوريا,-0.0474217669646 714 | فتنه,-0.0479455259399 715 | اتخذ,-0.0492330546553 716 | جمهور,-0.0492330546553 717 | تركي,-0.0492330546553 718 | رصيد,-0.0492330546553 719 | زواج,-0.0492330546553 720 | اراي,-0.0492330546553 721 | عبيد,-0.0492330546553 722 | شتم,-0.0492330546553 723 | حرص,-0.0492330546553 724 | مدينه,-0.0493845567361 725 | سهل,-0.0493845567361 726 | خاص,-0.049690376638 727 | كنيسه,-0.05054567762 728 | اصل,-0.0518474734752 729 | وزير,-0.05353562795 730 | طيب,-0.05353562795 731 | سبحان,-0.0550021994446 732 | عرف,-0.0565821211369 733 | وسط,-0.0570570415494 734 | سلطان,-0.0570570415494 735 | خصوص,-0.0570570415494 736 | اندلس,-0.0570570415494 737 | متسامح,-0.0572101850228 738 | اعتبر,-0.0572534861796 739 | بعد,-0.0572534861796 740 | هويه,-0.0572819333338 741 | اردوغان,-0.0572819333338 742 | فجع,-0.0572819333338 743 | يارسول,-0.0572819333338 744 | جانب,-0.0572819333338 745 | شافعي,-0.0572819333338 746 | فشل,-0.0572819333338 747 | اعترف,-0.0572819333338 748 | صله,-0.0572819333338 749 | زيد,-0.0572819333338 750 | تجاوز,-0.0572819333338 751 | ضاق,-0.0572819333338 752 | محب,-0.0573538619323 753 | ثاني,-0.0573538619323 754 | طقس,-0.0573538619323 755 | بق,-0.0574259714988 756 | شعر,-0.0574259714988 757 | لكن,-0.0575707362766 758 | ابد,-0.0576433928665 759 | حين,-0.0577162331822 760 | دار,-0.0580832152061 761 | شيعي,-0.0612611095288 762 | لم,-0.0617091321791 763 | قبل,-0.0626226827511 764 | علم,-0.0628970313733 765 | لا,-0.0633515359255 766 | ثوره,-0.0633963119247 767 | حسب,-0.0641263329832 768 | هذا,-0.0645045241635 769 | حكومه,-0.0664000707931 770 | لماذا,-0.0680051407921 771 | اخر,-0.0683753345062 772 | قسم,-0.0686390870051 773 | تكفير,-0.0686390870051 774 | رمز,-0.0686390870051 775 | عباد,-0.0689257111996 776 | فعل,-0.070171773206 777 | وجد,-0.0716316295101 778 | عمل,-0.0717260832773 779 | ناس,-0.0717571230069 780 | عالم,-0.0729474893306 781 | احترام,-0.0730490409255 782 | دري,-0.0730490409255 783 | موجود,-0.0730490409255 784 | لعب,-0.0765872084176 785 | نقل,-0.0765872084176 786 | فريق,-0.0765872084176 787 | زوج,-0.0765872084176 788 | مارس,-0.0765872084176 789 | احتاج,-0.0765872084176 790 | معصيه,-0.0765872084176 791 | اسد,-0.0768115545858 792 | مشكل,-0.0768115545858 793 | يهوديه,-0.0768486196793 794 | شاء,-0.0768486196793 795 | تابع,-0.0768486196793 796 | حمل,-0.0768486196793 797 | توحيد,-0.0771887526406 798 | يوم,-0.0781829366223 799 | وري,-0.0788933456811 800 | عربي,-0.0796652608721 801 | قام,-0.0798471981248 802 | كثر,-0.0811189936368 803 | اسف,-0.0811189936368 804 | عند,-0.0811189936368 805 | مسيح,-0.0815629093004 806 | واحد,-0.0819704132937 807 | حصل,-0.0828961781523 808 | زال,-0.0828961781523 809 | بشر,-0.0832288649773 810 | عدم,-0.0832288649773 811 | حق,-0.0832605046496 812 | اسم,-0.0838770263166 813 | سمي,-0.0853930879543 814 | ظالم,-0.0876095925623 815 | تواجد,-0.0877423196595 816 | طب,-0.0877423196595 817 | تسمع,-0.0877423196595 818 | عروبه,-0.0877423196595 819 | تقوي,-0.0877423196595 820 | دمشق,-0.0877423196595 821 | مبتدع,-0.0877423196595 822 | مجموع,-0.0879308059234 823 | قضيه,-0.0881201047965 824 | بناء,-0.088310221552 825 | باقي,-0.0895912064637 826 | رفض,-0.0895912064637 827 | بيت,-0.091313226972 828 | ليس,-0.0917491707285 829 | ابو,-0.0919058821449 830 | ايه,-0.0934489727316 831 | قائد,-0.0944547222777 832 | قرن,-0.0954175281699 833 | اقوي,-0.0954175281699 834 | امريكي,-0.0957956122457 835 | حج,-0.0976491530006 836 | ب,-0.0981600053627 837 | بحرين,-0.0981600053627 838 | لام,-0.100438073857 839 | ايد,-0.100438073857 840 | تعلم,-0.100438073857 841 | تمام,-0.100438073857 842 | نتيجه,-0.100438073857 843 | مستقبل,-0.100438073857 844 | جمهوري,-0.100438073857 845 | اختلاف,-0.100438073857 846 | سلامه,-0.100438073857 847 | مواطن,-0.100743924831 848 | طريق,-0.101051647446 849 | نصر,-0.103000556541 850 | تسامح,-0.107430885881 851 | عدل,-0.107430885881 852 | اكيد,-0.107430885881 853 | اعز,-0.107430885881 854 | امل,-0.107430885881 855 | فيديو,-0.10785473227 856 | حبيب,-0.10785473227 857 | اخري,-0.10785473227 858 | سم,-0.111882696041 859 | جماع,-0.111882696041 860 | انتهي,-0.111882696041 861 | الله,-0.114455727505 862 | اقام,-0.114982554282 863 | هدي,-0.115644299544 864 | اعتقد,-0.117277760016 865 | مقدس,-0.117277760016 866 | ذنب,-0.119055353752 867 | مجتمع,-0.119055353752 868 | هل,-0.121559271737 869 | كم,-0.121654495382 870 | رجل,-0.122178328989 871 | اخجل,-0.123051284976 872 | عماد,-0.123051284976 873 | عاوز,-0.123095748242 874 | لبي,-0.123095748242 875 | معي,-0.123140243733 876 | ود,-0.123140243733 877 | عم,-0.123140243733 878 | سحر,-0.123140243733 879 | خليجي,-0.123140243733 880 | بريطانيا,-0.123140243733 881 | غائب,-0.123140243733 882 | نووي,-0.123140243733 883 | اقسم,-0.123184771486 884 | معبد,-0.123184771486 885 | احرق,-0.123184771486 886 | بارك,-0.123184771486 887 | نقد,-0.123184771486 888 | تغيير,-0.123184771486 889 | مصلح,-0.123184771486 890 | ادم,-0.123184771486 891 | اشاعه,-0.123184771486 892 | تطبيع,-0.123229331534 893 | فرض,-0.123229331534 894 | كراهيه,-0.123229331534 895 | بكي,-0.123229331534 896 | ها,-0.123229331534 897 | حاخام,-0.123229331534 898 | صنع,-0.123229331534 899 | عقد,-0.123229331534 900 | زار,-0.123229331534 901 | شرط,-0.123229331534 902 | نقاش,-0.123229331534 903 | طاهر,-0.123273923914 904 | عصر,-0.123273923914 905 | سبق,-0.123273923914 906 | زد,-0.123273923914 907 | اتفق,-0.123273923914 908 | ظاهر,-0.123273923914 909 | جل,-0.123273923914 910 | حشر,-0.123318548661 911 | فقير,-0.123318548661 912 | بقر,-0.123318548661 913 | بدوي,-0.123318548661 914 | نوع,-0.123318548661 915 | ثلاث,-0.12336320581 916 | عباده,-0.12336320581 917 | ارسل,-0.12336320581 918 | تشيع,-0.12336320581 919 | somelink,-0.123395258793 920 | احترم,-0.123407895396 921 | كربلاء,-0.123407895396 922 | مهم,-0.123452617455 923 | انسانيه,-0.123452617455 924 | تيميه,-0.123492745671 925 | قدس,-0.123497372022 926 | دفاع,-0.123497372022 927 | زمن,-0.123542159134 928 | فارسي,-0.123586978824 929 | استطاع,-0.12363183113 930 | وقع,-0.12363183113 931 | بلد,-0.123818128534 932 | اتباع,-0.123901631887 933 | ماذا,-0.124217895405 934 | في,-0.124855303641 935 | عراق,-0.128288129232 936 | مفكر,-0.130705358279 937 | نفوذ,-0.130821673175 938 | شمال,-0.130821673175 939 | ودع,-0.130821673175 940 | نهار,-0.130821673175 941 | معظم,-0.130821673175 942 | استقبل,-0.130821673175 943 | عداء,-0.130821673175 944 | اغار,-0.130821673175 945 | ماء,-0.130821673175 946 | ربط,-0.130821673175 947 | خالف,-0.130821673175 948 | رمي,-0.130821673175 949 | جار,-0.130938195871 950 | اقرب,-0.130938195871 951 | درج,-0.130938195871 952 | قضي,-0.130938195871 953 | اختلف,-0.130938195871 954 | شرب,-0.130938195871 955 | تصرف,-0.131054926928 956 | مصدر,-0.131054926928 957 | خالق,-0.131054926928 958 | صف,-0.131406375878 959 | اسال,-0.131406375878 960 | اعطي,-0.131641727317 961 | ل,-0.132162108617 962 | اتي,-0.132233821718 963 | امه,-0.133071785501 964 | اخوه,-0.137609499332 965 | شيخ,-0.138126106544 966 | رد,-0.138161483809 967 | كلام,-0.138522991416 968 | نظر,-0.139039633648 969 | عاش,-0.1397795338 970 | ما,-0.140154963751 971 | غير,-0.141358648772 972 | لبناني,-0.146639366969 973 | لبنان,-0.14817955349 974 | اقل,-0.149749055776 975 | مئه,-0.153673176382 976 | جاز,-0.153673176382 977 | الخ,-0.153673176382 978 | وسيله,-0.153673176382 979 | ضحيه,-0.154304203598 980 | بنت,-0.158542751267 981 | انسان,-0.159636495353 982 | جامعه,-0.159851532075 983 | خالص,-0.159851532075 984 | روايه,-0.159851532075 985 | اثبت,-0.159851532075 986 | بار,-0.159851532075 987 | شخصيه,-0.159851532075 988 | بحر,-0.159851532075 989 | بكر,-0.159851532075 990 | افتتاحخكنيسهخفيخقطرافتتاحكنيسهفيقطر,-0.159851532075 991 | قناه,-0.160363948805 992 | قول,-0.161921189576 993 | قلب,-0.161992161366 994 | حدث,-0.163720161744 995 | رفع,-0.163720161744 996 | راي,-0.163720161744 997 | قال,-0.164729408474 998 | يوسف,-0.164924365255 999 | سعوديه,-0.164924365255 1000 | ظهر,-0.164924365255 1001 | كثير,-0.165164398489 1002 | مذهب,-0.167963797009 1003 | سيء,-0.170900097152 1004 | هدوء,-0.170900097152 1005 | قريه,-0.170900097152 1006 | صاروخ,-0.170900097152 1007 | معرفه,-0.170900097152 1008 | عمان,-0.170900097152 1009 | مدرسه,-0.170900097152 1010 | جهاد,-0.170900097152 1011 | دعوي,-0.170900097152 1012 | صر,-0.170900097152 1013 | رجا,-0.170900097152 1014 | ذكري,-0.170900097152 1015 | تحشر,-0.170900097152 1016 | متابع,-0.170900097152 1017 | تعبير,-0.170900097152 1018 | حاجه,-0.170900097152 1019 | نظريه,-0.170900097152 1020 | بورما,-0.170900097152 1021 | معلوم,-0.170900097152 1022 | نظم,-0.170900097152 1023 | قعر,-0.170900097152 1024 | رحيم,-0.17129453693 1025 | شب,-0.17129453693 1026 | تعايش,-0.17129453693 1027 | نسبه,-0.17129453693 1028 | اول,-0.171690810749 1029 | مل,-0.174882254334 1030 | اسلام,-0.176491444726 1031 | عبر,-0.17802843753 1032 | دعا,-0.180775358217 1033 | بعث,-0.180776818664 1034 | فقيه,-0.180776818664 1035 | حد,-0.184175173877 1036 | عذاب,-0.185367238817 1037 | ولد,-0.185367238817 1038 | حلو,-0.185367238817 1039 | ديانه,-0.18632552284 1040 | كان,-0.192291296382 1041 | امراه,-0.196041916735 1042 | ضغط,-0.196319009132 1043 | مدرس,-0.196319009132 1044 | بدعه,-0.196319009132 1045 | صراع,-0.196319009132 1046 | بدن,-0.196319009132 1047 | حنبلي,-0.196319009132 1048 | عامه,-0.196596891065 1049 | حر,-0.196875565937 1050 | شبه,-0.197155037167 1051 | مملكه,-0.197716382485 1052 | صحيح,-0.197998263514 1053 | رئيس,-0.203085461552 1054 | من,-0.205552146767 1055 | عنوان,-0.206470015689 1056 | قيمه,-0.208991426495 1057 | باب,-0.209993624956 1058 | منطقه,-0.213457455441 1059 | تذكر,-0.2138787362 1060 | مجلس,-0.2138787362 1061 | لبس,-0.21459792682 1062 | صالح,-0.215716380618 1063 | عوده,-0.218975180975 1064 | كشف,-0.218975180975 1065 | كي,-0.221577142515 1066 | ذكر,-0.221835249289 1067 | somenumber,-0.225471979622 1068 | شهد,-0.226757412806 1069 | وعد,-0.226757412806 1070 | حظ,-0.226757412806 1071 | رسمي,-0.226757412806 1072 | فلسفه,-0.226757412806 1073 | سلف,-0.226757412806 1074 | تعليم,-0.226757412806 1075 | ساعه,-0.227197720252 1076 | معتقد,-0.227197720252 1077 | اربع,-0.227197720252 1078 | قدر,-0.23295922842 1079 | كبير,-0.235590976162 1080 | وحيد,-0.236621803077 1081 | اخير,-0.236621803077 1082 | كامل,-0.236621803077 1083 | اثنين,-0.243830230036 1084 | اهلي,-0.243830230036 1085 | اغنيه,-0.243830230036 1086 | قيامه,-0.243830230036 1087 | اسمع,-0.243830230036 1088 | اتصال,-0.243830230036 1089 | اقتصاد,-0.243830230036 1090 | متدين,-0.243830230036 1091 | نيه,-0.243830230036 1092 | تجربه,-0.243830230036 1093 | اعاد,-0.243830230036 1094 | مشرق,-0.243830230036 1095 | قبطي,-0.243830230036 1096 | رشفه,-0.243830230036 1097 | مسيحيه,-0.244430830515 1098 | شارع,-0.245034427239 1099 | ديني,-0.246250700452 1100 | قران,-0.246863423043 1101 | سلام,-0.251677406059 1102 | مؤسس,-0.255276732799 1103 | نبوي,-0.255276732799 1104 | سياسه,-0.255276732799 1105 | سقوط,-0.255276732799 1106 | علاق,-0.255276732799 1107 | انتقد,-0.255276732799 1108 | اعتنق,-0.255276732799 1109 | جريح,-0.255276732799 1110 | ادي,-0.255276732799 1111 | معركه,-0.255276732799 1112 | ملك,-0.259139074741 1113 | فرح,-0.260484550043 1114 | منطق,-0.263366341815 1115 | ربما,-0.263366341815 1116 | ولايه,-0.263366341815 1117 | هاي,-0.263366341815 1118 | حسن,-0.263909821356 1119 | عقيده,-0.267532284393 1120 | والي,-0.269403391011 1121 | ضعف,-0.269403391011 1122 | طلب,-0.27049312923 1123 | زمان,-0.27049312923 1124 | اهل,-0.272672263364 1125 | وصف,-0.274093857305 1126 | قوي,-0.274093857305 1127 | حفظ,-0.276692707227 1128 | فهم,-0.277853229041 1129 | بدا,-0.279271665706 1130 | سنه,-0.280117934142 1131 | حمد,-0.280970079066 1132 | لسان,-0.283531782329 1133 | بن,-0.287140899947 1134 | منهج,-0.289324067601 1135 | علي,-0.293870804792 1136 | حب,-0.297148366581 1137 | مسيحي,-0.298296339878 1138 | حياه,-0.298661351967 1139 | مال,-0.299990806633 1140 | نافذه,-0.308334658059 1141 | عني,-0.308495368547 1142 | معلومه,-0.308495368547 1143 | مكون,-0.308495368547 1144 | عدن,-0.308495368547 1145 | محافظ,-0.308495368547 1146 | مخالف,-0.308495368547 1147 | مبدا,-0.308656249365 1148 | كاف,-0.308656249365 1149 | نجح,-0.308656249365 1150 | غرد,-0.308656249365 1151 | رشف,-0.308656249365 1152 | موسي,-0.308817300786 1153 | تركيا,-0.308817300786 1154 | مرء,-0.308817300786 1155 | جندي,-0.308817300786 1156 | مركز,-0.308817300786 1157 | ازمه,-0.308817300786 1158 | علاقه,-0.309139916545 1159 | كف,-0.309139916545 1160 | حمي,-0.309301481436 1161 | دور,-0.309301481436 1162 | سر,-0.309463218037 1163 | مدين,-0.309625126627 1164 | راح,-0.309787207484 1165 | فرقه,-0.310763325937 1166 | سبع,-0.311910062939 1167 | سن,-0.312569212112 1168 | someuser,-0.313203952921 1169 | بطريرك,-0.323219014239 1170 | دعوه,-0.330497911096 1171 | بين,-0.330877762219 1172 | شكر,-0.333190588479 1173 | بخاري,-0.333190588479 1174 | وقف,-0.337968671288 1175 | ظلم,-0.339436284012 1176 | جميل,-0.339436284012 1177 | دكتور,-0.339436284012 1178 | حزن,-0.339436284012 1179 | عاجل,-0.342487623275 1180 | خلق,-0.344864281018 1181 | انجيل,-0.346316969731 1182 | موضوع,-0.350040265757 1183 | شر,-0.350730193506 1184 | عزيز,-0.351245762019 1185 | راعي,-0.352256291357 1186 | لسن,-0.355533694892 1187 | رساله,-0.355797086322 1188 | جمع,-0.355797086322 1189 | فقه,-0.357800936103 1190 | عدد,-0.357800936103 1191 | نفع,-0.357800936103 1192 | قصد,-0.357800936103 1193 | ازداد,-0.366910506689 1194 | مسكين,-0.366910506689 1195 | صفه,-0.367924051352 1196 | سابق,-0.367924051352 1197 | ماروني,-0.367924051352 1198 | ابن,-0.371049219323 1199 | عظيم,-0.373128348826 1200 | احسن,-0.373858794135 1201 | جديد,-0.377635255227 1202 | كويت,-0.379485533545 1203 | ممارس,-0.380375302533 1204 | باهل,-0.380375302533 1205 | اجنبي,-0.380375302533 1206 | حركه,-0.380375302533 1207 | احمر,-0.380375302533 1208 | عمرو,-0.380375302533 1209 | ترحيل,-0.380375302533 1210 | مشترك,-0.380375302533 1211 | اجره,-0.380375302533 1212 | حذف,-0.380375302533 1213 | لغه,-0.380375302533 1214 | موحد,-0.380375302533 1215 | روي,-0.380375302533 1216 | سهم,-0.380375302533 1217 | صوت,-0.381226016338 1218 | بر,-0.381226016338 1219 | قرار,-0.383801719801 1220 | عام,-0.388003982746 1221 | اعظم,-0.388003982746 1222 | درس,-0.390598341025 1223 | خلاف,-0.390598341025 1224 | كون,-0.395058398463 1225 | عبد,-0.396780512417 1226 | صديق,-0.399725484005 1227 | مظلوم,-0.402901145565 1228 | حافظ,-0.402901145565 1229 | جسد,-0.402901145565 1230 | امام,-0.403411676781 1231 | وطني,-0.403591971138 1232 | طرف,-0.403591971138 1233 | رسول,-0.403696792036 1234 | كفي,-0.410946913289 1235 | قرا,-0.411911825276 1236 | شهيد,-0.411911825276 1237 | سوء,-0.414112299425 1238 | جنوبي,-0.414112299425 1239 | كتاب,-0.417219209001 1240 | ماضي,-0.419734394924 1241 | قصه,-0.419734394924 1242 | اشار,-0.419734394924 1243 | سلطه,-0.419734394924 1244 | دراسه,-0.419734394924 1245 | يسوع,-0.419734394924 1246 | مسلم,-0.420003519992 1247 | موقف,-0.42095472368 1248 | ايمان,-0.421932975975 1249 | رب,-0.426119294507 1250 | رحمن,-0.427389964916 1251 | عالمي,-0.427389964916 1252 | شهاده,-0.427389964916 1253 | احمد,-0.430917301686 1254 | بصري,-0.431839940099 1255 | عقيد,-0.431888834176 1256 | كريم,-0.431888834176 1257 | محضر,-0.434851277161 1258 | موت,-0.438737252921 1259 | جعل,-0.443577902836 1260 | بلغ,-0.444126979627 1261 | مائي,-0.444126979627 1262 | محل,-0.444126979627 1263 | اتفاق,-0.444126979627 1264 | تلاقي,-0.444126979627 1265 | قدير,-0.444126979627 1266 | طاعه,-0.444654873722 1267 | القي,-0.444654873722 1268 | محمد,-0.449402789701 1269 | ثالث,-0.461914813532 1270 | علمي,-0.461914813532 1271 | اهم,-0.463879035545 1272 | اصلاح,-0.468000390624 1273 | منيع,-0.468000390624 1274 | اعتقاد,-0.468000390624 1275 | المانيا,-0.48260252286 1276 | ثبات,-0.48260252286 1277 | تعدد,-0.48260252286 1278 | مدح,-0.48260252286 1279 | سديد,-0.48260252286 1280 | ايا,-0.483496886195 1281 | عبدالله,-0.485295996249 1282 | مره,-0.485295996249 1283 | فضل,-0.498532259962 1284 | مؤمن,-0.500997749414 1285 | ثور,-0.501309028108 1286 | توراه,-0.501309028108 1287 | ازل,-0.501309028108 1288 | ادعي,-0.50257269626 1289 | معني,-0.50257269626 1290 | زياره,-0.512389945335 1291 | اعلامي,-0.512389945335 1292 | نصح,-0.512389945335 1293 | وحد,-0.518238150524 1294 | سعاده,-0.519783986287 1295 | مرجع,-0.519783986287 1296 | مانع,-0.519783986287 1297 | الم,-0.525115510738 1298 | عفو,-0.525115510738 1299 | ذات,-0.525115510738 1300 | عن,-0.52585386178 1301 | احد,-0.527496422268 1302 | ذهب,-0.529840859498 1303 | قس,-0.552711938079 1304 | مقال,-0.552711938079 1305 | هدايه,-0.552711938079 1306 | تقرير,-0.553078271011 1307 | استودع,-0.553078271011 1308 | فصل,-0.553078271011 1309 | فارس,-0.553078271011 1310 | غالي,-0.553078271011 1311 | مصطفي,-0.553445115377 1312 | خطاب,-0.553812472299 1313 | سماء,-0.553812472299 1314 | معروف,-0.553812472299 1315 | سعيد,-0.553812472299 1316 | اقر,-0.553812472299 1317 | مالك,-0.554180342902 1318 | عضو,-0.554180342902 1319 | استغفر,-0.554917629667 1320 | علامه,-0.554917629667 1321 | ليل,-0.557141936376 1322 | سعد,-0.559385106083 1323 | دعاء,-0.569875551467 1324 | ذلك,-0.581769088525 1325 | حريري,-0.582150829676 1326 | اجمل,-0.591603887084 1327 | سني,-0.599469253819 1328 | موقع,-0.60031608947 1329 | سايس,-0.60031608947 1330 | تاب,-0.60031608947 1331 | احم,-0.60031608947 1332 | غادر,-0.60031608947 1333 | اسماعيلي,-0.60031608947 1334 | كتب,-0.6036809882 1335 | جماعه,-0.603810179882 1336 | عمر,-0.611312790135 1337 | اعراب,-0.61474318549 1338 | ليله,-0.61474318549 1339 | اسلم,-0.61474318549 1340 | صفقه,-0.61474318549 1341 | اردن,-0.61474318549 1342 | معلم,-0.61474318549 1343 | بلاء,-0.61474318549 1344 | انس,-0.61474318549 1345 | عمي,-0.61474318549 1346 | المدخلي,-0.61474318549 1347 | جافي,-0.61474318549 1348 | مترف,-0.61474318549 1349 | فاصبروا,-0.61474318549 1350 | تيار,-0.616050098054 1351 | حي,-0.618681766007 1352 | اله,-0.62133751184 1353 | ازيار,-0.6278321617 1354 | منزل,-0.628162406522 1355 | هندوسي,-0.633037295794 1356 | جنه,-0.634098671528 1357 | امر,-0.640907853679 1358 | مشرك,-0.64152456462 1359 | حاج,-0.643708832747 1360 | نعيم,-0.643708832747 1361 | عبدالعزيز,-0.643708832747 1362 | تلقي,-0.643708832747 1363 | حديث,-0.65583933193 1364 | خمس,-0.660605852084 1365 | امين,-0.661336124444 1366 | استاذ,-0.670271024756 1367 | وفق,-0.670271024756 1368 | نصيب,-0.670271024756 1369 | حلم,-0.670271024756 1370 | مطلق,-0.670271024756 1371 | راجع,-0.670271024756 1372 | نائب,-0.670271024756 1373 | مجال,-0.670271024756 1374 | امان,-0.671784523429 1375 | كلمه,-0.679105138077 1376 | حوار,-0.679105138077 1377 | تاريخي,-0.683800961636 1378 | مريم,-0.691995538501 1379 | جمال,-0.691995538501 1380 | صلاه,-0.692956737079 1381 | صلاح,-0.69758870899 1382 | صلح,-0.69758870899 1383 | بيع,-0.701719122264 1384 | نبي,-0.706829515306 1385 | رحم,-0.709218794137 1386 | دنيا,-0.711054780833 1387 | اقليم,-0.71988741975 1388 | اخطا,-0.71988741975 1389 | مشاركه,-0.720458868195 1390 | زائر,-0.720458868195 1391 | دستور,-0.720458868195 1392 | قلق,-0.720458868195 1393 | حمايه,-0.722754583745 1394 | قراني,-0.722754583745 1395 | عرش,-0.723331006964 1396 | احفظ,-0.730327158548 1397 | استقاله,-0.745658395956 1398 | اصبح,-0.746752458591 1399 | صادق,-0.755758481854 1400 | مبارك,-0.755758481854 1401 | بيان,-0.755758481854 1402 | وفاه,-0.755758481854 1403 | قومي,-0.766189480003 1404 | الباني,-0.766189480003 1405 | سائر,-0.766189480003 1406 | كربه,-0.766189480003 1407 | رجب,-0.766189480003 1408 | جميع,-0.767597216602 1409 | درزي,-0.770054787574 1410 | انزل,-0.772003613512 1411 | اللهم,-0.775577231167 1412 | قبر,-0.785696940581 1413 | نور,-0.789475920789 1414 | ربوه,-0.799280495794 1415 | اعلي,-0.808147767792 1416 | الراحمين,-0.808147767792 1417 | اسكندريه,-0.808147767792 1418 | الرابط,-0.808147767792 1419 | دره,-0.808147767792 1420 | اسماعيليه,-0.808147767792 1421 | خير,-0.815544186856 1422 | مكتب,-0.818841276708 1423 | اسعد,-0.818841276708 1424 | اجر,-0.818841276708 1425 | صحه,-0.829194929503 1426 | واجب,-0.836482670421 1427 | نجران,-0.840909656339 1428 | اقنع,-0.846097847504 1429 | شريك,-0.846097847504 1430 | انجل,-0.846097847504 1431 | تراث,-0.846875266247 1432 | صلي,-0.858960948985 1433 | يام,-0.863981773866 1434 | ارب,-0.872048947994 1435 | اب,-0.872048947994 1436 | سال,-0.877526521409 1437 | تفسير,-0.882807160692 1438 | اغضب,-0.882807160692 1439 | بطون,-0.896093677602 1440 | برد,-0.898957664778 1441 | صبر,-0.898957664778 1442 | مخرج,-0.898957664778 1443 | محمدا,-0.898957664778 1444 | لعل,-0.916298144335 1445 | اكرم,-0.916298144335 1446 | يالخروف,-0.916298144335 1447 | تحميل,-0.946657175167 1448 | بائع,-0.946657175167 1449 | طالما,-0.946657175167 1450 | اجمع,-0.950606354123 1451 | ارق,-0.950606354123 1452 | شرح,-0.970924582282 1453 | عافي,-0.977079647513 1454 | شفي,-0.98598273567 1455 | سيده,-0.990063555974 1456 | فسيح,-1.00162313963 1457 | سلم,-1.00320567823 1458 | صل,-1.00482008584 1459 | فرج,-1.01265264286 1460 | ضياء,-1.01778811353 1461 | فسحه,-1.01778811353 1462 | سرور,-1.01778811353 1463 | رحمه,-1.02465249628 1464 | صرف,-1.02984667656 1465 | بركه,-1.02984667656 1466 | نعمه,-1.02984667656 1467 | صابر,-1.02984667656 1468 | ستر,-1.0310370726 1469 | كلم,-1.04028147156 1470 | ودي,-1.07947927792 1471 | مرض,-1.09496119675 1472 | اشفي,-1.10194596998 1473 | صدر,-1.10616413469 1474 | مغرب,-1.13223330018 1475 | اكرام,-1.13223330018 1476 | ضر,-1.17931636471 1477 | برنامج,-1.18969683062 1478 | تفرق,-1.18969683062 1479 | اصلح,-1.21410293375 1480 | وسع,-1.21590862048 1481 | مس,-1.23445212189 1482 | ادبر,-1.24067410792 1483 | صباح,-1.24198492544 1484 | فطر,-1.28798596287 1485 | اذكار,-1.30541244316 1486 | صائم,-1.30541244316 1487 | مازح,-1.30541244316 1488 | مئذنه,-1.30541244316 1489 | صفر,-1.30541244316 1490 | شافي,-1.30541244316 1491 | خطا,-1.30541244316 1492 | اعطنا,-1.30541244316 1493 | اللبنانين,-1.30541244316 1494 | اصبع,-1.3447746533 1495 | امي,-1.3447746533 1496 | دهر,-1.34720075279 1497 | مطمئن,-1.38083216518 1498 | اخره,-1.38346548582 1499 | مريض,-1.40585909779 1500 | تحيه,-1.41407219085 1501 | عطاء,-1.41407219085 1502 | ميت,-1.43204296106 1503 | رزق,-1.44083747186 1504 | لقاء,-1.4448836141 1505 | سقم,-1.4448836141 1506 | هرير,-1.44793200422 1507 | سائل,-1.47358152592 1508 | جلال,-1.47358152592 1509 | والدي,-1.50042460066 1510 | ضيق,-1.50388889857 1511 | راوي,-1.51678755694 1512 | امسي,-1.52562767211 1513 | والد,-1.54294553286 1514 | غفر,-1.54549980977 1515 | اسفر,-1.57180728822 1516 | حنبل,-1.57180728822 1517 | شتات,-1.63248966876 1518 | توكل,-1.63248966876 1519 | حنيف,-1.67869167753 1520 | لباس,-1.70127407886 1521 | اخلاص,-1.73351022215 1522 | ابراهيم,-1.73861423847 1523 | شفاء,-1.75981304755 1524 | عافيه,-1.78608439882 -------------------------------------------------------------------------------- /utils/arabic/pmi-to-afinn.js: -------------------------------------------------------------------------------- 1 | const data = require('./data/AraHate-CHI.json'); 2 | const oldData = require('../../build/languages/AFINN-ar.json'); 3 | 4 | const { pmiToAfinn, minMaxScore } = require('./utils'); 5 | 6 | const run = () => { 7 | const output = { ...oldData }; 8 | let duplicatedCount = 0; 9 | let newTermsCount = 0; 10 | const minMax = minMaxScore(data); 11 | 12 | for (const record of data) { 13 | const newAfinnScore = pmiToAfinn(record.score, minMax[0], minMax[1]); 14 | 15 | if (output[record.term]) { 16 | duplicatedCount++; 17 | 18 | if ( 19 | (output[record.term] < 0 && newAfinnScore > 0) || 20 | (output[record.term] > 0 && newAfinnScore < 0) 21 | ) { 22 | console.log( 23 | 'term: ', 24 | record.term, 25 | 'AFINN: ', 26 | output[record.term], 27 | 'new AFINN: ', 28 | newAfinnScore, 29 | 'PMI: ', 30 | record.score 31 | ); 32 | } 33 | } else { 34 | newTermsCount++; 35 | output[record.term] = newAfinnScore; 36 | } 37 | } 38 | 39 | console.log( 40 | 'AFINN terms: ', 41 | Object.keys(output).length, 42 | 'PMI terms: ', 43 | Object.keys(data).length, 44 | 'Duplicated: ', 45 | duplicatedCount, 46 | 'New: ', 47 | newTermsCount 48 | ); 49 | 50 | console.log(JSON.stringify(output)); 51 | }; 52 | 53 | run(); 54 | -------------------------------------------------------------------------------- /utils/arabic/sentiment-benchmark.js: -------------------------------------------------------------------------------- 1 | const sentiment = require('../../lib/index'); 2 | const { resolve } = require('path'); 3 | const { writeToFile } = require('./utils'); 4 | // const benchmark = require('./data/AraHate-test.json'); 5 | 6 | // let mismatchesCount = 0; 7 | // let totalCount = 0; 8 | 9 | // for (const record of benchmark) { 10 | // totalCount++; 11 | 12 | // const { msg, category } = record; 13 | // const { score, comparative, category: scoreCategory } = sentiment(msg, 'ar'); 14 | 15 | // if (category !== scoreCategory) { 16 | // mismatchesCount++; 17 | 18 | // console.log( 19 | // 'Msg: ', 20 | // msg, 21 | // 'Category: ', 22 | // category, 23 | // 'Score: ', 24 | // score, 25 | // 'Comparative: ', 26 | // comparative, 27 | // 'Score category: ', 28 | // scoreCategory 29 | // ); 30 | // } 31 | // } 32 | 33 | // console.log(`Done - ${mismatchesCount}/${totalCount}`); 34 | // Last run: 3873 / 5846 35 | 36 | const tweet = 'https://twitter.com/jamalfayad/status/1387464969072033794?s=20'; 37 | const expected = 'neutral'; 38 | const msg = `في حلقة اليوم من #عشرين_عشرين فادي ابراهيم وكارمن لبّس يبدعان بأداء رائع بكل معنى الكلمة ... 39 | أما الرائع قصيّ خولي ... فقد خلص الكلام عنه!`; 40 | const score = sentiment(msg, 'ar'); 41 | 42 | console.log('Done'); 43 | writeToFile( 44 | { 45 | tweet, 46 | expected, 47 | msg, 48 | result: score, 49 | }, 50 | resolve(`./output/sent_${new Date().getTime()}.json`) 51 | ); 52 | -------------------------------------------------------------------------------- /utils/arabic/utils.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | module.exports = { 4 | minMaxScore: (data) => { 5 | let min = 0; 6 | let max = 0; 7 | 8 | for (const record of data) { 9 | const { score } = record; 10 | if (score < min) { 11 | min = score; 12 | } else if (score > max) { 13 | max = score; 14 | } 15 | } 16 | 17 | return [min, max]; 18 | }, 19 | // TODO: Do we need different way to convert scores 20 | bnsToAfinn: (score, min, max) => { 21 | return -Math.ceil(((score - min) * (5 - -5)) / (max - min) + -5); 22 | }, 23 | chiToAfinn: (score, min, max) => { 24 | return -Math.ceil(((score - min) * (5 - -5)) / (max - min) + -5); 25 | }, 26 | pmiToAfinn: (score, min, max) => { 27 | return -Math.ceil(((score - min) * (5 - -5)) / (max - min) + -5); 28 | }, 29 | writeToFile: (data, destPath) => { 30 | try { 31 | fs.writeFileSync(destPath, JSON.stringify(data)); 32 | console.log('Output: ', destPath); 33 | } catch (err) { 34 | console.warn(err); 35 | } 36 | }, 37 | }; 38 | -------------------------------------------------------------------------------- /utils/export-supported-langs.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | 3 | var fs = require('fs'); 4 | var path = require('path'); 5 | var AFINN_PATH = path.resolve(__dirname, '../build/languages'); 6 | 7 | var langs = []; 8 | fs.readdirSync(AFINN_PATH).forEach(function(file) { 9 | var matches = file.match(/AFINN-(.*)\.json/); 10 | if (matches) langs.push(matches[1]); 11 | }); 12 | 13 | console.log(JSON.stringify(langs)); --------------------------------------------------------------------------------