Wolfram|Alpha の最新情報

Fusashi Nakamura, Ph.D.
Wolfram Research Asia Limited

目次

本日のトピック

Wolfram|Alpha とは - アーキテクチャ概観と特徴

Wolfram|Alpha の基本的な使い方 - クエリと日本語

Wolfram|Alpha Notebook - 新しいインタフェース

Wolfram|Alpha のアプリケーション開発

Wolfram|Alpha とは

世界中のデータと現象を計算する知的ツール

webMathematica のアプリケーション

webMathematca とは

Mathematica を計算エンジンとしたウェブサイトの開発キット

サーバサイド：JSP と Java Servlets (Apache Tomcat)

ウェブサーバ：Apache HTTP server ,  MS IIS

参考： http://www.wolfram.com/products/webmathematica/

提供形態

サービスの特典の 1 つ (サイトは無条件公開、非営利)

製品・サービス - サイト・ライセンス、W|A アプライアンス、ビジネス・ソリューション

Widget と API

膨大な計算可能データと専用自然言語解析と計算

計算可能データ

理工系、社会科学系、芸術・スポーツ、ビジネスなど、数百ギガバイトが適宜アップデートされている

Wolfram Language で処理しやすいように整形されている (curated data)

自然言語解析

計算に関連する断片 (fragment) を理解・推測し、Wolflram Language のコマンドを生成する

英語が基本だが、日本語を始め多言語化が進行中

Wolfram Language による多様な記号・数値計算

クエリを、必要であれば関連するデータを使って “計算” して、結果を提供する

Wolfram|Alpha の基本的な使い方

単なる検索ではない

ウェブサイトにクエリを入力

静的な結果だけでなく、アプリケーションも出力する (“mortgage calculator” などリンクをクリック)

mortgage calculator

Doppler effect 12 kHz

日本語も可 (現在は数学関連)

1/(x^3+1) の積分

英語が基本だが、日本語を始め多言語化が進行中

W|A Pro 機能 (W|A Pro アカウントが必要)

Step-by-Step

Problem Generator

Mathematica の中で使う

自由形式入力

= キーを押して、平文 (今は英語) でクエリを入力して、エンター・キーを押下

最初に、== を押下すると、古出力される

WolframAlpha[ ]

Wolfram Language のコマンドとして、様々なオプションを付加したり、他のコマンドと組み合わせて実行する

ListAnimate[Table[WolframAlpha[StringJoin["Koch snowflake, ",ToString[i]," iterations"],{{"KochSnowflake",1},"Content"}],{i,1,5}]]

Wolfram|Alpha Notebook Edition

新しいインタフェース

Notebook ファイルがインタフェース

v12  (または、v12.1) に登場

Stand alone 型

Mathematica の新たなファイル形式

ウェブサイトや Mathematica の自由形式入力との違い

会話的なワークフロー

W|A の出力結果を Mathematica で加工できる

実行例

Wolfram|Alpha のアプリケーション開発

Wolfram ID が必要

Widget

以下のページにアクセス

https://www.wolframalpha.com/widgets/

“Create a new widgets >>”

https://account.wolfram.com/auth/sign-in に Wolfram ID でサインイン

ステップの指示に従って Widget を作成する

最終的に、public にするか、テンポラリに保存するかを決める

API

以下のページにアクセス

https://products.wolframalpha.com/api/

“Get API Access” をクリック

https://account.wolfram.com/auth/sign-in に Wolfram ID でサインイン

WolframAlpha DEVELOPMENT PORTAL の MY APPS タブが表示される

“Sign up to get your first AppID” をクリックする

必要事項を記入して *Sign up* をクリックする

Sign-up に成功したら、表示される *Thank you* ダイアログボックスの中の *Get an APppID>>* をクリックする

表示される *Get a New AppID* ダイアログボックスの必要事項を記入して、*Get AppID* をクリックする

“Your AppID Has Been Created” ダイアログボックス中に記載されている APPID をメモし、OK をクリックする

54GLPK-97AWYU33A2

API で獲得した xml データを Notebook のセルに変換する

ディレクトリの設定

SetDirectory[NotebookDirectory[]]

XML 関連パッケージの読み込み

Needs["XML`"]

オリジナルのクエリ

“population of Japan”

API を使って (REST)、クエリの結果を xml で取得する

12ABCD-34EFGH56I7 は、取得した AppID

apiAnswerXML=XMLGet["http://api.wolframalpha.com/v2/query?appid=12ABCD-34EFGH56I7&input=population+of+Japan"];

xml 形式の結果

apiAnswerXML

出力に含まれるすべての xml の pod エレメントを抽出

Cases[apiAnswerXML,XMLElement["pod",___],Infinity]//TableForm

出力に含まれるすべての xml の img エレメントを抽出

時間が経つと、img エレメントの本体の画像は消去されるので、XMLGet[ ] を再実行する

Cases[apiAnswerXML,XMLElement["img",___],Infinity]//TableForm

pod エレメントを Notebook のセルに、img エレメントを、画像に変換する

tmplst=Cases[apiAnswerXML,XMLElement[(f:("pod"|"img")),{att_->attvalue_,___},___]->Switch[f,"pod",Cell[attvalue,"Section"],"img",Show[Import[attvalue]]],Infinity];

tmplst の表示

tmplst

若干整形した結果を表示

tmplst//Split[#,Head[#1]=!=Cell&]&//Reverse[#,2]&//Flatten//CellPrint

Input interpretation

Result

Recent population history

Long-term population history

Demographics

Age distribution

Largest cities

Comparisons

Wolfram|Alpha お試し

百聞は一見に如かず

本カンファレンス参加者に 1 ヶ月の W|A Pro subscription を無料進呈

W|A Pro で使える主な機能

Step-by-Step

Problem Generater

以下にご連絡お待ちしております

event-japan@wolfram.com

info@wolfram.co.jp

fusashin@wolfram.com

ありがとうございました！

fusashin@wolfram.com