機械学習サービスを登録・提供するサービス基盤の構築に向けて
Toward a Construction of Service Platform
for Machine Learning Technologies
中口 孝雄（京都情報大学院大学）
Takao Nakaguchi（The Kyoto College of Graduate Studies for Informatics）
Abstract
サービスコンピューティングによるプログラミングインタフェース定義の明確化・標準化と機能のコンポーネント化は，再利用性を向上させ，サービス合成による新しいサービスの創出を可能にした。一方
近年急速に発達している機械学習を応用した技術では，様々な実装がオープンソースソフトウェアやクラウドサービスを通じて公開されているものの，プログラミングインタフェースやデータフォーマットは実装毎に異なり，コンポーネント化やその組み合わせにより新しい複合サービスを作成することは難しい。本稿では，サービスコンピューティングを，機械学習を応用した技術に適用し，再利用性の向上やサービス合成の実現を行うために必要な手法について検討し，機械学習サービスのインタフェースとサービスプロトコル拡張を提案する。さらに，提案したインタフェースを用いて複合サービスが作成可能であることを実証する。
Services computing encourages clarification and standardization of programming interface, andcomponentize of functions to achieve reusability and create new services by composition of existing
services. Though many open-source implementations and cloud services of machine learningtechnologies, which has been rapidly developing in recent years, are provided, their programming
interfaces or data formats are difference even for same type of technologies, it is hard tocomponentize or creations of new services by services composition. In this paper, we examine themethods necessary to apply service computing to machine learning technologies to achieve
reusability and realize services composition of machine learning services. In addition, we propose
service interfaces for machine learning services, extensions for service invocation protocol anddemonstrate that we can create new services by combining services that have proposed service
interface.

■ 1. はじめに66呼ぶ。サービスはそれを利用するプログラムとは独立して動作しており，その呼び出しインタフェース

サービスコンピューティングは，コンピュータには機械読み取り可能な形式で定義され，公開される。

より提供される機能を部品化して利用するために必ネットワーク経由でインタフェース定義に基づいた要な技術の総称である [1]。情報システムを構成すリクエストを送信すると，処理が行われ，同じくイるためには様々な機能を開発する必要があるが，ンタフェース定義に基づいた形式で結果を受信できサービスコンピュ ー テ ィ ン グ は 呼 び 出 しイ ン タる。インタフェースの記述仕様としては，WSDL

フェース定義の明確化と，ネットワークを通じて利（Web Services Description Language）[4] が，ネッ用するためのプロトコルを定義することにより，複トワークプロトコルの仕様としては SOAP[5] が定数台のマシンに分散した機能を必要に応じて利用し義 さ れ て い る。WSDL は プ ロ グ ラ ミ ン グ イ ン タ

一つのシステムを構成することを可能にした。この

フェース定義言語の一種であり，XML（eXtensibleようなアーキテクチャは，サービス指向アーキテク

Markup Language）[6] を用いてサービス名やメチャ（Service Oriented Architecture, SOA）[2][3]

ソッド名，引数の情報を記述する。サービスが提供と呼ばれている。サービス指向アーキテクチャでは，されているネットワークアドレスであるエンドポイ

ネットワークを通じて利用可能な機能をサービスとントも WSDL により記述する。エンドポイントとNAIS Journal

しては，URL が使用されるのが一般的である。

討する。本稿は以下のように構成する。2 章で言語サービスは独立して稼働しており，定義され公開グリッドにおけるサービスコンピューティングの適されたインタフェースに基づきネットワーク経由で用について述べ，3 章で機械学習サービスのインタ利用できる。アプリケーションプログラムから利用

フェース定義，4 章でプロトコルについて提案する。

するだけでなく，複数のサービスを組み合わせて新5 章で実際に機械学習サービスとそれを組み合わせしいサービス（以下，複合サービス）を作成する，サーたサービスを作成することで，提案を検証し，6 章

ビス合成 [7] も行われる。サービス合成の記述仕様で結論を述べる。の 一 つ に，WS-BPEL（Web Services Business■ 2. 言語グリッドとサービスコンピューティング

Process Execution Language Version 2.0）[8] がある（以下 BPEL）。BPEL は XML を採用したプ
ログラム記述言語であり，リクエストの作成やサー言語グリッド [9] はサービスコンピューティング

