公立はこだて未来大学 2015 年度 システム情報科学実習
グループ報告書
Future University Hakodate 2015 System Information Science PracticeGroup Report

プロジェクト名地方のための Twitter ローカライズ

Project Name
Twitter Localization

グループ名
検索班

Group Name
Search Group
プロジェクト番号/Project No.

19

プロジェクトリーダ/Project Leader
丸山大仁1013039

Hirohito Maruyama

グループリーダ/Group Leader
1013091

熊本祐

Tasuku Kumamoto

グループメンバ/Group Member
1013039

丸山大仁

1013091

熊本祐

Tasuku Kumamoto

1013108

遠藤直人

Naoto Endo1013210

稲垣惇也

Junya Inagaki

Hirohito Maruyama

指導教員
寺沢憲吾 竹之内高志

永野清仁

片桐恭弘

AdvisorKengo Terasawa Takashi Takenouchi Kiyohito Nagano Yasuhiro Katagiri

提出日2016 年 1 月 20 日

Date of Submission
January 20, 2016

概要
近年ソーシャルネットワーキングサービス (SNS) の利用者数は増加している. そのなかでもTwitter は 2014 年 12 月で, LINE や Facebook についで三番目に利用者数が多く, リアルタ
イム性が高い SNS の 1 つである. また, Twitter はモバイルベースで利用するユーザーの割
合が全体の 80% を占め, 各地を移動しながらいつでも Twitter を利用することが可能である.
このため, ユーザーは気軽にツイート投稿をしたり, 情報を得るためにツイート検索などを行うことができる. しかし, Twitter 内で完結しない情報を検索する場合, 他の情報検索システムを利用する必要があり, 複数の手順が必要となってしまう. 例えば, 旅行に出かけた際など, 現在地周辺にどのような飲食店があるのかわからない場合は, 他の情報検索システムを利用し, 飲
食店名を調べてから Twitter で飲食店に関するツイートを検索する必要がある. 以上の背景から, 本グループの目的を Twitter の特徴を最大限に活かしつつ, 上述した問題点を解消する新
たなサービスの提供とした. 目的を達成するために, Twitter に関する課題を調査し, その課題に対する改善策を検討・提案・評価した. その後, 新しいサービスのプロトタイプの提案・作成を行った.
（※文責: 稲垣惇也）-i-Abstract
The number of SNS users is increasing.Twitter is the most popular service after the LINE
and Facebook at December, 2014 and achieves real-time exchange of tweet. 80% of users
possessing mobile devices use Twitter and can easily exchange or search information
through Twitter, anytime and anywhere. But when we cannot get complete informationfrom Twitter, we need some additional processes with other search engines. For example
when we want to search information about restaurants through Twitter, we firstly haveto access other search engines to look up names of restaurants if we are not familiar
with what kind of restaurants there are in the neighborhood. We propose a new service
which makes it possible to get complete and real-time information from Twitter.
（※文責: 稲垣惇也）- ii -

目次
第1章

プロジェクトの背景と目的

1

第2章

本グループの考える問題3

第3章

本グループの提案

4

3.1

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

3.2

機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

課題解決のプロセス5

4.1

グループ結成について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

4.2

グループの提案決定までの流れについて . . . . . . . . . . . . . . . . . . . . . . .

5

4.3

具体的な構想の作成について. . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

4.4

中間発表までの開発について. . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

4.4.1

環境構築 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

4.4.2

API の取得 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

4.4.3

Git の導入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

4.4.4

実際にウェブページ作成. . . . . . . . . . . . . . . . . . . . . . . . . . .

10

中間発表のスライド・ポスター作成について . . . . . . . . . . . . . . . . . . . .

10

4.5.1

ポスター作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

4.5.2

スライド作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

第4章

4.5

4.6

中間発表について. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

4.7

夏休みについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

4.8

最終成果発表までの開発について . . . . . . . . . . . . . . . . . . . . . . . . . .

12

4.8.1

Ajax の導入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

4.8.2

画面レイアウトの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

4.8.3

地図表示の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

4.8.4

スマホ版の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

4.8.5

ツイート解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

4.8.6

レンタルサーバーの契約. . . . . . . . . . . . . . . . . . . . . . . . . . .

17

最終成果発表スライド・ポスター作成について . . . . . . . . . . . . . . . . . . .

17

4.9.1

スケジューリング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

4.9.2

班分け . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

4.9.3

章立て作業 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

4.9.4

ポスター作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

4.9.5

スライド作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

最終成果発表について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

4.10.1 各人の分担 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

4.10.2 寄せられた意見・質問 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

4.9

4.10

- iii -

第5章

本グループにおける各人の担当課題および解決過程

22

5.1

丸山大仁の担当課題および解決過程 . . . . . . . . . . . . . . . . . . . . . . . . .

22

5.2

熊本祐の担当課題および解決過程 . . . . . . . . . . . . . . . . . . . . . . . . . .

23

5.3

遠藤直人の担当課題および解決過程 . . . . . . . . . . . . . . . . . . . . . . . . .

24

5.4

稲垣惇也の担当課題および解決過程 . . . . . . . . . . . . . . . . . . . . . . . . .

26

成果物の現状27

6.1

ウェブアプリケーションについて . . . . . . . . . . . . . . . . . . . . . . . . . .

27

6.2

開発について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

第7章

本グループの展望

30

第8章

まとめ

31

第6章

参考文献

32

- iv -

Twitter Localization

第1章

プロジェクトの背景と目的

近年, Web 上でのコミュニケーション手段として, すでに普及が進んでいる電子掲示板システム(BBS) やブログ (Weblog) に次いで, 利用者が急増しているものがソーシャルネットワーキングサービス (SNS) である [1]. SNS は, 人と人とのつながりを促進・サポートする, コミュニティ型のWeb サイトである [2]. さらに, SNS の利用者数は多く, そのなかでも, 2006 年に米国でリリースされた Twitter は, 2008 年 4 月 23 日には日本語サイト「Twitter Japan」のサービスも開始され[3], 2014 年 12 月で, LINE や Facebook についで 3 番目に利用者数が多い [4]. また, Twitter は世
界中で 2 億 8400 万人のユーザーが利用し, 国内でも 2000 万人近くが利用しているサービスである [5]. ユーザーは 140 文字までの短文から構成されるツイートと呼ばれる投稿ができる. 現在のTwitter はモバイルベースのユーザー率が全体の 80%[5] を占め, 利用者は各地を移動しながらいつでも Twitter を利用することができる. そのため Twitter では位置情報を利用してツイートを投稿したり, 情報を検索したりすることが可能である.

Twitter における Facebook など他の SNS と異なる特徴として, 以下の 2 点を挙げることができる. 1 点目は, リアルタイム性が高いことである. 投稿件数は, 1 秒あたり 5700 件あり, トレンド分
析や口コミ分析に利用されることがある [6]. 2 点目は, 10 代から 20 代の若い世代の利用者が非常に多いことである.
本プロジェクト内で, Twitter を用いる場合に感じる不満な部分を話し合った際に, 「アプリメー
カー」や「ツイートプロファイリング」のような連携サービスを用いた分析では不明瞭な点が多いということや, Twitter で提供される検索サービスを用いて情報を入手しようとした際に他の情報
検索システムを利用しなければならず手間がかかるということが挙げられた. 話し合いで挙げられた不満点をまとめると以下の 2 つに分類された.

• 情報検索の手間が多く不満– 1 つのアプリケーションに簡潔化できないか• 既存の性格診断アプリに対する不満– 既存のものにない, 独自の性格分析を実現できないか– より多くのツイートを用いて特徴を得ることができないか
本プロジェクトではこのような部分の改善に関する提案・調査・意見交換を行い, 「Twitter の特徴を最大限に活かした新しいサービスを提供」を 目的として活動することとした. また, 本プロジェ
クトは上記の 2 点の問題に対する改善を行うために以下の 2 つの班にわかれプロジェクト活動を進めてきた.

• 分析班– ツイートから性格を推測し, 函館の観光地をお勧めする Web アプリケーション• 検索班– カテゴリから任意の場所の飲食店に関するツイートを検索し地図に表示する Web アプ
リケーション
結成後, 両班ともに前期には意見交換・調査を重点的に行い, Web サイト設計に必要となる知識習Group Report of 2015 SISP

-1-Group Number 19

Twitter Localization
得と, その得た知識を使った Web アプリケーションの実装を行った. 後期には, 実装されたアプリ
ケーションに対してレビューを行い, そこででてきた改善点に対する実装を繰り返し行った.
（※文責: 丸山大仁）

Group Report of 2015 SISP

-2-Group Number 19

Twitter Localization

第2章

本グループの考える問題

株式会社リビジェンが 10∼30 代の男女 500 人に行ったアンケートによると, グルメサイトを使って, 満足できるお店を見つけられなかったという人が 4 割にわたるという [8]. グルメサイトでは, レビューを書き込む人が限定的であり, カジュアルな情報を入手しにくい. また, 情報が古く,
現状と異なる可能性がありリアルタイムな情報とは限らないという問題が挙げられる. そこで, 多種多様な人の書き込みを参照でき, リアルタイムな情報を入手できるものとして Twitter が利用できるのではないかと考えた. しかし, 本グループ内で話し合いを進めていくなかで, Twitter で情報取得をする際に Twitter 検索機能の問題が挙げられた. 詳しい情報を検索するためには複数のサービスとの併用が必要となり, Twitter だけでは詳しい情報を得ることが難しいということである. 本グループでは, 飲食店に関する情報を検索するということに焦点を当て話を進めたところ, 詳
細な情報を得るためには, Web での検索, 地図アプリ, Twitter の起動など複数のサービスをまたぐ必要があるという不満点が挙がった.
そこで本グループでは, 1 つのアプリケーションで飲食店に関するツイートを得ることはできな
いかと考えた. Twitter とグルメサイトの良い点を生かした Web アプリケーションとして, 本グ
ループでは, 任意の場所の飲食店に関する情報を検索し, 地図に表示する Web アプリケーションを提案する.
（※文責: 遠藤直人）

Group Report of 2015 SISP

-3-Group Number 19

Twitter Localization

第 3 章 本グループの提案
3.1

