How To Implement CNN Model To Count Fingers And Distinguish Between Left And Right Hand?

Convolutional Neural Network (CNN) being computationally strong has the ability to automatically detect the important features without the governance of humans. Also compared to normal neural networks accuracy of CNN models are always high and is considered to be one of the strong architectures when it comes to image classification. CNN models are now capable of doing classification better than humans; it has surpassed human ability for classifying an image.

Read more: https://analyticsindiamag.com/how-to-implement-cnn-model-to-count-fingers-and-distinguish-between-left-and-right-hand/

#cnn

What is GEEK

Buddha Community

How To Implement CNN Model To Count Fingers And Distinguish Between Left And Right Hand?

How To Implement CNN Model To Count Fingers And Distinguish Between Left And Right Hand?

Convolutional Neural Network (CNN) being computationally strong has the ability to automatically detect the important features without the governance of humans. Also compared to normal neural networks accuracy of CNN models are always high and is considered to be one of the strong architectures when it comes to image classification. CNN models are now capable of doing classification better than humans; it has surpassed human ability for classifying an image.

Read more: https://analyticsindiamag.com/how-to-implement-cnn-model-to-count-fingers-and-distinguish-between-left-and-right-hand/

#cnn

Hand Sanitizer in bulk - Get your effective hand sanitizer here

With the spread of various harmful virus globally causing immense distress and fatalities to human mankind, it has become absolutely essential for people to ensure proper and acute hygiene and cleanliness is maintained. To further add to the perennial hardship to save lives of people the recent pandemic of Covid-19 affected globally created the worst nightmare for people of all walks of life. Looking at the present crisis, it has become imperative for human beings to be encouraged to tackle this challenge with an everlasting strength to help protect oneself and their loved ones against the devastating effects of the virus. One thing that stands up between keeping all safe and vulnerable is by making sure that everybody attentively Hand wash periodically to help physically remove germs from the skin and getting rid of the live microbes.

The essence of apposite handwashing is based around time invested in washing and the amount of soap and water used. Technically, washing hands without soap is much less effective anyway. But incase a proper handwashing support system doesn’t become possible around, the usage of Effective Hand Sanitizer will certainly help fight to reduce the number of microbes on the surface of hands efficiently, eliminating most variants of harmful bacteria to settle.

The need has come about for Hand Sanitizer in bulk to save your daily life aptly maintaining a minimum of 60% alcohol - as per the CDC recommendations and approved by USFDA for its greater effectiveness. With the growing demand of people on the move the demand for easy to carry, small, and travel size worthy pouches that are also refillable once the product runs out is the need of the hour. To further make sure that human lives are well protected from these external viruses, it is mandatory for producer of effective Hand Sanitizer to evolve products circumspectly with ingredients that produce not just saving lives but with multiple benefits for people of all ages.

#hand sanitizer #hand sanitizer in bulk #hand sanitizer ingredient #hand sanitizer to alcohol #hand sanitizer travel size #hand sanitizer wholesale

Royce  Reinger

Royce Reinger

1658409780

Wlapi: Ruby Based API for The Project Wortschatz Leipzig

WLAPI

DESCRIPTION

WLAPI is a programmatic API for web services provided by the project Wortschatz, University of Leipzig. These services are a great source of linguistic knowledge for morphological, syntactic and semantic analysis of German both for traditional and Computational Linguistics (CL).

Use this API to gain data on word frequencies, left and right neighbours, collocations and semantic similarity. Check it out if you are interested in Natural Language Processing (NLP) and Human Language Technology (HLT).

This library is a set of Ruby bindings for the following featuren. You may also be interested in other language specific bindings:

Perl

Python

PHP

C#

The original Java based clients with many examples can be found on the project overview page.

Implemented Features

You can use the following search methods:

#baseform;

#cooccurrences;

#cooccurrences_all;

#crossword;

#domain;

#experimental_synonyms;

#frequencies;

#left_collocation_finder;

#left_neighbours;

#right_collocation_finder;

#right_neighbours;

#sentences;

#similarity;

#synonyms;

#thesaurus;

#wordforms;

#ngrams;

#ngram_references;

