SAS Japan

活用事例からデータ分析のテクニックまで、SAS Japanが解き明かすアナリティクスの全て
Analytics
自然言語処理とSAS (3)

こんにちは!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)

Analytics
自然言語処理とSAS (2)

こんにちは!SAS Institute Japanの堀内です。今回も自然言語処理について紹介いたします。 第1回目の投稿では、最近の自然言語処理の応用例とSAS社が携わった自然言語処理関連の実案件の概要を紹介しました。 第2回目の本投稿では実際にSASを使って日本語の文章を扱う自然言語処理の例を解説していきます。 テキストデータって何? 自然言語処理を語る前に、自然言語処理が処理対象とするデータのことを知る必要があります。自然言語処理で扱われるデータはテキストデータと呼ばれています。ここからはテキストデータがどういうものか探っていきます。 テキストとは以下のようなものです。 「自然言語処理で扱われるデータはテキストデータと呼ばれています。本投稿ではテキストデータがどういうものか探っていきます。」 何の変哲もない日本語の文章です。日本語以外の言語で書かれた文章ももちろんテキストと呼ばれます。 ではテキストデータとは何でしょう?データと言うからには何らかの構造を持っていると考えます。例えば行と列が与えられたテーブルデータがわかりやすい例です。 テキストデータと呼ぶとき、テキストに何らかの構造を与えられたものを想起すると良いかと思います。上で挙げたサンプルのテキストをテキストデータに変換してみましょう。 ["自然言語処理で扱われるデータはテキストデータと呼ばれています。",  "本投稿ではテキストデータがどういうものか探っていきます。"] これは句読点でテキストを区切り、リストに格納した例です。やりかたは他にもあります、 [["自然言語処理",  "で", "扱われる", "データ", "は", "テキストデータ", "と", "呼ばれて", "います", "。"],  ["本投稿", "では", "テキストデータ", "が", "どういうもの", "か", "探って", "いきます", "。"]] これは先ほどの例で2つのテキストに区切ったうえで、それぞれのテキストを更に単語ごとに区切って別々のリストに格納した例になります。これをテーブルデータのように整えると、 ID COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL8 COL9 COL10 1 自然言語処理 で 扱われる

Analytics
製造業における DX と SQC

