Chatbot:Cosine Similarity, python

Cosine Similarityは2つの文書の類似性を測ります。 ChatbotやWebページ検索をはじめ、日常言語処理において広く用いられています。   I.Cosine Similarityの計算式   Cosine Similarity (d1, d2) = Dot product(d1, d2) / ||d1|| * ||d2||   Tf-Idf and Cosine similarity   II.計算例   次の文書の例で説明します。   Cosine similarity in data mining   …

Continue reading

Chatbot:Google検索の仕組みpython,TF-IDF,CosineSimilarity 2/3

Google検索について学んでいます。次に続く第2回目です。   Chatbot:Google検索の仕組みpython,TF-IDF,CosineSimilarity 1/3   次の文書に基づいています。   Tf-Idf and Cosine similarity   I.出現回数(Term Frequency)   ドキュメントは次の3つです。   document1 = [‘the’, ‘game’, ‘of’, ‘life’, &…

Continue reading

Chatbot:Google検索の仕組みpython,TF-IDF,CosineSimilarity 1/3

I.TF_IDFとCosine Similarity   TF_IDFとCosine Similaryは類似性を算出するもので、テキスト・マイニングやチャット・ボットでよく用いられます。 難しそうですが、発想がわかると日常言語をプログラムでどう扱うのかがよくわかります。 Googleは、このTF_IDEを検索に使うことによって利用者数を飛躍的に増やしたそうです。 次の文書では、Google検索を例としてTF_IDFとCosaine Similarityがわかりやすく説明されています。   Tf-Idf and Cosine similarity   上記を読めばわ…

Continue reading

Chatbot:はじめてのチャットボット Python, NLTK 3/4

次の解説を勉強しています。   Building a Simple Chatbot from Scratch in Python (using NLTK)   NLTKのインストールまで学びました。   Pythonの使用法:はじめてのチャットボット NLTK 1/4 Pythonの使用法:はじめてのチャットボット NLTK 2/4   I.データの前処理(Text Pre-Processing with NLTK)   1.Converting texts into uppercase or lowercase   文字を…

Continue reading

Inspiration:PlatformとFrameworkとLibraryの区別

チャットボットを作成するプログラムの解説を読んでいて用語が理解できなかったので、PlatformとFrameworkとLibraryの区別を調べて図にしました。 私の理解は次のようです。完全には理解できていませんので、間違いに気づいたら適宜修正します。   Platform ハードとソフトに関わるもので、CPU architectureやOSのことでです。Pythonの場合、WindowsやmacOSやLinuxのプラットフォームに対応しています。 下の図では、土地や土台部分にあたります。   Framewok プログラムを作成する際の骨組みとなるもので、Pythonの場合…

Continue reading

Chatbot:はじめてのチャットボット Python, NLTK 2/4

次の解説を勉強しています。   Building a Simple Chatbot from Scratch in Python (using NLTK)   I.チャットボットの種類   チャットボットは大きく、プログラムで指定された通りの応答するタイプと機械学習をもちいた自己学習タイプにわかれます。 後者はさらに、プログラムで与えられた情報や対話から得た情報から応答を選び出すものと応答を自ら産出するものにわかれます。 この文書で紹介されているプログラムは応答を選び出す選出型のプログラムです。     Retrieval basedとGene…

Continue reading

Chatbot:はじめてのチャットボット Python, NLTK 1/4

I.チャットボットを学ぶ   チャットボットの勉強をはじめました。 次の初心者向けの解説を読みます。   Building a Simple Chatbot from Scratch in Python (using NLTK)   II.スクリプト全文を探す   スクプトの解説にしたがって順に学ぶ前に、どのようなボットか全スクリプトを実行してみようと思いましたが、スクリプトが解説のため小分けになっています。 こういう場合、解説の中にスクリプト全文のあるgithubへのリンクがあることが多いですが、それがどこかわかりません。 そこで、解説のページ内のリン…

Continue reading

Pythonの使用法:Webページのリンク一覧を取得

プログラムの解説を読んでいると、読む前にスクリプトを実行したくなることがよくあります。 解説の初めのところころにgithubへリンクがあって、全スクリプトがそこに書かれていることが多いです。 はじめに書いていない場合、解説をちゃんと読めばリンクを見つけられるのでしょうが、それが面倒なときは、ページのリンク一覧を取得し、ブラウザのページ検索でgitを検索します。   I.Pythonでリンク一覧を取得   Extract all links from a web page using python   from bs4 import BeautifulSoup, S…

Continue reading

SketchBookの使用法:重ねて描くpredictive stroke

次のページのInktober画像に重ねて描いて、ブラシの練習しています。   INKTOBER WRAP UP: WEEK ONE   そのまま描ければ一番でしょうが、うまく描けないので、Predictive Strokeを設定して描きました。 太めのブラシで描くところと、塗りつぶし(Color Fill)を使い分けるのがこつです。    …

Continue reading

SketchBookの使用法:一部を目立たせるcolor adjustments

SketchBookを用いて、簡単に一部を目立たせる方法を紹介します。   元の画像       一部を強調した画像     Magic wandで同色の色をうまく選択するのがポイントです。 あとは、強調したい部分を別のレイヤーに移し、元画像をグレースケールにして重ねるだけです。もちろん、色や鮮明度などいろいろ工夫できます。  …

Continue reading