概要

本グループでは, 「カテゴリーから任意の場所の飲食店に関するツイートを検索し地図に表示する Web アプリケーション」を提案する. この Web アプリケーションは, 既存のグルメレビューサ
イトの「レビューを書き込む人が限定的」であり, 「掲載されている情報が古い可能性がある」という問題点を, Twitter の「リアルタイム性」があり「さまざまな人が書き込みをする」という利点を用いることで解消を目指す新たな Web アプリケーションである. 現状で飲食店の情報を取得する
ときに, 前述した問題点を避けるため, 既存グルメレビューサイトの代わりに Twitter を用いると,• どのような飲食店があるかを調べるためブラウザを使い検索• 見つけた飲食店に関する情報を得るための Twitter 検索• 飲食店の場所を調べるために地図アプリで検索といったように複数の手順が必要になる. ここで提案する Web アプリケーションは, 既存のサービスを用いて飲食店の情報を得る場合に, 必要な複数の手順を減らし, 用いるサービスを 1 つにまとめることで容易に飲食店に関する情報を得ることができる Web アプリケーションである.
（※文責: 稲垣惇也）

3.2

機能

本グループが提案する Web アプリケーションの具体的な機能としては, 次のようなものである.

1. ユーザが本 Web ページにアクセスすると現在地情報をもとに地図を表示しされ, 飲食店のカテゴリーを選び検索をすると, それに対応する店舗が地図上にピン表示され, 対応する店
舗リストも同時に表示される. また, このリストは, 検索をする際に距離が近い順, 予算が安い順にソートをすることが可能である.

2. ユーザがピンを選択すると, 選択した店舗の店舗名, 属するカテゴリー, 予算, 営業時間が吹き出しで表示される.

3. 吹き出し内の店舗名を選択すると, その店舗に関するツイートが表示され, ツイート内容を高評価・低評価で解析されたグラフが表示される.
表示された吹き出し内の情報やツイート, グラフから, ユーザはその飲食店に関する情報が得られる. また, 表示されたピンを選択, ツイートを表示という工程を繰り返すことで, よりユーザが気に入る飲食店を見つけることが可能になる.
（※文責: 稲垣惇也）

Group Report of 2015 SISP

-4-Group Number 19

Twitter Localization

第4章
4.1

課題解決のプロセス

グループ結成について

本グループ結成前に, プロジェクト活動が始まると同時に教員からアドバイスとしていただいていた• 実現性は小さい物でよく, まずは案を考える• 案が決定した段階で, 次に実現性が高いもので何の勉強が必要になるかを考えるということを意識して, プロジェクトメンバー全員で本プロジェクト活動を進めた. まず, Twitter
がどのように利用されているのかという調査と, Twitter をどのように利用しているかの意見交換を行った. そこで意見交換と調査において, 論文や書籍, Web から情報収集をメンバー 1 人あたり数個提示させ, 収集した内容を独自のサービスを考える材料として用いることにした. 次にプロ
ジェクトメンバー全員で Twitter に対する不満点があるかブレインストーミングを行った. しかし

Twitter に対する不満点を列挙していくだけでは, 具体的にどのようなサービスを展開すれば自分たちが満足するようなものを作ることができるのかわからず, 行き詰りが見えた. そこでブレイン
ストーミングの視点を変更し, Twitter に対する不満点を列挙していくだけではなく, 自分たちがどのようなサービスを望み, どのようなことをしたいかという視点に絞りブレインストーミングを行った. その結果プロジェクト全体で話が進み, 一人ひとりが行いたいこと, こんなサービスがあったら良いということがディスカッションで持ち上がった. その中で, プロジェクトメンバーが持ち合わせた案に共通しているものがないか KJ 法を使い以下の 2 つのグループに分けることに成功した.

• 機械学習を使ったグループ• 位置情報を使ったグループ
これらのグループをそれぞれ「分析班」と「検索班」と呼称することとなった. 本グループは以上のような経緯で結成された. 前期の段階では具体的に飲食店に関するサービスと決定はしておらず,
とにかく位置情報を用いたサービスを展開したいと考えていた.
（※文責: 丸山大仁）

4.2

グループの提案決定までの流れについて

4 名からなる本グループが結成されたが, グループ結成前に行ったサービスの提案に関して 4 名はそれぞれ異なる案を出していた. そこで, 本グループが目指すべきサービスのイメージについてまず話し合いを行った. その結果, 位置情報を用いたサービスを作成することを目標にした. そのうえで, このイメージに合致するサービスの案を改めて各人が考案した. この際, 各人が考案したサービスは以下の 4 種類である.

• 位置情報をもとに, その場所のおすすめスポットを紹介するサービス（丸山案）
Group Report of 2015 SISP

-5-Group Number 19

Twitter Localization• ツイートをすることで, その場所に関連するスタンプを集めるサービス（熊本案）• 位置情報をもとに, その場所で自分が過去にしたツイートをみることができるサービス（稲垣案）• 呟きが多く盛り上がっている場所を地図上でみることのできるサービス（遠藤案）
しかし, この 4 つの案のうちどの案がよいのかということについて判断が難しかったため, まずは
これらの案に肉付けをして現実感のあるものに近づけていき, 最終的に本グループのメンバー以外の学生や教員からの意見やアドバイスをもとに案の決定を行う方針となった.

4 つの案に対して肉付けをするにあたり, まずはそれぞれの案の根幹となる部分を確立させるために 7W2H を考えるということを行った. ここでいう 7W2H とは• When（いつ）• Where（どこで）• Who（誰が）• What（何を）• Why（なぜ）• Whom（誰に）• Which（どれを）• How（どのように）• Howmuch（いくらで）の 9 要素のことであり, これらの問いに対する答えを埋めていくことによってサービスの主旨を確立させる手法のことである. この 7W2H を考えることで, 各人の案がどのようなユーザーを対象とし, どのようなサービスを提供するのかということをはっきりとさせた. また, Twitter の利点である気軽さとリアルタイム性を活かし, Twitter 内でサービスを完結させることでより便利になると考えた.
次に, 各自の案と同様のサービスが既に存在していないかという点を調査する, 先行事例の調査を行った. 先行事例の調査の結果, これらのサービスについて単独のサービスとして存在はしているものの, いずれも独自にアプリケーションが存在しそのアプリケーションが Twitter と連携可能であるという程度であり, Twitter 内で完結させることのできるサービスは存在していないということが分かった. 先行事例が無いということが分かったため, これらの案について, それぞれが具体的にどのような動作をし, ユーザーがどのように使うのかということを図説するなどして, 案の具体性をより高めた. この時点で, 4 つのサービス案に関してグループメンバー内での意見交換は十分であると考えた.
次に, これらの 4 つの案についての意見やアドバイスを聞くために, 本グループメンバー 4 人以
外のプロジェクトメンバー 7 人と, プロジェクト担当教員 4 名およびアドバイザー教員として大塚裕子先生, 白石陽先生, 新美礼彦先生の 3 名をあわせた 14 名に対して, 本グループメンバー 4 名が各自の案についてプレゼン発表を行った. プレゼン発表に対して以下のような意見をいただいた.

• 対象者が分かりづらい• 目的がわからない• どういうシチュエーションで使うのか分からない
プレゼン発表を行った後, 挙手により最も興味を惹かれた案を選んでもらった結果, 遠藤案の「呟
きが多く盛り上がっている場所を地図上でみることのできるサービス」が最も良いという結果にGroup Report of 2015 SISP

-6-Group Number 19

Twitter Localization
なった. この結果を踏まえ, この案をグループメンバー全員でより肉付けしていくこととなった.
一方で, 先のプレゼンでは他の意見に対しても比較的前向きな評価をもらっていたことから, 遠藤案を軸として他のメンバーの案を組み合わせることによってより良い案になるのではないかと考えた. そこで, 遠藤案と組み合わせるとどのようなサービスになるのかということを考えた結果, 遠藤
案と組み合わせて最も良さそうな案は丸山案であり, 2 つを組み合わせることによって「おすすめスポットに関する情報と, その場所が盛り上がっているかどうかを表示できるサービス」を提供できるのではないかと考えた. また, おすすめスポットとして表示する項目としては飲食店に絞ることによってサービスの対象者をより明確にすることができるのではないかと考えた. その案をもとに肉付けを行い, 評価の表示や地図上のピン表示, 店舗の検索などをできるようなものを考えた. しかし, これらの案を取り入れていった結果, 類似サービスがすでに存在していることが判明した. そこで, 本グループでは表示するデータを飲食店のみに絞り込み, Twitter での評価のみに特化することで類似サービスとは異なる独自性を出すことにした. その結果, 本グループでは「飲食店に関するツイートをピン表示するウェブアプリケーション」を作成するという方針が決定した.
（※文責: 熊本祐）

4.3

具体的な構想の作成について

本グループで作成するものが具体的に決定したため, まず本グループのメンバーがこのウェブア
プリケーションはどのようなものになるかについて意見を統一するための話し合いをすることになった. 機能面は, それまでの話し合いにおいて地図が表示される機能, 飲食店を検索する機能, 飲
食店に関するツイートを表示する機能が決定していたが, これらの機能を実装するためにどのような知識が必要なのかという点を調べる必要があった.
まず, 飲食店に関する情報を入手する方法について調べた結果, 国内の飲食店に関する情報を提供しているウェブサービスが複数存在していることが分かった. それらのサービスのうち, 本グ
ループの作成する内容に合致しつつ, 規約による利用制限が厳しくないものを選別していった結果, 飲食店情報の取得には株式会社リクルートホールディングスが提供する, ホットペッパー Web
サービスを使用することとなった. ツイートの表示などには Twitter 社が提供する API を使用することが分かっていたため, これを利用するために必要なプログラミング言語として PHP を使用することにした. また, ウェブページの作成を行うために必要な HTML の知識なども必要であるということが分かった.
必要な機能と必要な知識を組み合わせて分かりやすくするために, 本グループでは WBS の作成を行った. WBS とは Work Breakdown Structure の略語であり, 目標となる成果物の機能を細かく分割していき, それぞれに対して必要な知識や作業を配置していくことにより必要な作業と知識の量や割合を知ることのできる構成図のことである. 本グループでは作成するウェブアプリケー
ションについて WBS を作成した結果, 図 4.1 のような構成図となった. 後の作業は全てこの構成
図をもとに作業を行った.
次に, 実際にアプリケーションを作成するにあたってどのようにサービスが動作するのかの話し合いを行った. API 間でデータのやり取りをするにあたって, どのようなデータを取り扱えばよいのかを話し合った. その結果, 図 4.2 のような流れとなった. 具体的には, まずユーザーの位置情報を取得してその情報をもとに地図を表示し, ユーザーが選択したカテゴリをもとに飲食店を検索し,検索結果をもとに地図上の座標にピンを配置し, ピンを選択することで店名によるツイート検索がGroup Report of 2015 SISP