ビスの呼び出し，受け取ったデータの加工，条件分の自然言語処理分野への応用である。インターネッ

岐やループ，平行実行など，一般的なプログラム記ト上では対訳辞書や対話コーパスなどのデータ，辞述言語が備える機能を持っている。また，BPEL で書や形態素解析，機械翻訳などのプログラム，およ記述された手順自体もサービスとして利用可能となびネットワーク経由でそれらを利用できるようにしる。複合サービス自体もサービスであり，それを含たクラウドサービスなど，研究用や商用含め様々なんだ複合サービスも作成可能である。そのため，階自然言語処理に関する資源が公開されているが，そ層的な複合サービスが構成される。このように，サーれらは独自のデータフォーマットやプログラミング

ビスコンピューティングでは，機能を独立したサーインタフェースを持っており，アプリケーションプビスとして分割し，それを組み合わせた新しいサーログラムから利用するには個別にプログラムを記述ビスを構築可能とする。

する必要がある。言語グリッドでは，自然言語処理

サービスコンピューティングの応用例としては，分野にサービスコンピューティングを導入するた

航空券の手配とホテルの予約のような商用サービス

め，辞書や形態素解析などの種別毎にサービスインの他にも，自然言語処理などの研究成果をサービスタフェースを定義し，それに基づいて言語資源を化し合成して利用するものも提供されている。言語サービス化した（以下，原子サービス）。言語グリッグリッド [9] はその例の一つであり，自然言語処理ドの構成を図 1 に示す。サービスは，標準インタ分野での研究成果や非営利組織が提供する言語コーフェースと言語資源のインタフェースの変換を行パス，商用の言語処理機能などがサービスとして提い，また提供形態（データのみ，ネイティブのプロ供され，それらを組み合わせた複合サービスも作成

グラム，クラウドサービス）の違いを隠蔽する。サーできる。

ビスは言語グリッドのコアノードに登録され，コア近年，機械学習技術やとりわけ深層学習を用いたノードを通じて呼び出される。これにより，サービ技術が発展し，オープンソースソフトウェアや学習スを利用するアプリケーション（多言語アプリケーデータ，クラウドサービスが提供されている。これション）は，言語資源のインストール方法や起動方らの技術の発展は非常に速く，絶えず新しいアプ法，提供形態やインタフェースの違いを意識せず，ローチが提案され，ソフトウェアやデータも更新さ言語サービスを利用できる。また，コアノードでは，れる。一方で従来のサービスコンピューティングで言語サービスが呼び出される際に，言語サービス提用いられたような，インタフェースの定義や標準化供者が設定した情報を基に，サービスの呼び出しがは十分ではなく，ソフトウェア毎に独自のインタ許可されているか，回数制限を超過していないかをフェースを持っているため，それを利用するアプリ検証する。これにより，言語サービスの提供者は，ケーションはソフトウェア毎に呼び出し処理を記述自身が提供する言語サービスのアクセス制御を行えする必要があり，同種のサービスであっても容易にる。

切り替えて利用することが難しい。本稿では，機械学習を応用した機能においてもサービスコンピュー
ティングのアプローチを提供し，再利用性を向上させサービス合成を可能にするための手法について検NAIS Journal67

なパラメータおよび戻り値を備えるという観点からインタフェースが定義されている。例えば形態素解
析では，入力に言語とテキストを受け取り，テキストを形態素に分割した結果を返す。形態素は，単語(word)，原型 (lemma)，品詞 (partOfSpeech) から構成される。品詞は言語により異なるが，名詞や動詞など，多くの言語に見られる共通の品詞が定義されている。例えば同じ日本語向けの形態素解析でも品詞の定義は異なるが，標準インタフェースを定義しサービスの実装がアダプタの役割を担うことで，
図1
表1

言語グリッドの構成

言語グリッドのサービスインタフェース例その差異を吸収している。
複合サービスはサービスを組み合わせたサービスであり，原子サービス同様言語グリッドに登録され，言語グリッドを通じて利用される。複合サービスか

種別

インタフェース

らサービスが呼び出される際も，一旦言語グリッド

形態素解析
サービス