こんにちは、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七つ道具などの可視化手法 (管理図など、参照

Analytics
自然言語処理とSAS (1)

こんにちは!SAS Institute Japanの堀内です。今回は自然言語処理について紹介いたします。 自然言語処理とは、人間が普段会話したりメールしたりする際に使う言語(日本語や英語など)を、一種の信号とみたてて、その信号を機械が理解し、機械によって意味のある出力を得られるように工夫して処理することを指します。”自然”と明記しているのは機械にとっての日常語であるプログラム言語や機械言語と区別するためです。近年のAIやディープラーニングの発展とともに、この自然言語処理の分野も驚異的な進歩が見られ、私たちの日常生活の様々な分野で実際に活用されるようになってきました。第1回目の本投稿では、その内のいくつかを紹介いたします。第2回目以降は、実際にSASを使った自然言語処理の例を解説していく予定です。最後まで読んでいただければ、自然言語処理のホットトピックの内のいくつかを実装レベルで把握することができるようになるかと思いますのでどうぞお付き合いください。 最近の自然言語処理の実務適用例 チャットボット フリーテキストを入力欄に書き込むと、それに応じてボット(プログラムされた自動応答マシン)が適切な返答をテキストで返してくれるものです。様々なウェブページやアプリケーションに内蔵されるようになってきました。 例えば、不動産検索アプリに内蔵されたチャットボットでは、希望の条件をフリーテキストで入力すると、条件に合う物件を瞬時にレコメンドしてくれます。これによりユーザーが不動産検索サイトで条件を指定したり、相談窓口に電話して担当者に希望を伝えたりする手間が省けるようになってきています。   文書検索 手元にある長文の文書(例えば小説や論文など)と類似する文書を探したいとき、皆さんはどうしていますか?検索キーワードをいくつかピックアップしてGoogleなどのサーチエンジンで検索する、というのが最もオーソドックスな方法かと思いますが、最近では文書をまるごとサーチエンジンに入力し、似ている文書を探してくる文書検索ができるようになってきました。似ている文書がどのくらい似ているのかという指標も併せて返してくれるので、大量の論文を検索しなければならないビジネスや研究分野においては、検索の手間が大幅に減り大変便利です。   自動採点 皆さんも学校の国語や英語の授業で、長文を読んで質問に対して答えを書くという長文読解問題を解いたことがあるかと思います。私はこの手の問題が大の苦手でした。なぜならまず長文を読まなければならないのと、答えも一定の長さの文章を書かなければならず、とても手間に感じていました。実はこれ、テストを受ける生徒が嫌がるだけでなく、採点をする先生も同じくらい嫌だったのではないかなと思います。生徒の書いた解答文を読み解き、模範解答とされる文章と意味的に合致しているかという判断を下さなければならないのは結構手間がかかるはずです。実は最近の自然言語処理の発展により、この採点の部分を自動化することができるようになってきています。生徒の書いた文章と模範解答文との意味的距離をモデルが計算し、意味が近ければ正解、遠ければ不正解とすることができます。 また、長文のどの部分が解答となる要素を含んでいるか、というところまで判断し、解答文を自動作成することもできるようになってきました。これはQAタスクと呼ばれる自然言語処理の代表的なタスクの直接的な応用例になります。   オートフィル機能・スペルチェック機能(ライティング支援機能) 文書をタイピングする際、先読みして候補の単語をレコメンドしてくれたり、タイプした文のスペルチェックをしてくれたりする機能を皆さんも使ったことがあるかと思いますが、最近のものは複数行のセンテンスをレコメンドしてくれるようになってきました。またプログラミングの支援機能として書きたい内容をフリーテキストで書くと、該当のコードを提案してくれる機能がGitHubに実装されるなど、世の中はますます便利になりつつあります。(今私はブログを書いているわけですが、書きたいことの概要だけを書くと実際のブログ記事が提案されるようになったらどんなに仕事が捗るかと思います。) このように、これまで人間が苦労をして行っていた言語処理を機械ができるようになってきました。上にあげた例は実務適用例のごく一部です。様々な分野で自然言語処理が適用されようとしています。では、実際にSASではどのような事例が扱われているのでしょうか?   SASによる事例紹介 ここではSASがこれまで手掛けてきた自然言語処理のプロジェクトの一部を紹介します。 MR活動最適化 フランスの製薬企業において、SNSデータを解析することでKOL (Key Opinion Leader: 製薬企業の販売促進に影響力を持つ医師などの専門家) のセグメンテーションを行い、MR活動の最適化を行いました。SNSデータの解析にVTA¹が用いられました。 紹介記事: https://www.linkedin.com/pulse/how-does-hcp-behavioral-segmentation-help-build-full-olivier-bouchard/   院内有害事象発生防止の取り組み ノルウェー北部の中規模病院にて院内有害事象発生の未然防止のため標準的なツールGTT(トリガーツール)を半自動化する改良を加えることで、同等の精度を保ちながら院内有害事象の発見に要する時間を94%削減させました。電子カルテにはフリーテキストで記載された様々な様式の文書がありますが、そこから院内有害事象のトリガーとなる事象を抽出する部分にSASの自然言語処理の技術が使われました。 紹介記事: https://www.sas.com/da_dk/customers/helse-nord-patient-safety.html   有害事象発生予測 市販後の医薬品安全性監視において、FDA(アメリカ食品医薬品局)に寄せられた患者テキストの内、対象とする有害事象の発生を真に報告しているものをディープラーニングにより自動抽出する試みがなされました。テキスト解析とそれに続くディープラーニングによる予測モデルの構築にSASの技術が使われました。 紹介記事: https://communities.sas.com/t5/SAS-Global-Forum-Proceedings/Developing-a-SAS-Deep-Learning-MedDRA-encoder-MedDRA-DeepCoder/ta-p/735360   院内感染発生状況モニタリングシステム デンマーク南部地域一体の病院における、院内感染発生状況をモニタリングするシステムの開発が行われましたが、フリーテキストで記載された電子カルテの文書の中から、院内感染が疑われる箇所を抽出するアルゴリズムにSASの自然言語処理の技術が使われました。 紹介記事: https://www.sas.com/da_dk/customers/the-region-of-southern-denmark.html   消費者安全に関する報告のテキスト解析 消費者安全を担当するアメリカの政府機関に寄せられた消費者による様々な商品の安全性に関する報告文書を、VTAで解析し, VA²で可視化することで、単なる検索では得られないインサイトを得られることが分かりました。

1 7 8 9 10 11 55