What is The Gemstone (GST) | What is The Gemstone token | What is GST token

Gemstone NFT platform is providing critical infrastructure to the NFT space in the form of secure, transparent, customizable, and censorship resistant exchange contracts. These contracts will serve as a decentralized baseline for the exchange of NFTs, and ensure that future projects have a well architected set of contracts to build upon.

Also, we will build ecosystem which supports different social cause and charities by contributing to the shelters, catastrophes and other social requirements.

In addition to providing a baseline, we will build features which promote custom use cases and open access to the NFT space. To help contribute to this development and our direction as a whole, we have created our governance token: GST.

GST is used to propose platform changes and dictate overall direction, and to vote on these proposals.

Starting as a key piece of decentralized NFT infrastructure, and building upon that with contributions from our community of creators, collectors, and investors, GST is an unstoppable force moving the NFT space towards a better future.

Next Generation of Digital Collectables

Distinct Blockchain TimeStamps

GST introduces a combination of Digital gemstones & Collectables with a value hierarchy reflecting the scarcity and true value of the physical world

Unlike other collectables our gemstones will enable personalization making every gemstone unique backed with a distinct blockchain timestamp.

These Gemstones can be used as jewelry which can kept as assets, gifted to your loved ones or just flaunt to your peers. These assets would reflect true value of the gem class, will be tradable and come with variety of benefits.

Immortalize Yourself On-Chain

Digital Identity

You are not simply buying a piece of Gem. You are a part of it. The Smart Contracts allow you to assign a name giving you the ability to personalize.

Thus, You become a part of the GEM.

Your NFT can serve as your digital identity as we shift towards a completely digitized economy.

Gemstone Token

GST is an BEP-20 token designed to burn & facilitate decentralized governance over the Gemstone ecosystem. An initial supply of 15,000,000 GST will be minted, and our contract does not permit for minting after deployment.

GST will be used to put forward proposals on the future of Gemstone NFT Platform and vote on those proposals. Token holders will be able to delegate their tokens to other token holders who’s proposals they support. This will allow token holders with less than the 1% total tokens required to submit a proposal, to still participate in the drafting and submitting of proposals for review. In addition to the 1% total GST supply required to submit a proposal, a minimum of 4% total GST supply is required to vote yes on a proposal for quorum.

As the community takes control of the Gemstone NFT Platform governance, there are many other possible utilities for GST. At the moment, we are considering redistributed transaction fees as a possible avenue for increased utility. This would give token holders the ability to share in the revenue of Project-Gemstone NFT Platform, and benefit directly from the outcomes of governance proposals.

Another use case is staking LP tokens from the GST - BNB Exchange pair. Upon completion of a successful token pre-sale, we will be providing liquidity to create a GST - BNB token pair on Exchange.

To reward token holders for locking their tokens, we are considering giving token rewards for staking GST - BNB liquidity provider tokens in our contract. This will allow token holders to maintain and grow their share of the Gemstone NFT Platform community allocation, while simultaneously reducing the supply of GST in the market.

Gemstone Tokenomics

Our team token will be minted with 15 million GEM (GST). Thats the total number that can be minted with no further possibility of adding tokens. Contract can be checked from our Github

Shortly after launch, to encourage scarcity of the token, we will be burn 2.5 million tokens.

1 Million Tokens have been burnt already and we are reaching our schedule for monthly burn.

The burning mechanics would be 150k tokens every month till end of 2021 and 5% burn on every transaction. A total of 2.5 million tokens would be burnt from total supply.

Remaining tokens totaling 12.5 million GEM (GST) are split between our development

team, airdrops, marketing and primarily exchanges.

These percentages may fluctuate slightly upon distribution, but not for the

development team.

Any updates to this distribution will be made via Twitter and Telegram.

Roadmap

Roadmap V1

Updated Roadmap V2

Would you like to earn TOKEN right now! ☞ CLICK HERE

How and Where to Buy GST ?

GST has been listed on a number of crypto exchanges, unlike other main cryptocurrencies, it cannot be directly purchased with fiats money. However, You can still easily buy this coin by first buying Bitcoin, ETH, USDT from any large exchanges and then transfer to the exchange that offers to trade this coin, in this guide article we will walk you through in detail the steps to buy GST