The services NGrams and NGramReferences are under development and will be available soon. Both methods throw an NotImplementedError for now.

The interface will be slightly changed in the version 1.0 to be more readable. For example, #cooccurrences_all may become #all_cooccurrences.

There are two additional services by Wortschatz Leipzig: MARS and Kookurrenzschnitt. They will not be implemented due to internal restrictions of the service provider.

INSTALLATION

WLAPI is provided as a .gem package. Simply install it via RubyGems.

To install WLAPI ussue the following command:

$ gem install wlapi

The current version of WLAPI works with the second Savon generation. You might want to install versions prior to 0.8.0, if you are bound on the old implementations of savon:

$ gem install wlapi -v 0.7.4

If you want to do a system wide installation, do this as root (possibly using sudo).

Alternatively use your Gemfile for dependency management.

We are working on a .deb package, which will be released soon.

SYNOPSIS

Basic usage is very simple:

$ require 'wlapi'
$ api = WLAPI::API.new
$ api.synonyms('Haus', 15) # returns an array with string values (UTF8 encoded)
$ api.domain('Auto') # => Array

If you are going to send mass requests, please contact the support team of the project Wortschatz, get your private credentials and instantiate an authenticated client:

$ require 'wlapi'
$ api = WLAPI::API.new(username, password)

See documentation in the WLAPI::API class for details on particular search methods.

EXCEPTION HIERARCHY

While using WLAPI you can face following errors:

WLAPI::UserError;

WLAPI::ExternalError.

The errors here are presented in the order they may occur during WLAPI's work.

First WLAPI checks the user input and throws a WLAPI::UserError if the arguments are not appropriate.

Then it fetches a response from a remote server, it can result in a WLAPI::ExternalError. In most cases it will be a simple wrapper around other errors, e.g. Savon::SOAP::Fault.

All of them are subcalsses of WLAPI::Error which is in turn a subclass of the standard RuntimeError.

If you want to intercept any and every exception thrown by WLAPI simply rescue WLAPI::Error.

SUPPORT

If you have question, bug reports or any suggestions, please drop me an email :) Any help is deeply appreciated!

If you need some new functionality please contact me or provide a pull request. You code should be complete and tested. Please use local_* and remote_* naming convention for your tests.

Supported Ruby Versions

The library is testend on the following Ruby interpreters:

MRI 1.8.7

MRI 1.9.3

MRI 2.0.x

MRI 2.1.x

JRuby (both 1.8 and 1.9 modes)

Rubinius

CHANGELOG

For details on future plan and working progress see CHANGELOG.

CAUTION

This library is work in process! Though the interface is mostly complete, you might face some not implemented features.

Please contact me with your suggestions, bug reports and feature requests.


DISCLAIMER We are working on the new RESTful client. Please be patient!


Author: Arbox
Source Code: https://github.com/arbox/wlapi 
License: MIT license

#ruby #nlp #naturallanguageprocessing 

Michael  Hamill

Michael Hamill

1617331277

Workshop Alert! Deep Learning Model Deployment & Management

The Association of Data Scientists (AdaSci), the premier global professional body of data science and ML practitioners, has announced a hands-on workshop on deep learning model deployment on February 6, Saturday.

Over the last few years, the applications of deep learning models have increased exponentially, with use cases ranging from automated driving, fraud detection, healthcare, voice assistants, machine translation and text generation.

Typically, when data scientists start machine learning model development, they mostly focus on the algorithms to use, feature engineering process, and hyperparameters to make the model more accurate. However, model deployment is the most critical step in the machine learning pipeline. As a matter of fact, models can only be beneficial to a business if deployed and managed correctly. Model deployment or management is probably the most under discussed topic.

In this workshop, the attendees get to learn about ML lifecycle, from gathering data to the deployment of models. Researchers and data scientists can build a pipeline to log and deploy machine learning models. Alongside, they will be able to learn about the challenges associated with machine learning models in production and handling different toolkits to track and monitor these models once deployed.

#hands on deep learning #machine learning model deployment #machine learning models #model deployment #model deployment workshop

Pythonで感情分析を実行する5つの方法

