ラズパイでナレッジベース

 

①数値計算用知識ベースエンジンWolframを使ってみます。

ナレッジベースとしてのWolfram

ラズパイのOSとして Raspbian Stretch with desktop and recommended software を使えばプレインストールされています (サブセットとはいえ、タダで使える->すごすぎる->使わんわけにはイカン)。すごすぎる理由の一端

こういう時代もありました。

SE/30とMathematicaで軽が1台買えたような…..。それが今じゃ5000円弱….。泣ける。

 

メニュから「Wolfram」を起動するとLanguageのウィンドウが開きますが、graphicが使えません。

計算結果を可視化したいような場合は「Mathematica」を選んで、Wolfram Mathematica(Mathematicaノートブック)を起動します。

 

こんな感じで、グラフを作成できます。

 

ListLinePlot[{5, 6, 1, 5, 7, 8, 1, 3}]

Shift + Return

横軸はindex、縦軸に値がプロットされています。

センサーデータのグラフ化なんかに使えます。

WolframはPythonなんかとも連携できるそうです。

どう使うか、悩みましょう!

 

Mathematicaで機械学習ができるらしい。

ここも参照

 

数式処理以外に他の知識ベースの使い方(データの収集など)もできます。

「Wolfram言語では,現実世界の実体も一種の記号的な式です」….だそうです。

LISP?

言語をツールのように理解する向きもあるけど、思想的な意味を理解するともっと面白い(Smalltalkとかね)。

こんな具合

現在のお天気情報を調べてみます。

ラズパイのWolfram Mathematicaノートブックは英語入出力のみですが、Wolfram|Alphaには日本語版があります。

 

ラズパイのターミナルからはWolframScriptでWolfram言語を扱えます。

 

こういう使い方もあるんですねぇ。FFTを使っています。

パラメトリック方程式勾配とテンソル(メモ)のページでも使っています。

 

 


②パーソナルナレッジベースとして

EvernoteかGoogle keepか?

 

Trilium Notesも選択肢に入れたいが、現バージョンは実行できない。

Linux版は、./triliumで実行時エラー。

ソースからnpmビルドしても、これはNode.jsが10.5以上じゃないと走らない。

現ラズパイ(Stretch)はDebian 9なのでNode.jsは9。

ただラズパイに拘らずに、ネットワーク内にPCも組み込んで考えれば問題ないか?

 

使用制限があまりないGoogle keepを使ってみます。

PC

Android

iPhone・iPad

ラズパイ

gkeepapiを使ってみます。

$pip3 install gkeepapi

【gkeep.py】

 

# coding: utf-8

import gkeepapi

import sys

args = sys.argv

#引数をkeepに投稿

title = args[1]
memo = args[2]

#Gmailアカウントでログイン、xxxとyyyはご自分ので書き換え

userID = "xxx"

Password = "yyy"

keep =  gkeepapi.Keep()

s = keep.login(userID,Password)

#新しいメモを作成

n = keep.createNote(title, memo)

#同期

keep.sync()

$python3 gkeep.py  “New Memo” ”ほにやらら”

 

*Google keepはChromeの拡張機能として使えるので、Webページの保存にも便利

 

PythonでKeepからデータを検索する場合はこちら

 

 


③SQLiteで情報を保存・取り出し

クラウドサービスには保存したくない情報の場合はローカルDBを使います。

ラズパイ3でデータベース(SQLite)

 

さらに大きなデータの場合は、P2Pネットワークで分散させるという手もあります。

Webスクレイピングしたものも、ハンドリングしやすいようにDBに保存しておきます。

旧サイトのスクレイピング情報

旧版では対象サイトのフォーマットが変更されているので実行できませんがロジック自体は有効です。

教訓:いつまでもあると思うな、そのページとAPI

Pythonでスクレイピング(準備中)

 


後は、これらのデータをどう使うか?

パーソナル・アシスタントをどう作るかですね(Melissaのようなもの)。

「今日のパナスタ付近の天気はどう?揃えておいたほうがいい観戦グッズを教えて!交通状況は?スタジアムまでの最適経路を教えて!…….今日ガンバ勝つかな?」てな質問に答えてもらいましょう。

 

また、音声認識を使う場合、単発な質問に回答するだけではなく、複数の質問をアレンジしてSQLを発行できるような感じにもしたい。

 

 

工事中

 

 

 

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*