You will have to first buy one of the major cryptocurrencies, usually either Bitcoin (BTC), Ethereum (ETH), Tether (USDT)…

We will use Binance Exchange here as it is one of the largest crypto exchanges that accept fiat deposits.

Binance is a popular cryptocurrency exchange which was started in China but then moved their headquarters to the crypto-friendly Island of Malta in the EU. Binance is popular for its crypto to crypto exchange services. Binance exploded onto the scene in the mania of 2017 and has since gone on to become the top crypto exchange in the world.

Once you finished the KYC process. You will be asked to add a payment method. Here you can either choose to provide a credit/debit card or use a bank transfer, and buy one of the major cryptocurrencies, usually either Bitcoin (BTC), Ethereum (ETH), Tether (USDT)

SIGN UP ON BINANCE

Step by Step Guide : What is Binance | How to Create an account on Binance (Updated 2021)

Next step - Transfer your cryptos to an Altcoin Exchange

Since GST is an altcoin we need to transfer our coins to an exchange that GST can be traded. Below is a list of exchanges that offers to trade GST in various market pairs, head to their websites and register for an account.

Once finished you will then need to make a BTC/ETH/USDT deposit to the exchange from Binance depending on the available market pairs. After the deposit is confirmed you may then purchase GST from the exchange: PancakeSwap

Apart from the exchange(s) above, there are a few popular crypto exchanges where they have decent daily trading volumes and a huge user base. This will ensure you will be able to sell your coins at any time and the fees will usually be lower. It is suggested that you also register on these exchanges since once GST gets listed there it will attract a large amount of trading volumes from the users there, that means you will be having some great trading opportunities!

Top exchanges for token-coin trading. Follow instructions and make unlimited money

https://www.binance.com
https://www.bittrex.com
https://www.poloniex.com
https://www.bitfinex.com
https://www.huobi.com
https://www.mxc.ai
https://www.probit.com
https://www.gate.io
https://www.coinbase.com

Find more information GST

WebsiteExplorerWhitepaperSource CodeSocial ChannelSocial Channel 2Coinmarketcap

🔺DISCLAIMER: Trading Cryptocurrency is VERY risky. Make sure that you understand these risks if you are a beginner. The Information in the post is my OPINION and not financial advice. You are responsible for what you do with your funds

Learn about Cryptocurrency in this article ☞ What You Should Know Before Investing in Cryptocurrency - For Beginner

Thank for visiting and reading this article! I’m highly appreciate your actions! Please share if you liked it!

#bitcoin #crypto #gemstone #gst

What is GEEK

Buddha Community

What is The Gemstone (GST) | What is The Gemstone token | What is GST token

What is The Gemstone (GST) | What is The Gemstone token | What is GST token

Gemstone NFT platform is providing critical infrastructure to the NFT space in the form of secure, transparent, customizable, and censorship resistant exchange contracts. These contracts will serve as a decentralized baseline for the exchange of NFTs, and ensure that future projects have a well architected set of contracts to build upon.

Also, we will build ecosystem which supports different social cause and charities by contributing to the shelters, catastrophes and other social requirements.

In addition to providing a baseline, we will build features which promote custom use cases and open access to the NFT space. To help contribute to this development and our direction as a whole, we have created our governance token: GST.

GST is used to propose platform changes and dictate overall direction, and to vote on these proposals.

Starting as a key piece of decentralized NFT infrastructure, and building upon that with contributions from our community of creators, collectors, and investors, GST is an unstoppable force moving the NFT space towards a better future.

Next Generation of Digital Collectables

Distinct Blockchain TimeStamps

GST introduces a combination of Digital gemstones & Collectables with a value hierarchy reflecting the scarcity and true value of the physical world

Unlike other collectables our gemstones will enable personalization making every gemstone unique backed with a distinct blockchain timestamp.

These Gemstones can be used as jewelry which can kept as assets, gifted to your loved ones or just flaunt to your peers. These assets would reflect true value of the gem class, will be tradable and come with variety of benefits.

Immortalize Yourself On-Chain

Digital Identity

You are not simply buying a piece of Gem. You are a part of it. The Smart Contracts allow you to assign a name giving you the ability to personalize.

Thus, You become a part of the GEM.