Morpheme[] analyze(String language,String text)にリクエストが送信され，アクセス制御が行われた

Morpheme {String word, String lemma,String partOfSpeech}

サービスインタフェース定義に基づきサービスを利Tr a n s l a t i o n [ ] s e a r c h ( S t r i n gsourceLang, String targetLang, String
headWord, String matchingMethod)

スが呼び出すサービスを指定する機構 [10] を導入

辞書検索
サービス

Translation {String headWord, String[]
targetWords}
機械翻訳
サービス

String translate (String sourceLang,String targetLang, String source)

上で該当のサービスに転送される。複合サービスも用している。言語グリッドでは実行時に複合サービしており，サービス構成の動的な変更が可能である。
図 2 に複合サービスの構成例を示す。この構成では，日本語形態素解析である JUMAN++[11] と，大学生協辞書および LSD[12](Life Science Dictionary)を組み合わせた辞書横断検索サービス，および機械翻訳である GoogleTrans を組み合わせている。利
用する辞書や言語により構成は変更されるが，アプリケーションや複合サービスを修正する必要はない。
すなわち言語グリッドでは，自然言語処理分野の技術に対して，以下の機能を提供している。
●サービス情報の検索・登録・削除・変更機能

図268

複合サービスの構成例●サービスの実行およびアクセス制御機能●複合サービスの実行および動的構成変更機能

サービスはその種別毎に，プログラミングインタこれらの機能およびサービス自体の機能を利用しフェースが定義されている。インタフェースは戻りて，多言語アプリケーションが構築される。例とし値の型，メソッド名，引数で構成される。表 1 に，て，日本の農業専門家とベトナムの農家を繋ぐ多言その一部を示す。自然言語処理分野では利用の容易

語農業支援 [13] や，国際会議における講演の多言さやデータ作成や実装の都合上様々な形式のデータ語化 [14] が挙げられる。これらのシステムでは，やプログラミングインタフェースが利用されてお言 語 グ リ ッ ド で 定 め ら れ た 言 語 サ ー ビスインタ

り，一つに統一することは難しい。そのため言語グフェースに基づいてアプリケーションプログラムがリッドでは，同じ種類の言語資源に多くみられる特構築され，利用者の言語やサービスの提供状況，品徴と，ネットワーク経由で利用するために必要十分質などに応じて構成が変更されながら複合サービス

NAIS Journal

が利用された。のテキストに対応するかは実際に認識処理を行わな機械学習，特に近年大きく発達した深層学習を用いと明らかにならない。つまり，複数のリクエストいた技術は，オープンソースライブラリの提供や企が一つのレスポンスになることが起こり得る。その業が用意するクラウドを通じた提供も盛んであり，ためメソッド呼び出しのたびに結果が返されるイン様 々 な 機 能 が 利 用 で き る。 し か し サ ー ビ ス コ ン

タフェースではなく，結果がサービスから送られてピューティングの導入は進んでおらず，またインタきたことを通知できるインタフェースである必要がフェース定義の標準化も行われておらず，各機能がある。

実際に利用できるようになるまでの手順もクラウド

さらに，多くの深層学習技術では，利用者の用意毎やオープンソースライブラリ毎に異なるため，言したデータを用いてモデルを一から学習し作成する語グリッドのように手軽に利用し柔軟に組み合わせことや，既存のモデルをチューニングして特定のタることはできない。以降の章では，言語グリッドでスクに特化したモデルを作成できる。つまり，サー提案された手法を機械学習や深層学習を用いた機能ビスが利用される文脈として，学習によるモデルのに対して適用するにあたり，適用の容易性や，新た作成と，作成されたモデルの利用という 2 種類がに必要となる仕組みの要件について考察する。

存在する。学習には通常時間がかかるため，一回の■ 3. 機械学習サービスとインタフェース定義

リクエスト / レスポンスでは完結しない。そのため進行している処理の状態確認やキャンセルなどの操作が提供される必要がある。さらに，学習後のモデ言語グリッドでは，コーパスなどの言語データやルは新たな推論に使用されるため，これもサービス言語処理プログラム毎にサービスインタフェースがとして扱える必要がある。すなわち，サービス呼び定義され，そのインタフェースに基づいてサービス出しの結果新たなサービスが生成されることがインが作成された。サービスコンピューティングを機械タフェース定義上明示される必要がある。サービス

