コンテンツ
言語グリッドの技術紹介(連載):第2回 サービスの開発も簡単に
言語サービス・言語資源:新しく辞書が追加されました
国際会議を多言語化する試み
「言語グリッド」で繋がる世界の子供たち(第2回KISSY実施報告)
国際会議SCC 2015でBest Paper Award受賞
言語グリッド ユーザ紹介:言語グリッドウルムチオペレーションセンター
定期メンテナンス:2015年10月13日,11月10日,12月8日
言語グリッドの技術紹介(連載):第2回 サービスの開発も簡単に
前回簡単なスクリプトでサービスを呼び出す例を紹介しましたが、その中で、必要なライブラリが自動的にダウンロードされると説明しました。このライブラリは、実際には、Central Repositoryというサイトに置かれています。Central RepositoryはJavaのライブラリをホストしているサイトで、現在100万ものオープンソースライブラリが登録されています。言語グリッドが利用しているサービスグリッドサーバソフトウェアのライブラリの多くも、ここに置かれています。
前回はクライアントのコードを紹介しましたが、今回は整数を渡すと+2して返すだけの簡単なサービスを立ち上げるコードを紹介します。
-
-- helloService.groovy --
1 @Grab('org.eclipse.jetty:jetty-webapp:9.2.12.v20150709')
2 @Grab('net.servicegrid:jp.go.nict.langrid.servicecontainer:1.0.6')
3 import jp.go.nict.langrid.servicecontainer.handler.annotation.Service;
4 import jp.go.nict.langrid.servicecontainer.handler.jsonrpc.servlet.JsonRpcServlet;
5 import org.eclipse.jetty.server.Server;
6 import org.eclipse.jetty.webapp.WebAppContext;
7
8 public interface TestService{
9 int f(int n);
10 }
11 public class TestServiceImpl implements TestService{
12 public int f(int n){ return n + 2;}
13 }
14 @Service(name="TestService", impl=TestServiceImpl.class, intf=TestService.class)
15 public class Servlet extends JsonRpcServlet{}
16
17 WebAppContext webapp = new WebAppContext("./", "/app");
18 webapp.addServlet(Servlet.class, "/services/*");
19 Server server = new Server(8080);
20 server.setHandler(webapp);
21 server.start();
22 server.join();
----
WebアプリケーションサーバにはJettyを使っています。8〜10行目でインタフェースを定義し、11〜13行目でインタフェースを実装したサービスを記述しています。14,15行目は、実装したサービスをJSON-RPCで提供するための定義です。SOAPを使う場合は、JsonRpcServletではなく、jp.go.nict.langrid.servicecontainer.handler.axis.servlet.SGAxisServletを使って下さい。最後に17〜22行目で、Jettyを立ち上げています。前回同様、JavaとGroovyをセットアップし、下記コマンドを実行すると、サービスが立ち上がります。
-
${groovy_home}/bin/groovy helloService.groovy
このサービスをテストしてみましょう。コマンドラインから、下記を実行して下さい。
-
curl "http://127.0.0.1:8080/app/services/TestService" -s -d '{"method":"f","params":[3],"id":1}
“-d”に続いて指定されている文字列が、実際に送信されるリクエストです。ここでは、”f”という名前のメソッドに、パラメータ3を渡しています。実行後、コマンドラインに次のように表示されれば成功です。
-
{"error":null,"headers":[],"id":"1","result":5}
メソッドが実行され、結果として5が返されました。
前回のクライアント側のコードよりはだいぶ長くなっていますが、それでも、20行ほどのコードでサービスを起動できることには驚かれたのでは無いでしょうか?次回以降も、言語グリッドの技術よりのトピックを紹介していきます。
言語サービス・言語資源
◆新しい言語サービスタイプが追加されました。(言語サービス名 / 提供者 / 著作者 / 対応言語の順に記載しています。)
【Bilingual Dictionary(多言語辞書)】
- Machine-Generated Dictionary for Kazakh-Kyrgyzx/ 京都大学石田・松原研究室/ Mairidan Wushouer/ カザフ語・キルギス語
- Machine-Generated Dictionary for Uyghur-Kazakh/ 京都大学石田・松原研究室/ Mairidan Wushouer/ ウイグル語・カザフ語
- Machine-Generated Dictionary for Uyghur-Kyrgyz/ 京都大学石田・松原研究室/ Mairidan Wushouer/ ウイグル語・キルギス語
国際会議を多言語化する試み --ワイズメンズクラブ国際協会アジア地域大会を「言語グリッド」で支援--
第26回アジア地域大会において、言語グリッドを活用した多言語支援の取り組みが実施されました。ワイズメンズクラブ国際協会は1922年にPaul William Alexander氏によって米国オハイオ州で誕生した奉仕団体で、YMCA(キリスト教青年会)の活動の支援や関連する活動を行っています。第26回アジア地域大会では、アジア地域に属する6つのエリア(東日本、西日本、フィリピン、東南アジア、スリランカ、台湾)から総勢900名が参加しました。
ワイズメンズクラブ国際協会アジア地域と京都大学石田・松原研究室は、昨年12月から約8ヶ月間準備を行い、専用の辞書の作成、台本の事前翻訳と修正、Language Grid Toolboxの改良、専用の多言語会議支援システムの開発が行われました。実際の会議では、多言語会議支援システムを通じて、参加者に対して2種類の多言語支援を行いました。1つは事前翻訳した文章の表示で、もう一つは講演内容のリアルタイム翻訳表示です。リアルタイム翻訳表示では、2人の入力者が連携し、講演者の発話内容を翻訳サービスの入力として適した文章に要約して入力し、それをLanguage Grid Toolboxを使って翻訳して、翻訳結果をスクリーンに表示しました。
今回の会議支援を通じて、約1600行の文章が翻訳され、参加者に提示されました。
「言語グリッド」で繋がる世界の子供たち(第2回KISSY実施報告)
2015年7月31日~8月7日に、世界の子ども達が共同でITを活用した作品を創るイベント「Kyoto Intercultural Summer School for Youths (KISSY)」が、2014年に引き続き、京都大学百周年時計台記念館で開催されました。今回はNPO法人パンゲア、京都大学石田・松原研究室、Global Girls Rising(アメリカ合衆国のNGO)が共催となっています。
今年も、言語や文化の違いを乗り越えて交流することを目的として、世界五カ国(日本・韓国・ケニア・カンボジア・アメリカ)から9歳~14歳の児童28名が参加し、7泊8日の寄宿型ワークショップを行いました。昨年に引き続き、言語グリッドを利用した、多言語でディスカッションツール「KISSYシステム」を利用しています。より児童のディスカッションを促進するために、参加者のディスカッションへの参加度を視覚化したり、韓国語のキーボードシールを貼ったりと、様々な改良がなされています。
今年のテーマは「We Love ○○○○」で、自分達が好きなものについて、作品制作を通してアピールしました。児童は7人ずつ4つのグループに分かれ、8月1日~3日の三日間で作品を創り、8月4日には、各グループで製作した作品について児童自身がプレゼンテーションを行いました。
国際会議SCC 2015でBest Paper Award受賞
言語グリッドを利用したWebサービスの並列実行に関する研究が、サービスコンピューティングのトップカンファレンスである12th IEEE International Conference on Services Computing (SCC 2015) にてBest Paper Awardを受賞しました。
-
受賞論文: Policy-Aware Optimization of Parallel Execution of Composite Services
受 賞 者: Mai Xuan Trang, Yohei Murakami, Toru Ishida(京都大学)
※言語グリッド関連で、受賞されましたら言語グリッドニュースレター編集委員会までご連絡ください。 次号のニュースレターに掲載させていただきます。
言語グリッド ユーザ紹介(第34回):言語グリッドウルムチオペレーションセンター
The Xinjiang University (short as XJU) located in the city of Urumqi – the capital city of Xinjiang Uyghur Autonomous Region in the far west China – was established in 1924. Uyghur (refers to Uyghur language), the official language of autonomous region, is one of the major members of Turkish language family of Altaic Language system. It has been widely used by Uyghur people with more than 10 million speakers [1]. Any research result on Uyghur language processing has been beneficial for other similar local languages such as Kazak and Kirgiz due to significant similarity in linguistic characteristics. There is a potential room for achieving automatic way of pairwise mapping language resources of these local languages as well as other Turkic languages which have up to 200 million speakers [2] in Central Asia including Turkey. Such bilingual resources would be very useful for creating machine translation systems for the extra-family language pairs, for which there are no sufficient language resources and funding available.
It is prompted us to establish a new operational center of Language Grid in Xinjiang University because the main purpose of Language grid project is fit our research intention. After consulting with Kyoto University, we have established the new operation node and is working now. As to now, we have wrapped certain amount of language resources as the initial language services at our node:
- 200,000 Uyghur-Chinese parallel sentence.
- 50,000 Kazak-Chinese parallel sentence.
- 50,000 Kirgiz-Chinese parallel sentence.
- One million word-level monolingual corpus (Uyghur).
- Uyghur-Chinese Machine Translator.
- Uyghur-Chinese-English bidirectional dictionary.
- Uyghur Morphological Analyzer.
Federation among the Language grid Operation Centers encourages us to plan using language services provided by Kyoto and other operation centers to build new language resources where the Chinese can be bridge language.
Our geological advantage (bordering with many counties, such as Russia, Mongolia, Kazakhstan, Kirgizstan, Tajikistan, Afghanistan and Pakistan) as well as linguistic advantage (most people living neighboring in central Asia use Turkic languages, such as Turkish, Uzbek, Kazakh, Kyrgyz, Turkmen etc.) all together would bring us many potential collaborators in the near future.
定期メンテナンス: 2015年10月・11月・12月
下記の通り予定しております。この日時に言語グリッド利用の予定がある場合は、事前にoperation [at] langrid.orgまでご連絡ください。
- 10月13日(火)16:00-20:00(JST)
- 11月10日(火)16:00-20:00(JST)
- 12月8日(火)16:00-20:00(JST)
毎月第二火曜日16:00-20:00 (JST)にメンテナンスを実施致します。
言語グリッドのポータルサイトのWhat's newにも掲載いたしますので、こちらhttp://langrid.org/jp/をご覧ください。