Your NFT can serve as your digital identity as we shift towards a completely digitized economy.

Gemstone Token

GST is an BEP-20 token designed to burn & facilitate decentralized governance over the Gemstone ecosystem. An initial supply of 15,000,000 GST will be minted, and our contract does not permit for minting after deployment.

GST will be used to put forward proposals on the future of Gemstone NFT Platform and vote on those proposals. Token holders will be able to delegate their tokens to other token holders who’s proposals they support. This will allow token holders with less than the 1% total tokens required to submit a proposal, to still participate in the drafting and submitting of proposals for review. In addition to the 1% total GST supply required to submit a proposal, a minimum of 4% total GST supply is required to vote yes on a proposal for quorum.

As the community takes control of the Gemstone NFT Platform governance, there are many other possible utilities for GST. At the moment, we are considering redistributed transaction fees as a possible avenue for increased utility. This would give token holders the ability to share in the revenue of Project-Gemstone NFT Platform, and benefit directly from the outcomes of governance proposals.

Another use case is staking LP tokens from the GST - BNB Exchange pair. Upon completion of a successful token pre-sale, we will be providing liquidity to create a GST - BNB token pair on Exchange.

To reward token holders for locking their tokens, we are considering giving token rewards for staking GST - BNB liquidity provider tokens in our contract. This will allow token holders to maintain and grow their share of the Gemstone NFT Platform community allocation, while simultaneously reducing the supply of GST in the market.

Gemstone Tokenomics

Our team token will be minted with 15 million GEM (GST). Thats the total number that can be minted with no further possibility of adding tokens. Contract can be checked from our Github

Shortly after launch, to encourage scarcity of the token, we will be burn 2.5 million tokens.

1 Million Tokens have been burnt already and we are reaching our schedule for monthly burn.

The burning mechanics would be 150k tokens every month till end of 2021 and 5% burn on every transaction. A total of 2.5 million tokens would be burnt from total supply.

Remaining tokens totaling 12.5 million GEM (GST) are split between our development

team, airdrops, marketing and primarily exchanges.

These percentages may fluctuate slightly upon distribution, but not for the

development team.

Any updates to this distribution will be made via Twitter and Telegram.

Roadmap

Roadmap V1

Updated Roadmap V2

Would you like to earn TOKEN right now! ☞ CLICK HERE

How and Where to Buy GST ?

GST has been listed on a number of crypto exchanges, unlike other main cryptocurrencies, it cannot be directly purchased with fiats money. However, You can still easily buy this coin by first buying Bitcoin, ETH, USDT from any large exchanges and then transfer to the exchange that offers to trade this coin, in this guide article we will walk you through in detail the steps to buy GST

You will have to first buy one of the major cryptocurrencies, usually either Bitcoin (BTC), Ethereum (ETH), Tether (USDT)…

We will use Binance Exchange here as it is one of the largest crypto exchanges that accept fiat deposits.

Binance is a popular cryptocurrency exchange which was started in China but then moved their headquarters to the crypto-friendly Island of Malta in the EU. Binance is popular for its crypto to crypto exchange services. Binance exploded onto the scene in the mania of 2017 and has since gone on to become the top crypto exchange in the world.

Once you finished the KYC process. You will be asked to add a payment method. Here you can either choose to provide a credit/debit card or use a bank transfer, and buy one of the major cryptocurrencies, usually either Bitcoin (BTC), Ethereum (ETH), Tether (USDT)

SIGN UP ON BINANCE

Step by Step Guide : What is Binance | How to Create an account on Binance (Updated 2021)

Next step - Transfer your cryptos to an Altcoin Exchange

Since GST is an altcoin we need to transfer our coins to an exchange that GST can be traded. Below is a list of exchanges that offers to trade GST in various market pairs, head to their websites and register for an account.

Once finished you will then need to make a BTC/ETH/USDT deposit to the exchange from Binance depending on the available market pairs. After the deposit is confirmed you may then purchase GST from the exchange: PancakeSwap

Apart from the exchange(s) above, there are a few popular crypto exchanges where they have decent daily trading volumes and a huge user base. This will ensure you will be able to sell your coins at any time and the fees will usually be lower. It is suggested that you also register on these exchanges since once GST gets listed there it will attract a large amount of trading volumes from the users there, that means you will be having some great trading opportunities!