学習に適用するにあたっても，まずサービスインタを作成するサービスでは，以下のことが行える必要フェースを検討する。サービスインタフェースはがある。

サービスとそれを利用するアプリケーションプログラムの接続点であり，抽象度が重要になる。サービ●サービスの作成

スの実装の細部に着目した抽象度の低い定義だと，●サービスの作成が完了したかどうかの照会

固有の実装に依存しやすく，複数の実装を同じインタフェースで提供することが難しくなる。例えば画作成するサービスの種類によって必要な情報は異像識別において vgg19 などの深層学習が利用するなるため，サービスの作成そのもののインタフェーモデルの種類をパラメータとして採用すると，モデスは標準化できない。また，サービスの識別子はそルを用いた認識手法を実装することが前提となり，れを管理する基盤により管理されるため，言語グ

また予めどういう文字列がどういうモデルを表すか

リッドのようなアーキテクチャの場合，サービス作という知識がサービスとアプリケーションの間で共成サービスが作成したサービスに発行する ID を，有される必要が生じるため，柔軟なサービスの提供コアノードが管理する ID に変換する必要がある。

を阻害する。一方実装上の違いを過度に抽象化すると，メソッド名やパラメータだけではサービスの振る舞いが定まらず，同種の実装を用いて振る舞いの異 な る 複 数 の サ ー ビ ス を 提 供 す る な ど， イ ン タ
フェース定義以外の手段でサービスの振る舞いを区別する必要が生じる。
また，サービスの種別によっては，従来の Webサービスにおいて一般的であるリクエスト－レスポンスの対応が取れない場合がある。例えば音声認識
は人の音声を文字列に変換する技術であるが，逐次的な変換を行う場合，どの程度の長さの音声が一文NAIS Journal

69表2

機械学習サービスのインタフェース例

種別
画像識別(ImageClassification)

物体検出(ObjectDetection)

音声認識(SpeechRecognition)

音声認識結果受け取り(SpeechRecognition
ResultReceiver)
表3

インタフェース定義[20] の入出力を元にこのインタフェースを設計しClassificationResult[] classify(byte[]
image, String format. int maxResults)ているものが何であるかを推定する技術である。画像を入力とし，テキストを出力とする。物体検出はDetectionResult[] detect (byte[] image,String format, int maxResults)

あり，画像を入力として検出結果を出力とする。まBoundingBox {int x, int y, int width,int height}
Detection {BoundingBox area, Stringlabel}

画像内の複数の物体の位置と名前を検出する技術でた，画像のデータ形式は，画像のバイナリデータ(byte[]) とフォーマット (String) で構成されている。
どちらのサービスもインタフェース上は内部実装に依存した情報は存在せず，ただし画像識別特有の，DetectionResult {Detection detection,double accuracy}

画像とラベルが対応付けられている状態は反映されString startRecognition (StringaudioFormat, RecognitionReceiverreceiver)

結果受け取りサービスの 2 つから構成されている。

String processRecognition (StringrecognitionId, byte[] audio)ている。音声認識は，音声認識サービスと音声認識
前述の通り音声認識は，入力が連続的に発生し，また出力は入力と 1 対 1 では無い。そのためインタ
フ ェ ー ス に は コ ー ル バ ッ ク を 採 用 し，void finishRecognition (StringrecognitionId)

startRecognition メソッドに音声認識結果受け取り

void onRecognitionResult(RecognitionResult[] results)

サービスは利用側で実装する想定である。

RecognitionResult {int id, Stringtranscript, boolean fixed, doubleaccuracy}

サービスを渡す形を採用している。この受け取り
表 3 では，サービスを作成するサービスのインタフェース例を示している。画像識別サービスの作成では，画像とそのフォーマット，および画像に対応 す る ラ ベ ル を 指 定 し， 学 習 を 開 始 す る

インタフェース定義

画像識別作成 String createImageClassification (byte[][] images, String[] formats, String[](ImageClassification labels)
Creation)
String createImageClassification (StringresourceUrl)boolean isAvailable (String serviceId)
void remove (String serviceId)
物体検出作成(ObjectDetectionCreation)