-7-Group Number 19

Twitter Localization
行われるという流れとなった. これらをフローチャートとして表現し, ユーザー側の操作とアプリ
ケーション側の操作を区別することで本グループが作成しなければならない機能の全貌を把握することとなった.

Group Report of 2015 SISP

図 4.1

作成した WBS 図

図 4.2

フローチャート図-8-Group Number 19

Twitter Localization

図 4.3 画面遷移図

次に, このウェブアプリケーションを使うための手順を考えるために図 4.3 画面遷移図の作成を行った. 画面遷移図では, ウェブアプリケーションをどのようなレイアウトで表示するのかを考え,
地図やボタン, 入力ボックスの配置などを図に表した.
このように「WBS」「フローチャート」「画面遷移図」の 3 つを作成することによって本グループで作成するウェブアプリケーションがどのようなものになるかということをグループメンバー全員で共通の認識とすることとなった. 今後の実際の作業にあたっては, ここで作成した 3 つの要素をもとに作業を行うこととなった.
（※文責: 熊本祐）

4.4

中間発表までの開発について

4.4.1

環境構築

本グループでは, Web アプリケーションを開発するための環境構築として, 各自の PC に

XAMPP を導入した. 中間発表以前では, これからのサービスの拡張を行う可能性を考え, MySQLなども同時に扱う考慮をし, Apache 単体ではなく XAMPP での導入を行った. サーバーに関しては, 開発時は各自の Localhost を利用し, 完成時にレンタルサーバーを利用することになったため,
サーバー構築は行わなかった. テキストエディタについては各自の自由とした.

4.4.2

API の取得

API に関して, 中間発表以前では PHP の file get contents() 関数を使用してホットペッパー
API から JSON 形式で情報を取得し, 必要な情報のみを PHP で JSON から取り出し, ウェブペー
Group Report of 2015 SISP

-9-Group Number 19

Twitter Localization
ジに反映させるところまでが完成していた.

4.4.3

Git の導入

本グループでは, 作成物の進捗管理をするために Git を用いることにした. そこで, Git の使用方
法を理解するため, Git の講習会を学生が中心となって開催した. そのなかで, それぞれの環境に

GitGUI を導入し, そこから Git の管理を行っていくことにした.

4.4.4

実際にウェブページ作成

中間発表以前のウェブページに関しては, ページの左側にカテゴリーを選択するチェックボック
スと, 店舗名を検索するためのキーワードボックスを用意し, 検索をかけると結果がその下にでてくるものが完成していた. また, ページの右側に関しては, 現在地情報をもとに地図を表示するところまでが完成していた. 対応する店舗を地図上にピン表示をすることなどは未完成であった.
（※文責: 稲垣惇也）

4.5

中間発表のスライド・ポスター作成について

本グループ内でポスター担当とスライド担当を決定した. ポスター担当を遠藤が, スライド担当
を熊本が担当した. ポスターとスライドの作成にあたって, まずは章立て作業を行った. スライドとポスター双方で, どのような流れでどのような内容を記載するのかということを話し合った.

4.5.1

ポスター作成ポスター作成は, 今までの活動を振り返り, 「背景」
「提案するサービス」「展望」の 3 つに区切り説明することに決めた.

• 背景
本グループが考えるサービスは位置情報と Twitter 検索を用いるものであった. 本グ
ループは, 開発よりも考えることに時間を要したので, それに合ったデザインを考えた.
有効に使いたい Twitter 機能として, 上記の 2 つを強調した.

• 提案するサービス
完成予想図の画像を用いて, 本グループの考える Web アプリケーションがどのようなものかを表現した. 内部の動きとして, TwitterAPI とホットペッパー API を用いるということを表現するために図としてあらわした. 読み手に理解しやすくすること目的として作成を行った. また, スライドとの相違が発生しないように, スライドで伝えきれないことを的確に抑えポスターに盛り込んだ.

• 展望「API 班」と「Web 班」に分かれ, それぞれの班で必要な環境の整理を行った. また, これからの取り組みとしてどのような作業を行うかを簡潔に表現した. これからの取り組
みとして, Web サイトの作成と内部処理の実装を記した. .
一方で, ポスター作成のスケジューリングがうまくいっていなかったために, ポスターについてのフィードバックを多くもらえていないところが, 中間発表でよくなかったことであったと考えらGroup Report of 2015 SISP

- 10 -

Group Number 19

Twitter Localization
れる.

4.5.2

スライド作成スライド作成は各グループでそれぞれ個別に作り, 最終的にそれを統合する形となった. 本グ
ループ内で話し合いを行い, 全体の章立てが終わった後実際の作成作業に移行した. スライド作成とポスター作成を平行して作業を行う中で, スライドの表現とポスターの表現が相違があり, 逐次確認を行いながら作業を行ったために効率的ではなかった. ポスターとスライドの双方において,既存のサービスを用いて検索を行う場合と, 自分たちの作るサービスで検索を行う場合にどれくらい簡単になるのかということを強調することができるように, 図解を用いるように工夫をした. 本
グループの当初の目的である位置情報を用いることと, 1 つのサービスのみで完結させることを記
載し, その後本グループで提案するサービスがどのようなものであるか説明する形にした. また, 今
後の取り組みとして後期期間に作成する機能を記載した.
スライドが作成途中の段階から, 実際のプレゼンテーションと同様の形式を取って練習を行った.
学生のみでレビューを行って表現や内容の不備を確認した後, 教員を交えて練習を行い, 表現に不適切な部分がないか, 不足している内容がないかの確認を行っていただいた. 最終的に中間発表のプレゼンテーションで実際に使うスライドが完成したのは, 中間発表会の直前であり最終段階での練習は若干不足していたと考える.
（※文責: 熊本祐/遠藤直人）

4.6

中間発表について

中間発表ははじめに, ポスター, スライドや会場設営を主として作業を始めた. 発表中の分担としては, 稲垣, 熊本は前半後半に分けスライドの発表を行い, 来場者との質疑応答を担当した. 遠藤,
丸山は, ポスターへ寄せられる質問に質疑応答を行うのに加え, スライド発表に実際に寄せられる意見や質問をこれからの活動に生かすべく, 書き起こしを行った. そして, 寄せられた意見, 質問をまとめた. そうしたところ, 大きく分けて 2 つのことが挙げられた. 1 つ目はツイートから得られる情報が果たしてよいものといえるか, お店の詳細な情報, 評価なども知りたいなど, ユーザーが考える「情報の有益性」に対する意見であった. 2 つ目は, そもそも位置情報がないときはどうするか, アプリを開いたときの地図に表示される位置など, 位置情報に関する意見が挙げられた. 発展した内容として, もう 1 つのグループである分析班と連携させるのもよいのではないかという意見であった.
中間発表が終了した後, 本グループでは反省会を開いた. この反省会は, 中間発表で寄せられた意
見や中間発表中の様子などについての情報を共有するとともに, 前期活動の振り返りを行うことを目的とした会であった. 悪かった部分, 良かった部分を挙げ, 後期の活動をよりよいものにしようと考え行った. そのなかで, はじめにスケジューリングについて話があがった. 本グループの前期の活動では, テーマ決めに多大な時間を要した. 理由として, 各人意見の主張が少なかったことや, 独
自性の薄さによるテーマ崩壊などがあった. そのため, 多くの時間を要してしまい, 前期の活動のな
かでは開発にはほとんどはいることができなかった. それとは逆に, 多くの時間を割いたことで, 班全員が作りたいものを明確に理解することができていたので, 確認などに時間を要することが少なかったことや, 開発に入ってからの進みが順調であったことが良かった点として挙げられた. 次に開発するものについて話を進めた. 中間発表の前は, 班内で開発と発表準備で分担が分かれていた.

Group Report of 2015 SISP

- 11 -

Group Number 19

Twitter Localization
そのなかで, 開発がどこまで進んでいるかの情報共有がうまくなされていなかった. これからの活動では, 開発がメインとなるので, 班内の意見の共有を怠らないようにしようと確認をしあった.
（※文責: 遠藤直人）

4.7

夏休みについて

長期休業期間である夏休みを無駄に過ごしてしまわないよう, 本グループでは夏休みのプロジェ
クト活動について話し合った. その結果として, 夏休み中ではメンバーが集まって作業をすることは難しいと判断したため, プロジェクトの作業を進めないことにした. その代わりとして, 今後の開発で用いる言語の勉強をするため, メンバー個人がそれぞれ作成したいものを課題として設定し,メンバー全体に共有を行った. メンバー個人は設定した課題を夏休み中に作成し, 夏休み後にどのようなものが完成したかをメンバー内で発表を行った.
（※文責: 稲垣惇也）

4.8

最終成果発表までの開発について

本グループでは, 中間発表終了時から最終成果発表まで, 大きく分けて以下の 6 つを新たに取り
掛かった.

4.8.1

Ajax の導入

本グループの作成物は, 地図を用いることや複数の API にアクセスをすることなどの理由から,何度もページ更新をする必要があり, Ajax を導入する以前ではユーザビリティが低かった. そこで本グループは, ページ更新をせずに済む非同期通信を用いてユーザビリティの向上を目指した [9].

Ajax を通してそれぞれ下記の API にアクセスをすることで, ユーザビリティを損ねずに情報を取得することに成功した.