Top exchanges for token-coin trading. Follow instructions and make unlimited money

https://www.binance.com
https://www.bittrex.com
https://www.poloniex.com
https://www.bitfinex.com
https://www.huobi.com
https://www.mxc.ai
https://www.probit.com
https://www.gate.io
https://www.coinbase.com

Find more information GST

WebsiteExplorerWhitepaperSource CodeSocial ChannelSocial Channel 2Coinmarketcap

🔺DISCLAIMER: Trading Cryptocurrency is VERY risky. Make sure that you understand these risks if you are a beginner. The Information in the post is my OPINION and not financial advice. You are responsible for what you do with your funds

Learn about Cryptocurrency in this article ☞ What You Should Know Before Investing in Cryptocurrency - For Beginner

Thank for visiting and reading this article! I’m highly appreciate your actions! Please share if you liked it!

#bitcoin #crypto #gemstone #gst

janvi sharma

janvi sharma

1622792223

GST Monthly Filing | Monthly GST Return Filing in India | ExpertBells

ExpertBells, India’s leading online business services platform announces registration service for businesses at an affordable cost. They provide GST experts to assist you in order to complete the GST registration service faster and without any mistakes. Experts will help you not only in registration for GST (Goods and Service Tax) but for the GST filing too. Whether you want to do monthly GST filing or annually GST return filing, they provide assistance and advice from the industry professionals at every step to make your work processes easier. You don’t need to go to any physical office for your registration or any license applies, you will get all the services under one roof.

Don’t know how to file the application and need help in documentation? Expertbells provide full written information and expert assistance to make your work complete without any issue. They will stick with you at every step whether you are filling the application form or making selection into mandatory documents. They constantly upgrade their services and processes to provide better customer satisfaction.

Now, who should register for goods and service tax (GST)? If you are running a business with an annual turnover above 40 lakhs, GST registration becomes mandatory for your business. The existing registered companies under central excise, service tax, VAT, or any other tax need to register themselves, and there comes Expertbells. They provide full information and also give you expert advice and backup for faster GST registration online in India.

Registering GST online makes it easier for the business owners, you just have to fill the GST application form and attach the required documents sitting inside your cabin. One more benefit of registering for the GST number online with ExpertBells is that once you submit all the required documents, their expert will perform all the paper work, file your application with the concerned authorities and resolve any query raised in this process.

After the documents submission, application filing, and approval, you will receive your GST number in hard as well as soft copy. Registering for GST online will save you a lot of time as it is an easy and helpful way to get your registration done with the help of experts.

On this announcement of GST registration service, owner of Expertbells said something to the entrepreneurs that are starting their business and need assist to register for GST number.

“GST registration is important to run a business whose turnover value is 40 lakhs or above. We provide our clients a complete hassle-free registration process with dedicated tax expert advice for help. You don’t need to visit any authority official offices or stand in a queue because the online registration of the GST process is purely online. From applying for the GST number to getting your GST number in your hand, everything is done online with the expert’s assistance.

Our experts assist the valuable clients to complete their process without facing any issues so that you got success in one go.”

He further adds “GST is the most significant tax reform in our country; you will replace all the multiple taxes that are applicable before GST arrives. The online registration procedure takes up to 5 to 6 working days to get approved and once it is done, ExpertBells management will contact you and send your GST number to you. If you are someone who needs help with the registration and ant no mistake while doing it, visit our website and do it conveniently with the help of professionals. ”

About ExpertBells

ExpertBells is a secure and faster platform for business owners that need crucial business services such as registration of business, tax filing, trademark registration, e-commerce accounting, public limited company registration and much more. They deliver top-quality services with professionally expert assistance to help their valuable clients in setting up a business by fulfilling all the legal and mandatory requirements. Their process is faster and secured and highly professionals are always there at every step when you start registering for any business or license to run it.

They say their aim is to help business owners and entrepreneurs to manage their critical business and legal compliances. With the help of ExpertBells, you can eliminate the barriers in your business processes. If you are looking for the best online business services platform that can help you in starting your business, visit ExpertBells and talk to experts for a better vision.