Twitter、Goodreads、Amazonのいずれについて話しても、人々の意見で飽和していないデジタル空間はほとんどありません。今日の世界では、組織がこれらの意見を掘り下げて、自社の製品やサービスに関する洞察を得ることが重要です。ただし、このデータは、手動で測定することは不可能に近いほどの量で存在します。ここで、データサイエンスのもう1つの恩恵がもたらされます 感情分析。この記事では、感情分析に含まれるものと、Pythonでそれを実装するためのさまざまな方法について説明します。

感情分析とは何ですか?

感情分析自然言語処理(NLP)のユースケースであり、テキスト分類のカテゴリに分類されます。簡単に言うと、感情分析では、テキストをポジティブまたはネガティブ、ハッピー、悲しい、ニュートラルなどのさまざまな感情に分類します。したがって、感情分析の最終的な目標は、感情、感情、または感情の根底にある感情を解読することです。文章。これは、オピニオンマイニングとも呼ばれます。

クイックグーグル検索が感情分析をどのように定義するかを見てみましょう:

感情分析の定義

感情分析による洞察の獲得と意思決定

さて、今では、感情分析とは何かにある程度慣れていると思います。しかし、その重要性と、組織はそれからどのように利益を得るのでしょうか。例を挙げて同じことを試してみましょう。オンラインプラットフォームで香水を販売する会社を立ち上げたとします。さまざまなフレグランスを販売し、すぐに顧客が殺到し始めます。しばらくして、香水の価格戦略を変更することにしました。人気のあるフレグランスの価格を上げると同時に、人気のないフレグランスの割引を提供する予定です。 。ここで、人気のあるフレグランスを特定するために、すべてのフレグランスのカスタマーレビューを開始します。しかし、あなたは立ち往生しています!それらは非常に多いので、一生のうちにすべてを通過することはできません。これは、感情分析があなたをピットから追い出すことができる場所です。

すべてのレビューを1つの場所に集めて、感情分析を適用するだけです。以下は、香水の3つのフレグランス(ラベンダー、ローズ、レモン)のレビューに関する感情分析の概略図です。(これらのレビューには、実際のシナリオとは異なり、スペル、文法、句読点が正しくない可能性があることに注意してください)

感情分析

これらの結果から、次のことがはっきりとわかります。

Fragrance-1(Lavender)は顧客から非常に好意的なレビューを受けており、あなたの会社が人気を考えれば価格を上げることができることを示しています。

Fragrance-2(Rose)は、たまたま顧客の間で中立的な見通しを持っています。つまり、あなたの会社は価格を変更すべきではありません

Fragrance-3(Lemon)には、全体的にネガティブな感情があります。したがって、企業は、スケールのバランスをとるために、 Fragrance-3に割引を提供することを検討する必要があります。

これは、感情分析が製品/サービスへの洞察を得るのに役立ち、組織が意思決定を行うのにどのように役立つかを示す簡単な例にすぎません。

感情分析のユースケース

感情分析が、データ主導の意思決定に役立つ洞察を組織に与える方法を見てきました。それでは、感情分析のいくつかのユースケースを覗いてみましょう。

  1. ブランド管理のためのソーシャルメディアモニタリング:ブランドは、感情分析を使用して、ブランドの一般的な見通しを評価できます。たとえば、会社は、会社の言及またはタグを付けてすべてのツイートを収集し、感情分析を実行して、会社の一般的な見通しを知ることができます。
  2. 製品/サービス分析:ブランド/組織は、顧客レビューに対して感情分析を実行して、製品またはサービスが市場でどの程度うまく機能しているかを確認し、それに応じて将来の決定を下すことができます。
  3. 株価予測:企業の株価が上がるか下がるかを予測することは、投資家にとって非常に重要です。会社名を含む記事のニュースヘッドラインで感情分析を実行することで、同じことを判断できます。特定の組織に関連するニュースの見出しがたまたま前向きな感情を持っている場合、その株価は上昇するはずであり、その逆も同様です。

Pythonで感情分析を実行する方法

Pythonは、データサイエンスタスクの実行に関して最も強力なツールの1つであり、 感情分析を実行するためのさまざまな方法を提供します。最も人気のあるものはここに参加しています:

  1. テキストブロブの使用
  2. Vaderの使用
  3. BagofWordsのベクトル化ベースのモデルの使用
  4. LSTMベースのモデルの使用
  5. Transformerベースのモデルの使用

