データエンジニアリング
科目の位置づけ・概要
専門科目の選択科目です。
講義および演習の科目で、プログラミングの演習があります。後半に時間かけて作成する課題があります。
3年次科目「知的処理および演習」の前提科目です。 この科目は AI・自然言語処理・情報推薦に興味がある人が履修する科目です。
本科目では、データの記述、収集、処理などの技術について学びます。 また、応用として、Web上のデータを取得して組み合わせるマッシュアップの演習があります。
環境
データ記述
Visual Studio Code
または
TeraPad
プログラミング
Java: Eclipse +
Maven (プロジェクト管理ツール)
テキスト
データとその表現
データとは
データ構造とデータ記述
データ記述言語 XML
XMLの概要
XMLの文法 - HTMLとの比較
XML文書の作成方針
XMLによる言語の設計
スキーマ言語とは
スキーマ言語 XML Schema
[参考]
名前空間の利用
データの収集と処理
Web上のデータの取得
ストリームを用いたファイルの読み込み
Java におけるデータの読み込み: Stream と Reader
復習: ファイル操作と入出力 (オブジェクト指向プログラミングおよび演習)
学外から(認証あり)
/
学内から
ストリームを用いたWeb上のリソースの取得
ネットワーク接続: URL と URLConnection
ファイルを読み込むサンプルプログラム
ShowFile1.java の変更
文字列の処理
文字列定数 String と 変更可能な文字列 StringBuilder/StringBuffer
String
StringBuffer
[参考]
正規表現によるマッチング
数値への変換
フィード (RSS/Atom)
フィードとは
フィードの例
XML文書とDOM
XML 文書と DOM
要素名の指定による要素リストの取得
XPathによる特定部分の指定
XPathにおける名前空間の扱い
[参考]
サンプル - フィードの各 item 要素の表示
Feed.java
(フィードを表すクラス)
Item.java
(1投稿の情報を持つ item 要素を表すクラス)
Webサービス (Web API)
Webサービス
JSON とバインディング
HTML文書とDOM
HTML文書と DOM
動的なページの取得 [参考]
Selenium: Webブラウザ操作ツール
Webブラウザを利用して動的に更新されるコンテンツを取得。
形態素解析の利用
形態素解析
Sudachi
感情分析 [参考]
感情分析
(Wikipedia)
感情分析の進め方 & ハマりやすいポイント
(Qiita)
感情分析API(8感情) [この授業限定]
知的処理および演習_感情分析API
(副手 白鳥)
Java から利用する場合は
JsonNode にマッピングする例
を参考に
辞書
日本語感情表現辞書
生成AI
Google Gemini
(Web API)
サンプルプログラム Python版
この授業と「知的処理および演習」のサンプルプログラム Python版
(副手 清水,白鳥)
補足
サーバの負荷に配慮したアクセス
最終課題
最終課題: 自分の好きなテーマでマッシュアップ
複数のリソースから得られる情報を組み合わせて有益な情報を得る
マッシュアップ
のプログラムを作成しましょう。
詳細...
上記プログラムのレポートを書きましょう。
提出先: 授業フォルダの「最終課題」 (プログラム・レポート共通)
発表会: 第14回
課題、おしらせ
課題3
課題3: Webページからの情報抽出 (Stringクラスのメソッドを使用)
Yahoo! ショッピングの任意の商品のページを取得し、その商品が送料無料か調べましょう。 調べた結果はコンソールに表示してください。
String クラス
のメソッドを活用してください。
条件付きの場合には、条件まで表示しなくてもかまいません。
すべての商品ページ対応しなくてもかまいません。
複数の商品ページでテストしましょう。
ファイル名:
YahooShoppingFreeShipping.java
提出先: 授業フォルダの第03回
提出期限: 次回の前日 22:00
課題2
課題2: 「妥当な」XML文書ファイルの作成
自分が記述したいデータを決め、そのデータを記述するのに適したデータ記述言語を設計し、 実際にデータを記述してください。 記述する対象は、趣味のデータでもなんでもかまいません。 データ記述言語を設計するにあたっては、
意味的に適切な構造を持つ
ようにしてください。 意味的に適切な構造を持つとは、例えば、実世界で階層構造を持つものは、 XMLの構造上も階層構造を持っている、といったことです。 5階層以上の構造を持つようにしてください。
スキーマを記述する必要はありません。
構造だけでなく、実際のデータを記述してください。内容はダミーでもかまいません。
ファイル名の拡張子は「.xml」としてください。
文法的に正しい整形式の文書になっているか、 ブラウザで表示させてみるなどして提出前に確認をしてください。
5階層とは、最上位のroot要素から階層を下にたどって5要素あるものを言います(root要素を含みます)。
<A> <B> <C> <D> <E>ここが5階層目</E> <E>ここも5階層目</E> </D> </C> </B> </A>
提出先: 授業フォルダの第02回
提出期限: 次回の前日 22:00
課題1
なし