GeocodingAPI
中間発表時の構成では, 現在地周辺のみを検索可能とする予定であったが, 開発をしていくなかで, 便利さを考え任意の場所でも検索可能にすることにした. 任意の場所への地図の移動, また店舗の検索をするためにはその地点の緯度, 経度が必要である. しかし, ユーザーに直接緯度, 経度を入力してもらうのは難しいため, 指定したい地名や住所, ランドマークから緯度, 経度を取得できる

GeocodingAPI を利用した. これにより, 検索時の条件に住所などを入力すると, それを緯度, 経度に変換してから他の API にアクセスすることが可能となった.
ホットペッパー API
店舗情報を取得するために, 本グループではホットペッパー API を利用した. ホットペッパー

API に関しては, 中間発表以前から大まかな動きは完成していたので, 多少の変更点を加え, 非同期通信に対応させた. 前期の時点では, 店名, 店名の読み方, 住所, 緯度, 経度を API から取得しリスト表示を行っていたが, 地図上にピンを表示することが可能となったため, リスト表示の部分は店名と住所のみとした. また, ピンを押した際に表示する店舗の情報として, 店名, 店舗の属するカGroup Report of 2015 SISP

- 12 -

Group Number 19

Twitter Localization
テゴリー, 予算, 営業時間を加えて吹き出し表示することにした. また, リスト表示の部分に関して
は, ホットペッパー API から取得した順番に表示を行っていたが, 表示の順番を• 指定した場所から距離が近い順• 候補の店名の中から予算が安い順に並び替えることを可能にした. これは PHP のソート機能を利用して並び替えた後に, JSON 形
式に変換し Ajax を通して JSON から情報を表示するという仕組みをとっている.

TwitterAPI
店名に関するツイートの情報を表示するために, TwitterOAuth を通して TwitterAPI からツイートの情報を取得した. 表示したツイートの情報は, 以下のものである.

• ツイート本文• ツイートしたユーザー名• ツイートしたユーザーのハンドルネーム• ツイートしたユーザーのアイコン• ツイートされた日時
また, ユーザー名から公式の Twitter ユーザーページへリンクを埋め, 日付にはツイートのペー
ジへのリンクを埋めた. ツイート本文に写真が添付してある場合は, 写真も同時に表示させた.

TwitterAPI の仕様上, キーワードで Twitter 検索を行う際に, 複数の写真が添付してあるツイー
トでも, 1 枚までしか写真を取得することができなかったため, その場合はさらにそのツイートに関しての情報取得を行った. 当初では, この一連の流れを自動で行っていたが, 何度も API にアクセスを行うため処理が重くなっていた. そこで処理を軽くするために, 複数の写真が添付してある
ツイートでも, まず 1 枚のみを表示し, ほかの写真を見たい場合はボタンをユーザー自身に押してもらうという形をとった. こうすることにより, 処理が分散され動作を軽くすることが可能になった. Twitter 検索にかけるキーワードに関しては, ホットペッパー API から取得した店名をそのま
ま検索にかけていたが, その状態では検索にかかるツイートが少なかったため, 店名に PHP で処理を加えた. 例として, ホットペッパー API から取得した店名情報は, 「飲食店名 ○○駅前店」のような形のものが多かったので, まず取得した店名情報をスペースをもとに 2 つのワードに分割し,後半の「○○駅前店」を削除するため, 全国の地名が入力されている JSON ファイルと照らし合わせ, マッチしているワードを削除するという方法を用いている. また, 「店」という語が入っている
ワードも削除している. こうすることにより, Twitter 検索にかかりやすいワードで検索を行うよ
うにしている.
（※文責: 稲垣惇也）

4.8.2

画面レイアウトの作成

ウェブアプリケーション上での画面レイアウトにおいて, 前期で仕様書中に記述した画面遷移図
をもとに開発を始めてきた. 前期の段階ではスマートフォン向けのサービスは展開していなかった. 前期の段階でのレイアウトは, 飲食店をカテゴリーで分けられた状態のものを画面の左側に設け, 残り右の部分を現在地や飲食店をカテゴリで絞られたときに地図上に打たれるピンを表示した.
さらに, ピンをクリックしたときに, 全体にそのお店に関するツイートを表示するようにした. しGroup Report of 2015 SISP

- 13 -

Group Number 19

Twitter Localization
かし, この段階では図 4.4 のように飲食店のキーワード検索を行うことはできなく, ユーザーイン
ターフェイスのデザイン性に欠けており, ユーザーエクスペリエンスが低い部分が多く見受けられた. これらの反省点を中間発表時や反省会, さらには後期開発途中にメンバー内と話し合うことに
よって改善を図った.

図 4.4

前期レイアウト図

後期では, 前期で上がった反省点を改善し, 自分たちが納得いくものを作り上げることになった.
さらに, 前期では着手していなかったスマートフォン向けのサービス展開も視野に入れ本グループの活動を進めた. 後期では前期からの反省点や改善点として挙げられた以下の 4 機能を追加した.

• 現在地周辺だけではなく任意の場所で住所の検索を行える機能• お店を検索できる機能• 距離順・予算順を設定できる機能• ツイート表示後そのお店に関する評価を行機能
その結果これらの機能に対する画面のレイアウトを考える必要があったのでメンバー内で話し合い
最終的な完成形をパソコン版とスマートフォン版それぞれについて決定した.
（※文責: 丸山大仁）

4.8.3

地図表示の変更

ウェブアプリケーション上で使用する地図の表示において, 前期から作成していたシステムではオープンソースで自由に使用のできる OpenStreetMap の地図データを, OpenLayers と呼ばれるライブラリを使用して表示していた. この OpenLayers による地図作成は自由度が高い反面, 機能があまりに多すぎて把握できずピンを立てる事ができなかったため, OpenLayers より簡単に設置と管理が可能なライブラリとして Leaflet と呼ばれるライブラリを使用することになった. Leaflet
では地図の表示, ピンの表示, 吹き出しの表示などが簡単に操作できる他, スマートフォン上で表示
した際も表示が崩れることがなく正しく動作した. 地図表示に関する部分は全て Leaflet に変更することで, 開発期間の短縮につなげることができた.

Group Report of 2015 SISP

- 14 -

Group Number 19

Twitter Localization（※文責: 熊本祐）

4.8.4

スマホ版の作成

地図アプリケーションの多くは位置情報をベースにサービスを提供することが多く, 本グループで作成するアプリケーションも同様に位置情報を利用するものである. パソコンでは GPS が備わっている機種は少なく, 正確な位置情報を取得することが困難である. 一方で, スマートフォンには GPS が備わっており, 正確な位置情報を取得できることから, 位置情報主体の地図アプリケー
ションはスマートフォンでの利用が多くなってきている. 本グループで作成するアプリケーション
においても同様であり, スマートフォンからの利用が多くなると予想ができたため, パソコン向けに作成した機能をスマートフォン向けに移植することとした.
スマートフォン向けサイトの作成において, スマートフォンという画面の小さなデバイス上で表示すべき情報を効率的に表示する方法を考えるために, まずワイヤーフレームを用いたデザインの作成を行った. ワイヤーフレームとは画面全体のレイアウトとボタンの配置を決定し, 図 4.5 のような画面遷移図を作成することによってどのようにレイアウトが変化するかを確認するものである. ワイヤーフレームで作成したデザイン案をもとに, HTML コードを実際に書いて大本となる
ウェブページを作成した. スマートフォン向けサイトにおけるパソコン版との違いは主にデザイン
面のみで, 機能面では全く同じ機能が使用できることを目標として作成した.
作成においては, パソコン上での表示確認だけではなく実際のスマートフォンからアクセスしてページが正しく動作しているかを確認しながら作業を行った. この際にページ表示の速度や各種機能が正しく動作しているかの確認も行いながらの作業となった. 例えば, Twitter への接続において画像の取得に関する部分での無駄な通信が原因でパフォーマンスが低下していることを発見し,その部分に関して修正を行うことによって通信時間を 10 秒前後短縮することができた.

図 4.5 作成した画面遷移図

Group Report of 2015 SISP

- 15 -

Group Number 19

Twitter Localization（※文責: 熊本祐）

4.8.5

ツイート解析

飲食店に関するツイートを検索しようとしたとき, 現状では, 文字列のに店名が含まれたツイー
トを検索してしまう. そのために, 飲食店の情報とは関係のない情報も, 表示されるツイートのなかには含まれてしまう. そのため, 検索の精度が低くなり, ツイートから得られる情報が有益といえる
ものではない. そこで, 本グループでは, ツイートから飲食店に関する情報を得たいと考え, 食にかかわるワード (うまい, まずい等) の AND 検索によって解決できるのではないかと考えた. この方法では, 正確に飲食店に関する情報だけが得られるわけではないが, 以前の検索方法よりも飲食店に関する情報を多く得られるようになった.
次に本グループでは, 飲食店の検索において, うまい, まずいなどの食に関する感情に対して, 評価を得られるのではないかと考えた. お店に関して, 「うまい」といった口コミの多さがお店を選択するうえでの基準の 1 つになってしまうため, 「まずい」といった口コミが多ければ, そのお店を避ける基準の 1 つになると考える. NTT レゾナント株式会社の「購買行動におけるクチコミの影響」に関する調査によると, 選定時にクチコミの影響を受ける人は 8 割, クチコミが購入の決め手になる人は 4 割といった結果がでている [10]. それだけお店に行く前の情報で影響を受ける人は多いといったことが見てとれる. 食に関する「うまい」など良い評価をポジディブワード, 食に関する「まずい」などの悪い評価をネガティブワードとした.
開発を進めるうえで, はじめに店名とポジティブワード, ネガティブワードとの AND 検索を実行した. すると, 得られるツイートがお店の評価にかかわる情報と, お店の広告のツイ―トが多く結果に表れるようになった. 次にポジティブワードを 3 つ含む配列, positive array とネガティブワードを 3 つ含む配列, negative array を用意し, PHP で実行した. 検索では, 「店名AND(positive array) AND (negative array)」のように, AND 検索を行うものとした. これによって,食に関する評判が良いもの, 悪いものを同時にとれることを確認できた. ここからは, ポジティブとネガティブな指標をあらわすグラフのために, ツイートの解析を行っていくこととした. 解析方法として, PHP の関数 strpos を使用して, 1 つのツイートにポジティブワードが文字列のなかに含まれるかどうかを検出する方法で, 解析を行った. 含まれている場合はカウントしていく方式で,パーセンテージを返した. しかし, ここで 1 つ問題を発見した. TwitterAPI の仕様上, 最大 100 件までのツイートを取得することができるが, 1 つのツイートに対し, ポジティブワード, ネガティブ
ワードを strpos で検証するには膨大な時間を要してしまう. また, ポジティブワード, ネガティブ
ワードはおよそ 100 件ずつを想定しているため, さらに時間がかかってしまった. PHP を用いる
文字列比較のなかでは strpos は最速であり, 文字列の種類にもよるが, strpos と strstr の速度比
較では, 1 回あたり 0.03 秒であった [11]. これにあてはめて計算すると, 想定しているポジティブ,
ネガティブワード計 200 件×ツイート 100 件× 0.03 秒＝ 600 秒ということになり, Web アプリ
ケーションのパフォーマンスとして悪いものであると考える. そこで, さくらのレンタルサーバーのデータベースを用いて, 一度ツイートをデータベースにしまい, ツイートを解析するといった手法に変えることで, 速度を早くすることができると考えた. SQL の LIKE 検索は, およそ 1 回あたり約 0.006 秒であり, 想定する最大の値でも約 12 秒とパフォーマンスを高めることに成功した. 一
方で SQL では複数のユーザーが同時に検索を実行した際に, 後からアクセスしたユーザーは SQL
へのアクセスが拒否されてしまうという問題が発生した. そこで, ユーザー側の端末上で検索が実行できる JavaScript を利用してツイート解析を行うことにした. JavaScript では SQL での LIKEGroup Report of 2015 SISP