た。画像識別は 1 枚の画像に対して，そこに写っClassificationResult {String label,double accuracy}

サービス作成サービスのインタフェース例

種別

M2Det[17]，音声認識技術である ESPnet[18][19]String createObjectDetection( byte[][]images, String[] formats, Detection[]
detections)createImageClassification メソッドを定義している。画像とラベルが対応づけられたデータを学習する方法は，画像認識技術において一般的なものである。ただし精度を向上させるためには大量のデータが必要となる場合が多いため，データの位置を，URL を用いて表すメソッドも定義している。近年
ストレージサービスが普及しており，それらストレージサービスが格納するデータを指し示す URLを指定するか，または従来の HTTP を用いて画像ファイルとラベル情報が圧縮されたファイルを指定する方法を想定している。また，前述の通り学習にString createObjectDetection (StringresourceUrl)

は長時間を要するため，学習が完了してサービスがboolean isAvailable (String serviceId)

ソッド，およびサービスが不要になった際に削除すvoid remove (String serviceId)

利用可能になったかを調べるための isAvailable メ
るための remove メソッドを定義している。物体検
出作成についても画像識別同様に，作成，利用可否70以上を踏まえて設計した機械学習サービスの例を取得，削除の 3 種類に対応したメソッドを定義し表 2 に示す。表 2 には，機械学習の一種である，ているが，一つ目の createObjectDetection の第 3

画像識別と物体検出，音声認識を利用するためのイ引数では，表 2 の物体検出で定義されているデーンタフェースが示されている。画像認識に利用されタ構造である Detection が使用されている。正解て い る keras[16] や 物 体 検 出 を 行 う 技 術 で あ る

データを学習させてモデルを作成する機械学習でNAIS Journalは，このように，サービス作成と作成されたサービ

サービス実行では，通常のプロセスとは別に，コースの利用で同じデータ構造が用いられる。

ルバックによるサービスからの情報通知を実装する。
コールバックが行われる際のシーケンスを図 3 に示

■ 4. 機械学習サービスのプロトコル

す。startRecognition および processRecognition，onRecognitionResult は，同一プログラム内でのメ

前述の通り，サービスの呼び出しには SOAP がソッド実行を示す。invocation および callback は，用いられる。SOAP はリクエスト－レスポンス形通信経路上に流れるデータパケットを表している。

式のプロトコルであり，一つのリクエストで一つのスタブとハンドラはそれぞれネットワーク接続を行っレスポンスが返されることを想定している。他にもている相手に対してメソッド呼び出しをデータ列にREST[21] や JSON-RPC[22] などのプロトコルも変換して送信する役割，受信したデータ列をメソッ存在する。REST はデータフォーマットに XML をド呼び出しに変換して実際にメソッド呼び出しを実用いるプロトコルであり，JSON-RPC では同様に行する役割を担う。従来のサービスの呼び出しでは，JSON(JavaScript Object Notation)[23] を用いる。

アプリケーションがサービスを呼び出し，サービスはどちらもリクエスト－レスポンス形式を想定していアプリケーションを呼び出さないため，アプリケーる。しかし，音声認識に代表されるように，機械学ションがスタブを持ち，サービスがハンドラを持って習ではリクエストとレスポンスの数が異なるものがいた。本稿で提案する方式では，コールバック，つ存在する。そのため SOAP などの従来のプロトコ

まりサービスからアプリケーションへの呼び出しがルをそのまま使用することはできない。リクエスト行われるため，双方がスタブとハンドラを備える構数とレスポンス数が非対称であることを許容するプ成とした。この構成により，音声認識のような，リクロトコルを用いて，その上にサービス呼び出しを実エストとレスポンスの数が非対称な場合に，コール現する必要がある。本稿では，従来用いられていたバックを利用することで結果を返すことができる。