それらを1つずつ深く掘り下げていきましょう。

注:方法3および4(Bag of Wordsのベクトル化ベースのモデルの使用およびLSTMベースのモデルの使用)のデモンストレーションの目的で、感情分析が使用されています。これは、ポジティブ、ネガティブ、またはニュートラルとラベル付けされた5000を超えるテキストの抜粋で構成されています。データセットはクリエイティブコモンズライセンスの下にあります。

テキストブロブの使用

Text Blobは、自然言語処理用のPythonライブラリです。感情分析にTextBlobを使用するのは非常に簡単です。入力としてテキストを受け取り、出力として極性主観性を返すことができます。

極性はテキストの感情を決定します。その値は[-1,1]にあり、-1は非常に否定的な感情を示し、1は非常に肯定的な感情を示します。

主観性は、テキスト入力が事実情報であるか個人的な意見であるかを決定します。その値は[0,1]の間にあり、0に近い値は事実情報を示し、1に近い値は個人的な意見を示します。

インストール

pip install textblob

テキストブロブのインポート:

from textblob import TextBlob

テキストブロブを使用した感情分析のコード実装:

TextBlobを使用して感情分析用のコードを書くのはかなり簡単です。TextBlobオブジェクトをインポートし、分析するテキストを次のように適切な属性で渡すだけです。

from textblob import TextBlob
text_1 = "The movie was so awesome."
text_2 = "The food here tastes terrible."#Determining the Polarity 
p_1 = TextBlob(text_1).sentiment.polarity
p_2 = TextBlob(text_2).sentiment.polarity#Determining the Subjectivity
s_1 = TextBlob(text_1).sentiment.subjectivity
s_2 = TextBlob(text_2).sentiment.subjectivityprint("Polarity of Text 1 is", p_1)
print("Polarity of Text 2 is", p_2)
print("Subjectivity of Text 1 is", s_1)
print("Subjectivity of Text 2 is", s_2)

出力:

Polarity of Text 1 is 1.0 
Polarity of Text 2 is -1.0 
Subjectivity of Text 1 is 1.0 
Subjectivity of Text 2 is 1.0

VADERの使用

VADER(Valence Aware Dictionary and sEntiment Reasoner)は、ソーシャルメディアテキストでトレーニングされたルールベースの感情アナライザーです。Text Blobと同様に、Pythonでの使用法は非常に簡単です。しばらくの間、例を挙げてコード実装での使用法を見ていきます。

インストール:

pip install vaderSentiment

VaderからのSentimentIntensityAnalyzerクラスのインポート:

from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer

Vaderを使用した感情分析のコード:

まず、SentimentIntensityAnalyzerクラスのオブジェクトを作成する必要があります。次に、次のようにテキストをオブジェクトのpolarity_scores()関数に渡す必要があります。

from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
sentiment = SentimentIntensityAnalyzer()
text_1 = "The book was a perfect balance between wrtiting style and plot."
text_2 =  "The pizza tastes terrible."
sent_1 = sentiment.polarity_scores(text_1)
sent_2 = sentiment.polarity_scores(text_2)
print("Sentiment of text 1:", sent_1)
print("Sentiment of text 2:", sent_2)

出力

Sentiment of text 1: {'neg': 0.0, 'neu': 0.73, 'pos': 0.27, 'compound': 0.5719} 
Sentiment of text 2: {'neg': 0.508, 'neu': 0.492, 'pos': 0.0, 'compound': -0.4767}

ご覧のとおり、VaderSentimentオブジェクトは、分析するテキストの感情スコアの辞書を返します。

BagofWordsのベクトル化ベースのモデルの使用

まだ説明されている2つのアプローチ、つまりText BlobとVaderでは、Pythonライブラリを使用して感情分析を実行しました。次に、タスク用に独自のモデルをトレーニングするアプローチについて説明します。Bag ofWordsVectorizationメソッドを使用して感情分析を実行する手順は次のとおりです。

  1. トレーニングデータのテキストを前処理します(テキストの前処理には、正規化、トークン化、ストップワードの削除、およびステミング/レマタイズが含まれます)。
  2. カウントベクトル化またはTF-IDFベクトル化アプローチを使用して、前処理されたテキストデータ用の単語のバッグを作成します。
  3. 感情分類のために処理されたデータで適切な分類モデルをトレーニングします。