- 16 -

Group Number 19

Twitter Localization
検索と同等の時間で文字列探索が可能であり, なおかつ同時利用者数に縛られることなく実行することができるため, ツイート解析に適していることがわかった.
そこで, ツイート解析の実行にあたり, 独自の食に関するワードの特徴辞書の作成を行った. 実
際につぶやかれている内容や, Web 上からの情報をもとに表 4.1 のようなポジティブワード, ネガ
ティブワード各 100 件の特徴辞書を作り上げた. それによって導き出された割合は, ツイートを表示する画面にグラフとして表示され, 良い評価, 悪い評価, その他の 3 つの評価で表される. また, 各評価を選択することで, ツイートをポジティブなツイートネガティブなツイート, その他のツ
イートだけで, 表示させることも可能にした.
表 4.1 特徴辞書の内容

ポジティブワード

ウマい, うまい, 旨, 美味しい, うまかった, 味わう など

ネガティブワード

まずい, 美味しくない, おいしくない, 不味い, 微妙 など（※文責: 遠藤直人）

4.8.6

レンタルサーバーの契約

本グループの作成物はウェブアプリケーションであり, 作成段階ではメンバー各自のパソコン上にサーバー環境を作成して動作を確認しながらの作業を行っていた. しかし, 最終成果発表の際に来場者に実際に触って体験できるようにしたかったために, インターネット上で公開できるサーバーが必要となった. 学内においてサーバーを貸借することも考えたがウェブページ公開に必要なサーバー環境の導入やセキュリティ上の懸念を解決する知識が不足していると考えたため, これらが事前に準備されているレンタルウェブサーバーを借りることになった.
数社を比較し, 価格と機能面から今回さくらインターネット株式会社が提供するレンタルサー
バーの「スタンダードプラン」を使用することになった. 作成したウェブアプリケーションをレンタルサーバー上にアップロードすることによって, インターネット経由で本グループのウェブアプ
リケーションを利用することができるようになった. 一方, サーバー独自の環境によって発生する
不具合もいくつか発生することがわかり, その解決を必要とされることがあった. 例えば, PHP で使用できる数字の桁数がバージョンによって異なり, それが起因でページが表示できないトラブルが発生したため, 文字列として表現して解決するなどの対策が必要となった.
（※文責: 熊本祐）

4.9

最終成果発表スライド・ポスター作成について

4.9.1

スケジューリング

前期の段階では, 目的を決定することややりたいことを決定することへ時間を割き, 長期的なス
ケジュールを立てることができず, 一週間ごとのスケジュールしか立てることができなかった. さらに, 前期ではスケジューリングをプロジェクトリーダー 1 人で行っていたために柔軟性の高いス
ケジュールには程遠いものになっていた. 後期ではこの反省を活かし, 開発に対するスケジューリ
ングやスライド・ポスター作成のスケジューリング, 報告書作成のスケジューリングをはっきりとGroup Report of 2015 SISP

- 17 -

Group Number 19

Twitter Localization
するために, プロジェクトリーダーが持ってきたスケジューリングに対してメンバー全員で話し合うことで最終的なスケジューリングを決定した.
開発のスケジューリングでは, 夏休みが明けてからすぐにメンバー全員でどの段階で最終成果発
表までに追加したい機能を実現していくか話し合った. そして 1 つひとつの機能に対して, 人員・各人の能力・そこに割けることのできる時間を考慮したうえで細かなスケジュールを立てた.
スライド・ポスター作成のスケジューリングでは, 開発に影響が出ないため速い段階から着手し中間のときの反省を活かすために, 何度も教員のレビューを設けることのできるようなスケジュー
ルにした.

報告書のスケジューリングでは, 最終成果発表前の期間にどのような内容を盛り込んで欲しいということをプロジェクトリーダーが事前に考え, 最終成果発表が終わってすぐに報告書に着手できるようにした. さらに, 最終報告書は年越しが重なるので集まることが極端に少ないと考え, かなり余裕を持ったスケジュールを作成した. 前期の段階では導入しなかった物で, 後期から
「マイスタータスク」を導入した. これは, 誰がどの仕事をやるべきで, 会議や作業中にその時何をしているかということが全員が確認できるようなサービスである. 本グループでは, はじめはこの
便利なサービスを使っていたが, どのように管理するかなどの仕様を決めることなく行ったのでう
まく機能させることができなかった.
（※文責: 丸山大仁）

4.9.2

班分け

前期では, スライド班・ポスター班の班分けを, 開発に余裕があるメンバーを先に作業を進めることができると考え, そのメンバーをポスター班に割り振り, 残りのメンバーをスライド班に決定した. しかし前期の班分けでは, スライド班とポスター班の内容を一致させなければならなく, どの
内容で話を展開していき, 構成を考えるかということがうまく決めることなく班を分けた結果, ス
ケジューリングに大きな変更をしなければいけない事体に陥ってしまった. この反省を後期では活かし, はじめの段階でメンバー全員でどいう構成で話を進めていくかということを話し合った. そして, 構成が決定した段階でスライド班・ポスター班それぞれに分けてスライド作成・ポスター作
成それぞれの活動を行った.
（※文責: 丸山大仁）

4.9.3

章立て作業

構成を決める章立て作業において, 本グループメンバーで 1 人がメモを取るようなスタイルでみなでディスカッションを行った. ポスター作成をイメージしながら, スライド班・ポスター班にかかわらず全員で序論・本論・結論を意識して作成に取り掛かった. ここで注意したこととして, 前期に比べ追加機能が多くあったので, 内容を盛り込みすぎて結局なにを話したいのかわからないよ
うにならないようにした. さらに, 自分たちが前期から目標にしていたことから外れないように何度も原点の目的に戻り構成を決定した.
（※文責: 丸山大仁）

Group Report of 2015 SISP

- 18 -

Group Number 19

Twitter Localization

4.9.4

ポスター作成最終成果発表でのポスターは, 中間発表時の反省を生かし, ポスター作成を 1 か月前から作成を開始した. まずはじめに, ポスターの内容を決定する際に, 開発してきた内容を確認するために, 内
容を議事録等から読み返した. その結果, 中間発表時に比べ, 変更した機能や追加した機能が多く存在していたことがわかった. ポスターに記述するべき内容を決定するために, それらの機能をリストアップした. その内容はスライド作成でも攻勢を考えるうえで重要な作業であったため, 本グ
ループで情報共有を行った. 次に, 実際にポスターのレイアウトを考えた.
初めにレイアウトを作成した時にいただいたアドバイスでは,• 説明書のようで内容が分かりづらいや, 組み込んだことを伝えたいのはわかるが, 詰め込みすぎて, 何が伝えたいかが直感的にわからない• 実際に使用する時のシチュエーションを交えるとわかりやすいというコメントをいただいた. これらをもとにポスターレイアウトの見直しを行った. 中間発表の際に, 文章よりも図などを使うということの意識はできていたために, 今回はシチュエーションを想起させるイラストと画面遷移を利用してレイアウトを作成した. シチュエーションの設定には,中間発表で使用したスライドから, お店を探しているというシチュエーションを参考に作成した.
画面遷移には, 実際にイタリアンのお店を探している画面を利用し, 伝えたい機能などの説明を盛り込んだ. また, 開発したアプリケーションはスマホ対応もしているために, 最終発表時に実際に使用してもらうことを目的とした, 開発した Web サイトの QR コードを作成した. 変更したレイアウ
トの内容をポスター盛り込み, ふたたび先生方とメンバーからの添削をうけた. はじめのときよりも, シチュエーションとアプリの動きが明確化されたとコメントをいただくことができた. 大きな
修正のコメントをいただくことは少なかったが, 画面遷移に使用する画面の開発が添削の段階ではできていないので, 実際に画面を入れたときにどうなるかなどコメントをいただいた. ポスター作
成の最終段階では, コメントを踏まえ, レイアウトのズレなど修正を行いながら, 画面遷移に利用する画面を盛り込み, 添削をいただきポスターの完成に至った (図 4.6). 最終成果発表に向けたスケ
ジュールでは, 余裕をもって取り組むことができたので, 添削を中間発表の時に比べ, 多く設けることができたことが, 最終発表ポスターの質の向上につながった.

Group Report of 2015 SISP

- 19 -

Group Number 19

Twitter Localization

図 4.6 最終発表時のポスター（※文責: 遠藤直人）

4.9.5

