emot

Open source Emoticons and Emoji detection library: emot

https://github.com/NeelShah18/emot

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.1%) to scientific vocabulary

Keywords

detection emoji emoticons extraction python
Last synced: 6 months ago · JSON representation

Repository

Open source Emoticons and Emoji detection library: emot

Basic Info
Statistics
  • Stars: 191
  • Watchers: 3
  • Forks: 77
  • Open Issues: 4
  • Releases: 6
Topics
detection emoji emoticons extraction python
Created over 8 years ago · Last pushed over 2 years ago
Metadata Files
Readme Contributing License Code of conduct

README.md

Downloads GitHub issues GitHub forks GitHub stars GitHub license

Description of the emot:3.1 library

Emot is a python library to extract the emojis and emoticons from a text(string). All the emojis and emoticons are taken from a reliable source details are listed in source section.

Emot 3.1 release moto is: high-performance detection library for data-science specially for large scale datasets of text.

Emot use advance dynamic pattern generation. It means everytime when you create object it generate pattern based on the database(emo_unicode.py). You can add/delete/modify that file under library to create other dynamic pattern.

3.0 version provide more option such as bulk processing. It is useful when you have long list of "sentence or word" and want to use multiprocessing power to speedup the process.

It means you can dynamically create pattern for the emoji or emoticons and run it in multiprocessing to get maximum performance from multiple cores.

Again, I am thankful for all support and help from the community around the world. I hope this will help and make your life easier.

Compatibility

version 3.0 only support python 3.X.

Python 2.X is no longer supported.

Working

The Emot library takes a string/list of string as an input and returns a dictonary.

There are one class name emot containing four different function.

emot.emoji:

  • Input: It has one input: string
  • Output: It will return dictionary with 4 different value: dict
    • value = list of emojis
    • location = list of location list of emojis
    • mean = list of meaning
    • flag = True/False. False means library didn't find anything and True means we find something.

emot.emoticons

  • Input: It has one input: string
  • Output: It will return dictionary with 4 different value: dict
    • value = list of emoticons
    • location = list of location list of emoticons
    • mean = list of meaning
    • flag = True/False. False means library didn't find anything and True means we find something.

emot.bulk_emoji

  • Input: Two input: List of string and CPU cores pool: list[], int
    • By default CPU cores pool value is half of total available cores: multiprocessing.cpu_count()/2
  • Output: It will return list of dictionary with 4 different value: list of dict
    • value = list of emojis
    • location = list of location list of emojis
    • mean = list of meaning
    • flag = True/False. False means library didn't find anything and True means we find something.

emot.bulk_emoticons

  • Input: Two input: List of string and CPU cores pool: list[], int
    • By default CPU cores pool value is half of total available cores: multiprocessing.cpu_count()/2
  • Output: It will return list of dictionary with 4 different value: list of dict
    • value = list of emoticons
    • location = list of location list of emoticons
    • mean = list of meaning
    • flag = True/False. False means library didn't find anything and True means we find something.

Example

>>> import emot 
>>> emot_obj = emot.core.emot() 
>>> text = "I love python ☮ 🙂 ❤ :-) :-( :-)))" 
>>> emot_obj.emoji(text) 
>>> {'value': ['☮', '🙂', '❤'], 'location': [[14, 15], [16, 17], [18, 19]], 'mean': [':peace_symbol:', 
':slightly_smiling_face:', ':red_heart:'], 'flag': True} 
>>> emot_obj.emoticons(test) >>> {'value': [':-)', ':-(', ':-)))'], 'location': [[20, 23], [24, 27], [28, 33]], 
'mean': ['Happy face smiley', 'Frown, sad, angry or pouting', 'Very very Happy face or smiley'], 'flag': True} 

Running bulk string emoji and emoticons detection. When user has access multiple processing cores.

>>> import emot 
>>> emot_obj = emot.core.emot() 
>>> bulk_test = ["I love python ☮ 🙂 ❤ :-) :-( :-)))", "I love python 
🙂 ❤ :-) :-( :-)))", "I love python ☮ ❤ :-) :-( :-)))", "I love python ☮ 🙂 :-( :-)))"] 
>>>
>>> emot_obj.bulk_emoji(bulk_test) 
>>> [{'value': ['☮', '🙂', '❤'], 'location': [[14, 15], [16, 17], [18, 19]], 
    'mean': [':peace_symbol:', ':slightly_smiling_face:', ':red_heart:'], 'flag': True}, {'value': ['🙂', '❤'], 
    'location': [[14, 15], [16, 17]], 'mean': [':slightly_smiling_face:', ':red_heart:'], 'flag': True}, {'value': [
    '☮', '❤'], 'location': [[14, 15], [16, 17]], 'mean': [':peace_symbol:', ':red_heart:'], 'flag': True}, 
    {'value': ['☮', '🙂'], 'location': [[14, 15], [16, 17]], 'mean': [':peace_symbol:', ':slightly_smiling_face:'], 
    'flag': True}] 