SOAP や JSON-RPC の代わりに，WebSocket[24]■ 5. 機械学習サービスの合成を用い，その上に遠隔メソッド呼び出しを実現する仕組みを構築する。SOAP や JSON-RPC は，メソッド呼び出しをデータ列に表現し，それをサービスに2 章で述べたように，言語グリッドでは複数の送信し，サービス側ではそのデータ列からメソッドやサービスを組み合わせた複合サービスを作成し，利パラメータを復元しその情報を元にメソッド呼び出用している。また，利用する言語やサービスの特性しを行う。また，そのメソッドが戻り値を持つ場合は，に応じ，実行時に実際に呼び出されるサービスを切戻り値をデータ列に変換して呼び出し元に返送し，り替えることができる。複数の翻訳サービスを合成

呼び出し側ではデータ列から戻り値を復元して，最し障害発生時に代替のサービスを呼び出すフェイル

初に遠隔呼び出しが行われた際の戻り値として呼びオーバー翻訳サービスや，複数の翻訳サービスでの出し元に返す。本稿で提案する WebSocket を用いた翻訳結果の品質を比較しより正確な結果を返すサー

図3

コールバックを導入したシーケンス

NAIS Journal

71

スとして利用可能にしておくことで，対象のデータの収集・学習が完了するより前に，似たデータで学習された既存のサービスを用いてプロトタイピングを行いシステムの開発期間を短縮するといった利用方法にもつながると考える。

■ 6. おわりに
本稿ではサービスコンピューティングと複合サービス技術を近年発展している機械学習に適用するた
図4

複合サービスの例

めの課題を検討し，サービスインタフェース定義やプロトコルの拡張を行った。サービスインタフェー

ビスなど，機能的，非機能的双方の観点から様々な

ス定義では，機械学習サービスの特徴を適切に反映複合サービスが作成され，利用されている。機械学するため，リクエストとレスポンスが 1 対 1 では

習に関しても同様に，物体検出を，物体を含む領域無い場合に対応するコールバックサービス，およびを特定するサービスと領域内の画像識別を行うサー

サ ー ビ ス を 生 成 す る サ ー ビ ス を 導 入 し たインタ

ビスを組み合わせた複合サービスとして提供し，画フェース定義を行った。さらにその実現のため，サー像識別部分を実行時に指定するものや，複数の画像ビス呼び出しに使用されるプロトコルの拡張を行っ識別から accuracy の高い結果を選択して返す複合た。最後に提案・導入したインタフェースを用いて，サービスなどが作成可能である。このような複合

実際に機械学習サービスを用いた複合サービスが作サービスの例を図 4 に示す。図内の画像付加翻訳は，成できることを示した。

機械翻訳と同時に，元言語に含まれるキーワードに関連付けられる画像を検索し，翻訳結果とともに返すサービスである。例えば京都の山鉾巡行など，単純に翻訳しただけでは文化の違いから内容の理解が困難な場合でも，理解を促進するサービスとして利用できる。
さらに，3 章で提案したサービスを生成するサービスやコールバックを用いたサービスを利用することで，画像識別と機械翻訳と画像識別作成を組み合わせ，画像とそのラベルの翻訳結果を学習させた新たな画像識別サービスを作成したり，音声認識のコールバック結果を機械翻訳で翻訳する複合サービ
スを作成することが可能になる。現在様々な分野において機械学習が適用され，利用されているが，大量の訓練データを必要とする深層学習を用いるアプローチが主流であり，データが手に入らない言語では十分精度をあげることが難しい。また，新たに機械学習を導入する場合検証にも時間がかかり，初期費用が高くなり易い。機械学習のインタフェースを定義し，容易に組み合わせて複合サービスを作成できるプラットフォームを提供することで，資源が手に入りにくく音声翻訳が提供されていない言語でも，代わりに音声認識と翻訳を組み合わせたサービスを作成することができる。また機械学習をサービ

72

NAIS Journal