スライド作成最終成果発表でのスライドは, 構成とレイアウトに関しては中間発表時のスライドを継続して使用することとなった. これは, 中間発表時と同じスライドデザインを用いることによって中間発表
時の来場者が同じプロジェクトであることがすぐわかるのではないかという意見によって採用された. スライドは事前に内容を決定済みであったポスターの内容に準ずる形で作成を行った. 中間
発表時ではパソコン版のサービスしか構想していなかったため, 使用した図もパソコン版のものであったが, 最終成果発表では新たに作成したスマートフォン版のウェブアプリケーションをもとにして説明を行う形を採用した. これは, 実際に飲食店を検索する場合は外出先でスマートフォンを用いることが多いことが理由になっている.
スライドはプロジェクト全体部分と, 分析班と検索班の部分をそれぞれ個別に作成し, 最終的にそれらを 1 つのデザインに統合する形をとった. これにより, 各グループが同時に作成作業を行うことができ効率的にスライド作成を行うことができた. スライドを作成後, 各グループにおいて原稿の作成作業を行った. 本プロジェクトのスライドは成果物や動作について図解することを目的にGroup Report of 2015 SISP

- 20 -

Group Number 19

Twitter Localization
作成したため, 説明に関する部分は全て口頭で行う. したがって, 原稿では各スライドに関して詳細な説明を行う内容となった.
その後, この原稿を使用してスライドの発表練習を行った. まず学生のみで練習を行い, 表現や内容に間違いがないかを確認した. その後教員を交えて練習を行い, 改めて表現や内容に間違いがな
いかの確認を行った. 教員や学生から指摘を受けた点に関して, その場で修正できるものは修正し,話し合いが必要な部分はすぐに話し合いを行って修正作業を行った. 最終成果発表までの間に合計で 4 回の発表練習を行い, 万全の体制で当日の発表会を迎えることができるようにした.
（※文責: 熊本祐）

4.10

最終成果発表について

4.10.1

各人の分担

最終成果発表では, 全 120 分を前半 3 回, 後半 3 回の計 6 回に分けた発表があり, 前半 3 回の発表は熊本が担当し, 後半は稲垣が担当した. また, ポスターの前で説明をする担当は遠藤が前半を担当し, 後半は丸山が担当した.

4.10.2寄せられた意見・質問寄せられた意見としては, 大きく分けて次の 2 点であった.

• ピンを押した際に吹き出し表示があり, 店名を押すとツイート表示がされるという部分が分
かりにくい• 検索班と分析班のつながりがあってもよいという意見が挙がった. 前者に関しては, 使いやすいユーザーインターフェイスの問題なので今後改善していく必要がある. また後者に関しては, 中間発表時の意見としても挙がっていたが, 話し合った結果, 統合は難しいという判断に至り断念していた. 寄せられた質問には, 評価の良い, 悪いはどのように判断しているのかという質問が多く寄せられた. これは, 事前に用意した「美味しい」「まずい」などの高評価, 低評価のワードリストとツイート本文を照らし合わせ, 評価を判断しているという説明が不足していたためだと考えられる.
（※文責: 稲垣惇也）

Group Report of 2015 SISP

- 21 -

Group Number 19

Twitter Localization

第 5 章 本グループにおける各人の担当課題および解決過程5.1

丸山大仁の担当課題および解決過程

初回のプロジェクト活動でプロジェクトリーダーを選出する段階で, 本プロジェクトは新プロ
ジェクトであり不安もたくさんあったが自分はプロジェクトリーダーに立候補した. 未来大学の 1
学年・2 学年で行ったさまざまな活動においてリーダーとして参加することが多く, 3 学年のプロ
ジェクト活動もリーダーをやり新しい自分を発見したいという気持ちで立候補に踏み切った. そこですぐにプロジェクトリーダーになることをプロジェクトメンバーや教員に承認していただきプロ
ジェクトリーダーとしての活動が始まった. プロジェクトリーダーとして自分は, まずはじめに以下のことを注意して活動を進めていこうと決心していた. それが• 自分はもちろんのこと, メンバーになによりも楽しんでもらいながら作業に取り掛かってもらう• 安心感のあるリーダーになるということであった. これらの事項を達成するためにはプロジェクトリーダーとしての知識が何よりも大切であると考えた. そこで, プロジェクトリーダーがどんな能力が必要かということを知識として貯えるためにさまざまな書籍, Web, 論文などを探し読破した.
はじめのプロジェクト発足時で, メンバーに何よりも楽しんでもらうために, リーダーが先陣を切ってどんな活動をプロジェクト活動として展開していくかということを考えた. そのためにプロジェクトメンバーのコミュニケーションに多くの時間を割こうと考えた. 個人作業ばかりにならな
いよう, プロジェクトメンバーみんなでディスカッションを中心に行った. Twitter の不満点を挙げる活動では, プロジェクトメンバーをうまくまとめることができなかったが, 自分たちが行いたいサービス展開の話を切り出したときにメンバー一人ひとりのプロジェクトに対する意識を感じることができた.
事務作業を行わず, 開発作業を行うだけが楽しいであろうと考えていたが, タスクを振ることでプロジェクトメンバーもメンバーの一員であるということ再認識することができ, しいては自分のタスクも効率的に進めることができるようになるということを学んだ.
安心感をメンバーに与えるために, 明らかに不自然な物以外どんなサービスに対しても異論を唱えることはなかった. そして何よりも全力でやりきってもらうことを心掛けていた.
分析班・検索班に分かれ, 私は検索班の一員として活動を進めた. 検索班のメンバーであり, プロ
ジェクトリーダーでもある私は, はじめは片方の班しか目を行き渡ることができなく混同していたが, 分析班・検索班にリーダーを設けることで細部まで目を行き来させることに意識するのではな
くあくまでマネージメントをすることが大切だということ認識できた. そこからは, マネージメン
トとして以下の• Google Drive でのスケジュール管理や進捗報告管理• 会議後とのレジュメ作成と管理Group Report of 2015 SISP

- 22 -

Group Number 19

Twitter Localization• 会議の効率化を図るために議事録作成と管理• 仕様書を書くことで目的の具体化• WBS 図の導入
• サービスをより具体化するための 7W2H 導入• マイスタータスクの導入を行った. 開発においては, 前期の段階でマネージメントに集中するあまり手伝えることがほとん
ど皆無に近いほどなかった. しかし, 後期ではその反省を活かし, あくまで検索班の一員であるということを意識して積極的に開発にも着手していった. 具体的には, Web サービスの展開を行っていくことが決まったので, 経験のあったフロントエンドを行うことで検索班のメンバーの一員として活躍した.
画面のレイアウトや UI デザインのよい物, デザイン性が高い物を作り上げるために HTML,

CSS, JavaScript, jQuery を駆使しながら作成に取り掛かった. パソコン版だけではなくスマート
フォン版のレイアウトなども作成した. スライド・ポスター作成においては, 前期ではポスター作
成を中心に力を入れ全体ポスター作成や, 各班のポスターに対するアドバイスなどを行っていた.
後期では, 前期で反省点として挙がった, 構成部分の修正を行うために, 後期ではあえて, スライ
ド班・ポスター班含めたメンバーで両班の構成を考えた. そうすることによって, 早い段階で構成が決まり各班の作業になってからすぐに内容を記述することができた.
（※文責: 丸山大仁）

5.2

熊本祐の担当課題および解決過程

プロジェクト全体での話し合いのなかで, 位置情報と Twitter を使ったサービスを作りたいということと, Twitter 内で完結するものを作成したいという案を提案した. 検索班に配属された後,Twitter 内で位置情報を用いたスタンプ集めゲームを提案した. この案について具体的な構想を考え, プロジェクト内でプレゼン発表を行った. 結果的に, 本グループではこの案は採用されないことになったが, 他のグループメンバーの案をもとに新たなサービスの提案を行い, 位置情報をもとに飲食店に関するツイートを検索して地図上に表示するサービスを作成することとなった.
サービスの開発に先立って, 必要な知識や機能をまとめるための WBS 作成を率先して行った.
その際に開発において使用するプログラミング言語の選定を行い, どの言語が最適であるのかを調べる作業を行った. その結果, プログラミングには PHP を用い, ウェブデザインに HTML と CSS,JavaScript を使用することとなった. 私は主にデザイン面の担当となった.
プロジェクト全体では, 開発作業にあたってチーム内でのソースコード共有と, ソースコードのバージョン管理に用いる GitHub のアカウント取得と, 学生認証の申請を行った. また, プロジェ
クトメンバー全員に対して GitHub の使い方と機能についての簡単な講義を行った.
中間発表までの段階では, 現在地を中心とした地図を表示する機能と, 飲食店検索に用いるチェックボックスの作成を行った. 中間発表ではスライドの作成とプレゼンテーションを行った. スライ
ド作成では, ポスター班との連携に苦労をしたが, 完成したスライドは十分に見やすく構成できた.
夏休み期間では, 課題としてインターネット上の情報をスクレイピングするソフトウェアの開発を行った. この開発によってウェブページ内の情報がどのように構成されているかという DOM と呼ばれる仕組みについて把握をすることができた.
後期では開発作業を中心に行った. GitHub を用いたソースコード共有を活用し, グループメン

Group Report of 2015 SISP

- 23 -

Group Number 19

Twitter Localization
バー各自が作成したソースコードを 1 つにまとめる作業などを行った. ウェブページの作成においては, スマートフォン向けページの作成を中心に行った. 実際に何台かのスマートフォンを使用してウェブページを表示し, レイアウトの大きさや操作性について確認しながら開発作業を行った.
検索機能などをパソコン向けサイトから移植する際には, プログラミングを担当しているグループ
メンバーからアドバイスをもらいながら移植作業を行った.
最終成果発表では主にプレゼンテーションを担当した. 中間発表時に作成したスライドをもとに作業を行った. 中間発表時の反省を活かし, 最終成果発表に向けてのスライド作成ではまずポス
ターの完成を待ち, ポスターの内容に準ずる形でスライドの作成を行った. 最終的に, 分析班のスラ
イドと検索班のスライドを 1 つに統合する作業を行った. 最終成果発表においては発表会の前半にてプレゼンテーションを行った. プレゼンテーション後の質疑応答に対しても適切な回答を行うことができ, トラブルなく最終成果発表を終えることができた.
最終成果発表後, プロジェクトの報告書作成では, グループ報告書の章立て作業を行った. 章立て
作業では具体的にどのような内容を記載し, 誰が担当するのかという点を実際に作業を行った人を基準に割り当てを行った.
（※文責: 熊本祐）

