SAS Japan
活用事例からデータ分析のテクニックまで、SAS Japanが解き明かすアナリティクスの全て一、背景の紹介 SAS Viyaに搭載されているSAS StudioはSASプログラムの作成と実行のツールとしてよくユーザーさんたちに利用されています。また、実際のビジネスの中では、SASプログラムのバッチ実行が必要となる場面もたくさん存在しています。しかし、多くのSAS9を活用している既存のユーザーは、Viyaでのバッチ実行方式に対してまだ詳しくないかもしれませんので、本ブログを通してViyaでバッチ方式でのSASプログラムの実行方法を紹介したいと思います。 以下は本記事内容の一覧です。読者は以下のリンクをで興味のあるセクションに直接ジャンプすることができます。 二、sas-viya CLIツールの紹介 1.sas-viya CLIとは 2.インストール方法の紹介 三、SASプログラムをバッチで実行する方法の紹介 1.バッチでSASプログラムの実行 2.実行されたバッチジョブの確認とログの取得方法 3.バッチジョブの削除と停止方法 二、sas-viya CLIツールの紹介 1.sas-viya CLIとは SAS Viyaのコマンドラインインターフェース(以下はsas-viya CLI)は、コマンドライン上で、SAS ViyaのRESTサービスを利用することによって、SAS Viyaの設定や機能を利用するためのツールです。CLIは、グラフィカル・ユーザー・インターフェース(GUI)を使用する代わりに、プログラム的にSAS Viyaを操作するために使用することができます。 sas-viya CLIのbatchプラグインは、SAS Viya環境にコマンドラインからSASプログラムやコマンドをアップロードし、バッチ処理することを可能にします。プログラムをアップロードした後は、サーバ側でバッチ処理を実施するので、処理中にViyaのサーバとの接続を維持する必要はありません。 2.インストール方法の紹介 従来SAS9を利用しているユーザーは、sas.exeなどでSASプログラムをバッチで実行していたと思いますが、Viyaの場合はsas-viyaというコマンドラインツールを利用します。別途でインストールは必要ですが、Viyaのサービスへ接続できるところであれば、WindowsでもLinuxでも、任意のマシン上から遠隔でViya上でSASジョブの実行ができます。以下ではsas-viyaコマンドラインツールのインストールとセットアップ方法を紹介します。 まずは下記のサイトからお使いのOS(Linux, Window, OSX)に応じて、インストールファイルをダウンロードします。 https://support.sas.com/downloads/package.htm?pid=2512/ ① Windowsをご利用の場合の手順は以下となります。Linuxユーザーの方は、こちらを参照ください。 (1)ダウンロードしたzipファイルを解凍し、sas-viya.exeのフォルダの下にshift+右クリックし、「PowelShellウィンドウをここで開く」をクリックします。 (2)利用開始の前に、接続先のViyaサーバ情報の初期登録が必要ですので、下記のコマンドを実行します。聞かれた内容を下記のように入力し、アクセス先を定義します。 .\sas-viya.exe profile init こちらのステップは初めて利用する際に、一回だけ実施します。Service Endpointは繋ぎ先のURLを入力し、それ以外の”Output type”と”Enable ANSI colored output”については、画面に出力されたメッセージのフォーマットを指定するものですので、お好みの設定で構いません。もしわからない場合は、それぞれにtextとyにすれば良いです。 (3)接続先の情報を設定し終わったら、次はサーバへのログインです。下記のコマンドを実行して、IDとPWを入力し、ログインします。 .\sas-viya auth login
こんにちは!SAS Institute Japanの堀内です。今回も自然言語処理について紹介いたします。 前回の投稿では、実際にSASを使って日本語の文章を扱う自然言語処理の例を解説しました。 最終回の本投稿ではその応用編として、自然言語処理の代表的なタスクとSASによる実装方法を紹介します。なお、ここでいうタスクとは「定式化され一般に共有された課題」といった意味になります。自然言語処理には複数のタスクがあり、タスクごとに、共通する部分はあるとはいえ、問題解決のアプローチ方法は基本的に大きく異なります。SASには各タスクごとに専用のアクションセット1が容易されています。 要約タスク その名の通り文章を要約するタスクです。SASではtextSummarizeアクションセットで対応可能です。 ここでは、NHKのニュース解説記事「気になる頭痛・めまい 天気が影響?対処法は?」(https://www.nhk.or.jp/kaisetsu-blog/700/471220.html) の本文を5センテンスで要約してみましょう。 import swat conn = swat.CAS('mycashost.com', 5570, 'username', 'password') conn.builtins.loadActionSet(actionSet='textSummarization') conn.textSummarization.textSummarize(addEllipses=False, corpusSummaries=dict(name='corpusSummaries', compress=False, replace=True), documentSummaries=dict(name='documentSummaries', compress=False, replace=True), id='Id', numberOfSentences=5, table={'name':CFG.in_cas_table_name}, text='text', useTerms=True, language='JAPANESE') conn.table.fetch(table={'name': 'corpusSummaries'}) numberOfSentencesで要約文のセンテンス数を指定しています。結果は以下の通りです。 'まず体調の変化や天気、気温・湿度・気圧などの日記をつけ、本当に天気が影響しているのか、どういうときに不調になるのかパターンを把握すると役立ちます。 気温・湿度以外にも、気圧が、体調の悪化や、ときに病気の引き金になることもあります。 私たちの体は、いつも耳の奥にある内耳にあると言われている気圧センサーで、気圧の変化を調整しています。 ただ、天気の体への影響を研究している愛知医科大学佐藤客員教授にお話ししを伺ったところ、「台風最接近の前、つまり、気圧が大きく低下する前に、頭が痛いなど体調が悪くなる人は多い」ということです。 内耳が敏感な人は、わずかな気圧の変化で過剰に反応し、脳にその情報を伝えるので、脳がストレスを感じ、体のバランスを整える自律神経が乱れ、血管が収縮したり、筋肉が緊張するなどして、その結果、頭痛・めまいなどの体に様々な不調につながっているのです。' 重要なセンテンスが抽出されていることが分かります。 テキスト分類タスク 文章をいくつかのカテゴリに分類するタスクです。その内、文章の印象がポジティブなのかネガティブなのか分類するものをセンチメント分析と呼びます。ここでは日本語の有価証券報告書の文章をポジティブかネガティブか判定してみます。使用するデータセットは以下になります。 https://github.com/chakki-works/chABSA-dataset (なお、こちらのデータセットには文章ごとにポジティブかネガティブかを示す教師ラベルは元々付与されておりませんが、文章内の特定のフレーズごとに付与されているスコアを合算することで教師ラベルを合成しております。その結果、ポジティブ文章は1670文章、ネガティブ文章は1143文章、合計2813文章になりました。教師ラベルの合成方法詳細はこちらのブログをご覧ください。) pandasデータフレームにデータを格納した状態を確認してみましょう。 df = pd.read_csv(CFG.local_input_file_path) display(df)
こんにちは!SAS Institute Japanの堀内です。今回も自然言語処理について紹介いたします。 第1回目の投稿では、最近の自然言語処理の応用例とSAS社が携わった自然言語処理関連の実案件の概要を紹介しました。 第2回目の本投稿では実際にSASを使って日本語の文章を扱う自然言語処理の例を解説していきます。 テキストデータって何? 自然言語処理を語る前に、自然言語処理が処理対象とするデータのことを知る必要があります。自然言語処理で扱われるデータはテキストデータと呼ばれています。ここからはテキストデータがどういうものか探っていきます。 テキストとは以下のようなものです。 「自然言語処理で扱われるデータはテキストデータと呼ばれています。本投稿ではテキストデータがどういうものか探っていきます。」 何の変哲もない日本語の文章です。日本語以外の言語で書かれた文章ももちろんテキストと呼ばれます。 ではテキストデータとは何でしょう?データと言うからには何らかの構造を持っていると考えます。例えば行と列が与えられたテーブルデータがわかりやすい例です。 テキストデータと呼ぶとき、テキストに何らかの構造を与えられたものを想起すると良いかと思います。上で挙げたサンプルのテキストをテキストデータに変換してみましょう。 ["自然言語処理で扱われるデータはテキストデータと呼ばれています。", "本投稿ではテキストデータがどういうものか探っていきます。"] これは句読点でテキストを区切り、リストに格納した例です。やりかたは他にもあります、 [["自然言語処理", "で", "扱われる", "データ", "は", "テキストデータ", "と", "呼ばれて", "います", "。"], ["本投稿", "では", "テキストデータ", "が", "どういうもの", "か", "探って", "いきます", "。"]] これは先ほどの例で2つのテキストに区切ったうえで、それぞれのテキストを更に単語ごとに区切って別々のリストに格納した例になります。これをテーブルデータのように整えると、 ID COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL8 COL9 COL10 1 自然言語処理 で 扱われる
こんにちは、SAS Japan の西井です。本ブログにアクセス頂きありがとうございます。私は 2019 年に SAS に入社しましたが、それまでは国内の自動車部品メーカーにて様々な化学素材や工業部材の基礎研究・量産化開発に 10 年以上携わって来ました。SAS 入社後は、国内の製造業のお客様へ業務課題解決のためのデータ分析のソリューション(ソフトウェアやサービス)を提供する仕事に従事しています。今回はそれらの経験を通じて感じた事をタイトルのブログ記事として記しました。製造業での DX 推進の一つのヒントになれば幸いです。 背景 近年、製造業におけるデジタルトランスフォーメーション (DX) が大きな注目を集めています。DX とは一般的に、データやデジタル技術を活用して、業務プロセスを変革し競争優位を確保していくことと定義されています (参照 1) 。 製造業で DX が求められる背景には、ビジネス環境の変化による製品競争力低下への強い危機感があると考えています。日本の製造業はこれまで、各社のコア技術を元にした高度な品質を有する製品群によって、長期にわたり競争力を維持して来ました。しかし2000年代以降、新興国の参入やサプライチェーンのグローバル化など様々なビジネス環境の変化により、その優勢性に陰りが見えるようになりました (参照 2) 。競争優位の再構築に向けて、単独の製品性能による価値だけでなく、バリューチェーンを横断する形での付加価値創出、例えばロジスティックの最適化や顧客サービスの高度化など、いわゆるビジネスモデルの変革へ向けた施策が多くの企業で試みられるようになりました。その際、重要な要素の一つがデジタル技術の活用であり、DX の概念と重なったため、最近より強く注目されるようになって来たと認識しています。 本ブログのスコープ 弊社 SAS Japan は国内の製造業のお客様へ分析ソフトやサービスの提供を行い、業務課題の解決や高度化への変革、DX 推進のサポートを進めております。その中でしばしばお客様から、このような DX の総論を聞いても、実感がわかない、自分の業務とどう関連するのかわからないというご意見をしばしば頂くことがあります。特に競争優位の中核である品質管理に関わっている技術者の方々にとっては、製造データを用いた生産・品質管理活動はかねてから実施しており、今後どのような変化が必要で具体的に何に着手して良いか理解しかねていると感じています。今回、そのような現場技術者の方や企業の DX 推進担当者の方々を対象に、一つの切り口の例として、これまで品質管理手法として長らく活用され今も活躍している SQC (Statical Quality Control: 統計的品質管理) にフォーカスを当て、どのように DX へ組み込み発展させることが可能か、提言したいと思います。 SQC とは SQC は、QC七つ道具などの可視化手法 (管理図など、参照