#gst expert #goods and service tax (gst) #gstin number #gst framework #gst filing #monthly gst filing

Royce  Reinger

Royce Reinger

1658068560

WordsCounted: A Ruby Natural Language Processor

WordsCounted

We are all in the gutter, but some of us are looking at the stars.

-- Oscar Wilde

WordsCounted is a Ruby NLP (natural language processor). WordsCounted lets you implement powerful tokensation strategies with a very flexible tokeniser class.

Features

  • Out of the box, get the following data from any string or readable file, or URL:
    • Token count and unique token count
    • Token densities, frequencies, and lengths
    • Char count and average chars per token
    • The longest tokens and their lengths
    • The most frequent tokens and their frequencies.
  • A flexible way to exclude tokens from the tokeniser. You can pass a string, regexp, symbol, lambda, or an array of any combination of those types for powerful tokenisation strategies.
  • Pass your own regexp rules to the tokeniser if you prefer. The default regexp filters special characters but keeps hyphens and apostrophes. It also plays nicely with diacritics (UTF and unicode characters): Bayrūt is treated as ["Bayrūt"] and not ["Bayr", "ū", "t"], for example.
  • Opens and reads files. Pass in a file path or a url instead of a string.

Installation

Add this line to your application's Gemfile:

gem 'words_counted'

And then execute:

$ bundle

Or install it yourself as:

$ gem install words_counted

Usage

Pass in a string or a file path, and an optional filter and/or regexp.

counter = WordsCounted.count(
  "We are all in the gutter, but some of us are looking at the stars."
)

# Using a file
counter = WordsCounted.from_file("path/or/url/to/my/file.txt")

.count and .from_file are convenience methods that take an input, tokenise it, and return an instance of WordsCounted::Counter initialized with the tokens. The WordsCounted::Tokeniser and WordsCounted::Counter classes can be used alone, however.

API

WordsCounted

WordsCounted.count(input, options = {})

Tokenises input and initializes a WordsCounted::Counter object with the resulting tokens.

counter = WordsCounted.count("Hello Beirut!")

Accepts two options: exclude and regexp. See Excluding tokens from the analyser and Passing in a custom regexp respectively.

WordsCounted.from_file(path, options = {})

Reads and tokenises a file, and initializes a WordsCounted::Counter object with the resulting tokens.

counter = WordsCounted.from_file("hello_beirut.txt")

Accepts the same options as .count.

Tokeniser

The tokeniser allows you to tokenise text in a variety of ways. You can pass in your own rules for tokenisation, and apply a powerful filter with any combination of rules as long as they can boil down into a lambda.

Out of the box the tokeniser includes only alpha chars. Hyphenated tokens and tokens with apostrophes are considered a single token.

#tokenise([pattern: TOKEN_REGEXP, exclude: nil])

tokeniser = WordsCounted::Tokeniser.new("Hello Beirut!").tokenise

# With `exclude`
tokeniser = WordsCounted::Tokeniser.new("Hello Beirut!").tokenise(exclude: "hello")

# With `pattern`
tokeniser = WordsCounted::Tokeniser.new("I <3 Beirut!").tokenise(pattern: /[a-z]/i)

See Excluding tokens from the analyser and Passing in a custom regexp for more information.

Counter

The WordsCounted::Counter class allows you to collect various statistics from an array of tokens.

#token_count

Returns the token count of a given string.

counter.token_count #=> 15

#token_frequency

Returns a sorted (unstable) two-dimensional array where each element is a token and its frequency. The array is sorted by frequency in descending order.

counter.token_frequency

[
  ["the", 2],
  ["are", 2],
  ["we",  1],
  # ...
  ["all", 1]
]

#most_frequent_tokens

Returns a hash where each key-value pair is a token and its frequency.

counter.most_frequent_tokens

{ "are" => 2, "the" => 2 }

#token_lengths

Returns a sorted (unstable) two-dimentional array where each element contains a token and its length. The array is sorted by length in descending order.

counter.token_lengths

[
  ["looking", 7],
  ["gutter",  6],
  ["stars",   5],
  # ...
  ["in",      2]
]

#longest_tokens

Returns a hash where each key-value pair is a token and its length.

counter.longest_tokens

{ "looking" => 7 }

#token_density([ precision: 2 ])