>>>
>>> emot_obj.bulk_emoticons(bulk_test)
>>> [{'value': [':-)', ':-(', ':-)))'], 'location': [[20, 23], [24, 27], [28, 33]], 'mean': ['Happy face smiley', 
    'Frown, sad, angry or pouting', 'Very very Happy face or smiley'], 'flag': True}, {'value': [':-)', ':-(', ':-)))'], 
    'location': [[18, 21], [22, 25], [26, 31]], 'mean': ['Happy face smiley', 'Frown, sad, angry or pouting', 'Very 
    very Happy face or smiley'], 'flag': True}, {'value': [':-)', ':-(', ':-)))'], 'location': [[18, 21], [22, 25], 
    [26, 31]], 'mean': ['Happy face smiley', 'Frown, sad, angry or pouting', 'Very very Happy face or smiley'], 
    'flag': True}, {'value': [':-(', ':-)))'], 'location': [[18, 21], [22, 27]], 'mean': ['Frown, sad, angry or 
    pouting', 'Very very Happy face or smiley'], 'flag': True}]

Installation

Via pip:

$ pip install emot --upgrade

From master branch:

$ git clone https://github.com/NeelShah18/emot.git
$ cd emot
$ python setup.py install

Developing

$ git clone https://github.com/NeelShah18/emot.git
$ cd emot

Sources

Emoji Cheat Sheet

Official unicode list

official emoticons list

Authors

Neel Shah / @NeelShah18

Shubham Rohilla / @kakashubham

Owner

  • Name: Neel Shah
  • Login: NeelShah18
  • Kind: user
  • Location: Waterloo, Ontario
  • Company: @canopygrowth

I love science.

GitHub Events

Total
  • Watch event: 4
  • Fork event: 1
Last Year
  • Watch event: 4
  • Fork event: 1

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 64
  • Total Committers: 11
  • Avg Commits per committer: 5.818
  • Development Distribution Score (DDS): 0.313
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Neel Shah n****e@g****m 44
neelshah18 B****0 7
Shubham Rohilla k****m@g****m 3
Ryan Wells 8****r 3
Tarik Altuncu t****u@g****m 1
Olivier Philippe o****e@g****m 1
JDHaus 3****h 1
Chamath Palihawadana c****3@g****m 1
Avesh Singh a****7@g****m 1
Abhishek Burnwal 3****j 1
Neel.Shah N****h@s****o 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 22
  • Total pull requests: 21
  • Average time to close issues: 7 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 18
  • Total pull request authors: 11
  • Average comments per issue: 3.5
  • Average comments per pull request: 0.38
  • Merged pull requests: 18
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • pasqLisena (4)
  • NeelShah18 (2)
  • martin8408 (1)
  • sacrosanct007 (1)
  • abhiaj (1)
  • maxpel (1)
  • ramkrishan-sahu (1)
  • CFLJacquet (1)
  • ViajeroHerrante (1)
  • nu8buster (1)
  • pokecheater (1)
  • RavishWorld (1)
  • tashiq (1)
  • Ronserruya (1)
  • Atanukumardey (1)
Pull Request Authors
  • NeelShah18 (9)
  • shubhamrohilla05 (2)
  • tarikaltuncu (1)
  • avesh-singh (1)
  • ryanwellsr (1)
  • Oliph (1)
  • lahdjirayhan (1)
  • abhiaj (1)
  • jdhauswirth (1)
  • chamathpali (1)
  • RGRK-Ctrl (1)
Top Labels
Issue Labels
solved (7) bug (5) question (4) enhancement (3) help wanted (3)
Pull Request Labels
enhancement (2) bug (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 44,562 last-month
  • Total dependent packages: 4
  • Total dependent repositories: 41
  • Total versions: 5
  • Total maintainers: 1
pypi.org: emot

Emoji and Emoticons detection package for Python

  • Versions: 5
  • Dependent Packages: 4
  • Dependent Repositories: 41
  • Downloads: 44,562 Last month
  • Docker Downloads: 0
Rankings
Dependent packages count: 1.8%
Downloads: 2.0%
Dependent repos count: 2.3%
Average: 3.4%
Docker downloads count: 4.0%
Forks count: 5.0%
Stargazers count: 5.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • setuptools >=57.0.0
.github/workflows/pythonpackage.yml actions
  • actions/checkout v1 composite
  • actions/setup-python v1 composite
pyproject.toml pypi
setup.py pypi