5.3

遠藤直人の担当課題および解決過程

プロジェクト学習を始めるにあたり, Twitter に関する不満点や機能について取り上げた. そこで, Twitter の位置情報を利用したアプリを本グループで考えた. 私は, Twitter の位置情報を利用して イベントなどで盛り上がっている場所を地図上にピンで表示するアプリケーションを提案した. このアプリケーションでは, 位置情報付きツイートを取得し, 緯度経度から地図上にピンを刺していくものである. 緯度経度が同じまたは近い場合は, ピンを 1 つのピンとしてまとめ, ピンの大きさを変えるものと考えた. 大きいピンが表示されている場所は, 複数人のリアルタイムな位置情報付ツイートがあるので盛り上がっているということになるというものであった. この案をプレゼン形式で, プロジェクトメンバーと担当教員, アドバイザーの教員に発表を行った. そのなかで, 目
的と対象の明確化や異なるサービスへの転換について意見をいただき, 本グループで各々の意見を踏まえ, 提案するサービスの方向性を考えた. 話し合いを続けるなかで, 私が考えた案でプロジェク
ト学習の開発を進めることにした.
必要となる技術や知識を考えていくなかで, 分析班のメンバーから私の考える案に類似する先行事例があることが報告された. それは, NTT docomo が開発している, 位置に関連するツイート
解析技術と応用というものであった [12]. プロジェクト学習において, 独自性のある開発をしたいという考えから, 提案するサービスについて再考した. 私含め本グループでは, 各案を提案したときに, お互いの考えるサービス案を結び付けることができないかと思っていた. そこで, 私は丸山の出した案「おすすめの飲食店を検索するアプリケーション」と, 私の案を結びつけることを提案した. そして, 現在地周辺の飲食店に関するツイートを地図上にピンで表示するアプリケーションというサービスにたどり着いた. 提案するサービスについて, 開発を進めるのと同時に, 私は本グ
ループのポスター作成を担当した. ポスターに本グループの案を盛り込む際に, 本グループが考える Twitter に関する不満点やほしい機能については, 強く主張したいと考えた. 何が問題なのかを明確に伝えるために, はじめは文章に書き起こして行った. 背景情報として, 文章で書き連ねることは問題点などが明確に伝わりづらいことから, 図を多く利用したポスターを目指してポスターの作Group Report of 2015 SISP

- 24 -

Group Number 19

Twitter Localization
成を進め完成させた. その間, 実際に開発をすることはスケジュールの関係でできなかった. 開発を行うにあたり, PHP を使用する環境が備わっていなかったために, 環境の構築を行って, 前期の活動を終了した.
後期に開発をしていくにあたり, 夏休みの期間を利用して, 開発する環境を用いて学ぶことを課題とした. 私は, PHP をはじめて利用するので, Web 等を参考にしながらツイートの取得を目標に活動した. ツイートの取得が達成されたのは, 後期の授業が始まってからであったが, 知識の習得に役立つ結果となった. 後期のプロジェクト学習が始まって, 提案するサービスについておさらいをしたうえで開発を進めた. はじめに私が担当した課題として, 取得したツイートの投稿時間のズレを修正するものであった. 修正された形でアプリケーションには表示されるので, 表示方法をこだわった. Web 等で調べたり, 本グループのメンバーと話し合いをし, タイムスタンプを用いることで解決ができた. 次に, リストに表示されるお店を現在地から近い順に表示を行うというものであった. 緯度経度から 2 点間の距離を用いて解決に結びついた. しかし, 表示する際に Object 型の情報の並び替えが難しく, 中々うまく表示がなされなかった. そこで, Array 型の配列にデータを変えることで, 添え字から並び替えを容易に行えるのではないかと考えた. その結果, アプリケーショ
ンとして, 重くなりすぎない程度でリストのソートが完了した. その後, アプリケーションが開発が進み実際にアプリケーションを利用してみた結果から, 本グループが考えるほしい機能の実装を進めていった. そこで自分は, お店に関する情報がポジティブ, ネガティブかを判定する機能の実装を担当した. そのなかで, 自分は食に関するポジティブなワード, ネガティブなワードを各 100 個ず
つ含む特徴辞書の作成を行った. その特徴辞書は, 検索ワードとの AND 検索や, ツイートを解析するときの割合を表示する際に使用されるものである. 開発において, PHP を使用しての開発となったが, PHP のなかで解決しきれない問題などが複数存在し, それらを解決するには, Javascript や

SQL など他の環境についても知識習得が必要だということが判明した. これらの開発を進めると同時に, ポスターの作成を前期に続いて担当することを決め, 作成にとりかかった. 前期では, 短
い期間のなかで, 教員からのフィードバックを十分に受けることのできない中でのポスター作成になっていたために, 反省を生かし作成を進めた. 後期の活動では, 開発がメインとなっていた. 後期で開発したものは多く, 全てを伝えるには限界があるものであった. しかし, 今回のポスターでも本グループの提案するサービスは, Twitter 検索の不満点をを解決するサービスであるということを念頭に置きポスターを作成した. はじめのフィードバックでは, 先生方から「説明書のようである」, 「伝えるべきことを明確にあらわす必要がある」などのコメントをいただいた. また, アドバ
イスとしてこのサービスを使うシチュエーションを交えるといいということを教えていただいた.
いただいた意見をもとにレイアウトを考え, ポスターの作成を進めていった. 実際に利用する際のシチュエーションを, イラストや画面遷移などを多めに利用した. 結果, 本グループメンバーや先生方から高評価も頂き本グループのポスター作成が完了した. それと同時に, プロジェクト全体のポスター作成が丸山によって進められていたが, レイアウトや先生の評価から考え直す点も多くあり, 全体ポスターの作成も担当することとなった. 全体ポスターについて, 独自性のあるポスターではないというコメントを担当教員から受け, 独自性を意識したポスター作成を行った. 前年度プロ
ジェクト学習のポスターなどを参考にしながら, ポスターのレイアウトや, 伝える情報を整理した.
ポスターに関して, イラストや図を使用することは本グループのポスター作成のなかで意識するよ
うになっていた. Twitter のよい点と, 各班が考える不満点を対称させ, よい部分を生かし, 不満を解決するアプリケーションの開発ということを表現することに時間を割いた. ポスター完成の締め切り直前までの間, 複数回にわたって, 先生方からのフィードバックをいただき, 全体のポスター作成も完了した. プロジェクト学習において, 本グループではポスター作成を中間発表, 最終発表とも

Group Report of 2015 SISP

- 25 -

Group Number 19

Twitter Localizationに担当した. ポスター作成ははじめてであり, デザインやレイアウトを決めるなどといったことは経験がなかった. ポスター作成にあたって, 前年度のポスターなど多くのポスターを参考に作成していった. 多くのポスターを参考にすることで, 表現方法などデザインについての技術を習得することができた.
（※文責: 遠藤直人）

5.4

稲垣惇也の担当課題および解決過程

プロジェクト開始にあたり, テーマの方向性を絞るために Twitter に対する不満点や便利な機能,
アプリなどについて調査しプレゼンを行った. Twitter の位置情報を利用するということをもとにした 4 人のグループと, 機械学習を主に扱い Twitter から性格診断を行う 7 人のグループに分かれ, あ 4 人の検索班に属した. 4 人がそれぞれ案を考え, それを担当教員の他に, 大塚裕子先生, 新
美礼彦先生, 白石陽先生も加わり資料を用いて思い出のツイートを残す機能についてのプレゼンを行い, 「思い出のみではなく他の物にも使えないか」などのコメントをいただいた. そのなかで, 検索班としてはカテゴリーから任意の場所の飲食店に関するツイートを検索し地図に表示する Web
アプリケーションの開発が決まり, その案に対する具体性や必要な知識などを調査した. また, 開発に要する環境構築も行い, 開発を行う準備を整えた. 開発に関しては, 中間発表以前では店舗情報を取得するため, PHP を用いてホットペッパー API に情報をリクエストし, 取得するところまでが完成していた. 開発を行っていくなかで, 中間発表の準備も平行して行った. スライド班, 発表担
当にあたり, ポスター班との連携をとりつつスライドの作成, 原稿の作成の他に, 3 回のデモ発表を行った. また, 中間発表当日は後半 3 つの検索班の発表を担当した.
夏休みには, PHP の勉強をするため, OpenWeatherMap の API と TwitterAPI を用いて, 天気の情報を取得してきて Twitter でその情報をつぶやくといった BOT を作成し, 夏休み後に検索班で発表をした. 後期に入ってからは, ホットペッパー API だけではなく, TwitterAPI,

GeocodingAPI を導入した. そのなかでも特に, ユーザーの使いやすさを考え, 非同期通信を用いることになり, Ajax についてインターネットや, 情報ライブラリーで本を借りて勉強をした. 結果
として Ajax を用いることで, ページ更新をすることなくそれぞれの API から情報を取得することができるようになり, 使いやすさを向上することができた. 当初は PHP のみの予定であったが,JavaScript を用いることが多くなり結果的に想定以上の知識が増えた. 最終発表に関しては, 中間
発表同様にスライド班と発表を担当した. スライド班では主に原稿を作成する担当であった. また,
発表では後半 3 回の発表を行った. 今後の活動としては, 2 月に秋葉原での課外成果発表をする予定である.
（※文責: 稲垣惇也）

Group Report of 2015 SISP

- 26 -

Group Number 19

Twitter Localization

第6章
6.1

成果物の現状ウェブアプリケーションについて

本グループの成果物は, カテゴリから任意の場所周辺の飲食店に関するツイートを地図に表示する Web アプリケーションである. このアプリケーションはウェブブラウザ上で動作するもので, イ
ンターネット上に公開されているウェブサイトへアクセスすることにより利用することができる.
このウェブサイトではパソコン（図 6.1）と, スマートフォン（図 6.2）の双方で利用できるようになっており, それぞれに最適なユーザーインターフェイスで提供するようになっている. このウェ
ブアプリケーションでは, 任意の場所に関するキーワード（例：函館駅, 五稜郭公園）を入力することによって該当地点を指定し, 予め用意されている複数のカテゴリをもとに飲食店を検索することができる.