本研究は JSPS 科研費 JP19K20243 の助成を受けたものである。
参考文献[1] 青山 幹雄，“ サービスコンピューティングへの誘い ,” 電子情報通信学，情報・システムソサイエティ誌，Vol.20.1,pp.8-9, 2015[2] Thomas Erl,“Service-oriented architecture: concepts,technology, and design,” Pearson Education India,
2005.
[3] M.Papazoglou, and W.Heuvel, “Service orientedarchitectures: approaches, technologies and researchissues,” The VLDB Journal 16.3, pp.389-415, 2007.
[4] Robert Chinnici, et al., “Web Services Description
Language Versio 2.0,” W3C, 2007, https://www.
w3.org/TR/wsdl/ (2020/12/6 取得)[5] Martin Gudgin, et al., “SOAP Version 1.2,”W3C, 2007,https://www.w3.org/TR/soap12-part1/ (2020/12/6 取得)[6] Tim Bray, et al., “Extensible Markup Language (XML)1.0,” W3C, 2008, https://www.w3.org/TR/xml/(2020/12/6 取得)[7] Schahram Dustdar, and Wolfgang Schreiner. “A
survey on web services composition,” International
journal of web and grid services 1.1, pp.1-30, 2005.
[8] Jordan Diane, et al., “Web services business process
execution language version 2.0,” OASIS Standard,
2007, http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html (2020/12/6 取得)[9] Toru Ishida, Ed., “The Language Grid: Service-Oriented Collective Intelligence for Language
Resource Interoperability,” Springer, 2011.
[10] 中口 孝雄 , et al., “ 高階関数を導入した階層的サービス
合成記述 ,” 電子情報通信学会論文誌 B 99.10, pp.834842, 2016.
[11] Hajime Morita, et al., “Morphological Analysis forUnsegmented Languages using Recurrent Neural
Network Language Model,” Proceedings of EMNLP
2015, Conference on Empirical Methods in NaturalLanguage Processing, pp.2292-2297, Sep. 2015.
[12] Shuji Kaneko, et al., “Life Science Dictionary: A
Versatile Electronic Database of Medical andBiological Terms,” Dictionaries and Language
Learning: How can Dictionaries Help Human &Machine Learning. The 3rd Asialex Biennial
International Conference (Murata M, Yamada S, Tono
Y, eds.), 2003.
[13] 林 冬惠 , et al.,“言語グリッドを用いた多言語農業支援，” 電 子 情 報 通 信 学 会 論 文 誌 B 100.9, pp.714-721,2017.
[14] 中口 孝雄 , et al.,“国際シンポジウムのための多言語支援システム，”情報処理学会論文誌 58.1, pp.197-204,2017.
[15] Yann LeCun, et al., “Deep learning,” nature 521.7553,
pp.436-444, 2015.
[16] François Chollet, “Keras,” https://github.com/kerasteam/keras (2020/12/6 取得).
[17] Zhao Qijie, et al, “M2det: A single-shot object detector
based on multi-level feature pyramid network,”
Proceedings of the AAAI Conference on ArtificialIntelligence, Vol. 33, 2019.
[18] Shinji Watanabe, et al., “ESPnet: End-to-End Speech
Processing Toolkit,” Proc. Interspeech'18, pp.22072211, 2018[19] Suyoun Kim, et al., “Joint CTC-attention based end-to-end speech recognition using multi-task learning,”
Proc. ICASSP'17, pp. 4835-4839, 2017.
[20] Shinji Watanabe, et al., “Hybrid CTC/Attention
Architecture for End-to-End Speech Recognition,”
IEEE Journal of Selected Topics in Signal Processing,vol. 11, no. 8, pp.1240–1253, Dec. 2017.
[21] Roy T. Fielding and Richard N. Taylor, “Principleddesign of the modern web architecture,” ACM Trans.
Internet Technol., 2(2), pp.115–150, May 2002.
[22] J S O N - R P C Wo r k i n g G r o u p , “ J S O N - R P C 2 . 0
Specification,” 2010, https://jsonrpc.org/specification(2020/12/6 取得)[23] Tim Bray, “The JavaScript Object Notation (JSON)
Data Interchange Format,” STD 90, RFC 8259, DOI
10.17487/RFC8259, December 2017.
[24] Ian Fette and Alexey Melnikov, “The WebSocketProtocol”, RFC 6455, DOI 10.17487/RFC6455,
December 2011.

◆著者紹介

中口孝雄

Takao Nakaguchi

京都情報大学院大学 准教授
株式会社コネクションズ 代表取締役
京都大学 大学院情報学研究科修了 博士（情報学）
京都情報大学院大学修了 情報技術修士（専門職）
京都コンピュータ学院卒業 専門士
専門分野：サービスコンピューティングウェブサービス
最近の関心事：共同作業のための通信機能のサービス化

NAIS Journal73