Returns a sorted (unstable) two-dimentional array where each element contains a token and its density as a float, rounded to a precision of two. The array is sorted by density in descending order. It accepts a precision argument, which must be a float.

counter.token_density

[
  ["are",     0.13],
  ["the",     0.13],
  ["but",     0.07 ],
  # ...
  ["we",      0.07 ]
]

#char_count

Returns the char count of tokens.

counter.char_count #=> 76

#average_chars_per_token([ precision: 2 ])

Returns the average char count per token rounded to two decimal places. Accepts a precision argument which defaults to two. Precision must be a float.

counter.average_chars_per_token #=> 4

#uniq_token_count

Returns the number of unique tokens.

counter.uniq_token_count #=> 13

Excluding tokens from the tokeniser

You can exclude anything you want from the input by passing the exclude option. The exclude option accepts a variety of filters and is extremely flexible.

  1. A space-delimited string. The filter will normalise the string.
  2. A regular expression.
  3. A lambda.
  4. A symbol that names a predicate method. For example :odd?.
  5. An array of any combination of the above.
tokeniser =
  WordsCounted::Tokeniser.new(
    "Magnificent! That was magnificent, Trevor."
  )

# Using a string
tokeniser.tokenise(exclude: "was magnificent")
# => ["that", "trevor"]

# Using a regular expression
tokeniser.tokenise(exclude: /trevor/)
# => ["magnificent", "that", "was", "magnificent"]

# Using a lambda
tokeniser.tokenise(exclude: ->(t) { t.length < 4 })
# => ["magnificent", "that", "magnificent", "trevor"]

# Using symbol
tokeniser = WordsCounted::Tokeniser.new("Hello! محمد")
tokeniser.tokenise(exclude: :ascii_only?)
# => ["محمد"]

# Using an array
tokeniser = WordsCounted::Tokeniser.new(
  "Hello! اسماءنا هي محمد، كارولينا، سامي، وداني"
)
tokeniser.tokenise(
  exclude: [:ascii_only?, /محمد/, ->(t) { t.length > 6}, "و"]
)
# => ["هي", "سامي", "وداني"]

Passing in a custom regexp

The default regexp accounts for letters, hyphenated tokens, and apostrophes. This means twenty-one is treated as one token. So is Mohamad's.