図 6.1 パソコン版での表示

ウェブサイトへアクセスすると, まず図 6.2 のように現在地を中心とした地図が表示される. 場所の指定がない場合は, 現在地周辺の飲食店が検索対象になる. 前述のとおり, ランドマークとなる語句を入力して場所を検索することによって, 図 6.3 のように該当地点の地図が表示され検索対象がその地点周辺となる. 検索時に指定可能なカテゴリは図 6.4 のように「居酒屋」「和食」「洋食」などからなる 16 種類から選択可能になっている. 飲食店の検索を行うと図 6.5 のように, 表示されている地図上に青色のピンが表示され, 検索結果の飲食店名がリストとして表示される. ピンを選択すると, ピンが示す飲食店の詳細情報として予算や営業時間が表示され, さらに店名を選択する
ことによってツイート検索が実行される. ツイート検索は選択店舗の店名をキーワードとして実施される. 取得したツイートは独自に開発した評価判定を行ってから, 図 6.6 のように地図上にオーバーレイ表示を行っている. ツイートは事前に用意された特徴辞書に基づいて高評価と低評価に分類され, それぞれのツイートのみを抽出して表示できるようになっている. ツイートウィンドウ
を閉じる事によって, 他の店舗のピンを選択してツイート検索をすぐに行うことができる. これにGroup Report of 2015 SISP

- 27 -

Group Number 19

Twitter Localization
よってユーザーは店舗検索をやり直す必要なく, 複数の店舗に関するツイートを連続して検索することができるようになっている.
本ウェブアプリケーションではこれらの「飲食店検索」「地図上で表示」「ツイートの検索」という工程を 1 つのウェブサイト上で表示可能にすることを目的として作られており, 現段階でこの目
的は達成されている.

図 6.2 現在地を中心とした地図

図 6.3

図 6.4 カテゴリを表示した状態

Group Report of 2015 SISP

任意の場所を中心とした地図

図 6.5- 28 -

飲食店検索後の表示

Group Number 19

Twitter Localization

図 6.6

6.2

ツイート検索後の表示

開発について本ウェブアプリケーションの開発においては, Git を用いたソースコードのバージョン管理, な
らびに GitHub 上のプライベートリポジトリを活用したソースコードの共有を用いたチーム開発を行ってきた. ソースコードは主に PHP, JavaScript, CSS で記述されたものである. 一方で, 開発に関する仕様書が存在しておらず, 本グループ内のメンバーしか把握することができない状況が起こっている. また, 上記 GitHub におけるプライベートリポジトリは本グループリーダーの熊本が申請した GitHub Education にて契約されているため, 当契約の失効タイミングにおいて各種
ソースコードの管理が行えなくなる可能性がある. 同様に, 現在レンタルサーバー上に設置しているウェブアプリケーション本体に関しても, レンタルサーバーの契約を解除した場合にウェブアプ
リケーションが利用できなくなることが考えられる.
（※文責: 熊本祐）

Group Report of 2015 SISP

- 29 -

Group Number 19

Twitter Localization

第 7 章 本グループの展望
本グループでは, 最終発表に向けて Web アプリケーションとしてスマホ版, Web 版の 2 つを完成させることができた. 現状では, 最終発表直前まで機能の拡張を行うために開発を続けてきた.
現状で, 動作することは確認しているが, 多様なシチュエーションを想定したテストをはじめに行う必要がある. OS の違いによる, レイアウトの崩れや, 複数人での多重アクセスなどさまざまなシ
チュエーションが想定されるなかで起こる問題についてて考えていく必要があると考える. 他に,改善できる点として, ツイートの検索の精度が低いため, 精度の高い検索を行えるように試行錯誤が必要だと考える. また, さらなる拡張案として, ホットペッパー API だけでなく, ほかのグルメ
アプリなども同時に使うことでホットペッパー API に登録されているお店だけでなく, 他のお店情報も得ることができるのではないかと考える. 多くの情報を詰め込むことで, お店が重複した際の処理や, Web アプリケーションのパフォーマンスにも影響を与えることも想定して開発を進めてい
く必要がある. 次に, ピンの表示についても改善が必要になる. 1 つのビルに複数のお店が重複している場合に, 現状では, 1 つのお店しか表示されないので, ピンを選択してツイートの検索をすることができない. 1 つのビルに複数の店舗がある場合には, 同緯度のお店の場合は, 表示形式を変えるなどの変更が必要となると考える.
次に, 最終成果発表で, 寄せられた意見や質問をもとに, 改善できる点を考える. さらにお店の詳しい情報を知りたいという意見が挙げられ, 詳細な情報を取り入れるということに関して開発を進めていくことは必要になるのではないかと考える. また, 店名をクリックした際にツイートが表示されるというのがわかりづらいという, ユーザーインターフェースに関する意見もあがっている.
レイアウトに関しては, 本グループではまとめたが実際のユーザーを被験者として, 使ってもらったわけではないため, 実際の意見を聞くことができて, 改善に大いに役立った. 最後に, ツイート解析にどのような手法を用いているのかがわからなかったという意見があがった. ツイート解析は独自の特徴辞書を調べて作り上げただけのものであるために, 実際にそれが正しいものどうかは不確実であるし, 実際にまだ食の表現で省かれている語句もあるかもしれない. そのために, 拡張案として, 現在の特徴辞書をさらに 200, 300 と特徴語を増やすことが 1 つ案として挙げられる. 2014 年にヤフージャパンのリアルタイム検索では, ツイートを用いてツイート解析を行っている [13]. この手法を現状の Web アプリケーションでも実行することが可能になれば, より精度の高いツイー
ト解析を行うことができると考える.

Web アプリケーションとして改善する点は現状ではたくさん存在するが, まだそれだけ拡張のすることが可能な Web アプリケーションといえる. そのために, これからも活動を続けよりよいサー
ビスとして展開できるように, 開発を続けていきたいと考える.
（※文責: 遠藤直人）

Group Report of 2015 SISP

- 30 -

Group Number 19

Twitter Localization

第8章

まとめ

本グループでは, カテゴリから任意の場所の飲食店に関するツイートを地図に表示できるウェブ
アプリケーションを作成した. Twitter の特徴を最大限に活かした新しいサービスの提供という本
プロジェクトにおける目的に対して, 本グループでは「Twitter のリアルタイム性」「Twitter のカ
ジュアルさ」を活用して, 従来のグルメレビューサイトとは異なる飲食店に関する情報を入手することを目標に活動を行ってきた. 本グループの成果物となるウェブアプリケーションでは, この目標に対して十分に達成できていると考える. 一方で, ツイートの検索方法や表示方法などに改善可
能な問題点が残っていることが分かっており, これらの問題点を解決していくことでより良いものへと発展させることが可能であると考える.
本グループの成果物に関して, 現段階でユーザーレビューを一般に対して行っていなかったため, 広い範囲の人々が利用した場合どのようになるかなどが分かっていない. そのため, 今後はユー
ザーレビューを積極的に行っていき, 不足点などをしっかりと確認していく必要があると考える.
まとめとして, 本プロジェクト内における本グループは, プロジェクト全体の目標に対して十分に成果を上げることができ, プロジェクト学習においてグループメンバー 4 人全員が十分に貢献することができた.
（※文責: 熊本祐）

Group Report of 2015 SISP

- 31 -

Group Number 19

Twitter Localization

参考文献[1] 大向 一輝, 情報処理, vol.47, no.8, pp.993-1000, September. 2006.
[2] IT 用語辞典, “SNS 【 Social Networking Service 】 ソーシャルネットワーキングサービス”, http://e-words.jp/w/SNS.html[Accessed: Dec. 18, 2015].
[3] “若者における SNS 利用行動およびリスク認知の検討―LINE と Twitter を中心に―”, 苅野 正 美, 2014.

[4] nielsen, “ス マ ー ト フ ォ ン 利 用 者 の 92% が SNS を 利 用 ∼ ニ ー ル セ ン, SNS の
最 新 利 用 動 向 を 発 表 ∼”, http://www.netratings.co.jp/news_release/2015/01/

Newsrelease20150127.html.
[Accessed: Jul. 24, 2015].
[5] Twitter, Inc., “Twitter Reports Third Quarter 2014 Results”, https://investor.
twitterinc.com/releasedetail.cfm?ReleaseID=878170.
[Accessed: Jul. 24, 2015].
[6] “Twitter を情報源とした発話ロボットシステムの開発 Development of Speech Function forCommunication Robot using Twitter ”, 藤原 裕樹, 山下 晃弘, 2014.
[7] Twitter をはじめよう！, “連携ソフトやサービスで Twitter をさらに活用しよう” , http://www.greenspace.info/twitter/step4.html#services.
[Accessed: Dec. 18, 2015].
[8] Smart Survey, “お知らせ - プレリリース”, https://www.smartsurvey.jp/board/press_
view/129. [Accessed: Jul. 24, 2015].
[9] 柳下 慶輔, 山口 大輔, 片山 富美代, 高橋 宗雄 (2008) “授業支援システムのリッチクライアン
ト化と評価”, 人工知能学会全国大会論文集, JSAI08(0), 9-9.

[10] NTT コムリサーチ, NTT レゾナント株式会社, “購買行動におけるクチコミの影響」に関する調査”, http://research.nttcoms.com/database/data/001436/.

[Accessed: Dec. 19, 2015].
[11] Hatena::Diary, “strpos と strstr の 速 度 比 較”, http://d.hatena.ne.jp/oishiy/20080515/1210836445.
[Accessed: Dec. 19, 2015].
[12] Technology Reports, “位置に関連するツイート解析技術とその応用”, 落合 桂一, 菊池 悠, 鳥
居 大祐, 山田 渉, 2014.

[13] IEICE, “ヤフージャパンのリアルタイム検索における感情分析”, 清水 徹, 内藤 弘朗, 野畑
周, 2014.

Group Report of 2015 SISP

- 32 -

Group Number 19