Bag of Wordsベクトル化アプローチを使用した感情分析のコード:

BOWベクトル化アプローチを使用して感情分析モデルを構築するには、ラベル付きデータセットが必要です。前述のように、このデモンストレーションに使用されるデータセットはKaggleから取得されています。sklearnのカウントベクトライザーを使用してBOWを作成しました。その後、0.84の精度スコアが得られた多項単純ベイズ分類器をトレーニングしました。

データセットはここから取得できます。

#Loading the Dataset
import pandas as pd
data = pd.read_csv('Finance_data.csv')
#Pre-Prcoessing and Bag of Word Vectorization using Count Vectorizer
from sklearn.feature_extraction.text import CountVectorizer
from nltk.tokenize import RegexpTokenizer
token = RegexpTokenizer(r'[a-zA-Z0-9]+')
cv = CountVectorizer(stop_words='english',ngram_range = (1,1),tokenizer = token.tokenize)
text_counts = cv.fit_transform(data['sentences'])
#Splitting the data into trainig and testing
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(text_counts, data['feedback'], test_size=0.25, random_state=5)
#Training the model
from sklearn.naive_bayes import MultinomialNB
MNB = MultinomialNB()
MNB.fit(X_train, Y_train)
#Caluclating the accuracy score of the model
from sklearn import metrics
predicted = MNB.predict(X_test)
accuracy_score = metrics.accuracy_score(predicted, Y_test)
print("Accuracuy Score: ",accuracy_score)

出力

Accuracuy Score:  0.9111675126903553

訓練された分類器は、任意のテキスト入力の感情を予測するために使用できます。

LSTMベースのモデルの使用

Bag of Words Vectorizationメソッドを使用して適切な精度スコアを取得することはできましたが、より大きなデータセットを処理する場合、同じ結果が得られない可能性があります。これにより、感情分析モデルのトレーニングにディープラーニングベースのモデルを採用する必要が生じます。

NLPタスクでは、シーケンシャルデータを処理するように設計されているため、通常はRNNベースのモデルを使用します。ここでは、KerasでTensorFlowを使用してLSTM(Long Short Term Memory)モデルをトレーニングします。LSTMベースのモデルを使用して感情分析を実行する手順は次のとおりです。

  1. トレーニングデータのテキストを前処理します(テキストの前処理には、正規化、トークン化、ストップワードの削除、およびステミング/レマタイズが含まれます)。
  2. Keras.preprocessing.textからTokenizerをインポートし、そのオブジェクトを作成します。トークナイザーをトレーニングテキスト全体に適合させます(トークナイザーがトレーニングデータの語彙でトレーニングされるようにします)。Tokenizerのtexts_to_sequence()メソッドを使用して生成されたテキスト埋め込みは、同じ長さにパディングした後に保存します。(埋め込みはテキストの数値/ベクトル化された表現です。モデルにテキストデータを直接フィードすることはできないため、最初にそれらを埋め込みに変換する必要があります)
  3. 埋め込みを生成したら、モデルを作成する準備が整います。TensorFlowを使用してモデルを構築します—入力、LSTM、および高密度レイヤーをモデルに追加します。ドロップアウトを追加し、ハイパーパラメータを調整して、適切な精度スコアを取得します。一般に、勾配消失問題を回避するため、LSTMモデルの内層でReLUまたはLeakyReLU活性化関数を使用する傾向があります。出力層では、SoftmaxまたはSigmoid活性化関数を使用します。

LSTMベースのモデルアプローチを使用した感情分析のコード:

ここでは、BOWアプローチの場合に使用したものと同じデータセットを使用しました。0.90のトレーニング精度が得られました。