/[\p{Alpha}\-']+/

You can pass your own criteria as a Ruby regular expression to split your string as desired.

For example, if you wanted to include numbers, you can override the regular expression:

counter = WordsCounted.count("Numbers 1, 2, and 3", pattern: /[\p{Alnum}\-']+/)
counter.tokens
#=> ["numbers", "1", "2", "and", "3"]

Opening and reading files

Use the from_file method to open files. from_file accepts the same options as .count. The file path can be a URL.

counter = WordsCounted.from_file("url/or/path/to/file.text")

Gotchas

A hyphen used in leu of an em or en dash will form part of the token. This affects the tokeniser algorithm.

counter = WordsCounted.count("How do you do?-you are well, I see.")
counter.token_frequency

[
  ["do",   2],
  ["how",  1],
  ["you",  1],
  ["-you", 1], # WTF, mate!
  ["are",  1],
  # ...
]

In this example -you and you are separate tokens. Also, the tokeniser does not include numbers by default. Remember that you can pass your own regular expression if the default behaviour does not fit your needs.

A note on case sensitivity

The program will normalise (downcase) all incoming strings for consistency and filters.

Roadmap

Ability to open URLs

def self.from_url
  # open url and send string here after removing html
end

Are you using WordsCounted to do something interesting? Please tell me about it.

Gem Version 

RubyDoc documentation.

Demo

Visit this website for one example of what you can do with WordsCounted.


Contributors

See contributors.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Author: Abitdodgy
Source Code: https://github.com/abitdodgy/words_counted 
License: MIT license

#ruby #nlp 

Words Counted: A Ruby Natural Language Processor.

WordsCounted

We are all in the gutter, but some of us are looking at the stars.

-- Oscar Wilde

WordsCounted is a Ruby NLP (natural language processor). WordsCounted lets you implement powerful tokensation strategies with a very flexible tokeniser class.

Are you using WordsCounted to do something interesting? Please tell me about it.

 

Demo

Visit this website for one example of what you can do with WordsCounted.

Features

  • Out of the box, get the following data from any string or readable file, or URL:
    • Token count and unique token count
    • Token densities, frequencies, and lengths
    • Char count and average chars per token
    • The longest tokens and their lengths
    • The most frequent tokens and their frequencies.
  • A flexible way to exclude tokens from the tokeniser. You can pass a string, regexp, symbol, lambda, or an array of any combination of those types for powerful tokenisation strategies.
  • Pass your own regexp rules to the tokeniser if you prefer. The default regexp filters special characters but keeps hyphens and apostrophes. It also plays nicely with diacritics (UTF and unicode characters): Bayrūt is treated as ["Bayrūt"] and not ["Bayr", "ū", "t"], for example.
  • Opens and reads files. Pass in a file path or a url instead of a string.

Installation

Add this line to your application's Gemfile:

gem 'words_counted'

And then execute:

$ bundle

Or install it yourself as:

$ gem install words_counted

Usage

Pass in a string or a file path, and an optional filter and/or regexp.

counter = WordsCounted.count(
  "We are all in the gutter, but some of us are looking at the stars."
)

# Using a file
counter = WordsCounted.from_file("path/or/url/to/my/file.txt")

.count and .from_file are convenience methods that take an input, tokenise it, and return an instance of WordsCounted::Counter initialized with the tokens. The WordsCounted::Tokeniser and WordsCounted::Counter classes can be used alone, however.

API

WordsCounted

WordsCounted.count(input, options = {})

Tokenises input and initializes a WordsCounted::Counter object with the resulting tokens.

counter = WordsCounted.count("Hello Beirut!")

Accepts two options: exclude and regexp. See Excluding tokens from the analyser and Passing in a custom regexp respectively.

WordsCounted.from_file(path, options = {})

Reads and tokenises a file, and initializes a WordsCounted::Counter object with the resulting tokens.

counter = WordsCounted.from_file("hello_beirut.txt")

Accepts the same options as .count.

Tokeniser

The tokeniser allows you to tokenise text in a variety of ways. You can pass in your own rules for tokenisation, and apply a powerful filter with any combination of rules as long as they can boil down into a lambda.

Out of the box the tokeniser includes only alpha chars. Hyphenated tokens and tokens with apostrophes are considered a single token.

#tokenise([pattern: TOKEN_REGEXP, exclude: nil])

tokeniser = WordsCounted::Tokeniser.new("Hello Beirut!").tokenise

# With `exclude`
tokeniser = WordsCounted::Tokeniser.new("Hello Beirut!").tokenise(exclude: "hello")

# With `pattern`
tokeniser = WordsCounted::Tokeniser.new("I <3 Beirut!").tokenise(pattern: /[a-z]/i)

See Excluding tokens from the analyser and Passing in a custom regexp for more information.

Counter

The WordsCounted::Counter class allows you to collect various statistics from an array of tokens.

#token_count

Returns the token count of a given string.

counter.token_count #=> 15

#token_frequency

Returns a sorted (unstable) two-dimensional array where each element is a token and its frequency. The array is sorted by frequency in descending order.

counter.token_frequency

[
  ["the", 2],
  ["are", 2],
  ["we",  1],
  # ...
  ["all", 1]
]

#most_frequent_tokens

Returns a hash where each key-value pair is a token and its frequency.

counter.most_frequent_tokens

{ "are" => 2, "the" => 2 }

#token_lengths

Returns a sorted (unstable) two-dimentional array where each element contains a token and its length. The array is sorted by length in descending order.

counter.token_lengths

[
  ["looking", 7],
  ["gutter",  6],
  ["stars",   5],
  # ...
  ["in",      2]
]

#longest_tokens

Returns a hash where each key-value pair is a token and its length.

counter.longest_tokens

{ "looking" => 7 }

#token_density([ precision: 2 ])

Returns a sorted (unstable) two-dimentional array where each element contains a token and its density as a float, rounded to a precision of two. The array is sorted by density in descending order. It accepts a precision argument, which must be a float.

counter.token_density

[
  ["are",     0.13],
  ["the",     0.13],
  ["but",     0.07 ],
  # ...
  ["we",      0.07 ]
]

#char_count

Returns the char count of tokens.

counter.char_count #=> 76

#average_chars_per_token([ precision: 2 ])

Returns the average char count per token rounded to two decimal places. Accepts a precision argument which defaults to two. Precision must be a float.

counter.average_chars_per_token #=> 4

#uniq_token_count

Returns the number of unique tokens.

counter.uniq_token_count #=> 13

Excluding tokens from the tokeniser

You can exclude anything you want from the input by passing the exclude option. The exclude option accepts a variety of filters and is extremely flexible.

  1. A space-delimited string. The filter will normalise the string.
  2. A regular expression.
  3. A lambda.
  4. A symbol that names a predicate method. For example :odd?.
  5. An array of any combination of the above.
tokeniser =
  WordsCounted::Tokeniser.new(
    "Magnificent! That was magnificent, Trevor."
  )

# Using a string
tokeniser.tokenise(exclude: "was magnificent")
# => ["that", "trevor"]

# Using a regular expression
tokeniser.tokenise(exclude: /trevor/)
# => ["magnificent", "that", "was", "magnificent"]

# Using a lambda
tokeniser.tokenise(exclude: ->(t) { t.length < 4 })
# => ["magnificent", "that", "magnificent", "trevor"]

# Using symbol
tokeniser = WordsCounted::Tokeniser.new("Hello! محمد")
tokeniser.tokenise(exclude: :ascii_only?)
# => ["محمد"]

# Using an array
tokeniser = WordsCounted::Tokeniser.new(
  "Hello! اسماءنا هي محمد، كارولينا، سامي، وداني"
)
tokeniser.tokenise(
  exclude: [:ascii_only?, /محمد/, ->(t) { t.length > 6}, "و"]
)
# => ["هي", "سامي", "وداني"]

Passing in a custom regexp

The default regexp accounts for letters, hyphenated tokens, and apostrophes. This means twenty-one is treated as one token. So is Mohamad's.

/[\p{Alpha}\-']+/

You can pass your own criteria as a Ruby regular expression to split your string as desired.

For example, if you wanted to include numbers, you can override the regular expression:

counter = WordsCounted.count("Numbers 1, 2, and 3", pattern: /[\p{Alnum}\-']+/)
counter.tokens
#=> ["numbers", "1", "2", "and", "3"]

Opening and reading files

Use the from_file method to open files. from_file accepts the same options as .count. The file path can be a URL.

counter = WordsCounted.from_file("url/or/path/to/file.text")

Gotchas

A hyphen used in leu of an em or en dash will form part of the token. This affects the tokeniser algorithm.

counter = WordsCounted.count("How do you do?-you are well, I see.")
counter.token_frequency

[
  ["do",   2],
  ["how",  1],
  ["you",  1],
  ["-you", 1], # WTF, mate!
  ["are",  1],
  # ...
]

In this example -you and you are separate tokens. Also, the tokeniser does not include numbers by default. Remember that you can pass your own regular expression if the default behaviour does not fit your needs.

A note on case sensitivity

The program will normalise (downcase) all incoming strings for consistency and filters.

Roadmap

Ability to open URLs

def self.from_url
  # open url and send string here after removing html
end

Contributors

See contributors.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Author: abitdodgy
Source code: https://github.com/abitdodgy/words_counted
License: MIT license

#ruby  #ruby-on-rails 

aaron silva

aaron silva

1622197808

SafeMoon Clone | Create A DeFi Token Like SafeMoon | DeFi token like SafeMoon

SafeMoon is a decentralized finance (DeFi) token. This token consists of RFI tokenomics and auto-liquidity generating protocol. A DeFi token like SafeMoon has reached the mainstream standards under the Binance Smart Chain. Its success and popularity have been immense, thus, making the majority of the business firms adopt this style of cryptocurrency as an alternative.

A DeFi token like SafeMoon is almost similar to the other crypto-token, but the only difference being that it charges a 10% transaction fee from the users who sell their tokens, in which 5% of the fee is distributed to the remaining SafeMoon owners. This feature rewards the owners for holding onto their tokens.

Read More @ https://bit.ly/3oFbJoJ

#create a defi token like safemoon #defi token like safemoon #safemoon token #safemoon token clone #defi token