#Importing necessary libraries
import nltk
import pandas as pd
from textblob import Word
from nltk.corpus import stopwords
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import classification_report,confusion_matrix,accuracy_score
from keras.models import Sequential
from keras.preprocessing.text import Tokenizer
from keras.preprocessing.sequence import pad_sequences
from keras.layers import Dense, Embedding, LSTM, SpatialDropout1D
from sklearn.model_selection import train_test_split 
#Loading the dataset
data = pd.read_csv('Finance_data.csv')
#Pre-Processing the text 
def cleaning(df, stop_words):
    df['sentences'] = df['sentences'].apply(lambda x: ' '.join(x.lower() for x in x.split()))
    # Replacing the digits/numbers
    df['sentences'] = df['sentences'].str.replace('d', '')
    # Removing stop words
    df['sentences'] = df['sentences'].apply(lambda x: ' '.join(x for x in x.split() if x not in stop_words))
    # Lemmatization
    df['sentences'] = df['sentences'].apply(lambda x: ' '.join([Word(x).lemmatize() for x in x.split()]))
    return df
stop_words = stopwords.words('english')
data_cleaned = cleaning(data, stop_words)
#Generating Embeddings using tokenizer
tokenizer = Tokenizer(num_words=500, split=' ') 
tokenizer.fit_on_texts(data_cleaned['verified_reviews'].values)
X = tokenizer.texts_to_sequences(data_cleaned['verified_reviews'].values)
X = pad_sequences(X)
#Model Building
model = Sequential()
model.add(Embedding(500, 120, input_length = X.shape[1]))
model.add(SpatialDropout1D(0.4))
model.add(LSTM(704, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(352, activation='LeakyReLU'))
model.add(Dense(3, activation='softmax'))
model.compile(loss = 'categorical_crossentropy', optimizer='adam', metrics = ['accuracy'])
print(model.summary())
#Model Training
model.fit(X_train, y_train, epochs = 20, batch_size=32, verbose =1)
#Model Testing
model.evaluate(X_test,y_test)

Transformerベースのモデルの使用

Transformerベースのモデルは、最も高度な自然言語処理技術の1つです。それらはエンコーダー-デコーダーベースのアーキテクチャーに従い、印象的な結果を生み出すために自己注意の概念を採用しています。トランスフォーマーモデルはいつでも最初から作成できますが、非常に面倒な作業です。したがって、 HuggingFaceで利用可能な事前トレーニング済みのトランスフォーマーモデルを使用できます。Hugging FaceはオープンソースのAIコミュニティであり、NLPアプリケーション用に事前にトレーニングされた多数のモデルを提供しています。これらのモデルは、そのまま使用することも、特定のタスクに合わせて微調整することもできます。

インストール:

pip install transformers

VaderからのSentimentIntensityAnalyzerクラスのインポート:

import transformers

Transformerベースのモデルを使用した感情分析のコード:

トランスフォーマーを使用してタスクを実行するには、最初にトランスフォーマーからパイプライン関数をインポートする必要があります。次に、パイプライン関数のオブジェクトが作成され、実行されるタスクが引数として渡されます(つまり、この場合は感情分析)。タスクを実行するために使用する必要のあるモデルを指定することもできます。ここでは、使用するモデルについて言及していないため、感情分析にはデフォルトでdistillery-base-uncased-finetuned-sst-2-Englishモードが使用されます。利用可能なタスクとモデルのリストは、こちらで確認できます。

from transformers import pipeline
sentiment_pipeline = pipeline("sentiment-analysis")
data = ["It was the best of times.", "t was the worst of times."]
sentiment_pipeline(data)Output:[{'label': 'POSITIVE', 'score': 0.999457061290741},  {'label': 'NEGATIVE', 'score': 0.9987301230430603}]

結論

ユーザーが自分の視点を簡単に表現でき、データがほんの数秒で過剰に生成されるこの時代では、そのようなデータから洞察を引き出すことは、組織が効率的な意思決定を行うために不可欠です。感情分析は、パズルの欠片であることがわかります。

これまでに、感情分析に必要なものと、Pythonでそれを実行するために使用できるさまざまな方法について詳しく説明してきました。しかし、これらはほんの一部の基本的なデモンストレーションでした。必ず先に進んでモデルをいじって、自分のデータで試してみる必要があります。

ソース:https ://www.analyticsvidhya.com/blog/2022/07/sentiment-analysis-using-python/

#python